[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