[Mono-devel-list] Question Jit Trampolines

Zoltan Varga vargaz at gmail.com
Tue Jan 18 10:28:18 EST 2005


                              Hi,

  Contrary to the comments in tramp-x86.c, x86_magic_trampoline is used for
all methods, not just virtual methods. If the call is not virtual, the
call site itself
is rewritten so it calls the real method next time, not the trampoline.
This is done by this line:
					InterlockedExchange ((gint32*)(code + 2), (guint)addr -
((guint)code + 1) - 5);

              Zoltan


On Tue, 18 Jan 2005 16:19:38 +0100 (MET), Christoph Stiedl
<Shorty.10 at gmx.at> wrote:
> Hi,
> 
> my Question is concerning the treatment of jit Trampolines for static
> methods:
> 
> Pointers to the Jit Trampolines of virtual methods are saved in the
> vtable, but where are the pointers to Jit Trampolines saved concerning
> static methods? - Are they stored somewhere at all?
> 
> Concerning magic_trampoline: It changes the pointer of the vtable from the
> jit tramp to the compiled code, does something happen with static methods
> too? Where?
> 
> Is magic_trampoline used for static methods too?
> 
> Thanks for your help
> 
> Christoph
> 
> --
> Sparen beginnt mit GMX DSL: http://www.gmx.net/de/go/dsl
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>



More information about the Mono-devel-list mailing list