DotGNU Portable.NET - Patches: patch #6235, Make jit_function_apply work for...
You are not allowed to post comments on this tracker with your current authentication level.
patch #6235: Make jit_function_apply work for all ABIs (FASTCALL, STDCALL).
Submitter: | Kirill Kononenko <krokas> | ||
Submitted: | Wed 17 Oct 2007 10:48:53 AM UTC | ||
Category: | None | Priority: | 5 - Normal |
Status: | None | Privacy: | Public |
Assigned to: | None | Open/Closed: | Open |
Attached Files
Depends on the following items: None found
Items that depend on this one: None found
Carbon-Copy List
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follows 1 latest change.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2007-10-17 | krokas | Attached File | - | Added krokas-071017.patch, #14155 |
Powered by Savane 3.13-caa5.
Corresponding source code
The patch builds a special trampoline (jit_function_t cdecl_trampoline; ) with a CDECL ABI. The trampoline gets all standard parameters at begin, but has at the end an extra pointer to a function. The trampoline uses jit_insn_call_indirect to call the function pointer with the parameters, which were passed at the begin. Because the trampoline has a CDECL ABI, jit_function_apply is then called for the trampoline. This fixes jit_function_apply to work for all different ABIs,not only the CDECL, for which jit_insn_call_indirect works too.