Displaying 1 result from an estimated 1 matches for "traceactionimpl".
2011 Feb 21
2
[LLVMdev] A working garbage collector - finally :)
...he collector is the TraceAction class - which is invoked for
each pointer reference. The tracer for the Tart language is written, of
course, in Tart, although the style is not the normal Tart style due to the
need to deal with low-level objects such as addresses and pointers:
private final class TraceActionImpl : TraceAction {
protected def tracePointer(ptrAddr:Address[Object]) {
let addr:Address[ubyte] = Memory.bitCast(ptrAddr[0]);
if fromSpace.contains(addr) {
let header:Address[ObjectHeader] = Memory.bitCast(addr);
// A gcstate of 0 means that 'header' is the hea...