summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2015-02-18 16:00:15 +0100
committerMike Pall <mike>2015-02-18 16:00:15 +0100
commit704280fb80d5320b20f6cd20cfbf009a999164f0 (patch)
tree3c5ebcc776165112e4dd40d979ac3383a554e12b
parentdfa173b92962350ac5f019dd4a340ad1c5c265c7 (diff)
downloadluajit2-704280fb80d5320b20f6cd20cfbf009a999164f0.tar.gz
FFI: Prevent DSE across ffi.string().
-rw-r--r--src/lj_opt_mem.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lj_opt_mem.c b/src/lj_opt_mem.c
index f4e3cd3a..a4d96fc0 100644
--- a/src/lj_opt_mem.c
+++ b/src/lj_opt_mem.c
@@ -793,6 +793,7 @@ TRef LJ_FASTCALL lj_opt_dse_xstore(jit_State *J)
IRRef ref = *refp;
if (J->chain[IR_CALLXS] > lim) lim = J->chain[IR_CALLXS];
if (J->chain[IR_XBAR] > lim) lim = J->chain[IR_XBAR];
+ if (J->chain[IR_XSNEW] > lim) lim = J->chain[IR_XSNEW];
while (ref > lim) { /* Search for redundant or conflicting stores. */
IRIns *store = IR(ref);
switch (aa_xref(J, xr, fins, store)) {