There are some interesting developments coming in LLVM 3.6, which is
expected to branch in January. Most notably: LLVM will have experimental
support for statepoints, a new GC mechanism that is being driven by Philip
Reames at Azul. The mere fact that someone at Azul is looking at this at
all is extremely encouraging. One of the things I particularly like is that
safepoints are inserted late, which allows a bunch of previously impeded
optimizations to proceed. I can see how derived pointers are passed to the
GC runtime, but I'm not clear on how they are relocated - need to look at
some sample code to wrap my head around that. Might be time for me to go
active on the LLVM list again. :-)

LLVM *still* won't be my prefered backend for a GC'd language, but it's
possible that it will become a *feasible* backend, and that will do wonders
for letting us bring up new languages. At the very least, it will let us
separate the problem of developing a GC-friendly backend from the problem
of building better languages.

Has anybody been tracking this development actively enough to have an
informed opinion about it?


Jonathan
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to