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
This commit is contained in:
Swaroop Sridhar 2015-05-21 00:50:10 +00:00
parent 549a742ba4
commit 0141c66026

View File

@ -494,6 +494,7 @@ a ``gcroot`` strategy.
As there names imply, the binary format produced is intended to model that As there names imply, the binary format produced is intended to model that
used by the Erlang and OCaml compilers respectively. used by the Erlang and OCaml compilers respectively.
.. _statepoint_example_gc:
The 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 <statepoint-stackmap-format>`. This format is intended to be the standard
format supported by LLVM going forward. 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 Custom GC Strategies
==================== ====================