Displaying 5 results from an estimated 5 matches for "thunk_z_aorb".
2011 Jan 31
3
[LLVMdev] Compile function with limited set of registers? Jump to another function?
...class Z implements X, y:
>>> method A(a, b) ...
>>> method B(c, d, e) ...
>>>
>>> X.A + Y.B happen to hash to same vtable index, say -3
>>>
>>> This would require a thunk something like:
>>>
>>> vtable[-3] =
>>> thunk_Z_AorB(selector_id, ...)
>>> // binary search for matching selector id:
>>> if selector_id <= selector_Z_A then
>>> Z.A(selector_id, ...)
>>> else
>>> Z.B(selector_id, ...)
>>> fi
>>>
>>> which would ide...
2011 Jan 31
0
[LLVMdev] Compile function with limited set of registers? Jump to another function?
...t;> method A(a, b) ...
>>>> method B(c, d, e) ...
>>>>
>>>> X.A + Y.B happen to hash to same vtable index, say -3
>>>>
>>>> This would require a thunk something like:
>>>>
>>>> vtable[-3] =
>>>> thunk_Z_AorB(selector_id, ...)
>>>> // binary search for matching selector id:
>>>> if selector_id <= selector_Z_A then
>>>> Z.A(selector_id, ...)
>>>> else
>>>> Z.B(selector_id, ...)
>>>> fi
>>>>...
2011 Jan 25
0
[LLVMdev] Compile function with limited set of registers? Jump to another function?
...hen jump to, rather than call, another function:
interface X:
method A(a, b)
interface Y:
method B(c, d, e)
class Z implements X, y:
method A(a, b) ...
method B(c, d, e) ...
X.A + Y.B happen to hash to same vtable index, say -3
This would require a thunk something like:
vtable[-3] =
thunk_Z_AorB(selector_id, ...)
// binary search for matching selector id:
if selector_id <= selector_Z_A then
Z.A(selector_id, ...)
else
Z.B(selector_id, ...)
fi
which would ideally would compile on x64 to something like:
thunk_Z_AorB:
cmp $selector_Z_A, %rdi
jle Z.A
jmp Z...
2011 Feb 02
1
[LLVMdev] Compile function with limited set of registers? Jump to another function?
...>>>> method B(c, d, e) ...
>>>>>
>>>>> X.A + Y.B happen to hash to same vtable index, say -3
>>>>>
>>>>> This would require a thunk something like:
>>>>>
>>>>> vtable[-3] =
>>>>> thunk_Z_AorB(selector_id, ...)
>>>>> // binary search for matching selector id:
>>>>> if selector_id <= selector_Z_A then
>>>>> Z.A(selector_id, ...)
>>>>> else
>>>>> Z.B(selector_id, ...)
>>>>>...
2011 Jan 31
1
[LLVMdev] Fw: Compile function with limited set of registers? Jump to another function?
...B(c, d, e) ...
>>>>>>
>>>>>>X.A + Y.B happen to hash to same vtable index, say -3
>>>>>>
>>>>>>This would require a thunk something like:
>>>>>>
>>>>>>vtable[-3] =
>>>>>> thunk_Z_AorB(selector_id, ...)
>>>>>> // binary search for matching selector id:
>>>>>> if selector_id <= selector_Z_A then
>>>>>> Z.A(selector_id, ...)
>>>>>> else
>>>>>> Z.B(selector_id, ...)
>&g...