Displaying 2 results from an estimated 2 matches for "_camlpervasives__print_endline_298".
2007 Aug 13
3
[LLVMdev] ocaml+llvm
...of invoke inst, maybe something
> like this can be used to emit necessary information?
Oo, that sounds like the right track. Maybe I could tack an optional
something onto the call/invoke instructions that says "export a
return address label", like this:
%tmp.1 = i8* call @_camlPervasives__print_endline_298(i8* %
greeting.0) ret internal i8* @L103
And then adjust the code generators to insert the specified label.
Afterwards, @L103 would be a normal constant and I could build the
frame table as a plain old LLVM constant.
> Some amount of intrinsics plus additional lowering code.
I can think...
2007 Aug 12
0
[LLVMdev] ocaml+llvm
...fter the return
of this call, the root heapobject is still live, so the collector
must trace it. To instruct the runtime to do so, the ocaml
compiler emits the following assembly:
from the program text in example.s:
movl %eax, 0(%esp) ; save heapobject at 0(%esp)
call _camlPervasives__print_endline_298
L103: ; mark call's return address
from the frame table in example.s:
.long L103 ; "entry is for return address L103"
.word 16 ; "entry is 16 bytes in length"
.word 1 ; "1 gcroot follows"...