diff options
author | Mike Pall <mike> | 2011-02-28 19:46:55 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2011-02-28 19:47:51 +0100 |
commit | e1aa8d0d9772aad198483cf9ac2794895ff07558 (patch) | |
tree | dc8aa9c65f2580e0c2b5918cafd82be10298dd9e /src/lj_opt_fold.c | |
parent | 83a37aeca74724ef76dee7c8246bdbb88132940d (diff) | |
download | luajit-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.c | 6 |
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) | |||
445 | LJFOLDF(kfold_snew_empty) | 446 | LJFOLDF(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. */ | |||
1900 | LJFOLD(TNEW any any) | 1901 | LJFOLD(TNEW any any) |
1901 | LJFOLD(TDUP any) | 1902 | LJFOLD(TDUP any) |
1902 | LJFOLD(CNEW any any) | 1903 | LJFOLD(CNEW any any) |
1904 | LJFOLD(XSNEW any any) | ||
1903 | LJFOLDX(lj_ir_emit) | 1905 | LJFOLDX(lj_ir_emit) |
1904 | 1906 | ||
1905 | /* ------------------------------------------------------------------------ */ | 1907 | /* ------------------------------------------------------------------------ */ |