aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lj_opt_split.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lj_opt_split.c b/src/lj_opt_split.c
index 186dc8c0..da2c7184 100644
--- a/src/lj_opt_split.c
+++ b/src/lj_opt_split.c
@@ -184,6 +184,8 @@ static IRRef split_ptr(jit_State *J, IRIns *oir, IRRef ref)
184 IRRef nref = oir[ref].prev; 184 IRRef nref = oir[ref].prev;
185 IRIns *ir = IR(nref); 185 IRIns *ir = IR(nref);
186 int32_t ofs = 4; 186 int32_t ofs = 4;
187 if (ir->o == IR_KPTR)
188 return lj_ir_kptr(J, (char *)ir_kptr(ir) + ofs);
187 if (ir->o == IR_ADD && irref_isk(ir->op2) && !irt_isphi(oir[ref].t)) { 189 if (ir->o == IR_ADD && irref_isk(ir->op2) && !irt_isphi(oir[ref].t)) {
188 /* Reassociate address. */ 190 /* Reassociate address. */
189 ofs += IR(ir->op2)->i; 191 ofs += IR(ir->op2)->i;