[GC docs] Fill in description of the statepoint-example GC strategy

llvm-svn: 230572
This commit is contained in:
Philip Reames 2015-02-25 23:22:43 +00:00
parent e56df96485
commit 7cf1817c95
2 changed files with 16 additions and 3 deletions

View File

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

View File

@ -322,6 +322,7 @@ A ``gc.relocate`` is modeled as a ``readnone`` pure function. It has no
side effects since it is just a way to extract information about work
done during the actual call modeled by the ``gc.statepoint``.
.. _statepoint-stackmap-format:
Stack Map Format
================