summaryrefslogtreecommitdiff
path: root/src/buildvm_x86.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x86.h')
-rw-r--r--src/buildvm_x86.h662
1 files changed, 331 insertions, 331 deletions
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h
index c50b541a..bb1645ab 100644
--- a/src/buildvm_x86.h
+++ b/src/buildvm_x86.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[15251] = { 15static const unsigned char build_actionlist[15252] = {
16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141, 16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141,
17 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36, 17 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,
18 20,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,15, 18 20,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,15,
@@ -389,12 +389,12 @@ static const unsigned char build_actionlist[15251] = {
389 205,137,193,252,233,244,125,248,117,184,237,252,233,244,55,248,119,184,237, 389 205,137,193,252,233,244,125,248,117,184,237,252,233,244,55,248,119,184,237,
390 248,55,139,108,36,48,139,114,252,252,137,116,36,24,137,149,233,141,68,194, 390 248,55,139,108,36,48,139,114,252,252,137,116,36,24,137,149,233,141,68,194,
391 252,248,141,136,233,137,133,233,139,66,252,248,59,141,233,15,135,244,251, 391 252,248,141,136,233,137,133,233,139,66,252,248,59,141,233,15,135,244,251,
392 137,44,36,252,255,144,233,139,149,233,133,192,15,133,244,69,248,1,255,139, 392 137,44,36,252,255,144,233,139,149,233,133,192,15,143,244,69,248,1,255,139,
393 133,233,41,208,193,232,3,131,192,1,139,106,252,248,57,114,252,252,15,133, 393 141,233,41,209,193,252,233,3,133,192,141,65,1,139,106,252,248,15,133,244,
394 244,248,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36, 394 248,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,
395 171,248,2,137,209,252,247,198,237,15,133,244,249,15,182,110,252,253,252,247, 395 248,2,137,209,252,247,198,237,15,133,244,249,15,182,110,252,253,252,247,213,
396 213,141,20,252,234,252,233,244,27,248,3,137,252,245,131,229,252,248,41,252, 396 141,20,252,234,252,233,244,27,248,3,137,252,245,131,229,252,248,41,252,234,
397 234,252,233,244,27,248,5,186,237,137,252,233,232,251,1,0,139,149,233,252, 397 252,233,244,27,248,5,186,237,137,252,233,232,251,1,0,139,149,233,49,192,252,
398 233,244,1,248,66,93,137,108,36,16,139,108,36,48,137,116,36,24,137,149,233, 398 233,244,1,248,66,93,137,108,36,16,139,108,36,48,137,116,36,24,137,149,233,
399 255,141,68,194,252,248,137,252,233,137,133,233,232,251,1,19,139,149,233,139, 399 255,141,68,194,252,248,137,252,233,137,133,233,232,251,1,19,139,149,233,139,
400 133,233,41,208,193,232,3,131,192,1,139,108,36,16,85,195,248,136,255,15,182, 400 133,233,41,208,193,232,3,131,192,1,139,108,36,16,85,195,248,136,255,15,182,
@@ -1434,117 +1434,117 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1434 } 1434 }
1435 dasm_put(Dst, 7731, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1435 dasm_put(Dst, 7731, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1436 dasm_put(Dst, 7809, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1436 dasm_put(Dst, 7809, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1437 dasm_put(Dst, 7932, Dt1(->top), Dt1(->base), Dt1(->top)); 1437 dasm_put(Dst, 7933, Dt1(->top), Dt1(->base), Dt1(->top));
1438#if LJ_HASJIT 1438#if LJ_HASJIT
1439 dasm_put(Dst, 7970, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1439 dasm_put(Dst, 7971, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1440#endif 1440#endif
1441 dasm_put(Dst, 8001, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1441 dasm_put(Dst, 8002, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1442 dasm_put(Dst, 8052, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1442 dasm_put(Dst, 8053, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1443#if LJ_HASJIT 1443#if LJ_HASJIT
1444 dasm_put(Dst, 8118, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1444 dasm_put(Dst, 8119, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1445#endif 1445#endif
1446 dasm_put(Dst, 8164); 1446 dasm_put(Dst, 8165);
1447#if LJ_HASJIT 1447#if LJ_HASJIT
1448 dasm_put(Dst, 7996); 1448 dasm_put(Dst, 7997);
1449#endif 1449#endif
1450 dasm_put(Dst, 8171); 1450 dasm_put(Dst, 8172);
1451#if LJ_HASJIT 1451#if LJ_HASJIT
1452 dasm_put(Dst, 8174); 1452 dasm_put(Dst, 8175);
1453#endif 1453#endif
1454 dasm_put(Dst, 8184, Dt1(->base), Dt1(->top)); 1454 dasm_put(Dst, 8185, Dt1(->base), Dt1(->top));
1455#if LJ_HASJIT 1455#if LJ_HASJIT
1456 dasm_put(Dst, 8218); 1456 dasm_put(Dst, 8219);
1457#endif 1457#endif
1458 dasm_put(Dst, 8223, Dt1(->base), Dt1(->top)); 1458 dasm_put(Dst, 8224, Dt1(->base), Dt1(->top));
1459#if LJ_HASJIT 1459#if LJ_HASJIT
1460 dasm_put(Dst, 8252, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, 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); 1460 dasm_put(Dst, 8253, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, 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);
1461#endif 1461#endif
1462 dasm_put(Dst, 8395); 1462 dasm_put(Dst, 8396);
1463#if LJ_HASJIT 1463#if LJ_HASJIT
1464 dasm_put(Dst, 8398, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1464 dasm_put(Dst, 8399, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1465#endif 1465#endif
1466 dasm_put(Dst, 8476); 1466 dasm_put(Dst, 8477);
1467 if (!sse) { 1467 if (!sse) {
1468 dasm_put(Dst, 8479); 1468 dasm_put(Dst, 8480);
1469 } 1469 }
1470 dasm_put(Dst, 8524); 1470 dasm_put(Dst, 8525);
1471 if (!sse) { 1471 if (!sse) {
1472 dasm_put(Dst, 8626); 1472 dasm_put(Dst, 8627);
1473 } 1473 }
1474 dasm_put(Dst, 8671); 1474 dasm_put(Dst, 8672);
1475 if (!sse) { 1475 if (!sse) {
1476 dasm_put(Dst, 8773); 1476 dasm_put(Dst, 8774);
1477 } 1477 }
1478 dasm_put(Dst, 8812); 1478 dasm_put(Dst, 8813);
1479 if (sse) { 1479 if (sse) {
1480 dasm_put(Dst, 8917); 1480 dasm_put(Dst, 8918);
1481 } else { 1481 } else {
1482 dasm_put(Dst, 9047); 1482 dasm_put(Dst, 9048);
1483 } 1483 }
1484 dasm_put(Dst, 9094); 1484 dasm_put(Dst, 9095);
1485 if (!sse) { 1485 if (!sse) {
1486 dasm_put(Dst, 9168); 1486 dasm_put(Dst, 9169);
1487 if (cmov) { 1487 if (cmov) {
1488 dasm_put(Dst, 9179); 1488 dasm_put(Dst, 9180);
1489 } else { 1489 } else {
1490 dasm_put(Dst, 9183); 1490 dasm_put(Dst, 9184);
1491 } 1491 }
1492 dasm_put(Dst, 9190); 1492 dasm_put(Dst, 9191);
1493 dasm_put(Dst, 9264); 1493 dasm_put(Dst, 9265);
1494 dasm_put(Dst, 9364); 1494 dasm_put(Dst, 9365);
1495 if (cmov) { 1495 if (cmov) {
1496 dasm_put(Dst, 9367); 1496 dasm_put(Dst, 9368);
1497 } else { 1497 } else {
1498 dasm_put(Dst, 9371); 1498 dasm_put(Dst, 9372);
1499 } 1499 }
1500 dasm_put(Dst, 9378); 1500 dasm_put(Dst, 9379);
1501 if (cmov) { 1501 if (cmov) {
1502 dasm_put(Dst, 9179); 1502 dasm_put(Dst, 9180);
1503 } else { 1503 } else {
1504 dasm_put(Dst, 9183); 1504 dasm_put(Dst, 9184);
1505 } 1505 }
1506 dasm_put(Dst, 9396); 1506 dasm_put(Dst, 9397);
1507 } else { 1507 } else {
1508 dasm_put(Dst, 9475); 1508 dasm_put(Dst, 9476);
1509 } 1509 }
1510 dasm_put(Dst, 9478); 1510 dasm_put(Dst, 9479);
1511 dasm_put(Dst, 9563); 1511 dasm_put(Dst, 9564);
1512 dasm_put(Dst, 9694); 1512 dasm_put(Dst, 9695);
1513 dasm_put(Dst, 9893); 1513 dasm_put(Dst, 9894);
1514#if LJ_HASJIT 1514#if LJ_HASJIT
1515 if (sse) { 1515 if (sse) {
1516 dasm_put(Dst, 9916); 1516 dasm_put(Dst, 9917);
1517 dasm_put(Dst, 9973); 1517 dasm_put(Dst, 9974);
1518 dasm_put(Dst, 10064); 1518 dasm_put(Dst, 10065);
1519 } else { 1519 } else {
1520 dasm_put(Dst, 10106); 1520 dasm_put(Dst, 10107);
1521 dasm_put(Dst, 10198); 1521 dasm_put(Dst, 10199);
1522 } 1522 }
1523 dasm_put(Dst, 10244); 1523 dasm_put(Dst, 10245);
1524#endif 1524#endif
1525 dasm_put(Dst, 10248); 1525 dasm_put(Dst, 10249);
1526 if (sse) { 1526 if (sse) {
1527 dasm_put(Dst, 10251); 1527 dasm_put(Dst, 10252);
1528 dasm_put(Dst, 10356); 1528 dasm_put(Dst, 10357);
1529 dasm_put(Dst, 10439); 1529 dasm_put(Dst, 10440);
1530 } else { 1530 } else {
1531 dasm_put(Dst, 10511); 1531 dasm_put(Dst, 10512);
1532 dasm_put(Dst, 10594); 1532 dasm_put(Dst, 10595);
1533 if (cmov) { 1533 if (cmov) {
1534 dasm_put(Dst, 10649); 1534 dasm_put(Dst, 10650);
1535 } else { 1535 } else {
1536 dasm_put(Dst, 10668); 1536 dasm_put(Dst, 10669);
1537 } 1537 }
1538 dasm_put(Dst, 10244); 1538 dasm_put(Dst, 10245);
1539 } 1539 }
1540 dasm_put(Dst, 10709); 1540 dasm_put(Dst, 10710);
1541} 1541}
1542 1542
1543/* Generate the code for a single instruction. */ 1543/* Generate the code for a single instruction. */
1544static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1544static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1545{ 1545{
1546 int vk = 0; 1546 int vk = 0;
1547 dasm_put(Dst, 10763, defop); 1547 dasm_put(Dst, 10764, defop);
1548 1548
1549 switch (op) { 1549 switch (op) {
1550 1550
@@ -1553,611 +1553,611 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1553 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1553 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1554 1554
1555 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1555 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1556 dasm_put(Dst, 10765, LJ_TISNUM, LJ_TISNUM); 1556 dasm_put(Dst, 10766, LJ_TISNUM, LJ_TISNUM);
1557 if (sse) { 1557 if (sse) {
1558 dasm_put(Dst, 10786); 1558 dasm_put(Dst, 10787);
1559 } else { 1559 } else {
1560 dasm_put(Dst, 10801); 1560 dasm_put(Dst, 10802);
1561 if (cmov) { 1561 if (cmov) {
1562 dasm_put(Dst, 10811); 1562 dasm_put(Dst, 10812);
1563 } else { 1563 } else {
1564 dasm_put(Dst, 10817); 1564 dasm_put(Dst, 10818);
1565 } 1565 }
1566 } 1566 }
1567 switch (op) { 1567 switch (op) {
1568 case BC_ISLT: 1568 case BC_ISLT:
1569 dasm_put(Dst, 10824); 1569 dasm_put(Dst, 10825);
1570 break; 1570 break;
1571 case BC_ISGE: 1571 case BC_ISGE:
1572 dasm_put(Dst, 10059); 1572 dasm_put(Dst, 10060);
1573 break; 1573 break;
1574 case BC_ISLE: 1574 case BC_ISLE:
1575 dasm_put(Dst, 6186); 1575 dasm_put(Dst, 6186);
1576 break; 1576 break;
1577 case BC_ISGT: 1577 case BC_ISGT:
1578 dasm_put(Dst, 10829); 1578 dasm_put(Dst, 10830);
1579 break; 1579 break;
1580 default: break; /* Shut up GCC. */ 1580 default: break; /* Shut up GCC. */
1581 } 1581 }
1582 dasm_put(Dst, 10834, -BCBIAS_J*4); 1582 dasm_put(Dst, 10835, -BCBIAS_J*4);
1583 break; 1583 break;
1584 1584
1585 case BC_ISEQV: case BC_ISNEV: 1585 case BC_ISEQV: case BC_ISNEV:
1586 vk = op == BC_ISEQV; 1586 vk = op == BC_ISEQV;
1587 dasm_put(Dst, 10867, LJ_TISNUM, LJ_TISNUM); 1587 dasm_put(Dst, 10868, LJ_TISNUM, LJ_TISNUM);
1588 if (sse) { 1588 if (sse) {
1589 dasm_put(Dst, 10893); 1589 dasm_put(Dst, 10894);
1590 } else { 1590 } else {
1591 dasm_put(Dst, 10905); 1591 dasm_put(Dst, 10906);
1592 if (cmov) { 1592 if (cmov) {
1593 dasm_put(Dst, 10811); 1593 dasm_put(Dst, 10812);
1594 } else { 1594 } else {
1595 dasm_put(Dst, 10817); 1595 dasm_put(Dst, 10818);
1596 } 1596 }
1597 } 1597 }
1598 iseqne_fp: 1598 iseqne_fp:
1599 if (vk) { 1599 if (vk) {
1600 dasm_put(Dst, 10912); 1600 dasm_put(Dst, 10913);
1601 } else { 1601 } else {
1602 dasm_put(Dst, 10921); 1602 dasm_put(Dst, 10922);
1603 } 1603 }
1604 iseqne_end: 1604 iseqne_end:
1605 if (vk) { 1605 if (vk) {
1606 dasm_put(Dst, 10930, -BCBIAS_J*4); 1606 dasm_put(Dst, 10931, -BCBIAS_J*4);
1607 } else { 1607 } else {
1608 dasm_put(Dst, 10945, -BCBIAS_J*4); 1608 dasm_put(Dst, 10946, -BCBIAS_J*4);
1609 } 1609 }
1610 dasm_put(Dst, 10848); 1610 dasm_put(Dst, 10849);
1611 if (op == BC_ISEQV || op == BC_ISNEV) { 1611 if (op == BC_ISEQV || op == BC_ISNEV) {
1612 dasm_put(Dst, 10960, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1612 dasm_put(Dst, 10961, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1613 if (vk) { 1613 if (vk) {
1614 dasm_put(Dst, 11018); 1614 dasm_put(Dst, 11019);
1615 } else { 1615 } else {
1616 dasm_put(Dst, 11022); 1616 dasm_put(Dst, 11023);
1617 } 1617 }
1618 dasm_put(Dst, 11028); 1618 dasm_put(Dst, 11029);
1619 } 1619 }
1620 break; 1620 break;
1621 case BC_ISEQS: case BC_ISNES: 1621 case BC_ISEQS: case BC_ISNES:
1622 vk = op == BC_ISEQS; 1622 vk = op == BC_ISEQS;
1623 dasm_put(Dst, 11033, LJ_TSTR); 1623 dasm_put(Dst, 11034, LJ_TSTR);
1624 iseqne_test: 1624 iseqne_test:
1625 if (vk) { 1625 if (vk) {
1626 dasm_put(Dst, 10916); 1626 dasm_put(Dst, 10917);
1627 } else { 1627 } else {
1628 dasm_put(Dst, 2814); 1628 dasm_put(Dst, 2814);
1629 } 1629 }
1630 goto iseqne_end; 1630 goto iseqne_end;
1631 case BC_ISEQN: case BC_ISNEN: 1631 case BC_ISEQN: case BC_ISNEN:
1632 vk = op == BC_ISEQN; 1632 vk = op == BC_ISEQN;
1633 dasm_put(Dst, 11056, LJ_TISNUM); 1633 dasm_put(Dst, 11057, LJ_TISNUM);
1634 if (sse) { 1634 if (sse) {
1635 dasm_put(Dst, 11070); 1635 dasm_put(Dst, 11071);
1636 } else { 1636 } else {
1637 dasm_put(Dst, 11082); 1637 dasm_put(Dst, 11083);
1638 if (cmov) { 1638 if (cmov) {
1639 dasm_put(Dst, 10811); 1639 dasm_put(Dst, 10812);
1640 } else { 1640 } else {
1641 dasm_put(Dst, 10817); 1641 dasm_put(Dst, 10818);
1642 } 1642 }
1643 } 1643 }
1644 goto iseqne_fp; 1644 goto iseqne_fp;
1645 case BC_ISEQP: case BC_ISNEP: 1645 case BC_ISEQP: case BC_ISNEP:
1646 vk = op == BC_ISEQP; 1646 vk = op == BC_ISEQP;
1647 dasm_put(Dst, 11089); 1647 dasm_put(Dst, 11090);
1648 goto iseqne_test; 1648 goto iseqne_test;
1649 1649
1650 /* -- Unary test and copy ops ------------------------------------------- */ 1650 /* -- Unary test and copy ops ------------------------------------------- */
1651 1651
1652 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1652 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1653 dasm_put(Dst, 11100, LJ_TISTRUECOND); 1653 dasm_put(Dst, 11101, LJ_TISTRUECOND);
1654 if (op == BC_IST || op == BC_ISTC) { 1654 if (op == BC_IST || op == BC_ISTC) {
1655 dasm_put(Dst, 11112); 1655 dasm_put(Dst, 11113);
1656 } else { 1656 } else {
1657 dasm_put(Dst, 11117); 1657 dasm_put(Dst, 11118);
1658 } 1658 }
1659 if (op == BC_ISTC || op == BC_ISFC) { 1659 if (op == BC_ISTC || op == BC_ISFC) {
1660 dasm_put(Dst, 11122); 1660 dasm_put(Dst, 11123);
1661 } 1661 }
1662 dasm_put(Dst, 11133, -BCBIAS_J*4); 1662 dasm_put(Dst, 11134, -BCBIAS_J*4);
1663 break; 1663 break;
1664 1664
1665 /* -- Unary ops --------------------------------------------------------- */ 1665 /* -- Unary ops --------------------------------------------------------- */
1666 1666
1667 case BC_MOV: 1667 case BC_MOV:
1668 dasm_put(Dst, 11164); 1668 dasm_put(Dst, 11165);
1669 break; 1669 break;
1670 case BC_NOT: 1670 case BC_NOT:
1671 dasm_put(Dst, 11197, LJ_TISTRUECOND, LJ_TTRUE); 1671 dasm_put(Dst, 11198, LJ_TISTRUECOND, LJ_TTRUE);
1672 break; 1672 break;
1673 case BC_UNM: 1673 case BC_UNM:
1674 dasm_put(Dst, 11232, LJ_TISNUM); 1674 dasm_put(Dst, 11233, LJ_TISNUM);
1675 if (sse) { 1675 if (sse) {
1676 dasm_put(Dst, 11243); 1676 dasm_put(Dst, 11244);
1677 } else { 1677 } else {
1678 dasm_put(Dst, 11273); 1678 dasm_put(Dst, 11274);
1679 } 1679 }
1680 dasm_put(Dst, 10848); 1680 dasm_put(Dst, 10849);
1681 break; 1681 break;
1682 case BC_LEN: 1682 case BC_LEN:
1683 dasm_put(Dst, 11282, LJ_TSTR); 1683 dasm_put(Dst, 11283, LJ_TSTR);
1684 if (sse) { 1684 if (sse) {
1685 dasm_put(Dst, 11296, Dt5(->len)); 1685 dasm_put(Dst, 11297, Dt5(->len));
1686 } else { 1686 } else {
1687 dasm_put(Dst, 11314, Dt5(->len)); 1687 dasm_put(Dst, 11315, Dt5(->len));
1688 } 1688 }
1689 dasm_put(Dst, 11323, LJ_TTAB); 1689 dasm_put(Dst, 11324, LJ_TTAB);
1690 if (sse) { 1690 if (sse) {
1691 dasm_put(Dst, 11363); 1691 dasm_put(Dst, 11364);
1692 } else { 1692 } else {
1693 dasm_put(Dst, 11372); 1693 dasm_put(Dst, 11373);
1694 } 1694 }
1695 dasm_put(Dst, 11382); 1695 dasm_put(Dst, 11383);
1696 break; 1696 break;
1697 1697
1698 /* -- Binary ops -------------------------------------------------------- */ 1698 /* -- Binary ops -------------------------------------------------------- */
1699 1699
1700 1700
1701 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1701 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1702 dasm_put(Dst, 11392); 1702 dasm_put(Dst, 11393);
1703 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1703 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1704 switch (vk) { 1704 switch (vk) {
1705 case 0: 1705 case 0:
1706 dasm_put(Dst, 11400, LJ_TISNUM); 1706 dasm_put(Dst, 11401, LJ_TISNUM);
1707 if (sse) { 1707 if (sse) {
1708 dasm_put(Dst, 11412); 1708 dasm_put(Dst, 11413);
1709 } else { 1709 } else {
1710 dasm_put(Dst, 11426); 1710 dasm_put(Dst, 11427);
1711 } 1711 }
1712 break; 1712 break;
1713 case 1: 1713 case 1:
1714 dasm_put(Dst, 11434, LJ_TISNUM); 1714 dasm_put(Dst, 11435, LJ_TISNUM);
1715 if (sse) { 1715 if (sse) {
1716 dasm_put(Dst, 11446); 1716 dasm_put(Dst, 11447);
1717 } else { 1717 } else {
1718 dasm_put(Dst, 11460); 1718 dasm_put(Dst, 11461);
1719 } 1719 }
1720 break; 1720 break;
1721 default: 1721 default:
1722 dasm_put(Dst, 11468, LJ_TISNUM, LJ_TISNUM); 1722 dasm_put(Dst, 11469, LJ_TISNUM, LJ_TISNUM);
1723 if (sse) { 1723 if (sse) {
1724 dasm_put(Dst, 11490); 1724 dasm_put(Dst, 11491);
1725 } else { 1725 } else {
1726 dasm_put(Dst, 11504); 1726 dasm_put(Dst, 11505);
1727 } 1727 }
1728 break; 1728 break;
1729 } 1729 }
1730 if (sse) { 1730 if (sse) {
1731 dasm_put(Dst, 11266); 1731 dasm_put(Dst, 11267);
1732 } else { 1732 } else {
1733 dasm_put(Dst, 11278); 1733 dasm_put(Dst, 11279);
1734 } 1734 }
1735 dasm_put(Dst, 10848); 1735 dasm_put(Dst, 10849);
1736 break; 1736 break;
1737 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1737 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1738 dasm_put(Dst, 11392); 1738 dasm_put(Dst, 11393);
1739 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1739 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1740 switch (vk) { 1740 switch (vk) {
1741 case 0: 1741 case 0:
1742 dasm_put(Dst, 11400, LJ_TISNUM); 1742 dasm_put(Dst, 11401, LJ_TISNUM);
1743 if (sse) { 1743 if (sse) {
1744 dasm_put(Dst, 11512); 1744 dasm_put(Dst, 11513);
1745 } else { 1745 } else {
1746 dasm_put(Dst, 11526); 1746 dasm_put(Dst, 11527);
1747 } 1747 }
1748 break; 1748 break;
1749 case 1: 1749 case 1:
1750 dasm_put(Dst, 11434, LJ_TISNUM); 1750 dasm_put(Dst, 11435, LJ_TISNUM);
1751 if (sse) { 1751 if (sse) {
1752 dasm_put(Dst, 11534); 1752 dasm_put(Dst, 11535);
1753 } else { 1753 } else {
1754 dasm_put(Dst, 11548); 1754 dasm_put(Dst, 11549);
1755 } 1755 }
1756 break; 1756 break;
1757 default: 1757 default:
1758 dasm_put(Dst, 11468, LJ_TISNUM, LJ_TISNUM); 1758 dasm_put(Dst, 11469, LJ_TISNUM, LJ_TISNUM);
1759 if (sse) { 1759 if (sse) {
1760 dasm_put(Dst, 11556); 1760 dasm_put(Dst, 11557);
1761 } else { 1761 } else {
1762 dasm_put(Dst, 11570); 1762 dasm_put(Dst, 11571);
1763 } 1763 }
1764 break; 1764 break;
1765 } 1765 }
1766 if (sse) { 1766 if (sse) {
1767 dasm_put(Dst, 11266); 1767 dasm_put(Dst, 11267);
1768 } else { 1768 } else {
1769 dasm_put(Dst, 11278); 1769 dasm_put(Dst, 11279);
1770 } 1770 }
1771 dasm_put(Dst, 10848); 1771 dasm_put(Dst, 10849);
1772 break; 1772 break;
1773 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1773 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1774 dasm_put(Dst, 11392); 1774 dasm_put(Dst, 11393);
1775 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1775 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1776 switch (vk) { 1776 switch (vk) {
1777 case 0: 1777 case 0:
1778 dasm_put(Dst, 11400, LJ_TISNUM); 1778 dasm_put(Dst, 11401, LJ_TISNUM);
1779 if (sse) { 1779 if (sse) {
1780 dasm_put(Dst, 11578); 1780 dasm_put(Dst, 11579);
1781 } else { 1781 } else {
1782 dasm_put(Dst, 11592); 1782 dasm_put(Dst, 11593);
1783 } 1783 }
1784 break; 1784 break;
1785 case 1: 1785 case 1:
1786 dasm_put(Dst, 11434, LJ_TISNUM); 1786 dasm_put(Dst, 11435, LJ_TISNUM);
1787 if (sse) { 1787 if (sse) {
1788 dasm_put(Dst, 11600); 1788 dasm_put(Dst, 11601);
1789 } else { 1789 } else {
1790 dasm_put(Dst, 11614); 1790 dasm_put(Dst, 11615);
1791 } 1791 }
1792 break; 1792 break;
1793 default: 1793 default:
1794 dasm_put(Dst, 11468, LJ_TISNUM, LJ_TISNUM); 1794 dasm_put(Dst, 11469, LJ_TISNUM, LJ_TISNUM);
1795 if (sse) { 1795 if (sse) {
1796 dasm_put(Dst, 11622); 1796 dasm_put(Dst, 11623);
1797 } else { 1797 } else {
1798 dasm_put(Dst, 11636); 1798 dasm_put(Dst, 11637);
1799 } 1799 }
1800 break; 1800 break;
1801 } 1801 }
1802 if (sse) { 1802 if (sse) {
1803 dasm_put(Dst, 11266); 1803 dasm_put(Dst, 11267);
1804 } else { 1804 } else {
1805 dasm_put(Dst, 11278); 1805 dasm_put(Dst, 11279);
1806 } 1806 }
1807 dasm_put(Dst, 10848); 1807 dasm_put(Dst, 10849);
1808 break; 1808 break;
1809 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1809 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1810 dasm_put(Dst, 11392); 1810 dasm_put(Dst, 11393);
1811 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1811 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1812 switch (vk) { 1812 switch (vk) {
1813 case 0: 1813 case 0:
1814 dasm_put(Dst, 11400, LJ_TISNUM); 1814 dasm_put(Dst, 11401, LJ_TISNUM);
1815 if (sse) { 1815 if (sse) {
1816 dasm_put(Dst, 11644); 1816 dasm_put(Dst, 11645);
1817 } else { 1817 } else {
1818 dasm_put(Dst, 11658); 1818 dasm_put(Dst, 11659);
1819 } 1819 }
1820 break; 1820 break;
1821 case 1: 1821 case 1:
1822 dasm_put(Dst, 11434, LJ_TISNUM); 1822 dasm_put(Dst, 11435, LJ_TISNUM);
1823 if (sse) { 1823 if (sse) {
1824 dasm_put(Dst, 11666); 1824 dasm_put(Dst, 11667);
1825 } else { 1825 } else {
1826 dasm_put(Dst, 11680); 1826 dasm_put(Dst, 11681);
1827 } 1827 }
1828 break; 1828 break;
1829 default: 1829 default:
1830 dasm_put(Dst, 11468, LJ_TISNUM, LJ_TISNUM); 1830 dasm_put(Dst, 11469, LJ_TISNUM, LJ_TISNUM);
1831 if (sse) { 1831 if (sse) {
1832 dasm_put(Dst, 11688); 1832 dasm_put(Dst, 11689);
1833 } else { 1833 } else {
1834 dasm_put(Dst, 11702); 1834 dasm_put(Dst, 11703);
1835 } 1835 }
1836 break; 1836 break;
1837 } 1837 }
1838 if (sse) { 1838 if (sse) {
1839 dasm_put(Dst, 11266); 1839 dasm_put(Dst, 11267);
1840 } else { 1840 } else {
1841 dasm_put(Dst, 11278); 1841 dasm_put(Dst, 11279);
1842 } 1842 }
1843 dasm_put(Dst, 10848); 1843 dasm_put(Dst, 10849);
1844 break; 1844 break;
1845 case BC_MODVN: 1845 case BC_MODVN:
1846 dasm_put(Dst, 11392); 1846 dasm_put(Dst, 11393);
1847 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1847 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1848 switch (vk) { 1848 switch (vk) {
1849 case 0: 1849 case 0:
1850 dasm_put(Dst, 11400, LJ_TISNUM); 1850 dasm_put(Dst, 11401, LJ_TISNUM);
1851 if (sse) { 1851 if (sse) {
1852 dasm_put(Dst, 11710); 1852 dasm_put(Dst, 11711);
1853 } else { 1853 } else {
1854 dasm_put(Dst, 11724); 1854 dasm_put(Dst, 11725);
1855 } 1855 }
1856 break; 1856 break;
1857 case 1: 1857 case 1:
1858 dasm_put(Dst, 11434, LJ_TISNUM); 1858 dasm_put(Dst, 11435, LJ_TISNUM);
1859 if (sse) { 1859 if (sse) {
1860 dasm_put(Dst, 11732); 1860 dasm_put(Dst, 11733);
1861 } else { 1861 } else {
1862 dasm_put(Dst, 11746); 1862 dasm_put(Dst, 11747);
1863 } 1863 }
1864 break; 1864 break;
1865 default: 1865 default:
1866 dasm_put(Dst, 11468, LJ_TISNUM, LJ_TISNUM); 1866 dasm_put(Dst, 11469, LJ_TISNUM, LJ_TISNUM);
1867 if (sse) { 1867 if (sse) {
1868 dasm_put(Dst, 11754); 1868 dasm_put(Dst, 11755);
1869 } else { 1869 } else {
1870 dasm_put(Dst, 11768); 1870 dasm_put(Dst, 11769);
1871 } 1871 }
1872 break; 1872 break;
1873 } 1873 }
1874 dasm_put(Dst, 11776); 1874 dasm_put(Dst, 11777);
1875 if (sse) { 1875 if (sse) {
1876 dasm_put(Dst, 11266); 1876 dasm_put(Dst, 11267);
1877 } else { 1877 } else {
1878 dasm_put(Dst, 11278); 1878 dasm_put(Dst, 11279);
1879 } 1879 }
1880 dasm_put(Dst, 10848); 1880 dasm_put(Dst, 10849);
1881 break; 1881 break;
1882 case BC_MODNV: case BC_MODVV: 1882 case BC_MODNV: case BC_MODVV:
1883 dasm_put(Dst, 11392); 1883 dasm_put(Dst, 11393);
1884 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1884 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1885 switch (vk) { 1885 switch (vk) {
1886 case 0: 1886 case 0:
1887 dasm_put(Dst, 11400, LJ_TISNUM); 1887 dasm_put(Dst, 11401, LJ_TISNUM);
1888 if (sse) { 1888 if (sse) {
1889 dasm_put(Dst, 11710); 1889 dasm_put(Dst, 11711);
1890 } else { 1890 } else {
1891 dasm_put(Dst, 11724); 1891 dasm_put(Dst, 11725);
1892 } 1892 }
1893 break; 1893 break;
1894 case 1: 1894 case 1:
1895 dasm_put(Dst, 11434, LJ_TISNUM); 1895 dasm_put(Dst, 11435, LJ_TISNUM);
1896 if (sse) { 1896 if (sse) {
1897 dasm_put(Dst, 11732); 1897 dasm_put(Dst, 11733);
1898 } else { 1898 } else {
1899 dasm_put(Dst, 11746); 1899 dasm_put(Dst, 11747);
1900 } 1900 }
1901 break; 1901 break;
1902 default: 1902 default:
1903 dasm_put(Dst, 11468, LJ_TISNUM, LJ_TISNUM); 1903 dasm_put(Dst, 11469, LJ_TISNUM, LJ_TISNUM);
1904 if (sse) { 1904 if (sse) {
1905 dasm_put(Dst, 11754); 1905 dasm_put(Dst, 11755);
1906 } else { 1906 } else {
1907 dasm_put(Dst, 11768); 1907 dasm_put(Dst, 11769);
1908 } 1908 }
1909 break; 1909 break;
1910 } 1910 }
1911 dasm_put(Dst, 11782); 1911 dasm_put(Dst, 11783);
1912 break; 1912 break;
1913 case BC_POW: 1913 case BC_POW:
1914 dasm_put(Dst, 11392); 1914 dasm_put(Dst, 11393);
1915 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1915 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1916 switch (vk) { 1916 switch (vk) {
1917 case 0: 1917 case 0:
1918 dasm_put(Dst, 11400, LJ_TISNUM); 1918 dasm_put(Dst, 11401, LJ_TISNUM);
1919 if (sse) { 1919 if (sse) {
1920 dasm_put(Dst, 11710); 1920 dasm_put(Dst, 11711);
1921 } else { 1921 } else {
1922 dasm_put(Dst, 11724); 1922 dasm_put(Dst, 11725);
1923 } 1923 }
1924 break; 1924 break;
1925 case 1: 1925 case 1:
1926 dasm_put(Dst, 11434, LJ_TISNUM); 1926 dasm_put(Dst, 11435, LJ_TISNUM);
1927 if (sse) { 1927 if (sse) {
1928 dasm_put(Dst, 11732); 1928 dasm_put(Dst, 11733);
1929 } else { 1929 } else {
1930 dasm_put(Dst, 11746); 1930 dasm_put(Dst, 11747);
1931 } 1931 }
1932 break; 1932 break;
1933 default: 1933 default:
1934 dasm_put(Dst, 11468, LJ_TISNUM, LJ_TISNUM); 1934 dasm_put(Dst, 11469, LJ_TISNUM, LJ_TISNUM);
1935 if (sse) { 1935 if (sse) {
1936 dasm_put(Dst, 11754); 1936 dasm_put(Dst, 11755);
1937 } else { 1937 } else {
1938 dasm_put(Dst, 11768); 1938 dasm_put(Dst, 11769);
1939 } 1939 }
1940 break; 1940 break;
1941 } 1941 }
1942 dasm_put(Dst, 11787); 1942 dasm_put(Dst, 11788);
1943 if (sse) { 1943 if (sse) {
1944 dasm_put(Dst, 11266); 1944 dasm_put(Dst, 11267);
1945 } else { 1945 } else {
1946 dasm_put(Dst, 11278); 1946 dasm_put(Dst, 11279);
1947 } 1947 }
1948 dasm_put(Dst, 10848); 1948 dasm_put(Dst, 10849);
1949 break; 1949 break;
1950 1950
1951 case BC_CAT: 1951 case BC_CAT:
1952 dasm_put(Dst, 11791, Dt1(->base), Dt1(->base)); 1952 dasm_put(Dst, 11792, Dt1(->base), Dt1(->base));
1953 break; 1953 break;
1954 1954
1955 /* -- Constant ops ------------------------------------------------------ */ 1955 /* -- Constant ops ------------------------------------------------------ */
1956 1956
1957 case BC_KSTR: 1957 case BC_KSTR:
1958 dasm_put(Dst, 11885, LJ_TSTR); 1958 dasm_put(Dst, 11886, LJ_TSTR);
1959 break; 1959 break;
1960 case BC_KSHORT: 1960 case BC_KSHORT:
1961 if (sse) { 1961 if (sse) {
1962 dasm_put(Dst, 11918); 1962 dasm_put(Dst, 11919);
1963 } else { 1963 } else {
1964 dasm_put(Dst, 11933); 1964 dasm_put(Dst, 11934);
1965 } 1965 }
1966 dasm_put(Dst, 10848); 1966 dasm_put(Dst, 10849);
1967 break; 1967 break;
1968 case BC_KNUM: 1968 case BC_KNUM:
1969 if (sse) { 1969 if (sse) {
1970 dasm_put(Dst, 11941); 1970 dasm_put(Dst, 11942);
1971 } else { 1971 } else {
1972 dasm_put(Dst, 11954); 1972 dasm_put(Dst, 11955);
1973 } 1973 }
1974 dasm_put(Dst, 10848); 1974 dasm_put(Dst, 10849);
1975 break; 1975 break;
1976 case BC_KPRI: 1976 case BC_KPRI:
1977 dasm_put(Dst, 11961); 1977 dasm_put(Dst, 11962);
1978 break; 1978 break;
1979 case BC_KNIL: 1979 case BC_KNIL:
1980 dasm_put(Dst, 11987, LJ_TNIL); 1980 dasm_put(Dst, 11988, LJ_TNIL);
1981 break; 1981 break;
1982 1982
1983 /* -- Upvalue and function ops ------------------------------------------ */ 1983 /* -- Upvalue and function ops ------------------------------------------ */
1984 1984
1985 case BC_UGET: 1985 case BC_UGET:
1986 dasm_put(Dst, 12033, offsetof(GCfuncL, uvptr), DtA(->v)); 1986 dasm_put(Dst, 12034, offsetof(GCfuncL, uvptr), DtA(->v));
1987 break; 1987 break;
1988 case BC_USETV: 1988 case BC_USETV:
1989#define TV2MARKOFS \ 1989#define TV2MARKOFS \
1990 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 1990 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1991 dasm_put(Dst, 12077, 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); 1991 dasm_put(Dst, 12078, 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);
1992 dasm_put(Dst, 12167); 1992 dasm_put(Dst, 12168);
1993 break; 1993 break;
1994#undef TV2MARKOFS 1994#undef TV2MARKOFS
1995 case BC_USETS: 1995 case BC_USETS:
1996 dasm_put(Dst, 12179, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 1996 dasm_put(Dst, 12180, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1997 break; 1997 break;
1998 case BC_USETN: 1998 case BC_USETN:
1999 dasm_put(Dst, 12270); 1999 dasm_put(Dst, 12271);
2000 if (sse) { 2000 if (sse) {
2001 dasm_put(Dst, 12275); 2001 dasm_put(Dst, 12276);
2002 } else { 2002 } else {
2003 dasm_put(Dst, 11085); 2003 dasm_put(Dst, 11086);
2004 } 2004 }
2005 dasm_put(Dst, 12282, offsetof(GCfuncL, uvptr), DtA(->v)); 2005 dasm_put(Dst, 12283, offsetof(GCfuncL, uvptr), DtA(->v));
2006 if (sse) { 2006 if (sse) {
2007 dasm_put(Dst, 12291); 2007 dasm_put(Dst, 12292);
2008 } else { 2008 } else {
2009 dasm_put(Dst, 12297); 2009 dasm_put(Dst, 12298);
2010 } 2010 }
2011 dasm_put(Dst, 10848); 2011 dasm_put(Dst, 10849);
2012 break; 2012 break;
2013 case BC_USETP: 2013 case BC_USETP:
2014 dasm_put(Dst, 12300, offsetof(GCfuncL, uvptr), DtA(->v)); 2014 dasm_put(Dst, 12301, offsetof(GCfuncL, uvptr), DtA(->v));
2015 break; 2015 break;
2016 case BC_UCLO: 2016 case BC_UCLO:
2017 dasm_put(Dst, 12337, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2017 dasm_put(Dst, 12338, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2018 break; 2018 break;
2019 2019
2020 case BC_FNEW: 2020 case BC_FNEW:
2021 dasm_put(Dst, 12391, Dt1(->base), Dt1(->base), LJ_TFUNC); 2021 dasm_put(Dst, 12392, Dt1(->base), Dt1(->base), LJ_TFUNC);
2022 break; 2022 break;
2023 2023
2024 /* -- Table ops --------------------------------------------------------- */ 2024 /* -- Table ops --------------------------------------------------------- */
2025 2025
2026 case BC_TNEW: 2026 case BC_TNEW:
2027 dasm_put(Dst, 12462, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2027 dasm_put(Dst, 12463, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2028 break; 2028 break;
2029 case BC_TDUP: 2029 case BC_TDUP:
2030 dasm_put(Dst, 12588, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2030 dasm_put(Dst, 12589, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2031 break; 2031 break;
2032 2032
2033 case BC_GGET: 2033 case BC_GGET:
2034 dasm_put(Dst, 12680, Dt7(->env)); 2034 dasm_put(Dst, 12681, Dt7(->env));
2035 break; 2035 break;
2036 case BC_GSET: 2036 case BC_GSET:
2037 dasm_put(Dst, 12698, Dt7(->env)); 2037 dasm_put(Dst, 12699, Dt7(->env));
2038 break; 2038 break;
2039 2039
2040 case BC_TGETV: 2040 case BC_TGETV:
2041 dasm_put(Dst, 12716, LJ_TTAB, LJ_TISNUM); 2041 dasm_put(Dst, 12717, LJ_TTAB, LJ_TISNUM);
2042 if (sse) { 2042 if (sse) {
2043 dasm_put(Dst, 12749); 2043 dasm_put(Dst, 12750);
2044 } else { 2044 } else {
2045 dasm_put(Dst, 12770); 2045 dasm_put(Dst, 12771);
2046 if (cmov) { 2046 if (cmov) {
2047 dasm_put(Dst, 10811); 2047 dasm_put(Dst, 10812);
2048 } else { 2048 } else {
2049 dasm_put(Dst, 10817); 2049 dasm_put(Dst, 10818);
2050 } 2050 }
2051 dasm_put(Dst, 2527); 2051 dasm_put(Dst, 2527);
2052 } 2052 }
2053 dasm_put(Dst, 12780, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2053 dasm_put(Dst, 12781, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2054 dasm_put(Dst, 12872, LJ_TSTR); 2054 dasm_put(Dst, 12873, LJ_TSTR);
2055 break; 2055 break;
2056 case BC_TGETS: 2056 case BC_TGETS:
2057 dasm_put(Dst, 12890, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2057 dasm_put(Dst, 12891, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2058 dasm_put(Dst, 12974, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2058 dasm_put(Dst, 12975, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2059 break; 2059 break;
2060 case BC_TGETB: 2060 case BC_TGETB:
2061 dasm_put(Dst, 13045, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2061 dasm_put(Dst, 13046, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2062 dasm_put(Dst, 11382); 2062 dasm_put(Dst, 11383);
2063 break; 2063 break;
2064 2064
2065 case BC_TSETV: 2065 case BC_TSETV:
2066 dasm_put(Dst, 13144, LJ_TTAB, LJ_TISNUM); 2066 dasm_put(Dst, 13145, LJ_TTAB, LJ_TISNUM);
2067 if (sse) { 2067 if (sse) {
2068 dasm_put(Dst, 12749); 2068 dasm_put(Dst, 12750);
2069 } else { 2069 } else {
2070 dasm_put(Dst, 12770); 2070 dasm_put(Dst, 12771);
2071 if (cmov) { 2071 if (cmov) {
2072 dasm_put(Dst, 10811); 2072 dasm_put(Dst, 10812);
2073 } else { 2073 } else {
2074 dasm_put(Dst, 10817); 2074 dasm_put(Dst, 10818);
2075 } 2075 }
2076 dasm_put(Dst, 2527); 2076 dasm_put(Dst, 2527);
2077 } 2077 }
2078 dasm_put(Dst, 13177, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 2078 dasm_put(Dst, 13178, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
2079 dasm_put(Dst, 13260, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2079 dasm_put(Dst, 13261, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2080 break; 2080 break;
2081 case BC_TSETS: 2081 case BC_TSETS:
2082 dasm_put(Dst, 13322, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2082 dasm_put(Dst, 13323, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2083 dasm_put(Dst, 13397, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2083 dasm_put(Dst, 13398, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2084 dasm_put(Dst, 13489, 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)); 2084 dasm_put(Dst, 13490, 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));
2085 break; 2085 break;
2086 case BC_TSETB: 2086 case BC_TSETB:
2087 dasm_put(Dst, 13585, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2087 dasm_put(Dst, 13586, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2088 dasm_put(Dst, 13683, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2088 dasm_put(Dst, 13684, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2089 break; 2089 break;
2090 2090
2091 case BC_TSETM: 2091 case BC_TSETM:
2092 dasm_put(Dst, 13729); 2092 dasm_put(Dst, 13730);
2093 if (sse) { 2093 if (sse) {
2094 dasm_put(Dst, 13734); 2094 dasm_put(Dst, 13735);
2095 } else { 2095 } else {
2096 dasm_put(Dst, 13741); 2096 dasm_put(Dst, 13742);
2097 } 2097 }
2098 dasm_put(Dst, 13753, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2098 dasm_put(Dst, 13754, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2099 dasm_put(Dst, 13895, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2099 dasm_put(Dst, 13896, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2100 break; 2100 break;
2101 2101
2102 /* -- Calls and vararg handling ----------------------------------------- */ 2102 /* -- Calls and vararg handling ----------------------------------------- */
2103 2103
2104 case BC_CALL: case BC_CALLM: 2104 case BC_CALL: case BC_CALLM:
2105 dasm_put(Dst, 11396); 2105 dasm_put(Dst, 11397);
2106 if (op == BC_CALLM) { 2106 if (op == BC_CALLM) {
2107 dasm_put(Dst, 13913); 2107 dasm_put(Dst, 13914);
2108 } 2108 }
2109 dasm_put(Dst, 13918, LJ_TFUNC, Dt7(->pc)); 2109 dasm_put(Dst, 13919, LJ_TFUNC, Dt7(->pc));
2110 break; 2110 break;
2111 2111
2112 case BC_CALLMT: 2112 case BC_CALLMT:
2113 dasm_put(Dst, 13913); 2113 dasm_put(Dst, 13914);
2114 break; 2114 break;
2115 case BC_CALLT: 2115 case BC_CALLT:
2116 dasm_put(Dst, 13959, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2116 dasm_put(Dst, 13960, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2117 dasm_put(Dst, 14077, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2117 dasm_put(Dst, 14078, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2118 break; 2118 break;
2119 2119
2120 case BC_ITERC: 2120 case BC_ITERC:
2121 dasm_put(Dst, 14147, LJ_TFUNC, 2+1, Dt7(->pc)); 2121 dasm_put(Dst, 14148, LJ_TFUNC, 2+1, Dt7(->pc));
2122 break; 2122 break;
2123 2123
2124 case BC_VARG: 2124 case BC_VARG:
2125 dasm_put(Dst, 14227, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); 2125 dasm_put(Dst, 14228, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL);
2126 dasm_put(Dst, 14371, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2126 dasm_put(Dst, 14372, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2127 break; 2127 break;
2128 2128
2129 /* -- Returns ----------------------------------------------------------- */ 2129 /* -- Returns ----------------------------------------------------------- */
2130 2130
2131 case BC_RETM: 2131 case BC_RETM:
2132 dasm_put(Dst, 13913); 2132 dasm_put(Dst, 13914);
2133 break; 2133 break;
2134 2134
2135 case BC_RET: case BC_RET0: case BC_RET1: 2135 case BC_RET: case BC_RET0: case BC_RET1:
2136 if (op != BC_RET0) { 2136 if (op != BC_RET0) {
2137 dasm_put(Dst, 14470); 2137 dasm_put(Dst, 14471);
2138 } 2138 }
2139 dasm_put(Dst, 14474, FRAME_TYPE); 2139 dasm_put(Dst, 14475, FRAME_TYPE);
2140 switch (op) { 2140 switch (op) {
2141 case BC_RET: 2141 case BC_RET:
2142 dasm_put(Dst, 14493); 2142 dasm_put(Dst, 14494);
2143 break; 2143 break;
2144 case BC_RET1: 2144 case BC_RET1:
2145 dasm_put(Dst, 14551); 2145 dasm_put(Dst, 14552);
2146 /* fallthrough */ 2146 /* fallthrough */
2147 case BC_RET0: 2147 case BC_RET0:
2148 dasm_put(Dst, 14567); 2148 dasm_put(Dst, 14568);
2149 default: 2149 default:
2150 break; 2150 break;
2151 } 2151 }
2152 dasm_put(Dst, 14578, Dt7(->pc), PC2PROTO(k)); 2152 dasm_put(Dst, 14579, Dt7(->pc), PC2PROTO(k));
2153 if (op == BC_RET) { 2153 if (op == BC_RET) {
2154 dasm_put(Dst, 14620, LJ_TNIL); 2154 dasm_put(Dst, 14621, LJ_TNIL);
2155 } else { 2155 } else {
2156 dasm_put(Dst, 14629, LJ_TNIL); 2156 dasm_put(Dst, 14630, LJ_TNIL);
2157 } 2157 }
2158 dasm_put(Dst, 14636, -FRAME_VARG, FRAME_TYPEP); 2158 dasm_put(Dst, 14637, -FRAME_VARG, FRAME_TYPEP);
2159 if (op != BC_RET0) { 2159 if (op != BC_RET0) {
2160 dasm_put(Dst, 14660); 2160 dasm_put(Dst, 14661);
2161 } 2161 }
2162 dasm_put(Dst, 4683); 2162 dasm_put(Dst, 4683);
2163 break; 2163 break;
@@ -2167,7 +2167,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2167 2167
2168 case BC_FORL: 2168 case BC_FORL:
2169#if LJ_HASJIT 2169#if LJ_HASJIT
2170 dasm_put(Dst, 14664, HOTCOUNT_PCMASK, GG_DISP2HOT); 2170 dasm_put(Dst, 14665, HOTCOUNT_PCMASK, GG_DISP2HOT);
2171#endif 2171#endif
2172 break; 2172 break;
2173 2173
@@ -2179,57 +2179,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2179 case BC_FORI: 2179 case BC_FORI:
2180 case BC_IFORL: 2180 case BC_IFORL:
2181 vk = (op == BC_IFORL || op == BC_JFORL); 2181 vk = (op == BC_IFORL || op == BC_JFORL);
2182 dasm_put(Dst, 14685); 2182 dasm_put(Dst, 14686);
2183 if (!vk) { 2183 if (!vk) {
2184 dasm_put(Dst, 14689, LJ_TISNUM, LJ_TISNUM); 2184 dasm_put(Dst, 14690, LJ_TISNUM, LJ_TISNUM);
2185 } 2185 }
2186 dasm_put(Dst, 14708); 2186 dasm_put(Dst, 14709);
2187 if (!vk) { 2187 if (!vk) {
2188 dasm_put(Dst, 14712, LJ_TISNUM); 2188 dasm_put(Dst, 14713, LJ_TISNUM);
2189 } 2189 }
2190 if (sse) { 2190 if (sse) {
2191 dasm_put(Dst, 14721); 2191 dasm_put(Dst, 14722);
2192 if (vk) { 2192 if (vk) {
2193 dasm_put(Dst, 14733); 2193 dasm_put(Dst, 14734);
2194 } else { 2194 } else {
2195 dasm_put(Dst, 14752); 2195 dasm_put(Dst, 14753);
2196 } 2196 }
2197 dasm_put(Dst, 14757); 2197 dasm_put(Dst, 14758);
2198 } else { 2198 } else {
2199 dasm_put(Dst, 14770); 2199 dasm_put(Dst, 14771);
2200 if (vk) { 2200 if (vk) {
2201 dasm_put(Dst, 14776); 2201 dasm_put(Dst, 14777);
2202 } else { 2202 } else {
2203 dasm_put(Dst, 14792); 2203 dasm_put(Dst, 14793);
2204 } 2204 }
2205 dasm_put(Dst, 14800); 2205 dasm_put(Dst, 14801);
2206 if (cmov) { 2206 if (cmov) {
2207 dasm_put(Dst, 10811); 2207 dasm_put(Dst, 10812);
2208 } else { 2208 } else {
2209 dasm_put(Dst, 10817); 2209 dasm_put(Dst, 10818);
2210 } 2210 }
2211 if (!cmov) { 2211 if (!cmov) {
2212 dasm_put(Dst, 14805); 2212 dasm_put(Dst, 14806);
2213 } 2213 }
2214 } 2214 }
2215 if (op == BC_FORI) { 2215 if (op == BC_FORI) {
2216 dasm_put(Dst, 14811, -BCBIAS_J*4); 2216 dasm_put(Dst, 14812, -BCBIAS_J*4);
2217 } else if (op == BC_JFORI) { 2217 } else if (op == BC_JFORI) {
2218 dasm_put(Dst, 14821, -BCBIAS_J*4, BC_JLOOP); 2218 dasm_put(Dst, 14822, -BCBIAS_J*4, BC_JLOOP);
2219 } else if (op == BC_IFORL) { 2219 } else if (op == BC_IFORL) {
2220 dasm_put(Dst, 14835, -BCBIAS_J*4); 2220 dasm_put(Dst, 14836, -BCBIAS_J*4);
2221 } else { 2221 } else {
2222 dasm_put(Dst, 14831, BC_JLOOP); 2222 dasm_put(Dst, 14832, BC_JLOOP);
2223 } 2223 }
2224 dasm_put(Dst, 10846); 2224 dasm_put(Dst, 10847);
2225 if (sse) { 2225 if (sse) {
2226 dasm_put(Dst, 14845); 2226 dasm_put(Dst, 14846);
2227 } 2227 }
2228 break; 2228 break;
2229 2229
2230 case BC_ITERL: 2230 case BC_ITERL:
2231#if LJ_HASJIT 2231#if LJ_HASJIT
2232 dasm_put(Dst, 14664, HOTCOUNT_PCMASK, GG_DISP2HOT); 2232 dasm_put(Dst, 14665, HOTCOUNT_PCMASK, GG_DISP2HOT);
2233#endif 2233#endif
2234 break; 2234 break;
2235 2235
@@ -2238,33 +2238,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2238 break; 2238 break;
2239#endif 2239#endif
2240 case BC_IITERL: 2240 case BC_IITERL:
2241 dasm_put(Dst, 14856, LJ_TNIL); 2241 dasm_put(Dst, 14857, LJ_TNIL);
2242 if (op == BC_JITERL) { 2242 if (op == BC_JITERL) {
2243 dasm_put(Dst, 14871, BC_JLOOP); 2243 dasm_put(Dst, 14872, BC_JLOOP);
2244 } else { 2244 } else {
2245 dasm_put(Dst, 14885, -BCBIAS_J*4); 2245 dasm_put(Dst, 14886, -BCBIAS_J*4);
2246 } 2246 }
2247 dasm_put(Dst, 11143); 2247 dasm_put(Dst, 11144);
2248 break; 2248 break;
2249 2249
2250 case BC_LOOP: 2250 case BC_LOOP:
2251#if LJ_HASJIT 2251#if LJ_HASJIT
2252 dasm_put(Dst, 14664, HOTCOUNT_PCMASK, GG_DISP2HOT); 2252 dasm_put(Dst, 14665, HOTCOUNT_PCMASK, GG_DISP2HOT);
2253#endif 2253#endif
2254 break; 2254 break;
2255 2255
2256 case BC_ILOOP: 2256 case BC_ILOOP:
2257 dasm_put(Dst, 10848); 2257 dasm_put(Dst, 10849);
2258 break; 2258 break;
2259 2259
2260 case BC_JLOOP: 2260 case BC_JLOOP:
2261#if LJ_HASJIT 2261#if LJ_HASJIT
2262 dasm_put(Dst, 14901, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2262 dasm_put(Dst, 14902, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2263#endif 2263#endif
2264 break; 2264 break;
2265 2265
2266 case BC_JMP: 2266 case BC_JMP:
2267 dasm_put(Dst, 14924, -BCBIAS_J*4); 2267 dasm_put(Dst, 14925, -BCBIAS_J*4);
2268 break; 2268 break;
2269 2269
2270 /* -- Function headers -------------------------------------------------- */ 2270 /* -- Function headers -------------------------------------------------- */
@@ -2278,7 +2278,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2278 2278
2279 case BC_FUNCF: 2279 case BC_FUNCF:
2280#if LJ_HASJIT 2280#if LJ_HASJIT
2281 dasm_put(Dst, 14948, HOTCOUNT_PCMASK, GG_DISP2HOT); 2281 dasm_put(Dst, 14949, HOTCOUNT_PCMASK, GG_DISP2HOT);
2282#endif 2282#endif
2283 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2283 case BC_FUNCV: /* NYI: compiled vararg functions. */
2284 break; 2284 break;
@@ -2288,47 +2288,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2288 break; 2288 break;
2289#endif 2289#endif
2290 case BC_IFUNCF: 2290 case BC_IFUNCF:
2291 dasm_put(Dst, 14969, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2291 dasm_put(Dst, 14970, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2292 if (op == BC_JFUNCF) { 2292 if (op == BC_JFUNCF) {
2293 dasm_put(Dst, 14999, BC_JLOOP); 2293 dasm_put(Dst, 15000, BC_JLOOP);
2294 } else { 2294 } else {
2295 dasm_put(Dst, 10848); 2295 dasm_put(Dst, 10849);
2296 } 2296 }
2297 dasm_put(Dst, 15008, LJ_TNIL); 2297 dasm_put(Dst, 15009, LJ_TNIL);
2298 break; 2298 break;
2299 2299
2300 case BC_JFUNCV: 2300 case BC_JFUNCV:
2301#if !LJ_HASJIT 2301#if !LJ_HASJIT
2302 break; 2302 break;
2303#endif 2303#endif
2304 dasm_put(Dst, 10246); 2304 dasm_put(Dst, 10247);
2305 break; /* NYI: compiled vararg functions. */ 2305 break; /* NYI: compiled vararg functions. */
2306 2306
2307 case BC_IFUNCV: 2307 case BC_IFUNCV:
2308 dasm_put(Dst, 15030, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2308 dasm_put(Dst, 15031, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2309 if (op == BC_JFUNCV) { 2309 if (op == BC_JFUNCV) {
2310 dasm_put(Dst, 14999, BC_JLOOP); 2310 dasm_put(Dst, 15000, BC_JLOOP);
2311 } else { 2311 } else {
2312 dasm_put(Dst, 15121, -4+PC2PROTO(k)); 2312 dasm_put(Dst, 15122, -4+PC2PROTO(k));
2313 } 2313 }
2314 dasm_put(Dst, 15143, LJ_TNIL); 2314 dasm_put(Dst, 15144, LJ_TNIL);
2315 break; 2315 break;
2316 2316
2317 case BC_FUNCC: 2317 case BC_FUNCC:
2318 case BC_FUNCCW: 2318 case BC_FUNCCW:
2319 dasm_put(Dst, 15165, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2319 dasm_put(Dst, 15166, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2320 if (op == BC_FUNCC) { 2320 if (op == BC_FUNCC) {
2321 dasm_put(Dst, 15194); 2321 dasm_put(Dst, 15195);
2322 } else { 2322 } else {
2323 dasm_put(Dst, 15198); 2323 dasm_put(Dst, 15199);
2324 } 2324 }
2325 dasm_put(Dst, 15206, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2325 dasm_put(Dst, 15207, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2326 if (op == BC_FUNCC) { 2326 if (op == BC_FUNCC) {
2327 dasm_put(Dst, 15215); 2327 dasm_put(Dst, 15216);
2328 } else { 2328 } else {
2329 dasm_put(Dst, 15219, DISPATCH_GL(wrapf)); 2329 dasm_put(Dst, 15220, DISPATCH_GL(wrapf));
2330 } 2330 }
2331 dasm_put(Dst, 15224, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2331 dasm_put(Dst, 15225, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2332 break; 2332 break;
2333 2333
2334 /* ---------------------------------------------------------------------- */ 2334 /* ---------------------------------------------------------------------- */
@@ -2356,7 +2356,7 @@ static int build_backend(BuildCtx *ctx)
2356 2356
2357 build_subroutines(ctx, cmov, sse); 2357 build_subroutines(ctx, cmov, sse);
2358 2358
2359 dasm_put(Dst, 15249); 2359 dasm_put(Dst, 15250);
2360 for (op = 0; op < BC__MAX; op++) 2360 for (op = 0; op < BC__MAX; op++)
2361 build_ins(ctx, (BCOp)op, op, cmov, sse); 2361 build_ins(ctx, (BCOp)op, op, cmov, sse);
2362 2362