b9org / b9

An educational JS virtual machine based on Eclipse OMR
http://www.base9.xyz
Apache License 2.0
45 stars 24 forks source link

Add a core type for leaf GC-references. #138

Open rwy7 opened 6 years ago

rwy7 commented 6 years ago

Add the ability to strongly type an object slot as a GC reference to a leaf object. A leaf object is an object that contains no references. The OMR GC has built in support for leaf object marking.

rwy7 commented 6 years ago

Related is the issue of supporting leaf object references in Values aka untyped slots. Unfortunately, The Value encoding scheme has a very limited number of bits for tagging, so it might not be feasible to tag a GC pointer to a leaf.