Conversation

Random idea: A GC'd language where you could manually free objects and they'd get recycled immediately. If you accidentally use them again you get an exception. Implementation uses some sort of generational pointer scheme folded into the read/write barrier.
13
65
Replying to and
For compacting GC, could use one tag for active and another for free and skip over the free ones when moving to a new compacted heap. Next time around, increment the tags. Once available tags have run out avoid using that address space again until confirming pointers are gone.
1
Replying to and
Yeah, thinking through this, because MTE has 16 byte granularity I think this works well. Would love to see this deployed in a language--you could ideally get to "the GC never runs unless the programmer messed up".
1
1
Show replies