diff options
author | Mike Pall <mike> | 2010-12-17 16:47:28 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-12-17 16:47:28 +0100 |
commit | c98132e182b25e8734fff0f4152ba747a2da461a (patch) | |
tree | f7c9f6aa83793fb5e482c584942c576f3947ce10 /src | |
parent | c4a0fb4f60e6f318d4976123b4322e61b580553b (diff) | |
download | luajit-c98132e182b25e8734fff0f4152ba747a2da461a.tar.gz luajit-c98132e182b25e8734fff0f4152ba747a2da461a.tar.bz2 luajit-c98132e182b25e8734fff0f4152ba747a2da461a.zip |
FFI: FOLD load of initializers even across PHIs.
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_opt_fold.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c index cbcbb448..74b15f32 100644 --- a/src/lj_opt_fold.c +++ b/src/lj_opt_fold.c | |||
@@ -1603,7 +1603,7 @@ LJFOLDF(fload_cdata_init_cnew) | |||
1603 | { | 1603 | { |
1604 | if (LJ_LIKELY(J->flags & JIT_F_OPT_FOLD)) { | 1604 | if (LJ_LIKELY(J->flags & JIT_F_OPT_FOLD)) { |
1605 | IRIns *ir = fleft; | 1605 | IRIns *ir = fleft; |
1606 | PHIBARRIER(fleft); | 1606 | /* Fold even across PHI to avoid expensive allocations. */ |
1607 | lua_assert(ir->op1 != REF_NIL); | 1607 | lua_assert(ir->op1 != REF_NIL); |
1608 | if (IR(ir->op1)->o == IR_CARG) ir = IR(ir->op1); | 1608 | if (IR(ir->op1)->o == IR_CARG) ir = IR(ir->op1); |
1609 | return fins->op2 == IRFL_CDATA_INIT1 ? ir->op1 : ir->op2; | 1609 | return fins->op2 == IRFL_CDATA_INIT1 ? ir->op1 : ir->op2; |