[Mono-dev] Issue with inlining in the JIT
Zoltan Varga
vargaz at gmail.com
Tue Mar 8 18:14:19 EST 2011
Hi,
Create a testcase and attach it to a bug report.
Zoltan
On Wed, Mar 9, 2011 at 12:08 AM, Michael Mudge <michael at mudge.com> wrote:
> I'm running into an access violation in Mono... I've traced the
> "cause" as far back as I can (mono_method_to_ir), but that function is
> so full of macros and switches that it's hard to figure out how it
> came to make the decision it did. Here is the story of how the access
> violation occurs:
>
> ins->sreg1 is being set to 0xA365734 in method-to-ir.c, line 5928
> (call to EMIT_NEW_ARGLOAD call in the CEE_LDARG_3 case of
> mono_method_to_ir).
>
> The call stack at this point is:
> mono_method_to_ir (working on Size::.ctor)
> .. called by inline_method() (working on Size::.ctor)
> .. called by mono_method_to_ir() (working on Rectangle::get_Size)
> .. called by inline_method() (working on Rectangle::get_Size)
> .. called by mono_method_to_ir() (working on
> TextRenderer::MeasureTextInternal)
> .. called by mini_method_compile() (working on
> TextRenderer::MeasureTextInternal)
> ..
>
> Later, in local-propagation.c, line 77 (at the call to
> mono_inst_get_src_registers in mono_local_cprop), the ins->sreg1 value
> is moved to sregs[0]:
> num_sregs = mono_inst_get_src_registers (ins, sregs);
>
> Two lines later, the value is moved to sreg:
> int sreg = sregs [i];
>
> Two lines later, that value (0xA365734) is used to index into an array:
> defs [sreg] = NULL;
>
> And boom, access violation. I can follow values around all day, but I
> have no idea what this code is supposed to do or how it should work.
> Anyone have any insight the cause of this? The next steps in terms of
> debugging? I'm using Mono 2.8.2.
>
> - Kipp
> _______________________________________________
> 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/20110309/0ef58b8c/attachment.html
More information about the Mono-devel-list
mailing list