<div>I don't know of any precise and efficient GC that you can take as-is, you often need to specialize them by, eg, providing an object model, multi-threading interface.</div><div><br></div>In VMKit, I use MMTk (<a href="http://jikesrvm.org/MMTk">http://jikesrvm.org/MMTk</a>), which is "unfortunately" written in Java. However I am able to generate a .so file out of it that can link with C code. So if you are prepared to play with vmkit's Java ahead of time compiler, and to understand MMTk's interface to object model and multi-threading, using MMTk might be a solution for you.<div>
<br></div><div>Cheers,</div><div>Nicolas<br><div><br></div><div><br><br><div class="gmail_quote">On Fri, Sep 17, 2010 at 1:16 PM, David Given <span dir="ltr"><<a href="mailto:dg@cowlark.com">dg@cowlark.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">On 17/09/10 09:55, Pedro Ferreira wrote:<br>
> As I understand it, LLVM simply gives you support for garbage collectors<br>
> that you have to implement yourself and link into the final binary,<br>
> similar to what C's malloc does (it's a library call). The issue with<br>
> GC's is that they need to be provided info about the stack, thats where<br>
> LLVM's support comes in.<br>
<br>
</div>Are there any standalone accurate garbage collectors that I could use in<br>
my project, rather than having to write me own (or use libgc, which is<br>
what I'm doing now)? Garbage collectors are subtle and very tricky and I<br>
really don't want to have to do one myself, as I know I'll just get it<br>
wrong.<br>
<font color="#888888"><br>
--<br>
┌─── dg@cowlark.com ───── <a href="http://www.cowlark.com" target="_blank">http://www.cowlark.com</a> ─────<br>
│<br>
│ life←{ ↑1 ⍵∨.^3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵ }<br>
│ --- Conway's Game Of Life, in one line of APL<br>
<br>
</font><br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br></blockquote></div><br></div></div>