[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