Author: zoltan
Date: 2005-05-10 16:46:34 -0400 (Tue, 10 May 2005)
New Revision: 44352
Modified:
trunk/mono/mono/mini/ChangeLog
trunk/mono/mono/mini/cpu-amd64.md
trunk/mono/mono/mini/mini-amd64.c
Log:
2005-05-10 Zoltan Varga <[EMAIL PROTECTED]>
* mini-amd64.c (mono_arch_output_basic_block): Fix stack space leakage
in float_neg. Fixes #74897.
* mini-amd64.c (emit_call): Fix another near call bug.
Modified: trunk/mono/mono/mini/ChangeLog
===================================================================
--- trunk/mono/mono/mini/ChangeLog 2005-05-10 20:45:34 UTC (rev 44351)
+++ trunk/mono/mono/mini/ChangeLog 2005-05-10 20:46:34 UTC (rev 44352)
@@ -1,3 +1,10 @@
+2005-05-10 Zoltan Varga <[EMAIL PROTECTED]>
+
+ * mini-amd64.c (mono_arch_output_basic_block): Fix stack space leakage
+ in float_neg. Fixes #74897.
+
+ * mini-amd64.c (emit_call): Fix another near call bug.
+
2005-05-06 Sebastien Pouliot <[EMAIL PROTECTED]>
* declsec.c: Keep the appdomain information in the structure. Added a
Modified: trunk/mono/mono/mini/cpu-amd64.md
===================================================================
--- trunk/mono/mono/mini/cpu-amd64.md 2005-05-10 20:45:34 UTC (rev 44351)
+++ trunk/mono/mono/mini/cpu-amd64.md 2005-05-10 20:46:34 UTC (rev 44352)
@@ -429,7 +429,7 @@
float_div_un: dest:f src1:f src2:f len:5
float_rem: dest:f src1:f src2:f len:19
float_rem_un: dest:f src1:f src2:f len:19
-float_neg: dest:f src1:f len:19
+float_neg: dest:f src1:f len:23
float_not: dest:f src1:f len:3
float_conv_to_i1: dest:i src1:f len:49
float_conv_to_i2: dest:i src1:f len:49
Modified: trunk/mono/mono/mini/mini-amd64.c
===================================================================
--- trunk/mono/mono/mini/mini-amd64.c 2005-05-10 20:45:34 UTC (rev 44351)
+++ trunk/mono/mono/mini/mini-amd64.c 2005-05-10 20:46:34 UTC (rev 44352)
@@ -1311,6 +1311,11 @@
if ((((guint64)data) >> 32) ==
0)
near_call = TRUE;
}
+ else if (info->func == info->wrapper) {
+ /* No wrapper */
+ if ((((guint64)info->func) >>
32) == 0)
+ near_call = TRUE;
+ }
else
near_call = TRUE;
}
@@ -4347,6 +4352,7 @@
amd64_push_reg (code, AMD64_R11);
amd64_push_reg (code, AMD64_R11);
amd64_sse_xorpd_reg_membase (code, ins->dreg,
AMD64_RSP, 0);
+ amd64_alu_reg_imm (code, X86_ADD, AMD64_RSP,
16);
}
else
amd64_fchs (code);
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches