[LLVMdev] GC questions.
Tobias Nurmiranta
spyck at lysator.liu.se
Sun Jul 25 08:03:50 PDT 2004
On Thu, 22 Jul 2004, Chris Lattner wrote:
> On Thu, 22 Jul 2004, Tobias Nurmiranta wrote:
> > Hmm, it felt nicer to mark raw LLVM pointers as roots and then transform
> > them, since I then didn't have to see the overhead in my frontend :).
>
> I'm not sure what overhead you mean.
I think I should have emphasized "felt", since it only would make me
produce less code in the frontend :). But I think my transformation
thing won't work, so I'll do as the other front-ends, but thanks for the
feedback to my thoughts!
> > Btw, how hard would it be to implement the system described in this
> > paper[1], support for collection at every instruction? You would need to
> > get the gc root information with you all the way down to machine code and
> > register allocation. Just curious :).
> > [1] http://portal.acm.org/citation.cfm?id=301652&dl=ACM&coll=portal
>
> I don't understand what the benefit of this would be. The problem is that
> once dynamically assigned, an SSA value cannot change its contents until
> it is redefined by the same definition. Tracking GC information at every
> instruction would not be able to address this fundamental problem.
This is regarding every machine instruction, not llvm-instruction, with
the benefit that the threads don't have to fixed to gc-safe points at
gc invocation. But maybe it's not worth the work.
, Tobias
More information about the llvm-dev
mailing list