1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00

Document the CoreCLR GC Strategy

Add notead about the CoreCLR GC Strategy to the 
Garbage Collection document.

llvm-svn: 237869
This commit is contained in:
Swaroop Sridhar 2015-05-21 00:50:10 +00:00
parent d780f6da0c
commit 3aad0ef158

View File

@ -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
====================