mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 02:33:06 +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:
parent
d780f6da0c
commit
3aad0ef158
@ -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
|
||||
====================
|
||||
|
Loading…
Reference in New Issue
Block a user