[Mono-bugs] [Bug 465937] Mono 2.2 JIT crash on method-to-ir.c:10432:mono_spill_global_vars after upgrade from 2.0

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Mon Jan 19 19:54:45 EST 2009


https://bugzilla.novell.com/show_bug.cgi?id=465937

User vargaz at gmail.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=465937#c5





--- Comment #5 from Zoltan Varga <vargaz at gmail.com>  2009-01-19 17:54:41 MST ---
I think the problem is that this library generates invalid IL:

method to IR TransitionNObjective.Tests.AutoRegisteredClass:-ctor0
(int*,int*,int,int,NObjective.RuntimeObject,NObjective.Selector)
created temp 10 (R18) of type System.Object
converting (in B4: stack: 0) IL_0000: ldarg     4
converting (in B4: stack: 1) IL_0004: nop       
converting (in B4: stack: 1) IL_0005: nop       
converting (in B4: stack: 1) IL_0006: ldobj     0x0100000b
converting (in B4: stack: 1) IL_000b: ldc.i4    4
converting (in B4: stack: 2) IL_0010: add       
converting (in B4: stack: 1) IL_0011: ldc.i4    0
converting (in B4: stack: 2) IL_0016: stobj     0x0100000b
converting (in B4: stack: 0) IL_001b: newobj    0x06000001

Here, ldarg.4 loads a value of type RuntimeObject, which is a valuetype, then
ldobj is called on it, which requires a pointer on the stack, not a vtype.

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list