Merge branch 'master' into v2.1
This commit is contained in:
@@ -2142,9 +2142,12 @@ static void asm_setup_regsp(ASMState *as)
|
||||
if (ir->op2 != REF_NIL && as->evenspill < 4)
|
||||
as->evenspill = 4; /* lj_cdata_newv needs 4 args. */
|
||||
}
|
||||
/* fallthrough */
|
||||
#else
|
||||
/* fallthrough */
|
||||
case IR_CNEW:
|
||||
#endif
|
||||
/* fallthrough */
|
||||
case IR_TNEW: case IR_TDUP: case IR_CNEWI: case IR_TOSTR:
|
||||
case IR_BUFSTR:
|
||||
ir->prev = REGSP_HINT(RID_RET);
|
||||
@@ -2165,6 +2168,7 @@ static void asm_setup_regsp(ASMState *as)
|
||||
case IR_LDEXP:
|
||||
#endif
|
||||
#endif
|
||||
/* fallthrough */
|
||||
case IR_POW:
|
||||
if (!LJ_SOFTFP && irt_isnum(ir->t)) {
|
||||
if (inloop)
|
||||
@@ -2176,7 +2180,7 @@ static void asm_setup_regsp(ASMState *as)
|
||||
continue;
|
||||
#endif
|
||||
}
|
||||
/* fallthrough for integer POW */
|
||||
/* fallthrough */ /* for integer POW */
|
||||
case IR_DIV: case IR_MOD:
|
||||
if (!irt_isnum(ir->t)) {
|
||||
ir->prev = REGSP_HINT(RID_RET);
|
||||
@@ -2213,6 +2217,7 @@ static void asm_setup_regsp(ASMState *as)
|
||||
case IR_BSHL: case IR_BSHR: case IR_BSAR:
|
||||
if ((as->flags & JIT_F_BMI2)) /* Except if BMI2 is available. */
|
||||
break;
|
||||
/* fallthrough */
|
||||
case IR_BROL: case IR_BROR:
|
||||
if (!irref_isk(ir->op2) && !ra_hashint(IR(ir->op2)->r)) {
|
||||
IR(ir->op2)->r = REGSP_HINT(RID_ECX);
|
||||
|
||||
@@ -576,28 +576,34 @@ static void cp_expr_infix(CPState *cp, CPValue *k, int pri)
|
||||
k->id = k2.id > k3.id ? k2.id : k3.id;
|
||||
continue;
|
||||
}
|
||||
/* fallthrough */
|
||||
case 1:
|
||||
if (cp_opt(cp, CTOK_OROR)) {
|
||||
cp_expr_sub(cp, &k2, 2); k->i32 = k->u32 || k2.u32; k->id = CTID_INT32;
|
||||
continue;
|
||||
}
|
||||
/* fallthrough */
|
||||
case 2:
|
||||
if (cp_opt(cp, CTOK_ANDAND)) {
|
||||
cp_expr_sub(cp, &k2, 3); k->i32 = k->u32 && k2.u32; k->id = CTID_INT32;
|
||||
continue;
|
||||
}
|
||||
/* fallthrough */
|
||||
case 3:
|
||||
if (cp_opt(cp, '|')) {
|
||||
cp_expr_sub(cp, &k2, 4); k->u32 = k->u32 | k2.u32; goto arith_result;
|
||||
}
|
||||
/* fallthrough */
|
||||
case 4:
|
||||
if (cp_opt(cp, '^')) {
|
||||
cp_expr_sub(cp, &k2, 5); k->u32 = k->u32 ^ k2.u32; goto arith_result;
|
||||
}
|
||||
/* fallthrough */
|
||||
case 5:
|
||||
if (cp_opt(cp, '&')) {
|
||||
cp_expr_sub(cp, &k2, 6); k->u32 = k->u32 & k2.u32; goto arith_result;
|
||||
}
|
||||
/* fallthrough */
|
||||
case 6:
|
||||
if (cp_opt(cp, CTOK_EQ)) {
|
||||
cp_expr_sub(cp, &k2, 7); k->i32 = k->u32 == k2.u32; k->id = CTID_INT32;
|
||||
@@ -606,6 +612,7 @@ static void cp_expr_infix(CPState *cp, CPValue *k, int pri)
|
||||
cp_expr_sub(cp, &k2, 7); k->i32 = k->u32 != k2.u32; k->id = CTID_INT32;
|
||||
continue;
|
||||
}
|
||||
/* fallthrough */
|
||||
case 7:
|
||||
if (cp_opt(cp, '<')) {
|
||||
cp_expr_sub(cp, &k2, 8);
|
||||
@@ -640,6 +647,7 @@ static void cp_expr_infix(CPState *cp, CPValue *k, int pri)
|
||||
k->id = CTID_INT32;
|
||||
continue;
|
||||
}
|
||||
/* fallthrough */
|
||||
case 8:
|
||||
if (cp_opt(cp, CTOK_SHL)) {
|
||||
cp_expr_sub(cp, &k2, 9); k->u32 = k->u32 << k2.u32;
|
||||
@@ -652,6 +660,7 @@ static void cp_expr_infix(CPState *cp, CPValue *k, int pri)
|
||||
k->u32 = k->u32 >> k2.u32;
|
||||
continue;
|
||||
}
|
||||
/* fallthrough */
|
||||
case 9:
|
||||
if (cp_opt(cp, '+')) {
|
||||
cp_expr_sub(cp, &k2, 10); k->u32 = k->u32 + k2.u32;
|
||||
@@ -661,6 +670,7 @@ static void cp_expr_infix(CPState *cp, CPValue *k, int pri)
|
||||
} else if (cp_opt(cp, '-')) {
|
||||
cp_expr_sub(cp, &k2, 10); k->u32 = k->u32 - k2.u32; goto arith_result;
|
||||
}
|
||||
/* fallthrough */
|
||||
case 10:
|
||||
if (cp_opt(cp, '*')) {
|
||||
cp_expr_unary(cp, &k2); k->u32 = k->u32 * k2.u32; goto arith_result;
|
||||
|
||||
@@ -150,6 +150,7 @@ static void *err_unwind(lua_State *L, void *stopcf, int errcode)
|
||||
case FRAME_CONT: /* Continuation frame. */
|
||||
if (frame_iscont_fficb(frame))
|
||||
goto unwind_c;
|
||||
/* fallthrough */
|
||||
case FRAME_VARG: /* Vararg frame. */
|
||||
frame = frame_prevd(frame);
|
||||
break;
|
||||
|
||||
@@ -100,8 +100,8 @@ static void sink_mark_ins(jit_State *J)
|
||||
(LJ_32 && ir+1 < irlast && (ir+1)->o == IR_HIOP &&
|
||||
!sink_checkphi(J, ir, (ir+1)->op2))))
|
||||
irt_setmark(ir->t); /* Mark ineligible allocation. */
|
||||
/* fallthrough */
|
||||
#endif
|
||||
/* fallthrough */
|
||||
case IR_USTORE:
|
||||
irt_setmark(IR(ir->op2)->t); /* Mark stored value. */
|
||||
break;
|
||||
|
||||
@@ -2667,7 +2667,8 @@ static int parse_stmt(LexState *ls)
|
||||
lj_lex_next(ls);
|
||||
parse_goto(ls);
|
||||
break;
|
||||
} /* else: fallthrough */
|
||||
}
|
||||
/* fallthrough */
|
||||
default:
|
||||
parse_call_assign(ls);
|
||||
break;
|
||||
|
||||
@@ -421,6 +421,7 @@ static int collectargs(char **argv, int *flags)
|
||||
break;
|
||||
case 'e':
|
||||
*flags |= FLAGS_EXEC;
|
||||
/* fallthrough */
|
||||
case 'j': /* LuaJIT extension */
|
||||
case 'l':
|
||||
*flags |= FLAGS_OPTION;
|
||||
|
||||
Reference in New Issue
Block a user