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.h1077
1 files changed, 538 insertions, 539 deletions
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h
index 75627697..0ce64f41 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[16902] = { 15static const unsigned char build_actionlist[16904] = {
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,
@@ -577,257 +577,257 @@ static const unsigned char build_actionlist[16902] = {
577 15,182,232,131,198,4,193,232,16,252,255,36,171,248,7,15,135,244,249,129,124, 577 15,182,232,131,198,4,193,232,16,252,255,36,171,248,7,15,135,244,249,129,124,
578 253,199,4,239,15,130,244,247,255,252,242,15,42,4,199,255,219,4,199,255,252, 578 253,199,4,239,15,130,244,247,255,252,242,15,42,4,199,255,219,4,199,255,252,
579 233,244,248,248,8,255,252,242,15,42,4,202,102,15,46,4,199,255,219,4,202,221, 579 233,244,248,248,8,255,252,242,15,42,4,202,102,15,46,4,199,255,219,4,202,221,
580 4,194,255,129,252,253,239,15,131,244,249,255,248,1,252,242,15,16,4,199,248, 580 4,199,255,129,252,253,239,15,131,244,249,255,248,1,252,242,15,16,4,199,248,
581 2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,2,221,4,202,255,252,247,208, 581 2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,2,221,4,202,248,4,255,252,
582 139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,252,254,141,180, 582 247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,252,254,
583 253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 583 141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
584 36,171,248,3,129,252,253,239,15,133,244,2,252,233,244,46,255,15,132,244,248, 584 252,255,36,171,248,3,129,252,253,239,15,133,244,2,252,233,244,46,255,15,132,
585 129,252,253,239,15,132,244,46,15,183,70,252,254,141,180,253,134,233,248,2, 585 244,248,129,252,253,239,15,132,244,46,15,183,70,252,254,141,180,253,134,233,
586 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108, 586 248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,
587 194,4,131,198,4,129,252,253,239,255,137,108,202,4,139,44,194,137,44,202,255, 587 139,108,194,4,131,198,4,129,252,253,239,255,137,108,202,4,139,44,194,137,
588 139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,15,182,204,15,182,232, 588 44,202,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,15,182,204,
589 131,198,4,193,232,16,252,255,36,171,255,49,252,237,129,124,253,194,4,239, 589 15,182,232,131,198,4,193,232,16,252,255,36,171,255,49,252,237,129,124,253,
590 129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16, 590 194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4,
591 252,255,36,171,255,129,124,253,194,4,239,15,133,244,251,139,44,194,252,247, 591 193,232,16,252,255,36,171,255,129,124,253,194,4,239,15,133,244,251,139,44,
592 221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,6,15,182,204,15, 592 194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,6,15,
593 182,232,131,198,4,193,232,16,252,255,36,171,248,4,199,68,202,4,0,0,224,65, 593 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,199,68,202,4,
594 199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,51,255,129,124,253,194,4, 594 0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,51,255,129,124,
595 239,15,131,244,51,255,252,242,15,16,4,194,184,0,0,0,128,102,15,110,200,102, 595 253,194,4,239,15,131,244,51,255,252,242,15,16,4,194,184,0,0,0,128,102,15,
596 15,112,201,81,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28, 596 110,200,102,15,112,201,81,15,87,193,252,242,15,17,4,202,255,221,4,194,217,
597 202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233,248, 597 224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,
598 1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248,1,252, 598 128,233,248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,
599 242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,15, 599 233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,
600 182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,124,253,194,4,239,15, 600 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,124,253,
601 133,244,54,139,12,194,137,213,232,251,1,20,255,252,242,15,42,192,255,137, 601 194,4,239,15,133,244,54,139,12,194,137,213,232,251,1,20,255,252,242,15,42,
602 4,36,219,4,36,255,137,252,234,15,182,78,252,253,252,233,244,1,255,15,182, 602 192,255,137,4,36,219,4,36,255,137,252,234,15,182,78,252,253,252,233,244,1,
603 252,236,15,182,192,255,129,124,253,252,234,4,239,15,133,244,48,129,124,253, 603 255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,133,244,48,
604 199,4,239,15,133,244,48,139,44,252,234,3,44,199,15,128,244,47,255,129,124, 604 129,124,253,199,4,239,15,133,244,48,139,44,252,234,3,44,199,15,128,244,47,
605 253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,4, 605 255,129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,
606 199,3,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,53, 606 244,50,139,4,199,3,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239,
607 129,124,253,194,4,239,15,133,244,53,139,44,252,234,3,44,194,15,128,244,52, 607 15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,3,44,194,
608 255,199,68,202,4,237,255,129,124,253,252,234,4,239,15,131,244,48,255,129, 608 15,128,244,52,255,199,68,202,4,237,255,129,124,253,252,234,4,239,15,131,244,
609 124,253,199,4,239,15,131,244,48,255,252,242,15,16,4,252,234,252,242,15,88, 609 48,255,129,124,253,199,4,239,15,131,244,48,255,252,242,15,16,4,252,234,252,
610 4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,131,244, 610 242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,4,239,
611 50,255,129,124,253,199,4,239,15,131,244,50,255,252,242,15,16,4,199,252,242, 611 15,131,244,50,255,129,124,253,199,4,239,15,131,244,50,255,252,242,15,16,4,
612 15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239, 612 199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124,253,252,
613 15,131,244,53,129,124,253,194,4,239,15,131,244,53,255,252,242,15,16,4,252, 613 234,4,239,15,131,244,53,129,124,253,194,4,239,15,131,244,53,255,252,242,15,
614 234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,129,124,253,252,234, 614 16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,129,124,
615 4,239,15,133,244,48,129,124,253,199,4,239,15,133,244,48,139,44,252,234,43, 615 253,252,234,4,239,15,133,244,48,129,124,253,199,4,239,15,133,244,48,139,44,
616 44,199,15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,50,129,124, 616 252,234,43,44,199,15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,
617 253,199,4,239,15,133,244,50,139,4,199,43,4,252,234,15,128,244,49,255,129, 617 50,129,124,253,199,4,239,15,133,244,50,139,4,199,43,4,252,234,15,128,244,
618 124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139, 618 49,255,129,124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,
619 44,252,234,43,44,194,15,128,244,52,255,252,242,15,16,4,252,234,252,242,15, 619 244,53,139,44,252,234,43,44,194,15,128,244,52,255,252,242,15,16,4,252,234,
620 92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4,199,252,242,15, 620 252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4,199,
621 92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252, 621 252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16,4,
622 242,15,92,4,194,255,221,4,252,234,220,36,194,255,129,124,253,252,234,4,239, 622 252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,129,124,253,
623 15,133,244,48,129,124,253,199,4,239,15,133,244,48,139,44,252,234,15,175,44, 623 252,234,4,239,15,133,244,48,129,124,253,199,4,239,15,133,244,48,139,44,252,
624 199,15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,50,129,124,253, 624 234,15,175,44,199,15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,
625 199,4,239,15,133,244,50,139,4,199,15,175,4,252,234,15,128,244,49,255,129, 625 50,129,124,253,199,4,239,15,133,244,50,139,4,199,15,175,4,252,234,15,128,
626 124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139, 626 244,49,255,129,124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,
627 44,252,234,15,175,44,194,15,128,244,52,255,252,242,15,16,4,252,234,252,242, 627 15,133,244,53,139,44,252,234,15,175,44,194,15,128,244,52,255,252,242,15,16,
628 15,89,4,199,255,221,4,252,234,220,12,199,255,252,242,15,16,4,199,252,242, 628 4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199,255,252,242,15,
629 15,89,4,252,234,255,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234, 629 16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252,234,255,252,242,
630 252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252, 630 15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,
631 234,252,242,15,94,4,199,255,221,4,252,234,220,52,199,255,252,242,15,16,4, 631 242,15,16,4,252,234,252,242,15,94,4,199,255,221,4,252,234,220,52,199,255,
632 199,252,242,15,94,4,252,234,255,221,4,199,220,52,252,234,255,252,242,15,16, 632 252,242,15,16,4,199,252,242,15,94,4,252,234,255,221,4,199,220,52,252,234,
633 4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15, 633 255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,
634 16,4,252,234,252,242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242, 634 194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221,4,252,234,221,
635 15,16,4,199,252,242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252, 635 4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255,221,4,199,221,
636 242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255, 636 4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252,
637 248,162,232,244,153,255,252,233,244,162,255,232,244,113,255,15,182,252,236, 637 234,221,4,194,255,248,162,232,244,153,255,252,233,244,162,255,232,244,113,
638 15,182,192,141,12,194,41,232,137,76,36,4,137,68,36,8,248,33,139,108,36,48, 638 255,15,182,252,236,15,182,192,141,12,194,41,232,137,76,36,4,137,68,36,8,248,
639 137,44,36,137,149,233,137,116,36,24,232,251,1,27,139,149,233,133,192,15,133, 639 33,139,108,36,48,137,44,36,137,149,233,137,116,36,24,232,251,1,27,139,149,
640 244,42,15,182,110,252,255,15,182,78,252,253,139,68,252,234,4,139,44,252,234, 640 233,133,192,15,133,244,42,15,182,110,252,255,15,182,78,252,253,139,68,252,
641 137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16, 641 234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,
642 252,255,36,171,255,252,247,208,139,4,135,199,68,202,4,237,137,4,202,139,6, 642 131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,4,135,199,68,202,
643 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,15,191,192, 643 4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
644 199,68,202,4,237,137,4,202,255,15,191,192,252,242,15,42,192,252,242,15,17, 644 36,171,255,15,191,192,199,68,202,4,237,137,4,202,255,15,191,192,252,242,15,
645 4,202,255,223,70,252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17, 645 42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,15,16,
646 4,202,255,221,4,199,221,28,202,255,252,247,208,137,68,202,4,139,6,15,182, 646 4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,252,247,208,137,68,
647 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,141,76,202,12,141, 647 202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,
648 68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244, 648 141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,
649 1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139, 649 57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
650 106,252,248,139,172,253,133,233,139,173,233,139,69,4,139,109,0,137,68,202, 650 255,36,171,255,139,106,252,248,139,172,253,133,233,139,173,233,139,69,4,139,
651 4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 651 109,0,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,
652 171,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,173,233,139, 652 16,252,255,36,171,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,
653 12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,233,235, 653 173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,
654 15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 654 133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,
655 255,36,171,248,2,129,232,239,129,252,248,239,15,134,244,1,252,246,129,233, 655 232,16,252,255,36,171,248,2,129,232,239,129,252,248,239,15,134,244,1,252,
656 235,15,132,244,1,135,213,141,139,233,255,232,251,1,28,137,252,234,252,233, 656 246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1,28,137,252,
657 244,1,255,252,247,208,139,106,252,248,139,172,253,141,233,139,12,135,139, 657 234,252,233,244,1,255,252,247,208,139,106,252,248,139,172,253,141,233,139,
658 133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,6, 658 12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,
659 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,252,246,129, 659 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
660 233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,194,141,139,233, 660 2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,
661 232,251,1,28,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,15, 661 194,141,139,233,232,251,1,28,137,252,234,252,233,244,1,255,139,106,252,248,
662 16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221, 662 255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,
663 25,255,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,65, 663 17,1,255,221,25,255,252,247,208,139,106,252,248,139,172,253,141,233,139,141,
664 4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,141, 664 233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
665 180,253,134,233,139,108,36,48,131,189,233,0,15,132,244,247,137,149,233,141, 665 171,255,141,180,253,134,233,139,108,36,48,131,189,233,0,15,132,244,247,137,
666 20,202,137,252,233,232,251,1,29,139,149,233,248,1,139,6,15,182,204,15,182, 666 149,233,141,20,202,137,252,233,232,251,1,29,139,149,233,248,1,139,6,15,182,
667 232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,74,252,248,139, 667 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,74,
668 4,135,139,108,36,48,137,76,36,8,137,68,36,4,137,44,36,137,149,233,137,116, 668 252,248,139,4,135,139,108,36,48,137,76,36,8,137,68,36,4,137,44,36,137,149,
669 36,24,232,251,1,30,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237, 669 233,137,116,36,24,232,251,1,30,139,149,233,15,182,78,252,253,137,4,202,199,
670 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,
671 36,48,137,149,233,139,139,233,59,139,233,137,116,36,24,15,131,244,251,248,
672 1,137,193,37,252,255,7,0,0,193,252,233,11,137,76,36,8,61,252,255,7,0,0,15,
673 132,244,249,248,2,137,44,36,137,68,36,4,232,251,1,31,139,149,233,15,182,78,
674 252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,
675 193,232,16,252,255,36,171,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,
676 232,251,1,32,15,183,70,252,254,252,233,244,1,255,252,247,208,139,108,36,48,
677 139,139,233,137,116,36,24,59,139,233,137,149,233,15,131,244,249,248,2,139,
678 20,135,137,252,233,232,251,1,33,139,149,233,15,182,78,252,253,137,4,202,199,
679 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 670 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
680 171,248,3,137,252,233,232,251,1,32,15,183,70,252,254,252,247,208,252,233, 671 171,255,139,108,36,48,137,149,233,139,139,233,59,139,233,137,116,36,24,15,
681 244,2,255,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,163, 672 131,244,251,248,1,137,193,37,252,255,7,0,0,193,252,233,11,137,76,36,8,61,
682 255,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,164,255, 673 252,255,7,0,0,15,132,244,249,248,2,137,44,36,137,68,36,4,232,251,1,31,139,
683 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,44, 674 149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,
684 252,234,255,129,124,253,194,4,239,15,133,244,251,139,4,194,255,129,124,253, 675 182,232,131,198,4,193,232,16,252,255,36,171,248,3,184,1,8,0,0,252,233,244,
685 194,4,239,15,131,244,251,255,252,242,15,16,4,194,252,242,15,45,192,252,242, 676 2,248,5,137,252,233,232,251,1,32,15,183,70,252,254,252,233,244,1,255,252,
686 15,42,200,102,15,46,193,255,221,4,194,219,20,36,219,4,36,255,15,133,244,36, 677 247,208,139,108,36,48,139,139,233,137,116,36,24,59,139,233,137,149,233,15,
687 255,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132, 678 131,244,249,248,2,139,20,135,137,252,233,232,251,1,33,139,149,233,15,182,
688 244,248,139,40,139,64,4,137,44,202,137,68,202,4,248,1,139,6,15,182,204,15, 679 78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,
689 182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,0,15,132,244, 680 4,193,232,16,252,255,36,171,248,3,137,252,233,232,251,1,32,15,183,70,252,
690 249,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252,253,248,3, 681 254,252,247,208,252,233,244,2,255,252,247,208,139,106,252,248,139,173,233,
691 199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244, 682 139,4,135,252,233,244,163,255,252,247,208,139,106,252,248,139,173,233,139,
692 36,139,4,194,252,233,244,163,255,15,182,252,236,15,182,192,252,247,208,139, 683 4,135,252,233,244,164,255,15,182,252,236,15,182,192,129,124,253,252,234,4,
693 4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,163,139, 684 239,15,133,244,36,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251,
694 141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244, 685 139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194,
695 250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,70, 686 252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,221,4,194,219,20,36,
696 252,253,139,41,139,73,4,137,44,194,137,76,194,4,248,2,255,139,6,15,182,204, 687 219,4,36,255,15,133,244,36,255,59,133,233,15,131,244,36,193,224,3,3,133,233,
697 15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,15,182,70,252,253,199, 688 129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4,
698 68,194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139, 689 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
699 141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244, 690 2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244,
700 34,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,35, 691 36,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,248,5,255,129,124,
701 139,44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4, 692 253,194,4,239,15,133,244,36,139,4,194,252,233,244,163,255,15,182,252,236,
702 239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4,248,1,139,6,15, 693 15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,34,
703 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233, 694 139,44,252,234,248,163,139,141,233,35,136,233,105,201,239,3,141,233,248,1,
704 0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244,35,255,15,182, 695 129,185,233,239,15,133,244,250,57,129,233,15,133,244,250,129,121,253,4,239,
705 78,252,253,248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182, 696 15,132,244,251,15,182,70,252,253,139,41,139,73,4,137,44,194,137,76,194,4,
706 192,129,124,253,252,234,4,239,15,133,244,39,139,44,252,234,255,15,133,244, 697 248,2,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,
707 39,255,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15, 698 248,3,15,182,70,252,253,199,68,194,4,237,252,233,244,2,248,4,139,137,233,
708 132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4, 699 133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,233,
709 139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232, 700 235,15,133,244,3,252,233,244,34,255,15,182,252,236,15,182,192,129,124,253,
710 16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139,141,233,252,246,129, 701 252,234,4,239,15,133,244,35,139,44,252,234,59,133,233,15,131,244,35,193,224,
711 233,235,255,15,132,244,39,15,182,78,252,253,252,233,244,1,248,5,129,124,253, 702 3,3,133,233,129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137,
712 194,4,239,15,133,244,39,139,4,194,252,233,244,164,248,7,128,165,233,235,139, 703 68,202,4,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
713 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182, 704 171,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,
714 252,236,15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133, 705 132,244,35,255,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,255,
715 244,37,139,44,252,234,248,164,139,141,233,35,136,233,105,201,239,198,133, 706 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,44,
716 233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244, 707 252,234,255,15,133,244,39,255,59,133,233,15,131,244,39,193,224,3,3,133,233,
717 251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133, 708 129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,
718 244,253,248,3,15,182,70,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139, 709 248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,
719 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,131,189, 710 131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139,
720 233,0,15,132,244,2,137,76,36,16,139,141,233,252,246,129,233,235,15,132,244, 711 141,233,252,246,129,233,235,255,15,132,244,39,15,182,78,252,253,252,233,244,
721 37,139,76,36,16,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255, 712 1,248,5,129,124,253,194,4,239,15,133,244,39,139,4,194,252,233,244,164,248,
722 139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37,248, 713 7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252,
723 6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68,36,16,137,108,36,4,139, 714 233,244,2,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,253,
724 108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,34,139, 715 252,234,4,239,15,133,244,37,139,44,252,234,248,164,139,141,233,35,136,233,
725 149,233,139,108,36,12,137,193,252,233,244,2,248,7,128,165,233,235,139,131, 716 105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,
726 233,137,171,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129, 717 57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,
727 124,253,252,234,4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244, 718 246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194,4,139,
728 38,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133, 719 4,194,137,105,4,137,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
729 233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139, 720 255,36,171,248,4,131,189,233,0,15,132,244,2,137,76,36,16,139,141,233,252,
730 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,131,189, 721 246,129,233,235,15,132,244,37,139,76,36,16,252,233,244,2,248,5,139,137,233,
731 233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,38,15,182, 722 133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,233,
732 78,252,253,252,233,244,1,248,7,128,165,233,235,139,139,233,137,171,233,137, 723 235,15,132,244,37,248,6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68,
733 141,233,15,182,78,252,253,252,233,244,2,255,137,124,36,16,139,60,199,248, 724 36,16,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,
734 1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,2,139, 725 36,24,232,251,1,34,139,149,233,139,108,36,12,137,193,252,233,244,2,248,7,
735 68,36,20,131,232,1,15,132,244,250,1,252,248,59,133,233,15,135,244,251,41, 726 128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,255,15,
736 252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,105,4,131,193,8,137,111, 727 182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139,44,252,
737 4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,16,139,6,15,182,204,15, 728 234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,132,
738 182,232,131,198,4,193,232,16,252,255,36,171,248,5,137,108,36,4,139,108,36, 729 244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,
739 48,137,149,233,137,68,36,8,137,44,36,137,116,36,24,232,251,1,35,139,149,233, 730 12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
740 15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,233,137, 731 255,36,171,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,
741 171,233,137,133,233,252,233,244,2,255,3,68,36,20,255,129,124,253,202,4,239, 732 235,15,132,244,38,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,
742 139,44,202,15,133,244,55,141,84,202,8,137,114,252,252,139,181,233,139,14, 733 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,
743 15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,141,76,202,8,137,215, 734 36,16,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,
744 139,105,252,248,129,121,253,252,252,239,15,133,244,28,248,56,139,114,252, 735 133,244,253,248,2,139,68,36,20,131,232,1,15,132,244,250,1,252,248,59,133,
745 252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,68,36,20,131, 736 233,15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,
746 232,1,15,132,244,249,248,2,139,41,137,47,139,105,4,131,193,8,137,111,4,131, 737 105,4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,
747 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,20,128,189,233, 738 36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
748 1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,131,198, 739 5,137,108,36,4,139,108,36,48,137,149,233,137,68,36,8,137,44,36,137,116,36,
749 4,252,255,36,171,248,5,255,252,247,198,237,15,133,244,4,15,182,78,252,253, 740 24,232,251,1,35,139,149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,
750 252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252,233,244, 741 165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,
751 4,248,7,129,252,238,239,252,247,198,237,15,133,244,254,41,252,242,137,215, 742 20,255,129,124,253,202,4,239,139,44,202,15,133,244,55,141,84,202,8,137,114,
752 139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255,141,76, 743 252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,
753 202,8,139,105,232,139,65,252,236,137,41,137,65,4,139,105,252,240,139,65,252, 744 171,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,
754 244,137,105,8,137,65,12,139,105,224,139,65,228,137,105,252,248,137,65,252, 745 244,28,248,56,139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,
755 252,129,252,248,239,184,237,15,133,244,28,137,202,137,114,252,252,139,181, 746 252,248,137,68,36,20,131,232,1,15,132,244,249,248,2,139,41,137,47,139,105,
756 233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,137,124, 747 4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248,
757 36,16,137,92,36,20,139,108,202,252,240,139,68,202,252,248,139,157,233,131, 748 3,139,68,36,20,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,
758 198,4,139,189,233,248,1,57,216,15,131,244,251,129,124,253,199,4,239,15,132, 749 252,233,15,182,205,131,198,4,252,255,36,171,248,5,255,252,247,198,237,15,
759 244,250,255,219,68,202,252,248,255,139,108,199,4,137,108,202,12,139,44,199, 750 133,244,4,15,182,78,252,253,252,247,209,141,12,202,139,121,252,248,139,191,
760 137,108,202,8,131,192,1,255,137,68,202,252,248,248,2,15,183,70,252,254,141, 751 233,139,191,233,252,233,244,4,248,7,129,252,238,239,252,247,198,237,15,133,
761 180,253,134,233,248,3,139,92,36,20,139,124,36,16,139,6,15,182,204,15,182, 752 244,254,41,252,242,137,215,139,114,252,252,252,233,244,1,248,8,129,198,239,
762 232,131,198,4,193,232,16,252,255,36,171,248,4,131,192,1,255,137,68,202,252, 753 252,233,244,1,255,141,76,202,8,139,105,232,139,65,252,236,137,41,137,65,4,
763 248,255,252,233,244,1,248,5,41,216,248,6,59,133,233,15,135,244,3,105,252, 754 139,105,252,240,139,65,252,244,137,105,8,137,65,12,139,105,224,139,65,228,
764 248,239,3,189,233,129,191,233,239,15,132,244,253,141,92,24,1,139,175,233, 755 137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,133,244,28,137,
765 139,135,233,137,44,202,137,68,202,4,139,175,233,139,135,233,137,108,202,8, 756 202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,
766 137,68,202,12,137,92,202,252,248,252,233,244,2,248,7,255,131,192,1,252,233, 757 4,252,255,36,171,255,137,124,36,16,137,92,36,20,139,108,202,252,240,139,68,
767 244,6,255,129,124,253,202,252,236,239,15,133,244,251,139,108,202,232,129, 758 202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216,15,131,244,251,
768 124,253,202,252,244,239,15,133,244,251,129,124,253,202,252,252,239,15,133, 759 129,124,253,199,4,239,15,132,244,250,255,219,68,202,252,248,255,139,108,199,
769 244,251,128,189,233,235,15,133,244,251,141,180,253,134,233,199,68,202,252, 760 4,137,108,202,12,139,44,199,137,108,202,8,131,192,1,255,137,68,202,252,248,
770 248,0,0,0,0,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 761 248,2,15,183,70,252,254,141,180,253,134,233,248,3,139,92,36,20,139,124,36,
771 36,171,248,5,198,70,252,252,235,141,180,253,134,233,198,6,235,252,233,244, 762 16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,
772 1,255,15,182,252,236,15,182,192,137,124,36,16,141,188,253,194,233,141,12, 763 131,192,1,255,137,68,202,252,248,255,252,233,244,1,248,5,41,216,248,6,59,
773 202,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233,252,248,57, 764 133,233,15,135,244,3,105,252,248,239,3,189,233,129,191,233,239,15,132,244,
774 215,15,131,244,248,248,1,139,71,252,248,137,1,139,71,252,252,131,199,8,137, 765 253,141,92,24,1,139,175,233,139,135,233,137,44,202,137,68,202,4,139,175,233,
775 65,4,131,193,8,57,252,233,15,131,244,249,57,215,15,130,244,1,248,2,199,65, 766 139,135,233,137,108,202,8,137,68,202,12,137,92,202,252,248,252,233,244,2,
776 4,237,131,193,8,57,252,233,15,130,244,2,248,3,139,124,36,16,139,6,15,182, 767 248,7,255,131,192,1,252,233,244,6,255,129,124,253,202,252,236,239,15,133,
777 204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,199,68,36,20,1,0, 768 244,251,139,108,202,232,129,124,253,202,252,244,239,15,133,244,251,129,124,
778 0,0,137,208,41,252,248,15,134,244,3,137,197,193,252,237,3,131,197,1,137,108, 769 253,202,252,252,239,15,133,244,251,128,189,233,235,15,133,244,251,141,180,
779 36,20,139,108,36,48,1,200,59,133,233,15,135,244,253,248,6,255,139,71,252, 770 253,134,233,199,68,202,252,248,0,0,0,0,248,1,139,6,15,182,204,15,182,232,
780 248,137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,215,15,130,244,6, 771 131,198,4,193,232,16,252,255,36,171,248,5,198,70,252,252,235,141,180,253,
781 252,233,244,3,248,7,137,149,233,137,141,233,137,116,36,24,41,215,139,84,36, 772 134,233,198,6,235,252,233,244,1,255,15,182,252,236,15,182,192,137,124,36,
782 20,131,252,234,1,137,252,233,232,251,1,0,139,149,233,139,141,233,1,215,252, 773 16,141,188,253,194,233,141,12,202,43,122,252,252,133,252,237,15,132,244,251,
783 233,244,6,255,193,225,3,255,248,1,139,114,252,252,137,68,36,20,252,247,198, 774 141,108,252,233,252,248,57,215,15,131,244,248,248,1,139,71,252,248,137,1,
784 237,15,133,244,253,255,248,13,137,215,131,232,1,15,132,244,249,248,2,139, 775 139,71,252,252,131,199,8,137,65,4,131,193,8,57,252,233,15,131,244,249,57,
785 44,15,137,111,252,248,139,108,15,4,137,111,252,252,131,199,8,131,232,1,15, 776 215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248,
786 133,244,2,248,3,139,68,36,20,15,182,110,252,255,248,5,57,197,15,135,244,252, 777 3,139,124,36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
787 255,139,108,10,4,137,106,252,252,139,44,10,137,106,252,248,255,248,5,56,70, 778 36,171,248,5,199,68,36,20,1,0,0,0,137,208,41,252,248,15,134,244,3,137,197,
788 252,255,15,135,244,252,255,15,182,78,252,253,252,247,209,141,20,202,139,122, 779 193,252,237,3,131,197,1,137,108,36,20,139,108,36,48,1,200,59,133,233,15,135,
789 252,248,139,191,233,139,191,233,139,6,15,182,204,15,182,232,131,198,4,193, 780 244,253,248,6,255,139,71,252,248,137,1,139,71,252,252,131,199,8,137,65,4,
790 232,16,252,255,36,171,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194, 781 131,193,8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,
791 252,244,237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237, 782 137,116,36,24,41,215,139,84,36,20,131,252,234,1,137,252,233,232,251,1,0,139,
792 15,133,244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229, 783 149,233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248,1,139,114,252,
793 239,102,131,172,253,43,233,1,15,132,244,145,255,141,12,202,255,129,121,253, 784 252,137,68,36,20,252,247,198,237,15,133,244,253,255,248,13,137,215,131,232,
794 4,239,15,133,244,255,255,129,121,253,12,239,15,133,244,57,129,121,253,20, 785 1,15,132,244,249,248,2,139,44,15,137,111,252,248,139,108,15,4,137,111,252,
795 239,15,133,244,57,139,41,131,121,16,0,15,140,244,251,255,139,105,16,133,252, 786 252,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,20,15,182,110,252,255,
796 237,15,136,244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237, 787 248,5,57,197,15,135,244,252,255,139,108,10,4,137,106,252,252,139,44,10,137,
797 137,105,24,255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180, 788 106,252,248,255,248,5,56,70,252,255,15,135,244,252,255,15,182,78,252,253,
798 253,134,233,15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248, 789 252,247,209,141,20,202,139,122,252,248,139,191,233,139,191,233,139,6,15,182,
799 6,141,180,253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198, 790 204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,6,255,199,71,252,252,
800 4,193,232,16,252,255,36,171,248,5,255,3,41,15,128,244,1,137,41,255,15,141, 791 237,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,
801 244,7,255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244, 792 7,141,174,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255,
802 7,255,252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,57,129,121, 793 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,145,
803 253,12,239,15,131,244,57,255,139,105,20,255,129,252,253,239,15,131,244,57, 794 255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,129,121,253,12,239,
804 255,252,242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15, 795 15,133,244,57,129,121,253,20,239,15,133,244,57,139,41,131,121,16,0,15,140,
805 17,1,133,252,237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248, 796 244,251,255,139,105,16,133,252,237,15,136,244,251,3,41,15,128,244,247,137,
806 1,252,242,15,17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133, 797 41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,253,248,1,248,6,141,
807 252,237,15,136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255, 798 180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,142,245,248,
808 15,183,70,252,254,255,15,131,244,7,255,15,131,244,248,141,180,253,134,233, 799 1,248,6,255,15,143,244,253,248,6,141,180,253,134,233,248,1,255,248,7,139,
809 255,141,180,253,134,233,15,183,70,252,254,15,131,245,255,15,130,244,7,255, 800 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,255,3,41,
810 15,130,244,248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1, 801 15,128,244,1,137,41,255,15,141,244,7,255,141,180,253,134,233,15,183,70,252,
811 255,141,12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252, 802 254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,9,255,129,121,253,4,
812 139,41,137,105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105, 803 239,255,15,131,244,57,129,121,253,12,239,15,131,244,57,255,139,105,20,255,
813 252,252,137,65,252,248,255,139,139,233,139,4,129,139,128,233,139,108,36,48, 804 129,252,253,239,15,131,244,57,255,252,242,15,16,1,252,242,15,16,73,8,255,
814 137,147,233,137,171,233,252,255,224,255,141,180,253,134,233,139,6,15,182, 805 252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,15,140,
815 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,137,252,245,209,252, 806 244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,
816 237,129,229,239,102,131,172,253,43,233,1,15,132,244,147,255,139,190,233,139, 807 220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140,
817 108,36,48,141,12,202,59,141,233,15,135,244,23,15,182,142,233,57,200,15,134, 808 244,247,255,217,201,248,1,255,15,183,70,252,254,255,15,131,244,7,255,15,131,
818 244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194,252, 809 244,248,141,180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,
819 252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,141, 810 131,245,255,15,130,244,7,255,15,130,244,248,141,180,253,134,233,255,248,3,
820 4,194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,36,48,141,12, 811 102,15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,132,
821 200,59,141,233,15,135,244,22,137,209,137,194,15,182,174,233,133,252,237,15, 812 244,247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,255,141,180,
822 132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137,56, 813 253,134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,
823 139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133, 814 139,128,233,139,108,36,48,137,147,233,137,171,233,252,255,224,255,141,180,
824 244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193,232, 815 253,134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,
825 16,252,255,36,171,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244, 816 255,137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,
826 3,252,233,244,2,255,139,106,252,248,139,189,233,139,108,36,48,141,68,194, 817 147,255,139,190,233,139,108,36,48,141,12,202,59,141,233,15,135,244,23,15,
827 252,248,137,149,233,141,136,233,59,141,233,137,133,233,255,137,44,36,255, 818 182,142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,
828 137,124,36,4,137,44,36,255,15,135,244,21,199,131,233,237,255,252,255,215, 819 255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,
829 255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194,252,247,217, 820 2,255,141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252,
830 3,141,233,139,114,252,252,252,233,244,12,255,254,0 821 248,139,108,36,48,141,12,200,59,141,233,15,135,244,22,137,209,137,194,15,
822 182,174,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244,
823 249,139,121,252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252,
824 252,237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204,
825 15,182,232,131,198,4,193,232,16,252,255,36,171,255,248,3,199,64,4,237,131,
826 192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,139,189,
827 233,139,108,36,48,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,
828 133,233,255,137,44,36,255,137,124,36,4,137,44,36,255,15,135,244,21,199,131,
829 233,237,255,252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233,
830 141,12,194,252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0
831}; 831};
832 832
833enum { 833enum {
@@ -2199,31 +2199,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2199 } else { 2199 } else {
2200 dasm_put(Dst, 3905); 2200 dasm_put(Dst, 3905);
2201 } 2201 }
2202 dasm_put(Dst, 4818);
2203 } 2202 }
2204 goto iseqne_fp; 2203 goto iseqne_fp;
2205 case BC_ISEQP: case BC_ISNEP: 2204 case BC_ISEQP: case BC_ISNEP:
2206 vk = op == BC_ISEQP; 2205 vk = op == BC_ISEQP;
2207 dasm_put(Dst, 11752); 2206 dasm_put(Dst, 11754);
2208 if (!LJ_HASFFI) goto iseqne_test; 2207 if (!LJ_HASFFI) goto iseqne_test;
2209 if (vk) { 2208 if (vk) {
2210 dasm_put(Dst, 11765, -BCBIAS_J*4, LJ_TCDATA); 2209 dasm_put(Dst, 11767, -BCBIAS_J*4, LJ_TCDATA);
2211 } else { 2210 } else {
2212 dasm_put(Dst, 11814, LJ_TCDATA, -BCBIAS_J*4); 2211 dasm_put(Dst, 11816, LJ_TCDATA, -BCBIAS_J*4);
2213 } 2212 }
2214 break; 2213 break;
2215 2214
2216 /* -- Unary test and copy ops ------------------------------------------- */ 2215 /* -- Unary test and copy ops ------------------------------------------- */
2217 2216
2218 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 2217 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
2219 dasm_put(Dst, 11857, LJ_TISTRUECOND); 2218 dasm_put(Dst, 11859, LJ_TISTRUECOND);
2220 if (op == BC_IST || op == BC_ISTC) { 2219 if (op == BC_IST || op == BC_ISTC) {
2221 dasm_put(Dst, 11183); 2220 dasm_put(Dst, 11183);
2222 } else { 2221 } else {
2223 dasm_put(Dst, 11178); 2222 dasm_put(Dst, 11178);
2224 } 2223 }
2225 if (op == BC_ISTC || op == BC_ISFC) { 2224 if (op == BC_ISTC || op == BC_ISFC) {
2226 dasm_put(Dst, 11869); 2225 dasm_put(Dst, 11871);
2227 } 2226 }
2228 dasm_put(Dst, 11188, -BCBIAS_J*4); 2227 dasm_put(Dst, 11188, -BCBIAS_J*4);
2229 break; 2228 break;
@@ -2231,21 +2230,21 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2231 /* -- Unary ops --------------------------------------------------------- */ 2230 /* -- Unary ops --------------------------------------------------------- */
2232 2231
2233 case BC_MOV: 2232 case BC_MOV:
2234 dasm_put(Dst, 11880); 2233 dasm_put(Dst, 11882);
2235 break; 2234 break;
2236 case BC_NOT: 2235 case BC_NOT:
2237 dasm_put(Dst, 11913, LJ_TISTRUECOND, LJ_TTRUE); 2236 dasm_put(Dst, 11915, LJ_TISTRUECOND, LJ_TTRUE);
2238 break; 2237 break;
2239 case BC_UNM: 2238 case BC_UNM:
2240 if (LJ_DUALNUM) { 2239 if (LJ_DUALNUM) {
2241 dasm_put(Dst, 11948, LJ_TISNUM, LJ_TISNUM); 2240 dasm_put(Dst, 11950, LJ_TISNUM, LJ_TISNUM);
2242 } else { 2241 } else {
2243 dasm_put(Dst, 12024, LJ_TISNUM); 2242 dasm_put(Dst, 12026, LJ_TISNUM);
2244 } 2243 }
2245 if (sse) { 2244 if (sse) {
2246 dasm_put(Dst, 12035); 2245 dasm_put(Dst, 12037);
2247 } else { 2246 } else {
2248 dasm_put(Dst, 12065); 2247 dasm_put(Dst, 12067);
2249 } 2248 }
2250 if (LJ_DUALNUM) { 2249 if (LJ_DUALNUM) {
2251 dasm_put(Dst, 11457); 2250 dasm_put(Dst, 11457);
@@ -2254,22 +2253,22 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2254 } 2253 }
2255 break; 2254 break;
2256 case BC_LEN: 2255 case BC_LEN:
2257 dasm_put(Dst, 12074, LJ_TSTR); 2256 dasm_put(Dst, 12076, LJ_TSTR);
2258 if (LJ_DUALNUM) { 2257 if (LJ_DUALNUM) {
2259 dasm_put(Dst, 12088, Dt5(->len), LJ_TISNUM); 2258 dasm_put(Dst, 12090, Dt5(->len), LJ_TISNUM);
2260 } else if (sse) { 2259 } else if (sse) {
2261 dasm_put(Dst, 12102, Dt5(->len)); 2260 dasm_put(Dst, 12104, Dt5(->len));
2262 } else { 2261 } else {
2263 dasm_put(Dst, 12120, Dt5(->len)); 2262 dasm_put(Dst, 12122, Dt5(->len));
2264 } 2263 }
2265 dasm_put(Dst, 12129, LJ_TTAB); 2264 dasm_put(Dst, 12131, LJ_TTAB);
2266 if (LJ_DUALNUM) { 2265 if (LJ_DUALNUM) {
2267 } else if (sse) { 2266 } else if (sse) {
2268 dasm_put(Dst, 12169); 2267 dasm_put(Dst, 12171);
2269 } else { 2268 } else {
2270 dasm_put(Dst, 12175); 2269 dasm_put(Dst, 12177);
2271 } 2270 }
2272 dasm_put(Dst, 12182); 2271 dasm_put(Dst, 12184);
2273 break; 2272 break;
2274 2273
2275 /* -- Binary ops -------------------------------------------------------- */ 2274 /* -- Binary ops -------------------------------------------------------- */
@@ -2277,471 +2276,471 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2277 2276
2278 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 2277 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
2279 if (LJ_DUALNUM) { 2278 if (LJ_DUALNUM) {
2280 dasm_put(Dst, 12195); 2279 dasm_put(Dst, 12197);
2281 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2280 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2282 switch (vk) { 2281 switch (vk) {
2283 case 0: 2282 case 0:
2284 dasm_put(Dst, 12203, LJ_TISNUM, LJ_TISNUM); 2283 dasm_put(Dst, 12205, LJ_TISNUM, LJ_TISNUM);
2285 break; 2284 break;
2286 case 1: 2285 case 1:
2287 dasm_put(Dst, 12236, LJ_TISNUM, LJ_TISNUM); 2286 dasm_put(Dst, 12238, LJ_TISNUM, LJ_TISNUM);
2288 break; 2287 break;
2289 default: 2288 default:
2290 dasm_put(Dst, 12269, LJ_TISNUM, LJ_TISNUM); 2289 dasm_put(Dst, 12271, LJ_TISNUM, LJ_TISNUM);
2291 break; 2290 break;
2292 } 2291 }
2293 dasm_put(Dst, 12302, LJ_TISNUM); 2292 dasm_put(Dst, 12304, LJ_TISNUM);
2294 if (vk == 1) { 2293 if (vk == 1) {
2295 dasm_put(Dst, 12098); 2294 dasm_put(Dst, 12100);
2296 } else { 2295 } else {
2297 dasm_put(Dst, 11876); 2296 dasm_put(Dst, 11878);
2298 } 2297 }
2299 dasm_put(Dst, 11200); 2298 dasm_put(Dst, 11200);
2300 } else { 2299 } else {
2301 dasm_put(Dst, 12195); 2300 dasm_put(Dst, 12197);
2302 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2301 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2303 switch (vk) { 2302 switch (vk) {
2304 case 0: 2303 case 0:
2305 dasm_put(Dst, 12308, LJ_TISNUM); 2304 dasm_put(Dst, 12310, LJ_TISNUM);
2306 if (LJ_DUALNUM) { 2305 if (LJ_DUALNUM) {
2307 dasm_put(Dst, 12320, LJ_TISNUM); 2306 dasm_put(Dst, 12322, LJ_TISNUM);
2308 } 2307 }
2309 if (sse) { 2308 if (sse) {
2310 dasm_put(Dst, 12331); 2309 dasm_put(Dst, 12333);
2311 } else { 2310 } else {
2312 dasm_put(Dst, 12345); 2311 dasm_put(Dst, 12347);
2313 } 2312 }
2314 break; 2313 break;
2315 case 1: 2314 case 1:
2316 dasm_put(Dst, 12353, LJ_TISNUM); 2315 dasm_put(Dst, 12355, LJ_TISNUM);
2317 if (LJ_DUALNUM) { 2316 if (LJ_DUALNUM) {
2318 dasm_put(Dst, 12365, LJ_TISNUM); 2317 dasm_put(Dst, 12367, LJ_TISNUM);
2319 } 2318 }
2320 if (sse) { 2319 if (sse) {
2321 dasm_put(Dst, 12376); 2320 dasm_put(Dst, 12378);
2322 } else { 2321 } else {
2323 dasm_put(Dst, 12390); 2322 dasm_put(Dst, 12392);
2324 } 2323 }
2325 break; 2324 break;
2326 default: 2325 default:
2327 dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM); 2326 dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM);
2328 if (sse) { 2327 if (sse) {
2329 dasm_put(Dst, 12420); 2328 dasm_put(Dst, 12422);
2330 } else { 2329 } else {
2331 dasm_put(Dst, 12434); 2330 dasm_put(Dst, 12436);
2332 } 2331 }
2333 break; 2332 break;
2334 } 2333 }
2335 if (sse) { 2334 if (sse) {
2336 dasm_put(Dst, 12058); 2335 dasm_put(Dst, 12060);
2337 } else { 2336 } else {
2338 dasm_put(Dst, 12070); 2337 dasm_put(Dst, 12072);
2339 } 2338 }
2340 dasm_put(Dst, 11200); 2339 dasm_put(Dst, 11200);
2341 } 2340 }
2342 break; 2341 break;
2343 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 2342 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
2344 if (LJ_DUALNUM) { 2343 if (LJ_DUALNUM) {
2345 dasm_put(Dst, 12195); 2344 dasm_put(Dst, 12197);
2346 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2345 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2347 switch (vk) { 2346 switch (vk) {
2348 case 0: 2347 case 0:
2349 dasm_put(Dst, 12442, LJ_TISNUM, LJ_TISNUM); 2348 dasm_put(Dst, 12444, LJ_TISNUM, LJ_TISNUM);
2350 break; 2349 break;
2351 case 1: 2350 case 1:
2352 dasm_put(Dst, 12475, LJ_TISNUM, LJ_TISNUM); 2351 dasm_put(Dst, 12477, LJ_TISNUM, LJ_TISNUM);
2353 break; 2352 break;
2354 default: 2353 default:
2355 dasm_put(Dst, 12508, LJ_TISNUM, LJ_TISNUM); 2354 dasm_put(Dst, 12510, LJ_TISNUM, LJ_TISNUM);
2356 break; 2355 break;
2357 } 2356 }
2358 dasm_put(Dst, 12302, LJ_TISNUM); 2357 dasm_put(Dst, 12304, LJ_TISNUM);
2359 if (vk == 1) { 2358 if (vk == 1) {
2360 dasm_put(Dst, 12098); 2359 dasm_put(Dst, 12100);
2361 } else { 2360 } else {
2362 dasm_put(Dst, 11876); 2361 dasm_put(Dst, 11878);
2363 } 2362 }
2364 dasm_put(Dst, 11200); 2363 dasm_put(Dst, 11200);
2365 } else { 2364 } else {
2366 dasm_put(Dst, 12195); 2365 dasm_put(Dst, 12197);
2367 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2366 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2368 switch (vk) { 2367 switch (vk) {
2369 case 0: 2368 case 0:
2370 dasm_put(Dst, 12308, LJ_TISNUM); 2369 dasm_put(Dst, 12310, LJ_TISNUM);
2371 if (LJ_DUALNUM) { 2370 if (LJ_DUALNUM) {
2372 dasm_put(Dst, 12320, LJ_TISNUM); 2371 dasm_put(Dst, 12322, LJ_TISNUM);
2373 } 2372 }
2374 if (sse) { 2373 if (sse) {
2375 dasm_put(Dst, 12541); 2374 dasm_put(Dst, 12543);
2376 } else { 2375 } else {
2377 dasm_put(Dst, 12555); 2376 dasm_put(Dst, 12557);
2378 } 2377 }
2379 break; 2378 break;
2380 case 1: 2379 case 1:
2381 dasm_put(Dst, 12353, LJ_TISNUM); 2380 dasm_put(Dst, 12355, LJ_TISNUM);
2382 if (LJ_DUALNUM) { 2381 if (LJ_DUALNUM) {
2383 dasm_put(Dst, 12365, LJ_TISNUM); 2382 dasm_put(Dst, 12367, LJ_TISNUM);
2384 } 2383 }
2385 if (sse) { 2384 if (sse) {
2386 dasm_put(Dst, 12563); 2385 dasm_put(Dst, 12565);
2387 } else { 2386 } else {
2388 dasm_put(Dst, 12577); 2387 dasm_put(Dst, 12579);
2389 } 2388 }
2390 break; 2389 break;
2391 default: 2390 default:
2392 dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM); 2391 dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM);
2393 if (sse) { 2392 if (sse) {
2394 dasm_put(Dst, 12585); 2393 dasm_put(Dst, 12587);
2395 } else { 2394 } else {
2396 dasm_put(Dst, 12599); 2395 dasm_put(Dst, 12601);
2397 } 2396 }
2398 break; 2397 break;
2399 } 2398 }
2400 if (sse) { 2399 if (sse) {
2401 dasm_put(Dst, 12058); 2400 dasm_put(Dst, 12060);
2402 } else { 2401 } else {
2403 dasm_put(Dst, 12070); 2402 dasm_put(Dst, 12072);
2404 } 2403 }
2405 dasm_put(Dst, 11200); 2404 dasm_put(Dst, 11200);
2406 } 2405 }
2407 break; 2406 break;
2408 case BC_MULVN: case BC_MULNV: case BC_MULVV: 2407 case BC_MULVN: case BC_MULNV: case BC_MULVV:
2409 if (LJ_DUALNUM) { 2408 if (LJ_DUALNUM) {
2410 dasm_put(Dst, 12195); 2409 dasm_put(Dst, 12197);
2411 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2410 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2412 switch (vk) { 2411 switch (vk) {
2413 case 0: 2412 case 0:
2414 dasm_put(Dst, 12607, LJ_TISNUM, LJ_TISNUM); 2413 dasm_put(Dst, 12609, LJ_TISNUM, LJ_TISNUM);
2415 break; 2414 break;
2416 case 1: 2415 case 1:
2417 dasm_put(Dst, 12641, LJ_TISNUM, LJ_TISNUM); 2416 dasm_put(Dst, 12643, LJ_TISNUM, LJ_TISNUM);
2418 break; 2417 break;
2419 default: 2418 default:
2420 dasm_put(Dst, 12675, LJ_TISNUM, LJ_TISNUM); 2419 dasm_put(Dst, 12677, LJ_TISNUM, LJ_TISNUM);
2421 break; 2420 break;
2422 } 2421 }
2423 dasm_put(Dst, 12302, LJ_TISNUM); 2422 dasm_put(Dst, 12304, LJ_TISNUM);
2424 if (vk == 1) { 2423 if (vk == 1) {
2425 dasm_put(Dst, 12098); 2424 dasm_put(Dst, 12100);
2426 } else { 2425 } else {
2427 dasm_put(Dst, 11876); 2426 dasm_put(Dst, 11878);
2428 } 2427 }
2429 dasm_put(Dst, 11200); 2428 dasm_put(Dst, 11200);
2430 } else { 2429 } else {
2431 dasm_put(Dst, 12195); 2430 dasm_put(Dst, 12197);
2432 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2431 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2433 switch (vk) { 2432 switch (vk) {
2434 case 0: 2433 case 0:
2435 dasm_put(Dst, 12308, LJ_TISNUM); 2434 dasm_put(Dst, 12310, LJ_TISNUM);
2436 if (LJ_DUALNUM) { 2435 if (LJ_DUALNUM) {
2437 dasm_put(Dst, 12320, LJ_TISNUM); 2436 dasm_put(Dst, 12322, LJ_TISNUM);
2438 } 2437 }
2439 if (sse) { 2438 if (sse) {
2440 dasm_put(Dst, 12709); 2439 dasm_put(Dst, 12711);
2441 } else { 2440 } else {
2442 dasm_put(Dst, 12723); 2441 dasm_put(Dst, 12725);
2443 } 2442 }
2444 break; 2443 break;
2445 case 1: 2444 case 1:
2446 dasm_put(Dst, 12353, LJ_TISNUM); 2445 dasm_put(Dst, 12355, LJ_TISNUM);
2447 if (LJ_DUALNUM) { 2446 if (LJ_DUALNUM) {
2448 dasm_put(Dst, 12365, LJ_TISNUM); 2447 dasm_put(Dst, 12367, LJ_TISNUM);
2449 } 2448 }
2450 if (sse) { 2449 if (sse) {
2451 dasm_put(Dst, 12731); 2450 dasm_put(Dst, 12733);
2452 } else { 2451 } else {
2453 dasm_put(Dst, 12745); 2452 dasm_put(Dst, 12747);
2454 } 2453 }
2455 break; 2454 break;
2456 default: 2455 default:
2457 dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM); 2456 dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM);
2458 if (sse) { 2457 if (sse) {
2459 dasm_put(Dst, 12753); 2458 dasm_put(Dst, 12755);
2460 } else { 2459 } else {
2461 dasm_put(Dst, 12767); 2460 dasm_put(Dst, 12769);
2462 } 2461 }
2463 break; 2462 break;
2464 } 2463 }
2465 if (sse) { 2464 if (sse) {
2466 dasm_put(Dst, 12058); 2465 dasm_put(Dst, 12060);
2467 } else { 2466 } else {
2468 dasm_put(Dst, 12070); 2467 dasm_put(Dst, 12072);
2469 } 2468 }
2470 dasm_put(Dst, 11200); 2469 dasm_put(Dst, 11200);
2471 } 2470 }
2472 break; 2471 break;
2473 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 2472 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
2474 dasm_put(Dst, 12195); 2473 dasm_put(Dst, 12197);
2475 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2474 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2476 switch (vk) { 2475 switch (vk) {
2477 case 0: 2476 case 0:
2478 dasm_put(Dst, 12308, LJ_TISNUM); 2477 dasm_put(Dst, 12310, LJ_TISNUM);
2479 if (LJ_DUALNUM) { 2478 if (LJ_DUALNUM) {
2480 dasm_put(Dst, 12320, LJ_TISNUM); 2479 dasm_put(Dst, 12322, LJ_TISNUM);
2481 } 2480 }
2482 if (sse) { 2481 if (sse) {
2483 dasm_put(Dst, 12775); 2482 dasm_put(Dst, 12777);
2484 } else { 2483 } else {
2485 dasm_put(Dst, 12789); 2484 dasm_put(Dst, 12791);
2486 } 2485 }
2487 break; 2486 break;
2488 case 1: 2487 case 1:
2489 dasm_put(Dst, 12353, LJ_TISNUM); 2488 dasm_put(Dst, 12355, LJ_TISNUM);
2490 if (LJ_DUALNUM) { 2489 if (LJ_DUALNUM) {
2491 dasm_put(Dst, 12365, LJ_TISNUM); 2490 dasm_put(Dst, 12367, LJ_TISNUM);
2492 } 2491 }
2493 if (sse) { 2492 if (sse) {
2494 dasm_put(Dst, 12797); 2493 dasm_put(Dst, 12799);
2495 } else { 2494 } else {
2496 dasm_put(Dst, 12811); 2495 dasm_put(Dst, 12813);
2497 } 2496 }
2498 break; 2497 break;
2499 default: 2498 default:
2500 dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM); 2499 dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM);
2501 if (sse) { 2500 if (sse) {
2502 dasm_put(Dst, 12819); 2501 dasm_put(Dst, 12821);
2503 } else { 2502 } else {
2504 dasm_put(Dst, 12833); 2503 dasm_put(Dst, 12835);
2505 } 2504 }
2506 break; 2505 break;
2507 } 2506 }
2508 if (sse) { 2507 if (sse) {
2509 dasm_put(Dst, 12058); 2508 dasm_put(Dst, 12060);
2510 } else { 2509 } else {
2511 dasm_put(Dst, 12070); 2510 dasm_put(Dst, 12072);
2512 } 2511 }
2513 dasm_put(Dst, 11200); 2512 dasm_put(Dst, 11200);
2514 break; 2513 break;
2515 case BC_MODVN: 2514 case BC_MODVN:
2516 dasm_put(Dst, 12195); 2515 dasm_put(Dst, 12197);
2517 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2516 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2518 switch (vk) { 2517 switch (vk) {
2519 case 0: 2518 case 0:
2520 dasm_put(Dst, 12308, LJ_TISNUM); 2519 dasm_put(Dst, 12310, LJ_TISNUM);
2521 if (LJ_DUALNUM) { 2520 if (LJ_DUALNUM) {
2522 dasm_put(Dst, 12320, LJ_TISNUM); 2521 dasm_put(Dst, 12322, LJ_TISNUM);
2523 } 2522 }
2524 if (sse) { 2523 if (sse) {
2525 dasm_put(Dst, 12841); 2524 dasm_put(Dst, 12843);
2526 } else { 2525 } else {
2527 dasm_put(Dst, 12855); 2526 dasm_put(Dst, 12857);
2528 } 2527 }
2529 break; 2528 break;
2530 case 1: 2529 case 1:
2531 dasm_put(Dst, 12353, LJ_TISNUM); 2530 dasm_put(Dst, 12355, LJ_TISNUM);
2532 if (LJ_DUALNUM) { 2531 if (LJ_DUALNUM) {
2533 dasm_put(Dst, 12365, LJ_TISNUM); 2532 dasm_put(Dst, 12367, LJ_TISNUM);
2534 } 2533 }
2535 if (sse) { 2534 if (sse) {
2536 dasm_put(Dst, 12863); 2535 dasm_put(Dst, 12865);
2537 } else { 2536 } else {
2538 dasm_put(Dst, 12877); 2537 dasm_put(Dst, 12879);
2539 } 2538 }
2540 break; 2539 break;
2541 default: 2540 default:
2542 dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM); 2541 dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM);
2543 if (sse) { 2542 if (sse) {
2544 dasm_put(Dst, 12885); 2543 dasm_put(Dst, 12887);
2545 } else { 2544 } else {
2546 dasm_put(Dst, 12899); 2545 dasm_put(Dst, 12901);
2547 } 2546 }
2548 break; 2547 break;
2549 } 2548 }
2550 dasm_put(Dst, 12907); 2549 dasm_put(Dst, 12909);
2551 if (sse) { 2550 if (sse) {
2552 dasm_put(Dst, 12058); 2551 dasm_put(Dst, 12060);
2553 } else { 2552 } else {
2554 dasm_put(Dst, 12070); 2553 dasm_put(Dst, 12072);
2555 } 2554 }
2556 dasm_put(Dst, 11200); 2555 dasm_put(Dst, 11200);
2557 break; 2556 break;
2558 case BC_MODNV: case BC_MODVV: 2557 case BC_MODNV: case BC_MODVV:
2559 dasm_put(Dst, 12195); 2558 dasm_put(Dst, 12197);
2560 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2559 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2561 switch (vk) { 2560 switch (vk) {
2562 case 0: 2561 case 0:
2563 dasm_put(Dst, 12308, LJ_TISNUM); 2562 dasm_put(Dst, 12310, LJ_TISNUM);
2564 if (LJ_DUALNUM) { 2563 if (LJ_DUALNUM) {
2565 dasm_put(Dst, 12320, LJ_TISNUM); 2564 dasm_put(Dst, 12322, LJ_TISNUM);
2566 } 2565 }
2567 if (sse) { 2566 if (sse) {
2568 dasm_put(Dst, 12841); 2567 dasm_put(Dst, 12843);
2569 } else { 2568 } else {
2570 dasm_put(Dst, 12855); 2569 dasm_put(Dst, 12857);
2571 } 2570 }
2572 break; 2571 break;
2573 case 1: 2572 case 1:
2574 dasm_put(Dst, 12353, LJ_TISNUM); 2573 dasm_put(Dst, 12355, LJ_TISNUM);
2575 if (LJ_DUALNUM) { 2574 if (LJ_DUALNUM) {
2576 dasm_put(Dst, 12365, LJ_TISNUM); 2575 dasm_put(Dst, 12367, LJ_TISNUM);
2577 } 2576 }
2578 if (sse) { 2577 if (sse) {
2579 dasm_put(Dst, 12863); 2578 dasm_put(Dst, 12865);
2580 } else { 2579 } else {
2581 dasm_put(Dst, 12877); 2580 dasm_put(Dst, 12879);
2582 } 2581 }
2583 break; 2582 break;
2584 default: 2583 default:
2585 dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM); 2584 dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM);
2586 if (sse) { 2585 if (sse) {
2587 dasm_put(Dst, 12885); 2586 dasm_put(Dst, 12887);
2588 } else { 2587 } else {
2589 dasm_put(Dst, 12899); 2588 dasm_put(Dst, 12901);
2590 } 2589 }
2591 break; 2590 break;
2592 } 2591 }
2593 dasm_put(Dst, 12913); 2592 dasm_put(Dst, 12915);
2594 break; 2593 break;
2595 case BC_POW: 2594 case BC_POW:
2596 dasm_put(Dst, 12195); 2595 dasm_put(Dst, 12197);
2597 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2596 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2598 switch (vk) { 2597 switch (vk) {
2599 case 0: 2598 case 0:
2600 dasm_put(Dst, 12308, LJ_TISNUM); 2599 dasm_put(Dst, 12310, LJ_TISNUM);
2601 if (LJ_DUALNUM) { 2600 if (LJ_DUALNUM) {
2602 dasm_put(Dst, 12320, LJ_TISNUM); 2601 dasm_put(Dst, 12322, LJ_TISNUM);
2603 } 2602 }
2604 if (sse) { 2603 if (sse) {
2605 dasm_put(Dst, 12841); 2604 dasm_put(Dst, 12843);
2606 } else { 2605 } else {
2607 dasm_put(Dst, 12855); 2606 dasm_put(Dst, 12857);
2608 } 2607 }
2609 break; 2608 break;
2610 case 1: 2609 case 1:
2611 dasm_put(Dst, 12353, LJ_TISNUM); 2610 dasm_put(Dst, 12355, LJ_TISNUM);
2612 if (LJ_DUALNUM) { 2611 if (LJ_DUALNUM) {
2613 dasm_put(Dst, 12365, LJ_TISNUM); 2612 dasm_put(Dst, 12367, LJ_TISNUM);
2614 } 2613 }
2615 if (sse) { 2614 if (sse) {
2616 dasm_put(Dst, 12863); 2615 dasm_put(Dst, 12865);
2617 } else { 2616 } else {
2618 dasm_put(Dst, 12877); 2617 dasm_put(Dst, 12879);
2619 } 2618 }
2620 break; 2619 break;
2621 default: 2620 default:
2622 dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM); 2621 dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM);
2623 if (sse) { 2622 if (sse) {
2624 dasm_put(Dst, 12885); 2623 dasm_put(Dst, 12887);
2625 } else { 2624 } else {
2626 dasm_put(Dst, 12899); 2625 dasm_put(Dst, 12901);
2627 } 2626 }
2628 break; 2627 break;
2629 } 2628 }
2630 dasm_put(Dst, 12918); 2629 dasm_put(Dst, 12920);
2631 if (sse) { 2630 if (sse) {
2632 dasm_put(Dst, 12058); 2631 dasm_put(Dst, 12060);
2633 } else { 2632 } else {
2634 dasm_put(Dst, 12070); 2633 dasm_put(Dst, 12072);
2635 } 2634 }
2636 dasm_put(Dst, 11200); 2635 dasm_put(Dst, 11200);
2637 break; 2636 break;
2638 2637
2639 case BC_CAT: 2638 case BC_CAT:
2640 dasm_put(Dst, 12922, Dt1(->base), Dt1(->base)); 2639 dasm_put(Dst, 12924, Dt1(->base), Dt1(->base));
2641 break; 2640 break;
2642 2641
2643 /* -- Constant ops ------------------------------------------------------ */ 2642 /* -- Constant ops ------------------------------------------------------ */
2644 2643
2645 case BC_KSTR: 2644 case BC_KSTR:
2646 dasm_put(Dst, 13016, LJ_TSTR); 2645 dasm_put(Dst, 13018, LJ_TSTR);
2647 break; 2646 break;
2648 case BC_KCDATA: 2647 case BC_KCDATA:
2649#if LJ_HASFFI 2648#if LJ_HASFFI
2650 dasm_put(Dst, 13016, LJ_TCDATA); 2649 dasm_put(Dst, 13018, LJ_TCDATA);
2651#endif 2650#endif
2652 break; 2651 break;
2653 case BC_KSHORT: 2652 case BC_KSHORT:
2654 if (LJ_DUALNUM) { 2653 if (LJ_DUALNUM) {
2655 dasm_put(Dst, 13049, LJ_TISNUM); 2654 dasm_put(Dst, 13051, LJ_TISNUM);
2656 } else if (sse) { 2655 } else if (sse) {
2657 dasm_put(Dst, 13061); 2656 dasm_put(Dst, 13063);
2658 } else { 2657 } else {
2659 dasm_put(Dst, 13076); 2658 dasm_put(Dst, 13078);
2660 } 2659 }
2661 dasm_put(Dst, 11200); 2660 dasm_put(Dst, 11200);
2662 break; 2661 break;
2663 case BC_KNUM: 2662 case BC_KNUM:
2664 if (sse) { 2663 if (sse) {
2665 dasm_put(Dst, 13084); 2664 dasm_put(Dst, 13086);
2666 } else { 2665 } else {
2667 dasm_put(Dst, 13097); 2666 dasm_put(Dst, 13099);
2668 } 2667 }
2669 dasm_put(Dst, 11200); 2668 dasm_put(Dst, 11200);
2670 break; 2669 break;
2671 case BC_KPRI: 2670 case BC_KPRI:
2672 dasm_put(Dst, 13104); 2671 dasm_put(Dst, 13106);
2673 break; 2672 break;
2674 case BC_KNIL: 2673 case BC_KNIL:
2675 dasm_put(Dst, 13130, LJ_TNIL); 2674 dasm_put(Dst, 13132, LJ_TNIL);
2676 break; 2675 break;
2677 2676
2678 /* -- Upvalue and function ops ------------------------------------------ */ 2677 /* -- Upvalue and function ops ------------------------------------------ */
2679 2678
2680 case BC_UGET: 2679 case BC_UGET:
2681 dasm_put(Dst, 13176, offsetof(GCfuncL, uvptr), DtA(->v)); 2680 dasm_put(Dst, 13178, offsetof(GCfuncL, uvptr), DtA(->v));
2682 break; 2681 break;
2683 case BC_USETV: 2682 case BC_USETV:
2684#define TV2MARKOFS \ 2683#define TV2MARKOFS \
2685 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2684 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2686 dasm_put(Dst, 13220, 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); 2685 dasm_put(Dst, 13222, 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);
2687 dasm_put(Dst, 13310); 2686 dasm_put(Dst, 13312);
2688 break; 2687 break;
2689#undef TV2MARKOFS 2688#undef TV2MARKOFS
2690 case BC_USETS: 2689 case BC_USETS:
2691 dasm_put(Dst, 13322, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 2690 dasm_put(Dst, 13324, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
2692 break; 2691 break;
2693 case BC_USETN: 2692 case BC_USETN:
2694 dasm_put(Dst, 13413); 2693 dasm_put(Dst, 13415);
2695 if (sse) { 2694 if (sse) {
2696 dasm_put(Dst, 13418); 2695 dasm_put(Dst, 13420);
2697 } else { 2696 } else {
2698 dasm_put(Dst, 12859); 2697 dasm_put(Dst, 11710);
2699 } 2698 }
2700 dasm_put(Dst, 13425, offsetof(GCfuncL, uvptr), DtA(->v)); 2699 dasm_put(Dst, 13427, offsetof(GCfuncL, uvptr), DtA(->v));
2701 if (sse) { 2700 if (sse) {
2702 dasm_put(Dst, 13434); 2701 dasm_put(Dst, 13436);
2703 } else { 2702 } else {
2704 dasm_put(Dst, 13440); 2703 dasm_put(Dst, 13442);
2705 } 2704 }
2706 dasm_put(Dst, 11200); 2705 dasm_put(Dst, 11200);
2707 break; 2706 break;
2708 case BC_USETP: 2707 case BC_USETP:
2709 dasm_put(Dst, 13443, offsetof(GCfuncL, uvptr), DtA(->v)); 2708 dasm_put(Dst, 13445, offsetof(GCfuncL, uvptr), DtA(->v));
2710 break; 2709 break;
2711 case BC_UCLO: 2710 case BC_UCLO:
2712 dasm_put(Dst, 13480, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2711 dasm_put(Dst, 13482, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2713 break; 2712 break;
2714 2713
2715 case BC_FNEW: 2714 case BC_FNEW:
2716 dasm_put(Dst, 13534, Dt1(->base), Dt1(->base), LJ_TFUNC); 2715 dasm_put(Dst, 13536, Dt1(->base), Dt1(->base), LJ_TFUNC);
2717 break; 2716 break;
2718 2717
2719 /* -- Table ops --------------------------------------------------------- */ 2718 /* -- Table ops --------------------------------------------------------- */
2720 2719
2721 case BC_TNEW: 2720 case BC_TNEW:
2722 dasm_put(Dst, 13605, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2721 dasm_put(Dst, 13607, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2723 break; 2722 break;
2724 case BC_TDUP: 2723 case BC_TDUP:
2725 dasm_put(Dst, 13731, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2724 dasm_put(Dst, 13733, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2726 break; 2725 break;
2727 2726
2728 case BC_GGET: 2727 case BC_GGET:
2729 dasm_put(Dst, 13823, Dt7(->env)); 2728 dasm_put(Dst, 13825, Dt7(->env));
2730 break; 2729 break;
2731 case BC_GSET: 2730 case BC_GSET:
2732 dasm_put(Dst, 13841, Dt7(->env)); 2731 dasm_put(Dst, 13843, Dt7(->env));
2733 break; 2732 break;
2734 2733
2735 case BC_TGETV: 2734 case BC_TGETV:
2736 dasm_put(Dst, 13859, LJ_TTAB); 2735 dasm_put(Dst, 13861, LJ_TTAB);
2737 if (LJ_DUALNUM) { 2736 if (LJ_DUALNUM) {
2738 dasm_put(Dst, 13882, LJ_TISNUM); 2737 dasm_put(Dst, 13884, LJ_TISNUM);
2739 } else { 2738 } else {
2740 dasm_put(Dst, 13896, LJ_TISNUM); 2739 dasm_put(Dst, 13898, LJ_TISNUM);
2741 if (sse) { 2740 if (sse) {
2742 dasm_put(Dst, 13907); 2741 dasm_put(Dst, 13909);
2743 } else { 2742 } else {
2744 dasm_put(Dst, 13928); 2743 dasm_put(Dst, 13930);
2745 if (cmov) { 2744 if (cmov) {
2746 dasm_put(Dst, 3899); 2745 dasm_put(Dst, 3899);
2747 } else { 2746 } else {
@@ -2749,30 +2748,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2749 } 2748 }
2750 dasm_put(Dst, 2635); 2749 dasm_put(Dst, 2635);
2751 } 2750 }
2752 dasm_put(Dst, 13938); 2751 dasm_put(Dst, 13940);
2753 } 2752 }
2754 dasm_put(Dst, 13943, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); 2753 dasm_put(Dst, 13945, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2755 dasm_put(Dst, 14038, LJ_TSTR); 2754 dasm_put(Dst, 14040, LJ_TSTR);
2756 break; 2755 break;
2757 case BC_TGETS: 2756 case BC_TGETS:
2758 dasm_put(Dst, 14056, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2757 dasm_put(Dst, 14058, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2759 dasm_put(Dst, 14144, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2758 dasm_put(Dst, 14146, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2760 break; 2759 break;
2761 case BC_TGETB: 2760 case BC_TGETB:
2762 dasm_put(Dst, 14214, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2761 dasm_put(Dst, 14216, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2763 dasm_put(Dst, 14313, LJ_TNIL); 2762 dasm_put(Dst, 14315, LJ_TNIL);
2764 break; 2763 break;
2765 2764
2766 case BC_TSETV: 2765 case BC_TSETV:
2767 dasm_put(Dst, 14330, LJ_TTAB); 2766 dasm_put(Dst, 14332, LJ_TTAB);
2768 if (LJ_DUALNUM) { 2767 if (LJ_DUALNUM) {
2769 dasm_put(Dst, 13882, LJ_TISNUM); 2768 dasm_put(Dst, 13884, LJ_TISNUM);
2770 } else { 2769 } else {
2771 dasm_put(Dst, 13896, LJ_TISNUM); 2770 dasm_put(Dst, 13898, LJ_TISNUM);
2772 if (sse) { 2771 if (sse) {
2773 dasm_put(Dst, 13907); 2772 dasm_put(Dst, 13909);
2774 } else { 2773 } else {
2775 dasm_put(Dst, 13928); 2774 dasm_put(Dst, 13930);
2776 if (cmov) { 2775 if (cmov) {
2777 dasm_put(Dst, 3899); 2776 dasm_put(Dst, 3899);
2778 } else { 2777 } else {
@@ -2780,115 +2779,115 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2780 } 2779 }
2781 dasm_put(Dst, 2635); 2780 dasm_put(Dst, 2635);
2782 } 2781 }
2783 dasm_put(Dst, 14353); 2782 dasm_put(Dst, 14355);
2784 } 2783 }
2785 dasm_put(Dst, 14358, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); 2784 dasm_put(Dst, 14360, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
2786 dasm_put(Dst, 14442, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2785 dasm_put(Dst, 14444, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2787 break; 2786 break;
2788 case BC_TSETS: 2787 case BC_TSETS:
2789 dasm_put(Dst, 14499, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2788 dasm_put(Dst, 14501, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2790 dasm_put(Dst, 14574, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2789 dasm_put(Dst, 14576, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2791 dasm_put(Dst, 14666, 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)); 2790 dasm_put(Dst, 14668, 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));
2792 break; 2791 break;
2793 case BC_TSETB: 2792 case BC_TSETB:
2794 dasm_put(Dst, 14762, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2793 dasm_put(Dst, 14764, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2795 dasm_put(Dst, 14860, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2794 dasm_put(Dst, 14862, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2796 break; 2795 break;
2797 2796
2798 case BC_TSETM: 2797 case BC_TSETM:
2799 dasm_put(Dst, 14906, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2798 dasm_put(Dst, 14908, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2800 dasm_put(Dst, 15055, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2799 dasm_put(Dst, 15057, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2801 break; 2800 break;
2802 2801
2803 /* -- Calls and vararg handling ----------------------------------------- */ 2802 /* -- Calls and vararg handling ----------------------------------------- */
2804 2803
2805 case BC_CALL: case BC_CALLM: 2804 case BC_CALL: case BC_CALLM:
2806 dasm_put(Dst, 12199); 2805 dasm_put(Dst, 12201);
2807 if (op == BC_CALLM) { 2806 if (op == BC_CALLM) {
2808 dasm_put(Dst, 15073); 2807 dasm_put(Dst, 15075);
2809 } 2808 }
2810 dasm_put(Dst, 15078, LJ_TFUNC, Dt7(->pc)); 2809 dasm_put(Dst, 15080, LJ_TFUNC, Dt7(->pc));
2811 break; 2810 break;
2812 2811
2813 case BC_CALLMT: 2812 case BC_CALLMT:
2814 dasm_put(Dst, 15073); 2813 dasm_put(Dst, 15075);
2815 break; 2814 break;
2816 case BC_CALLT: 2815 case BC_CALLT:
2817 dasm_put(Dst, 15119, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2816 dasm_put(Dst, 15121, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2818 dasm_put(Dst, 15237, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2817 dasm_put(Dst, 15239, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2819 break; 2818 break;
2820 2819
2821 case BC_ITERC: 2820 case BC_ITERC:
2822 dasm_put(Dst, 15307, LJ_TFUNC, 2+1, Dt7(->pc)); 2821 dasm_put(Dst, 15309, LJ_TFUNC, 2+1, Dt7(->pc));
2823 break; 2822 break;
2824 2823
2825 case BC_ITERN: 2824 case BC_ITERN:
2826#if LJ_HASJIT 2825#if LJ_HASJIT
2827#endif 2826#endif
2828 dasm_put(Dst, 15387, Dt6(->asize), Dt6(->array), LJ_TNIL); 2827 dasm_put(Dst, 15389, Dt6(->asize), Dt6(->array), LJ_TNIL);
2829 if (LJ_DUALNUM) { 2828 if (LJ_DUALNUM) {
2830 dasm_put(Dst, 12093, LJ_TISNUM); 2829 dasm_put(Dst, 12095, LJ_TISNUM);
2831 } else if (sse) { 2830 } else if (sse) {
2832 dasm_put(Dst, 12169); 2831 dasm_put(Dst, 12171);
2833 } else { 2832 } else {
2834 dasm_put(Dst, 15433); 2833 dasm_put(Dst, 15435);
2835 } 2834 }
2836 dasm_put(Dst, 15439); 2835 dasm_put(Dst, 15441);
2837 if (LJ_DUALNUM) { 2836 if (LJ_DUALNUM) {
2838 } else if (sse) { 2837 } else if (sse) {
2839 dasm_put(Dst, 12058); 2838 dasm_put(Dst, 12060);
2840 } else { 2839 } else {
2841 dasm_put(Dst, 12070); 2840 dasm_put(Dst, 12072);
2842 } 2841 }
2843 dasm_put(Dst, 15458, -BCBIAS_J*4); 2842 dasm_put(Dst, 15460, -BCBIAS_J*4);
2844 if (!LJ_DUALNUM && !sse) { 2843 if (!LJ_DUALNUM && !sse) {
2845 dasm_put(Dst, 15509); 2844 dasm_put(Dst, 15511);
2846 } 2845 }
2847 dasm_put(Dst, 15515, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it)); 2846 dasm_put(Dst, 15517, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it));
2848 dasm_put(Dst, 15590); 2847 dasm_put(Dst, 15592);
2849 break; 2848 break;
2850 2849
2851 case BC_ISNEXT: 2850 case BC_ISNEXT:
2852 dasm_put(Dst, 15598, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2851 dasm_put(Dst, 15600, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2853 break; 2852 break;
2854 2853
2855 case BC_VARG: 2854 case BC_VARG:
2856 dasm_put(Dst, 15697, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2855 dasm_put(Dst, 15699, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2857 dasm_put(Dst, 15861, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2856 dasm_put(Dst, 15863, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2858 break; 2857 break;
2859 2858
2860 /* -- Returns ----------------------------------------------------------- */ 2859 /* -- Returns ----------------------------------------------------------- */
2861 2860
2862 case BC_RETM: 2861 case BC_RETM:
2863 dasm_put(Dst, 15073); 2862 dasm_put(Dst, 15075);
2864 break; 2863 break;
2865 2864
2866 case BC_RET: case BC_RET0: case BC_RET1: 2865 case BC_RET: case BC_RET0: case BC_RET1:
2867 if (op != BC_RET0) { 2866 if (op != BC_RET0) {
2868 dasm_put(Dst, 15932); 2867 dasm_put(Dst, 15934);
2869 } 2868 }
2870 dasm_put(Dst, 15936, FRAME_TYPE); 2869 dasm_put(Dst, 15938, FRAME_TYPE);
2871 switch (op) { 2870 switch (op) {
2872 case BC_RET: 2871 case BC_RET:
2873 dasm_put(Dst, 15955); 2872 dasm_put(Dst, 15957);
2874 break; 2873 break;
2875 case BC_RET1: 2874 case BC_RET1:
2876 dasm_put(Dst, 16013); 2875 dasm_put(Dst, 16015);
2877 /* fallthrough */ 2876 /* fallthrough */
2878 case BC_RET0: 2877 case BC_RET0:
2879 dasm_put(Dst, 16029); 2878 dasm_put(Dst, 16031);
2880 default: 2879 default:
2881 break; 2880 break;
2882 } 2881 }
2883 dasm_put(Dst, 16040, Dt7(->pc), PC2PROTO(k)); 2882 dasm_put(Dst, 16042, Dt7(->pc), PC2PROTO(k));
2884 if (op == BC_RET) { 2883 if (op == BC_RET) {
2885 dasm_put(Dst, 16082, LJ_TNIL); 2884 dasm_put(Dst, 16084, LJ_TNIL);
2886 } else { 2885 } else {
2887 dasm_put(Dst, 16091, LJ_TNIL); 2886 dasm_put(Dst, 16093, LJ_TNIL);
2888 } 2887 }
2889 dasm_put(Dst, 16098, -FRAME_VARG, FRAME_TYPEP); 2888 dasm_put(Dst, 16100, -FRAME_VARG, FRAME_TYPEP);
2890 if (op != BC_RET0) { 2889 if (op != BC_RET0) {
2891 dasm_put(Dst, 16122); 2890 dasm_put(Dst, 16124);
2892 } 2891 }
2893 dasm_put(Dst, 4883); 2892 dasm_put(Dst, 4883);
2894 break; 2893 break;
@@ -2898,7 +2897,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2898 2897
2899 case BC_FORL: 2898 case BC_FORL:
2900#if LJ_HASJIT 2899#if LJ_HASJIT
2901 dasm_put(Dst, 16126, HOTCOUNT_PCMASK, GG_DISP2HOT); 2900 dasm_put(Dst, 16128, HOTCOUNT_PCMASK, GG_DISP2HOT);
2902#endif 2901#endif
2903 break; 2902 break;
2904 2903
@@ -2910,104 +2909,104 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2910 case BC_FORI: 2909 case BC_FORI:
2911 case BC_IFORL: 2910 case BC_IFORL:
2912 vk = (op == BC_IFORL || op == BC_JFORL); 2911 vk = (op == BC_IFORL || op == BC_JFORL);
2913 dasm_put(Dst, 16147); 2912 dasm_put(Dst, 16149);
2914 if (LJ_DUALNUM) { 2913 if (LJ_DUALNUM) {
2915 dasm_put(Dst, 16151, LJ_TISNUM); 2914 dasm_put(Dst, 16153, LJ_TISNUM);
2916 if (!vk) { 2915 if (!vk) {
2917 dasm_put(Dst, 16161, LJ_TISNUM, LJ_TISNUM); 2916 dasm_put(Dst, 16163, LJ_TISNUM, LJ_TISNUM);
2918 } else { 2917 } else {
2919 dasm_put(Dst, 16190); 2918 dasm_put(Dst, 16192);
2920 } 2919 }
2921 dasm_put(Dst, 16209, LJ_TISNUM); 2920 dasm_put(Dst, 16211, LJ_TISNUM);
2922 if (op == BC_FORI) { 2921 if (op == BC_FORI) {
2923 dasm_put(Dst, 16220, -BCBIAS_J*4); 2922 dasm_put(Dst, 16222, -BCBIAS_J*4);
2924 } else if (op == BC_JFORI) { 2923 } else if (op == BC_JFORI) {
2925 dasm_put(Dst, 16234, -BCBIAS_J*4, BC_JLOOP); 2924 dasm_put(Dst, 16236, -BCBIAS_J*4, BC_JLOOP);
2926 } else if (op == BC_IFORL) { 2925 } else if (op == BC_IFORL) {
2927 dasm_put(Dst, 16252, -BCBIAS_J*4); 2926 dasm_put(Dst, 16254, -BCBIAS_J*4);
2928 } else { 2927 } else {
2929 dasm_put(Dst, 16244, BC_JLOOP); 2928 dasm_put(Dst, 16246, BC_JLOOP);
2930 } 2929 }
2931 dasm_put(Dst, 16266); 2930 dasm_put(Dst, 16268);
2932 if (vk) { 2931 if (vk) {
2933 dasm_put(Dst, 16289); 2932 dasm_put(Dst, 16291);
2934 } 2933 }
2935 dasm_put(Dst, 16209, LJ_TISNUM); 2934 dasm_put(Dst, 16211, LJ_TISNUM);
2936 if (op == BC_FORI) { 2935 if (op == BC_FORI) {
2937 dasm_put(Dst, 16298); 2936 dasm_put(Dst, 16300);
2938 } else if (op == BC_JFORI) { 2937 } else if (op == BC_JFORI) {
2939 dasm_put(Dst, 16303, -BCBIAS_J*4, BC_JLOOP); 2938 dasm_put(Dst, 16305, -BCBIAS_J*4, BC_JLOOP);
2940 } else if (op == BC_IFORL) { 2939 } else if (op == BC_IFORL) {
2941 dasm_put(Dst, 16317); 2940 dasm_put(Dst, 16319);
2942 } else { 2941 } else {
2943 dasm_put(Dst, 16313, BC_JLOOP); 2942 dasm_put(Dst, 16315, BC_JLOOP);
2944 } 2943 }
2945 dasm_put(Dst, 16322); 2944 dasm_put(Dst, 16324);
2946 } else if (!vk) { 2945 } else if (!vk) {
2947 dasm_put(Dst, 16329, LJ_TISNUM); 2946 dasm_put(Dst, 16331, LJ_TISNUM);
2948 } 2947 }
2949 if (!vk) { 2948 if (!vk) {
2950 dasm_put(Dst, 16335, LJ_TISNUM); 2949 dasm_put(Dst, 16337, LJ_TISNUM);
2951 } 2950 }
2952 dasm_put(Dst, 16349); 2951 dasm_put(Dst, 16351);
2953 if (!vk) { 2952 if (!vk) {
2954 dasm_put(Dst, 16353, LJ_TISNUM); 2953 dasm_put(Dst, 16355, LJ_TISNUM);
2955 } 2954 }
2956 if (sse) { 2955 if (sse) {
2957 dasm_put(Dst, 16362); 2956 dasm_put(Dst, 16364);
2958 if (vk) { 2957 if (vk) {
2959 dasm_put(Dst, 16374); 2958 dasm_put(Dst, 16376);
2960 } else { 2959 } else {
2961 dasm_put(Dst, 16393); 2960 dasm_put(Dst, 16395);
2962 } 2961 }
2963 dasm_put(Dst, 16398); 2962 dasm_put(Dst, 16400);
2964 } else { 2963 } else {
2965 dasm_put(Dst, 16411); 2964 dasm_put(Dst, 16413);
2966 if (vk) { 2965 if (vk) {
2967 dasm_put(Dst, 16417); 2966 dasm_put(Dst, 16419);
2968 } else { 2967 } else {
2969 dasm_put(Dst, 16433); 2968 dasm_put(Dst, 16435);
2970 } 2969 }
2971 dasm_put(Dst, 16441); 2970 dasm_put(Dst, 16443);
2972 if (cmov) { 2971 if (cmov) {
2973 dasm_put(Dst, 3899); 2972 dasm_put(Dst, 3899);
2974 } else { 2973 } else {
2975 dasm_put(Dst, 3905); 2974 dasm_put(Dst, 3905);
2976 } 2975 }
2977 if (!cmov) { 2976 if (!cmov) {
2978 dasm_put(Dst, 16446); 2977 dasm_put(Dst, 16448);
2979 } 2978 }
2980 } 2979 }
2981 if (op == BC_FORI) { 2980 if (op == BC_FORI) {
2982 if (LJ_DUALNUM) { 2981 if (LJ_DUALNUM) {
2983 dasm_put(Dst, 16452); 2982 dasm_put(Dst, 16454);
2984 } else { 2983 } else {
2985 dasm_put(Dst, 16457, -BCBIAS_J*4); 2984 dasm_put(Dst, 16459, -BCBIAS_J*4);
2986 } 2985 }
2987 } else if (op == BC_JFORI) { 2986 } else if (op == BC_JFORI) {
2988 dasm_put(Dst, 16467, -BCBIAS_J*4, BC_JLOOP); 2987 dasm_put(Dst, 16469, -BCBIAS_J*4, BC_JLOOP);
2989 } else if (op == BC_IFORL) { 2988 } else if (op == BC_IFORL) {
2990 if (LJ_DUALNUM) { 2989 if (LJ_DUALNUM) {
2991 dasm_put(Dst, 16481); 2990 dasm_put(Dst, 16483);
2992 } else { 2991 } else {
2993 dasm_put(Dst, 16486, -BCBIAS_J*4); 2992 dasm_put(Dst, 16488, -BCBIAS_J*4);
2994 } 2993 }
2995 } else { 2994 } else {
2996 dasm_put(Dst, 16477, BC_JLOOP); 2995 dasm_put(Dst, 16479, BC_JLOOP);
2997 } 2996 }
2998 if (LJ_DUALNUM) { 2997 if (LJ_DUALNUM) {
2999 dasm_put(Dst, 11097); 2998 dasm_put(Dst, 11097);
3000 } else { 2999 } else {
3001 dasm_put(Dst, 11836); 3000 dasm_put(Dst, 11838);
3002 } 3001 }
3003 if (sse) { 3002 if (sse) {
3004 dasm_put(Dst, 16496); 3003 dasm_put(Dst, 16498);
3005 } 3004 }
3006 break; 3005 break;
3007 3006
3008 case BC_ITERL: 3007 case BC_ITERL:
3009#if LJ_HASJIT 3008#if LJ_HASJIT
3010 dasm_put(Dst, 16126, HOTCOUNT_PCMASK, GG_DISP2HOT); 3009 dasm_put(Dst, 16128, HOTCOUNT_PCMASK, GG_DISP2HOT);
3011#endif 3010#endif
3012 break; 3011 break;
3013 3012
@@ -3016,18 +3015,18 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3016 break; 3015 break;
3017#endif 3016#endif
3018 case BC_IITERL: 3017 case BC_IITERL:
3019 dasm_put(Dst, 16507, LJ_TNIL); 3018 dasm_put(Dst, 16509, LJ_TNIL);
3020 if (op == BC_JITERL) { 3019 if (op == BC_JITERL) {
3021 dasm_put(Dst, 16522, BC_JLOOP); 3020 dasm_put(Dst, 16524, BC_JLOOP);
3022 } else { 3021 } else {
3023 dasm_put(Dst, 16536, -BCBIAS_J*4); 3022 dasm_put(Dst, 16538, -BCBIAS_J*4);
3024 } 3023 }
3025 dasm_put(Dst, 11198); 3024 dasm_put(Dst, 11198);
3026 break; 3025 break;
3027 3026
3028 case BC_LOOP: 3027 case BC_LOOP:
3029#if LJ_HASJIT 3028#if LJ_HASJIT
3030 dasm_put(Dst, 16126, HOTCOUNT_PCMASK, GG_DISP2HOT); 3029 dasm_put(Dst, 16128, HOTCOUNT_PCMASK, GG_DISP2HOT);
3031#endif 3030#endif
3032 break; 3031 break;
3033 3032
@@ -3037,12 +3036,12 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3037 3036
3038 case BC_JLOOP: 3037 case BC_JLOOP:
3039#if LJ_HASJIT 3038#if LJ_HASJIT
3040 dasm_put(Dst, 16552, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 3039 dasm_put(Dst, 16554, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
3041#endif 3040#endif
3042 break; 3041 break;
3043 3042
3044 case BC_JMP: 3043 case BC_JMP:
3045 dasm_put(Dst, 16575, -BCBIAS_J*4); 3044 dasm_put(Dst, 16577, -BCBIAS_J*4);
3046 break; 3045 break;
3047 3046
3048 /* -- Function headers -------------------------------------------------- */ 3047 /* -- Function headers -------------------------------------------------- */
@@ -3056,7 +3055,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3056 3055
3057 case BC_FUNCF: 3056 case BC_FUNCF:
3058#if LJ_HASJIT 3057#if LJ_HASJIT
3059 dasm_put(Dst, 16599, HOTCOUNT_PCMASK, GG_DISP2HOT); 3058 dasm_put(Dst, 16601, HOTCOUNT_PCMASK, GG_DISP2HOT);
3060#endif 3059#endif
3061 case BC_FUNCV: /* NYI: compiled vararg functions. */ 3060 case BC_FUNCV: /* NYI: compiled vararg functions. */
3062 break; 3061 break;
@@ -3066,13 +3065,13 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3066 break; 3065 break;
3067#endif 3066#endif
3068 case BC_IFUNCF: 3067 case BC_IFUNCF:
3069 dasm_put(Dst, 16620, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 3068 dasm_put(Dst, 16622, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
3070 if (op == BC_JFUNCF) { 3069 if (op == BC_JFUNCF) {
3071 dasm_put(Dst, 16650, BC_JLOOP); 3070 dasm_put(Dst, 16652, BC_JLOOP);
3072 } else { 3071 } else {
3073 dasm_put(Dst, 11200); 3072 dasm_put(Dst, 11200);
3074 } 3073 }
3075 dasm_put(Dst, 16659, LJ_TNIL); 3074 dasm_put(Dst, 16661, LJ_TNIL);
3076 break; 3075 break;
3077 3076
3078 case BC_JFUNCV: 3077 case BC_JFUNCV:
@@ -3083,30 +3082,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3083 break; /* NYI: compiled vararg functions. */ 3082 break; /* NYI: compiled vararg functions. */
3084 3083
3085 case BC_IFUNCV: 3084 case BC_IFUNCV:
3086 dasm_put(Dst, 16681, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 3085 dasm_put(Dst, 16683, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
3087 if (op == BC_JFUNCV) { 3086 if (op == BC_JFUNCV) {
3088 dasm_put(Dst, 16650, BC_JLOOP); 3087 dasm_put(Dst, 16652, BC_JLOOP);
3089 } else { 3088 } else {
3090 dasm_put(Dst, 16772, -4+PC2PROTO(k)); 3089 dasm_put(Dst, 16774, -4+PC2PROTO(k));
3091 } 3090 }
3092 dasm_put(Dst, 16794, LJ_TNIL); 3091 dasm_put(Dst, 16796, LJ_TNIL);
3093 break; 3092 break;
3094 3093
3095 case BC_FUNCC: 3094 case BC_FUNCC:
3096 case BC_FUNCCW: 3095 case BC_FUNCCW:
3097 dasm_put(Dst, 16816, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 3096 dasm_put(Dst, 16818, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
3098 if (op == BC_FUNCC) { 3097 if (op == BC_FUNCC) {
3099 dasm_put(Dst, 16845); 3098 dasm_put(Dst, 16847);
3100 } else { 3099 } else {
3101 dasm_put(Dst, 16849); 3100 dasm_put(Dst, 16851);
3102 } 3101 }
3103 dasm_put(Dst, 16857, DISPATCH_GL(vmstate), ~LJ_VMST_C); 3102 dasm_put(Dst, 16859, DISPATCH_GL(vmstate), ~LJ_VMST_C);
3104 if (op == BC_FUNCC) { 3103 if (op == BC_FUNCC) {
3105 dasm_put(Dst, 16866); 3104 dasm_put(Dst, 16868);
3106 } else { 3105 } else {
3107 dasm_put(Dst, 16870, DISPATCH_GL(wrapf)); 3106 dasm_put(Dst, 16872, DISPATCH_GL(wrapf));
3108 } 3107 }
3109 dasm_put(Dst, 16875, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 3108 dasm_put(Dst, 16877, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
3110 break; 3109 break;
3111 3110
3112 /* ---------------------------------------------------------------------- */ 3111 /* ---------------------------------------------------------------------- */
@@ -3134,7 +3133,7 @@ static int build_backend(BuildCtx *ctx)
3134 3133
3135 build_subroutines(ctx, cmov, sse); 3134 build_subroutines(ctx, cmov, sse);
3136 3135
3137 dasm_put(Dst, 16900); 3136 dasm_put(Dst, 16902);
3138 for (op = 0; op < BC__MAX; op++) 3137 for (op = 0; op < BC__MAX; op++)
3139 build_ins(ctx, (BCOp)op, op, cmov, sse); 3138 build_ins(ctx, (BCOp)op, op, cmov, sse);
3140 3139