[Mono-dev] AMD64 AOT code and bad IMT

Zoltan Varga vargaz at gmail.com
Mon May 20 23:52:11 UTC 2013


On Tue, May 21, 2013 at 1:37 AM, Gavin Dodd
<gavin at wholesalealgorithms.com>wrote:

> To make things more interesting I'm working with a branch of mono 2.8 (I
> think) and I don't have any symbols for the AOT compiled code at run time,

You should try a 3.0 based mono version first, you might be running into a
bug which is already fixed.

> My questions are:
> Is the lmf address the correct value for the return of
> mono_arch_find_imt_method? If not what should it be?
> What generates the IMT for AOT compiled code?
> What sets the IMT address table at run time and where is it stored? I
> haven't seen any breakpoints on IMT functions get hit at runtime.
> Thanks
> The C code is called from an IMT thunk, which is generated by
arch_emit_imt_thunk () in aot-compiler.c. The thunks are stored in a table
pointed to by the symbol 'imt_thunks' in the mscorlib aot image.
The thunk receives the imt argument in MONO_ARCH_IMT_REG which is r10 in
this case. This register needs to be set by the caller, which is AOT
generated code.


> Gavin
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20130521/d1eb876f/attachment.html>

More information about the Mono-devel-list mailing list