Commit b9789d2 introduced a new concept called the "handle set" which makes VM code that references heap objects significantly simpler to write. All code that directly used heap.track has been converted to the new approach; however, code that might currently be silently doing the wrong thing has not been thoroughly audited. All VM code that deals with operating on heap objects should be audited to ensure all heap references are correctly tracked with handle sets. In particular:
This issue can be closed once we're confident that all relevant code correctly tracks heap references (basically any code that calls heap.allocate or calls into code that does, and deals with heap references).
Commit b9789d2 introduced a new concept called the "handle set" which makes VM code that references heap objects significantly simpler to write. All code that directly used
heap.trackhas been converted to the new approach; however, code that might currently be silently doing the wrong thing has not been thoroughly audited. All VM code that deals with operating on heap objects should be audited to ensure all heap references are correctly tracked with handle sets. In particular:runtime/interpreter.zigruntime/Actor.zigruntime/VirtualMachine.zigThis issue can be closed once we're confident that all relevant code correctly tracks heap references (basically any code that calls
heap.allocateor calls into code that does, and deals with heap references).