mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
Add missing guard for check against "#" when recording select().
This commit is contained in:
parent
cc0efd85d6
commit
870bcd7640
@ -207,11 +207,11 @@ int32_t lj_ffrecord_select_mode(jit_State *J, TRef tr, TValue *tv)
|
|||||||
{
|
{
|
||||||
if (tref_isstr(tr) && *strVdata(tv) == '#') { /* select('#', ...) */
|
if (tref_isstr(tr) && *strVdata(tv) == '#') { /* select('#', ...) */
|
||||||
if (strV(tv)->len == 1) {
|
if (strV(tv)->len == 1) {
|
||||||
emitir(IRT(IR_EQ, IRT_STR), tr, lj_ir_kstr(J, strV(tv)));
|
emitir(IRTG(IR_EQ, IRT_STR), tr, lj_ir_kstr(J, strV(tv)));
|
||||||
} else {
|
} else {
|
||||||
TRef trptr = emitir(IRT(IR_STRREF, IRT_P32), tr, 0);
|
TRef trptr = emitir(IRT(IR_STRREF, IRT_P32), tr, 0);
|
||||||
TRef trchar = emitir(IRT(IR_XLOAD, IRT_U8), trptr, IRXLOAD_READONLY);
|
TRef trchar = emitir(IRT(IR_XLOAD, IRT_U8), trptr, IRXLOAD_READONLY);
|
||||||
emitir(IRT(IR_EQ, IRT_INT), trchar, lj_ir_kint(J, '#'));
|
emitir(IRTG(IR_EQ, IRT_INT), trchar, lj_ir_kint(J, '#'));
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
} else { /* select(n, ...) */
|
} else { /* select(n, ...) */
|
||||||
|
Loading…
Reference in New Issue
Block a user