diff options
author | Mike Pall <mike> | 2010-12-09 22:35:49 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-12-09 22:35:49 +0100 |
commit | 870bcd76405a4b695055a422c8a83956ae7afa7c (patch) | |
tree | c990c34786a24c1791a0729f05816292c44afeb7 | |
parent | cc0efd85d670f3804aeda057420798045d8d5b74 (diff) | |
download | luajit-870bcd76405a4b695055a422c8a83956ae7afa7c.tar.gz luajit-870bcd76405a4b695055a422c8a83956ae7afa7c.tar.bz2 luajit-870bcd76405a4b695055a422c8a83956ae7afa7c.zip |
Add missing guard for check against "#" when recording select().
-rw-r--r-- | src/lj_ffrecord.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_ffrecord.c b/src/lj_ffrecord.c index 0fb48504..e2f8a39f 100644 --- a/src/lj_ffrecord.c +++ b/src/lj_ffrecord.c | |||
@@ -207,11 +207,11 @@ int32_t lj_ffrecord_select_mode(jit_State *J, TRef tr, TValue *tv) | |||
207 | { | 207 | { |
208 | if (tref_isstr(tr) && *strVdata(tv) == '#') { /* select('#', ...) */ | 208 | if (tref_isstr(tr) && *strVdata(tv) == '#') { /* select('#', ...) */ |
209 | if (strV(tv)->len == 1) { | 209 | if (strV(tv)->len == 1) { |
210 | emitir(IRT(IR_EQ, IRT_STR), tr, lj_ir_kstr(J, strV(tv))); | 210 | emitir(IRTG(IR_EQ, IRT_STR), tr, lj_ir_kstr(J, strV(tv))); |
211 | } else { | 211 | } else { |
212 | TRef trptr = emitir(IRT(IR_STRREF, IRT_P32), tr, 0); | 212 | TRef trptr = emitir(IRT(IR_STRREF, IRT_P32), tr, 0); |
213 | TRef trchar = emitir(IRT(IR_XLOAD, IRT_U8), trptr, IRXLOAD_READONLY); | 213 | TRef trchar = emitir(IRT(IR_XLOAD, IRT_U8), trptr, IRXLOAD_READONLY); |
214 | emitir(IRT(IR_EQ, IRT_INT), trchar, lj_ir_kint(J, '#')); | 214 | emitir(IRTG(IR_EQ, IRT_INT), trchar, lj_ir_kint(J, '#')); |
215 | } | 215 | } |
216 | return 0; | 216 | return 0; |
217 | } else { /* select(n, ...) */ | 217 | } else { /* select(n, ...) */ |