vocab serializes a compiled words gc maps into a space-efficient format which is appended to the end of the code block.
Every code block generated either ends with:
|• ||a bitmap representing the indices of the spill slots that contain roots in each gc map|
|• ||uint base pointers|
|• ||uint return addresses|
|• ||uint largest GC root spill slot|
|• ||uint largest derived root spill slot|
|• ||int number of return addresses/gc maps|
For example, if there are three gc maps and each contain four roots, then bit 0-3 in the bitmap would indicate liveness of the first gc maps roots, 4-7 of the second and 8-11 of the third.
Main entry point:
emit-gc-maps ( -- )