All the non-GC objects (i.e. immediates) have addresses such that obj % RUBY_IMMEDIATE_MASK != 0 (except for Qfalse, which is 0). We
can define OBJ_ID_INCREMENT as RUBY_IMMEDIATE_MASK + 1 which should
guarantee that GC objects never have conflicting object IDs with
immediates.
Make OBJ_ID_INCREMENT == RUBY_IMMEDIATE_MASK + 1
All the non-GC objects (i.e. immediates) have addresses such that
obj % RUBY_IMMEDIATE_MASK != 0
(except forQfalse
, which is 0). Wecan define
OBJ_ID_INCREMENT
asRUBY_IMMEDIATE_MASK + 1
which shouldguarantee that GC objects never have conflicting object IDs with
immediates.