|
@@ -12,7 +12,7 @@
|
|
|
#define DASM_SECTION_CODE_OP 0
|
|
|
#define DASM_SECTION_CODE_SUB 1
|
|
|
#define DASM_MAXSECTION 2
|
|
|
-static const unsigned char build_actionlist[15177] = {
|
|
|
+static const unsigned char build_actionlist[15198] = {
|
|
|
254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141,
|
|
|
76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,
|
|
|
20,252,247,198,237,15,132,244,13,248,14,252,247,198,237,15,132,244,10,199,
|
|
@@ -730,21 +730,22 @@ static const unsigned char build_actionlist[15177] = {
|
|
|
255,141,180,253,134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,
|
|
|
233,139,4,129,139,128,233,139,108,36,48,137,147,233,137,171,233,252,255,224,
|
|
|
255,141,180,253,134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
|
|
|
- 252,255,36,171,255,139,190,233,139,108,36,48,141,12,202,59,141,233,15,135,
|
|
|
- 244,23,15,182,142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,
|
|
|
- 233,245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,
|
|
|
- 233,244,2,255,141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,
|
|
|
- 120,252,248,139,108,36,48,141,12,200,59,141,233,15,135,244,22,137,209,137,
|
|
|
- 194,15,182,174,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,
|
|
|
- 244,249,139,121,252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,
|
|
|
- 252,252,237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,
|
|
|
- 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,248,3,199,64,4,237,
|
|
|
- 131,192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,139,
|
|
|
- 189,233,139,108,36,48,141,68,194,252,248,137,149,233,141,136,233,59,141,233,
|
|
|
- 137,133,233,255,137,44,36,255,137,124,36,4,137,44,36,255,15,135,244,21,199,
|
|
|
- 131,233,237,255,252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,
|
|
|
- 233,141,12,194,252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,
|
|
|
- 0
|
|
|
+ 252,255,36,171,255,137,252,245,209,252,237,129,229,239,102,131,172,253,43,
|
|
|
+ 233,1,15,132,244,142,255,139,190,233,139,108,36,48,141,12,202,59,141,233,
|
|
|
+ 15,135,244,23,15,182,142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,
|
|
|
+ 254,252,233,245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,
|
|
|
+ 244,3,252,233,244,2,255,141,44,197,237,141,4,194,139,122,252,248,137,104,
|
|
|
+ 252,252,137,120,252,248,139,108,36,48,141,12,200,59,141,233,15,135,244,22,
|
|
|
+ 137,209,137,194,15,182,174,233,133,252,237,15,132,244,248,248,1,131,193,8,
|
|
|
+ 57,209,15,131,244,249,139,121,252,248,137,56,139,121,252,252,137,120,4,131,
|
|
|
+ 192,8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,
|
|
|
+ 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,248,3,
|
|
|
+ 199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,
|
|
|
+ 252,248,139,189,233,139,108,36,48,141,68,194,252,248,137,149,233,141,136,
|
|
|
+ 233,59,141,233,137,133,233,255,137,44,36,255,137,124,36,4,137,44,36,255,15,
|
|
|
+ 135,244,21,199,131,233,237,255,252,255,215,255,252,255,147,233,255,199,131,
|
|
|
+ 233,237,139,149,233,141,12,194,252,247,217,3,141,233,139,114,252,252,252,
|
|
|
+ 233,244,12,255,254,0
|
|
|
};
|
|
|
|
|
|
enum {
|
|
@@ -2278,6 +2279,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
|
|
|
|
|
|
case BC_FUNCF:
|
|
|
#if LJ_HASJIT
|
|
|
+ dasm_put(Dst, 14895, HOTCOUNT_PCMASK, GG_DISP2HOT);
|
|
|
#endif
|
|
|
case BC_FUNCV: /* NYI: compiled vararg functions. */
|
|
|
break;
|
|
@@ -2287,13 +2289,13 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
|
|
|
break;
|
|
|
#endif
|
|
|
case BC_IFUNCF:
|
|
|
- dasm_put(Dst, 14895, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
|
|
|
+ dasm_put(Dst, 14916, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
|
|
|
if (op == BC_JFUNCF) {
|
|
|
- dasm_put(Dst, 14925, BC_JLOOP);
|
|
|
+ dasm_put(Dst, 14946, BC_JLOOP);
|
|
|
} else {
|
|
|
dasm_put(Dst, 10814);
|
|
|
}
|
|
|
- dasm_put(Dst, 14934, LJ_TNIL);
|
|
|
+ dasm_put(Dst, 14955, LJ_TNIL);
|
|
|
break;
|
|
|
|
|
|
case BC_JFUNCV:
|
|
@@ -2304,30 +2306,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
|
|
|
break; /* NYI: compiled vararg functions. */
|
|
|
|
|
|
case BC_IFUNCV:
|
|
|
- dasm_put(Dst, 14956, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
|
|
|
+ dasm_put(Dst, 14977, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
|
|
|
if (op == BC_JFUNCV) {
|
|
|
- dasm_put(Dst, 14925, BC_JLOOP);
|
|
|
+ dasm_put(Dst, 14946, BC_JLOOP);
|
|
|
} else {
|
|
|
- dasm_put(Dst, 15047, -4+PC2PROTO(k));
|
|
|
+ dasm_put(Dst, 15068, -4+PC2PROTO(k));
|
|
|
}
|
|
|
- dasm_put(Dst, 15069, LJ_TNIL);
|
|
|
+ dasm_put(Dst, 15090, LJ_TNIL);
|
|
|
break;
|
|
|
|
|
|
case BC_FUNCC:
|
|
|
case BC_FUNCCW:
|
|
|
- dasm_put(Dst, 15091, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
|
|
|
+ dasm_put(Dst, 15112, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
|
|
|
if (op == BC_FUNCC) {
|
|
|
- dasm_put(Dst, 15120);
|
|
|
+ dasm_put(Dst, 15141);
|
|
|
} else {
|
|
|
- dasm_put(Dst, 15124);
|
|
|
+ dasm_put(Dst, 15145);
|
|
|
}
|
|
|
- dasm_put(Dst, 15132, DISPATCH_GL(vmstate), ~LJ_VMST_C);
|
|
|
+ dasm_put(Dst, 15153, DISPATCH_GL(vmstate), ~LJ_VMST_C);
|
|
|
if (op == BC_FUNCC) {
|
|
|
- dasm_put(Dst, 15141);
|
|
|
+ dasm_put(Dst, 15162);
|
|
|
} else {
|
|
|
- dasm_put(Dst, 15145, DISPATCH_GL(wrapf));
|
|
|
+ dasm_put(Dst, 15166, DISPATCH_GL(wrapf));
|
|
|
}
|
|
|
- dasm_put(Dst, 15150, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
|
|
|
+ dasm_put(Dst, 15171, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
|
|
|
break;
|
|
|
|
|
|
/* ---------------------------------------------------------------------- */
|
|
@@ -2355,7 +2357,7 @@ static int build_backend(BuildCtx *ctx)
|
|
|
|
|
|
build_subroutines(ctx, cmov, sse);
|
|
|
|
|
|
- dasm_put(Dst, 15175);
|
|
|
+ dasm_put(Dst, 15196);
|
|
|
for (op = 0; op < BC__MAX; op++)
|
|
|
build_ins(ctx, (BCOp)op, op, cmov, sse);
|
|
|
|