summaryrefslogtreecommitdiff
path: root/src/buildvm_x64.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x64.h')
-rw-r--r--src/buildvm_x64.h618
1 files changed, 309 insertions, 309 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h
index 91da5f6b..f2816d14 100644
--- a/src/buildvm_x64.h
+++ b/src/buildvm_x64.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[14099] = { 15static const unsigned char build_actionlist[14100] = {
16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141, 16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141,
17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4, 17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4,
18 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133, 18 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133,
@@ -345,12 +345,12 @@ static const unsigned char build_actionlist[14099] = {
345 244,125,248,117,184,237,252,233,244,55,248,119,184,237,248,55,139,108,36, 345 244,125,248,117,184,237,252,233,244,55,248,119,184,237,248,55,139,108,36,
346 24,139,90,252,252,137,92,36,28,137,149,233,141,68,194,252,248,141,136,233, 346 24,139,90,252,252,137,92,36,28,137,149,233,141,68,194,252,248,141,136,233,
347 137,133,233,139,66,252,248,59,141,233,15,135,244,251,137,252,239,252,255, 347 137,133,233,139,66,252,248,59,141,233,15,135,244,251,137,252,239,252,255,
348 144,233,139,149,233,133,192,15,133,244,69,248,1,255,139,133,233,41,208,193, 348 144,233,139,149,233,133,192,15,143,244,69,248,1,255,139,141,233,41,209,193,
349 232,3,131,192,1,139,106,252,248,57,90,252,252,15,133,244,248,139,157,233, 349 252,233,3,133,192,141,65,1,139,106,252,248,15,133,244,248,139,157,233,139,
350 139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248,2,137, 350 11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248,2,137,209,
351 209,252,247,195,237,15,133,244,249,15,182,107,252,253,72,252,247,213,141, 351 252,247,195,237,15,133,244,249,15,182,107,252,253,72,252,247,213,141,20,252,
352 20,252,234,252,233,244,27,248,3,137,221,131,229,252,248,41,252,234,252,233, 352 234,252,233,244,27,248,3,137,221,131,229,252,248,41,252,234,252,233,244,27,
353 244,27,248,5,190,237,137,252,239,232,251,1,0,139,149,233,252,233,244,1,248, 353 248,5,190,237,137,252,239,232,251,1,0,139,149,233,49,192,252,233,244,1,248,
354 66,93,72,137,108,36,8,139,108,36,24,137,92,36,28,137,149,233,255,141,68,194, 354 66,93,72,137,108,36,8,139,108,36,24,137,92,36,28,137,149,233,255,141,68,194,
355 252,248,137,252,239,137,133,233,232,251,1,19,139,149,233,139,133,233,41,208, 355 252,248,137,252,239,137,133,233,232,251,1,19,139,149,233,139,133,233,41,208,
356 193,232,3,131,192,1,72,139,108,36,8,85,195,248,136,255,65,15,182,134,233, 356 193,232,3,131,192,1,72,139,108,36,8,85,195,248,136,255,65,15,182,134,233,
@@ -1344,88 +1344,88 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1344 } 1344 }
1345 dasm_put(Dst, 6799, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1345 dasm_put(Dst, 6799, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1346 dasm_put(Dst, 6877, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1346 dasm_put(Dst, 6877, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1347 dasm_put(Dst, 7003, Dt1(->top), Dt1(->base), Dt1(->top)); 1347 dasm_put(Dst, 7004, Dt1(->top), Dt1(->base), Dt1(->top));
1348#if LJ_HASJIT 1348#if LJ_HASJIT
1349 dasm_put(Dst, 7042, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1349 dasm_put(Dst, 7043, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1350#endif 1350#endif
1351 dasm_put(Dst, 7075, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1351 dasm_put(Dst, 7076, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1352 dasm_put(Dst, 7129, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1352 dasm_put(Dst, 7130, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1353#if LJ_HASJIT 1353#if LJ_HASJIT
1354 dasm_put(Dst, 7196, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1354 dasm_put(Dst, 7197, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1355#endif 1355#endif
1356 dasm_put(Dst, 7243); 1356 dasm_put(Dst, 7244);
1357#if LJ_HASJIT 1357#if LJ_HASJIT
1358 dasm_put(Dst, 7070); 1358 dasm_put(Dst, 7071);
1359#endif 1359#endif
1360 dasm_put(Dst, 7250); 1360 dasm_put(Dst, 7251);
1361#if LJ_HASJIT 1361#if LJ_HASJIT
1362 dasm_put(Dst, 7253); 1362 dasm_put(Dst, 7254);
1363#endif 1363#endif
1364 dasm_put(Dst, 7263, Dt1(->base), Dt1(->top)); 1364 dasm_put(Dst, 7264, Dt1(->base), Dt1(->top));
1365#if LJ_HASJIT 1365#if LJ_HASJIT
1366 dasm_put(Dst, 7296); 1366 dasm_put(Dst, 7297);
1367#endif 1367#endif
1368 dasm_put(Dst, 7301, Dt1(->base), Dt1(->top)); 1368 dasm_put(Dst, 7302, Dt1(->base), Dt1(->top));
1369#if LJ_HASJIT 1369#if LJ_HASJIT
1370 dasm_put(Dst, 7332, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); 1370 dasm_put(Dst, 7333, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
1371#endif 1371#endif
1372 dasm_put(Dst, 7571); 1372 dasm_put(Dst, 7572);
1373#if LJ_HASJIT 1373#if LJ_HASJIT
1374 dasm_put(Dst, 7574, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1374 dasm_put(Dst, 7575, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1375#endif 1375#endif
1376 dasm_put(Dst, 7674); 1376 dasm_put(Dst, 7675);
1377 if (!sse) { 1377 if (!sse) {
1378 dasm_put(Dst, 7677); 1378 dasm_put(Dst, 7678);
1379 } 1379 }
1380 dasm_put(Dst, 7722, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1380 dasm_put(Dst, 7723, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1381 if (!sse) { 1381 if (!sse) {
1382 dasm_put(Dst, 7808); 1382 dasm_put(Dst, 7809);
1383 } 1383 }
1384 dasm_put(Dst, 7853, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); 1384 dasm_put(Dst, 7854, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32));
1385 if (!sse) { 1385 if (!sse) {
1386 dasm_put(Dst, 7939); 1386 dasm_put(Dst, 7940);
1387 } 1387 }
1388 dasm_put(Dst, 7978, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1388 dasm_put(Dst, 7979, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1389 if (sse) { 1389 if (sse) {
1390 dasm_put(Dst, 8067, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1390 dasm_put(Dst, 8068, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1391 } else { 1391 } else {
1392 dasm_put(Dst, 8181); 1392 dasm_put(Dst, 8182);
1393 } 1393 }
1394 dasm_put(Dst, 8228); 1394 dasm_put(Dst, 8229);
1395 if (!sse) { 1395 if (!sse) {
1396 } else { 1396 } else {
1397 dasm_put(Dst, 8305); 1397 dasm_put(Dst, 8306);
1398 } 1398 }
1399 dasm_put(Dst, 8308); 1399 dasm_put(Dst, 8309);
1400 dasm_put(Dst, 8393, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1400 dasm_put(Dst, 8394, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1401 dasm_put(Dst, 8494, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); 1401 dasm_put(Dst, 8495, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32));
1402 dasm_put(Dst, 8668); 1402 dasm_put(Dst, 8669);
1403#if LJ_HASJIT 1403#if LJ_HASJIT
1404 if (sse) { 1404 if (sse) {
1405 dasm_put(Dst, 8709); 1405 dasm_put(Dst, 8710);
1406 dasm_put(Dst, 8779); 1406 dasm_put(Dst, 8780);
1407 dasm_put(Dst, 8851); 1407 dasm_put(Dst, 8852);
1408 } else { 1408 } else {
1409 dasm_put(Dst, 8903); 1409 dasm_put(Dst, 8904);
1410 dasm_put(Dst, 8995); 1410 dasm_put(Dst, 8996);
1411 } 1411 }
1412 dasm_put(Dst, 9041); 1412 dasm_put(Dst, 9042);
1413#endif 1413#endif
1414 dasm_put(Dst, 9045); 1414 dasm_put(Dst, 9046);
1415 if (sse) { 1415 if (sse) {
1416 dasm_put(Dst, 9048, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1416 dasm_put(Dst, 9049, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1417 dasm_put(Dst, 9133, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1417 dasm_put(Dst, 9134, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1418 } else { 1418 } else {
1419 dasm_put(Dst, 9261); 1419 dasm_put(Dst, 9262);
1420 dasm_put(Dst, 9344); 1420 dasm_put(Dst, 9345);
1421 if (cmov) { 1421 if (cmov) {
1422 dasm_put(Dst, 9399); 1422 dasm_put(Dst, 9400);
1423 } else { 1423 } else {
1424 dasm_put(Dst, 9418); 1424 dasm_put(Dst, 9419);
1425 } 1425 }
1426 dasm_put(Dst, 9041); 1426 dasm_put(Dst, 9042);
1427 } 1427 }
1428 dasm_put(Dst, 9459); 1428 dasm_put(Dst, 9460);
1429} 1429}
1430 1430
1431/* Generate the code for a single instruction. */ 1431/* Generate the code for a single instruction. */
@@ -1441,595 +1441,595 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1441 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1441 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1442 1442
1443 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1443 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1444 dasm_put(Dst, 9481, LJ_TISNUM, LJ_TISNUM); 1444 dasm_put(Dst, 9482, LJ_TISNUM, LJ_TISNUM);
1445 if (sse) { 1445 if (sse) {
1446 dasm_put(Dst, 9502); 1446 dasm_put(Dst, 9503);
1447 } else { 1447 } else {
1448 dasm_put(Dst, 9517); 1448 dasm_put(Dst, 9518);
1449 if (cmov) { 1449 if (cmov) {
1450 dasm_put(Dst, 9527); 1450 dasm_put(Dst, 9528);
1451 } else { 1451 } else {
1452 dasm_put(Dst, 9533); 1452 dasm_put(Dst, 9534);
1453 } 1453 }
1454 } 1454 }
1455 switch (op) { 1455 switch (op) {
1456 case BC_ISLT: 1456 case BC_ISLT:
1457 dasm_put(Dst, 9540); 1457 dasm_put(Dst, 9541);
1458 break; 1458 break;
1459 case BC_ISGE: 1459 case BC_ISGE:
1460 dasm_put(Dst, 9339); 1460 dasm_put(Dst, 9340);
1461 break; 1461 break;
1462 case BC_ISLE: 1462 case BC_ISLE:
1463 dasm_put(Dst, 5947); 1463 dasm_put(Dst, 5947);
1464 break; 1464 break;
1465 case BC_ISGT: 1465 case BC_ISGT:
1466 dasm_put(Dst, 9545); 1466 dasm_put(Dst, 9546);
1467 break; 1467 break;
1468 default: break; /* Shut up GCC. */ 1468 default: break; /* Shut up GCC. */
1469 } 1469 }
1470 dasm_put(Dst, 9550, -BCBIAS_J*4); 1470 dasm_put(Dst, 9551, -BCBIAS_J*4);
1471 break; 1471 break;
1472 1472
1473 case BC_ISEQV: case BC_ISNEV: 1473 case BC_ISEQV: case BC_ISNEV:
1474 vk = op == BC_ISEQV; 1474 vk = op == BC_ISEQV;
1475 dasm_put(Dst, 9585, LJ_TISNUM, LJ_TISNUM); 1475 dasm_put(Dst, 9586, LJ_TISNUM, LJ_TISNUM);
1476 if (sse) { 1476 if (sse) {
1477 dasm_put(Dst, 9611); 1477 dasm_put(Dst, 9612);
1478 } else { 1478 } else {
1479 dasm_put(Dst, 9623); 1479 dasm_put(Dst, 9624);
1480 if (cmov) { 1480 if (cmov) {
1481 dasm_put(Dst, 9527); 1481 dasm_put(Dst, 9528);
1482 } else { 1482 } else {
1483 dasm_put(Dst, 9533); 1483 dasm_put(Dst, 9534);
1484 } 1484 }
1485 } 1485 }
1486 iseqne_fp: 1486 iseqne_fp:
1487 if (vk) { 1487 if (vk) {
1488 dasm_put(Dst, 9630); 1488 dasm_put(Dst, 9631);
1489 } else { 1489 } else {
1490 dasm_put(Dst, 9639); 1490 dasm_put(Dst, 9640);
1491 } 1491 }
1492 iseqne_end: 1492 iseqne_end:
1493 if (vk) { 1493 if (vk) {
1494 dasm_put(Dst, 9648, -BCBIAS_J*4); 1494 dasm_put(Dst, 9649, -BCBIAS_J*4);
1495 } else { 1495 } else {
1496 dasm_put(Dst, 9663, -BCBIAS_J*4); 1496 dasm_put(Dst, 9664, -BCBIAS_J*4);
1497 } 1497 }
1498 dasm_put(Dst, 9564); 1498 dasm_put(Dst, 9565);
1499 if (op == BC_ISEQV || op == BC_ISNEV) { 1499 if (op == BC_ISEQV || op == BC_ISNEV) {
1500 dasm_put(Dst, 9678, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1500 dasm_put(Dst, 9679, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1501 if (vk) { 1501 if (vk) {
1502 dasm_put(Dst, 9736); 1502 dasm_put(Dst, 9737);
1503 } else { 1503 } else {
1504 dasm_put(Dst, 9740); 1504 dasm_put(Dst, 9741);
1505 } 1505 }
1506 dasm_put(Dst, 9746); 1506 dasm_put(Dst, 9747);
1507 } 1507 }
1508 break; 1508 break;
1509 case BC_ISEQS: case BC_ISNES: 1509 case BC_ISEQS: case BC_ISNES:
1510 vk = op == BC_ISEQS; 1510 vk = op == BC_ISEQS;
1511 dasm_put(Dst, 9751, LJ_TSTR); 1511 dasm_put(Dst, 9752, LJ_TSTR);
1512 iseqne_test: 1512 iseqne_test:
1513 if (vk) { 1513 if (vk) {
1514 dasm_put(Dst, 9634); 1514 dasm_put(Dst, 9635);
1515 } else { 1515 } else {
1516 dasm_put(Dst, 2836); 1516 dasm_put(Dst, 2836);
1517 } 1517 }
1518 goto iseqne_end; 1518 goto iseqne_end;
1519 case BC_ISEQN: case BC_ISNEN: 1519 case BC_ISEQN: case BC_ISNEN:
1520 vk = op == BC_ISEQN; 1520 vk = op == BC_ISEQN;
1521 dasm_put(Dst, 9776, LJ_TISNUM); 1521 dasm_put(Dst, 9777, LJ_TISNUM);
1522 if (sse) { 1522 if (sse) {
1523 dasm_put(Dst, 9790); 1523 dasm_put(Dst, 9791);
1524 } else { 1524 } else {
1525 dasm_put(Dst, 9803); 1525 dasm_put(Dst, 9804);
1526 if (cmov) { 1526 if (cmov) {
1527 dasm_put(Dst, 9527); 1527 dasm_put(Dst, 9528);
1528 } else { 1528 } else {
1529 dasm_put(Dst, 9533); 1529 dasm_put(Dst, 9534);
1530 } 1530 }
1531 } 1531 }
1532 goto iseqne_fp; 1532 goto iseqne_fp;
1533 case BC_ISEQP: case BC_ISNEP: 1533 case BC_ISEQP: case BC_ISNEP:
1534 vk = op == BC_ISEQP; 1534 vk = op == BC_ISEQP;
1535 dasm_put(Dst, 9811); 1535 dasm_put(Dst, 9812);
1536 goto iseqne_test; 1536 goto iseqne_test;
1537 1537
1538 /* -- Unary test and copy ops ------------------------------------------- */ 1538 /* -- Unary test and copy ops ------------------------------------------- */
1539 1539
1540 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1540 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1541 dasm_put(Dst, 9823, LJ_TISTRUECOND); 1541 dasm_put(Dst, 9824, LJ_TISTRUECOND);
1542 if (op == BC_IST || op == BC_ISTC) { 1542 if (op == BC_IST || op == BC_ISTC) {
1543 dasm_put(Dst, 9835); 1543 dasm_put(Dst, 9836);
1544 } else { 1544 } else {
1545 dasm_put(Dst, 9840); 1545 dasm_put(Dst, 9841);
1546 } 1546 }
1547 if (op == BC_ISTC || op == BC_ISFC) { 1547 if (op == BC_ISTC || op == BC_ISFC) {
1548 dasm_put(Dst, 9845); 1548 dasm_put(Dst, 9846);
1549 } 1549 }
1550 dasm_put(Dst, 9856, -BCBIAS_J*4); 1550 dasm_put(Dst, 9857, -BCBIAS_J*4);
1551 break; 1551 break;
1552 1552
1553 /* -- Unary ops --------------------------------------------------------- */ 1553 /* -- Unary ops --------------------------------------------------------- */
1554 1554
1555 case BC_MOV: 1555 case BC_MOV:
1556 dasm_put(Dst, 9889); 1556 dasm_put(Dst, 9890);
1557 break; 1557 break;
1558 case BC_NOT: 1558 case BC_NOT:
1559 dasm_put(Dst, 9924, LJ_TISTRUECOND, LJ_TTRUE); 1559 dasm_put(Dst, 9925, LJ_TISTRUECOND, LJ_TTRUE);
1560 break; 1560 break;
1561 case BC_UNM: 1561 case BC_UNM:
1562 dasm_put(Dst, 9961, LJ_TISNUM); 1562 dasm_put(Dst, 9962, LJ_TISNUM);
1563 if (sse) { 1563 if (sse) {
1564 dasm_put(Dst, 9972, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1564 dasm_put(Dst, 9973, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1565 } else { 1565 } else {
1566 dasm_put(Dst, 9997); 1566 dasm_put(Dst, 9998);
1567 } 1567 }
1568 dasm_put(Dst, 9564); 1568 dasm_put(Dst, 9565);
1569 break; 1569 break;
1570 case BC_LEN: 1570 case BC_LEN:
1571 dasm_put(Dst, 10006, LJ_TSTR); 1571 dasm_put(Dst, 10007, LJ_TSTR);
1572 if (sse) { 1572 if (sse) {
1573 dasm_put(Dst, 10020, Dt5(->len)); 1573 dasm_put(Dst, 10021, Dt5(->len));
1574 } else { 1574 } else {
1575 dasm_put(Dst, 10038, Dt5(->len)); 1575 dasm_put(Dst, 10039, Dt5(->len));
1576 } 1576 }
1577 dasm_put(Dst, 10047, LJ_TTAB); 1577 dasm_put(Dst, 10048, LJ_TTAB);
1578 if (sse) { 1578 if (sse) {
1579 dasm_put(Dst, 10089); 1579 dasm_put(Dst, 10090);
1580 } else { 1580 } else {
1581 } 1581 }
1582 dasm_put(Dst, 10098); 1582 dasm_put(Dst, 10099);
1583 break; 1583 break;
1584 1584
1585 /* -- Binary ops -------------------------------------------------------- */ 1585 /* -- Binary ops -------------------------------------------------------- */
1586 1586
1587 1587
1588 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1588 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1589 dasm_put(Dst, 10108); 1589 dasm_put(Dst, 10109);
1590 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1590 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1591 switch (vk) { 1591 switch (vk) {
1592 case 0: 1592 case 0:
1593 dasm_put(Dst, 10116, LJ_TISNUM); 1593 dasm_put(Dst, 10117, LJ_TISNUM);
1594 if (sse) { 1594 if (sse) {
1595 dasm_put(Dst, 10128); 1595 dasm_put(Dst, 10129);
1596 } else { 1596 } else {
1597 dasm_put(Dst, 10143); 1597 dasm_put(Dst, 10144);
1598 } 1598 }
1599 break; 1599 break;
1600 case 1: 1600 case 1:
1601 dasm_put(Dst, 10152, LJ_TISNUM); 1601 dasm_put(Dst, 10153, LJ_TISNUM);
1602 if (sse) { 1602 if (sse) {
1603 dasm_put(Dst, 10164); 1603 dasm_put(Dst, 10165);
1604 } else { 1604 } else {
1605 dasm_put(Dst, 10179); 1605 dasm_put(Dst, 10180);
1606 } 1606 }
1607 break; 1607 break;
1608 default: 1608 default:
1609 dasm_put(Dst, 10188, LJ_TISNUM, LJ_TISNUM); 1609 dasm_put(Dst, 10189, LJ_TISNUM, LJ_TISNUM);
1610 if (sse) { 1610 if (sse) {
1611 dasm_put(Dst, 10210); 1611 dasm_put(Dst, 10211);
1612 } else { 1612 } else {
1613 dasm_put(Dst, 10224); 1613 dasm_put(Dst, 10225);
1614 } 1614 }
1615 break; 1615 break;
1616 } 1616 }
1617 if (sse) { 1617 if (sse) {
1618 dasm_put(Dst, 9990); 1618 dasm_put(Dst, 9991);
1619 } else { 1619 } else {
1620 dasm_put(Dst, 10002); 1620 dasm_put(Dst, 10003);
1621 } 1621 }
1622 dasm_put(Dst, 9564); 1622 dasm_put(Dst, 9565);
1623 break; 1623 break;
1624 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1624 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1625 dasm_put(Dst, 10108); 1625 dasm_put(Dst, 10109);
1626 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1626 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1627 switch (vk) { 1627 switch (vk) {
1628 case 0: 1628 case 0:
1629 dasm_put(Dst, 10116, LJ_TISNUM); 1629 dasm_put(Dst, 10117, LJ_TISNUM);
1630 if (sse) { 1630 if (sse) {
1631 dasm_put(Dst, 10232); 1631 dasm_put(Dst, 10233);
1632 } else { 1632 } else {
1633 dasm_put(Dst, 10247); 1633 dasm_put(Dst, 10248);
1634 } 1634 }
1635 break; 1635 break;
1636 case 1: 1636 case 1:
1637 dasm_put(Dst, 10152, LJ_TISNUM); 1637 dasm_put(Dst, 10153, LJ_TISNUM);
1638 if (sse) { 1638 if (sse) {
1639 dasm_put(Dst, 10256); 1639 dasm_put(Dst, 10257);
1640 } else { 1640 } else {
1641 dasm_put(Dst, 10271); 1641 dasm_put(Dst, 10272);
1642 } 1642 }
1643 break; 1643 break;
1644 default: 1644 default:
1645 dasm_put(Dst, 10188, LJ_TISNUM, LJ_TISNUM); 1645 dasm_put(Dst, 10189, LJ_TISNUM, LJ_TISNUM);
1646 if (sse) { 1646 if (sse) {
1647 dasm_put(Dst, 10280); 1647 dasm_put(Dst, 10281);
1648 } else { 1648 } else {
1649 dasm_put(Dst, 10294); 1649 dasm_put(Dst, 10295);
1650 } 1650 }
1651 break; 1651 break;
1652 } 1652 }
1653 if (sse) { 1653 if (sse) {
1654 dasm_put(Dst, 9990); 1654 dasm_put(Dst, 9991);
1655 } else { 1655 } else {
1656 dasm_put(Dst, 10002); 1656 dasm_put(Dst, 10003);
1657 } 1657 }
1658 dasm_put(Dst, 9564); 1658 dasm_put(Dst, 9565);
1659 break; 1659 break;
1660 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1660 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1661 dasm_put(Dst, 10108); 1661 dasm_put(Dst, 10109);
1662 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1662 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1663 switch (vk) { 1663 switch (vk) {
1664 case 0: 1664 case 0:
1665 dasm_put(Dst, 10116, LJ_TISNUM); 1665 dasm_put(Dst, 10117, LJ_TISNUM);
1666 if (sse) { 1666 if (sse) {
1667 dasm_put(Dst, 10302); 1667 dasm_put(Dst, 10303);
1668 } else { 1668 } else {
1669 dasm_put(Dst, 10317); 1669 dasm_put(Dst, 10318);
1670 } 1670 }
1671 break; 1671 break;
1672 case 1: 1672 case 1:
1673 dasm_put(Dst, 10152, LJ_TISNUM); 1673 dasm_put(Dst, 10153, LJ_TISNUM);
1674 if (sse) { 1674 if (sse) {
1675 dasm_put(Dst, 10326); 1675 dasm_put(Dst, 10327);
1676 } else { 1676 } else {
1677 dasm_put(Dst, 10341); 1677 dasm_put(Dst, 10342);
1678 } 1678 }
1679 break; 1679 break;
1680 default: 1680 default:
1681 dasm_put(Dst, 10188, LJ_TISNUM, LJ_TISNUM); 1681 dasm_put(Dst, 10189, LJ_TISNUM, LJ_TISNUM);
1682 if (sse) { 1682 if (sse) {
1683 dasm_put(Dst, 10350); 1683 dasm_put(Dst, 10351);
1684 } else { 1684 } else {
1685 dasm_put(Dst, 10364); 1685 dasm_put(Dst, 10365);
1686 } 1686 }
1687 break; 1687 break;
1688 } 1688 }
1689 if (sse) { 1689 if (sse) {
1690 dasm_put(Dst, 9990); 1690 dasm_put(Dst, 9991);
1691 } else { 1691 } else {
1692 dasm_put(Dst, 10002); 1692 dasm_put(Dst, 10003);
1693 } 1693 }
1694 dasm_put(Dst, 9564); 1694 dasm_put(Dst, 9565);
1695 break; 1695 break;
1696 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1696 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1697 dasm_put(Dst, 10108); 1697 dasm_put(Dst, 10109);
1698 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1698 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1699 switch (vk) { 1699 switch (vk) {
1700 case 0: 1700 case 0:
1701 dasm_put(Dst, 10116, LJ_TISNUM); 1701 dasm_put(Dst, 10117, LJ_TISNUM);
1702 if (sse) { 1702 if (sse) {
1703 dasm_put(Dst, 10372); 1703 dasm_put(Dst, 10373);
1704 } else { 1704 } else {
1705 dasm_put(Dst, 10387); 1705 dasm_put(Dst, 10388);
1706 } 1706 }
1707 break; 1707 break;
1708 case 1: 1708 case 1:
1709 dasm_put(Dst, 10152, LJ_TISNUM); 1709 dasm_put(Dst, 10153, LJ_TISNUM);
1710 if (sse) { 1710 if (sse) {
1711 dasm_put(Dst, 10396); 1711 dasm_put(Dst, 10397);
1712 } else { 1712 } else {
1713 dasm_put(Dst, 10411); 1713 dasm_put(Dst, 10412);
1714 } 1714 }
1715 break; 1715 break;
1716 default: 1716 default:
1717 dasm_put(Dst, 10188, LJ_TISNUM, LJ_TISNUM); 1717 dasm_put(Dst, 10189, LJ_TISNUM, LJ_TISNUM);
1718 if (sse) { 1718 if (sse) {
1719 dasm_put(Dst, 10420); 1719 dasm_put(Dst, 10421);
1720 } else { 1720 } else {
1721 dasm_put(Dst, 10434); 1721 dasm_put(Dst, 10435);
1722 } 1722 }
1723 break; 1723 break;
1724 } 1724 }
1725 if (sse) { 1725 if (sse) {
1726 dasm_put(Dst, 9990); 1726 dasm_put(Dst, 9991);
1727 } else { 1727 } else {
1728 dasm_put(Dst, 10002); 1728 dasm_put(Dst, 10003);
1729 } 1729 }
1730 dasm_put(Dst, 9564); 1730 dasm_put(Dst, 9565);
1731 break; 1731 break;
1732 case BC_MODVN: 1732 case BC_MODVN:
1733 dasm_put(Dst, 10108); 1733 dasm_put(Dst, 10109);
1734 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1734 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1735 switch (vk) { 1735 switch (vk) {
1736 case 0: 1736 case 0:
1737 dasm_put(Dst, 10116, LJ_TISNUM); 1737 dasm_put(Dst, 10117, LJ_TISNUM);
1738 if (sse) { 1738 if (sse) {
1739 dasm_put(Dst, 10442); 1739 dasm_put(Dst, 10443);
1740 } else { 1740 } else {
1741 dasm_put(Dst, 10457); 1741 dasm_put(Dst, 10458);
1742 } 1742 }
1743 break; 1743 break;
1744 case 1: 1744 case 1:
1745 dasm_put(Dst, 10152, LJ_TISNUM); 1745 dasm_put(Dst, 10153, LJ_TISNUM);
1746 if (sse) { 1746 if (sse) {
1747 dasm_put(Dst, 10466); 1747 dasm_put(Dst, 10467);
1748 } else { 1748 } else {
1749 dasm_put(Dst, 10481); 1749 dasm_put(Dst, 10482);
1750 } 1750 }
1751 break; 1751 break;
1752 default: 1752 default:
1753 dasm_put(Dst, 10188, LJ_TISNUM, LJ_TISNUM); 1753 dasm_put(Dst, 10189, LJ_TISNUM, LJ_TISNUM);
1754 if (sse) { 1754 if (sse) {
1755 dasm_put(Dst, 10490); 1755 dasm_put(Dst, 10491);
1756 } else { 1756 } else {
1757 dasm_put(Dst, 10504); 1757 dasm_put(Dst, 10505);
1758 } 1758 }
1759 break; 1759 break;
1760 } 1760 }
1761 dasm_put(Dst, 10512); 1761 dasm_put(Dst, 10513);
1762 if (sse) { 1762 if (sse) {
1763 dasm_put(Dst, 9990); 1763 dasm_put(Dst, 9991);
1764 } else { 1764 } else {
1765 dasm_put(Dst, 10002); 1765 dasm_put(Dst, 10003);
1766 } 1766 }
1767 dasm_put(Dst, 9564); 1767 dasm_put(Dst, 9565);
1768 break; 1768 break;
1769 case BC_MODNV: case BC_MODVV: 1769 case BC_MODNV: case BC_MODVV:
1770 dasm_put(Dst, 10108); 1770 dasm_put(Dst, 10109);
1771 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1771 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1772 switch (vk) { 1772 switch (vk) {
1773 case 0: 1773 case 0:
1774 dasm_put(Dst, 10116, LJ_TISNUM); 1774 dasm_put(Dst, 10117, LJ_TISNUM);
1775 if (sse) { 1775 if (sse) {
1776 dasm_put(Dst, 10442); 1776 dasm_put(Dst, 10443);
1777 } else { 1777 } else {
1778 dasm_put(Dst, 10457); 1778 dasm_put(Dst, 10458);
1779 } 1779 }
1780 break; 1780 break;
1781 case 1: 1781 case 1:
1782 dasm_put(Dst, 10152, LJ_TISNUM); 1782 dasm_put(Dst, 10153, LJ_TISNUM);
1783 if (sse) { 1783 if (sse) {
1784 dasm_put(Dst, 10466); 1784 dasm_put(Dst, 10467);
1785 } else { 1785 } else {
1786 dasm_put(Dst, 10481); 1786 dasm_put(Dst, 10482);
1787 } 1787 }
1788 break; 1788 break;
1789 default: 1789 default:
1790 dasm_put(Dst, 10188, LJ_TISNUM, LJ_TISNUM); 1790 dasm_put(Dst, 10189, LJ_TISNUM, LJ_TISNUM);
1791 if (sse) { 1791 if (sse) {
1792 dasm_put(Dst, 10490); 1792 dasm_put(Dst, 10491);
1793 } else { 1793 } else {
1794 dasm_put(Dst, 10504); 1794 dasm_put(Dst, 10505);
1795 } 1795 }
1796 break; 1796 break;
1797 } 1797 }
1798 dasm_put(Dst, 10518); 1798 dasm_put(Dst, 10519);
1799 break; 1799 break;
1800 case BC_POW: 1800 case BC_POW:
1801 dasm_put(Dst, 10108); 1801 dasm_put(Dst, 10109);
1802 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1802 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1803 switch (vk) { 1803 switch (vk) {
1804 case 0: 1804 case 0:
1805 dasm_put(Dst, 10116, LJ_TISNUM); 1805 dasm_put(Dst, 10117, LJ_TISNUM);
1806 if (sse) { 1806 if (sse) {
1807 dasm_put(Dst, 10442); 1807 dasm_put(Dst, 10443);
1808 } else { 1808 } else {
1809 dasm_put(Dst, 10457); 1809 dasm_put(Dst, 10458);
1810 } 1810 }
1811 break; 1811 break;
1812 case 1: 1812 case 1:
1813 dasm_put(Dst, 10152, LJ_TISNUM); 1813 dasm_put(Dst, 10153, LJ_TISNUM);
1814 if (sse) { 1814 if (sse) {
1815 dasm_put(Dst, 10466); 1815 dasm_put(Dst, 10467);
1816 } else { 1816 } else {
1817 dasm_put(Dst, 10481); 1817 dasm_put(Dst, 10482);
1818 } 1818 }
1819 break; 1819 break;
1820 default: 1820 default:
1821 dasm_put(Dst, 10188, LJ_TISNUM, LJ_TISNUM); 1821 dasm_put(Dst, 10189, LJ_TISNUM, LJ_TISNUM);
1822 if (sse) { 1822 if (sse) {
1823 dasm_put(Dst, 10490); 1823 dasm_put(Dst, 10491);
1824 } else { 1824 } else {
1825 dasm_put(Dst, 10504); 1825 dasm_put(Dst, 10505);
1826 } 1826 }
1827 break; 1827 break;
1828 } 1828 }
1829 dasm_put(Dst, 10523); 1829 dasm_put(Dst, 10524);
1830 if (sse) { 1830 if (sse) {
1831 dasm_put(Dst, 9990); 1831 dasm_put(Dst, 9991);
1832 } else { 1832 } else {
1833 dasm_put(Dst, 10002); 1833 dasm_put(Dst, 10003);
1834 } 1834 }
1835 dasm_put(Dst, 9564); 1835 dasm_put(Dst, 9565);
1836 break; 1836 break;
1837 1837
1838 case BC_CAT: 1838 case BC_CAT:
1839 dasm_put(Dst, 10527, Dt1(->base), Dt1(->base)); 1839 dasm_put(Dst, 10528, Dt1(->base), Dt1(->base));
1840 break; 1840 break;
1841 1841
1842 /* -- Constant ops ------------------------------------------------------ */ 1842 /* -- Constant ops ------------------------------------------------------ */
1843 1843
1844 case BC_KSTR: 1844 case BC_KSTR:
1845 dasm_put(Dst, 10618, LJ_TSTR); 1845 dasm_put(Dst, 10619, LJ_TSTR);
1846 break; 1846 break;
1847 case BC_KSHORT: 1847 case BC_KSHORT:
1848 if (sse) { 1848 if (sse) {
1849 dasm_put(Dst, 10655); 1849 dasm_put(Dst, 10656);
1850 } else { 1850 } else {
1851 dasm_put(Dst, 10670); 1851 dasm_put(Dst, 10671);
1852 } 1852 }
1853 dasm_put(Dst, 9564); 1853 dasm_put(Dst, 9565);
1854 break; 1854 break;
1855 case BC_KNUM: 1855 case BC_KNUM:
1856 if (sse) { 1856 if (sse) {
1857 dasm_put(Dst, 10678); 1857 dasm_put(Dst, 10679);
1858 } else { 1858 } else {
1859 dasm_put(Dst, 10692); 1859 dasm_put(Dst, 10693);
1860 } 1860 }
1861 dasm_put(Dst, 9564); 1861 dasm_put(Dst, 9565);
1862 break; 1862 break;
1863 case BC_KPRI: 1863 case BC_KPRI:
1864 dasm_put(Dst, 10700); 1864 dasm_put(Dst, 10701);
1865 break; 1865 break;
1866 case BC_KNIL: 1866 case BC_KNIL:
1867 dasm_put(Dst, 10729, LJ_TNIL); 1867 dasm_put(Dst, 10730, LJ_TNIL);
1868 break; 1868 break;
1869 1869
1870 /* -- Upvalue and function ops ------------------------------------------ */ 1870 /* -- Upvalue and function ops ------------------------------------------ */
1871 1871
1872 case BC_UGET: 1872 case BC_UGET:
1873 dasm_put(Dst, 10777, offsetof(GCfuncL, uvptr), DtA(->v)); 1873 dasm_put(Dst, 10778, offsetof(GCfuncL, uvptr), DtA(->v));
1874 break; 1874 break;
1875 case BC_USETV: 1875 case BC_USETV:
1876#define TV2MARKOFS \ 1876#define TV2MARKOFS \
1877 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 1877 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1878 dasm_put(Dst, 10823, 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); 1878 dasm_put(Dst, 10824, 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);
1879 dasm_put(Dst, 10919); 1879 dasm_put(Dst, 10920);
1880 break; 1880 break;
1881#undef TV2MARKOFS 1881#undef TV2MARKOFS
1882 case BC_USETS: 1882 case BC_USETS:
1883 dasm_put(Dst, 10931, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 1883 dasm_put(Dst, 10932, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1884 break; 1884 break;
1885 case BC_USETN: 1885 case BC_USETN:
1886 dasm_put(Dst, 11027); 1886 dasm_put(Dst, 11028);
1887 if (sse) { 1887 if (sse) {
1888 dasm_put(Dst, 11032); 1888 dasm_put(Dst, 11033);
1889 } else { 1889 } else {
1890 dasm_put(Dst, 9806); 1890 dasm_put(Dst, 9807);
1891 } 1891 }
1892 dasm_put(Dst, 11040, offsetof(GCfuncL, uvptr), DtA(->v)); 1892 dasm_put(Dst, 11041, offsetof(GCfuncL, uvptr), DtA(->v));
1893 if (sse) { 1893 if (sse) {
1894 dasm_put(Dst, 11049); 1894 dasm_put(Dst, 11050);
1895 } else { 1895 } else {
1896 dasm_put(Dst, 11055); 1896 dasm_put(Dst, 11056);
1897 } 1897 }
1898 dasm_put(Dst, 9564); 1898 dasm_put(Dst, 9565);
1899 break; 1899 break;
1900 case BC_USETP: 1900 case BC_USETP:
1901 dasm_put(Dst, 11058, offsetof(GCfuncL, uvptr), DtA(->v)); 1901 dasm_put(Dst, 11059, offsetof(GCfuncL, uvptr), DtA(->v));
1902 break; 1902 break;
1903 case BC_UCLO: 1903 case BC_UCLO:
1904 dasm_put(Dst, 11098, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 1904 dasm_put(Dst, 11099, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
1905 break; 1905 break;
1906 1906
1907 case BC_FNEW: 1907 case BC_FNEW:
1908 dasm_put(Dst, 11154, Dt1(->base), Dt1(->base), LJ_TFUNC); 1908 dasm_put(Dst, 11155, Dt1(->base), Dt1(->base), LJ_TFUNC);
1909 break; 1909 break;
1910 1910
1911 /* -- Table ops --------------------------------------------------------- */ 1911 /* -- Table ops --------------------------------------------------------- */
1912 1912
1913 case BC_TNEW: 1913 case BC_TNEW:
1914 dasm_put(Dst, 11221, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 1914 dasm_put(Dst, 11222, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
1915 break; 1915 break;
1916 case BC_TDUP: 1916 case BC_TDUP:
1917 dasm_put(Dst, 11345, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 1917 dasm_put(Dst, 11346, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
1918 break; 1918 break;
1919 1919
1920 case BC_GGET: 1920 case BC_GGET:
1921 dasm_put(Dst, 11444, Dt7(->env)); 1921 dasm_put(Dst, 11445, Dt7(->env));
1922 break; 1922 break;
1923 case BC_GSET: 1923 case BC_GSET:
1924 dasm_put(Dst, 11464, Dt7(->env)); 1924 dasm_put(Dst, 11465, Dt7(->env));
1925 break; 1925 break;
1926 1926
1927 case BC_TGETV: 1927 case BC_TGETV:
1928 dasm_put(Dst, 11484, LJ_TTAB, LJ_TISNUM); 1928 dasm_put(Dst, 11485, LJ_TTAB, LJ_TISNUM);
1929 if (sse) { 1929 if (sse) {
1930 dasm_put(Dst, 11517); 1930 dasm_put(Dst, 11518);
1931 } else { 1931 } else {
1932 } 1932 }
1933 dasm_put(Dst, 11538, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1933 dasm_put(Dst, 11539, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1934 dasm_put(Dst, 11632, LJ_TSTR); 1934 dasm_put(Dst, 11633, LJ_TSTR);
1935 break; 1935 break;
1936 case BC_TGETS: 1936 case BC_TGETS:
1937 dasm_put(Dst, 11650, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 1937 dasm_put(Dst, 11651, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
1938 dasm_put(Dst, 11736, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1938 dasm_put(Dst, 11737, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1939 break; 1939 break;
1940 case BC_TGETB: 1940 case BC_TGETB:
1941 dasm_put(Dst, 11809, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1941 dasm_put(Dst, 11810, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1942 dasm_put(Dst, 10098); 1942 dasm_put(Dst, 10099);
1943 break; 1943 break;
1944 1944
1945 case BC_TSETV: 1945 case BC_TSETV:
1946 dasm_put(Dst, 11910, LJ_TTAB, LJ_TISNUM); 1946 dasm_put(Dst, 11911, LJ_TTAB, LJ_TISNUM);
1947 if (sse) { 1947 if (sse) {
1948 dasm_put(Dst, 11517); 1948 dasm_put(Dst, 11518);
1949 } else { 1949 } else {
1950 } 1950 }
1951 dasm_put(Dst, 11943, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 1951 dasm_put(Dst, 11944, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
1952 dasm_put(Dst, 12028, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1952 dasm_put(Dst, 12029, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1953 break; 1953 break;
1954 case BC_TSETS: 1954 case BC_TSETS:
1955 dasm_put(Dst, 12092, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 1955 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);
1956 dasm_put(Dst, 12169, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 1956 dasm_put(Dst, 12170, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
1957 dasm_put(Dst, 12261, 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)); 1957 dasm_put(Dst, 12262, 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));
1958 break; 1958 break;
1959 case BC_TSETB: 1959 case BC_TSETB:
1960 dasm_put(Dst, 12353, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 1960 dasm_put(Dst, 12354, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
1961 dasm_put(Dst, 12453, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1961 dasm_put(Dst, 12454, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1962 break; 1962 break;
1963 1963
1964 case BC_TSETM: 1964 case BC_TSETM:
1965 dasm_put(Dst, 12501); 1965 dasm_put(Dst, 12502);
1966 if (sse) { 1966 if (sse) {
1967 dasm_put(Dst, 12506); 1967 dasm_put(Dst, 12507);
1968 } else { 1968 } else {
1969 } 1969 }
1970 dasm_put(Dst, 12514, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 1970 dasm_put(Dst, 12515, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
1971 dasm_put(Dst, 12662, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1971 dasm_put(Dst, 12663, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1972 break; 1972 break;
1973 1973
1974 /* -- Calls and vararg handling ----------------------------------------- */ 1974 /* -- Calls and vararg handling ----------------------------------------- */
1975 1975
1976 case BC_CALL: case BC_CALLM: 1976 case BC_CALL: case BC_CALLM:
1977 dasm_put(Dst, 10112); 1977 dasm_put(Dst, 10113);
1978 if (op == BC_CALLM) { 1978 if (op == BC_CALLM) {
1979 dasm_put(Dst, 12682); 1979 dasm_put(Dst, 12683);
1980 } 1980 }
1981 dasm_put(Dst, 12687, LJ_TFUNC, Dt7(->pc)); 1981 dasm_put(Dst, 12688, LJ_TFUNC, Dt7(->pc));
1982 break; 1982 break;
1983 1983
1984 case BC_CALLMT: 1984 case BC_CALLMT:
1985 dasm_put(Dst, 12682); 1985 dasm_put(Dst, 12683);
1986 break; 1986 break;
1987 case BC_CALLT: 1987 case BC_CALLT:
1988 dasm_put(Dst, 12730, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 1988 dasm_put(Dst, 12731, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
1989 dasm_put(Dst, 12854, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 1989 dasm_put(Dst, 12855, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
1990 break; 1990 break;
1991 1991
1992 case BC_ITERC: 1992 case BC_ITERC:
1993 dasm_put(Dst, 12928, LJ_TFUNC, 2+1, Dt7(->pc)); 1993 dasm_put(Dst, 12929, LJ_TFUNC, 2+1, Dt7(->pc));
1994 break; 1994 break;
1995 1995
1996 case BC_VARG: 1996 case BC_VARG:
1997 dasm_put(Dst, 13010, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); 1997 dasm_put(Dst, 13011, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL);
1998 dasm_put(Dst, 13164, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 1998 dasm_put(Dst, 13165, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
1999 break; 1999 break;
2000 2000
2001 /* -- Returns ----------------------------------------------------------- */ 2001 /* -- Returns ----------------------------------------------------------- */
2002 2002
2003 case BC_RETM: 2003 case BC_RETM:
2004 dasm_put(Dst, 12682); 2004 dasm_put(Dst, 12683);
2005 break; 2005 break;
2006 2006
2007 case BC_RET: case BC_RET0: case BC_RET1: 2007 case BC_RET: case BC_RET0: case BC_RET1:
2008 if (op != BC_RET0) { 2008 if (op != BC_RET0) {
2009 dasm_put(Dst, 13269); 2009 dasm_put(Dst, 13270);
2010 } 2010 }
2011 dasm_put(Dst, 13273, FRAME_TYPE); 2011 dasm_put(Dst, 13274, FRAME_TYPE);
2012 switch (op) { 2012 switch (op) {
2013 case BC_RET: 2013 case BC_RET:
2014 dasm_put(Dst, 13292); 2014 dasm_put(Dst, 13293);
2015 break; 2015 break;
2016 case BC_RET1: 2016 case BC_RET1:
2017 dasm_put(Dst, 13356); 2017 dasm_put(Dst, 13357);
2018 /* fallthrough */ 2018 /* fallthrough */
2019 case BC_RET0: 2019 case BC_RET0:
2020 dasm_put(Dst, 13372); 2020 dasm_put(Dst, 13373);
2021 default: 2021 default:
2022 break; 2022 break;
2023 } 2023 }
2024 dasm_put(Dst, 13383, Dt7(->pc), PC2PROTO(k)); 2024 dasm_put(Dst, 13384, Dt7(->pc), PC2PROTO(k));
2025 if (op == BC_RET) { 2025 if (op == BC_RET) {
2026 dasm_put(Dst, 13431, LJ_TNIL); 2026 dasm_put(Dst, 13432, LJ_TNIL);
2027 } else { 2027 } else {
2028 dasm_put(Dst, 13442, LJ_TNIL); 2028 dasm_put(Dst, 13443, LJ_TNIL);
2029 } 2029 }
2030 dasm_put(Dst, 13449, -FRAME_VARG, FRAME_TYPEP); 2030 dasm_put(Dst, 13450, -FRAME_VARG, FRAME_TYPEP);
2031 if (op != BC_RET0) { 2031 if (op != BC_RET0) {
2032 dasm_put(Dst, 13473); 2032 dasm_put(Dst, 13474);
2033 } 2033 }
2034 dasm_put(Dst, 4599); 2034 dasm_put(Dst, 4599);
2035 break; 2035 break;
@@ -2039,7 +2039,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2039 2039
2040 case BC_FORL: 2040 case BC_FORL:
2041#if LJ_HASJIT 2041#if LJ_HASJIT
2042 dasm_put(Dst, 13477, HOTCOUNT_PCMASK, GG_DISP2HOT); 2042 dasm_put(Dst, 13478, HOTCOUNT_PCMASK, GG_DISP2HOT);
2043#endif 2043#endif
2044 break; 2044 break;
2045 2045
@@ -2051,57 +2051,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2051 case BC_FORI: 2051 case BC_FORI:
2052 case BC_IFORL: 2052 case BC_IFORL:
2053 vk = (op == BC_IFORL || op == BC_JFORL); 2053 vk = (op == BC_IFORL || op == BC_JFORL);
2054 dasm_put(Dst, 13498); 2054 dasm_put(Dst, 13499);
2055 if (!vk) { 2055 if (!vk) {
2056 dasm_put(Dst, 13502, LJ_TISNUM, LJ_TISNUM); 2056 dasm_put(Dst, 13503, LJ_TISNUM, LJ_TISNUM);
2057 } 2057 }
2058 dasm_put(Dst, 13521); 2058 dasm_put(Dst, 13522);
2059 if (!vk) { 2059 if (!vk) {
2060 dasm_put(Dst, 13525, LJ_TISNUM); 2060 dasm_put(Dst, 13526, LJ_TISNUM);
2061 } 2061 }
2062 if (sse) { 2062 if (sse) {
2063 dasm_put(Dst, 13534); 2063 dasm_put(Dst, 13535);
2064 if (vk) { 2064 if (vk) {
2065 dasm_put(Dst, 13546); 2065 dasm_put(Dst, 13547);
2066 } else { 2066 } else {
2067 dasm_put(Dst, 13565); 2067 dasm_put(Dst, 13566);
2068 } 2068 }
2069 dasm_put(Dst, 13570); 2069 dasm_put(Dst, 13571);
2070 } else { 2070 } else {
2071 dasm_put(Dst, 13583); 2071 dasm_put(Dst, 13584);
2072 if (vk) { 2072 if (vk) {
2073 dasm_put(Dst, 13589); 2073 dasm_put(Dst, 13590);
2074 } else { 2074 } else {
2075 dasm_put(Dst, 13605); 2075 dasm_put(Dst, 13606);
2076 } 2076 }
2077 dasm_put(Dst, 13613); 2077 dasm_put(Dst, 13614);
2078 if (cmov) { 2078 if (cmov) {
2079 dasm_put(Dst, 9527); 2079 dasm_put(Dst, 9528);
2080 } else { 2080 } else {
2081 dasm_put(Dst, 9533); 2081 dasm_put(Dst, 9534);
2082 } 2082 }
2083 if (!cmov) { 2083 if (!cmov) {
2084 dasm_put(Dst, 13618); 2084 dasm_put(Dst, 13619);
2085 } 2085 }
2086 } 2086 }
2087 if (op == BC_FORI) { 2087 if (op == BC_FORI) {
2088 dasm_put(Dst, 13624, -BCBIAS_J*4); 2088 dasm_put(Dst, 13625, -BCBIAS_J*4);
2089 } else if (op == BC_JFORI) { 2089 } else if (op == BC_JFORI) {
2090 dasm_put(Dst, 13634, -BCBIAS_J*4, BC_JLOOP); 2090 dasm_put(Dst, 13635, -BCBIAS_J*4, BC_JLOOP);
2091 } else if (op == BC_IFORL) { 2091 } else if (op == BC_IFORL) {
2092 dasm_put(Dst, 13648, -BCBIAS_J*4); 2092 dasm_put(Dst, 13649, -BCBIAS_J*4);
2093 } else { 2093 } else {
2094 dasm_put(Dst, 13644, BC_JLOOP); 2094 dasm_put(Dst, 13645, BC_JLOOP);
2095 } 2095 }
2096 dasm_put(Dst, 9562); 2096 dasm_put(Dst, 9563);
2097 if (sse) { 2097 if (sse) {
2098 dasm_put(Dst, 13658); 2098 dasm_put(Dst, 13659);
2099 } 2099 }
2100 break; 2100 break;
2101 2101
2102 case BC_ITERL: 2102 case BC_ITERL:
2103#if LJ_HASJIT 2103#if LJ_HASJIT
2104 dasm_put(Dst, 13477, HOTCOUNT_PCMASK, GG_DISP2HOT); 2104 dasm_put(Dst, 13478, HOTCOUNT_PCMASK, GG_DISP2HOT);
2105#endif 2105#endif
2106 break; 2106 break;
2107 2107
@@ -2110,33 +2110,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2110 break; 2110 break;
2111#endif 2111#endif
2112 case BC_IITERL: 2112 case BC_IITERL:
2113 dasm_put(Dst, 13669, LJ_TNIL); 2113 dasm_put(Dst, 13670, LJ_TNIL);
2114 if (op == BC_JITERL) { 2114 if (op == BC_JITERL) {
2115 dasm_put(Dst, 13684, BC_JLOOP); 2115 dasm_put(Dst, 13685, BC_JLOOP);
2116 } else { 2116 } else {
2117 dasm_put(Dst, 13698, -BCBIAS_J*4); 2117 dasm_put(Dst, 13699, -BCBIAS_J*4);
2118 } 2118 }
2119 dasm_put(Dst, 9866); 2119 dasm_put(Dst, 9867);
2120 break; 2120 break;
2121 2121
2122 case BC_LOOP: 2122 case BC_LOOP:
2123#if LJ_HASJIT 2123#if LJ_HASJIT
2124 dasm_put(Dst, 13477, HOTCOUNT_PCMASK, GG_DISP2HOT); 2124 dasm_put(Dst, 13478, HOTCOUNT_PCMASK, GG_DISP2HOT);
2125#endif 2125#endif
2126 break; 2126 break;
2127 2127
2128 case BC_ILOOP: 2128 case BC_ILOOP:
2129 dasm_put(Dst, 9564); 2129 dasm_put(Dst, 9565);
2130 break; 2130 break;
2131 2131
2132 case BC_JLOOP: 2132 case BC_JLOOP:
2133#if LJ_HASJIT 2133#if LJ_HASJIT
2134 dasm_put(Dst, 13714, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2134 dasm_put(Dst, 13715, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2135#endif 2135#endif
2136 break; 2136 break;
2137 2137
2138 case BC_JMP: 2138 case BC_JMP:
2139 dasm_put(Dst, 13755, -BCBIAS_J*4); 2139 dasm_put(Dst, 13756, -BCBIAS_J*4);
2140 break; 2140 break;
2141 2141
2142 /* -- Function headers -------------------------------------------------- */ 2142 /* -- Function headers -------------------------------------------------- */
@@ -2150,7 +2150,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2150 2150
2151 case BC_FUNCF: 2151 case BC_FUNCF:
2152#if LJ_HASJIT 2152#if LJ_HASJIT
2153 dasm_put(Dst, 13781, HOTCOUNT_PCMASK, GG_DISP2HOT); 2153 dasm_put(Dst, 13782, HOTCOUNT_PCMASK, GG_DISP2HOT);
2154#endif 2154#endif
2155 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2155 case BC_FUNCV: /* NYI: compiled vararg functions. */
2156 break; 2156 break;
@@ -2160,47 +2160,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2160 break; 2160 break;
2161#endif 2161#endif
2162 case BC_IFUNCF: 2162 case BC_IFUNCF:
2163 dasm_put(Dst, 13802, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2163 dasm_put(Dst, 13803, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2164 if (op == BC_JFUNCF) { 2164 if (op == BC_JFUNCF) {
2165 dasm_put(Dst, 13833, BC_JLOOP); 2165 dasm_put(Dst, 13834, BC_JLOOP);
2166 } else { 2166 } else {
2167 dasm_put(Dst, 9564); 2167 dasm_put(Dst, 9565);
2168 } 2168 }
2169 dasm_put(Dst, 13842, LJ_TNIL); 2169 dasm_put(Dst, 13843, LJ_TNIL);
2170 break; 2170 break;
2171 2171
2172 case BC_JFUNCV: 2172 case BC_JFUNCV:
2173#if !LJ_HASJIT 2173#if !LJ_HASJIT
2174 break; 2174 break;
2175#endif 2175#endif
2176 dasm_put(Dst, 9043); 2176 dasm_put(Dst, 9044);
2177 break; /* NYI: compiled vararg functions. */ 2177 break; /* NYI: compiled vararg functions. */
2178 2178
2179 case BC_IFUNCV: 2179 case BC_IFUNCV:
2180 dasm_put(Dst, 13864, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2180 dasm_put(Dst, 13865, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2181 if (op == BC_JFUNCV) { 2181 if (op == BC_JFUNCV) {
2182 dasm_put(Dst, 13833, BC_JLOOP); 2182 dasm_put(Dst, 13834, BC_JLOOP);
2183 } else { 2183 } else {
2184 dasm_put(Dst, 13961, -4+PC2PROTO(k)); 2184 dasm_put(Dst, 13962, -4+PC2PROTO(k));
2185 } 2185 }
2186 dasm_put(Dst, 13986, LJ_TNIL); 2186 dasm_put(Dst, 13987, LJ_TNIL);
2187 break; 2187 break;
2188 2188
2189 case BC_FUNCC: 2189 case BC_FUNCC:
2190 case BC_FUNCCW: 2190 case BC_FUNCCW:
2191 dasm_put(Dst, 14008, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2191 dasm_put(Dst, 14009, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2192 if (op == BC_FUNCC) { 2192 if (op == BC_FUNCC) {
2193 dasm_put(Dst, 14038); 2193 dasm_put(Dst, 14039);
2194 } else { 2194 } else {
2195 dasm_put(Dst, 14042); 2195 dasm_put(Dst, 14043);
2196 } 2196 }
2197 dasm_put(Dst, 14050, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2197 dasm_put(Dst, 14051, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2198 if (op == BC_FUNCC) { 2198 if (op == BC_FUNCC) {
2199 dasm_put(Dst, 14060); 2199 dasm_put(Dst, 14061);
2200 } else { 2200 } else {
2201 dasm_put(Dst, 14065, DISPATCH_GL(wrapf)); 2201 dasm_put(Dst, 14066, DISPATCH_GL(wrapf));
2202 } 2202 }
2203 dasm_put(Dst, 14071, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2203 dasm_put(Dst, 14072, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2204 break; 2204 break;
2205 2205
2206 /* ---------------------------------------------------------------------- */ 2206 /* ---------------------------------------------------------------------- */
@@ -2228,7 +2228,7 @@ static int build_backend(BuildCtx *ctx)
2228 2228
2229 build_subroutines(ctx, cmov, sse); 2229 build_subroutines(ctx, cmov, sse);
2230 2230
2231 dasm_put(Dst, 14097); 2231 dasm_put(Dst, 14098);
2232 for (op = 0; op < BC__MAX; op++) 2232 for (op = 0; op < BC__MAX; op++)
2233 build_ins(ctx, (BCOp)op, op, cmov, sse); 2233 build_ins(ctx, (BCOp)op, op, cmov, sse);
2234 2234