1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-16 23:15:07 +00:00
serenity/Meta/Lagom/Tools/LibJSGCVerifier/README.md
Timothy Flynn b54786ee95 LibJSGCVerifier: Use more general shebang line and clarify instructions
My system's python3 is not in /bin/.

The README did not indicate that a clang-toolchain build of Serenity is
required, so this patch adds that explicit instruction.
2023-11-30 08:49:15 +00:00

24 lines
711 B
Markdown

### LibJSGCVerifier
This is a simple Clang tool to validate certain behavior relating to LibJS's GC. It currently validates
two things:
- For all types wrapped by `GCPtr` or `NonnullGCPtr`, that the wrapped type inherits from `Cell`
- For all types not wrapped by `GCPtr` or `NonnullGCPtr`, that the wrapped type does not inherit from `Cell`
(otherwise it should be wrapped).
This tool currently requires having first built Serenity with the Clang toolchain for x86_64:
```bash
./Meta/serenity.sh build x86_64 Clang
```
Once Serenity is built, this tool can be built with:
```bash
cmake -GNinja -B build
cmake --build build
```
Then run the tool with:
```bash
src/main.py -b <path to serenity>/Build
```