[mono/mono] faecc312: [jit] Use unsigned comparisons with the IMT thunks as they can live in high memory addresses.

"Rodrigo Kumpera ([email protected])" <[email protected]> Tue, 12 Nov 2013 19:59:27 +0000
Newsgroups gmane.comp.gnome.mono.patches
Message-ID <000001424de5adf1-9440759a-9c96-41d4-a2e0-8762bc158d80-000000@email.amazonses.com>
   Branch: refs/heads/mtvs-1.8-series
     Home: https://github.com/mono/mono
  Compare: https://github.com/mono/mono/compare/bfa718615859...faecc312c9b2

   Commit: faecc312c9b282e59b2d2f5f8fef2da7df5f97d3
   Author: Rodrigo Kumpera <[email protected]> (kumpera)
     Date: 2013-11-12 19:22:10 GMT
      URL: https://github.com/mono/mono/commit/faecc312c9b282e59b2d2f5f8fef2da7df5f97d3

[jit] Use unsigned comparisons with the IMT thunks as they can live in high memory addresses.

Changed paths:
  M mono/mini/mini-arm.c

Modified: mono/mini/mini-arm.c
===================================================================
@@ -6267,15 +6267,15 @@ enum {
 #ifdef USE_JUMP_TABLES
 			code = load_element_with_regbase_cond (code, ARMREG_R1, ARMREG_R2, IMT_METHOD_JTI (i), ARMCOND_AL);
 			ARM_CMP_REG_REG (code, ARMREG_R0, ARMREG_R1);
-			code = load_element_with_regbase_cond (code, ARMREG_R1, ARMREG_R2, JUMP_CODE_JTI (i), ARMCOND_GE);
-			ARM_BX_COND (code, ARMCOND_GE, ARMREG_R1);
+			code = load_element_with_regbase_cond (code, ARMREG_R1, ARMREG_R2, JUMP_CODE_JTI (i), ARMCOND_HS);
+			ARM_BX_COND (code, ARMCOND_HS, ARMREG_R1);
 			item->jmp_code = GUINT_TO_POINTER (JUMP_CODE_JTI (i));
 #else
 			ARM_LDR_IMM (code, ARMREG_R1, ARMREG_PC, 0);
 			ARM_CMP_REG_REG (code, ARMREG_R0, ARMREG_R1);
 
 			item->jmp_code = (guint8*)code;
-			ARM_B_COND (code, ARMCOND_GE, 0);
+			ARM_B_COND (code, ARMCOND_HS, 0);
 			++extra_space;
 #endif
 		}


_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches