- name: gcrootfinder
- description: Strategy for finding GC Roots (framework GCs only)
- command-line: –gcrootfinder
- option type: choice option
- possible values:
- default: shadowstack
- value ‘shadowstack’ requires:
- value ‘asmgcc’ requires:
Choose the method used to find the roots in the GC. This only
applies to our framework GCs. You have a choice of two
- --gcrootfinder=shadowstack: use a so-called “shadow
stack”, which is an explicitly maintained custom stack of
root pointers. This is the most portable solution.
- --gcrootfinder=asmgcc: use assembler hackery to find the
roots directly from the normal stack. This is a bit faster,
but platform specific. It works so far with GCC or MSVC,
on i386 and x86-64. It is tested only on Linux (where it is
the default) so other platforms (as well as MSVC) may need
various fixes before they can be used.
You may have to force the use of the shadowstack root finder if
you are running into troubles or if you insist on translating
PyPy with other compilers like clang.