Couple of questions:<br><br>1. void llvm_gc_write(void *V, void *ObjPtr, void **FieldPtr)<br><br>I haven't seen an adequate explanation of these, but I'm guessing:<br>  void *V: value being written to the field<br>  void *ObjPtr: current value of the field (ie. ObjPtr == *FieldPtr upon entry to llvm_gc_write)
<br>  void **FieldPtr: address of the field being written<br><br>2. The current semispace collector includes some code which says it should be in a code-generator library. If I were to write a collector, should I also include this code for the time being? Or will this soon be refactored into an external interface?
<br><br>3. <tt>
  void %llvm.gcroot(<ty>** %ptrloc, <ty2>* %metadata)<br><br>I don't see an implementation of the llvm.gcroot intrinsic in the semispace collector, so is it implemented elsewhere? Semispace has a function with the same signature, but it's not in the public GC interface (
<a href="http://llvm.cs.uiuc.edu/cvsweb/cvsweb.cgi/llvm/runtime/GC/GCInterface.h">http://llvm.cs.uiuc.edu/cvsweb/cvsweb.cgi/llvm/runtime/GC/GCInterface.h</a>). Or is this simply because the </tt><tt>llvm_cg_walk_gcroots callback hasn't been refactored as an external interface (as per 
</tt><tt>#2 above)?<br><br>That's it for now. :-)<br><br>Sandro<br></tt>