lj_bcdef.h
lj_ccall.o: lj_ccall.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \
lj_gc.h lj_err.h lj_errmsg.h lj_str.h lj_ctype.h lj_cconv.h lj_cdata.h \
- lj_ccall.h
+ lj_ccall.h lj_trace.h lj_jit.h lj_ir.h lj_dispatch.h lj_bc.h \
+ lj_traceerr.h
lj_cconv.o: lj_cconv.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \
lj_err.h lj_errmsg.h lj_tab.h lj_ctype.h lj_gc.h lj_cdata.h lj_cconv.h
lj_cdata.o: lj_cdata.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \
#define DASM_SECTION_CODE_OP 0
#define DASM_SECTION_CODE_SUB 1
#define DASM_MAXSECTION 2
-static const unsigned char build_actionlist[14436] = {
+static const unsigned char build_actionlist[14438] = {
254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141,
76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4,
252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133,
248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,
244,248,217,201,248,2,221,216,195,255,248,155,137,252,248,83,15,162,137,6,
137,94,4,137,78,8,137,86,12,91,195,248,156,255,85,72,137,229,83,72,137,252,
- 251,139,131,233,72,41,196,15,182,139,233,131,252,233,1,15,136,244,248,248,
- 1,72,139,132,253,203,233,72,137,132,253,204,233,131,252,233,1,15,137,244,
- 1,248,2,15,182,131,233,72,139,187,233,72,139,179,233,72,139,147,233,72,139,
- 139,233,76,139,131,233,76,139,139,233,133,192,15,132,244,251,15,40,131,233,
- 255,15,40,139,233,15,40,147,233,15,40,155,233,131,252,248,4,15,134,244,251,
- 15,40,163,233,15,40,171,233,15,40,179,233,15,40,187,233,248,5,252,255,147,
- 233,72,137,131,233,15,41,131,233,72,137,147,233,15,41,139,233,72,139,93,252,
- 248,201,195,255,129,124,253,202,4,239,15,135,244,41,129,124,253,194,4,239,
- 15,135,244,41,255,252,242,15,16,4,194,131,195,4,102,15,46,4,202,255,221,4,
- 202,221,4,194,131,195,4,255,223,252,233,221,216,255,218,252,233,223,224,158,
- 255,15,134,244,248,255,15,131,244,248,255,248,1,15,183,67,252,254,141,156,
- 253,131,233,248,2,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
- 255,36,252,238,255,139,108,194,4,131,195,4,129,252,253,239,15,135,244,251,
- 129,124,253,202,4,239,15,135,244,251,255,252,242,15,16,4,194,102,15,46,4,
- 202,255,221,4,202,221,4,194,255,15,138,244,248,15,133,244,248,255,15,138,
- 244,248,15,132,244,247,255,248,1,15,183,67,252,254,141,156,253,131,233,248,
- 2,255,248,2,15,183,67,252,254,141,156,253,131,233,248,1,255,248,5,57,108,
- 202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,
- 15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,
- 244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,
- 252,233,244,45,255,72,252,247,208,131,195,4,129,124,253,202,4,239,15,133,
- 244,248,139,12,202,65,59,12,135,255,131,195,4,129,124,253,202,4,239,15,135,
- 244,248,255,252,242,65,15,16,4,199,102,15,46,4,202,255,221,4,202,65,221,4,
- 199,255,72,252,247,208,131,195,4,57,68,202,4,255,139,108,194,4,131,195,4,
- 129,252,253,239,255,15,131,244,247,255,15,130,244,247,255,137,108,202,4,139,
- 44,194,137,44,202,255,15,183,67,252,254,141,156,253,131,233,248,1,139,3,15,
- 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,139,
- 44,194,72,137,44,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
- 252,255,36,252,238,255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,
- 202,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
- 238,255,129,124,253,194,4,239,15,135,244,48,255,252,242,15,16,4,194,72,184,
- 237,237,102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,
- 224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,15,
- 87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,
- 1,221,28,202,255,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
- 255,36,252,238,248,2,129,124,253,194,4,239,15,133,244,50,139,60,194,137,213,
- 232,251,1,18,255,252,242,15,42,192,137,252,234,255,15,182,75,252,253,252,
- 233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,
- 135,244,46,255,252,242,15,16,4,252,234,252,242,65,15,88,4,199,255,221,4,252,
- 234,65,220,4,199,255,129,124,253,252,234,4,239,15,135,244,47,255,252,242,
- 65,15,16,4,199,252,242,15,88,4,252,234,255,65,221,4,199,220,4,252,234,255,
- 129,124,253,252,234,4,239,15,135,244,49,129,124,253,194,4,239,15,135,244,
- 49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,
- 4,194,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,255,221,4,252,234,
- 65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,4,252,234,255,65,221,
- 4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,
- 221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,252,242,65,15,89,4,199,
- 255,221,4,252,234,65,220,12,199,255,252,242,65,15,16,4,199,252,242,15,89,
- 4,252,234,255,65,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,
- 242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,
- 252,242,65,15,94,4,199,255,221,4,252,234,65,220,52,199,255,252,242,65,15,
- 16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220,52,252,234,255,252,
+ 251,139,131,233,72,41,196,255,15,182,139,233,131,252,233,1,15,136,244,248,
+ 248,1,72,139,132,253,203,233,72,137,132,253,204,233,131,252,233,1,15,137,
+ 244,1,248,2,15,182,131,233,72,139,187,233,72,139,179,233,72,139,147,233,72,
+ 139,139,233,76,139,131,233,76,139,139,233,133,192,15,132,244,251,15,40,131,
+ 233,15,40,139,233,255,15,40,147,233,15,40,155,233,131,252,248,4,15,134,244,
+ 251,15,40,163,233,15,40,171,233,15,40,179,233,15,40,187,233,248,5,252,255,
+ 147,233,72,137,131,233,15,41,131,233,72,137,147,233,15,41,139,233,255,72,
+ 139,93,252,248,201,195,255,129,124,253,202,4,239,15,135,244,41,129,124,253,
+ 194,4,239,15,135,244,41,255,252,242,15,16,4,194,131,195,4,102,15,46,4,202,
+ 255,221,4,202,221,4,194,131,195,4,255,223,252,233,221,216,255,218,252,233,
+ 223,224,158,255,15,134,244,248,255,15,131,244,248,255,248,1,15,183,67,252,
+ 254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131,195,4,193,232,
+ 16,65,252,255,36,252,238,255,139,108,194,4,131,195,4,129,252,253,239,15,135,
+ 244,251,129,124,253,202,4,239,15,135,244,251,255,252,242,15,16,4,194,102,
+ 15,46,4,202,255,221,4,202,221,4,194,255,15,138,244,248,15,133,244,248,255,
+ 15,138,244,248,15,132,244,247,255,248,1,15,183,67,252,254,141,156,253,131,
+ 233,248,2,255,248,2,15,183,67,252,254,141,156,253,131,233,248,1,255,248,5,
+ 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,
+ 57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,
+ 15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,
+ 0,0,255,252,233,244,45,255,72,252,247,208,131,195,4,129,124,253,202,4,239,
+ 15,133,244,248,139,12,202,65,59,12,135,255,131,195,4,129,124,253,202,4,239,
+ 15,135,244,248,255,252,242,65,15,16,4,199,102,15,46,4,202,255,221,4,202,65,
+ 221,4,199,255,72,252,247,208,131,195,4,57,68,202,4,255,139,108,194,4,131,
+ 195,4,129,252,253,239,255,15,131,244,247,255,15,130,244,247,255,137,108,202,
+ 4,139,44,194,137,44,202,255,15,183,67,252,254,141,156,253,131,233,248,1,139,
+ 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,
+ 139,44,194,72,137,44,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,
+ 65,252,255,36,252,238,255,49,252,237,129,124,253,194,4,239,129,213,239,137,
+ 108,202,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
+ 252,238,255,129,124,253,194,4,239,15,135,244,48,255,252,242,15,16,4,194,72,
+ 184,237,237,102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,
+ 217,224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,
+ 15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,
+ 248,1,221,28,202,255,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
+ 252,255,36,252,238,248,2,129,124,253,194,4,239,15,133,244,50,139,60,194,137,
+ 213,232,251,1,18,255,252,242,15,42,192,137,252,234,255,15,182,75,252,253,
+ 252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,
+ 15,135,244,46,255,252,242,15,16,4,252,234,252,242,65,15,88,4,199,255,221,
+ 4,252,234,65,220,4,199,255,129,124,253,252,234,4,239,15,135,244,47,255,252,
+ 242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221,4,199,220,4,252,234,
+ 255,129,124,253,252,234,4,239,15,135,244,49,129,124,253,194,4,239,15,135,
+ 244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,
+ 220,4,194,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,255,221,4,252,
+ 234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,4,252,234,255,
+ 65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,
+ 255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,252,242,65,15,89,
+ 4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15,16,4,199,252,242,
+ 15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,
+ 252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,
+ 234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52,199,255,252,242,65,
+ 15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220,52,252,234,255,252,
242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,194,255,
252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221,4,252,234,65,221,
4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234,255,65,221,4,199,
dasm_put(Dst, 9407);
#if LJ_HASFFI
#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
- dasm_put(Dst, 9431, DtE(->spadj), DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->fpr[0]));
- dasm_put(Dst, 9521, DtE(->fpr[1]), DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->fpr[1]));
+ dasm_put(Dst, 9431, DtE(->spadj));
+#if LJ_TARGET_WINDOWS
+#endif
+ dasm_put(Dst, 9447, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->fpr[0]), DtE(->fpr[1]));
+ dasm_put(Dst, 9526, DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->fpr[1]));
+#if LJ_TARGET_WINDOWS
+#endif
+ dasm_put(Dst, 9581);
#endif
}
/* Remember: all ops branch for a true comparison, fall through otherwise. */
case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
- dasm_put(Dst, 9587, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 9589, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 9608);
+ dasm_put(Dst, 9610);
} else {
- dasm_put(Dst, 9623);
+ dasm_put(Dst, 9625);
if (cmov) {
- dasm_put(Dst, 9633);
+ dasm_put(Dst, 9635);
} else {
- dasm_put(Dst, 9639);
+ dasm_put(Dst, 9641);
}
}
switch (op) {
case BC_ISLT:
- dasm_put(Dst, 9646);
+ dasm_put(Dst, 9648);
break;
case BC_ISGE:
dasm_put(Dst, 9287);
dasm_put(Dst, 5894);
break;
case BC_ISGT:
- dasm_put(Dst, 9651);
+ dasm_put(Dst, 9653);
break;
default: break; /* Shut up GCC. */
}
- dasm_put(Dst, 9656, -BCBIAS_J*4);
+ dasm_put(Dst, 9658, -BCBIAS_J*4);
break;
case BC_ISEQV: case BC_ISNEV:
vk = op == BC_ISEQV;
- dasm_put(Dst, 9691, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 9693, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 9717);
+ dasm_put(Dst, 9719);
} else {
- dasm_put(Dst, 9729);
+ dasm_put(Dst, 9731);
if (cmov) {
- dasm_put(Dst, 9633);
+ dasm_put(Dst, 9635);
} else {
- dasm_put(Dst, 9639);
+ dasm_put(Dst, 9641);
}
}
iseqne_fp:
if (vk) {
- dasm_put(Dst, 9736);
+ dasm_put(Dst, 9738);
} else {
- dasm_put(Dst, 9745);
+ dasm_put(Dst, 9747);
}
iseqne_end:
if (vk) {
- dasm_put(Dst, 9754, -BCBIAS_J*4);
+ dasm_put(Dst, 9756, -BCBIAS_J*4);
} else {
- dasm_put(Dst, 9769, -BCBIAS_J*4);
+ dasm_put(Dst, 9771, -BCBIAS_J*4);
}
- dasm_put(Dst, 9670);
+ dasm_put(Dst, 9672);
if (op == BC_ISEQV || op == BC_ISNEV) {
- dasm_put(Dst, 9784, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
+ dasm_put(Dst, 9786, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
if (vk) {
- dasm_put(Dst, 9842);
+ dasm_put(Dst, 9844);
} else {
- dasm_put(Dst, 9846);
+ dasm_put(Dst, 9848);
}
- dasm_put(Dst, 9852);
+ dasm_put(Dst, 9854);
}
break;
case BC_ISEQS: case BC_ISNES:
vk = op == BC_ISEQS;
- dasm_put(Dst, 9857, LJ_TSTR);
+ dasm_put(Dst, 9859, LJ_TSTR);
iseqne_test:
if (vk) {
- dasm_put(Dst, 9740);
+ dasm_put(Dst, 9742);
} else {
dasm_put(Dst, 2803);
}
goto iseqne_end;
case BC_ISEQN: case BC_ISNEN:
vk = op == BC_ISEQN;
- dasm_put(Dst, 9882, LJ_TISNUM);
+ dasm_put(Dst, 9884, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 9896);
+ dasm_put(Dst, 9898);
} else {
- dasm_put(Dst, 9909);
+ dasm_put(Dst, 9911);
if (cmov) {
- dasm_put(Dst, 9633);
+ dasm_put(Dst, 9635);
} else {
- dasm_put(Dst, 9639);
+ dasm_put(Dst, 9641);
}
}
goto iseqne_fp;
case BC_ISEQP: case BC_ISNEP:
vk = op == BC_ISEQP;
- dasm_put(Dst, 9917);
+ dasm_put(Dst, 9919);
goto iseqne_test;
/* -- Unary test and copy ops ------------------------------------------- */
case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
- dasm_put(Dst, 9929, LJ_TISTRUECOND);
+ dasm_put(Dst, 9931, LJ_TISTRUECOND);
if (op == BC_IST || op == BC_ISTC) {
- dasm_put(Dst, 9941);
+ dasm_put(Dst, 9943);
} else {
- dasm_put(Dst, 9946);
+ dasm_put(Dst, 9948);
}
if (op == BC_ISTC || op == BC_ISFC) {
- dasm_put(Dst, 9951);
+ dasm_put(Dst, 9953);
}
- dasm_put(Dst, 9962, -BCBIAS_J*4);
+ dasm_put(Dst, 9964, -BCBIAS_J*4);
break;
/* -- Unary ops --------------------------------------------------------- */
case BC_MOV:
- dasm_put(Dst, 9995);
+ dasm_put(Dst, 9997);
break;
case BC_NOT:
- dasm_put(Dst, 10024, LJ_TISTRUECOND, LJ_TTRUE);
+ dasm_put(Dst, 10026, LJ_TISTRUECOND, LJ_TTRUE);
break;
case BC_UNM:
- dasm_put(Dst, 10061, LJ_TISNUM);
+ dasm_put(Dst, 10063, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10072, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
+ dasm_put(Dst, 10074, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
} else {
- dasm_put(Dst, 10097);
+ dasm_put(Dst, 10099);
}
- dasm_put(Dst, 9670);
+ dasm_put(Dst, 9672);
break;
case BC_LEN:
- dasm_put(Dst, 10106, LJ_TSTR);
+ dasm_put(Dst, 10108, LJ_TSTR);
if (sse) {
- dasm_put(Dst, 10120, Dt5(->len));
+ dasm_put(Dst, 10122, Dt5(->len));
} else {
- dasm_put(Dst, 10138, Dt5(->len));
+ dasm_put(Dst, 10140, Dt5(->len));
}
- dasm_put(Dst, 10147, LJ_TTAB);
+ dasm_put(Dst, 10149, LJ_TTAB);
if (sse) {
- dasm_put(Dst, 10189);
+ dasm_put(Dst, 10191);
} else {
}
- dasm_put(Dst, 10198);
+ dasm_put(Dst, 10200);
break;
/* -- Binary ops -------------------------------------------------------- */
case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
- dasm_put(Dst, 10208);
+ dasm_put(Dst, 10210);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 10216, LJ_TISNUM);
+ dasm_put(Dst, 10218, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10228);
+ dasm_put(Dst, 10230);
} else {
- dasm_put(Dst, 10243);
+ dasm_put(Dst, 10245);
}
break;
case 1:
- dasm_put(Dst, 10252, LJ_TISNUM);
+ dasm_put(Dst, 10254, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10264);
+ dasm_put(Dst, 10266);
} else {
- dasm_put(Dst, 10279);
+ dasm_put(Dst, 10281);
}
break;
default:
- dasm_put(Dst, 10288, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 10290, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10310);
+ dasm_put(Dst, 10312);
} else {
- dasm_put(Dst, 10324);
+ dasm_put(Dst, 10326);
}
break;
}
if (sse) {
- dasm_put(Dst, 10090);
+ dasm_put(Dst, 10092);
} else {
- dasm_put(Dst, 10102);
+ dasm_put(Dst, 10104);
}
- dasm_put(Dst, 9670);
+ dasm_put(Dst, 9672);
break;
case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
- dasm_put(Dst, 10208);
+ dasm_put(Dst, 10210);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 10216, LJ_TISNUM);
+ dasm_put(Dst, 10218, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10332);
+ dasm_put(Dst, 10334);
} else {
- dasm_put(Dst, 10347);
+ dasm_put(Dst, 10349);
}
break;
case 1:
- dasm_put(Dst, 10252, LJ_TISNUM);
+ dasm_put(Dst, 10254, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10356);
+ dasm_put(Dst, 10358);
} else {
- dasm_put(Dst, 10371);
+ dasm_put(Dst, 10373);
}
break;
default:
- dasm_put(Dst, 10288, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 10290, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10380);
+ dasm_put(Dst, 10382);
} else {
- dasm_put(Dst, 10394);
+ dasm_put(Dst, 10396);
}
break;
}
if (sse) {
- dasm_put(Dst, 10090);
+ dasm_put(Dst, 10092);
} else {
- dasm_put(Dst, 10102);
+ dasm_put(Dst, 10104);
}
- dasm_put(Dst, 9670);
+ dasm_put(Dst, 9672);
break;
case BC_MULVN: case BC_MULNV: case BC_MULVV:
- dasm_put(Dst, 10208);
+ dasm_put(Dst, 10210);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 10216, LJ_TISNUM);
+ dasm_put(Dst, 10218, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10402);
+ dasm_put(Dst, 10404);
} else {
- dasm_put(Dst, 10417);
+ dasm_put(Dst, 10419);
}
break;
case 1:
- dasm_put(Dst, 10252, LJ_TISNUM);
+ dasm_put(Dst, 10254, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10426);
+ dasm_put(Dst, 10428);
} else {
- dasm_put(Dst, 10441);
+ dasm_put(Dst, 10443);
}
break;
default:
- dasm_put(Dst, 10288, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 10290, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10450);
+ dasm_put(Dst, 10452);
} else {
- dasm_put(Dst, 10464);
+ dasm_put(Dst, 10466);
}
break;
}
if (sse) {
- dasm_put(Dst, 10090);
+ dasm_put(Dst, 10092);
} else {
- dasm_put(Dst, 10102);
+ dasm_put(Dst, 10104);
}
- dasm_put(Dst, 9670);
+ dasm_put(Dst, 9672);
break;
case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
- dasm_put(Dst, 10208);
+ dasm_put(Dst, 10210);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 10216, LJ_TISNUM);
+ dasm_put(Dst, 10218, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10472);
+ dasm_put(Dst, 10474);
} else {
- dasm_put(Dst, 10487);
+ dasm_put(Dst, 10489);
}
break;
case 1:
- dasm_put(Dst, 10252, LJ_TISNUM);
+ dasm_put(Dst, 10254, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10496);
+ dasm_put(Dst, 10498);
} else {
- dasm_put(Dst, 10511);
+ dasm_put(Dst, 10513);
}
break;
default:
- dasm_put(Dst, 10288, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 10290, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10520);
+ dasm_put(Dst, 10522);
} else {
- dasm_put(Dst, 10534);
+ dasm_put(Dst, 10536);
}
break;
}
if (sse) {
- dasm_put(Dst, 10090);
+ dasm_put(Dst, 10092);
} else {
- dasm_put(Dst, 10102);
+ dasm_put(Dst, 10104);
}
- dasm_put(Dst, 9670);
+ dasm_put(Dst, 9672);
break;
case BC_MODVN:
- dasm_put(Dst, 10208);
+ dasm_put(Dst, 10210);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 10216, LJ_TISNUM);
+ dasm_put(Dst, 10218, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10542);
+ dasm_put(Dst, 10544);
} else {
- dasm_put(Dst, 10557);
+ dasm_put(Dst, 10559);
}
break;
case 1:
- dasm_put(Dst, 10252, LJ_TISNUM);
+ dasm_put(Dst, 10254, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10566);
+ dasm_put(Dst, 10568);
} else {
- dasm_put(Dst, 10581);
+ dasm_put(Dst, 10583);
}
break;
default:
- dasm_put(Dst, 10288, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 10290, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10590);
+ dasm_put(Dst, 10592);
} else {
- dasm_put(Dst, 10604);
+ dasm_put(Dst, 10606);
}
break;
}
- dasm_put(Dst, 10612);
+ dasm_put(Dst, 10614);
if (sse) {
- dasm_put(Dst, 10090);
+ dasm_put(Dst, 10092);
} else {
- dasm_put(Dst, 10102);
+ dasm_put(Dst, 10104);
}
- dasm_put(Dst, 9670);
+ dasm_put(Dst, 9672);
break;
case BC_MODNV: case BC_MODVV:
- dasm_put(Dst, 10208);
+ dasm_put(Dst, 10210);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 10216, LJ_TISNUM);
+ dasm_put(Dst, 10218, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10542);
+ dasm_put(Dst, 10544);
} else {
- dasm_put(Dst, 10557);
+ dasm_put(Dst, 10559);
}
break;
case 1:
- dasm_put(Dst, 10252, LJ_TISNUM);
+ dasm_put(Dst, 10254, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10566);
+ dasm_put(Dst, 10568);
} else {
- dasm_put(Dst, 10581);
+ dasm_put(Dst, 10583);
}
break;
default:
- dasm_put(Dst, 10288, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 10290, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10590);
+ dasm_put(Dst, 10592);
} else {
- dasm_put(Dst, 10604);
+ dasm_put(Dst, 10606);
}
break;
}
- dasm_put(Dst, 10618);
+ dasm_put(Dst, 10620);
break;
case BC_POW:
- dasm_put(Dst, 10208);
+ dasm_put(Dst, 10210);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 10216, LJ_TISNUM);
+ dasm_put(Dst, 10218, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10542);
+ dasm_put(Dst, 10544);
} else {
- dasm_put(Dst, 10557);
+ dasm_put(Dst, 10559);
}
break;
case 1:
- dasm_put(Dst, 10252, LJ_TISNUM);
+ dasm_put(Dst, 10254, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10566);
+ dasm_put(Dst, 10568);
} else {
- dasm_put(Dst, 10581);
+ dasm_put(Dst, 10583);
}
break;
default:
- dasm_put(Dst, 10288, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 10290, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10590);
+ dasm_put(Dst, 10592);
} else {
- dasm_put(Dst, 10604);
+ dasm_put(Dst, 10606);
}
break;
}
- dasm_put(Dst, 10623);
+ dasm_put(Dst, 10625);
if (sse) {
- dasm_put(Dst, 10090);
+ dasm_put(Dst, 10092);
} else {
- dasm_put(Dst, 10102);
+ dasm_put(Dst, 10104);
}
- dasm_put(Dst, 9670);
+ dasm_put(Dst, 9672);
break;
case BC_CAT:
- dasm_put(Dst, 10627, Dt1(->base), Dt1(->base));
+ dasm_put(Dst, 10629, Dt1(->base), Dt1(->base));
break;
/* -- Constant ops ------------------------------------------------------ */
case BC_KSTR:
- dasm_put(Dst, 10711, LJ_TSTR);
+ dasm_put(Dst, 10713, LJ_TSTR);
break;
case BC_KCDATA:
#if LJ_HASFFI
- dasm_put(Dst, 10711, LJ_TCDATA);
+ dasm_put(Dst, 10713, LJ_TCDATA);
#endif
break;
case BC_KSHORT:
if (sse) {
- dasm_put(Dst, 10748);
+ dasm_put(Dst, 10750);
} else {
- dasm_put(Dst, 10763);
+ dasm_put(Dst, 10765);
}
- dasm_put(Dst, 9670);
+ dasm_put(Dst, 9672);
break;
case BC_KNUM:
if (sse) {
- dasm_put(Dst, 10771);
+ dasm_put(Dst, 10773);
} else {
- dasm_put(Dst, 10785);
+ dasm_put(Dst, 10787);
}
- dasm_put(Dst, 9670);
+ dasm_put(Dst, 9672);
break;
case BC_KPRI:
- dasm_put(Dst, 10793);
+ dasm_put(Dst, 10795);
break;
case BC_KNIL:
- dasm_put(Dst, 10822, LJ_TNIL);
+ dasm_put(Dst, 10824, LJ_TNIL);
break;
/* -- Upvalue and function ops ------------------------------------------ */
case BC_UGET:
- dasm_put(Dst, 10870, offsetof(GCfuncL, uvptr), DtA(->v));
+ dasm_put(Dst, 10872, offsetof(GCfuncL, uvptr), DtA(->v));
break;
case BC_USETV:
#define TV2MARKOFS \
((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
- dasm_put(Dst, 10911, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
- dasm_put(Dst, 11007);
+ dasm_put(Dst, 10913, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
+ dasm_put(Dst, 11009);
break;
#undef TV2MARKOFS
case BC_USETS:
- dasm_put(Dst, 11019, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
+ dasm_put(Dst, 11021, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
break;
case BC_USETN:
- dasm_put(Dst, 11115);
+ dasm_put(Dst, 11117);
if (sse) {
- dasm_put(Dst, 11120);
+ dasm_put(Dst, 11122);
} else {
- dasm_put(Dst, 9912);
+ dasm_put(Dst, 9914);
}
- dasm_put(Dst, 11128, offsetof(GCfuncL, uvptr), DtA(->v));
+ dasm_put(Dst, 11130, offsetof(GCfuncL, uvptr), DtA(->v));
if (sse) {
- dasm_put(Dst, 11137);
+ dasm_put(Dst, 11139);
} else {
- dasm_put(Dst, 11143);
+ dasm_put(Dst, 11145);
}
- dasm_put(Dst, 9670);
+ dasm_put(Dst, 9672);
break;
case BC_USETP:
- dasm_put(Dst, 11146, offsetof(GCfuncL, uvptr), DtA(->v));
+ dasm_put(Dst, 11148, offsetof(GCfuncL, uvptr), DtA(->v));
break;
case BC_UCLO:
- dasm_put(Dst, 11186, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
+ dasm_put(Dst, 11188, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
break;
case BC_FNEW:
- dasm_put(Dst, 11242, Dt1(->base), Dt1(->base), LJ_TFUNC);
+ dasm_put(Dst, 11244, Dt1(->base), Dt1(->base), LJ_TFUNC);
break;
/* -- Table ops --------------------------------------------------------- */
case BC_TNEW:
- dasm_put(Dst, 11309, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
+ dasm_put(Dst, 11311, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
break;
case BC_TDUP:
- dasm_put(Dst, 11433, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
+ dasm_put(Dst, 11435, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
break;
case BC_GGET:
- dasm_put(Dst, 11532, Dt7(->env));
+ dasm_put(Dst, 11534, Dt7(->env));
break;
case BC_GSET:
- dasm_put(Dst, 11552, Dt7(->env));
+ dasm_put(Dst, 11554, Dt7(->env));
break;
case BC_TGETV:
- dasm_put(Dst, 11572, LJ_TTAB, LJ_TISNUM);
+ dasm_put(Dst, 11574, LJ_TTAB, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11605);
+ dasm_put(Dst, 11607);
} else {
}
- dasm_put(Dst, 11626, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
- dasm_put(Dst, 11711, LJ_TNIL, LJ_TSTR);
+ dasm_put(Dst, 11628, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
+ dasm_put(Dst, 11713, LJ_TNIL, LJ_TSTR);
break;
case BC_TGETS:
- dasm_put(Dst, 11740, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
- dasm_put(Dst, 11825, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
+ dasm_put(Dst, 11742, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
+ dasm_put(Dst, 11827, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
break;
case BC_TGETB:
- dasm_put(Dst, 11897, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
- dasm_put(Dst, 11993, LJ_TNIL);
+ dasm_put(Dst, 11899, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
+ dasm_put(Dst, 11995, LJ_TNIL);
break;
case BC_TSETV:
- dasm_put(Dst, 12010, LJ_TTAB, LJ_TISNUM);
+ dasm_put(Dst, 12012, LJ_TTAB, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11605);
+ dasm_put(Dst, 11607);
} else {
}
- dasm_put(Dst, 12043, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
- dasm_put(Dst, 12123, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+ dasm_put(Dst, 12045, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
+ dasm_put(Dst, 12125, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
break;
case BC_TSETS:
- dasm_put(Dst, 12187, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
- dasm_put(Dst, 12264, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
- dasm_put(Dst, 12351, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+ dasm_put(Dst, 12189, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
+ dasm_put(Dst, 12266, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
+ dasm_put(Dst, 12353, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
break;
case BC_TSETB:
- dasm_put(Dst, 12443, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
- dasm_put(Dst, 12538, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+ dasm_put(Dst, 12445, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
+ dasm_put(Dst, 12540, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
break;
case BC_TSETM:
- dasm_put(Dst, 12586, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
- dasm_put(Dst, 12736, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+ dasm_put(Dst, 12588, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
+ dasm_put(Dst, 12738, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
break;
/* -- Calls and vararg handling ----------------------------------------- */
case BC_CALL: case BC_CALLM:
- dasm_put(Dst, 10212);
+ dasm_put(Dst, 10214);
if (op == BC_CALLM) {
- dasm_put(Dst, 12756);
+ dasm_put(Dst, 12758);
}
- dasm_put(Dst, 12761, LJ_TFUNC, Dt7(->pc));
+ dasm_put(Dst, 12763, LJ_TFUNC, Dt7(->pc));
break;
case BC_CALLMT:
- dasm_put(Dst, 12756);
+ dasm_put(Dst, 12758);
break;
case BC_CALLT:
- dasm_put(Dst, 12804, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
- dasm_put(Dst, 12922, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
+ dasm_put(Dst, 12806, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
+ dasm_put(Dst, 12924, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
break;
case BC_ITERC:
- dasm_put(Dst, 12996, LJ_TFUNC, 2+1, Dt7(->pc));
+ dasm_put(Dst, 12998, LJ_TFUNC, 2+1, Dt7(->pc));
break;
case BC_ITERN:
#if LJ_HASJIT
#endif
- dasm_put(Dst, 13068, Dt6(->asize), Dt6(->array), LJ_TNIL);
+ dasm_put(Dst, 13070, Dt6(->asize), Dt6(->array), LJ_TNIL);
if (sse) {
- dasm_put(Dst, 13120);
+ dasm_put(Dst, 13122);
} else {
- dasm_put(Dst, 13126);
+ dasm_put(Dst, 13128);
}
- dasm_put(Dst, 13132);
+ dasm_put(Dst, 13134);
if (sse) {
- dasm_put(Dst, 10090);
+ dasm_put(Dst, 10092);
} else {
- dasm_put(Dst, 10102);
+ dasm_put(Dst, 10104);
}
- dasm_put(Dst, 13145, -BCBIAS_J*4);
+ dasm_put(Dst, 13147, -BCBIAS_J*4);
if (!sse) {
- dasm_put(Dst, 13199);
+ dasm_put(Dst, 13201);
}
- dasm_put(Dst, 13205, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
+ dasm_put(Dst, 13207, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
break;
case BC_ISNEXT:
- dasm_put(Dst, 13284, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
+ dasm_put(Dst, 13286, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
break;
case BC_VARG:
- dasm_put(Dst, 13385, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
- dasm_put(Dst, 13552, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
+ dasm_put(Dst, 13387, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
+ dasm_put(Dst, 13554, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
break;
/* -- Returns ----------------------------------------------------------- */
case BC_RETM:
- dasm_put(Dst, 12756);
+ dasm_put(Dst, 12758);
break;
case BC_RET: case BC_RET0: case BC_RET1:
if (op != BC_RET0) {
- dasm_put(Dst, 13622);
+ dasm_put(Dst, 13624);
}
- dasm_put(Dst, 13626, FRAME_TYPE);
+ dasm_put(Dst, 13628, FRAME_TYPE);
switch (op) {
case BC_RET:
- dasm_put(Dst, 13645);
+ dasm_put(Dst, 13647);
break;
case BC_RET1:
- dasm_put(Dst, 13699);
+ dasm_put(Dst, 13701);
/* fallthrough */
case BC_RET0:
- dasm_put(Dst, 13709);
+ dasm_put(Dst, 13711);
default:
break;
}
- dasm_put(Dst, 13720, Dt7(->pc), PC2PROTO(k));
+ dasm_put(Dst, 13722, Dt7(->pc), PC2PROTO(k));
if (op == BC_RET) {
- dasm_put(Dst, 13768, LJ_TNIL);
+ dasm_put(Dst, 13770, LJ_TNIL);
} else {
- dasm_put(Dst, 13779, LJ_TNIL);
+ dasm_put(Dst, 13781, LJ_TNIL);
}
- dasm_put(Dst, 13786, -FRAME_VARG, FRAME_TYPEP);
+ dasm_put(Dst, 13788, -FRAME_VARG, FRAME_TYPEP);
if (op != BC_RET0) {
- dasm_put(Dst, 13810);
+ dasm_put(Dst, 13812);
}
dasm_put(Dst, 4546);
break;
case BC_FORL:
#if LJ_HASJIT
- dasm_put(Dst, 13814, HOTCOUNT_PCMASK, GG_DISP2HOT);
+ dasm_put(Dst, 13816, HOTCOUNT_PCMASK, GG_DISP2HOT);
#endif
break;
case BC_FORI:
case BC_IFORL:
vk = (op == BC_IFORL || op == BC_JFORL);
- dasm_put(Dst, 13835);
+ dasm_put(Dst, 13837);
if (!vk) {
- dasm_put(Dst, 13839, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 13841, LJ_TISNUM, LJ_TISNUM);
}
- dasm_put(Dst, 13858);
+ dasm_put(Dst, 13860);
if (!vk) {
- dasm_put(Dst, 13862, LJ_TISNUM);
+ dasm_put(Dst, 13864, LJ_TISNUM);
}
if (sse) {
- dasm_put(Dst, 13871);
+ dasm_put(Dst, 13873);
if (vk) {
- dasm_put(Dst, 13883);
+ dasm_put(Dst, 13885);
} else {
- dasm_put(Dst, 13902);
+ dasm_put(Dst, 13904);
}
- dasm_put(Dst, 13907);
+ dasm_put(Dst, 13909);
} else {
- dasm_put(Dst, 13920);
+ dasm_put(Dst, 13922);
if (vk) {
- dasm_put(Dst, 13926);
+ dasm_put(Dst, 13928);
} else {
- dasm_put(Dst, 13942);
+ dasm_put(Dst, 13944);
}
- dasm_put(Dst, 13950);
+ dasm_put(Dst, 13952);
if (cmov) {
- dasm_put(Dst, 9633);
+ dasm_put(Dst, 9635);
} else {
- dasm_put(Dst, 9639);
+ dasm_put(Dst, 9641);
}
if (!cmov) {
- dasm_put(Dst, 13955);
+ dasm_put(Dst, 13957);
}
}
if (op == BC_FORI) {
- dasm_put(Dst, 13961, -BCBIAS_J*4);
+ dasm_put(Dst, 13963, -BCBIAS_J*4);
} else if (op == BC_JFORI) {
- dasm_put(Dst, 13971, -BCBIAS_J*4, BC_JLOOP);
+ dasm_put(Dst, 13973, -BCBIAS_J*4, BC_JLOOP);
} else if (op == BC_IFORL) {
- dasm_put(Dst, 13985, -BCBIAS_J*4);
+ dasm_put(Dst, 13987, -BCBIAS_J*4);
} else {
- dasm_put(Dst, 13981, BC_JLOOP);
+ dasm_put(Dst, 13983, BC_JLOOP);
}
- dasm_put(Dst, 9668);
+ dasm_put(Dst, 9670);
if (sse) {
- dasm_put(Dst, 13995);
+ dasm_put(Dst, 13997);
}
break;
case BC_ITERL:
#if LJ_HASJIT
- dasm_put(Dst, 13814, HOTCOUNT_PCMASK, GG_DISP2HOT);
+ dasm_put(Dst, 13816, HOTCOUNT_PCMASK, GG_DISP2HOT);
#endif
break;
break;
#endif
case BC_IITERL:
- dasm_put(Dst, 14006, LJ_TNIL);
+ dasm_put(Dst, 14008, LJ_TNIL);
if (op == BC_JITERL) {
- dasm_put(Dst, 14021, BC_JLOOP);
+ dasm_put(Dst, 14023, BC_JLOOP);
} else {
- dasm_put(Dst, 14035, -BCBIAS_J*4);
+ dasm_put(Dst, 14037, -BCBIAS_J*4);
}
- dasm_put(Dst, 9972);
+ dasm_put(Dst, 9974);
break;
case BC_LOOP:
#if LJ_HASJIT
- dasm_put(Dst, 13814, HOTCOUNT_PCMASK, GG_DISP2HOT);
+ dasm_put(Dst, 13816, HOTCOUNT_PCMASK, GG_DISP2HOT);
#endif
break;
case BC_ILOOP:
- dasm_put(Dst, 9670);
+ dasm_put(Dst, 9672);
break;
case BC_JLOOP:
#if LJ_HASJIT
- dasm_put(Dst, 14051, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
+ dasm_put(Dst, 14053, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
#endif
break;
case BC_JMP:
- dasm_put(Dst, 14092, -BCBIAS_J*4);
+ dasm_put(Dst, 14094, -BCBIAS_J*4);
break;
/* -- Function headers -------------------------------------------------- */
case BC_FUNCF:
#if LJ_HASJIT
- dasm_put(Dst, 14118, HOTCOUNT_PCMASK, GG_DISP2HOT);
+ dasm_put(Dst, 14120, HOTCOUNT_PCMASK, GG_DISP2HOT);
#endif
case BC_FUNCV: /* NYI: compiled vararg functions. */
break;
break;
#endif
case BC_IFUNCF:
- dasm_put(Dst, 14139, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
+ dasm_put(Dst, 14141, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
if (op == BC_JFUNCF) {
- dasm_put(Dst, 14170, BC_JLOOP);
+ dasm_put(Dst, 14172, BC_JLOOP);
} else {
- dasm_put(Dst, 9670);
+ dasm_put(Dst, 9672);
}
- dasm_put(Dst, 14179, LJ_TNIL);
+ dasm_put(Dst, 14181, LJ_TNIL);
break;
case BC_JFUNCV:
break; /* NYI: compiled vararg functions. */
case BC_IFUNCV:
- dasm_put(Dst, 14201, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
+ dasm_put(Dst, 14203, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
if (op == BC_JFUNCV) {
- dasm_put(Dst, 14170, BC_JLOOP);
+ dasm_put(Dst, 14172, BC_JLOOP);
} else {
- dasm_put(Dst, 14298, -4+PC2PROTO(k));
+ dasm_put(Dst, 14300, -4+PC2PROTO(k));
}
- dasm_put(Dst, 14323, LJ_TNIL);
+ dasm_put(Dst, 14325, LJ_TNIL);
break;
case BC_FUNCC:
case BC_FUNCCW:
- dasm_put(Dst, 14345, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
+ dasm_put(Dst, 14347, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
if (op == BC_FUNCC) {
- dasm_put(Dst, 14375);
+ dasm_put(Dst, 14377);
} else {
- dasm_put(Dst, 14379);
+ dasm_put(Dst, 14381);
}
- dasm_put(Dst, 14387, DISPATCH_GL(vmstate), ~LJ_VMST_C);
+ dasm_put(Dst, 14389, DISPATCH_GL(vmstate), ~LJ_VMST_C);
if (op == BC_FUNCC) {
- dasm_put(Dst, 14397);
+ dasm_put(Dst, 14399);
} else {
- dasm_put(Dst, 14402, DISPATCH_GL(wrapf));
+ dasm_put(Dst, 14404, DISPATCH_GL(wrapf));
}
- dasm_put(Dst, 14408, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
+ dasm_put(Dst, 14410, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
break;
/* ---------------------------------------------------------------------- */
build_subroutines(ctx, cmov, sse);
- dasm_put(Dst, 14434);
+ dasm_put(Dst, 14436);
for (op = 0; op < BC__MAX; op++)
build_ins(ctx, (BCOp)op, op, cmov, sse);
#define DASM_SECTION_CODE_OP 0
#define DASM_SECTION_CODE_SUB 1
#define DASM_MAXSECTION 2
-static const unsigned char build_actionlist[14340] = {
+static const unsigned char build_actionlist[14342] = {
254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72,
141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,
36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,
2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,244,248,217,201,
248,2,221,216,195,255,248,155,137,200,86,72,137,214,83,15,162,137,6,137,94,
4,137,78,8,137,86,12,91,94,195,248,156,255,85,72,137,229,83,72,137,203,139,
- 131,233,72,41,196,15,182,139,233,131,252,233,1,15,136,244,248,248,1,72,139,
- 132,253,203,233,72,137,132,253,204,233,131,252,233,1,15,137,244,1,248,2,15,
- 182,131,233,72,139,139,233,72,139,147,233,76,139,131,233,76,139,139,233,133,
- 192,15,132,244,251,15,40,131,233,15,40,139,233,15,40,147,233,255,15,40,155,
- 233,248,5,252,255,147,233,72,137,131,233,15,41,131,233,72,139,93,252,248,
- 201,195,255,129,124,253,202,4,239,15,135,244,41,129,124,253,194,4,239,15,
- 135,244,41,255,252,242,15,16,4,194,131,198,4,102,15,46,4,202,255,221,4,202,
- 221,4,194,131,198,4,255,223,252,233,221,216,255,218,252,233,223,224,158,255,
- 15,134,244,248,255,15,131,244,248,255,248,1,15,183,70,252,254,141,180,253,
- 134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
- 252,235,255,139,108,194,4,131,198,4,129,252,253,239,15,135,244,251,129,124,
- 253,202,4,239,15,135,244,251,255,252,242,15,16,4,194,102,15,46,4,202,255,
- 221,4,202,221,4,194,255,15,138,244,248,15,133,244,248,255,15,138,244,248,
- 15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,255,
- 248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,248,5,57,108,202,4,
- 15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,
- 132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244,
- 2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252,
- 233,244,45,255,72,252,247,208,131,198,4,129,124,253,202,4,239,15,133,244,
- 248,139,12,202,59,12,135,255,131,198,4,129,124,253,202,4,239,15,135,244,248,
- 255,252,242,15,16,4,199,102,15,46,4,202,255,221,4,202,221,4,199,255,72,252,
- 247,208,131,198,4,57,68,202,4,255,139,108,194,4,131,198,4,129,252,253,239,
- 255,15,131,244,247,255,15,130,244,247,255,137,108,202,4,139,44,194,137,44,
- 202,255,15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,
- 232,131,198,4,193,232,16,252,255,36,252,235,255,72,139,44,194,72,137,44,202,
- 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,49,
- 252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,
- 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,129,124,253,194,4,
- 239,15,135,244,48,255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,
- 15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,
- 253,194,4,239,15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,
- 248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,
- 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,
- 194,4,239,15,133,244,50,139,12,194,137,213,232,251,1,18,255,252,242,15,42,
- 192,137,252,234,255,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,
- 182,192,255,129,124,253,252,234,4,239,15,135,244,46,255,252,242,15,16,4,252,
- 234,252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,
- 4,239,15,135,244,47,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,221,
- 4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253,
- 194,4,239,15,135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,
- 221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,
- 221,4,252,234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,
- 255,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,
- 194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,252,242,15,89,
- 4,199,255,221,4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,
- 4,252,234,255,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,
- 15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,
- 242,15,94,4,199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,
- 242,15,94,4,252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,
- 234,252,242,15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,
- 252,234,252,242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,
- 4,199,252,242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,
- 16,4,252,234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,157,
- 232,244,148,255,252,233,244,157,255,232,244,107,255,15,182,252,236,15,182,
- 192,139,76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,248,33,137,205,
- 137,116,36,100,232,251,1,25,139,149,233,133,192,15,133,244,42,15,182,110,
- 252,255,15,182,78,252,253,72,139,4,252,234,72,137,4,202,139,6,15,182,204,
- 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,
- 4,135,199,68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,
- 232,16,252,255,36,252,235,255,15,191,192,252,242,15,42,192,252,242,15,17,
- 4,202,255,223,70,252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17,
- 4,202,255,221,4,199,221,28,202,255,72,252,247,208,137,68,202,4,139,6,15,182,
- 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,141,76,202,12,
- 141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,
- 244,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
- 255,139,106,252,248,139,172,253,133,233,139,173,233,72,139,69,0,72,137,4,
- 202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,
- 139,106,252,248,139,172,253,141,233,128,189,233,0,139,173,233,139,12,194,
- 139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,
- 244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
- 252,235,248,2,129,232,239,129,252,248,239,15,134,244,1,252,246,129,233,235,
- 15,132,244,1,135,213,141,139,233,255,232,251,1,26,137,252,234,252,233,244,
- 1,255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,12,135,139,133,
- 233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,6,15,
- 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,252,246,
- 129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,194,141,139,
- 233,232,251,1,26,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,
- 15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,
- 25,255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,
- 65,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
- 255,141,180,253,134,233,139,108,36,96,131,189,233,0,15,132,244,247,137,149,
- 233,141,20,202,137,252,233,232,251,1,27,139,149,233,248,1,139,6,15,182,204,
- 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,
- 108,36,96,137,149,233,68,139,66,252,248,139,20,135,137,252,233,137,116,36,
- 100,232,251,1,28,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,
- 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,
- 108,36,96,137,149,233,139,139,233,59,139,233,137,116,36,100,15,131,244,251,
- 248,1,65,137,192,37,252,255,7,0,0,65,193,232,11,61,252,255,7,0,0,15,132,244,
- 249,248,2,137,252,233,137,194,232,251,1,29,139,149,233,15,182,78,252,253,
- 137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,
- 16,252,255,36,252,235,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,232,
- 251,1,30,15,183,70,252,254,252,233,244,1,255,72,252,247,208,139,108,36,96,
- 139,139,233,137,116,36,100,59,139,233,137,149,233,15,131,244,249,248,2,139,
- 20,135,137,252,233,232,251,1,31,139,149,233,15,182,78,252,253,137,4,202,199,
- 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
- 252,235,248,3,137,252,233,232,251,1,30,15,183,70,252,254,72,252,247,208,252,
- 233,244,2,255,72,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,
- 244,158,255,72,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,
- 244,159,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,
- 36,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255,252,242,15,16,
- 4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244,36,
- 59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132,244,
- 248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,232,131,198,4,193,
- 232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,249,139,141,233,
- 252,246,129,233,235,15,132,244,36,15,182,78,252,253,248,3,255,199,68,202,
- 4,237,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,36,139,4,194,252,
- 233,244,158,255,15,182,252,236,15,182,192,72,252,247,208,139,4,135,129,124,
- 253,252,234,4,239,15,133,244,34,139,44,252,234,248,158,139,141,233,35,136,
- 233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233,
- 15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,70,252,253,72,139,
- 41,72,137,44,194,248,2,255,139,6,15,182,204,15,182,232,131,198,4,193,232,
- 16,252,255,36,252,235,248,3,15,182,70,252,253,199,68,194,4,237,252,233,244,
- 2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,
- 244,3,252,246,129,233,235,15,133,244,3,252,233,244,34,255,15,182,252,236,
- 15,182,192,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,59,133,
- 233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,72,
- 139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,
- 16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,249,139,141,233,252,
- 246,129,233,235,15,132,244,35,255,15,182,78,252,253,248,3,199,68,202,4,237,
- 252,233,244,1,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,
- 133,244,39,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255,15,133,
- 244,39,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,
- 132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,
- 72,137,40,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
- 235,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,235,
- 15,132,244,39,15,182,78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,
- 15,133,244,39,139,4,194,252,233,244,159,248,7,128,165,233,235,139,139,233,
- 137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,
- 15,182,192,72,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,
- 37,139,44,252,234,248,159,139,141,233,35,136,233,105,201,239,198,133,233,
- 0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,
- 129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,
- 253,248,3,15,182,70,252,253,72,139,44,194,72,137,41,139,6,15,182,204,15,182,
- 232,131,198,4,193,232,16,252,255,36,252,235,248,4,131,189,233,0,15,132,244,
- 2,137,76,36,80,139,141,233,252,246,129,233,235,15,132,244,37,139,76,36,80,
- 252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,
- 201,15,132,244,252,252,246,129,233,235,15,132,244,37,248,6,137,68,36,80,199,
- 68,36,84,237,137,108,36,32,139,76,36,96,137,145,233,76,141,68,36,80,137,252,
- 234,137,205,137,116,36,100,232,251,1,32,139,149,233,139,108,36,32,137,193,
- 252,233,244,2,248,7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,
- 233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,
- 244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,
+ 131,233,72,41,196,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1,72,
+ 139,132,253,203,233,72,137,132,253,204,233,131,252,233,1,15,137,244,1,248,
+ 2,15,182,131,233,72,139,139,233,72,139,147,233,76,139,131,233,76,139,139,
+ 233,133,192,15,132,244,251,15,40,131,233,15,40,139,233,15,40,147,233,15,40,
+ 155,233,248,5,255,252,255,147,233,72,137,131,233,15,41,131,233,255,72,139,
+ 93,252,248,201,195,255,129,124,253,202,4,239,15,135,244,41,129,124,253,194,
+ 4,239,15,135,244,41,255,252,242,15,16,4,194,131,198,4,102,15,46,4,202,255,
+ 221,4,202,221,4,194,131,198,4,255,223,252,233,221,216,255,218,252,233,223,
+ 224,158,255,15,134,244,248,255,15,131,244,248,255,248,1,15,183,70,252,254,
+ 141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
+ 252,255,36,252,235,255,139,108,194,4,131,198,4,129,252,253,239,15,135,244,
+ 251,129,124,253,202,4,239,15,135,244,251,255,252,242,15,16,4,194,102,15,46,
+ 4,202,255,221,4,202,221,4,194,255,15,138,244,248,15,133,244,248,255,15,138,
+ 244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,248,
+ 2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,248,5,57,108,
+ 202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,
+ 15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,
+ 244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,
+ 252,233,244,45,255,72,252,247,208,131,198,4,129,124,253,202,4,239,15,133,
+ 244,248,139,12,202,59,12,135,255,131,198,4,129,124,253,202,4,239,15,135,244,
+ 248,255,252,242,15,16,4,199,102,15,46,4,202,255,221,4,202,221,4,199,255,72,
+ 252,247,208,131,198,4,57,68,202,4,255,139,108,194,4,131,198,4,129,252,253,
+ 239,255,15,131,244,247,255,15,130,244,247,255,137,108,202,4,139,44,194,137,
+ 44,202,255,15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15,
+ 182,232,131,198,4,193,232,16,252,255,36,252,235,255,72,139,44,194,72,137,
+ 44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
+ 255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,
+ 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,129,124,253,194,
+ 4,239,15,135,244,48,255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,
+ 200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,
+ 124,253,194,4,239,15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128,
+ 233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,
+ 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,
+ 253,194,4,239,15,133,244,50,139,12,194,137,213,232,251,1,18,255,252,242,15,
+ 42,192,137,252,234,255,15,182,78,252,253,252,233,244,1,255,15,182,252,236,
+ 15,182,192,255,129,124,253,252,234,4,239,15,135,244,46,255,252,242,15,16,
+ 4,252,234,252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,
+ 252,234,4,239,15,135,244,47,255,252,242,15,16,4,199,252,242,15,88,4,252,234,
+ 255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,49,129,
+ 124,253,194,4,239,15,135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,
+ 4,194,255,221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,15,
+ 92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4,199,252,242,15,
+ 92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,
+ 242,15,92,4,194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,
+ 252,242,15,89,4,199,255,221,4,252,234,220,12,199,255,252,242,15,16,4,199,
+ 252,242,15,89,4,252,234,255,221,4,199,220,12,252,234,255,252,242,15,16,4,
+ 252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,
+ 4,252,234,252,242,15,94,4,199,255,221,4,252,234,220,52,199,255,252,242,15,
+ 16,4,199,252,242,15,94,4,252,234,255,221,4,199,220,52,252,234,255,252,242,
+ 15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,194,255,252,
+ 242,15,16,4,252,234,252,242,15,16,12,199,255,221,4,252,234,221,4,199,255,
+ 252,242,15,16,4,199,252,242,15,16,12,252,234,255,221,4,199,221,4,252,234,
+ 255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252,234,221,4,
+ 194,255,248,157,232,244,148,255,252,233,244,157,255,232,244,107,255,15,182,
+ 252,236,15,182,192,139,76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,
+ 248,33,137,205,137,116,36,100,232,251,1,25,139,149,233,133,192,15,133,244,
+ 42,15,182,110,252,255,15,182,78,252,253,72,139,4,252,234,72,137,4,202,139,
+ 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,72,252,
+ 247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,
+ 131,198,4,193,232,16,252,255,36,252,235,255,15,191,192,252,242,15,42,192,
+ 252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,15,16,4,199,
+ 252,242,15,17,4,202,255,221,4,199,221,28,202,255,72,252,247,208,137,68,202,
+ 4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,
+ 141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,
+ 57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
+ 255,36,252,235,255,139,106,252,248,139,172,253,133,233,139,173,233,72,139,
+ 69,0,72,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
+ 36,252,235,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,173,
+ 233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,
+ 233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,
+ 16,252,255,36,252,235,248,2,129,232,239,129,252,248,239,15,134,244,1,252,
+ 246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1,26,137,252,
+ 234,252,233,244,1,255,72,252,247,208,139,106,252,248,139,172,253,141,233,
+ 139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,
+ 248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
+ 235,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,
+ 213,137,194,141,139,233,232,251,1,26,137,252,234,252,233,244,1,255,139,106,
+ 252,248,255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,
+ 242,15,17,1,255,221,25,255,72,252,247,208,139,106,252,248,139,172,253,141,
+ 233,139,141,233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
+ 252,255,36,252,235,255,141,180,253,134,233,139,108,36,96,131,189,233,0,15,
+ 132,244,247,137,149,233,141,20,202,137,252,233,232,251,1,27,139,149,233,248,
+ 1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,
+ 72,252,247,208,139,108,36,96,137,149,233,68,139,66,252,248,139,20,135,137,
+ 252,233,137,116,36,100,232,251,1,28,139,149,233,15,182,78,252,253,137,4,202,
+ 199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
+ 36,252,235,255,139,108,36,96,137,149,233,139,139,233,59,139,233,137,116,36,
+ 100,15,131,244,251,248,1,65,137,192,37,252,255,7,0,0,65,193,232,11,61,252,
+ 255,7,0,0,15,132,244,249,248,2,137,252,233,137,194,232,251,1,29,139,149,233,
+ 15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,
+ 131,198,4,193,232,16,252,255,36,252,235,248,3,184,1,8,0,0,252,233,244,2,248,
+ 5,137,252,233,232,251,1,30,15,183,70,252,254,252,233,244,1,255,72,252,247,
+ 208,139,108,36,96,139,139,233,137,116,36,100,59,139,233,137,149,233,15,131,
+ 244,249,248,2,139,20,135,137,252,233,232,251,1,31,139,149,233,15,182,78,252,
+ 253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,
+ 232,16,252,255,36,252,235,248,3,137,252,233,232,251,1,30,15,183,70,252,254,
+ 72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,233,
+ 139,4,135,252,233,244,158,255,72,252,247,208,139,106,252,248,139,173,233,
+ 139,4,135,252,233,244,159,255,15,182,252,236,15,182,192,129,124,253,252,234,
+ 4,239,15,133,244,36,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255,
+ 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,
+ 15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,
+ 239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,
+ 232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,
+ 249,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252,253,248,3,
+ 255,199,68,202,4,237,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,
+ 36,139,4,194,252,233,244,158,255,15,182,252,236,15,182,192,72,252,247,208,
+ 139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,158,
+ 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,
+ 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,
+ 70,252,253,72,139,41,72,137,44,194,248,2,255,139,6,15,182,204,15,182,232,
+ 131,198,4,193,232,16,252,255,36,252,235,248,3,15,182,70,252,253,199,68,194,
+ 4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,
+ 233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,34,
+ 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,35,139,
+ 44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239,
+ 15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,232,
+ 131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,249,
+ 139,141,233,252,246,129,233,235,15,132,244,35,255,15,182,78,252,253,248,3,
+ 199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,253,
+ 252,234,4,239,15,133,244,39,139,44,252,234,129,124,253,194,4,239,15,135,244,
+ 251,255,15,133,244,39,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,
253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,
- 139,12,202,72,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
- 255,36,252,235,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,
- 233,235,15,132,244,38,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,
- 139,139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,
- 124,36,80,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,
- 15,133,244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1,252,248,59,133,
- 233,15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,72,139,41,131,193,
- 8,72,137,47,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,80,139,6,15,
- 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,139,76,36,
- 96,137,145,233,137,252,234,65,137,192,137,205,137,116,36,100,232,251,1,33,
- 139,149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,
- 131,233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,84,255,129,124,
- 253,202,4,239,139,44,202,15,133,244,51,141,84,202,8,137,114,252,252,139,181,
- 233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,141,
- 76,202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,28,248,
- 52,139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,
- 68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131,193,8,72,137,47,131,
- 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,84,128,189,233,
- 1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,131,198,
- 4,252,255,36,252,235,248,5,255,252,247,198,237,15,133,244,4,15,182,78,252,
- 253,72,252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252,
- 233,244,4,248,7,129,252,238,239,252,247,198,237,15,133,244,254,41,252,242,
- 137,215,139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255,
- 141,76,202,8,72,139,105,232,72,139,65,252,240,72,137,41,72,137,65,8,139,105,
- 224,139,65,228,137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,
- 133,244,28,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,
- 205,131,198,4,252,255,36,252,235,255,137,124,36,80,137,92,36,84,139,108,202,
- 252,240,139,68,202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216,
- 15,131,244,251,129,124,253,199,4,239,15,132,244,250,255,252,242,15,42,192,
- 255,219,68,202,252,248,255,72,139,44,199,72,137,108,202,8,131,192,1,255,137,
- 68,202,252,248,248,2,15,183,70,252,254,141,180,253,134,233,248,3,139,92,36,
- 84,139,124,36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
- 36,252,235,248,4,131,192,1,255,137,68,202,252,248,255,252,233,244,1,248,5,
- 41,216,248,6,59,133,233,15,135,244,3,105,252,248,239,3,189,233,129,191,233,
- 239,15,132,244,253,141,92,24,1,72,139,175,233,72,139,135,233,72,137,44,202,
- 72,137,68,202,8,137,92,202,252,248,252,233,244,2,248,7,131,192,1,252,233,
- 244,6,255,129,124,253,202,252,236,239,15,133,244,251,139,108,202,232,129,
- 124,253,202,252,244,239,15,133,244,251,129,124,253,202,252,252,239,15,133,
- 244,251,128,189,233,235,15,133,244,251,141,180,253,134,233,199,68,202,252,
- 248,0,0,0,0,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
- 36,252,235,248,5,198,70,252,252,235,141,180,253,134,233,198,6,235,252,233,
- 244,1,255,15,182,252,236,15,182,192,137,124,36,80,141,188,253,194,233,141,
- 12,202,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233,252,248,
- 57,215,15,131,244,248,248,1,72,139,71,252,248,131,199,8,72,137,1,131,193,
- 8,57,252,233,15,131,244,249,57,215,15,130,244,1,248,2,199,65,4,237,131,193,
- 8,57,252,233,15,130,244,2,248,3,139,124,36,80,139,6,15,182,204,15,182,232,
- 131,198,4,193,232,16,252,255,36,252,235,248,5,199,68,36,84,1,0,0,0,137,208,
- 41,252,248,15,134,244,3,137,197,193,252,237,3,131,197,1,137,108,36,84,139,
- 108,36,96,1,200,59,133,233,15,135,244,253,248,6,255,72,139,71,252,248,131,
- 199,8,72,137,1,131,193,8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,
- 233,137,141,233,137,116,36,100,41,215,139,84,36,84,131,252,234,1,137,252,
- 233,232,251,1,0,139,149,233,139,141,233,1,215,252,233,244,6,255,193,225,3,
- 255,248,1,139,114,252,252,137,68,36,84,252,247,198,237,15,133,244,253,255,
- 248,13,137,215,131,232,1,15,132,244,249,248,2,72,139,44,15,72,137,111,252,
- 248,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,84,15,182,110,252,255,
- 248,5,57,197,15,135,244,252,255,72,139,44,10,72,137,106,252,248,255,248,5,
- 56,70,252,255,15,135,244,252,255,15,182,78,252,253,72,252,247,209,141,20,
- 202,139,122,252,248,139,191,233,139,191,233,139,6,15,182,204,15,182,232,131,
- 198,4,193,232,16,252,255,36,252,235,248,6,255,199,71,252,252,237,131,199,
- 8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,7,141,174,233,
- 252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255,137,252,245,209,
- 252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,140,255,141,12,202,
- 255,129,121,253,4,239,15,135,244,53,129,121,253,12,239,15,135,244,53,255,
- 139,105,20,255,129,252,253,239,15,135,244,53,255,252,242,15,16,1,252,242,
- 15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,
- 249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,
- 65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,
- 221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,70,252,254,255,15,131,
- 244,248,141,180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,
- 131,245,255,15,130,244,248,141,180,253,134,233,255,248,3,102,15,46,193,252,
- 233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,
- 105,252,252,139,41,137,105,252,248,252,233,245,255,141,180,253,134,233,139,
- 1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,72,139,128,233,
- 139,108,36,96,137,147,233,137,171,233,76,137,100,36,80,76,137,108,36,32,76,
- 137,116,36,24,76,137,124,36,16,72,137,225,72,129,252,236,239,102,15,127,49,
- 102,15,127,185,233,102,68,15,127,129,233,102,68,15,127,137,233,102,68,15,
- 127,145,233,102,68,15,127,153,233,102,68,15,127,161,233,102,68,15,127,169,
- 233,102,68,15,127,177,233,102,68,15,127,185,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,252,235,
- 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,96,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,96,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,252,235,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,72,
- 139,189,233,139,108,36,96,141,68,194,252,248,137,149,233,141,136,233,59,141,
- 233,137,133,233,255,137,252,233,255,72,137,252,250,137,252,233,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
+ 139,44,202,72,137,40,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
+ 255,36,252,235,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,
+ 233,235,15,132,244,39,15,182,78,252,253,252,233,244,1,248,5,129,124,253,194,
+ 4,239,15,133,244,39,139,4,194,252,233,244,159,248,7,128,165,233,235,139,139,
+ 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182,252,
+ 236,15,182,192,72,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,
+ 244,37,139,44,252,234,248,159,139,141,233,35,136,233,105,201,239,198,133,
+ 233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,
+ 251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,
+ 244,253,248,3,15,182,70,252,253,72,139,44,194,72,137,41,139,6,15,182,204,
+ 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,131,189,233,0,15,
+ 132,244,2,137,76,36,80,139,141,233,252,246,129,233,235,15,132,244,37,139,
+ 76,36,80,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,
+ 233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37,248,6,137,68,
+ 36,80,199,68,36,84,237,137,108,36,32,139,76,36,96,137,145,233,76,141,68,36,
+ 80,137,252,234,137,205,137,116,36,100,232,251,1,32,139,149,233,139,108,36,
+ 32,137,193,252,233,244,2,248,7,128,165,233,235,139,131,233,137,171,233,137,
+ 133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,234,4,
+ 239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,
+ 233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,
+ 253,248,2,72,139,12,202,72,137,8,139,6,15,182,204,15,182,232,131,198,4,193,
+ 232,16,252,255,36,252,235,248,3,131,189,233,0,15,132,244,1,255,139,141,233,
+ 252,246,129,233,235,15,132,244,38,15,182,78,252,253,252,233,244,1,248,7,128,
+ 165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,
+ 244,2,255,137,124,36,80,139,60,199,248,1,141,12,202,139,105,252,248,252,246,
+ 133,233,235,15,133,244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1,
+ 252,248,59,133,233,15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,72,
+ 139,41,131,193,8,72,137,47,131,199,8,131,232,1,15,133,244,3,248,4,139,124,
+ 36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
+ 248,5,139,76,36,96,137,145,233,137,252,234,65,137,192,137,205,137,116,36,
+ 100,232,251,1,33,139,149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,
+ 165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,
+ 84,255,129,124,253,202,4,239,139,44,202,15,133,244,51,141,84,202,8,137,114,
+ 252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,
+ 252,235,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239,
+ 15,133,244,28,248,52,139,114,252,252,252,247,198,237,15,133,244,253,248,1,
+ 137,106,252,248,137,68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131,
+ 193,8,72,137,47,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,
+ 68,36,84,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,
+ 233,15,182,205,131,198,4,252,255,36,252,235,248,5,255,252,247,198,237,15,
+ 133,244,4,15,182,78,252,253,72,252,247,209,141,12,202,139,121,252,248,139,
+ 191,233,139,191,233,252,233,244,4,248,7,129,252,238,239,252,247,198,237,15,
+ 133,244,254,41,252,242,137,215,139,114,252,252,252,233,244,1,248,8,129,198,
+ 239,252,233,244,1,255,141,76,202,8,72,139,105,232,72,139,65,252,240,72,137,
+ 41,72,137,65,8,139,105,224,139,65,228,137,105,252,248,137,65,252,252,129,
+ 252,248,239,184,237,15,133,244,28,137,202,137,114,252,252,139,181,233,139,
+ 14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,137,124,36,
+ 80,137,92,36,84,139,108,202,252,240,139,68,202,252,248,139,157,233,131,198,
+ 4,139,189,233,248,1,57,216,15,131,244,251,129,124,253,199,4,239,15,132,244,
+ 250,255,252,242,15,42,192,255,219,68,202,252,248,255,72,139,44,199,72,137,
+ 108,202,8,131,192,1,255,137,68,202,252,248,248,2,15,183,70,252,254,141,180,
+ 253,134,233,248,3,139,92,36,84,139,124,36,80,139,6,15,182,204,15,182,232,
+ 131,198,4,193,232,16,252,255,36,252,235,248,4,131,192,1,255,137,68,202,252,
+ 248,255,252,233,244,1,248,5,41,216,248,6,59,133,233,15,135,244,3,105,252,
+ 248,239,3,189,233,129,191,233,239,15,132,244,253,141,92,24,1,72,139,175,233,
+ 72,139,135,233,72,137,44,202,72,137,68,202,8,137,92,202,252,248,252,233,244,
+ 2,248,7,131,192,1,252,233,244,6,255,129,124,253,202,252,236,239,15,133,244,
+ 251,139,108,202,232,129,124,253,202,252,244,239,15,133,244,251,129,124,253,
+ 202,252,252,239,15,133,244,251,128,189,233,235,15,133,244,251,141,180,253,
+ 134,233,199,68,202,252,248,0,0,0,0,248,1,139,6,15,182,204,15,182,232,131,
+ 198,4,193,232,16,252,255,36,252,235,248,5,198,70,252,252,235,141,180,253,
+ 134,233,198,6,235,252,233,244,1,255,15,182,252,236,15,182,192,137,124,36,
+ 80,141,188,253,194,233,141,12,202,43,122,252,252,133,252,237,15,132,244,251,
+ 141,108,252,233,252,248,57,215,15,131,244,248,248,1,72,139,71,252,248,131,
+ 199,8,72,137,1,131,193,8,57,252,233,15,131,244,249,57,215,15,130,244,1,248,
+ 2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248,3,139,124,36,80,139,
+ 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,199,
+ 68,36,84,1,0,0,0,137,208,41,252,248,15,134,244,3,137,197,193,252,237,3,131,
+ 197,1,137,108,36,84,139,108,36,96,1,200,59,133,233,15,135,244,253,248,6,255,
+ 72,139,71,252,248,131,199,8,72,137,1,131,193,8,57,215,15,130,244,6,252,233,
+ 244,3,248,7,137,149,233,137,141,233,137,116,36,100,41,215,139,84,36,84,131,
+ 252,234,1,137,252,233,232,251,1,0,139,149,233,139,141,233,1,215,252,233,244,
+ 6,255,193,225,3,255,248,1,139,114,252,252,137,68,36,84,252,247,198,237,15,
+ 133,244,253,255,248,13,137,215,131,232,1,15,132,244,249,248,2,72,139,44,15,
+ 72,137,111,252,248,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,84,15,
+ 182,110,252,255,248,5,57,197,15,135,244,252,255,72,139,44,10,72,137,106,252,
+ 248,255,248,5,56,70,252,255,15,135,244,252,255,15,182,78,252,253,72,252,247,
+ 209,141,20,202,139,122,252,248,139,191,233,139,191,233,139,6,15,182,204,15,
+ 182,232,131,198,4,193,232,16,252,255,36,252,235,248,6,255,199,71,252,252,
+ 237,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,
+ 7,141,174,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255,
+ 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,140,
+ 255,141,12,202,255,129,121,253,4,239,15,135,244,53,129,121,253,12,239,15,
+ 135,244,53,255,139,105,20,255,129,252,253,239,15,135,244,53,255,252,242,15,
+ 16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,
+ 15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,
+ 24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,
+ 247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,70,252,254,
+ 255,15,131,244,248,141,180,253,134,233,255,141,180,253,134,233,15,183,70,
+ 252,254,15,131,245,255,15,130,244,248,141,180,253,134,233,255,248,3,102,15,
+ 46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,132,244,
+ 247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,255,141,180,253,
+ 134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,72,
+ 139,128,233,139,108,36,96,137,147,233,137,171,233,76,137,100,36,80,76,137,
+ 108,36,32,76,137,116,36,24,76,137,124,36,16,72,137,225,72,129,252,236,239,
+ 102,15,127,49,102,15,127,185,233,102,68,15,127,129,233,102,68,15,127,137,
+ 233,102,68,15,127,145,233,102,68,15,127,153,233,102,68,15,127,161,233,102,
+ 68,15,127,169,233,102,68,15,127,177,233,102,68,15,127,185,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,252,235,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,96,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,96,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,252,235,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,72,139,189,233,139,108,36,96,141,68,194,252,248,137,149,233,141,
+ 136,233,59,141,233,137,133,233,255,137,252,233,255,72,137,252,250,137,252,
+ 233,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 {
dasm_put(Dst, 9413);
#if LJ_HASFFI
#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
- dasm_put(Dst, 9441, DtE(->spadj), DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->fpr[0]), DtE(->fpr[1]), DtE(->fpr[2]));
- dasm_put(Dst, 9530, DtE(->fpr[3]), DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]));
+ dasm_put(Dst, 9441, DtE(->spadj));
+#if LJ_TARGET_WINDOWS
+#endif
+ dasm_put(Dst, 9456, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->fpr[0]), DtE(->fpr[1]), DtE(->fpr[2]), DtE(->fpr[3]));
+ dasm_put(Dst, 9537, DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]));
+#if LJ_TARGET_WINDOWS
+#endif
+ dasm_put(Dst, 9550);
#endif
}
/* Remember: all ops branch for a true comparison, fall through otherwise. */
case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
- dasm_put(Dst, 9556, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 9558, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 9577);
+ dasm_put(Dst, 9579);
} else {
- dasm_put(Dst, 9592);
+ dasm_put(Dst, 9594);
if (cmov) {
- dasm_put(Dst, 9602);
+ dasm_put(Dst, 9604);
} else {
- dasm_put(Dst, 9608);
+ dasm_put(Dst, 9610);
}
}
switch (op) {
case BC_ISLT:
- dasm_put(Dst, 9615);
+ dasm_put(Dst, 9617);
break;
case BC_ISGE:
dasm_put(Dst, 9293);
dasm_put(Dst, 5854);
break;
case BC_ISGT:
- dasm_put(Dst, 9620);
+ dasm_put(Dst, 9622);
break;
default: break; /* Shut up GCC. */
}
- dasm_put(Dst, 9625, -BCBIAS_J*4);
+ dasm_put(Dst, 9627, -BCBIAS_J*4);
break;
case BC_ISEQV: case BC_ISNEV:
vk = op == BC_ISEQV;
- dasm_put(Dst, 9659, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 9661, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 9685);
+ dasm_put(Dst, 9687);
} else {
- dasm_put(Dst, 9697);
+ dasm_put(Dst, 9699);
if (cmov) {
- dasm_put(Dst, 9602);
+ dasm_put(Dst, 9604);
} else {
- dasm_put(Dst, 9608);
+ dasm_put(Dst, 9610);
}
}
iseqne_fp:
if (vk) {
- dasm_put(Dst, 9704);
+ dasm_put(Dst, 9706);
} else {
- dasm_put(Dst, 9713);
+ dasm_put(Dst, 9715);
}
iseqne_end:
if (vk) {
- dasm_put(Dst, 9722, -BCBIAS_J*4);
+ dasm_put(Dst, 9724, -BCBIAS_J*4);
} else {
- dasm_put(Dst, 9737, -BCBIAS_J*4);
+ dasm_put(Dst, 9739, -BCBIAS_J*4);
}
- dasm_put(Dst, 9639);
+ dasm_put(Dst, 9641);
if (op == BC_ISEQV || op == BC_ISNEV) {
- dasm_put(Dst, 9752, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
+ dasm_put(Dst, 9754, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
if (vk) {
- dasm_put(Dst, 9810);
+ dasm_put(Dst, 9812);
} else {
- dasm_put(Dst, 9814);
+ dasm_put(Dst, 9816);
}
- dasm_put(Dst, 9820);
+ dasm_put(Dst, 9822);
}
break;
case BC_ISEQS: case BC_ISNES:
vk = op == BC_ISEQS;
- dasm_put(Dst, 9825, LJ_TSTR);
+ dasm_put(Dst, 9827, LJ_TSTR);
iseqne_test:
if (vk) {
- dasm_put(Dst, 9708);
+ dasm_put(Dst, 9710);
} else {
dasm_put(Dst, 2772);
}
goto iseqne_end;
case BC_ISEQN: case BC_ISNEN:
vk = op == BC_ISEQN;
- dasm_put(Dst, 9849, LJ_TISNUM);
+ dasm_put(Dst, 9851, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 9863);
+ dasm_put(Dst, 9865);
} else {
- dasm_put(Dst, 9875);
+ dasm_put(Dst, 9877);
if (cmov) {
- dasm_put(Dst, 9602);
+ dasm_put(Dst, 9604);
} else {
- dasm_put(Dst, 9608);
+ dasm_put(Dst, 9610);
}
}
goto iseqne_fp;
case BC_ISEQP: case BC_ISNEP:
vk = op == BC_ISEQP;
- dasm_put(Dst, 9882);
+ dasm_put(Dst, 9884);
goto iseqne_test;
/* -- Unary test and copy ops ------------------------------------------- */
case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
- dasm_put(Dst, 9894, LJ_TISTRUECOND);
+ dasm_put(Dst, 9896, LJ_TISTRUECOND);
if (op == BC_IST || op == BC_ISTC) {
- dasm_put(Dst, 9906);
+ dasm_put(Dst, 9908);
} else {
- dasm_put(Dst, 9911);
+ dasm_put(Dst, 9913);
}
if (op == BC_ISTC || op == BC_ISFC) {
- dasm_put(Dst, 9916);
+ dasm_put(Dst, 9918);
}
- dasm_put(Dst, 9927, -BCBIAS_J*4);
+ dasm_put(Dst, 9929, -BCBIAS_J*4);
break;
/* -- Unary ops --------------------------------------------------------- */
case BC_MOV:
- dasm_put(Dst, 9959);
+ dasm_put(Dst, 9961);
break;
case BC_NOT:
- dasm_put(Dst, 9987, LJ_TISTRUECOND, LJ_TTRUE);
+ dasm_put(Dst, 9989, LJ_TISTRUECOND, LJ_TTRUE);
break;
case BC_UNM:
- dasm_put(Dst, 10023, LJ_TISNUM);
+ dasm_put(Dst, 10025, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10034, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
+ dasm_put(Dst, 10036, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
} else {
- dasm_put(Dst, 10059);
+ dasm_put(Dst, 10061);
}
- dasm_put(Dst, 9639);
+ dasm_put(Dst, 9641);
break;
case BC_LEN:
- dasm_put(Dst, 10068, LJ_TSTR);
+ dasm_put(Dst, 10070, LJ_TSTR);
if (sse) {
- dasm_put(Dst, 10082, Dt5(->len));
+ dasm_put(Dst, 10084, Dt5(->len));
} else {
- dasm_put(Dst, 10100, Dt5(->len));
+ dasm_put(Dst, 10102, Dt5(->len));
}
- dasm_put(Dst, 10109, LJ_TTAB);
+ dasm_put(Dst, 10111, LJ_TTAB);
if (sse) {
- dasm_put(Dst, 10150);
+ dasm_put(Dst, 10152);
} else {
}
- dasm_put(Dst, 10159);
+ dasm_put(Dst, 10161);
break;
/* -- Binary ops -------------------------------------------------------- */
case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
- dasm_put(Dst, 10169);
+ dasm_put(Dst, 10171);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 10177, LJ_TISNUM);
+ dasm_put(Dst, 10179, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10189);
+ dasm_put(Dst, 10191);
} else {
- dasm_put(Dst, 10203);
+ dasm_put(Dst, 10205);
}
break;
case 1:
- dasm_put(Dst, 10211, LJ_TISNUM);
+ dasm_put(Dst, 10213, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10223);
+ dasm_put(Dst, 10225);
} else {
- dasm_put(Dst, 10237);
+ dasm_put(Dst, 10239);
}
break;
default:
- dasm_put(Dst, 10245, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 10247, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10267);
+ dasm_put(Dst, 10269);
} else {
- dasm_put(Dst, 10281);
+ dasm_put(Dst, 10283);
}
break;
}
if (sse) {
- dasm_put(Dst, 10052);
+ dasm_put(Dst, 10054);
} else {
- dasm_put(Dst, 10064);
+ dasm_put(Dst, 10066);
}
- dasm_put(Dst, 9639);
+ dasm_put(Dst, 9641);
break;
case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
- dasm_put(Dst, 10169);
+ dasm_put(Dst, 10171);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 10177, LJ_TISNUM);
+ dasm_put(Dst, 10179, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10289);
+ dasm_put(Dst, 10291);
} else {
- dasm_put(Dst, 10303);
+ dasm_put(Dst, 10305);
}
break;
case 1:
- dasm_put(Dst, 10211, LJ_TISNUM);
+ dasm_put(Dst, 10213, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10311);
+ dasm_put(Dst, 10313);
} else {
- dasm_put(Dst, 10325);
+ dasm_put(Dst, 10327);
}
break;
default:
- dasm_put(Dst, 10245, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 10247, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10333);
+ dasm_put(Dst, 10335);
} else {
- dasm_put(Dst, 10347);
+ dasm_put(Dst, 10349);
}
break;
}
if (sse) {
- dasm_put(Dst, 10052);
+ dasm_put(Dst, 10054);
} else {
- dasm_put(Dst, 10064);
+ dasm_put(Dst, 10066);
}
- dasm_put(Dst, 9639);
+ dasm_put(Dst, 9641);
break;
case BC_MULVN: case BC_MULNV: case BC_MULVV:
- dasm_put(Dst, 10169);
+ dasm_put(Dst, 10171);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 10177, LJ_TISNUM);
+ dasm_put(Dst, 10179, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10355);
+ dasm_put(Dst, 10357);
} else {
- dasm_put(Dst, 10369);
+ dasm_put(Dst, 10371);
}
break;
case 1:
- dasm_put(Dst, 10211, LJ_TISNUM);
+ dasm_put(Dst, 10213, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10377);
+ dasm_put(Dst, 10379);
} else {
- dasm_put(Dst, 10391);
+ dasm_put(Dst, 10393);
}
break;
default:
- dasm_put(Dst, 10245, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 10247, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10399);
+ dasm_put(Dst, 10401);
} else {
- dasm_put(Dst, 10413);
+ dasm_put(Dst, 10415);
}
break;
}
if (sse) {
- dasm_put(Dst, 10052);
+ dasm_put(Dst, 10054);
} else {
- dasm_put(Dst, 10064);
+ dasm_put(Dst, 10066);
}
- dasm_put(Dst, 9639);
+ dasm_put(Dst, 9641);
break;
case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
- dasm_put(Dst, 10169);
+ dasm_put(Dst, 10171);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 10177, LJ_TISNUM);
+ dasm_put(Dst, 10179, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10421);
+ dasm_put(Dst, 10423);
} else {
- dasm_put(Dst, 10435);
+ dasm_put(Dst, 10437);
}
break;
case 1:
- dasm_put(Dst, 10211, LJ_TISNUM);
+ dasm_put(Dst, 10213, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10443);
+ dasm_put(Dst, 10445);
} else {
- dasm_put(Dst, 10457);
+ dasm_put(Dst, 10459);
}
break;
default:
- dasm_put(Dst, 10245, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 10247, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10465);
+ dasm_put(Dst, 10467);
} else {
- dasm_put(Dst, 10479);
+ dasm_put(Dst, 10481);
}
break;
}
if (sse) {
- dasm_put(Dst, 10052);
+ dasm_put(Dst, 10054);
} else {
- dasm_put(Dst, 10064);
+ dasm_put(Dst, 10066);
}
- dasm_put(Dst, 9639);
+ dasm_put(Dst, 9641);
break;
case BC_MODVN:
- dasm_put(Dst, 10169);
+ dasm_put(Dst, 10171);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 10177, LJ_TISNUM);
+ dasm_put(Dst, 10179, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10487);
+ dasm_put(Dst, 10489);
} else {
- dasm_put(Dst, 10501);
+ dasm_put(Dst, 10503);
}
break;
case 1:
- dasm_put(Dst, 10211, LJ_TISNUM);
+ dasm_put(Dst, 10213, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10509);
+ dasm_put(Dst, 10511);
} else {
- dasm_put(Dst, 10523);
+ dasm_put(Dst, 10525);
}
break;
default:
- dasm_put(Dst, 10245, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 10247, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10531);
+ dasm_put(Dst, 10533);
} else {
- dasm_put(Dst, 10545);
+ dasm_put(Dst, 10547);
}
break;
}
- dasm_put(Dst, 10553);
+ dasm_put(Dst, 10555);
if (sse) {
- dasm_put(Dst, 10052);
+ dasm_put(Dst, 10054);
} else {
- dasm_put(Dst, 10064);
+ dasm_put(Dst, 10066);
}
- dasm_put(Dst, 9639);
+ dasm_put(Dst, 9641);
break;
case BC_MODNV: case BC_MODVV:
- dasm_put(Dst, 10169);
+ dasm_put(Dst, 10171);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 10177, LJ_TISNUM);
+ dasm_put(Dst, 10179, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10487);
+ dasm_put(Dst, 10489);
} else {
- dasm_put(Dst, 10501);
+ dasm_put(Dst, 10503);
}
break;
case 1:
- dasm_put(Dst, 10211, LJ_TISNUM);
+ dasm_put(Dst, 10213, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10509);
+ dasm_put(Dst, 10511);
} else {
- dasm_put(Dst, 10523);
+ dasm_put(Dst, 10525);
}
break;
default:
- dasm_put(Dst, 10245, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 10247, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10531);
+ dasm_put(Dst, 10533);
} else {
- dasm_put(Dst, 10545);
+ dasm_put(Dst, 10547);
}
break;
}
- dasm_put(Dst, 10559);
+ dasm_put(Dst, 10561);
break;
case BC_POW:
- dasm_put(Dst, 10169);
+ dasm_put(Dst, 10171);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 10177, LJ_TISNUM);
+ dasm_put(Dst, 10179, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10487);
+ dasm_put(Dst, 10489);
} else {
- dasm_put(Dst, 10501);
+ dasm_put(Dst, 10503);
}
break;
case 1:
- dasm_put(Dst, 10211, LJ_TISNUM);
+ dasm_put(Dst, 10213, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10509);
+ dasm_put(Dst, 10511);
} else {
- dasm_put(Dst, 10523);
+ dasm_put(Dst, 10525);
}
break;
default:
- dasm_put(Dst, 10245, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 10247, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10531);
+ dasm_put(Dst, 10533);
} else {
- dasm_put(Dst, 10545);
+ dasm_put(Dst, 10547);
}
break;
}
- dasm_put(Dst, 10564);
+ dasm_put(Dst, 10566);
if (sse) {
- dasm_put(Dst, 10052);
+ dasm_put(Dst, 10054);
} else {
- dasm_put(Dst, 10064);
+ dasm_put(Dst, 10066);
}
- dasm_put(Dst, 9639);
+ dasm_put(Dst, 9641);
break;
case BC_CAT:
- dasm_put(Dst, 10568, Dt1(->base), Dt1(->base));
+ dasm_put(Dst, 10570, Dt1(->base), Dt1(->base));
break;
/* -- Constant ops ------------------------------------------------------ */
case BC_KSTR:
- dasm_put(Dst, 10651, LJ_TSTR);
+ dasm_put(Dst, 10653, LJ_TSTR);
break;
case BC_KCDATA:
#if LJ_HASFFI
- dasm_put(Dst, 10651, LJ_TCDATA);
+ dasm_put(Dst, 10653, LJ_TCDATA);
#endif
break;
case BC_KSHORT:
if (sse) {
- dasm_put(Dst, 10686);
+ dasm_put(Dst, 10688);
} else {
- dasm_put(Dst, 10701);
+ dasm_put(Dst, 10703);
}
- dasm_put(Dst, 9639);
+ dasm_put(Dst, 9641);
break;
case BC_KNUM:
if (sse) {
- dasm_put(Dst, 10709);
+ dasm_put(Dst, 10711);
} else {
- dasm_put(Dst, 10722);
+ dasm_put(Dst, 10724);
}
- dasm_put(Dst, 9639);
+ dasm_put(Dst, 9641);
break;
case BC_KPRI:
- dasm_put(Dst, 10729);
+ dasm_put(Dst, 10731);
break;
case BC_KNIL:
- dasm_put(Dst, 10757, LJ_TNIL);
+ dasm_put(Dst, 10759, LJ_TNIL);
break;
/* -- Upvalue and function ops ------------------------------------------ */
case BC_UGET:
- dasm_put(Dst, 10804, offsetof(GCfuncL, uvptr), DtA(->v));
+ dasm_put(Dst, 10806, offsetof(GCfuncL, uvptr), DtA(->v));
break;
case BC_USETV:
#define TV2MARKOFS \
((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
- dasm_put(Dst, 10844, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
- dasm_put(Dst, 10935);
+ dasm_put(Dst, 10846, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
+ dasm_put(Dst, 10937);
break;
#undef TV2MARKOFS
case BC_USETS:
- dasm_put(Dst, 10947, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
+ dasm_put(Dst, 10949, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
break;
case BC_USETN:
- dasm_put(Dst, 11040);
+ dasm_put(Dst, 11042);
if (sse) {
- dasm_put(Dst, 11045);
+ dasm_put(Dst, 11047);
} else {
- dasm_put(Dst, 9878);
+ dasm_put(Dst, 9880);
}
- dasm_put(Dst, 11052, offsetof(GCfuncL, uvptr), DtA(->v));
+ dasm_put(Dst, 11054, offsetof(GCfuncL, uvptr), DtA(->v));
if (sse) {
- dasm_put(Dst, 11061);
+ dasm_put(Dst, 11063);
} else {
- dasm_put(Dst, 11067);
+ dasm_put(Dst, 11069);
}
- dasm_put(Dst, 9639);
+ dasm_put(Dst, 9641);
break;
case BC_USETP:
- dasm_put(Dst, 11070, offsetof(GCfuncL, uvptr), DtA(->v));
+ dasm_put(Dst, 11072, offsetof(GCfuncL, uvptr), DtA(->v));
break;
case BC_UCLO:
- dasm_put(Dst, 11109, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
+ dasm_put(Dst, 11111, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
break;
case BC_FNEW:
- dasm_put(Dst, 11164, Dt1(->base), Dt1(->base), LJ_TFUNC);
+ dasm_put(Dst, 11166, Dt1(->base), Dt1(->base), LJ_TFUNC);
break;
/* -- Table ops --------------------------------------------------------- */
case BC_TNEW:
- dasm_put(Dst, 11230, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
+ dasm_put(Dst, 11232, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
break;
case BC_TDUP:
- dasm_put(Dst, 11352, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
+ dasm_put(Dst, 11354, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
break;
case BC_GGET:
- dasm_put(Dst, 11447, Dt7(->env));
+ dasm_put(Dst, 11449, Dt7(->env));
break;
case BC_GSET:
- dasm_put(Dst, 11466, Dt7(->env));
+ dasm_put(Dst, 11468, Dt7(->env));
break;
case BC_TGETV:
- dasm_put(Dst, 11485, LJ_TTAB, LJ_TISNUM);
+ dasm_put(Dst, 11487, LJ_TTAB, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11518);
+ dasm_put(Dst, 11520);
} else {
}
- dasm_put(Dst, 11539, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
- dasm_put(Dst, 11623, LJ_TNIL, LJ_TSTR);
+ dasm_put(Dst, 11541, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
+ dasm_put(Dst, 11625, LJ_TNIL, LJ_TSTR);
break;
case BC_TGETS:
- dasm_put(Dst, 11652, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
- dasm_put(Dst, 11736, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
+ dasm_put(Dst, 11654, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
+ dasm_put(Dst, 11738, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
break;
case BC_TGETB:
- dasm_put(Dst, 11807, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
- dasm_put(Dst, 11902, LJ_TNIL);
+ dasm_put(Dst, 11809, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
+ dasm_put(Dst, 11904, LJ_TNIL);
break;
case BC_TSETV:
- dasm_put(Dst, 11919, LJ_TTAB, LJ_TISNUM);
+ dasm_put(Dst, 11921, LJ_TTAB, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11518);
+ dasm_put(Dst, 11520);
} else {
}
- dasm_put(Dst, 11952, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
- dasm_put(Dst, 12031, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+ dasm_put(Dst, 11954, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
+ dasm_put(Dst, 12033, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
break;
case BC_TSETS:
- dasm_put(Dst, 12093, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
- dasm_put(Dst, 12169, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
- dasm_put(Dst, 12257, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+ dasm_put(Dst, 12095, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
+ dasm_put(Dst, 12171, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
+ dasm_put(Dst, 12259, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
break;
case BC_TSETB:
- dasm_put(Dst, 12348, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
- dasm_put(Dst, 12442, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+ dasm_put(Dst, 12350, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
+ dasm_put(Dst, 12444, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
break;
case BC_TSETM:
- dasm_put(Dst, 12488, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
- dasm_put(Dst, 12631, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+ dasm_put(Dst, 12490, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
+ dasm_put(Dst, 12633, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
break;
/* -- Calls and vararg handling ----------------------------------------- */
case BC_CALL: case BC_CALLM:
- dasm_put(Dst, 10173);
+ dasm_put(Dst, 10175);
if (op == BC_CALLM) {
- dasm_put(Dst, 12649);
+ dasm_put(Dst, 12651);
}
- dasm_put(Dst, 12654, LJ_TFUNC, Dt7(->pc));
+ dasm_put(Dst, 12656, LJ_TFUNC, Dt7(->pc));
break;
case BC_CALLMT:
- dasm_put(Dst, 12649);
+ dasm_put(Dst, 12651);
break;
case BC_CALLT:
- dasm_put(Dst, 12696, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
- dasm_put(Dst, 12811, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
+ dasm_put(Dst, 12698, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
+ dasm_put(Dst, 12813, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
break;
case BC_ITERC:
- dasm_put(Dst, 12882, LJ_TFUNC, 2+1, Dt7(->pc));
+ dasm_put(Dst, 12884, LJ_TFUNC, 2+1, Dt7(->pc));
break;
case BC_ITERN:
#if LJ_HASJIT
#endif
- dasm_put(Dst, 12953, Dt6(->asize), Dt6(->array), LJ_TNIL);
+ dasm_put(Dst, 12955, Dt6(->asize), Dt6(->array), LJ_TNIL);
if (sse) {
- dasm_put(Dst, 12999);
+ dasm_put(Dst, 13001);
} else {
- dasm_put(Dst, 13005);
+ dasm_put(Dst, 13007);
}
- dasm_put(Dst, 13011);
+ dasm_put(Dst, 13013);
if (sse) {
- dasm_put(Dst, 10052);
+ dasm_put(Dst, 10054);
} else {
- dasm_put(Dst, 10064);
+ dasm_put(Dst, 10066);
}
- dasm_put(Dst, 13024, -BCBIAS_J*4);
+ dasm_put(Dst, 13026, -BCBIAS_J*4);
if (!sse) {
- dasm_put(Dst, 13076);
+ dasm_put(Dst, 13078);
}
- dasm_put(Dst, 13082, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
+ dasm_put(Dst, 13084, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
break;
case BC_ISNEXT:
- dasm_put(Dst, 13154, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
+ dasm_put(Dst, 13156, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
break;
case BC_VARG:
- dasm_put(Dst, 13254, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
- dasm_put(Dst, 13414, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
+ dasm_put(Dst, 13256, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
+ dasm_put(Dst, 13416, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
break;
/* -- Returns ----------------------------------------------------------- */
case BC_RETM:
- dasm_put(Dst, 12649);
+ dasm_put(Dst, 12651);
break;
case BC_RET: case BC_RET0: case BC_RET1:
if (op != BC_RET0) {
- dasm_put(Dst, 13480);
+ dasm_put(Dst, 13482);
}
- dasm_put(Dst, 13484, FRAME_TYPE);
+ dasm_put(Dst, 13486, FRAME_TYPE);
switch (op) {
case BC_RET:
- dasm_put(Dst, 13503);
+ dasm_put(Dst, 13505);
break;
case BC_RET1:
- dasm_put(Dst, 13555);
+ dasm_put(Dst, 13557);
/* fallthrough */
case BC_RET0:
- dasm_put(Dst, 13565);
+ dasm_put(Dst, 13567);
default:
break;
}
- dasm_put(Dst, 13576, Dt7(->pc), PC2PROTO(k));
+ dasm_put(Dst, 13578, Dt7(->pc), PC2PROTO(k));
if (op == BC_RET) {
- dasm_put(Dst, 13620, LJ_TNIL);
+ dasm_put(Dst, 13622, LJ_TNIL);
} else {
- dasm_put(Dst, 13629, LJ_TNIL);
+ dasm_put(Dst, 13631, LJ_TNIL);
}
- dasm_put(Dst, 13636, -FRAME_VARG, FRAME_TYPEP);
+ dasm_put(Dst, 13638, -FRAME_VARG, FRAME_TYPEP);
if (op != BC_RET0) {
- dasm_put(Dst, 13660);
+ dasm_put(Dst, 13662);
}
dasm_put(Dst, 4522);
break;
case BC_FORL:
#if LJ_HASJIT
- dasm_put(Dst, 13664, HOTCOUNT_PCMASK, GG_DISP2HOT);
+ dasm_put(Dst, 13666, HOTCOUNT_PCMASK, GG_DISP2HOT);
#endif
break;
case BC_FORI:
case BC_IFORL:
vk = (op == BC_IFORL || op == BC_JFORL);
- dasm_put(Dst, 13685);
+ dasm_put(Dst, 13687);
if (!vk) {
- dasm_put(Dst, 13689, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 13691, LJ_TISNUM, LJ_TISNUM);
}
- dasm_put(Dst, 13708);
+ dasm_put(Dst, 13710);
if (!vk) {
- dasm_put(Dst, 13712, LJ_TISNUM);
+ dasm_put(Dst, 13714, LJ_TISNUM);
}
if (sse) {
- dasm_put(Dst, 13721);
+ dasm_put(Dst, 13723);
if (vk) {
- dasm_put(Dst, 13733);
+ dasm_put(Dst, 13735);
} else {
- dasm_put(Dst, 13752);
+ dasm_put(Dst, 13754);
}
- dasm_put(Dst, 13757);
+ dasm_put(Dst, 13759);
} else {
- dasm_put(Dst, 13770);
+ dasm_put(Dst, 13772);
if (vk) {
- dasm_put(Dst, 13776);
+ dasm_put(Dst, 13778);
} else {
- dasm_put(Dst, 13792);
+ dasm_put(Dst, 13794);
}
- dasm_put(Dst, 13800);
+ dasm_put(Dst, 13802);
if (cmov) {
- dasm_put(Dst, 9602);
+ dasm_put(Dst, 9604);
} else {
- dasm_put(Dst, 9608);
+ dasm_put(Dst, 9610);
}
if (!cmov) {
- dasm_put(Dst, 13805);
+ dasm_put(Dst, 13807);
}
}
if (op == BC_FORI) {
- dasm_put(Dst, 13811, -BCBIAS_J*4);
+ dasm_put(Dst, 13813, -BCBIAS_J*4);
} else if (op == BC_JFORI) {
- dasm_put(Dst, 13821, -BCBIAS_J*4, BC_JLOOP);
+ dasm_put(Dst, 13823, -BCBIAS_J*4, BC_JLOOP);
} else if (op == BC_IFORL) {
- dasm_put(Dst, 13835, -BCBIAS_J*4);
+ dasm_put(Dst, 13837, -BCBIAS_J*4);
} else {
- dasm_put(Dst, 13831, BC_JLOOP);
+ dasm_put(Dst, 13833, BC_JLOOP);
}
- dasm_put(Dst, 9637);
+ dasm_put(Dst, 9639);
if (sse) {
- dasm_put(Dst, 13845);
+ dasm_put(Dst, 13847);
}
break;
case BC_ITERL:
#if LJ_HASJIT
- dasm_put(Dst, 13664, HOTCOUNT_PCMASK, GG_DISP2HOT);
+ dasm_put(Dst, 13666, HOTCOUNT_PCMASK, GG_DISP2HOT);
#endif
break;
break;
#endif
case BC_IITERL:
- dasm_put(Dst, 13856, LJ_TNIL);
+ dasm_put(Dst, 13858, LJ_TNIL);
if (op == BC_JITERL) {
- dasm_put(Dst, 13871, BC_JLOOP);
+ dasm_put(Dst, 13873, BC_JLOOP);
} else {
- dasm_put(Dst, 13885, -BCBIAS_J*4);
+ dasm_put(Dst, 13887, -BCBIAS_J*4);
}
- dasm_put(Dst, 9937);
+ dasm_put(Dst, 9939);
break;
case BC_LOOP:
#if LJ_HASJIT
- dasm_put(Dst, 13664, HOTCOUNT_PCMASK, GG_DISP2HOT);
+ dasm_put(Dst, 13666, HOTCOUNT_PCMASK, GG_DISP2HOT);
#endif
break;
case BC_ILOOP:
- dasm_put(Dst, 9639);
+ dasm_put(Dst, 9641);
break;
case BC_JLOOP:
#if LJ_HASJIT
- dasm_put(Dst, 13901, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16);
+ dasm_put(Dst, 13903, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16);
#endif
break;
case BC_JMP:
- dasm_put(Dst, 14010, -BCBIAS_J*4);
+ dasm_put(Dst, 14012, -BCBIAS_J*4);
break;
/* -- Function headers -------------------------------------------------- */
case BC_FUNCF:
#if LJ_HASJIT
- dasm_put(Dst, 14035, HOTCOUNT_PCMASK, GG_DISP2HOT);
+ dasm_put(Dst, 14037, HOTCOUNT_PCMASK, GG_DISP2HOT);
#endif
case BC_FUNCV: /* NYI: compiled vararg functions. */
break;
break;
#endif
case BC_IFUNCF:
- dasm_put(Dst, 14056, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
+ dasm_put(Dst, 14058, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
if (op == BC_JFUNCF) {
- dasm_put(Dst, 14086, BC_JLOOP);
+ dasm_put(Dst, 14088, BC_JLOOP);
} else {
- dasm_put(Dst, 9639);
+ dasm_put(Dst, 9641);
}
- dasm_put(Dst, 14095, LJ_TNIL);
+ dasm_put(Dst, 14097, LJ_TNIL);
break;
case BC_JFUNCV:
break; /* NYI: compiled vararg functions. */
case BC_IFUNCV:
- dasm_put(Dst, 14117, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
+ dasm_put(Dst, 14119, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
if (op == BC_JFUNCV) {
- dasm_put(Dst, 14086, BC_JLOOP);
+ dasm_put(Dst, 14088, BC_JLOOP);
} else {
- dasm_put(Dst, 14208, -4+PC2PROTO(k));
+ dasm_put(Dst, 14210, -4+PC2PROTO(k));
}
- dasm_put(Dst, 14231, LJ_TNIL);
+ dasm_put(Dst, 14233, LJ_TNIL);
break;
case BC_FUNCC:
case BC_FUNCCW:
- dasm_put(Dst, 14253, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
+ dasm_put(Dst, 14255, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
if (op == BC_FUNCC) {
- dasm_put(Dst, 14283);
+ dasm_put(Dst, 14285);
} else {
- dasm_put(Dst, 14287);
+ dasm_put(Dst, 14289);
}
- dasm_put(Dst, 14295, DISPATCH_GL(vmstate), ~LJ_VMST_C);
+ dasm_put(Dst, 14297, DISPATCH_GL(vmstate), ~LJ_VMST_C);
if (op == BC_FUNCC) {
- dasm_put(Dst, 14304);
+ dasm_put(Dst, 14306);
} else {
- dasm_put(Dst, 14308, DISPATCH_GL(wrapf));
+ dasm_put(Dst, 14310, DISPATCH_GL(wrapf));
}
- dasm_put(Dst, 14313, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
+ dasm_put(Dst, 14315, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
break;
/* ---------------------------------------------------------------------- */
build_subroutines(ctx, cmov, sse);
- dasm_put(Dst, 14338);
+ dasm_put(Dst, 14340);
for (op = 0; op < BC__MAX; op++)
build_ins(ctx, (BCOp)op, op, cmov, sse);
| sub rsp, rax
|.else
| sub esp, CCSTATE->spadj
+#if LJ_TARGET_WINDOWS
+ | mov CCSTATE->spadj, esp
+#endif
|.endif
|
| // Copy stack slots.
|6:
| fstp dword CCSTATE->fpr[0].f[0]
|7:
+#if LJ_TARGET_WINDOWS
+ | sub CCSTATE->spadj, esp
+#endif
|.endif
|
|.if X64
#define DASM_SECTION_CODE_OP 0
#define DASM_SECTION_CODE_SUB 1
#define DASM_MAXSECTION 2
-static const unsigned char build_actionlist[15684] = {
+static const unsigned char build_actionlist[15694] = {
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,129,252,246,239,252,247,198,237,15,
244,248,217,201,248,2,221,216,195,255,248,155,156,90,137,209,129,252,242,
0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,247,139,68,36,4,87,83,15,
162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248,1,195,248,156,
- 255,85,137,229,83,137,203,43,163,233,15,182,139,233,131,252,233,1,15,136,
- 244,248,248,1,139,132,253,139,233,137,4,140,131,252,233,1,15,137,244,1,248,
- 2,139,139,233,139,147,233,252,255,147,233,137,131,233,137,147,233,128,187,
- 233,1,15,130,244,253,15,132,244,252,221,155,233,255,252,233,244,253,248,6,
- 217,155,233,248,7,139,93,252,252,201,195,255,249,255,129,124,253,202,4,239,
- 15,135,244,41,129,124,253,194,4,239,15,135,244,41,255,252,242,15,16,4,194,
- 131,198,4,102,15,46,4,202,255,221,4,202,221,4,194,131,198,4,255,223,252,233,
- 221,216,255,218,252,233,223,224,158,255,15,134,244,248,255,15,131,244,248,
- 255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,
- 182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,194,4,131,198,4,129,
- 252,253,239,15,135,244,251,129,124,253,202,4,239,15,135,244,251,255,252,242,
- 15,16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,15,138,244,248,15,
- 133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,
- 141,180,253,134,233,248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,
- 248,1,255,248,5,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,
- 12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,
- 233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,
- 237,255,189,1,0,0,0,255,252,233,244,45,255,252,247,208,131,198,4,129,124,
- 253,202,4,239,15,133,244,248,139,12,202,59,12,135,255,131,198,4,129,124,253,
- 202,4,239,15,135,244,248,255,252,242,15,16,4,199,102,15,46,4,202,255,221,
- 4,202,221,4,199,255,252,247,208,131,198,4,57,68,202,4,255,139,108,194,4,131,
- 198,4,129,252,253,239,255,15,131,244,247,255,15,130,244,247,255,137,108,202,
- 4,139,44,194,137,44,202,255,15,183,70,252,254,141,180,253,134,233,248,1,139,
- 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,194,
- 4,139,4,194,137,108,202,4,137,4,202,139,6,15,182,204,15,182,232,131,198,4,
- 193,232,16,252,255,36,171,255,49,252,237,129,124,253,194,4,239,129,213,239,
- 137,108,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
- 171,255,129,124,253,194,4,239,15,135,244,48,255,252,242,15,16,4,194,184,0,
- 0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,242,15,17,4,202,255,
- 221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,
- 4,194,255,15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,
- 128,233,248,1,221,28,202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,
- 16,252,255,36,171,248,2,129,124,253,194,4,239,15,133,244,50,139,12,194,137,
- 213,232,251,1,18,255,252,242,15,42,192,137,252,234,255,137,4,36,137,252,234,
- 219,4,36,255,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,192,
- 255,129,124,253,252,234,4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,
- 242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,4,239,
- 15,135,244,47,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,
- 220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253,194,
- 4,239,15,135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,
- 4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,
- 4,252,234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,
- 221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,
- 255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,252,242,15,89,4,
- 199,255,221,4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,
- 252,234,255,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,
- 15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,
- 242,15,94,4,199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,
- 242,15,94,4,252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,
- 234,252,242,15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,
- 252,234,252,242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,
- 4,199,252,242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,
- 16,4,252,234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,157,
- 232,244,148,255,252,233,244,157,255,232,244,107,255,15,182,252,236,15,182,
- 192,141,12,194,41,232,137,76,36,4,137,68,36,8,248,33,139,108,36,48,137,44,
- 36,137,149,233,137,116,36,24,232,251,1,25,139,149,233,133,192,15,133,244,
- 42,15,182,110,252,255,15,182,78,252,253,139,68,252,234,4,139,44,252,234,137,
- 68,202,4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
- 255,36,171,255,252,247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,15,
- 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,15,191,192,252,
- 242,15,42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,
- 15,16,4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,252,247,208,
- 137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
- 171,255,141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,
- 193,8,57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
- 252,255,36,171,255,139,106,252,248,139,172,253,133,233,139,173,233,139,69,
- 4,139,109,0,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,
- 193,232,16,252,255,36,171,255,139,106,252,248,139,172,253,141,233,128,189,
- 233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,
- 252,246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,
- 198,4,193,232,16,252,255,36,171,248,2,129,232,239,129,252,248,239,15,134,
- 244,1,252,246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1,
- 26,137,252,234,252,233,244,1,255,252,247,208,139,106,252,248,139,172,253,
- 141,233,139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,
- 133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
- 36,171,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,
- 137,213,137,194,141,139,233,232,251,1,26,137,252,234,252,233,244,1,255,139,
- 106,252,248,255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233,255,
- 252,242,15,17,1,255,221,25,255,252,247,208,139,106,252,248,139,172,253,141,
- 233,139,141,233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
- 252,255,36,171,255,141,180,253,134,233,139,108,36,48,131,189,233,0,15,132,
- 244,247,137,149,233,141,20,202,137,252,233,232,251,1,27,139,149,233,248,1,
- 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,
- 208,139,74,252,248,139,4,135,139,108,36,48,137,76,36,8,137,68,36,4,137,44,
- 36,137,149,233,137,116,36,24,232,251,1,28,139,149,233,15,182,78,252,253,137,
- 4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
- 255,36,171,255,139,108,36,48,137,149,233,139,139,233,59,139,233,137,116,36,
- 24,15,131,244,251,248,1,137,193,37,252,255,7,0,0,193,252,233,11,137,76,36,
- 8,61,252,255,7,0,0,15,132,244,249,248,2,137,44,36,137,68,36,4,232,251,1,29,
- 139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,
- 15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,184,1,8,0,0,252,233,
- 244,2,248,5,137,252,233,232,251,1,30,15,183,70,252,254,252,233,244,1,255,
- 252,247,208,139,108,36,48,139,139,233,137,116,36,24,59,139,233,137,149,233,
- 15,131,244,249,248,2,139,20,135,137,252,233,232,251,1,31,139,149,233,15,182,
- 78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,
- 4,193,232,16,252,255,36,171,248,3,137,252,233,232,251,1,30,15,183,70,252,
- 254,252,247,208,252,233,244,2,255,252,247,208,139,106,252,248,139,173,233,
- 139,4,135,252,233,244,158,255,252,247,208,139,106,252,248,139,173,233,139,
- 4,135,252,233,244,159,255,15,182,252,236,15,182,192,129,124,253,252,234,4,
- 239,15,133,244,36,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255,
- 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,
- 221,4,194,219,20,36,219,4,36,255,15,133,244,36,59,133,233,15,131,244,36,193,
- 224,3,3,133,233,129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,
- 137,68,202,4,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
- 36,171,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,
- 15,132,244,36,15,182,78,252,253,248,3,255,199,68,202,4,237,252,233,244,1,
- 248,5,129,124,253,194,4,239,15,133,244,36,139,4,194,252,233,244,158,255,15,
- 182,252,236,15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,
- 133,244,34,139,44,252,234,248,158,139,141,233,35,136,233,105,201,239,3,141,
- 233,248,1,129,185,233,239,15,133,244,250,57,129,233,15,133,244,250,129,121,
- 253,4,239,15,132,244,251,15,182,70,252,253,139,41,139,73,4,137,44,194,137,
- 76,194,4,248,2,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
- 36,171,248,3,15,182,70,252,253,199,68,194,4,237,252,233,244,2,248,4,139,137,
- 233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,
- 233,235,15,133,244,3,252,233,244,34,255,15,182,252,236,15,182,192,129,124,
- 253,252,234,4,239,15,133,244,35,139,44,252,234,59,133,233,15,131,244,35,193,
- 224,3,3,133,233,129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,
- 137,68,202,4,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
- 36,171,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,
- 15,132,244,35,255,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,
- 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,
- 44,252,234,129,124,253,194,4,239,15,135,244,251,255,15,133,244,39,59,133,
- 233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,
- 1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,
- 4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
- 3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,235,15,132,244,
- 39,15,182,78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,
- 39,139,4,194,252,233,244,159,248,7,128,165,233,235,139,139,233,137,171,233,
- 137,141,233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,
- 252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,
- 234,248,159,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,
- 1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,
- 239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,
- 182,70,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139,6,15,182,204,15,
- 182,232,131,198,4,193,232,16,252,255,36,171,248,4,131,189,233,0,15,132,244,
- 2,137,76,36,16,139,141,233,252,246,129,233,235,15,132,244,37,139,76,36,16,
- 252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,
- 201,15,132,244,252,252,246,129,233,235,15,132,244,37,248,6,137,68,36,16,199,
- 68,36,20,237,137,108,36,12,141,68,36,16,137,108,36,4,139,108,36,48,137,68,
- 36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,32,139,149,233,139,108,
- 36,12,137,193,252,233,244,2,248,7,128,165,233,235,139,131,233,137,171,233,
- 137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,234,
- 4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,
+ 255,85,137,229,83,137,203,43,163,233,255,137,163,233,255,15,182,139,233,131,
+ 252,233,1,15,136,244,248,248,1,139,132,253,139,233,137,4,140,131,252,233,
+ 1,15,137,244,1,248,2,139,139,233,139,147,233,252,255,147,233,137,131,233,
+ 137,147,233,128,187,233,1,15,130,244,253,15,132,244,252,221,155,233,252,233,
+ 244,253,248,6,255,217,155,233,248,7,255,41,163,233,255,139,93,252,252,201,
+ 195,255,249,255,129,124,253,202,4,239,15,135,244,41,129,124,253,194,4,239,
+ 15,135,244,41,255,252,242,15,16,4,194,131,198,4,102,15,46,4,202,255,221,4,
+ 202,221,4,194,131,198,4,255,223,252,233,221,216,255,218,252,233,223,224,158,
+ 255,15,134,244,248,255,15,131,244,248,255,248,1,15,183,70,252,254,141,180,
+ 253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
+ 36,171,255,139,108,194,4,131,198,4,129,252,253,239,15,135,244,251,129,124,
+ 253,202,4,239,15,135,244,251,255,252,242,15,16,4,194,102,15,46,4,202,255,
+ 221,4,202,221,4,194,255,15,138,244,248,15,133,244,248,255,15,138,244,248,
+ 15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,255,
+ 248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,248,5,57,108,202,4,
+ 15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,
+ 132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244,
+ 2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252,
+ 233,244,45,255,252,247,208,131,198,4,129,124,253,202,4,239,15,133,244,248,
+ 139,12,202,59,12,135,255,131,198,4,129,124,253,202,4,239,15,135,244,248,255,
+ 252,242,15,16,4,199,102,15,46,4,202,255,221,4,202,221,4,199,255,252,247,208,
+ 131,198,4,57,68,202,4,255,139,108,194,4,131,198,4,129,252,253,239,255,15,
+ 131,244,247,255,15,130,244,247,255,137,108,202,4,139,44,194,137,44,202,255,
+ 15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,
+ 198,4,193,232,16,252,255,36,171,255,139,108,194,4,139,4,194,137,108,202,4,
+ 137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,
+ 255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,
+ 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,129,124,253,194,4,
+ 239,15,135,244,48,255,252,242,15,16,4,194,184,0,0,0,128,102,15,110,200,102,
+ 15,112,201,81,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,
+ 202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,15,87,192,252,
+ 242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,
+ 202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
+ 2,129,124,253,194,4,239,15,133,244,50,139,12,194,137,213,232,251,1,18,255,
+ 252,242,15,42,192,137,252,234,255,137,4,36,137,252,234,219,4,36,255,15,182,
+ 78,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,
+ 234,4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,
+ 221,4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,135,244,47,255,252,
+ 242,15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,
+ 124,253,252,234,4,239,15,135,244,49,129,124,253,194,4,239,15,135,244,49,255,
+ 252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,
+ 252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,234,220,36,199,
+ 255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,199,220,36,252,
+ 234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,4,252,234,220,
+ 36,194,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,4,252,234,
+ 220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,221,4,199,
+ 220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,
+ 252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4,199,255,221,
+ 4,252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94,4,252,234,255,
+ 221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,
+ 255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,242,15,16,12,
+ 199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252,242,15,16,12,
+ 252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,
+ 16,12,194,255,221,4,252,234,221,4,194,255,248,157,232,244,148,255,252,233,
+ 244,157,255,232,244,107,255,15,182,252,236,15,182,192,141,12,194,41,232,137,
+ 76,36,4,137,68,36,8,248,33,139,108,36,48,137,44,36,137,149,233,137,116,36,
+ 24,232,251,1,25,139,149,233,133,192,15,133,244,42,15,182,110,252,255,15,182,
+ 78,252,253,139,68,252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,
+ 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,
+ 139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,
+ 4,193,232,16,252,255,36,171,255,15,191,192,252,242,15,42,192,252,242,15,17,
+ 4,202,255,223,70,252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17,
+ 4,202,255,221,4,199,221,28,202,255,252,247,208,137,68,202,4,139,6,15,182,
+ 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,141,76,202,12,141,
+ 68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,
+ 1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,
+ 106,252,248,139,172,253,133,233,139,173,233,139,69,4,139,109,0,137,68,202,
+ 4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
+ 171,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,173,233,139,
+ 12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,
+ 15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
+ 255,36,171,248,2,129,232,239,129,252,248,239,15,134,244,1,252,246,129,233,
+ 235,15,132,244,1,135,213,141,139,233,255,232,251,1,26,137,252,234,252,233,
+ 244,1,255,252,247,208,139,106,252,248,139,172,253,141,233,139,12,135,139,
+ 133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,6,
+ 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,252,246,129,
+ 233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,194,141,139,233,
+ 232,251,1,26,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,15,
+ 16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,
+ 25,255,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,65,
+ 4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,141,
+ 180,253,134,233,139,108,36,48,131,189,233,0,15,132,244,247,137,149,233,141,
+ 20,202,137,252,233,232,251,1,27,139,149,233,248,1,139,6,15,182,204,15,182,
+ 232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,74,252,248,139,
+ 4,135,139,108,36,48,137,76,36,8,137,68,36,4,137,44,36,137,149,233,137,116,
+ 36,24,232,251,1,28,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,
+ 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,
+ 36,48,137,149,233,139,139,233,59,139,233,137,116,36,24,15,131,244,251,248,
+ 1,137,193,37,252,255,7,0,0,193,252,233,11,137,76,36,8,61,252,255,7,0,0,15,
+ 132,244,249,248,2,137,44,36,137,68,36,4,232,251,1,29,139,149,233,15,182,78,
+ 252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,
+ 193,232,16,252,255,36,171,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,
+ 232,251,1,30,15,183,70,252,254,252,233,244,1,255,252,247,208,139,108,36,48,
+ 139,139,233,137,116,36,24,59,139,233,137,149,233,15,131,244,249,248,2,139,
+ 20,135,137,252,233,232,251,1,31,139,149,233,15,182,78,252,253,137,4,202,199,
+ 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
+ 171,248,3,137,252,233,232,251,1,30,15,183,70,252,254,252,247,208,252,233,
+ 244,2,255,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,158,
+ 255,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,159,255,
+ 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,44,
+ 252,234,129,124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252,
+ 242,15,45,192,252,242,15,42,200,102,15,46,193,255,221,4,194,219,20,36,219,
+ 4,36,255,15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,
+ 253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4,248,1,139,
+ 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,
+ 233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244,36,15,182,
+ 78,252,253,248,3,255,199,68,202,4,237,252,233,244,1,248,5,129,124,253,194,
+ 4,239,15,133,244,36,139,4,194,252,233,244,158,255,15,182,252,236,15,182,192,
+ 252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,
+ 234,248,158,139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,
+ 239,15,133,244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,
+ 251,15,182,70,252,253,139,41,139,73,4,137,44,194,137,76,194,4,248,2,255,139,
+ 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,15,182,
+ 70,252,253,199,68,194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,
+ 244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,
+ 3,252,233,244,34,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,
+ 15,133,244,35,139,44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,
+ 129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4,
+ 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
+ 2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244,
+ 35,255,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,255,15,182,
+ 252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,44,252,234,
+ 129,124,253,194,4,239,15,135,244,251,255,15,133,244,39,59,133,233,15,131,
+ 244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,
+ 133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,
+ 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,131,
+ 189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,235,15,132,244,39,
+ 15,182,78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,39,
+ 139,4,194,252,233,244,159,248,7,128,165,233,235,139,139,233,137,171,233,137,
+ 141,233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,252,
+ 247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,
+ 248,159,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1,
+ 129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239,
+ 15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182,
+ 70,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139,6,15,182,204,15,182,
+ 232,131,198,4,193,232,16,252,255,36,171,248,4,131,189,233,0,15,132,244,2,
+ 137,76,36,16,139,141,233,252,246,129,233,235,15,132,244,37,139,76,36,16,252,
+ 233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,
+ 15,132,244,252,252,246,129,233,235,15,132,244,37,248,6,137,68,36,16,199,68,
+ 36,20,237,137,108,36,12,141,68,36,16,137,108,36,4,139,108,36,48,137,68,36,
+ 8,137,44,36,137,149,233,137,116,36,24,232,251,1,32,139,149,233,139,108,36,
+ 12,137,193,252,233,244,2,248,7,128,165,233,235,139,131,233,137,171,233,137,
+ 133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,234,4,
+ 239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,
233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,
253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,
232,131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,
dasm_put(Dst, 10731);
#if LJ_HASFFI
#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
- dasm_put(Dst, 10787, DtE(->spadj), DtE(->nsp), offsetof(CCallState, stack), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->func), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->resx87), DtE(->fpr[0].d[0]));
- dasm_put(Dst, 10860, DtE(->fpr[0].f[0]));
+ dasm_put(Dst, 10787, DtE(->spadj));
+#if LJ_TARGET_WINDOWS
+ dasm_put(Dst, 10797, DtE(->spadj));
+#endif
+ dasm_put(Dst, 10801, DtE(->nsp), offsetof(CCallState, stack), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->func), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->resx87), DtE(->fpr[0].d[0]));
+ dasm_put(Dst, 10871, DtE(->fpr[0].f[0]));
+#if LJ_TARGET_WINDOWS
+ dasm_put(Dst, 10877, DtE(->spadj));
+#endif
+ dasm_put(Dst, 10881);
#endif
}
static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
{
int vk = 0;
- dasm_put(Dst, 10878, defop);
+ dasm_put(Dst, 10888, defop);
switch (op) {
/* Remember: all ops branch for a true comparison, fall through otherwise. */
case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
- dasm_put(Dst, 10880, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 10890, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 10901);
+ dasm_put(Dst, 10911);
} else {
- dasm_put(Dst, 10916);
- if (cmov) {
dasm_put(Dst, 10926);
+ if (cmov) {
+ dasm_put(Dst, 10936);
} else {
- dasm_put(Dst, 10932);
+ dasm_put(Dst, 10942);
}
}
switch (op) {
case BC_ISLT:
- dasm_put(Dst, 10939);
+ dasm_put(Dst, 10949);
break;
case BC_ISGE:
dasm_put(Dst, 10081);
dasm_put(Dst, 6207);
break;
case BC_ISGT:
- dasm_put(Dst, 10944);
+ dasm_put(Dst, 10954);
break;
default: break; /* Shut up GCC. */
}
- dasm_put(Dst, 10949, -BCBIAS_J*4);
+ dasm_put(Dst, 10959, -BCBIAS_J*4);
break;
case BC_ISEQV: case BC_ISNEV:
vk = op == BC_ISEQV;
- dasm_put(Dst, 10982, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 10992, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11008);
+ dasm_put(Dst, 11018);
} else {
- dasm_put(Dst, 11020);
+ dasm_put(Dst, 11030);
if (cmov) {
- dasm_put(Dst, 10926);
+ dasm_put(Dst, 10936);
} else {
- dasm_put(Dst, 10932);
+ dasm_put(Dst, 10942);
}
}
iseqne_fp:
if (vk) {
- dasm_put(Dst, 11027);
+ dasm_put(Dst, 11037);
} else {
- dasm_put(Dst, 11036);
+ dasm_put(Dst, 11046);
}
iseqne_end:
if (vk) {
- dasm_put(Dst, 11045, -BCBIAS_J*4);
+ dasm_put(Dst, 11055, -BCBIAS_J*4);
} else {
- dasm_put(Dst, 11060, -BCBIAS_J*4);
+ dasm_put(Dst, 11070, -BCBIAS_J*4);
}
- dasm_put(Dst, 10963);
+ dasm_put(Dst, 10973);
if (op == BC_ISEQV || op == BC_ISNEV) {
- dasm_put(Dst, 11075, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
+ dasm_put(Dst, 11085, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
if (vk) {
- dasm_put(Dst, 11133);
+ dasm_put(Dst, 11143);
} else {
- dasm_put(Dst, 11137);
+ dasm_put(Dst, 11147);
}
- dasm_put(Dst, 11143);
+ dasm_put(Dst, 11153);
}
break;
case BC_ISEQS: case BC_ISNES:
vk = op == BC_ISEQS;
- dasm_put(Dst, 11148, LJ_TSTR);
+ dasm_put(Dst, 11158, LJ_TSTR);
iseqne_test:
if (vk) {
- dasm_put(Dst, 11031);
+ dasm_put(Dst, 11041);
} else {
dasm_put(Dst, 2829);
}
goto iseqne_end;
case BC_ISEQN: case BC_ISNEN:
vk = op == BC_ISEQN;
- dasm_put(Dst, 11171, LJ_TISNUM);
+ dasm_put(Dst, 11181, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11185);
+ dasm_put(Dst, 11195);
} else {
- dasm_put(Dst, 11197);
+ dasm_put(Dst, 11207);
if (cmov) {
- dasm_put(Dst, 10926);
+ dasm_put(Dst, 10936);
} else {
- dasm_put(Dst, 10932);
+ dasm_put(Dst, 10942);
}
}
goto iseqne_fp;
case BC_ISEQP: case BC_ISNEP:
vk = op == BC_ISEQP;
- dasm_put(Dst, 11204);
+ dasm_put(Dst, 11214);
goto iseqne_test;
/* -- Unary test and copy ops ------------------------------------------- */
case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
- dasm_put(Dst, 11215, LJ_TISTRUECOND);
+ dasm_put(Dst, 11225, LJ_TISTRUECOND);
if (op == BC_IST || op == BC_ISTC) {
- dasm_put(Dst, 11227);
+ dasm_put(Dst, 11237);
} else {
- dasm_put(Dst, 11232);
+ dasm_put(Dst, 11242);
}
if (op == BC_ISTC || op == BC_ISFC) {
- dasm_put(Dst, 11237);
+ dasm_put(Dst, 11247);
}
- dasm_put(Dst, 11248, -BCBIAS_J*4);
+ dasm_put(Dst, 11258, -BCBIAS_J*4);
break;
/* -- Unary ops --------------------------------------------------------- */
case BC_MOV:
- dasm_put(Dst, 11279);
+ dasm_put(Dst, 11289);
break;
case BC_NOT:
- dasm_put(Dst, 11312, LJ_TISTRUECOND, LJ_TTRUE);
+ dasm_put(Dst, 11322, LJ_TISTRUECOND, LJ_TTRUE);
break;
case BC_UNM:
- dasm_put(Dst, 11347, LJ_TISNUM);
+ dasm_put(Dst, 11357, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11358);
+ dasm_put(Dst, 11368);
} else {
- dasm_put(Dst, 11388);
+ dasm_put(Dst, 11398);
}
- dasm_put(Dst, 10963);
+ dasm_put(Dst, 10973);
break;
case BC_LEN:
- dasm_put(Dst, 11397, LJ_TSTR);
+ dasm_put(Dst, 11407, LJ_TSTR);
if (sse) {
- dasm_put(Dst, 11411, Dt5(->len));
+ dasm_put(Dst, 11421, Dt5(->len));
} else {
- dasm_put(Dst, 11429, Dt5(->len));
+ dasm_put(Dst, 11439, Dt5(->len));
}
- dasm_put(Dst, 11438, LJ_TTAB);
+ dasm_put(Dst, 11448, LJ_TTAB);
if (sse) {
- dasm_put(Dst, 11478);
+ dasm_put(Dst, 11488);
} else {
- dasm_put(Dst, 11487);
+ dasm_put(Dst, 11497);
}
- dasm_put(Dst, 11497);
+ dasm_put(Dst, 11507);
break;
/* -- Binary ops -------------------------------------------------------- */
case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
- dasm_put(Dst, 11507);
+ dasm_put(Dst, 11517);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 11515, LJ_TISNUM);
+ dasm_put(Dst, 11525, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11527);
+ dasm_put(Dst, 11537);
} else {
- dasm_put(Dst, 11541);
+ dasm_put(Dst, 11551);
}
break;
case 1:
- dasm_put(Dst, 11549, LJ_TISNUM);
+ dasm_put(Dst, 11559, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11561);
+ dasm_put(Dst, 11571);
} else {
- dasm_put(Dst, 11575);
+ dasm_put(Dst, 11585);
}
break;
default:
- dasm_put(Dst, 11583, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 11593, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11605);
+ dasm_put(Dst, 11615);
} else {
- dasm_put(Dst, 11619);
+ dasm_put(Dst, 11629);
}
break;
}
if (sse) {
- dasm_put(Dst, 11381);
+ dasm_put(Dst, 11391);
} else {
- dasm_put(Dst, 11393);
+ dasm_put(Dst, 11403);
}
- dasm_put(Dst, 10963);
+ dasm_put(Dst, 10973);
break;
case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
- dasm_put(Dst, 11507);
+ dasm_put(Dst, 11517);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 11515, LJ_TISNUM);
+ dasm_put(Dst, 11525, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11627);
+ dasm_put(Dst, 11637);
} else {
- dasm_put(Dst, 11641);
+ dasm_put(Dst, 11651);
}
break;
case 1:
- dasm_put(Dst, 11549, LJ_TISNUM);
+ dasm_put(Dst, 11559, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11649);
+ dasm_put(Dst, 11659);
} else {
- dasm_put(Dst, 11663);
+ dasm_put(Dst, 11673);
}
break;
default:
- dasm_put(Dst, 11583, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 11593, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11671);
+ dasm_put(Dst, 11681);
} else {
- dasm_put(Dst, 11685);
+ dasm_put(Dst, 11695);
}
break;
}
if (sse) {
- dasm_put(Dst, 11381);
+ dasm_put(Dst, 11391);
} else {
- dasm_put(Dst, 11393);
+ dasm_put(Dst, 11403);
}
- dasm_put(Dst, 10963);
+ dasm_put(Dst, 10973);
break;
case BC_MULVN: case BC_MULNV: case BC_MULVV:
- dasm_put(Dst, 11507);
+ dasm_put(Dst, 11517);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 11515, LJ_TISNUM);
+ dasm_put(Dst, 11525, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11693);
+ dasm_put(Dst, 11703);
} else {
- dasm_put(Dst, 11707);
+ dasm_put(Dst, 11717);
}
break;
case 1:
- dasm_put(Dst, 11549, LJ_TISNUM);
+ dasm_put(Dst, 11559, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11715);
+ dasm_put(Dst, 11725);
} else {
- dasm_put(Dst, 11729);
+ dasm_put(Dst, 11739);
}
break;
default:
- dasm_put(Dst, 11583, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 11593, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11737);
+ dasm_put(Dst, 11747);
} else {
- dasm_put(Dst, 11751);
+ dasm_put(Dst, 11761);
}
break;
}
if (sse) {
- dasm_put(Dst, 11381);
+ dasm_put(Dst, 11391);
} else {
- dasm_put(Dst, 11393);
+ dasm_put(Dst, 11403);
}
- dasm_put(Dst, 10963);
+ dasm_put(Dst, 10973);
break;
case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
- dasm_put(Dst, 11507);
+ dasm_put(Dst, 11517);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 11515, LJ_TISNUM);
+ dasm_put(Dst, 11525, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11759);
+ dasm_put(Dst, 11769);
} else {
- dasm_put(Dst, 11773);
+ dasm_put(Dst, 11783);
}
break;
case 1:
- dasm_put(Dst, 11549, LJ_TISNUM);
+ dasm_put(Dst, 11559, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11781);
+ dasm_put(Dst, 11791);
} else {
- dasm_put(Dst, 11795);
+ dasm_put(Dst, 11805);
}
break;
default:
- dasm_put(Dst, 11583, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 11593, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11803);
+ dasm_put(Dst, 11813);
} else {
- dasm_put(Dst, 11817);
+ dasm_put(Dst, 11827);
}
break;
}
if (sse) {
- dasm_put(Dst, 11381);
+ dasm_put(Dst, 11391);
} else {
- dasm_put(Dst, 11393);
+ dasm_put(Dst, 11403);
}
- dasm_put(Dst, 10963);
+ dasm_put(Dst, 10973);
break;
case BC_MODVN:
- dasm_put(Dst, 11507);
+ dasm_put(Dst, 11517);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 11515, LJ_TISNUM);
+ dasm_put(Dst, 11525, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11825);
+ dasm_put(Dst, 11835);
} else {
- dasm_put(Dst, 11839);
+ dasm_put(Dst, 11849);
}
break;
case 1:
- dasm_put(Dst, 11549, LJ_TISNUM);
+ dasm_put(Dst, 11559, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11847);
+ dasm_put(Dst, 11857);
} else {
- dasm_put(Dst, 11861);
+ dasm_put(Dst, 11871);
}
break;
default:
- dasm_put(Dst, 11583, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 11593, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11869);
+ dasm_put(Dst, 11879);
} else {
- dasm_put(Dst, 11883);
+ dasm_put(Dst, 11893);
}
break;
}
- dasm_put(Dst, 11891);
+ dasm_put(Dst, 11901);
if (sse) {
- dasm_put(Dst, 11381);
+ dasm_put(Dst, 11391);
} else {
- dasm_put(Dst, 11393);
+ dasm_put(Dst, 11403);
}
- dasm_put(Dst, 10963);
+ dasm_put(Dst, 10973);
break;
case BC_MODNV: case BC_MODVV:
- dasm_put(Dst, 11507);
+ dasm_put(Dst, 11517);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 11515, LJ_TISNUM);
+ dasm_put(Dst, 11525, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11825);
+ dasm_put(Dst, 11835);
} else {
- dasm_put(Dst, 11839);
+ dasm_put(Dst, 11849);
}
break;
case 1:
- dasm_put(Dst, 11549, LJ_TISNUM);
+ dasm_put(Dst, 11559, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11847);
+ dasm_put(Dst, 11857);
} else {
- dasm_put(Dst, 11861);
+ dasm_put(Dst, 11871);
}
break;
default:
- dasm_put(Dst, 11583, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 11593, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11869);
+ dasm_put(Dst, 11879);
} else {
- dasm_put(Dst, 11883);
+ dasm_put(Dst, 11893);
}
break;
}
- dasm_put(Dst, 11897);
+ dasm_put(Dst, 11907);
break;
case BC_POW:
- dasm_put(Dst, 11507);
+ dasm_put(Dst, 11517);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 11515, LJ_TISNUM);
+ dasm_put(Dst, 11525, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11825);
+ dasm_put(Dst, 11835);
} else {
- dasm_put(Dst, 11839);
+ dasm_put(Dst, 11849);
}
break;
case 1:
- dasm_put(Dst, 11549, LJ_TISNUM);
+ dasm_put(Dst, 11559, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11847);
+ dasm_put(Dst, 11857);
} else {
- dasm_put(Dst, 11861);
+ dasm_put(Dst, 11871);
}
break;
default:
- dasm_put(Dst, 11583, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 11593, LJ_TISNUM, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 11869);
+ dasm_put(Dst, 11879);
} else {
- dasm_put(Dst, 11883);
+ dasm_put(Dst, 11893);
}
break;
}
- dasm_put(Dst, 11902);
+ dasm_put(Dst, 11912);
if (sse) {
- dasm_put(Dst, 11381);
+ dasm_put(Dst, 11391);
} else {
- dasm_put(Dst, 11393);
+ dasm_put(Dst, 11403);
}
- dasm_put(Dst, 10963);
+ dasm_put(Dst, 10973);
break;
case BC_CAT:
- dasm_put(Dst, 11906, Dt1(->base), Dt1(->base));
+ dasm_put(Dst, 11916, Dt1(->base), Dt1(->base));
break;
/* -- Constant ops ------------------------------------------------------ */
case BC_KSTR:
- dasm_put(Dst, 12000, LJ_TSTR);
+ dasm_put(Dst, 12010, LJ_TSTR);
break;
case BC_KCDATA:
#if LJ_HASFFI
- dasm_put(Dst, 12000, LJ_TCDATA);
+ dasm_put(Dst, 12010, LJ_TCDATA);
#endif
break;
case BC_KSHORT:
if (sse) {
- dasm_put(Dst, 12033);
+ dasm_put(Dst, 12043);
} else {
- dasm_put(Dst, 12048);
+ dasm_put(Dst, 12058);
}
- dasm_put(Dst, 10963);
+ dasm_put(Dst, 10973);
break;
case BC_KNUM:
if (sse) {
- dasm_put(Dst, 12056);
+ dasm_put(Dst, 12066);
} else {
- dasm_put(Dst, 12069);
+ dasm_put(Dst, 12079);
}
- dasm_put(Dst, 10963);
+ dasm_put(Dst, 10973);
break;
case BC_KPRI:
- dasm_put(Dst, 12076);
+ dasm_put(Dst, 12086);
break;
case BC_KNIL:
- dasm_put(Dst, 12102, LJ_TNIL);
+ dasm_put(Dst, 12112, LJ_TNIL);
break;
/* -- Upvalue and function ops ------------------------------------------ */
case BC_UGET:
- dasm_put(Dst, 12148, offsetof(GCfuncL, uvptr), DtA(->v));
+ dasm_put(Dst, 12158, offsetof(GCfuncL, uvptr), DtA(->v));
break;
case BC_USETV:
#define TV2MARKOFS \
((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
- dasm_put(Dst, 12192, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
- dasm_put(Dst, 12282);
+ dasm_put(Dst, 12202, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
+ dasm_put(Dst, 12292);
break;
#undef TV2MARKOFS
case BC_USETS:
- dasm_put(Dst, 12294, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
+ dasm_put(Dst, 12304, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
break;
case BC_USETN:
- dasm_put(Dst, 12385);
+ dasm_put(Dst, 12395);
if (sse) {
- dasm_put(Dst, 12390);
+ dasm_put(Dst, 12400);
} else {
- dasm_put(Dst, 11200);
+ dasm_put(Dst, 11210);
}
- dasm_put(Dst, 12397, offsetof(GCfuncL, uvptr), DtA(->v));
+ dasm_put(Dst, 12407, offsetof(GCfuncL, uvptr), DtA(->v));
if (sse) {
- dasm_put(Dst, 12406);
+ dasm_put(Dst, 12416);
} else {
- dasm_put(Dst, 12412);
+ dasm_put(Dst, 12422);
}
- dasm_put(Dst, 10963);
+ dasm_put(Dst, 10973);
break;
case BC_USETP:
- dasm_put(Dst, 12415, offsetof(GCfuncL, uvptr), DtA(->v));
+ dasm_put(Dst, 12425, offsetof(GCfuncL, uvptr), DtA(->v));
break;
case BC_UCLO:
- dasm_put(Dst, 12452, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
+ dasm_put(Dst, 12462, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
break;
case BC_FNEW:
- dasm_put(Dst, 12506, Dt1(->base), Dt1(->base), LJ_TFUNC);
+ dasm_put(Dst, 12516, Dt1(->base), Dt1(->base), LJ_TFUNC);
break;
/* -- Table ops --------------------------------------------------------- */
case BC_TNEW:
- dasm_put(Dst, 12577, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
+ dasm_put(Dst, 12587, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
break;
case BC_TDUP:
- dasm_put(Dst, 12703, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
+ dasm_put(Dst, 12713, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
break;
case BC_GGET:
- dasm_put(Dst, 12795, Dt7(->env));
+ dasm_put(Dst, 12805, Dt7(->env));
break;
case BC_GSET:
- dasm_put(Dst, 12813, Dt7(->env));
+ dasm_put(Dst, 12823, Dt7(->env));
break;
case BC_TGETV:
- dasm_put(Dst, 12831, LJ_TTAB, LJ_TISNUM);
+ dasm_put(Dst, 12841, LJ_TTAB, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 12864);
+ dasm_put(Dst, 12874);
} else {
- dasm_put(Dst, 12885);
+ dasm_put(Dst, 12895);
if (cmov) {
- dasm_put(Dst, 10926);
+ dasm_put(Dst, 10936);
} else {
- dasm_put(Dst, 10932);
+ dasm_put(Dst, 10942);
}
dasm_put(Dst, 2539);
}
- dasm_put(Dst, 12895, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
- dasm_put(Dst, 12983, LJ_TNIL, LJ_TSTR);
+ dasm_put(Dst, 12905, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
+ dasm_put(Dst, 12993, LJ_TNIL, LJ_TSTR);
break;
case BC_TGETS:
- dasm_put(Dst, 13012, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
- dasm_put(Dst, 13100, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
+ dasm_put(Dst, 13022, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
+ dasm_put(Dst, 13110, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
break;
case BC_TGETB:
- dasm_put(Dst, 13170, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
- dasm_put(Dst, 13269, LJ_TNIL);
+ dasm_put(Dst, 13180, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
+ dasm_put(Dst, 13279, LJ_TNIL);
break;
case BC_TSETV:
- dasm_put(Dst, 13286, LJ_TTAB, LJ_TISNUM);
+ dasm_put(Dst, 13296, LJ_TTAB, LJ_TISNUM);
if (sse) {
- dasm_put(Dst, 12864);
+ dasm_put(Dst, 12874);
} else {
- dasm_put(Dst, 12885);
+ dasm_put(Dst, 12895);
if (cmov) {
- dasm_put(Dst, 10926);
+ dasm_put(Dst, 10936);
} else {
- dasm_put(Dst, 10932);
+ dasm_put(Dst, 10942);
}
dasm_put(Dst, 2539);
}
- dasm_put(Dst, 13319, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
- dasm_put(Dst, 13402, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+ dasm_put(Dst, 13329, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
+ dasm_put(Dst, 13412, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
break;
case BC_TSETS:
- dasm_put(Dst, 13464, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
- dasm_put(Dst, 13539, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
- dasm_put(Dst, 13631, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+ dasm_put(Dst, 13474, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
+ dasm_put(Dst, 13549, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
+ dasm_put(Dst, 13641, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
break;
case BC_TSETB:
- dasm_put(Dst, 13727, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
- dasm_put(Dst, 13825, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+ dasm_put(Dst, 13737, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
+ dasm_put(Dst, 13835, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
break;
case BC_TSETM:
- dasm_put(Dst, 13871, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
- dasm_put(Dst, 14020, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
+ dasm_put(Dst, 13881, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
+ dasm_put(Dst, 14030, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
break;
/* -- Calls and vararg handling ----------------------------------------- */
case BC_CALL: case BC_CALLM:
- dasm_put(Dst, 11511);
+ dasm_put(Dst, 11521);
if (op == BC_CALLM) {
- dasm_put(Dst, 14038);
+ dasm_put(Dst, 14048);
}
- dasm_put(Dst, 14043, LJ_TFUNC, Dt7(->pc));
+ dasm_put(Dst, 14053, LJ_TFUNC, Dt7(->pc));
break;
case BC_CALLMT:
- dasm_put(Dst, 14038);
+ dasm_put(Dst, 14048);
break;
case BC_CALLT:
- dasm_put(Dst, 14084, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
- dasm_put(Dst, 14202, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
+ dasm_put(Dst, 14094, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
+ dasm_put(Dst, 14212, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
break;
case BC_ITERC:
- dasm_put(Dst, 14272, LJ_TFUNC, 2+1, Dt7(->pc));
+ dasm_put(Dst, 14282, LJ_TFUNC, 2+1, Dt7(->pc));
break;
case BC_ITERN:
#if LJ_HASJIT
#endif
- dasm_put(Dst, 14352, Dt6(->asize), Dt6(->array), LJ_TNIL);
+ dasm_put(Dst, 14362, Dt6(->asize), Dt6(->array), LJ_TNIL);
if (sse) {
- dasm_put(Dst, 14398);
+ dasm_put(Dst, 14408);
} else {
- dasm_put(Dst, 14404);
+ dasm_put(Dst, 14414);
}
- dasm_put(Dst, 14410);
+ dasm_put(Dst, 14420);
if (sse) {
- dasm_put(Dst, 11381);
+ dasm_put(Dst, 11391);
} else {
- dasm_put(Dst, 11393);
+ dasm_put(Dst, 11403);
}
- dasm_put(Dst, 14429, -BCBIAS_J*4);
+ dasm_put(Dst, 14439, -BCBIAS_J*4);
if (!sse) {
- dasm_put(Dst, 14480);
+ dasm_put(Dst, 14490);
}
- dasm_put(Dst, 14486, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it));
- dasm_put(Dst, 14561);
+ dasm_put(Dst, 14496, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it));
+ dasm_put(Dst, 14571);
break;
case BC_ISNEXT:
- dasm_put(Dst, 14569, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
+ dasm_put(Dst, 14579, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
break;
case BC_VARG:
- dasm_put(Dst, 14668, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
- dasm_put(Dst, 14832, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
+ dasm_put(Dst, 14678, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
+ dasm_put(Dst, 14842, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
break;
/* -- Returns ----------------------------------------------------------- */
case BC_RETM:
- dasm_put(Dst, 14038);
+ dasm_put(Dst, 14048);
break;
case BC_RET: case BC_RET0: case BC_RET1:
if (op != BC_RET0) {
- dasm_put(Dst, 14903);
+ dasm_put(Dst, 14913);
}
- dasm_put(Dst, 14907, FRAME_TYPE);
+ dasm_put(Dst, 14917, FRAME_TYPE);
switch (op) {
case BC_RET:
- dasm_put(Dst, 14926);
+ dasm_put(Dst, 14936);
break;
case BC_RET1:
- dasm_put(Dst, 14984);
+ dasm_put(Dst, 14994);
/* fallthrough */
case BC_RET0:
- dasm_put(Dst, 15000);
+ dasm_put(Dst, 15010);
default:
break;
}
- dasm_put(Dst, 15011, Dt7(->pc), PC2PROTO(k));
+ dasm_put(Dst, 15021, Dt7(->pc), PC2PROTO(k));
if (op == BC_RET) {
- dasm_put(Dst, 15053, LJ_TNIL);
+ dasm_put(Dst, 15063, LJ_TNIL);
} else {
- dasm_put(Dst, 15062, LJ_TNIL);
+ dasm_put(Dst, 15072, LJ_TNIL);
}
- dasm_put(Dst, 15069, -FRAME_VARG, FRAME_TYPEP);
+ dasm_put(Dst, 15079, -FRAME_VARG, FRAME_TYPEP);
if (op != BC_RET0) {
- dasm_put(Dst, 15093);
+ dasm_put(Dst, 15103);
}
dasm_put(Dst, 4704);
break;
case BC_FORL:
#if LJ_HASJIT
- dasm_put(Dst, 15097, HOTCOUNT_PCMASK, GG_DISP2HOT);
+ dasm_put(Dst, 15107, HOTCOUNT_PCMASK, GG_DISP2HOT);
#endif
break;
case BC_FORI:
case BC_IFORL:
vk = (op == BC_IFORL || op == BC_JFORL);
- dasm_put(Dst, 15118);
+ dasm_put(Dst, 15128);
if (!vk) {
- dasm_put(Dst, 15122, LJ_TISNUM, LJ_TISNUM);
+ dasm_put(Dst, 15132, LJ_TISNUM, LJ_TISNUM);
}
- dasm_put(Dst, 15141);
+ dasm_put(Dst, 15151);
if (!vk) {
- dasm_put(Dst, 15145, LJ_TISNUM);
+ dasm_put(Dst, 15155, LJ_TISNUM);
}
if (sse) {
- dasm_put(Dst, 15154);
+ dasm_put(Dst, 15164);
if (vk) {
- dasm_put(Dst, 15166);
+ dasm_put(Dst, 15176);
} else {
- dasm_put(Dst, 15185);
+ dasm_put(Dst, 15195);
}
- dasm_put(Dst, 15190);
+ dasm_put(Dst, 15200);
} else {
- dasm_put(Dst, 15203);
+ dasm_put(Dst, 15213);
if (vk) {
- dasm_put(Dst, 15209);
+ dasm_put(Dst, 15219);
} else {
- dasm_put(Dst, 15225);
+ dasm_put(Dst, 15235);
}
- dasm_put(Dst, 15233);
+ dasm_put(Dst, 15243);
if (cmov) {
- dasm_put(Dst, 10926);
+ dasm_put(Dst, 10936);
} else {
- dasm_put(Dst, 10932);
+ dasm_put(Dst, 10942);
}
if (!cmov) {
- dasm_put(Dst, 15238);
+ dasm_put(Dst, 15248);
}
}
if (op == BC_FORI) {
- dasm_put(Dst, 15244, -BCBIAS_J*4);
+ dasm_put(Dst, 15254, -BCBIAS_J*4);
} else if (op == BC_JFORI) {
- dasm_put(Dst, 15254, -BCBIAS_J*4, BC_JLOOP);
+ dasm_put(Dst, 15264, -BCBIAS_J*4, BC_JLOOP);
} else if (op == BC_IFORL) {
- dasm_put(Dst, 15268, -BCBIAS_J*4);
+ dasm_put(Dst, 15278, -BCBIAS_J*4);
} else {
- dasm_put(Dst, 15264, BC_JLOOP);
+ dasm_put(Dst, 15274, BC_JLOOP);
}
- dasm_put(Dst, 10961);
+ dasm_put(Dst, 10971);
if (sse) {
- dasm_put(Dst, 15278);
+ dasm_put(Dst, 15288);
}
break;
case BC_ITERL:
#if LJ_HASJIT
- dasm_put(Dst, 15097, HOTCOUNT_PCMASK, GG_DISP2HOT);
+ dasm_put(Dst, 15107, HOTCOUNT_PCMASK, GG_DISP2HOT);
#endif
break;
break;
#endif
case BC_IITERL:
- dasm_put(Dst, 15289, LJ_TNIL);
+ dasm_put(Dst, 15299, LJ_TNIL);
if (op == BC_JITERL) {
- dasm_put(Dst, 15304, BC_JLOOP);
+ dasm_put(Dst, 15314, BC_JLOOP);
} else {
- dasm_put(Dst, 15318, -BCBIAS_J*4);
+ dasm_put(Dst, 15328, -BCBIAS_J*4);
}
- dasm_put(Dst, 11258);
+ dasm_put(Dst, 11268);
break;
case BC_LOOP:
#if LJ_HASJIT
- dasm_put(Dst, 15097, HOTCOUNT_PCMASK, GG_DISP2HOT);
+ dasm_put(Dst, 15107, HOTCOUNT_PCMASK, GG_DISP2HOT);
#endif
break;
case BC_ILOOP:
- dasm_put(Dst, 10963);
+ dasm_put(Dst, 10973);
break;
case BC_JLOOP:
#if LJ_HASJIT
- dasm_put(Dst, 15334, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
+ dasm_put(Dst, 15344, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
#endif
break;
case BC_JMP:
- dasm_put(Dst, 15357, -BCBIAS_J*4);
+ dasm_put(Dst, 15367, -BCBIAS_J*4);
break;
/* -- Function headers -------------------------------------------------- */
case BC_FUNCF:
#if LJ_HASJIT
- dasm_put(Dst, 15381, HOTCOUNT_PCMASK, GG_DISP2HOT);
+ dasm_put(Dst, 15391, HOTCOUNT_PCMASK, GG_DISP2HOT);
#endif
case BC_FUNCV: /* NYI: compiled vararg functions. */
break;
break;
#endif
case BC_IFUNCF:
- dasm_put(Dst, 15402, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
+ dasm_put(Dst, 15412, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
if (op == BC_JFUNCF) {
- dasm_put(Dst, 15432, BC_JLOOP);
+ dasm_put(Dst, 15442, BC_JLOOP);
} else {
- dasm_put(Dst, 10963);
+ dasm_put(Dst, 10973);
}
- dasm_put(Dst, 15441, LJ_TNIL);
+ dasm_put(Dst, 15451, LJ_TNIL);
break;
case BC_JFUNCV:
break; /* NYI: compiled vararg functions. */
case BC_IFUNCV:
- dasm_put(Dst, 15463, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
+ dasm_put(Dst, 15473, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
if (op == BC_JFUNCV) {
- dasm_put(Dst, 15432, BC_JLOOP);
+ dasm_put(Dst, 15442, BC_JLOOP);
} else {
- dasm_put(Dst, 15554, -4+PC2PROTO(k));
+ dasm_put(Dst, 15564, -4+PC2PROTO(k));
}
- dasm_put(Dst, 15576, LJ_TNIL);
+ dasm_put(Dst, 15586, LJ_TNIL);
break;
case BC_FUNCC:
case BC_FUNCCW:
- dasm_put(Dst, 15598, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
+ dasm_put(Dst, 15608, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
if (op == BC_FUNCC) {
- dasm_put(Dst, 15627);
+ dasm_put(Dst, 15637);
} else {
- dasm_put(Dst, 15631);
+ dasm_put(Dst, 15641);
}
- dasm_put(Dst, 15639, DISPATCH_GL(vmstate), ~LJ_VMST_C);
+ dasm_put(Dst, 15649, DISPATCH_GL(vmstate), ~LJ_VMST_C);
if (op == BC_FUNCC) {
- dasm_put(Dst, 15648);
+ dasm_put(Dst, 15658);
} else {
- dasm_put(Dst, 15652, DISPATCH_GL(wrapf));
+ dasm_put(Dst, 15662, DISPATCH_GL(wrapf));
}
- dasm_put(Dst, 15657, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
+ dasm_put(Dst, 15667, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
break;
/* ---------------------------------------------------------------------- */
build_subroutines(ctx, cmov, sse);
- dasm_put(Dst, 15682);
+ dasm_put(Dst, 15692);
for (op = 0; op < BC__MAX; op++)
build_ins(ctx, (BCOp)op, op, cmov, sse);
#include "lj_cconv.h"
#include "lj_cdata.h"
#include "lj_ccall.h"
+#include "lj_trace.h"
/* Target-specific handling of register arguments. */
#if LJ_TARGET_X86
#if LJ_TARGET_X86
/* x86 has several different calling conventions. */
cc->resx87 = 0;
- switch ((ct->info >> CTSHIFT_CCONV) & CTMASK_CCONV) {
+ switch (ctype_cconv(ct->info)) {
case CTCC_FASTCALL: maxgpr = 2; break;
case CTCC_THISCALL: maxgpr = 1; break;
default: maxgpr = 0; break;
gcsteps = ccall_set_args(L, cts, ct, &cc);
lj_vm_ffi_call(&cc);
gcsteps += ccall_get_results(L, cts, ct, &cc, &ret);
+#if LJ_TARGET_X86 && LJ_ABI_WIN
+ /* Automatically detect __stdcall and fix up C function declaration. */
+ if (cc.spadj && ctype_cconv(ct->info) == CTCC_CDECL) {
+ CTF_INSERT(ct->info, CCONV, CTCC_STDCALL);
+ lj_trace_abort(G(L));
+ }
+#endif
while (gcsteps-- > 0)
lj_gc_check(L);
return ret;
#define ctype_bitcsz(info) (((info) >> CTSHIFT_BITCSZ) & CTMASK_BITCSZ)
#define ctype_vsizeP(info) (((info) >> CTSHIFT_VSIZEP) & CTMASK_VSIZEP)
#define ctype_msizeP(info) (((info) >> CTSHIFT_MSIZEP) & CTMASK_MSIZEP)
+#define ctype_cconv(info) (((info) >> CTSHIFT_CCONV) & CTMASK_CCONV)
/* Simple type checks. */
#define ctype_isnum(info) (ctype_type((info)) == CT_NUM)