diff options
author | Swaroop Sridhar <Swaroop.Sridhar@microsoft.com> | 2015-05-21 00:50:10 +0000 |
---|---|---|
committer | Swaroop Sridhar <Swaroop.Sridhar@microsoft.com> | 2015-05-21 00:50:10 +0000 |
commit | 0141c66026fec44ced525cc032d3e67af5294484 (patch) | |
tree | 835aaaccfbcaba4e0b82b47db2d631c1664920b1 | |
parent | 549a742ba470e58ff667c29675e367e0019dd575 (diff) |
Document the CoreCLR GC Strategy
Add notead about the CoreCLR GC Strategy to the
Garbage Collection document.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237869 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | docs/GarbageCollection.rst | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/docs/GarbageCollection.rst b/docs/GarbageCollection.rst index a1557fcdb09..56b4b9f8f95 100644 --- a/docs/GarbageCollection.rst +++ b/docs/GarbageCollection.rst @@ -494,6 +494,7 @@ a ``gcroot`` strategy. As there names imply, the binary format produced is intended to model that used by the Erlang and OCaml compilers respectively. +.. _statepoint_example_gc: The Statepoint Example GC ------------------------- @@ -517,6 +518,28 @@ The stack map format generated by this GC strategy can be found in the <statepoint-stackmap-format>`. This format is intended to be the standard format supported by LLVM going forward. +The CoreCLR GC +------------------------- + +.. code-block:: c++ + + F.setGC("coreclr"); + +This GC leverages the ``gc.statepoint`` mechanism to support the +`CoreCLR <https://github.com/dotnet/coreclr>`__ runtime. + +Support for this GC strategy is a work in progress. This strategy will +differ from +:ref:`statepoint-example GC<statepoint_example_gc>` strategy in +certain aspects like: + +* Base-pointers of interior pointers are not explicitly + tracked and reported. + +* A different format is used for encoding stack maps. + +* Safe-point polls are only needed before loop-back edges + and before tail-calls (not needed at function-entry). Custom GC Strategies ==================== |