[plt-scheme] precise GC and the embedded MzScheme C API
Adam Wick <awick at cs.utah.edu> writes:
> On Jun 23, 2005, at 10:57 AM, Jim Blandy wrote:
> > Have you thought about what sort of interface you'd like an embedded
> > MzScheme to provide to third-party C code when it's using the precise
> > GC? Are you going to have end users run gc2/xform.ss on their code?
>
> Yes and sort of.
>
> There will be a successor to xform coming, hopefully, sometime this
> year. It will not only do the xform stuff, which adds precise GC
> information to the C stack, but also have a tool for generating
> functions to mark and repair your structures, as well as to add
> tagging information when you allocate structures (including your
> own structures).
>
> It should work on most C programs (the ones that don't play very
> silly games with their stacks) and a small subset of C++ (no
> templates, no exceptions, no namespaces; but classes and overloading
> should work.).
>
> This, by the way, is my dissertation research.
Sounds great! Are you going to try to support multi-threaded programs
where the threads can't be trusted to reach safe points from time to
time?
(I can see why templates would be a challenge: the C++ compiler is
essentially producing entirely new code as it does type elaboration,
which your tool doesn't get a chance to modify. But C++ is capable of
doing a lot of the annotation itself, so tools like xform are less
critical there.)