+Sat Apr 6 16:29:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+ * x86/tramp.c: fix advancement od argument position on the stack.
+
Sat Mar 16 19:12:57 CET 2002 Paolo Molaro <lupus@ximian.com>
* x86/tramp.c: increase default allocated size for trampolines
unsigned char *p, *code_buffer;
gint32 local_size;
gint32 stackval_pos, arg_pos = 8;
- int i;
+ int i, align;
/*
* If it is a static P/Invoke method, we can just return the pointer
x86_call_reg (p, X86_ECX);
x86_alu_reg_imm (p, X86_SUB, X86_ESP, 12);
stackval_pos += sizeof (stackval);
- arg_pos += 4;
- if (!sig->params [i]->byref) {
- switch (sig->params [i]->type) {
- case MONO_TYPE_I8:
- case MONO_TYPE_R8:
- arg_pos += 4;
- break;
- case MONO_TYPE_VALUETYPE:
- g_assert_not_reached (); /* Not implemented yet. */
- default:
- break;
- }
- }
+ arg_pos += mono_type_stack_size (sig->params [i], &align);
}
/*