[LLVMdev] Parametric polymorphism
Jon Harrop
jon at ffconsultancy.com
Thu Feb 19 04:18:37 PST 2009
On Thursday 19 February 2009 03:31:04 DeLesley Hutchins wrote:
> > The same can be said of closures, garbage collection and a dozen other
> > features that also cannot feasibly be added to LLVM.
> >
> > The only logical solution is to build a HLVM on top of LLVM and share
> > that between these high-level language implementations.
>
> This is an excellent point. You have convinced me. :-)
>
> BTW, what garbage collector are you using for your HLVM?
>
> You
> complain about mono's use of the Boehm-Weiser collector on your
> blog; but you also said that you assumed an uncooperative
> environment.
I am creating a new (very simple) one by keeping any live local reference
variables on a shadow stack. That assumes an uncooperative environment but it
is still precise. That will suffice for now.
> I'm not a GC expert, so why are the current GC intrinsics insufficient?
They may well be sufficient but I am avoiding them for the same non-techical
reason: I consider them to be an experimental feature of LLVM so I don't want
to take a dependency on them if possible and, in this case, there is a simple
workaround.
Other people are creating far more bleeding edge VMs (e.g. VMKit) using LLVM's
GC API so they would be much better positioned to discuss the technical
aspects than I am. I would like to hear any status updates they have!
--
Dr Jon Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/?e
More information about the llvm-dev
mailing list