Displaying 2 results from an estimated 2 matches for "_gc_init".
Did you mean:
gc_init
2010 Aug 24
1
[LLVMdev] non_lazy_ptr question
...e stack
offsets containing pointers, indexed by the program counter address of the
safe point. It's generated by a custom linker pass.)
However, the code that is being generated looks like this:
movl L_gc_safepoint_map$non_lazy_ptr, %eax
movl %eax, (%esp)
call _GC_init
In other words, it's passing the 'non_lazy_ptr' version of the symbol
directly to GC_init, without dereferencing it. This makes the code go boom.
OK, so my question is:
- Where exactly would this dereference normally occur?
- Would it be in the calling module (written in bit...
2010 Oct 10
1
[LLVMdev] More questions about non_lazy_ptr
...getelementptr inbounds ([0 x i32]*
@gc_safepoint_map, i32 0, i32 0))
to label %nounwind unwind label %catch
When lowered to assembly, the code looks like this on OS X:
Ltmp426:
movl L_gc_safepoint_map$non_lazy_ptr, %eax
movl %eax, (%esp)
calll _GC_init
(and later on in the same file):
L_gc_safepoint_map$non_lazy_ptr:
.indirect_symbol _gc_safepoint_map
.long 0
This looks correct to me - it's dereferencing the non_lazy_ptr version of
the global.
The GC_init function, which is written in C, simply looks like...