summaryrefslogtreecommitdiff
path: root/src/lj_opt_fold.c
diff options
context:
space:
mode:
authorMike Pall <mike>2011-02-28 19:46:55 +0100
committerMike Pall <mike>2011-02-28 19:47:51 +0100
commite1aa8d0d9772aad198483cf9ac2794895ff07558 (patch)
treedc8aa9c65f2580e0c2b5918cafd82be10298dd9e /src/lj_opt_fold.c
parent83a37aeca74724ef76dee7c8246bdbb88132940d (diff)
downloadluajit-e1aa8d0d9772aad198483cf9ac2794895ff07558.tar.gz
luajit-e1aa8d0d9772aad198483cf9ac2794895ff07558.tar.bz2
luajit-e1aa8d0d9772aad198483cf9ac2794895ff07558.zip
FFI: Fix compiled ffi.string() semantics.
Diffstat (limited to 'src/lj_opt_fold.c')
-rw-r--r--src/lj_opt_fold.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c
index e5ed7ade..e7a1ca54 100644
--- a/src/lj_opt_fold.c
+++ b/src/lj_opt_fold.c
@@ -153,7 +153,8 @@ typedef IRRef (LJ_FASTCALL *FoldFunc)(jit_State *J);
153*/ 153*/
154#define gcstep_barrier(J, ref) \ 154#define gcstep_barrier(J, ref) \
155 ((ref) < J->chain[IR_LOOP] && \ 155 ((ref) < J->chain[IR_LOOP] && \
156 (J->chain[IR_SNEW] || J->chain[IR_TNEW] || J->chain[IR_TDUP] || \ 156 (J->chain[IR_SNEW] || J->chain[IR_XSNEW] || \
157 J->chain[IR_TNEW] || J->chain[IR_TDUP] || \
157 J->chain[IR_CNEW] || J->chain[IR_CNEWI] || J->chain[IR_TOSTR])) 158 J->chain[IR_CNEW] || J->chain[IR_CNEWI] || J->chain[IR_TOSTR]))
158 159
159/* -- Constant folding for FP numbers ------------------------------------- */ 160/* -- Constant folding for FP numbers ------------------------------------- */
@@ -445,7 +446,7 @@ LJFOLD(SNEW any KINT)
445LJFOLDF(kfold_snew_empty) 446LJFOLDF(kfold_snew_empty)
446{ 447{
447 if (fright->i == 0) 448 if (fright->i == 0)
448 return lj_ir_kstr(J, lj_str_new(J->L, "", 0)); 449 return lj_ir_kstr(J, &J2G(J)->strempty);
449 return NEXTFOLD; 450 return NEXTFOLD;
450} 451}
451 452
@@ -1900,6 +1901,7 @@ LJFOLD(RETF any any) /* Modifies BASE. */
1900LJFOLD(TNEW any any) 1901LJFOLD(TNEW any any)
1901LJFOLD(TDUP any) 1902LJFOLD(TDUP any)
1902LJFOLD(CNEW any any) 1903LJFOLD(CNEW any any)
1904LJFOLD(XSNEW any any)
1903LJFOLDX(lj_ir_emit) 1905LJFOLDX(lj_ir_emit)
1904 1906
1905/* ------------------------------------------------------------------------ */ 1907/* ------------------------------------------------------------------------ */