[mono/mono] 0ad5599a: [amd64] Simplify the push/pop LMF code a bit more.

"Zoltan Varga ([email protected])" <[email protected]> Sun, 24 Nov 2013 19:58:12 +0000
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