diff options
author | Mike Pall <mike> | 2014-05-27 15:59:20 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2014-05-27 15:59:20 +0200 |
commit | 7400e2c0cc09cfd332f3e9f831872abc343de406 (patch) | |
tree | 48bec4313fb1f9628820f2b0bfd97ac1e86fa676 /src | |
parent | 945af491b6438046f6ae3560e60b000c59776a43 (diff) | |
parent | 49d3157e146bc33b5b7c3a82ce00a8f824f6fa49 (diff) | |
download | luajit-7400e2c0cc09cfd332f3e9f831872abc343de406.tar.gz luajit-7400e2c0cc09cfd332f3e9f831872abc343de406.tar.bz2 luajit-7400e2c0cc09cfd332f3e9f831872abc343de406.zip |
Merge branch 'master' into v2.1
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_asm_ppc.h | 2 | ||||
-rw-r--r-- | src/lj_asm_x86.h | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/lj_asm_ppc.h b/src/lj_asm_ppc.h index 676bfcbf..815d9058 100644 --- a/src/lj_asm_ppc.h +++ b/src/lj_asm_ppc.h | |||
@@ -49,6 +49,8 @@ static void asm_exitstub_setup(ASMState *as, ExitNo nexits) | |||
49 | { | 49 | { |
50 | ExitNo i; | 50 | ExitNo i; |
51 | MCode *mxp = as->mctop; | 51 | MCode *mxp = as->mctop; |
52 | if (mxp - (nexits + 3 + MCLIM_REDZONE) < as->mclim) | ||
53 | asm_mclimit(as); | ||
52 | /* 1: mflr r0; bl ->vm_exit_handler; li r0, traceno; bl <1; bl <1; ... */ | 54 | /* 1: mflr r0; bl ->vm_exit_handler; li r0, traceno; bl <1; bl <1; ... */ |
53 | for (i = nexits-1; (int32_t)i >= 0; i--) | 55 | for (i = nexits-1; (int32_t)i >= 0; i--) |
54 | *--mxp = PPCI_BL|(((-3-i)&0x00ffffffu)<<2); | 56 | *--mxp = PPCI_BL|(((-3-i)&0x00ffffffu)<<2); |
diff --git a/src/lj_asm_x86.h b/src/lj_asm_x86.h index 3e87ba18..12c7a6ba 100644 --- a/src/lj_asm_x86.h +++ b/src/lj_asm_x86.h | |||
@@ -571,7 +571,7 @@ static void asm_setupresult(ASMState *as, IRIns *ir, const CCallInfo *ci) | |||
571 | lua_assert(!irt_ispri(ir->t)); | 571 | lua_assert(!irt_ispri(ir->t)); |
572 | ra_destreg(as, ir, RID_RET); | 572 | ra_destreg(as, ir, RID_RET); |
573 | } | 573 | } |
574 | } else if (LJ_32 && irt_isfp(ir->t)) { | 574 | } else if (LJ_32 && irt_isfp(ir->t) && !(ci->flags & CCI_CASTU64)) { |
575 | emit_x87op(as, XI_FPOP); /* Pop unused result from x87 st0. */ | 575 | emit_x87op(as, XI_FPOP); /* Pop unused result from x87 st0. */ |
576 | } | 576 | } |
577 | } | 577 | } |