aboutsummaryrefslogtreecommitdiff
path: root/src
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 /src
parentdfa173b92962350ac5f019dd4a340ad1c5c265c7 (diff)
downloadluajit-704280fb80d5320b20f6cd20cfbf009a999164f0.tar.gz
luajit-704280fb80d5320b20f6cd20cfbf009a999164f0.tar.bz2
luajit-704280fb80d5320b20f6cd20cfbf009a999164f0.zip
FFI: Prevent DSE across ffi.string().
Diffstat (limited to 'src')
-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)
793 IRRef ref = *refp; 793 IRRef ref = *refp;
794 if (J->chain[IR_CALLXS] > lim) lim = J->chain[IR_CALLXS]; 794 if (J->chain[IR_CALLXS] > lim) lim = J->chain[IR_CALLXS];
795 if (J->chain[IR_XBAR] > lim) lim = J->chain[IR_XBAR]; 795 if (J->chain[IR_XBAR] > lim) lim = J->chain[IR_XBAR];
796 if (J->chain[IR_XSNEW] > lim) lim = J->chain[IR_XSNEW];
796 while (ref > lim) { /* Search for redundant or conflicting stores. */ 797 while (ref > lim) { /* Search for redundant or conflicting stores. */
797 IRIns *store = IR(ref); 798 IRIns *store = IR(ref);
798 switch (aa_xref(J, xr, fins, store)) { 799 switch (aa_xref(J, xr, fins, store)) {