Displaying 1 result from an estimated 1 matches for "mark_gcroot".
2013 Jul 31
0
[LLVMdev] New ideas about how to improve garbage collection support
...nly pointers, but
also tagged unions and compressed pointers. Other ideas involved
changes
to the type system.
To support GC roots of any type without changing the type system, a new
instruction needs to be introduced. It could be used like this:
%gcvar = call %gctype* @allocate_type()
mark_gcroot %gctype* %gcvar
For a proof-of-concept, which only supports pointers as GC roots, an
intrinsic is enough:
%gcvar = call %gctype* @allocate_type()
%tmp = bitcast %gctype* %gcvar to i8*
call void @gcroot.mark(i8* %tmp)
What part of the garbage collector needs support from the code
g...