diff options
Diffstat (limited to 'llvm/docs/GarbageCollection.rst')
-rw-r--r-- | llvm/docs/GarbageCollection.rst | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/llvm/docs/GarbageCollection.rst b/llvm/docs/GarbageCollection.rst index d9ae6c1b505..5d1588a7fe4 100644 --- a/llvm/docs/GarbageCollection.rst +++ b/llvm/docs/GarbageCollection.rst @@ -386,8 +386,8 @@ greater performance impact since pointer reads are more frequent than writes. .. _plugin: -Built In Collectors -==================== +Built In GC Strategies +====================== LLVM includes built in support for several varieties of garbage collectors. @@ -501,7 +501,19 @@ The Statepoint Example GC F.setGC("statepoint-example"); This GC provides an example of how one might use the infrastructure provided -by ``gc.statepoint``. +by ``gc.statepoint``. This example GC is compatible with the +:ref:`PlaceSafepoints` and :ref:`RewriteStatepointsForGC` utility passes +which simplify ``gc.statepoint`` sequence insertion. If you need to build a +custom GC strategy around the ``gc.statepoints`` mechanisms, it is recommended +that you use this one as a starting point. + +This GC strategy does not support read or write barriers. As a result, these +intrinsics are lowered to normal loads and stores. + +The stack map format generated by this GC strategy can be found in the +:ref:`stackmap-section` using a format documented :ref:`here +<statepoint-stackmap-format>`. This format is intended to be the standard +format supported by LLVM going forward. Custom GC Strategies |