diff options
author | Mike Pall <mike> | 2018-01-29 13:19:30 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2018-01-29 13:19:30 +0100 |
commit | 0bf46e1edf94c43795b5e491efe682ab70974ce7 (patch) | |
tree | 5e96ce2da5161ebd49fb564fe5aa73805b3391b7 /src | |
parent | 74c544d68c07bcd416225598cdf15f88e62fd457 (diff) | |
parent | d4ee80342770d1281e2ce877f8ae8ab1d99e6528 (diff) | |
download | luajit-0bf46e1edf94c43795b5e491efe682ab70974ce7.tar.gz luajit-0bf46e1edf94c43795b5e491efe682ab70974ce7.tar.bz2 luajit-0bf46e1edf94c43795b5e491efe682ab70974ce7.zip |
Merge branch 'master' into v2.1
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_asm.c | 7 | ||||
-rw-r--r-- | src/lj_cparse.c | 10 | ||||
-rw-r--r-- | src/lj_err.c | 1 | ||||
-rw-r--r-- | src/lj_opt_sink.c | 2 | ||||
-rw-r--r-- | src/lj_parse.c | 3 | ||||
-rw-r--r-- | src/luajit.c | 1 |
6 files changed, 21 insertions, 3 deletions
diff --git a/src/lj_asm.c b/src/lj_asm.c index 5f83779e..992dcf59 100644 --- a/src/lj_asm.c +++ b/src/lj_asm.c | |||
@@ -2142,9 +2142,12 @@ static void asm_setup_regsp(ASMState *as) | |||
2142 | if (ir->op2 != REF_NIL && as->evenspill < 4) | 2142 | if (ir->op2 != REF_NIL && as->evenspill < 4) |
2143 | as->evenspill = 4; /* lj_cdata_newv needs 4 args. */ | 2143 | as->evenspill = 4; /* lj_cdata_newv needs 4 args. */ |
2144 | } | 2144 | } |
2145 | /* fallthrough */ | ||
2145 | #else | 2146 | #else |
2147 | /* fallthrough */ | ||
2146 | case IR_CNEW: | 2148 | case IR_CNEW: |
2147 | #endif | 2149 | #endif |
2150 | /* fallthrough */ | ||
2148 | case IR_TNEW: case IR_TDUP: case IR_CNEWI: case IR_TOSTR: | 2151 | case IR_TNEW: case IR_TDUP: case IR_CNEWI: case IR_TOSTR: |
2149 | case IR_BUFSTR: | 2152 | case IR_BUFSTR: |
2150 | ir->prev = REGSP_HINT(RID_RET); | 2153 | ir->prev = REGSP_HINT(RID_RET); |
@@ -2165,6 +2168,7 @@ static void asm_setup_regsp(ASMState *as) | |||
2165 | case IR_LDEXP: | 2168 | case IR_LDEXP: |
2166 | #endif | 2169 | #endif |
2167 | #endif | 2170 | #endif |
2171 | /* fallthrough */ | ||
2168 | case IR_POW: | 2172 | case IR_POW: |
2169 | if (!LJ_SOFTFP && irt_isnum(ir->t)) { | 2173 | if (!LJ_SOFTFP && irt_isnum(ir->t)) { |
2170 | if (inloop) | 2174 | if (inloop) |
@@ -2176,7 +2180,7 @@ static void asm_setup_regsp(ASMState *as) | |||
2176 | continue; | 2180 | continue; |
2177 | #endif | 2181 | #endif |
2178 | } | 2182 | } |
2179 | /* fallthrough for integer POW */ | 2183 | /* fallthrough */ /* for integer POW */ |
2180 | case IR_DIV: case IR_MOD: | 2184 | case IR_DIV: case IR_MOD: |
2181 | if (!irt_isnum(ir->t)) { | 2185 | if (!irt_isnum(ir->t)) { |
2182 | ir->prev = REGSP_HINT(RID_RET); | 2186 | ir->prev = REGSP_HINT(RID_RET); |
@@ -2213,6 +2217,7 @@ static void asm_setup_regsp(ASMState *as) | |||
2213 | case IR_BSHL: case IR_BSHR: case IR_BSAR: | 2217 | case IR_BSHL: case IR_BSHR: case IR_BSAR: |
2214 | if ((as->flags & JIT_F_BMI2)) /* Except if BMI2 is available. */ | 2218 | if ((as->flags & JIT_F_BMI2)) /* Except if BMI2 is available. */ |
2215 | break; | 2219 | break; |
2220 | /* fallthrough */ | ||
2216 | case IR_BROL: case IR_BROR: | 2221 | case IR_BROL: case IR_BROR: |
2217 | if (!irref_isk(ir->op2) && !ra_hashint(IR(ir->op2)->r)) { | 2222 | if (!irref_isk(ir->op2) && !ra_hashint(IR(ir->op2)->r)) { |
2218 | IR(ir->op2)->r = REGSP_HINT(RID_ECX); | 2223 | IR(ir->op2)->r = REGSP_HINT(RID_ECX); |
diff --git a/src/lj_cparse.c b/src/lj_cparse.c index 83cfd112..19f632ff 100644 --- a/src/lj_cparse.c +++ b/src/lj_cparse.c | |||
@@ -576,28 +576,34 @@ static void cp_expr_infix(CPState *cp, CPValue *k, int pri) | |||
576 | k->id = k2.id > k3.id ? k2.id : k3.id; | 576 | k->id = k2.id > k3.id ? k2.id : k3.id; |
577 | continue; | 577 | continue; |
578 | } | 578 | } |
579 | /* fallthrough */ | ||
579 | case 1: | 580 | case 1: |
580 | if (cp_opt(cp, CTOK_OROR)) { | 581 | if (cp_opt(cp, CTOK_OROR)) { |
581 | cp_expr_sub(cp, &k2, 2); k->i32 = k->u32 || k2.u32; k->id = CTID_INT32; | 582 | cp_expr_sub(cp, &k2, 2); k->i32 = k->u32 || k2.u32; k->id = CTID_INT32; |
582 | continue; | 583 | continue; |
583 | } | 584 | } |
585 | /* fallthrough */ | ||
584 | case 2: | 586 | case 2: |
585 | if (cp_opt(cp, CTOK_ANDAND)) { | 587 | if (cp_opt(cp, CTOK_ANDAND)) { |
586 | cp_expr_sub(cp, &k2, 3); k->i32 = k->u32 && k2.u32; k->id = CTID_INT32; | 588 | cp_expr_sub(cp, &k2, 3); k->i32 = k->u32 && k2.u32; k->id = CTID_INT32; |
587 | continue; | 589 | continue; |
588 | } | 590 | } |
591 | /* fallthrough */ | ||
589 | case 3: | 592 | case 3: |
590 | if (cp_opt(cp, '|')) { | 593 | if (cp_opt(cp, '|')) { |
591 | cp_expr_sub(cp, &k2, 4); k->u32 = k->u32 | k2.u32; goto arith_result; | 594 | cp_expr_sub(cp, &k2, 4); k->u32 = k->u32 | k2.u32; goto arith_result; |
592 | } | 595 | } |
596 | /* fallthrough */ | ||
593 | case 4: | 597 | case 4: |
594 | if (cp_opt(cp, '^')) { | 598 | if (cp_opt(cp, '^')) { |
595 | cp_expr_sub(cp, &k2, 5); k->u32 = k->u32 ^ k2.u32; goto arith_result; | 599 | cp_expr_sub(cp, &k2, 5); k->u32 = k->u32 ^ k2.u32; goto arith_result; |
596 | } | 600 | } |
601 | /* fallthrough */ | ||
597 | case 5: | 602 | case 5: |
598 | if (cp_opt(cp, '&')) { | 603 | if (cp_opt(cp, '&')) { |
599 | cp_expr_sub(cp, &k2, 6); k->u32 = k->u32 & k2.u32; goto arith_result; | 604 | cp_expr_sub(cp, &k2, 6); k->u32 = k->u32 & k2.u32; goto arith_result; |
600 | } | 605 | } |
606 | /* fallthrough */ | ||
601 | case 6: | 607 | case 6: |
602 | if (cp_opt(cp, CTOK_EQ)) { | 608 | if (cp_opt(cp, CTOK_EQ)) { |
603 | cp_expr_sub(cp, &k2, 7); k->i32 = k->u32 == k2.u32; k->id = CTID_INT32; | 609 | 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) | |||
606 | cp_expr_sub(cp, &k2, 7); k->i32 = k->u32 != k2.u32; k->id = CTID_INT32; | 612 | cp_expr_sub(cp, &k2, 7); k->i32 = k->u32 != k2.u32; k->id = CTID_INT32; |
607 | continue; | 613 | continue; |
608 | } | 614 | } |
615 | /* fallthrough */ | ||
609 | case 7: | 616 | case 7: |
610 | if (cp_opt(cp, '<')) { | 617 | if (cp_opt(cp, '<')) { |
611 | cp_expr_sub(cp, &k2, 8); | 618 | cp_expr_sub(cp, &k2, 8); |
@@ -640,6 +647,7 @@ static void cp_expr_infix(CPState *cp, CPValue *k, int pri) | |||
640 | k->id = CTID_INT32; | 647 | k->id = CTID_INT32; |
641 | continue; | 648 | continue; |
642 | } | 649 | } |
650 | /* fallthrough */ | ||
643 | case 8: | 651 | case 8: |
644 | if (cp_opt(cp, CTOK_SHL)) { | 652 | if (cp_opt(cp, CTOK_SHL)) { |
645 | cp_expr_sub(cp, &k2, 9); k->u32 = k->u32 << k2.u32; | 653 | 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) | |||
652 | k->u32 = k->u32 >> k2.u32; | 660 | k->u32 = k->u32 >> k2.u32; |
653 | continue; | 661 | continue; |
654 | } | 662 | } |
663 | /* fallthrough */ | ||
655 | case 9: | 664 | case 9: |
656 | if (cp_opt(cp, '+')) { | 665 | if (cp_opt(cp, '+')) { |
657 | cp_expr_sub(cp, &k2, 10); k->u32 = k->u32 + k2.u32; | 666 | 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) | |||
661 | } else if (cp_opt(cp, '-')) { | 670 | } else if (cp_opt(cp, '-')) { |
662 | cp_expr_sub(cp, &k2, 10); k->u32 = k->u32 - k2.u32; goto arith_result; | 671 | cp_expr_sub(cp, &k2, 10); k->u32 = k->u32 - k2.u32; goto arith_result; |
663 | } | 672 | } |
673 | /* fallthrough */ | ||
664 | case 10: | 674 | case 10: |
665 | if (cp_opt(cp, '*')) { | 675 | if (cp_opt(cp, '*')) { |
666 | cp_expr_unary(cp, &k2); k->u32 = k->u32 * k2.u32; goto arith_result; | 676 | cp_expr_unary(cp, &k2); k->u32 = k->u32 * k2.u32; goto arith_result; |
diff --git a/src/lj_err.c b/src/lj_err.c index b6be357e..abf176e5 100644 --- a/src/lj_err.c +++ b/src/lj_err.c | |||
@@ -150,6 +150,7 @@ static void *err_unwind(lua_State *L, void *stopcf, int errcode) | |||
150 | case FRAME_CONT: /* Continuation frame. */ | 150 | case FRAME_CONT: /* Continuation frame. */ |
151 | if (frame_iscont_fficb(frame)) | 151 | if (frame_iscont_fficb(frame)) |
152 | goto unwind_c; | 152 | goto unwind_c; |
153 | /* fallthrough */ | ||
153 | case FRAME_VARG: /* Vararg frame. */ | 154 | case FRAME_VARG: /* Vararg frame. */ |
154 | frame = frame_prevd(frame); | 155 | frame = frame_prevd(frame); |
155 | break; | 156 | break; |
diff --git a/src/lj_opt_sink.c b/src/lj_opt_sink.c index a16d112f..c16363e7 100644 --- a/src/lj_opt_sink.c +++ b/src/lj_opt_sink.c | |||
@@ -100,8 +100,8 @@ static void sink_mark_ins(jit_State *J) | |||
100 | (LJ_32 && ir+1 < irlast && (ir+1)->o == IR_HIOP && | 100 | (LJ_32 && ir+1 < irlast && (ir+1)->o == IR_HIOP && |
101 | !sink_checkphi(J, ir, (ir+1)->op2)))) | 101 | !sink_checkphi(J, ir, (ir+1)->op2)))) |
102 | irt_setmark(ir->t); /* Mark ineligible allocation. */ | 102 | irt_setmark(ir->t); /* Mark ineligible allocation. */ |
103 | /* fallthrough */ | ||
104 | #endif | 103 | #endif |
104 | /* fallthrough */ | ||
105 | case IR_USTORE: | 105 | case IR_USTORE: |
106 | irt_setmark(IR(ir->op2)->t); /* Mark stored value. */ | 106 | irt_setmark(IR(ir->op2)->t); /* Mark stored value. */ |
107 | break; | 107 | break; |
diff --git a/src/lj_parse.c b/src/lj_parse.c index 08f7cfa6..c8efafad 100644 --- a/src/lj_parse.c +++ b/src/lj_parse.c | |||
@@ -2667,7 +2667,8 @@ static int parse_stmt(LexState *ls) | |||
2667 | lj_lex_next(ls); | 2667 | lj_lex_next(ls); |
2668 | parse_goto(ls); | 2668 | parse_goto(ls); |
2669 | break; | 2669 | break; |
2670 | } /* else: fallthrough */ | 2670 | } |
2671 | /* fallthrough */ | ||
2671 | default: | 2672 | default: |
2672 | parse_call_assign(ls); | 2673 | parse_call_assign(ls); |
2673 | break; | 2674 | break; |
diff --git a/src/luajit.c b/src/luajit.c index 1ca24301..3a3ec247 100644 --- a/src/luajit.c +++ b/src/luajit.c | |||
@@ -421,6 +421,7 @@ static int collectargs(char **argv, int *flags) | |||
421 | break; | 421 | break; |
422 | case 'e': | 422 | case 'e': |
423 | *flags |= FLAGS_EXEC; | 423 | *flags |= FLAGS_EXEC; |
424 | /* fallthrough */ | ||
424 | case 'j': /* LuaJIT extension */ | 425 | case 'j': /* LuaJIT extension */ |
425 | case 'l': | 426 | case 'l': |
426 | *flags |= FLAGS_OPTION; | 427 | *flags |= FLAGS_OPTION; |