[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