diff options
author | Mike Pall <mike> | 2012-04-26 23:34:54 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2012-04-26 23:34:54 +0200 |
commit | 325a1820eb2f9938a734f78619426eac8d490374 (patch) | |
tree | 7b7a245f83e7101b2f74dabadf9aa3b4438d1c4d /src | |
parent | 0522f74f6936f578b45b5e6cd659d0d6f94c7d5e (diff) | |
download | luajit-325a1820eb2f9938a734f78619426eac8d490374.tar.gz luajit-325a1820eb2f9938a734f78619426eac8d490374.tar.bz2 luajit-325a1820eb2f9938a734f78619426eac8d490374.zip |
ARM: Fix conditional branch fixup for OBAR.
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_asm_arm.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_asm_arm.h b/src/lj_asm_arm.h index 0501f4bc..5ec3d59f 100644 --- a/src/lj_asm_arm.h +++ b/src/lj_asm_arm.h | |||
@@ -1017,8 +1017,8 @@ static void asm_obar(ASMState *as, IRIns *ir) | |||
1017 | args[0] = ASMREF_TMP1; /* global_State *g */ | 1017 | args[0] = ASMREF_TMP1; /* global_State *g */ |
1018 | args[1] = ir->op1; /* TValue *tv */ | 1018 | args[1] = ir->op1; /* TValue *tv */ |
1019 | asm_gencall(as, ci, args); | 1019 | asm_gencall(as, ci, args); |
1020 | if ((*as->mcp >> 28) == CC_AL) | 1020 | if ((l_end[-1] >> 28) == CC_AL) |
1021 | *as->mcp = ARMF_CC(*as->mcp, CC_NE); | 1021 | l_end[-1] = ARMF_CC(l_end[-1], CC_NE); |
1022 | else | 1022 | else |
1023 | emit_branch(as, ARMF_CC(ARMI_B, CC_EQ), l_end); | 1023 | emit_branch(as, ARMF_CC(ARMI_B, CC_EQ), l_end); |
1024 | ra_allockreg(as, i32ptr(J2G(as->J)), ra_releasetmp(as, ASMREF_TMP1)); | 1024 | ra_allockreg(as, i32ptr(J2G(as->J)), ra_releasetmp(as, ASMREF_TMP1)); |