Hy. On 03.05.11 15:45, Zoltan Varga wrote:
> Q1: Besides the monitor enter/exit trampolines, there > are other trampoline types which might not end up > in a C-function (and use, for example, optimized code > instead)? > > > All trampolines are hand written assembly code, but most of them has an > associated C function which they call or which they can fall back to. Okay, what exactly means "most of them"? All JIT, JUMP, IMT/VTable and Delegate trampolines ultimately end up in "mono_magic_trampoline()", don't they? As discussed in this thread, monitor enter/exit trampolines might be run through a fast path that does not end up in their associated C-functions "mono_monitor_enter_trampoline()" and "mono_monitor_exit_trampoline()" in mini-trampolines.c. The unbox trampoline has no associated C-function, as far as I can see. Does the class init trampoline always call "mono_class_runtime_trampoline()"? I don't care about the other trampoline types, so far. > Q2: Do unbox trampolines do any kind of patching, i.e., > modifying native code? As I understood, unbox trampolines > are only needed when a method of a value type is going to > be called but the instance of the value is boxed (e.g., casted > to object in C#). And unbox trampolines are only handled/ > inserted by the magic trampoline. Do I understand it correct? > > > They don't do patching. Okay, thanks. With kind regards, Martin Däumler _______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list