diff options
Diffstat (limited to '')
-rw-r--r-- | src/lj_asm_ppc.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lj_asm_ppc.h b/src/lj_asm_ppc.h index f99561b3..ac5d88ce 100644 --- a/src/lj_asm_ppc.h +++ b/src/lj_asm_ppc.h | |||
@@ -1103,7 +1103,8 @@ static void asm_sload(ASMState *as, IRIns *ir) | |||
1103 | lj_assertA(irt_isguard(ir->t) || !(ir->op2 & IRSLOAD_TYPECHECK), | 1103 | lj_assertA(irt_isguard(ir->t) || !(ir->op2 & IRSLOAD_TYPECHECK), |
1104 | "inconsistent SLOAD variant"); | 1104 | "inconsistent SLOAD variant"); |
1105 | lj_assertA(LJ_DUALNUM || | 1105 | lj_assertA(LJ_DUALNUM || |
1106 | !irt_isint(t) || (ir->op2 & (IRSLOAD_CONVERT|IRSLOAD_FRAME)), | 1106 | !irt_isint(t) || |
1107 | (ir->op2 & (IRSLOAD_CONVERT|IRSLOAD_FRAME|IRSLOAD_KEYINDEX)), | ||
1107 | "bad SLOAD type"); | 1108 | "bad SLOAD type"); |
1108 | #if LJ_SOFTFP | 1109 | #if LJ_SOFTFP |
1109 | lj_assertA(!(ir->op2 & IRSLOAD_CONVERT), | 1110 | lj_assertA(!(ir->op2 & IRSLOAD_CONVERT), |
@@ -2096,6 +2097,8 @@ static void asm_stack_restore(ASMState *as, SnapShot *snap) | |||
2096 | } else if ((sn & SNAP_SOFTFPNUM)) { | 2097 | } else if ((sn & SNAP_SOFTFPNUM)) { |
2097 | type = ra_alloc1(as, ref+1, rset_exclude(RSET_GPR, RID_BASE)); | 2098 | type = ra_alloc1(as, ref+1, rset_exclude(RSET_GPR, RID_BASE)); |
2098 | #endif | 2099 | #endif |
2100 | } else if ((sn & SNAP_KEYINDEX)) { | ||
2101 | type = ra_allock(as, (int32_t)LJ_KEYINDEX, allow); | ||
2099 | } else { | 2102 | } else { |
2100 | type = ra_allock(as, (int32_t)irt_toitype(ir->t), allow); | 2103 | type = ra_allock(as, (int32_t)irt_toitype(ir->t), allow); |
2101 | } | 2104 | } |