[PATCH] D119660: [llvm][doc] Update comments and documentation of custom stackmap formats in GC
Markus Böck via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 15 03:17:32 PST 2022
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rGdb8ae2fef159: [llvm][doc] Update comments and documentation of custom stackmap formats in GC (authored by zero9178).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D119660/new/
https://reviews.llvm.org/D119660
Files:
llvm/docs/Statepoints.rst
llvm/include/llvm/IR/GCStrategy.h
Index: llvm/include/llvm/IR/GCStrategy.h
===================================================================
--- llvm/include/llvm/IR/GCStrategy.h
+++ llvm/include/llvm/IR/GCStrategy.h
@@ -38,9 +38,7 @@
// When used with gc.statepoint, information about safepoint and roots can be
// found in the binary StackMap section after code generation. Safepoint
// placement is currently the responsibility of the frontend, though late
-// insertion support is planned. gc.statepoint does not currently support
-// custom stack map formats; such can be generated by parsing the standard
-// stack map section if desired.
+// insertion support is planned.
//
// The read and write barrier support can be used with either implementation.
//
@@ -101,6 +99,11 @@
}
///@}
+ /// If set, appropriate metadata tables must be emitted by the back-end
+ /// (assembler, JIT, or otherwise). The default stackmap information can be
+ /// found in the StackMap section as described in the documentation.
+ bool usesMetadata() const { return UsesMetadata; }
+
/** @name GCRoot Specific Properties
* These properties and overrides only apply to collector strategies using
* GCRoot.
@@ -110,12 +113,6 @@
/// True if safe points need to be inferred on call sites
bool needsSafePoints() const { return NeededSafePoints; }
- /// If set, appropriate metadata tables must be emitted by the back-end
- /// (assembler, JIT, or otherwise). For statepoint, this method is
- /// currently unsupported. The stackmap information can be found in the
- /// StackMap section as described in the documentation.
- bool usesMetadata() const { return UsesMetadata; }
-
///@}
};
@@ -126,7 +123,7 @@
/// static GCRegistry::Add<CustomGC> X("custom-name",
/// "my custom supper fancy gc strategy");
///
-/// Note that to use a custom GCMetadataPrinter w/gc.roots, you must also
+/// Note that to use a custom GCMetadataPrinter, you must also
/// register your GCMetadataPrinter subclass with the
/// GCMetadataPrinterRegistery as well.
using GCRegistry = Registry<GCStrategy>;
Index: llvm/docs/Statepoints.rst
===================================================================
--- llvm/docs/Statepoints.rst
+++ llvm/docs/Statepoints.rst
@@ -795,18 +795,6 @@
<https://groups.google.com/forum/#!topic/llvm-dev/AE417XjgxvI>`_ for more
detail.
-Support for alternate stackmap formats
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-For some use cases, it is
-desirable to directly encode a final memory efficient stackmap format for
-use by the runtime. This is particularly relevant for ahead of time
-compilers which wish to directly link object files without the need for
-post processing of each individual object file. While not implemented
-today for statepoints, there is precedent for a GCStrategy to be able to
-select a customer GCMetataPrinter for this purpose. Patches to enable
-this functionality upstream are welcome.
-
Bugs and Enhancements
=====================
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D119660.408795.patch
Type: text/x-patch
Size: 2998 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220215/e3fff0de/attachment-0001.bin>
More information about the llvm-commits
mailing list