[Mono-dev] How to create a JIT trampoline?
Paolo Molaro
lupus at ximian.com
Fri Oct 10 19:41:18 EDT 2008
On 10/10/08 Kornél Pál wrote:
> Currently mono_image_fixup_vtable actually compiles methods that causes
> type loads as well and requires the assembly to be loaded.
>
> Please help with letting me know how could I avoiding this by using JIT
> trampolines. I have no idea how to create them and late fixup their address.
You can use mono_runtime_create_jump_trampoline (), though it's not
really clear what domain you should use, I guess the root domain would
work in most cases. If this is to work for other domains as well, you
will need more work, I don't know the details of how the methods
exported this way are supposed to behave.
To optimize the calls after the first something like the current
jump_target_got_slot_hash hash may be used so the function address is
replaced with the compiled method's code instead of going through the
trampoline every time.
lupus
--
-----------------------------------------------------------------
lupus at debian.org debian/rules
lupus at ximian.com Monkeys do it better
More information about the Mono-devel-list
mailing list