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
