search for: stackentry

Displaying 8 results from an estimated 8 matches for "stackentry".

2008 Apr 22
3
[LLVMdev] getting closer!
...ight* be getting this from the assembly code. The assembly code has: L_llvm_gc_root_chain$non_lazy_ptr: .indirect_symbol _llvm_gc_root_chain .long 0 and I see it being used in the function preamble. Is that a ref to an extern symbol or the def? I.e., is it referring to StackEntry *llvm_gc_root_chain; that I must have in my GC C code? (semispace.c has it) SO! I might be getting this. The shadow stack plugin assumes I have struct StackEntry { StackEntry *Next; // Caller's stack entry. const FrameMap *Map; // Pointer to constant FrameMap. void *Roots[...
2008 Apr 22
0
[LLVMdev] getting closer!
On Apr 21, 2008, at 20:09, Terence Parr wrote: > Ok, I *might* be getting this from the assembly code. ... From > that, it will push/pop in functions? If so, that's easy enough. :) Yup! Sounds like you've got it. > What I was/am missing is the explicit link between types and > variables in a GC.c file and the generated machine code. If I can > get that last
2008 Apr 22
2
[LLVMdev] getting closer!
...gt;> that, it will push/pop in functions? If so, that's easy enough. :) > > Yup! Sounds like you've got it. Yup, what i was missing and what somebody should add to the doc is that "shadow-stack" adds a preamble/postamble snippet to each function that must bind with StackEntry *llvm_gc_root_chain; wherever you choose to define it. I put into my GC.c file. Further, that shadow-stack snippet generation assumes the following structures for tracking roots: typedef struct FrameMap FrameMap; struct FrameMap { int32_t NumRoots; // Number of roots in stack frame. int...
2008 Apr 22
0
[LLVMdev] getting closer!
...nctions? If so, that's easy enough. :) >> >> Yup! Sounds like you've got it. > > Yup, what i was missing and what somebody should add to the doc is > that "shadow-stack" adds a preamble/postamble snippet to each > function that must bind with > > StackEntry *llvm_gc_root_chain; > > wherever you choose to define it. I put into my GC.c file. > > Further, that shadow-stack snippet generation assumes the following > structures for tracking roots: > > typedef struct FrameMap FrameMap; > struct FrameMap { > int32_t NumRoots;...
2008 Apr 21
0
[LLVMdev] getting started with IR needing GC
Hi Terence, On 2008-04-20, at 20:08, Terence Parr wrote: > I've exhausted what I can do on my own to make a GC example bind > (usual googling, reading, playing, looking at source). I can't find > the shadow collector lib or perhaps the -l options needed to link my > sample (not even to point where I'm figuring out GC actually as I > can't link). The shadow
2008 Apr 21
2
[LLVMdev] getting started with IR needing GC
Howdy do LLVM folks! I've exhausted what I can do on my own to make a GC example bind (usual googling, reading, playing, looking at source). I can't find the shadow collector lib or perhaps the -l options needed to link my sample (not even to point where I'm figuring out GC actually as I can't link). Not sure this IR is correct but here is what I've been playing
2008 Apr 21
2
[LLVMdev] getting started with IR needing GC
...upport. doh! That's how I missed the binary. thanks! > Since the semispace heap doesn't actually work (it's an example, at > best), I suggest you simply copy the stack visitor into your project; > it's only a dozen lines of code or so. Ok, copying; can't find ShadowStackEntry though. Even make in that dir doesn't work: /usr/local/llvm-2.2/runtime/GC/SemiSpace $ sudo make Password: llvm[0]: Compiling semispace.c for Release build (bytecode) semispace.c:107: error: expected specifier-qualifier-list before 'ShadowStackEntry' semispace.c:111: error: expecte...
2008 Mar 07
1
[LLVMdev] runtime/GC/SemiSpace/semispace.c does not build in release 2.2?
I just downloaded the source for release 2.2, and when I try to build 'make -C runtime' it fails with the following error: ---- [...] llvm[2]: Compiling semispace.c for Release build (bytecode) semispace.c:107: error: syntax error before 'ShadowStackEntry' semispace.c:107: warning: no semicolon at end of struct or union semispace.c:108: error: syntax error before '*' token semispace.c:108: warning: type defaults to 'int' in declaration of 'Map' semispace.c:108: warning: data definition has no type or storage class semispa...