| Newsgroups |
gmane.comp.gnome.mono.patches |
| Message-ID |
<000001428bb0da84-ed6f833f-50ae-4a82-841a-1e59357c8198-000000@email.amazonses.com> |
Branch: refs/heads/master
Home: https://github.com/mono/mono
Compare: https://github.com/mono/mono/compare/f06efbe8b12c...0ad5599acb3e
Commit: 0ad5599acb3e678d4b3ac89651142fe25a07a1e5
Author: Zoltan Varga <[email protected]> (vargaz)
Date: 2013-11-24 19:56:32 GMT
URL: https://github.com/mono/mono/commit/0ad5599acb3e678d4b3ac89651142fe25a07a1e5
[amd64] Simplify the push/pop LMF code a bit more.
Changed paths:
M mono/mini/mini-amd64.c
Modified: mono/mini/mini-amd64.c
===================================================================
@@ -3812,11 +3812,6 @@
static guint8*
emit_push_lmf (MonoCompile *cfg, guint8 *code, gint32 lmf_offset, gboolean *args_clobbered)
{
- if (cfg->lmf_ir) {
- *args_clobbered = TRUE;
- return code;
- }
-
#ifdef HOST_WIN32
if (jit_tls_offset != -1) {
code = mono_amd64_emit_tls_get (code, AMD64_RAX, jit_tls_offset);
@@ -3855,9 +3850,6 @@
static guint8*
emit_pop_lmf (MonoCompile *cfg, guint8 *code, gint32 lmf_offset)
{
- if (cfg->lmf_ir)
- return code;
-
#ifdef HOST_WIN32
/* Restore previous lmf */
amd64_mov_reg_membase (code, AMD64_RCX, cfg->frame_reg, lmf_offset + G_STRUCT_OFFSET (MonoLMF, previous_lmf), sizeof(gpointer));
@@ -7115,9 +7107,13 @@
}
}
+#ifdef HOST_WIN32
if (method->save_lmf) {
code = emit_push_lmf (cfg, code, lmf_var->inst_offset, &args_clobbered);
}
+#else
+ args_clobbered = TRUE;
+#endif
if (trace) {
args_clobbered = TRUE;
@@ -7255,7 +7251,9 @@
pos = 0;
if (method->save_lmf) {
+#ifdef HOST_WIN32
code = emit_pop_lmf (cfg, code, lmf_offset);
+#endif
/* check if we need to restore protection of the stack after a stack overflow */
if (mono_get_jit_tls_offset () != -1) {
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches