[LLVMdev] Patch to allow llvm.gcroot to work with non-pointer allocas.

Chris Lattner clattner at apple.com
Fri Sep 24 10:00:00 PDT 2010


On Sep 22, 2010, at 8:52 AM, Talin wrote:
> I'm moving this thread to llvm-dev in the hopes of reaching a wider audience.
> 
> This patch relaxes the restriction on llvm.gcroot so that it can work with non-pointer allocas. The only changes are to Verifier.cpp - it appears from my testing that llvm.gcroot always worked fine with non-pointer allocas, except that the verifier wouldn't allow it. I've used this patch to build an efficient stack crawler (an alternative to shadow-stack that uses only static constant data structures.)
> 
> Here's a deal: If you accept this patch, I'll write up an extensive tutorial on how to write a stack crawler like mine. (Actually, it's already written, however without this patch the tutorial doesn't make any sense.)

Hi Talin,

I don't think anyone is really using the GC support, other than Nicolas in VMKit.  If he's ok with the change, I am too.  Please make sure the dox stay up to date though.

-Chris



More information about the llvm-dev mailing list