[LLVMdev] Garbage collection

Chris Lattner clattner at apple.com
Sun Mar 8 21:14:37 PDT 2009


On Feb 27, 2009, at 9:29 PM, Talin wrote:
>>
> So I guess what I would be helpful for me is a roadmap that defines  
> more
> clearly (a) what parts you plan to build in LLVM (beyond what is  
> already
> there), (b) what parts you would like to have contributed, and (c)  
> what
> parts you definitely want to keep external. In particular, I'd like to
> get a clearer picture of the shapes of the various pieces and their  
> roles.

I don't have a specific roadmap, because this is unfortunately not  
something that I will be working on in the foreseeable future.  I  
don't think that there is any specific part that makes sense to keep  
external to the project, the code would just ideally be factored  
well.  I would be very fine with an initial implementation of a GC  
library to be 100% specific to a very narrow domain.  Given an initial  
implementation, pieces can be factored out later as additional clients  
are added.

> For example, I mentioned the "stop the world" function - however since
> LLVM defines no primitives for creating threads or synchronizing  
> between
> them, its hard to see how this could be part of LLVM proper.

That just means that the basics should be added first :).  The absence  
of those sorts of routines shouldn't be seen as lack of desire to have  
them.

You mentioned in another email that you are not certain how to compose  
the various pieces of an allocator together.  I think that a policy- 
based design that uses template instantiation (ala 'modern C++  
design') would make sense here, considering that the overhead of every  
piece is potentially extremely important.

-Chris



More information about the llvm-dev mailing list