diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lj_record.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lj_record.c b/src/lj_record.c index 90f53af3..d6dd73bc 100644 --- a/src/lj_record.c +++ b/src/lj_record.c | |||
| @@ -1693,8 +1693,11 @@ static int select_detect(jit_State *J) | |||
| 1693 | BCIns ins = J->pc[1]; | 1693 | BCIns ins = J->pc[1]; |
| 1694 | if (bc_op(ins) == BC_CALLM && bc_b(ins) == 2 && bc_c(ins) == 1) { | 1694 | if (bc_op(ins) == BC_CALLM && bc_b(ins) == 2 && bc_c(ins) == 1) { |
| 1695 | cTValue *func = &J->L->base[bc_a(ins)]; | 1695 | cTValue *func = &J->L->base[bc_a(ins)]; |
| 1696 | if (tvisfunc(func) && funcV(func)->c.ffid == FF_select) | 1696 | if (tvisfunc(func) && funcV(func)->c.ffid == FF_select) { |
| 1697 | TRef kfunc = lj_ir_kfunc(J, funcV(func)); | ||
| 1698 | emitir(IRTG(IR_EQ, IRT_FUNC), getslot(J, bc_a(ins)), kfunc); | ||
| 1697 | return 1; | 1699 | return 1; |
| 1700 | } | ||
| 1698 | } | 1701 | } |
| 1699 | return 0; | 1702 | return 0; |
| 1700 | } | 1703 | } |
