Displaying 9 results from an estimated 9 matches for "g_stub".
2013 Nov 14
2
[LLVMdev] (Very) small patch for the jit event listener
...of calls to g before compiling it and it means
that I will have to generate a lot of different names (not a big deal,
but it takes time during the execution)...
> For instance, you'll probably want the module for 'f' to look something like this:
>
> ----
>
> declare i32 @g_stub()
>
> define i32 @f() {
> %r = call i32 @g_stub( )
> ret i32 %r
> }
>
> ----
>
> and the module for 'g' will look something like this:
>
> ----
>
> define i32 @g() {
> ret i32 0
> }
>
> ----
>
> Now when you generate code for th...
2013 Nov 14
0
[LLVMdev] (Very) small patch for the jit event listener
...f 'g' will get linked to the stub and only the stub will call 'g' directly. If the calls and the implementation use the same name MCJIT will start trying to link callers directly to the implementation once it's available.
> But the location of the call-site (the pointer to g_stub in the generated code) should be in the
> relocation table of the module f? You don't think that a client could reuse this relocation table directly?
There are a couple of problems with that.
First, MCJIT gets the relocations in a slightly different form than a pure loader typically would....
2013 Nov 14
0
[LLVMdev] (Very) small patch for the jit event listener
...the name of the function as it appears at the call site (which will result in a call to your stub function) and the name of the function as it is defined in the implementation module. For instance, you'll probably want the module for 'f' to look something like this:
----
declare i32 @g_stub()
define i32 @f() {
%r = call i32 @g_stub( )
ret i32 %r
}
----
and the module for 'g' will look something like this:
----
define i32 @g() {
ret i32 0
}
----
Now when you generate code for the 'f' module, MCJIT will call the memory manager asking for the address of '...
2013 Nov 16
2
[LLVMdev] (Very) small patch for the jit event listener
...; will get linked to the stub and only the stub will call 'g' directly. If the calls and the implementation use the same name MCJIT will start trying to link callers directly to the implementation once it's available.
>
>
>> But the location of the call-site (the pointer to g_stub in the generated code) should be in the
>> relocation table of the module f? You don't think that a client could reuse this relocation table directly?
>
> There are a couple of problems with that.
>
> First, MCJIT gets the relocations in a slightly different form than a pure l...
2013 Nov 16
0
[LLVMdev] (Very) small patch for the jit event listener
...inked to the stub and only the stub will call 'g' directly. If the calls and the implementation use the same name MCJIT will start trying to link callers directly to the implementation once it's available.
>>
>>
>>> But the location of the call-site (the pointer to g_stub in the generated code) should be in the
>>> relocation table of the module f? You don't think that a client could reuse this relocation table directly?
>>
>> There are a couple of problems with that.
>>
>> First, MCJIT gets the relocations in a slightly differen...
2013 Nov 18
2
[LLVMdev] (Very) small patch for the jit event listener
...inked to the stub and only the stub will call 'g' directly. If the calls and the implementation use the same name MCJIT will start trying to link callers directly to the implementation once it's available.
>>
>>
>>> But the location of the call-site (the pointer to g_stub in the
>>> generated code) should be in the relocation table of the module f? You don't think that a client could reuse this relocation table directly?
>>
>> There are a couple of problems with that.
>>
>> First, MCJIT gets the relocations in a slightly differe...
2013 Nov 19
0
[LLVMdev] (Very) small patch for the jit event listener
...stub and only the stub will call 'g' directly. If the calls and the implementation use the same name MCJIT will start trying to link callers directly to the implementation once it's available.
>>>
>>>
>>>> But the location of the call-site (the pointer to g_stub in the
>>>> generated code) should be in the relocation table of the module f? You don't think that a client could reuse this relocation table directly?
>>>
>>> There are a couple of problems with that.
>>>
>>> First, MCJIT gets the relocations in...
2013 Nov 19
1
[LLVMdev] (Very) small patch for the jit event listener
...stub and only the stub will call 'g' directly. If the calls and the implementation use the same name MCJIT will start trying to link callers directly to the implementation once it's available.
>>>
>>>
>>>> But the location of the call-site (the pointer to g_stub in the
>>>> generated code) should be in the relocation table of the module f? You don't think that a client could reuse this relocation table directly?
>>>
>>> There are a couple of problems with that.
>>>
>>> First, MCJIT gets the relocations i...
2013 Nov 13
3
[LLVMdev] (Very) small patch for the jit event listener
Hi Andrew, hi all,
I already saw that the old jit was (almost) deprecated. So, I'm
currently playing with the new jit and it's look very interesting.
(I'm working locally and I haven't pushed anything new on VMKit
because I'm also changing a little the design vmkit). For the moment,
MCJIT does not work with VMKit (but I haven't yet tested the
safepoint/stackmap patch), I