+2003-03-06 Zoltan Varga <vargaz@freemail.hu>
+
+ * ILGenerator.cs (Emit): Do not pop the arguments off the stack for
+ ldftn etc. Fixes bug #39196.
+
2003-02-28 Zoltan Varga <vargaz@freemail.hu>
* ILGenerator.cs (Emit): Add fixup for already created methods and
}
if (max_stack < cur_stack)
max_stack = cur_stack;
+
/*
* Note that we adjust for the pop behaviour _after_ setting max_stack.
*/
add_token_fixup (constructor);
emit_int (token);
ParameterInfo[] mparams = constructor.GetParameters();
- if (mparams != null)
+ if ((opcode.StackBehaviourPop == StackBehaviour.Varpop) && (mparams != null))
cur_stack -= mparams.Length;
}
public virtual void Emit (OpCode opcode, double val) {
if (method.ReturnType != void_type)
cur_stack ++;
ParameterInfo[] mparams = method.GetParameters();
- if (mparams != null)
+ if ((opcode.StackBehaviourPop == StackBehaviour.Varpop) && (mparams != null))
cur_stack -= mparams.Length;
}
[CLSCompliant(false)]