[Mono-bugs] [Bug 378011] Cecil generates too large values for maxstack
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Wed Apr 9 06:31:11 EDT 2008
https://bugzilla.novell.com/show_bug.cgi?id=378011
User andrea.ornstein at st.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=378011#c3
--- Comment #3 from Andrea Carlo Ornstein <andrea.ornstein at st.com> 2008-04-09 04:31:11 MST ---
in GetPopDelta and GetPushDelta
instruction.operand for FlowControll.Call aren't always a MethodReference
they can also be a CallSite
the patch has to be patched :) with
GetPopDelta:
case StackBehaviour.Varpush:
if (code.FlowControl != FlowControl.Call)
break;
! IMethodSignature method =
(IMethodSignature)instruction.Operand;
return IsVoid (method.ReturnType.ReturnType) ? 0 : 1;
GetPushDelta:
case StackBehaviour.Varpop:
if (code == OpCodes.Ret)
return IsVoid (current.ReturnType.ReturnType) ? 0 : 1;
if (code.FlowControl != FlowControl.Call)
break;
! IMethodSignature method =
(IMethodSignature)instruction.Operand;
int count = method.Parameters.Count;
if (method.HasThis && code != OpCodes.Newobj)
++count;
return count;
With this changes it seems to work for us.
Thanks
--
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