[Mono-dev] JIT Patch Types

Martin Däumler mdae at cs.tu-chemnitz.de
Wed Jun 8 02:29:35 EDT 2011

On 07.06.11 6:34 pm, Rodrigo Kumpera wrote:
> RGCTX fetch trampolines are used by the generics sharing machinery to
> implement all sort of
> things from vtable, field, static data and so on. If you have generic
> code, you'll have them.
> The worst part is that It's not possible to eagerly patch them due to
> recursive types.


thank you for the answer. That is what I assumed after I had a look
at the code but I want to play safe. Can anyone give me a hint when
the other patches are used?

> On Tue, Jun 7, 2011 at 1:01 PM, Martin Däumler <mdae at cs.tu-chemnitz.de
> <mailto:mdae at cs.tu-chemnitz.de>> wrote:
>     [...]
>     MONO_PATCH_INFO_JIT_ICALL_ADDR (not used on x86?)
>     MONO_PATCH_INFO_ICALL_ADDR (only for AOT case?)
>     I guess that the RGCTX (and practically the RGCTX lazy fetch
>     trampoline) is used only if generics are used. So, a call to
>     it is not emitted by the mcs, is it? For the other patches I
>     assume that they are emitted only in AOT-case, but I am not
>     sure.

With kind regards,
Martin Däumler

More information about the Mono-devel-list mailing list