tree: b4f3e662a10524744e1e71ccc21c53e57d23eee3 [path history] [tgz]
  1. gc/
  2. IdentifySafepoints/
  3. RegisterGcFunctions/
  4. tests/
  5. CMakeLists.txt
  6. DIR_METADATA
  7. objects.h
  8. OWNERS
  9. README.md
  10. tests.h
tools/clang/stack_maps/README.md

Prototype and playground for generating stack maps to garbage-collected objects using clang/llvm infrastructure.

Design doc: https://bit.ly/chromium-stack-maps

Building and Running Tests:

  1. Build the gc libary

mkdir gc/build/ && cd gc/build

cmake ../ && make

  1. Build the LLVM passes:

mkdir ../../build/ && cd ../../build/

cmake ../ && make all

  1. Run the tests (from stack_maps/tests/)

./test.py <path_to_chromium_llvm_bin_dir> ../gc/build/libGC.a \ ../build/IdentifySafepoints/libLLVMIdentifySafepointsPass.so \ ../build/RegisterGcFunctionsPass.so