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.h839
1 files changed, 425 insertions, 414 deletions
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h
index 555fe67a..a2691d37 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[15591] = { 15static const unsigned char build_actionlist[15684] = {
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,
@@ -532,146 +532,150 @@ static const unsigned char build_actionlist[15591] = {
532 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133, 532 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,
533 244,248,217,201,248,2,221,216,195,255,248,155,156,90,137,209,129,252,242, 533 244,248,217,201,248,2,221,216,195,255,248,155,156,90,137,209,129,252,242,
534 0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,247,139,68,36,4,87,83,15, 534 0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,247,139,68,36,4,87,83,15,
535 162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248,1,195,255,249, 535 162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248,1,195,248,156,
536 255,129,124,253,202,4,239,15,135,244,41,129,124,253,194,4,239,15,135,244, 536 255,85,137,229,83,137,203,43,163,233,15,182,139,233,131,252,233,1,15,136,
537 41,255,252,242,15,16,4,194,131,198,4,102,15,46,4,202,255,221,4,202,221,4, 537 244,248,248,1,139,132,253,139,233,137,4,140,131,252,233,1,15,137,244,1,248,
538 194,131,198,4,255,223,252,233,221,216,255,218,252,233,223,224,158,255,15, 538 2,139,139,233,139,147,233,252,255,147,233,137,131,233,137,147,233,128,187,
539 134,244,248,255,15,131,244,248,255,248,1,15,183,70,252,254,141,180,253,134, 539 233,1,15,130,244,253,15,132,244,252,221,155,233,255,252,233,244,253,248,6,
540 233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171, 540 217,155,233,248,7,139,93,252,252,201,195,255,249,255,129,124,253,202,4,239,
541 255,139,108,194,4,131,198,4,129,252,253,239,15,135,244,251,129,124,253,202, 541 15,135,244,41,129,124,253,194,4,239,15,135,244,41,255,252,242,15,16,4,194,
542 4,239,15,135,244,251,255,252,242,15,16,4,194,102,15,46,4,202,255,221,4,202, 542 131,198,4,102,15,46,4,202,255,221,4,202,221,4,194,131,198,4,255,223,252,233,
543 221,4,194,255,15,138,244,248,15,133,244,248,255,15,138,244,248,15,132,244, 543 221,216,255,218,252,233,223,224,158,255,15,134,244,248,255,15,131,244,248,
544 247,255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,255,248,2,15,183, 544 255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,
545 70,252,254,141,180,253,134,233,248,1,255,248,5,57,108,202,4,15,133,244,2, 545 182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,194,4,131,198,4,129,
546 129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129, 546 252,253,239,15,135,244,251,129,124,253,202,4,239,15,135,244,251,255,252,242,
547 252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133, 547 15,16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,15,138,244,248,15,
548 233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,45,255, 548 133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,
549 252,247,208,131,198,4,129,124,253,202,4,239,15,133,244,248,139,12,202,59, 549 141,180,253,134,233,248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,
550 12,135,255,131,198,4,129,124,253,202,4,239,15,135,244,248,255,252,242,15, 550 248,1,255,248,5,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,
551 16,4,199,102,15,46,4,202,255,221,4,202,221,4,199,255,252,247,208,131,198, 551 12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,
552 4,57,68,202,4,255,139,108,194,4,131,198,4,129,252,253,239,255,15,131,244, 552 233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,
553 247,255,15,130,244,247,255,137,108,202,4,139,44,194,137,44,202,255,15,183, 553 237,255,189,1,0,0,0,255,252,233,244,45,255,252,247,208,131,198,4,129,124,
554 70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198, 554 253,202,4,239,15,133,244,248,139,12,202,59,12,135,255,131,198,4,129,124,253,
555 4,193,232,16,252,255,36,171,255,139,108,194,4,139,4,194,137,108,202,4,137, 555 202,4,239,15,135,244,248,255,252,242,15,16,4,199,102,15,46,4,202,255,221,
556 4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, 556 4,202,221,4,199,255,252,247,208,131,198,4,57,68,202,4,255,139,108,194,4,131,
557 49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,204, 557 198,4,129,252,253,239,255,15,131,244,247,255,15,130,244,247,255,137,108,202,
558 15,182,232,131,198,4,193,232,16,252,255,36,171,255,129,124,253,194,4,239, 558 4,139,44,194,137,44,202,255,15,183,70,252,254,141,180,253,134,233,248,1,139,
559 15,135,244,48,255,252,242,15,16,4,194,184,0,0,0,128,102,15,110,200,102,15, 559 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,194,
560 112,201,81,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,202, 560 4,139,4,194,137,108,202,4,137,4,202,139,6,15,182,204,15,182,232,131,198,4,
561 255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,15,87,192,252,242, 561 193,232,16,252,255,36,171,255,49,252,237,129,124,253,194,4,239,129,213,239,
562 15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202, 562 137,108,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
563 255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2, 563 171,255,129,124,253,194,4,239,15,135,244,48,255,252,242,15,16,4,194,184,0,
564 129,124,253,194,4,239,15,133,244,50,139,12,194,137,213,232,251,1,18,255,252, 564 0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,242,15,17,4,202,255,
565 242,15,42,192,137,252,234,255,137,4,36,137,252,234,219,4,36,255,15,182,78, 565 221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,
566 252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234, 566 4,194,255,15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,
567 4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221, 567 128,233,248,1,221,28,202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,
568 4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,135,244,47,255,252,242, 568 16,252,255,36,171,248,2,129,124,253,194,4,239,15,133,244,50,139,12,194,137,
569 15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124, 569 213,232,251,1,18,255,252,242,15,42,192,137,252,234,255,137,4,36,137,252,234,
570 253,252,234,4,239,15,135,244,49,129,124,253,194,4,239,15,135,244,49,255,252, 570 219,4,36,255,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,192,
571 242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,252, 571 255,129,124,253,252,234,4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,
572 242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,234,220,36,199,255, 572 242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,4,239,
573 252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,199,220,36,252,234, 573 15,135,244,47,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,
574 255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,4,252,234,220,36, 574 220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253,194,
575 194,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,4,252,234,220, 575 4,239,15,135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,
576 12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,221,4,199,220, 576 4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,
577 12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252, 577 4,252,234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,
578 234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4,199,255,221,4, 578 221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,
579 252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94,4,252,234,255,221, 579 255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,252,242,15,89,4,
580 4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255, 580 199,255,221,4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,
581 221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,242,15,16,12,199, 581 252,234,255,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,
582 255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252,242,15,16,12,252, 582 15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,
583 234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16, 583 242,15,94,4,199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,
584 12,194,255,221,4,252,234,221,4,194,255,248,156,232,244,148,255,252,233,244, 584 242,15,94,4,252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,
585 156,255,232,244,107,255,15,182,252,236,15,182,192,141,12,194,41,232,137,76, 585 234,252,242,15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,
586 36,4,137,68,36,8,248,33,139,108,36,48,137,44,36,137,149,233,137,116,36,24, 586 252,234,252,242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,
587 232,251,1,25,139,149,233,133,192,15,133,244,42,15,182,110,252,255,15,182, 587 4,199,252,242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,
588 78,252,253,139,68,252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,6, 588 16,4,252,234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,157,
589 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,208, 589 232,244,148,255,252,233,244,157,255,232,244,107,255,15,182,252,236,15,182,
590 139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198, 590 192,141,12,194,41,232,137,76,36,4,137,68,36,8,248,33,139,108,36,48,137,44,
591 4,193,232,16,252,255,36,171,255,15,191,192,252,242,15,42,192,252,242,15,17, 591 36,137,149,233,137,116,36,24,232,251,1,25,139,149,233,133,192,15,133,244,
592 4,202,255,223,70,252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17, 592 42,15,182,110,252,255,15,182,78,252,253,139,68,252,234,4,139,44,252,234,137,
593 4,202,255,221,4,199,221,28,202,255,252,247,208,137,68,202,4,139,6,15,182, 593 68,202,4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
594 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,141,76,202,12,141, 594 255,36,171,255,252,247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,15,
595 68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244, 595 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,15,191,192,252,
596 1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139, 596 242,15,42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,
597 106,252,248,139,172,253,133,233,139,173,233,139,69,4,139,109,0,137,68,202, 597 15,16,4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,252,247,208,
598 4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 598 137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
599 171,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,173,233,139, 599 171,255,141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,
600 12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,233,235, 600 193,8,57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
601 15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 601 252,255,36,171,255,139,106,252,248,139,172,253,133,233,139,173,233,139,69,
602 255,36,171,248,2,129,232,239,129,252,248,239,15,134,244,1,252,246,129,233, 602 4,139,109,0,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,
603 235,15,132,244,1,135,213,141,139,233,255,232,251,1,26,137,252,234,252,233, 603 193,232,16,252,255,36,171,255,139,106,252,248,139,172,253,141,233,128,189,
604 244,1,255,252,247,208,139,106,252,248,139,172,253,141,233,139,12,135,139, 604 233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,
605 133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,6, 605 252,246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,
606 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,252,246,129, 606 198,4,193,232,16,252,255,36,171,248,2,129,232,239,129,252,248,239,15,134,
607 233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,194,141,139,233, 607 244,1,252,246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1,
608 232,251,1,26,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,15, 608 26,137,252,234,252,233,244,1,255,252,247,208,139,106,252,248,139,172,253,
609 16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221, 609 141,233,139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,
610 25,255,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,65, 610 133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
611 4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,141, 611 36,171,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,
612 180,253,134,233,139,108,36,48,131,189,233,0,15,132,244,247,137,149,233,141, 612 137,213,137,194,141,139,233,232,251,1,26,137,252,234,252,233,244,1,255,139,
613 20,202,137,252,233,232,251,1,27,139,149,233,248,1,139,6,15,182,204,15,182, 613 106,252,248,255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233,255,
614 232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,74,252,248,139, 614 252,242,15,17,1,255,221,25,255,252,247,208,139,106,252,248,139,172,253,141,
615 4,135,139,108,36,48,137,76,36,8,137,68,36,4,137,44,36,137,149,233,137,116, 615 233,139,141,233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
616 36,24,232,251,1,28,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237, 616 252,255,36,171,255,141,180,253,134,233,139,108,36,48,131,189,233,0,15,132,
617 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108, 617 244,247,137,149,233,141,20,202,137,252,233,232,251,1,27,139,149,233,248,1,
618 36,48,137,149,233,139,139,233,59,139,233,137,116,36,24,15,131,244,251,248, 618 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,
619 1,137,193,37,252,255,7,0,0,193,252,233,11,137,76,36,8,61,252,255,7,0,0,15, 619 208,139,74,252,248,139,4,135,139,108,36,48,137,76,36,8,137,68,36,4,137,44,
620 132,244,249,248,2,137,44,36,137,68,36,4,232,251,1,29,139,149,233,15,182,78, 620 36,137,149,233,137,116,36,24,232,251,1,28,139,149,233,15,182,78,252,253,137,
621 252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4, 621 4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
622 193,232,16,252,255,36,171,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233, 622 255,36,171,255,139,108,36,48,137,149,233,139,139,233,59,139,233,137,116,36,
623 232,251,1,30,15,183,70,252,254,252,233,244,1,255,252,247,208,139,108,36,48, 623 24,15,131,244,251,248,1,137,193,37,252,255,7,0,0,193,252,233,11,137,76,36,
624 139,139,233,137,116,36,24,59,139,233,137,149,233,15,131,244,249,248,2,139, 624 8,61,252,255,7,0,0,15,132,244,249,248,2,137,44,36,137,68,36,4,232,251,1,29,
625 20,135,137,252,233,232,251,1,31,139,149,233,15,182,78,252,253,137,4,202,199, 625 139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,
626 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 626 15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,184,1,8,0,0,252,233,
627 171,248,3,137,252,233,232,251,1,30,15,183,70,252,254,252,247,208,252,233, 627 244,2,248,5,137,252,233,232,251,1,30,15,183,70,252,254,252,233,244,1,255,
628 244,2,255,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,157, 628 252,247,208,139,108,36,48,139,139,233,137,116,36,24,59,139,233,137,149,233,
629 255,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,158,255, 629 15,131,244,249,248,2,139,20,135,137,252,233,232,251,1,31,139,149,233,15,182,
630 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,44, 630 78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,
631 252,234,129,124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252, 631 4,193,232,16,252,255,36,171,248,3,137,252,233,232,251,1,30,15,183,70,252,
632 242,15,45,192,252,242,15,42,200,102,15,46,193,255,221,4,194,219,20,36,219, 632 254,252,247,208,252,233,244,2,255,252,247,208,139,106,252,248,139,173,233,
633 4,36,255,15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120, 633 139,4,135,252,233,244,158,255,252,247,208,139,106,252,248,139,173,233,139,
634 253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4,248,1,139, 634 4,135,252,233,244,159,255,15,182,252,236,15,182,192,129,124,253,252,234,4,
635 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189, 635 239,15,133,244,36,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255,
636 233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244,36,15,182, 636 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,
637 78,252,253,248,3,255,199,68,202,4,237,252,233,244,1,248,5,129,124,253,194, 637 221,4,194,219,20,36,219,4,36,255,15,133,244,36,59,133,233,15,131,244,36,193,
638 4,239,15,133,244,36,139,4,194,252,233,244,157,255,15,182,252,236,15,182,192, 638 224,3,3,133,233,129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,
639 252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252, 639 137,68,202,4,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
640 234,248,157,139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233, 640 36,171,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,
641 239,15,133,244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244, 641 15,132,244,36,15,182,78,252,253,248,3,255,199,68,202,4,237,252,233,244,1,
642 251,15,182,70,252,253,139,41,139,73,4,137,44,194,137,76,194,4,248,2,255,139, 642 248,5,129,124,253,194,4,239,15,133,244,36,139,4,194,252,233,244,158,255,15,
643 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,15,182, 643 182,252,236,15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,
644 70,252,253,199,68,194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133, 644 133,244,34,139,44,252,234,248,158,139,141,233,35,136,233,105,201,239,3,141,
645 244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244, 645 233,248,1,129,185,233,239,15,133,244,250,57,129,233,15,133,244,250,129,121,
646 3,252,233,244,34,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239, 646 253,4,239,15,132,244,251,15,182,70,252,253,139,41,139,73,4,137,44,194,137,
647 15,133,244,35,139,44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233, 647 76,194,4,248,2,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
648 129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4, 648 36,171,248,3,15,182,70,252,253,199,68,194,4,237,252,233,244,2,248,4,139,137,
649 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, 649 233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,
650 2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244, 650 233,235,15,133,244,3,252,233,244,34,255,15,182,252,236,15,182,192,129,124,
651 35,255,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,255,15,182, 651 253,252,234,4,239,15,133,244,35,139,44,252,234,59,133,233,15,131,244,35,193,
652 252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,44,252,234, 652 224,3,3,133,233,129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,
653 129,124,253,194,4,239,15,135,244,251,255,15,133,244,39,59,133,233,15,131, 653 137,68,202,4,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
654 244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246, 654 36,171,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,
655 133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8, 655 15,132,244,35,255,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,
656 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,131, 656 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,
657 189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,235,15,132,244,39, 657 44,252,234,129,124,253,194,4,239,15,135,244,251,255,15,133,244,39,59,133,
658 15,182,78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,39, 658 233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,
659 139,4,194,252,233,244,158,248,7,128,165,233,235,139,139,233,137,171,233,137, 659 1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,
660 141,233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,252, 660 4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
661 247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234, 661 3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,235,15,132,244,
662 248,158,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1, 662 39,15,182,78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,
663 129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239, 663 39,139,4,194,252,233,244,159,248,7,128,165,233,235,139,139,233,137,171,233,
664 15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182, 664 137,141,233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,
665 70,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139,6,15,182,204,15,182, 665 252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,
666 232,131,198,4,193,232,16,252,255,36,171,248,4,131,189,233,0,15,132,244,2, 666 234,248,159,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,
667 137,76,36,16,139,141,233,252,246,129,233,235,15,132,244,37,139,76,36,16,252, 667 1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,
668 233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201, 668 239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,
669 15,132,244,252,252,246,129,233,235,15,132,244,37,248,6,137,68,36,16,199,68, 669 182,70,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139,6,15,182,204,15,
670 36,20,237,137,108,36,12,141,68,36,16,137,108,36,4,139,108,36,48,137,68,36, 670 182,232,131,198,4,193,232,16,252,255,36,171,248,4,131,189,233,0,15,132,244,
671 8,137,44,36,137,149,233,137,116,36,24,232,251,1,32,139,149,233,139,108,36, 671 2,137,76,36,16,139,141,233,252,246,129,233,235,15,132,244,37,139,76,36,16,
672 12,137,193,252,233,244,2,248,7,128,165,233,235,139,131,233,137,171,233,137, 672 252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,
673 133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,234,4, 673 201,15,132,244,252,252,246,129,233,235,15,132,244,37,248,6,137,68,36,16,199,
674 239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133, 674 68,36,20,237,137,108,36,12,141,68,36,16,137,108,36,4,139,108,36,48,137,68,
675 36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,32,139,149,233,139,108,
676 36,12,137,193,252,233,244,2,248,7,128,165,233,235,139,131,233,137,171,233,
677 137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,234,
678 4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,
675 233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244, 679 233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,
676 253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182, 680 253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,
677 232,131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1, 681 232,131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,
@@ -915,6 +919,7 @@ enum {
915 GLOB_vm_foldfpm, 919 GLOB_vm_foldfpm,
916 GLOB_vm_foldarith, 920 GLOB_vm_foldarith,
917 GLOB_vm_cpuid, 921 GLOB_vm_cpuid,
922 GLOB_vm_ffi_call,
918 GLOB_BC_MODVN_Z, 923 GLOB_BC_MODVN_Z,
919 GLOB_BC_TGETS_Z, 924 GLOB_BC_TGETS_Z,
920 GLOB_BC_TSETS_Z, 925 GLOB_BC_TSETS_Z,
@@ -1067,6 +1072,7 @@ static const char *const globnames[] = {
1067 "vm_foldfpm", 1072 "vm_foldfpm",
1068 "vm_foldarith", 1073 "vm_foldarith",
1069 "vm_cpuid", 1074 "vm_cpuid",
1075 "vm_ffi_call@4",
1070 "BC_MODVN_Z", 1076 "BC_MODVN_Z",
1071 "BC_TGETS_Z", 1077 "BC_TGETS_Z",
1072 "BC_TSETS_Z", 1078 "BC_TSETS_Z",
@@ -1563,13 +1569,18 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1563 dasm_put(Dst, 10266); 1569 dasm_put(Dst, 10266);
1564 } 1570 }
1565 dasm_put(Dst, 10731); 1571 dasm_put(Dst, 10731);
1572#if LJ_HASFFI
1573#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1574 dasm_put(Dst, 10787, DtE(->spadj), DtE(->nsp), offsetof(CCallState, stack), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->func), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->resx87), DtE(->fpr[0].d[0]));
1575 dasm_put(Dst, 10860, DtE(->fpr[0].f[0]));
1576#endif
1566} 1577}
1567 1578
1568/* Generate the code for a single instruction. */ 1579/* Generate the code for a single instruction. */
1569static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1580static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1570{ 1581{
1571 int vk = 0; 1582 int vk = 0;
1572 dasm_put(Dst, 10785, defop); 1583 dasm_put(Dst, 10878, defop);
1573 1584
1574 switch (op) { 1585 switch (op) {
1575 1586
@@ -1578,20 +1589,20 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1578 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1589 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1579 1590
1580 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1591 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1581 dasm_put(Dst, 10787, LJ_TISNUM, LJ_TISNUM); 1592 dasm_put(Dst, 10880, LJ_TISNUM, LJ_TISNUM);
1582 if (sse) { 1593 if (sse) {
1583 dasm_put(Dst, 10808); 1594 dasm_put(Dst, 10901);
1584 } else { 1595 } else {
1585 dasm_put(Dst, 10823); 1596 dasm_put(Dst, 10916);
1586 if (cmov) { 1597 if (cmov) {
1587 dasm_put(Dst, 10833); 1598 dasm_put(Dst, 10926);
1588 } else { 1599 } else {
1589 dasm_put(Dst, 10839); 1600 dasm_put(Dst, 10932);
1590 } 1601 }
1591 } 1602 }
1592 switch (op) { 1603 switch (op) {
1593 case BC_ISLT: 1604 case BC_ISLT:
1594 dasm_put(Dst, 10846); 1605 dasm_put(Dst, 10939);
1595 break; 1606 break;
1596 case BC_ISGE: 1607 case BC_ISGE:
1597 dasm_put(Dst, 10081); 1608 dasm_put(Dst, 10081);
@@ -1600,615 +1611,615 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1600 dasm_put(Dst, 6207); 1611 dasm_put(Dst, 6207);
1601 break; 1612 break;
1602 case BC_ISGT: 1613 case BC_ISGT:
1603 dasm_put(Dst, 10851); 1614 dasm_put(Dst, 10944);
1604 break; 1615 break;
1605 default: break; /* Shut up GCC. */ 1616 default: break; /* Shut up GCC. */
1606 } 1617 }
1607 dasm_put(Dst, 10856, -BCBIAS_J*4); 1618 dasm_put(Dst, 10949, -BCBIAS_J*4);
1608 break; 1619 break;
1609 1620
1610 case BC_ISEQV: case BC_ISNEV: 1621 case BC_ISEQV: case BC_ISNEV:
1611 vk = op == BC_ISEQV; 1622 vk = op == BC_ISEQV;
1612 dasm_put(Dst, 10889, LJ_TISNUM, LJ_TISNUM); 1623 dasm_put(Dst, 10982, LJ_TISNUM, LJ_TISNUM);
1613 if (sse) { 1624 if (sse) {
1614 dasm_put(Dst, 10915); 1625 dasm_put(Dst, 11008);
1615 } else { 1626 } else {
1616 dasm_put(Dst, 10927); 1627 dasm_put(Dst, 11020);
1617 if (cmov) { 1628 if (cmov) {
1618 dasm_put(Dst, 10833); 1629 dasm_put(Dst, 10926);
1619 } else { 1630 } else {
1620 dasm_put(Dst, 10839); 1631 dasm_put(Dst, 10932);
1621 } 1632 }
1622 } 1633 }
1623 iseqne_fp: 1634 iseqne_fp:
1624 if (vk) { 1635 if (vk) {
1625 dasm_put(Dst, 10934); 1636 dasm_put(Dst, 11027);
1626 } else { 1637 } else {
1627 dasm_put(Dst, 10943); 1638 dasm_put(Dst, 11036);
1628 } 1639 }
1629 iseqne_end: 1640 iseqne_end:
1630 if (vk) { 1641 if (vk) {
1631 dasm_put(Dst, 10952, -BCBIAS_J*4); 1642 dasm_put(Dst, 11045, -BCBIAS_J*4);
1632 } else { 1643 } else {
1633 dasm_put(Dst, 10967, -BCBIAS_J*4); 1644 dasm_put(Dst, 11060, -BCBIAS_J*4);
1634 } 1645 }
1635 dasm_put(Dst, 10870); 1646 dasm_put(Dst, 10963);
1636 if (op == BC_ISEQV || op == BC_ISNEV) { 1647 if (op == BC_ISEQV || op == BC_ISNEV) {
1637 dasm_put(Dst, 10982, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1648 dasm_put(Dst, 11075, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1638 if (vk) { 1649 if (vk) {
1639 dasm_put(Dst, 11040); 1650 dasm_put(Dst, 11133);
1640 } else { 1651 } else {
1641 dasm_put(Dst, 11044); 1652 dasm_put(Dst, 11137);
1642 } 1653 }
1643 dasm_put(Dst, 11050); 1654 dasm_put(Dst, 11143);
1644 } 1655 }
1645 break; 1656 break;
1646 case BC_ISEQS: case BC_ISNES: 1657 case BC_ISEQS: case BC_ISNES:
1647 vk = op == BC_ISEQS; 1658 vk = op == BC_ISEQS;
1648 dasm_put(Dst, 11055, LJ_TSTR); 1659 dasm_put(Dst, 11148, LJ_TSTR);
1649 iseqne_test: 1660 iseqne_test:
1650 if (vk) { 1661 if (vk) {
1651 dasm_put(Dst, 10938); 1662 dasm_put(Dst, 11031);
1652 } else { 1663 } else {
1653 dasm_put(Dst, 2829); 1664 dasm_put(Dst, 2829);
1654 } 1665 }
1655 goto iseqne_end; 1666 goto iseqne_end;
1656 case BC_ISEQN: case BC_ISNEN: 1667 case BC_ISEQN: case BC_ISNEN:
1657 vk = op == BC_ISEQN; 1668 vk = op == BC_ISEQN;
1658 dasm_put(Dst, 11078, LJ_TISNUM); 1669 dasm_put(Dst, 11171, LJ_TISNUM);
1659 if (sse) { 1670 if (sse) {
1660 dasm_put(Dst, 11092); 1671 dasm_put(Dst, 11185);
1661 } else { 1672 } else {
1662 dasm_put(Dst, 11104); 1673 dasm_put(Dst, 11197);
1663 if (cmov) { 1674 if (cmov) {
1664 dasm_put(Dst, 10833); 1675 dasm_put(Dst, 10926);
1665 } else { 1676 } else {
1666 dasm_put(Dst, 10839); 1677 dasm_put(Dst, 10932);
1667 } 1678 }
1668 } 1679 }
1669 goto iseqne_fp; 1680 goto iseqne_fp;
1670 case BC_ISEQP: case BC_ISNEP: 1681 case BC_ISEQP: case BC_ISNEP:
1671 vk = op == BC_ISEQP; 1682 vk = op == BC_ISEQP;
1672 dasm_put(Dst, 11111); 1683 dasm_put(Dst, 11204);
1673 goto iseqne_test; 1684 goto iseqne_test;
1674 1685
1675 /* -- Unary test and copy ops ------------------------------------------- */ 1686 /* -- Unary test and copy ops ------------------------------------------- */
1676 1687
1677 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1688 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1678 dasm_put(Dst, 11122, LJ_TISTRUECOND); 1689 dasm_put(Dst, 11215, LJ_TISTRUECOND);
1679 if (op == BC_IST || op == BC_ISTC) { 1690 if (op == BC_IST || op == BC_ISTC) {
1680 dasm_put(Dst, 11134); 1691 dasm_put(Dst, 11227);
1681 } else { 1692 } else {
1682 dasm_put(Dst, 11139); 1693 dasm_put(Dst, 11232);
1683 } 1694 }
1684 if (op == BC_ISTC || op == BC_ISFC) { 1695 if (op == BC_ISTC || op == BC_ISFC) {
1685 dasm_put(Dst, 11144); 1696 dasm_put(Dst, 11237);
1686 } 1697 }
1687 dasm_put(Dst, 11155, -BCBIAS_J*4); 1698 dasm_put(Dst, 11248, -BCBIAS_J*4);
1688 break; 1699 break;
1689 1700
1690 /* -- Unary ops --------------------------------------------------------- */ 1701 /* -- Unary ops --------------------------------------------------------- */
1691 1702
1692 case BC_MOV: 1703 case BC_MOV:
1693 dasm_put(Dst, 11186); 1704 dasm_put(Dst, 11279);
1694 break; 1705 break;
1695 case BC_NOT: 1706 case BC_NOT:
1696 dasm_put(Dst, 11219, LJ_TISTRUECOND, LJ_TTRUE); 1707 dasm_put(Dst, 11312, LJ_TISTRUECOND, LJ_TTRUE);
1697 break; 1708 break;
1698 case BC_UNM: 1709 case BC_UNM:
1699 dasm_put(Dst, 11254, LJ_TISNUM); 1710 dasm_put(Dst, 11347, LJ_TISNUM);
1700 if (sse) { 1711 if (sse) {
1701 dasm_put(Dst, 11265); 1712 dasm_put(Dst, 11358);
1702 } else { 1713 } else {
1703 dasm_put(Dst, 11295); 1714 dasm_put(Dst, 11388);
1704 } 1715 }
1705 dasm_put(Dst, 10870); 1716 dasm_put(Dst, 10963);
1706 break; 1717 break;
1707 case BC_LEN: 1718 case BC_LEN:
1708 dasm_put(Dst, 11304, LJ_TSTR); 1719 dasm_put(Dst, 11397, LJ_TSTR);
1709 if (sse) { 1720 if (sse) {
1710 dasm_put(Dst, 11318, Dt5(->len)); 1721 dasm_put(Dst, 11411, Dt5(->len));
1711 } else { 1722 } else {
1712 dasm_put(Dst, 11336, Dt5(->len)); 1723 dasm_put(Dst, 11429, Dt5(->len));
1713 } 1724 }
1714 dasm_put(Dst, 11345, LJ_TTAB); 1725 dasm_put(Dst, 11438, LJ_TTAB);
1715 if (sse) { 1726 if (sse) {
1716 dasm_put(Dst, 11385); 1727 dasm_put(Dst, 11478);
1717 } else { 1728 } else {
1718 dasm_put(Dst, 11394); 1729 dasm_put(Dst, 11487);
1719 } 1730 }
1720 dasm_put(Dst, 11404); 1731 dasm_put(Dst, 11497);
1721 break; 1732 break;
1722 1733
1723 /* -- Binary ops -------------------------------------------------------- */ 1734 /* -- Binary ops -------------------------------------------------------- */
1724 1735
1725 1736
1726 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1737 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1727 dasm_put(Dst, 11414); 1738 dasm_put(Dst, 11507);
1728 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1739 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1729 switch (vk) { 1740 switch (vk) {
1730 case 0: 1741 case 0:
1731 dasm_put(Dst, 11422, LJ_TISNUM); 1742 dasm_put(Dst, 11515, LJ_TISNUM);
1732 if (sse) { 1743 if (sse) {
1733 dasm_put(Dst, 11434); 1744 dasm_put(Dst, 11527);
1734 } else { 1745 } else {
1735 dasm_put(Dst, 11448); 1746 dasm_put(Dst, 11541);
1736 } 1747 }
1737 break; 1748 break;
1738 case 1: 1749 case 1:
1739 dasm_put(Dst, 11456, LJ_TISNUM); 1750 dasm_put(Dst, 11549, LJ_TISNUM);
1740 if (sse) { 1751 if (sse) {
1741 dasm_put(Dst, 11468); 1752 dasm_put(Dst, 11561);
1742 } else { 1753 } else {
1743 dasm_put(Dst, 11482); 1754 dasm_put(Dst, 11575);
1744 } 1755 }
1745 break; 1756 break;
1746 default: 1757 default:
1747 dasm_put(Dst, 11490, LJ_TISNUM, LJ_TISNUM); 1758 dasm_put(Dst, 11583, LJ_TISNUM, LJ_TISNUM);
1748 if (sse) { 1759 if (sse) {
1749 dasm_put(Dst, 11512); 1760 dasm_put(Dst, 11605);
1750 } else { 1761 } else {
1751 dasm_put(Dst, 11526); 1762 dasm_put(Dst, 11619);
1752 } 1763 }
1753 break; 1764 break;
1754 } 1765 }
1755 if (sse) { 1766 if (sse) {
1756 dasm_put(Dst, 11288); 1767 dasm_put(Dst, 11381);
1757 } else { 1768 } else {
1758 dasm_put(Dst, 11300); 1769 dasm_put(Dst, 11393);
1759 } 1770 }
1760 dasm_put(Dst, 10870); 1771 dasm_put(Dst, 10963);
1761 break; 1772 break;
1762 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1773 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1763 dasm_put(Dst, 11414); 1774 dasm_put(Dst, 11507);
1764 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1775 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1765 switch (vk) { 1776 switch (vk) {
1766 case 0: 1777 case 0:
1767 dasm_put(Dst, 11422, LJ_TISNUM); 1778 dasm_put(Dst, 11515, LJ_TISNUM);
1768 if (sse) { 1779 if (sse) {
1769 dasm_put(Dst, 11534); 1780 dasm_put(Dst, 11627);
1770 } else { 1781 } else {
1771 dasm_put(Dst, 11548); 1782 dasm_put(Dst, 11641);
1772 } 1783 }
1773 break; 1784 break;
1774 case 1: 1785 case 1:
1775 dasm_put(Dst, 11456, LJ_TISNUM); 1786 dasm_put(Dst, 11549, LJ_TISNUM);
1776 if (sse) { 1787 if (sse) {
1777 dasm_put(Dst, 11556); 1788 dasm_put(Dst, 11649);
1778 } else { 1789 } else {
1779 dasm_put(Dst, 11570); 1790 dasm_put(Dst, 11663);
1780 } 1791 }
1781 break; 1792 break;
1782 default: 1793 default:
1783 dasm_put(Dst, 11490, LJ_TISNUM, LJ_TISNUM); 1794 dasm_put(Dst, 11583, LJ_TISNUM, LJ_TISNUM);
1784 if (sse) { 1795 if (sse) {
1785 dasm_put(Dst, 11578); 1796 dasm_put(Dst, 11671);
1786 } else { 1797 } else {
1787 dasm_put(Dst, 11592); 1798 dasm_put(Dst, 11685);
1788 } 1799 }
1789 break; 1800 break;
1790 } 1801 }
1791 if (sse) { 1802 if (sse) {
1792 dasm_put(Dst, 11288); 1803 dasm_put(Dst, 11381);
1793 } else { 1804 } else {
1794 dasm_put(Dst, 11300); 1805 dasm_put(Dst, 11393);
1795 } 1806 }
1796 dasm_put(Dst, 10870); 1807 dasm_put(Dst, 10963);
1797 break; 1808 break;
1798 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1809 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1799 dasm_put(Dst, 11414); 1810 dasm_put(Dst, 11507);
1800 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1811 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1801 switch (vk) { 1812 switch (vk) {
1802 case 0: 1813 case 0:
1803 dasm_put(Dst, 11422, LJ_TISNUM); 1814 dasm_put(Dst, 11515, LJ_TISNUM);
1804 if (sse) { 1815 if (sse) {
1805 dasm_put(Dst, 11600); 1816 dasm_put(Dst, 11693);
1806 } else { 1817 } else {
1807 dasm_put(Dst, 11614); 1818 dasm_put(Dst, 11707);
1808 } 1819 }
1809 break; 1820 break;
1810 case 1: 1821 case 1:
1811 dasm_put(Dst, 11456, LJ_TISNUM); 1822 dasm_put(Dst, 11549, LJ_TISNUM);
1812 if (sse) { 1823 if (sse) {
1813 dasm_put(Dst, 11622); 1824 dasm_put(Dst, 11715);
1814 } else { 1825 } else {
1815 dasm_put(Dst, 11636); 1826 dasm_put(Dst, 11729);
1816 } 1827 }
1817 break; 1828 break;
1818 default: 1829 default:
1819 dasm_put(Dst, 11490, LJ_TISNUM, LJ_TISNUM); 1830 dasm_put(Dst, 11583, LJ_TISNUM, LJ_TISNUM);
1820 if (sse) { 1831 if (sse) {
1821 dasm_put(Dst, 11644); 1832 dasm_put(Dst, 11737);
1822 } else { 1833 } else {
1823 dasm_put(Dst, 11658); 1834 dasm_put(Dst, 11751);
1824 } 1835 }
1825 break; 1836 break;
1826 } 1837 }
1827 if (sse) { 1838 if (sse) {
1828 dasm_put(Dst, 11288); 1839 dasm_put(Dst, 11381);
1829 } else { 1840 } else {
1830 dasm_put(Dst, 11300); 1841 dasm_put(Dst, 11393);
1831 } 1842 }
1832 dasm_put(Dst, 10870); 1843 dasm_put(Dst, 10963);
1833 break; 1844 break;
1834 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1845 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1835 dasm_put(Dst, 11414); 1846 dasm_put(Dst, 11507);
1836 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1847 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1837 switch (vk) { 1848 switch (vk) {
1838 case 0: 1849 case 0:
1839 dasm_put(Dst, 11422, LJ_TISNUM); 1850 dasm_put(Dst, 11515, LJ_TISNUM);
1840 if (sse) { 1851 if (sse) {
1841 dasm_put(Dst, 11666); 1852 dasm_put(Dst, 11759);
1842 } else { 1853 } else {
1843 dasm_put(Dst, 11680); 1854 dasm_put(Dst, 11773);
1844 } 1855 }
1845 break; 1856 break;
1846 case 1: 1857 case 1:
1847 dasm_put(Dst, 11456, LJ_TISNUM); 1858 dasm_put(Dst, 11549, LJ_TISNUM);
1848 if (sse) { 1859 if (sse) {
1849 dasm_put(Dst, 11688); 1860 dasm_put(Dst, 11781);
1850 } else { 1861 } else {
1851 dasm_put(Dst, 11702); 1862 dasm_put(Dst, 11795);
1852 } 1863 }
1853 break; 1864 break;
1854 default: 1865 default:
1855 dasm_put(Dst, 11490, LJ_TISNUM, LJ_TISNUM); 1866 dasm_put(Dst, 11583, LJ_TISNUM, LJ_TISNUM);
1856 if (sse) { 1867 if (sse) {
1857 dasm_put(Dst, 11710); 1868 dasm_put(Dst, 11803);
1858 } else { 1869 } else {
1859 dasm_put(Dst, 11724); 1870 dasm_put(Dst, 11817);
1860 } 1871 }
1861 break; 1872 break;
1862 } 1873 }
1863 if (sse) { 1874 if (sse) {
1864 dasm_put(Dst, 11288); 1875 dasm_put(Dst, 11381);
1865 } else { 1876 } else {
1866 dasm_put(Dst, 11300); 1877 dasm_put(Dst, 11393);
1867 } 1878 }
1868 dasm_put(Dst, 10870); 1879 dasm_put(Dst, 10963);
1869 break; 1880 break;
1870 case BC_MODVN: 1881 case BC_MODVN:
1871 dasm_put(Dst, 11414); 1882 dasm_put(Dst, 11507);
1872 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1883 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1873 switch (vk) { 1884 switch (vk) {
1874 case 0: 1885 case 0:
1875 dasm_put(Dst, 11422, LJ_TISNUM); 1886 dasm_put(Dst, 11515, LJ_TISNUM);
1876 if (sse) { 1887 if (sse) {
1877 dasm_put(Dst, 11732); 1888 dasm_put(Dst, 11825);
1878 } else { 1889 } else {
1879 dasm_put(Dst, 11746); 1890 dasm_put(Dst, 11839);
1880 } 1891 }
1881 break; 1892 break;
1882 case 1: 1893 case 1:
1883 dasm_put(Dst, 11456, LJ_TISNUM); 1894 dasm_put(Dst, 11549, LJ_TISNUM);
1884 if (sse) { 1895 if (sse) {
1885 dasm_put(Dst, 11754); 1896 dasm_put(Dst, 11847);
1886 } else { 1897 } else {
1887 dasm_put(Dst, 11768); 1898 dasm_put(Dst, 11861);
1888 } 1899 }
1889 break; 1900 break;
1890 default: 1901 default:
1891 dasm_put(Dst, 11490, LJ_TISNUM, LJ_TISNUM); 1902 dasm_put(Dst, 11583, LJ_TISNUM, LJ_TISNUM);
1892 if (sse) { 1903 if (sse) {
1893 dasm_put(Dst, 11776); 1904 dasm_put(Dst, 11869);
1894 } else { 1905 } else {
1895 dasm_put(Dst, 11790); 1906 dasm_put(Dst, 11883);
1896 } 1907 }
1897 break; 1908 break;
1898 } 1909 }
1899 dasm_put(Dst, 11798); 1910 dasm_put(Dst, 11891);
1900 if (sse) { 1911 if (sse) {
1901 dasm_put(Dst, 11288); 1912 dasm_put(Dst, 11381);
1902 } else { 1913 } else {
1903 dasm_put(Dst, 11300); 1914 dasm_put(Dst, 11393);
1904 } 1915 }
1905 dasm_put(Dst, 10870); 1916 dasm_put(Dst, 10963);
1906 break; 1917 break;
1907 case BC_MODNV: case BC_MODVV: 1918 case BC_MODNV: case BC_MODVV:
1908 dasm_put(Dst, 11414); 1919 dasm_put(Dst, 11507);
1909 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1920 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1910 switch (vk) { 1921 switch (vk) {
1911 case 0: 1922 case 0:
1912 dasm_put(Dst, 11422, LJ_TISNUM); 1923 dasm_put(Dst, 11515, LJ_TISNUM);
1913 if (sse) { 1924 if (sse) {
1914 dasm_put(Dst, 11732); 1925 dasm_put(Dst, 11825);
1915 } else { 1926 } else {
1916 dasm_put(Dst, 11746); 1927 dasm_put(Dst, 11839);
1917 } 1928 }
1918 break; 1929 break;
1919 case 1: 1930 case 1:
1920 dasm_put(Dst, 11456, LJ_TISNUM); 1931 dasm_put(Dst, 11549, LJ_TISNUM);
1921 if (sse) { 1932 if (sse) {
1922 dasm_put(Dst, 11754); 1933 dasm_put(Dst, 11847);
1923 } else { 1934 } else {
1924 dasm_put(Dst, 11768); 1935 dasm_put(Dst, 11861);
1925 } 1936 }
1926 break; 1937 break;
1927 default: 1938 default:
1928 dasm_put(Dst, 11490, LJ_TISNUM, LJ_TISNUM); 1939 dasm_put(Dst, 11583, LJ_TISNUM, LJ_TISNUM);
1929 if (sse) { 1940 if (sse) {
1930 dasm_put(Dst, 11776); 1941 dasm_put(Dst, 11869);
1931 } else { 1942 } else {
1932 dasm_put(Dst, 11790); 1943 dasm_put(Dst, 11883);
1933 } 1944 }
1934 break; 1945 break;
1935 } 1946 }
1936 dasm_put(Dst, 11804); 1947 dasm_put(Dst, 11897);
1937 break; 1948 break;
1938 case BC_POW: 1949 case BC_POW:
1939 dasm_put(Dst, 11414); 1950 dasm_put(Dst, 11507);
1940 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1951 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1941 switch (vk) { 1952 switch (vk) {
1942 case 0: 1953 case 0:
1943 dasm_put(Dst, 11422, LJ_TISNUM); 1954 dasm_put(Dst, 11515, LJ_TISNUM);
1944 if (sse) { 1955 if (sse) {
1945 dasm_put(Dst, 11732); 1956 dasm_put(Dst, 11825);
1946 } else { 1957 } else {
1947 dasm_put(Dst, 11746); 1958 dasm_put(Dst, 11839);
1948 } 1959 }
1949 break; 1960 break;
1950 case 1: 1961 case 1:
1951 dasm_put(Dst, 11456, LJ_TISNUM); 1962 dasm_put(Dst, 11549, LJ_TISNUM);
1952 if (sse) { 1963 if (sse) {
1953 dasm_put(Dst, 11754); 1964 dasm_put(Dst, 11847);
1954 } else { 1965 } else {
1955 dasm_put(Dst, 11768); 1966 dasm_put(Dst, 11861);
1956 } 1967 }
1957 break; 1968 break;
1958 default: 1969 default:
1959 dasm_put(Dst, 11490, LJ_TISNUM, LJ_TISNUM); 1970 dasm_put(Dst, 11583, LJ_TISNUM, LJ_TISNUM);
1960 if (sse) { 1971 if (sse) {
1961 dasm_put(Dst, 11776); 1972 dasm_put(Dst, 11869);
1962 } else { 1973 } else {
1963 dasm_put(Dst, 11790); 1974 dasm_put(Dst, 11883);
1964 } 1975 }
1965 break; 1976 break;
1966 } 1977 }
1967 dasm_put(Dst, 11809); 1978 dasm_put(Dst, 11902);
1968 if (sse) { 1979 if (sse) {
1969 dasm_put(Dst, 11288); 1980 dasm_put(Dst, 11381);
1970 } else { 1981 } else {
1971 dasm_put(Dst, 11300); 1982 dasm_put(Dst, 11393);
1972 } 1983 }
1973 dasm_put(Dst, 10870); 1984 dasm_put(Dst, 10963);
1974 break; 1985 break;
1975 1986
1976 case BC_CAT: 1987 case BC_CAT:
1977 dasm_put(Dst, 11813, Dt1(->base), Dt1(->base)); 1988 dasm_put(Dst, 11906, Dt1(->base), Dt1(->base));
1978 break; 1989 break;
1979 1990
1980 /* -- Constant ops ------------------------------------------------------ */ 1991 /* -- Constant ops ------------------------------------------------------ */
1981 1992
1982 case BC_KSTR: 1993 case BC_KSTR:
1983 dasm_put(Dst, 11907, LJ_TSTR); 1994 dasm_put(Dst, 12000, LJ_TSTR);
1984 break; 1995 break;
1985 case BC_KCDATA: 1996 case BC_KCDATA:
1986#if LJ_HASFFI 1997#if LJ_HASFFI
1987 dasm_put(Dst, 11907, LJ_TCDATA); 1998 dasm_put(Dst, 12000, LJ_TCDATA);
1988#endif 1999#endif
1989 break; 2000 break;
1990 case BC_KSHORT: 2001 case BC_KSHORT:
1991 if (sse) { 2002 if (sse) {
1992 dasm_put(Dst, 11940); 2003 dasm_put(Dst, 12033);
1993 } else { 2004 } else {
1994 dasm_put(Dst, 11955); 2005 dasm_put(Dst, 12048);
1995 } 2006 }
1996 dasm_put(Dst, 10870); 2007 dasm_put(Dst, 10963);
1997 break; 2008 break;
1998 case BC_KNUM: 2009 case BC_KNUM:
1999 if (sse) { 2010 if (sse) {
2000 dasm_put(Dst, 11963); 2011 dasm_put(Dst, 12056);
2001 } else { 2012 } else {
2002 dasm_put(Dst, 11976); 2013 dasm_put(Dst, 12069);
2003 } 2014 }
2004 dasm_put(Dst, 10870); 2015 dasm_put(Dst, 10963);
2005 break; 2016 break;
2006 case BC_KPRI: 2017 case BC_KPRI:
2007 dasm_put(Dst, 11983); 2018 dasm_put(Dst, 12076);
2008 break; 2019 break;
2009 case BC_KNIL: 2020 case BC_KNIL:
2010 dasm_put(Dst, 12009, LJ_TNIL); 2021 dasm_put(Dst, 12102, LJ_TNIL);
2011 break; 2022 break;
2012 2023
2013 /* -- Upvalue and function ops ------------------------------------------ */ 2024 /* -- Upvalue and function ops ------------------------------------------ */
2014 2025
2015 case BC_UGET: 2026 case BC_UGET:
2016 dasm_put(Dst, 12055, offsetof(GCfuncL, uvptr), DtA(->v)); 2027 dasm_put(Dst, 12148, offsetof(GCfuncL, uvptr), DtA(->v));
2017 break; 2028 break;
2018 case BC_USETV: 2029 case BC_USETV:
2019#define TV2MARKOFS \ 2030#define TV2MARKOFS \
2020 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2031 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2021 dasm_put(Dst, 12099, 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); 2032 dasm_put(Dst, 12192, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
2022 dasm_put(Dst, 12189); 2033 dasm_put(Dst, 12282);
2023 break; 2034 break;
2024#undef TV2MARKOFS 2035#undef TV2MARKOFS
2025 case BC_USETS: 2036 case BC_USETS:
2026 dasm_put(Dst, 12201, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 2037 dasm_put(Dst, 12294, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
2027 break; 2038 break;
2028 case BC_USETN: 2039 case BC_USETN:
2029 dasm_put(Dst, 12292); 2040 dasm_put(Dst, 12385);
2030 if (sse) { 2041 if (sse) {
2031 dasm_put(Dst, 12297); 2042 dasm_put(Dst, 12390);
2032 } else { 2043 } else {
2033 dasm_put(Dst, 11107); 2044 dasm_put(Dst, 11200);
2034 } 2045 }
2035 dasm_put(Dst, 12304, offsetof(GCfuncL, uvptr), DtA(->v)); 2046 dasm_put(Dst, 12397, offsetof(GCfuncL, uvptr), DtA(->v));
2036 if (sse) { 2047 if (sse) {
2037 dasm_put(Dst, 12313); 2048 dasm_put(Dst, 12406);
2038 } else { 2049 } else {
2039 dasm_put(Dst, 12319); 2050 dasm_put(Dst, 12412);
2040 } 2051 }
2041 dasm_put(Dst, 10870); 2052 dasm_put(Dst, 10963);
2042 break; 2053 break;
2043 case BC_USETP: 2054 case BC_USETP:
2044 dasm_put(Dst, 12322, offsetof(GCfuncL, uvptr), DtA(->v)); 2055 dasm_put(Dst, 12415, offsetof(GCfuncL, uvptr), DtA(->v));
2045 break; 2056 break;
2046 case BC_UCLO: 2057 case BC_UCLO:
2047 dasm_put(Dst, 12359, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2058 dasm_put(Dst, 12452, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2048 break; 2059 break;
2049 2060
2050 case BC_FNEW: 2061 case BC_FNEW:
2051 dasm_put(Dst, 12413, Dt1(->base), Dt1(->base), LJ_TFUNC); 2062 dasm_put(Dst, 12506, Dt1(->base), Dt1(->base), LJ_TFUNC);
2052 break; 2063 break;
2053 2064
2054 /* -- Table ops --------------------------------------------------------- */ 2065 /* -- Table ops --------------------------------------------------------- */
2055 2066
2056 case BC_TNEW: 2067 case BC_TNEW:
2057 dasm_put(Dst, 12484, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2068 dasm_put(Dst, 12577, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2058 break; 2069 break;
2059 case BC_TDUP: 2070 case BC_TDUP:
2060 dasm_put(Dst, 12610, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2071 dasm_put(Dst, 12703, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2061 break; 2072 break;
2062 2073
2063 case BC_GGET: 2074 case BC_GGET:
2064 dasm_put(Dst, 12702, Dt7(->env)); 2075 dasm_put(Dst, 12795, Dt7(->env));
2065 break; 2076 break;
2066 case BC_GSET: 2077 case BC_GSET:
2067 dasm_put(Dst, 12720, Dt7(->env)); 2078 dasm_put(Dst, 12813, Dt7(->env));
2068 break; 2079 break;
2069 2080
2070 case BC_TGETV: 2081 case BC_TGETV:
2071 dasm_put(Dst, 12738, LJ_TTAB, LJ_TISNUM); 2082 dasm_put(Dst, 12831, LJ_TTAB, LJ_TISNUM);
2072 if (sse) { 2083 if (sse) {
2073 dasm_put(Dst, 12771); 2084 dasm_put(Dst, 12864);
2074 } else { 2085 } else {
2075 dasm_put(Dst, 12792); 2086 dasm_put(Dst, 12885);
2076 if (cmov) { 2087 if (cmov) {
2077 dasm_put(Dst, 10833); 2088 dasm_put(Dst, 10926);
2078 } else { 2089 } else {
2079 dasm_put(Dst, 10839); 2090 dasm_put(Dst, 10932);
2080 } 2091 }
2081 dasm_put(Dst, 2539); 2092 dasm_put(Dst, 2539);
2082 } 2093 }
2083 dasm_put(Dst, 12802, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2094 dasm_put(Dst, 12895, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2084 dasm_put(Dst, 12890, LJ_TNIL, LJ_TSTR); 2095 dasm_put(Dst, 12983, LJ_TNIL, LJ_TSTR);
2085 break; 2096 break;
2086 case BC_TGETS: 2097 case BC_TGETS:
2087 dasm_put(Dst, 12919, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2098 dasm_put(Dst, 13012, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2088 dasm_put(Dst, 13007, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2099 dasm_put(Dst, 13100, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2089 break; 2100 break;
2090 case BC_TGETB: 2101 case BC_TGETB:
2091 dasm_put(Dst, 13077, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2102 dasm_put(Dst, 13170, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2092 dasm_put(Dst, 13176, LJ_TNIL); 2103 dasm_put(Dst, 13269, LJ_TNIL);
2093 break; 2104 break;
2094 2105
2095 case BC_TSETV: 2106 case BC_TSETV:
2096 dasm_put(Dst, 13193, LJ_TTAB, LJ_TISNUM); 2107 dasm_put(Dst, 13286, LJ_TTAB, LJ_TISNUM);
2097 if (sse) { 2108 if (sse) {
2098 dasm_put(Dst, 12771); 2109 dasm_put(Dst, 12864);
2099 } else { 2110 } else {
2100 dasm_put(Dst, 12792); 2111 dasm_put(Dst, 12885);
2101 if (cmov) { 2112 if (cmov) {
2102 dasm_put(Dst, 10833); 2113 dasm_put(Dst, 10926);
2103 } else { 2114 } else {
2104 dasm_put(Dst, 10839); 2115 dasm_put(Dst, 10932);
2105 } 2116 }
2106 dasm_put(Dst, 2539); 2117 dasm_put(Dst, 2539);
2107 } 2118 }
2108 dasm_put(Dst, 13226, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 2119 dasm_put(Dst, 13319, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
2109 dasm_put(Dst, 13309, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2120 dasm_put(Dst, 13402, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2110 break; 2121 break;
2111 case BC_TSETS: 2122 case BC_TSETS:
2112 dasm_put(Dst, 13371, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2123 dasm_put(Dst, 13464, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2113 dasm_put(Dst, 13446, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2124 dasm_put(Dst, 13539, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2114 dasm_put(Dst, 13538, 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)); 2125 dasm_put(Dst, 13631, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2115 break; 2126 break;
2116 case BC_TSETB: 2127 case BC_TSETB:
2117 dasm_put(Dst, 13634, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2128 dasm_put(Dst, 13727, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2118 dasm_put(Dst, 13732, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2129 dasm_put(Dst, 13825, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2119 break; 2130 break;
2120 2131
2121 case BC_TSETM: 2132 case BC_TSETM:
2122 dasm_put(Dst, 13778, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2133 dasm_put(Dst, 13871, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2123 dasm_put(Dst, 13927, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2134 dasm_put(Dst, 14020, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2124 break; 2135 break;
2125 2136
2126 /* -- Calls and vararg handling ----------------------------------------- */ 2137 /* -- Calls and vararg handling ----------------------------------------- */
2127 2138
2128 case BC_CALL: case BC_CALLM: 2139 case BC_CALL: case BC_CALLM:
2129 dasm_put(Dst, 11418); 2140 dasm_put(Dst, 11511);
2130 if (op == BC_CALLM) { 2141 if (op == BC_CALLM) {
2131 dasm_put(Dst, 13945); 2142 dasm_put(Dst, 14038);
2132 } 2143 }
2133 dasm_put(Dst, 13950, LJ_TFUNC, Dt7(->pc)); 2144 dasm_put(Dst, 14043, LJ_TFUNC, Dt7(->pc));
2134 break; 2145 break;
2135 2146
2136 case BC_CALLMT: 2147 case BC_CALLMT:
2137 dasm_put(Dst, 13945); 2148 dasm_put(Dst, 14038);
2138 break; 2149 break;
2139 case BC_CALLT: 2150 case BC_CALLT:
2140 dasm_put(Dst, 13991, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2151 dasm_put(Dst, 14084, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2141 dasm_put(Dst, 14109, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2152 dasm_put(Dst, 14202, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2142 break; 2153 break;
2143 2154
2144 case BC_ITERC: 2155 case BC_ITERC:
2145 dasm_put(Dst, 14179, LJ_TFUNC, 2+1, Dt7(->pc)); 2156 dasm_put(Dst, 14272, LJ_TFUNC, 2+1, Dt7(->pc));
2146 break; 2157 break;
2147 2158
2148 case BC_ITERN: 2159 case BC_ITERN:
2149#if LJ_HASJIT 2160#if LJ_HASJIT
2150#endif 2161#endif
2151 dasm_put(Dst, 14259, Dt6(->asize), Dt6(->array), LJ_TNIL); 2162 dasm_put(Dst, 14352, Dt6(->asize), Dt6(->array), LJ_TNIL);
2152 if (sse) { 2163 if (sse) {
2153 dasm_put(Dst, 14305); 2164 dasm_put(Dst, 14398);
2154 } else { 2165 } else {
2155 dasm_put(Dst, 14311); 2166 dasm_put(Dst, 14404);
2156 } 2167 }
2157 dasm_put(Dst, 14317); 2168 dasm_put(Dst, 14410);
2158 if (sse) { 2169 if (sse) {
2159 dasm_put(Dst, 11288); 2170 dasm_put(Dst, 11381);
2160 } else { 2171 } else {
2161 dasm_put(Dst, 11300); 2172 dasm_put(Dst, 11393);
2162 } 2173 }
2163 dasm_put(Dst, 14336, -BCBIAS_J*4); 2174 dasm_put(Dst, 14429, -BCBIAS_J*4);
2164 if (!sse) { 2175 if (!sse) {
2165 dasm_put(Dst, 14387); 2176 dasm_put(Dst, 14480);
2166 } 2177 }
2167 dasm_put(Dst, 14393, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it)); 2178 dasm_put(Dst, 14486, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it));
2168 dasm_put(Dst, 14468); 2179 dasm_put(Dst, 14561);
2169 break; 2180 break;
2170 2181
2171 case BC_ISNEXT: 2182 case BC_ISNEXT:
2172 dasm_put(Dst, 14476, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2183 dasm_put(Dst, 14569, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2173 break; 2184 break;
2174 2185
2175 case BC_VARG: 2186 case BC_VARG:
2176 dasm_put(Dst, 14575, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2187 dasm_put(Dst, 14668, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2177 dasm_put(Dst, 14739, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2188 dasm_put(Dst, 14832, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2178 break; 2189 break;
2179 2190
2180 /* -- Returns ----------------------------------------------------------- */ 2191 /* -- Returns ----------------------------------------------------------- */
2181 2192
2182 case BC_RETM: 2193 case BC_RETM:
2183 dasm_put(Dst, 13945); 2194 dasm_put(Dst, 14038);
2184 break; 2195 break;
2185 2196
2186 case BC_RET: case BC_RET0: case BC_RET1: 2197 case BC_RET: case BC_RET0: case BC_RET1:
2187 if (op != BC_RET0) { 2198 if (op != BC_RET0) {
2188 dasm_put(Dst, 14810); 2199 dasm_put(Dst, 14903);
2189 } 2200 }
2190 dasm_put(Dst, 14814, FRAME_TYPE); 2201 dasm_put(Dst, 14907, FRAME_TYPE);
2191 switch (op) { 2202 switch (op) {
2192 case BC_RET: 2203 case BC_RET:
2193 dasm_put(Dst, 14833); 2204 dasm_put(Dst, 14926);
2194 break; 2205 break;
2195 case BC_RET1: 2206 case BC_RET1:
2196 dasm_put(Dst, 14891); 2207 dasm_put(Dst, 14984);
2197 /* fallthrough */ 2208 /* fallthrough */
2198 case BC_RET0: 2209 case BC_RET0:
2199 dasm_put(Dst, 14907); 2210 dasm_put(Dst, 15000);
2200 default: 2211 default:
2201 break; 2212 break;
2202 } 2213 }
2203 dasm_put(Dst, 14918, Dt7(->pc), PC2PROTO(k)); 2214 dasm_put(Dst, 15011, Dt7(->pc), PC2PROTO(k));
2204 if (op == BC_RET) { 2215 if (op == BC_RET) {
2205 dasm_put(Dst, 14960, LJ_TNIL); 2216 dasm_put(Dst, 15053, LJ_TNIL);
2206 } else { 2217 } else {
2207 dasm_put(Dst, 14969, LJ_TNIL); 2218 dasm_put(Dst, 15062, LJ_TNIL);
2208 } 2219 }
2209 dasm_put(Dst, 14976, -FRAME_VARG, FRAME_TYPEP); 2220 dasm_put(Dst, 15069, -FRAME_VARG, FRAME_TYPEP);
2210 if (op != BC_RET0) { 2221 if (op != BC_RET0) {
2211 dasm_put(Dst, 15000); 2222 dasm_put(Dst, 15093);
2212 } 2223 }
2213 dasm_put(Dst, 4704); 2224 dasm_put(Dst, 4704);
2214 break; 2225 break;
@@ -2218,7 +2229,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2218 2229
2219 case BC_FORL: 2230 case BC_FORL:
2220#if LJ_HASJIT 2231#if LJ_HASJIT
2221 dasm_put(Dst, 15004, HOTCOUNT_PCMASK, GG_DISP2HOT); 2232 dasm_put(Dst, 15097, HOTCOUNT_PCMASK, GG_DISP2HOT);
2222#endif 2233#endif
2223 break; 2234 break;
2224 2235
@@ -2230,57 +2241,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2230 case BC_FORI: 2241 case BC_FORI:
2231 case BC_IFORL: 2242 case BC_IFORL:
2232 vk = (op == BC_IFORL || op == BC_JFORL); 2243 vk = (op == BC_IFORL || op == BC_JFORL);
2233 dasm_put(Dst, 15025); 2244 dasm_put(Dst, 15118);
2234 if (!vk) { 2245 if (!vk) {
2235 dasm_put(Dst, 15029, LJ_TISNUM, LJ_TISNUM); 2246 dasm_put(Dst, 15122, LJ_TISNUM, LJ_TISNUM);
2236 } 2247 }
2237 dasm_put(Dst, 15048); 2248 dasm_put(Dst, 15141);
2238 if (!vk) { 2249 if (!vk) {
2239 dasm_put(Dst, 15052, LJ_TISNUM); 2250 dasm_put(Dst, 15145, LJ_TISNUM);
2240 } 2251 }
2241 if (sse) { 2252 if (sse) {
2242 dasm_put(Dst, 15061); 2253 dasm_put(Dst, 15154);
2243 if (vk) { 2254 if (vk) {
2244 dasm_put(Dst, 15073); 2255 dasm_put(Dst, 15166);
2245 } else { 2256 } else {
2246 dasm_put(Dst, 15092); 2257 dasm_put(Dst, 15185);
2247 } 2258 }
2248 dasm_put(Dst, 15097); 2259 dasm_put(Dst, 15190);
2249 } else { 2260 } else {
2250 dasm_put(Dst, 15110); 2261 dasm_put(Dst, 15203);
2251 if (vk) { 2262 if (vk) {
2252 dasm_put(Dst, 15116); 2263 dasm_put(Dst, 15209);
2253 } else { 2264 } else {
2254 dasm_put(Dst, 15132); 2265 dasm_put(Dst, 15225);
2255 } 2266 }
2256 dasm_put(Dst, 15140); 2267 dasm_put(Dst, 15233);
2257 if (cmov) { 2268 if (cmov) {
2258 dasm_put(Dst, 10833); 2269 dasm_put(Dst, 10926);
2259 } else { 2270 } else {
2260 dasm_put(Dst, 10839); 2271 dasm_put(Dst, 10932);
2261 } 2272 }
2262 if (!cmov) { 2273 if (!cmov) {
2263 dasm_put(Dst, 15145); 2274 dasm_put(Dst, 15238);
2264 } 2275 }
2265 } 2276 }
2266 if (op == BC_FORI) { 2277 if (op == BC_FORI) {
2267 dasm_put(Dst, 15151, -BCBIAS_J*4); 2278 dasm_put(Dst, 15244, -BCBIAS_J*4);
2268 } else if (op == BC_JFORI) { 2279 } else if (op == BC_JFORI) {
2269 dasm_put(Dst, 15161, -BCBIAS_J*4, BC_JLOOP); 2280 dasm_put(Dst, 15254, -BCBIAS_J*4, BC_JLOOP);
2270 } else if (op == BC_IFORL) { 2281 } else if (op == BC_IFORL) {
2271 dasm_put(Dst, 15175, -BCBIAS_J*4); 2282 dasm_put(Dst, 15268, -BCBIAS_J*4);
2272 } else { 2283 } else {
2273 dasm_put(Dst, 15171, BC_JLOOP); 2284 dasm_put(Dst, 15264, BC_JLOOP);
2274 } 2285 }
2275 dasm_put(Dst, 10868); 2286 dasm_put(Dst, 10961);
2276 if (sse) { 2287 if (sse) {
2277 dasm_put(Dst, 15185); 2288 dasm_put(Dst, 15278);
2278 } 2289 }
2279 break; 2290 break;
2280 2291
2281 case BC_ITERL: 2292 case BC_ITERL:
2282#if LJ_HASJIT 2293#if LJ_HASJIT
2283 dasm_put(Dst, 15004, HOTCOUNT_PCMASK, GG_DISP2HOT); 2294 dasm_put(Dst, 15097, HOTCOUNT_PCMASK, GG_DISP2HOT);
2284#endif 2295#endif
2285 break; 2296 break;
2286 2297
@@ -2289,33 +2300,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2289 break; 2300 break;
2290#endif 2301#endif
2291 case BC_IITERL: 2302 case BC_IITERL:
2292 dasm_put(Dst, 15196, LJ_TNIL); 2303 dasm_put(Dst, 15289, LJ_TNIL);
2293 if (op == BC_JITERL) { 2304 if (op == BC_JITERL) {
2294 dasm_put(Dst, 15211, BC_JLOOP); 2305 dasm_put(Dst, 15304, BC_JLOOP);
2295 } else { 2306 } else {
2296 dasm_put(Dst, 15225, -BCBIAS_J*4); 2307 dasm_put(Dst, 15318, -BCBIAS_J*4);
2297 } 2308 }
2298 dasm_put(Dst, 11165); 2309 dasm_put(Dst, 11258);
2299 break; 2310 break;
2300 2311
2301 case BC_LOOP: 2312 case BC_LOOP:
2302#if LJ_HASJIT 2313#if LJ_HASJIT
2303 dasm_put(Dst, 15004, HOTCOUNT_PCMASK, GG_DISP2HOT); 2314 dasm_put(Dst, 15097, HOTCOUNT_PCMASK, GG_DISP2HOT);
2304#endif 2315#endif
2305 break; 2316 break;
2306 2317
2307 case BC_ILOOP: 2318 case BC_ILOOP:
2308 dasm_put(Dst, 10870); 2319 dasm_put(Dst, 10963);
2309 break; 2320 break;
2310 2321
2311 case BC_JLOOP: 2322 case BC_JLOOP:
2312#if LJ_HASJIT 2323#if LJ_HASJIT
2313 dasm_put(Dst, 15241, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2324 dasm_put(Dst, 15334, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2314#endif 2325#endif
2315 break; 2326 break;
2316 2327
2317 case BC_JMP: 2328 case BC_JMP:
2318 dasm_put(Dst, 15264, -BCBIAS_J*4); 2329 dasm_put(Dst, 15357, -BCBIAS_J*4);
2319 break; 2330 break;
2320 2331
2321 /* -- Function headers -------------------------------------------------- */ 2332 /* -- Function headers -------------------------------------------------- */
@@ -2329,7 +2340,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2329 2340
2330 case BC_FUNCF: 2341 case BC_FUNCF:
2331#if LJ_HASJIT 2342#if LJ_HASJIT
2332 dasm_put(Dst, 15288, HOTCOUNT_PCMASK, GG_DISP2HOT); 2343 dasm_put(Dst, 15381, HOTCOUNT_PCMASK, GG_DISP2HOT);
2333#endif 2344#endif
2334 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2345 case BC_FUNCV: /* NYI: compiled vararg functions. */
2335 break; 2346 break;
@@ -2339,13 +2350,13 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2339 break; 2350 break;
2340#endif 2351#endif
2341 case BC_IFUNCF: 2352 case BC_IFUNCF:
2342 dasm_put(Dst, 15309, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2353 dasm_put(Dst, 15402, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2343 if (op == BC_JFUNCF) { 2354 if (op == BC_JFUNCF) {
2344 dasm_put(Dst, 15339, BC_JLOOP); 2355 dasm_put(Dst, 15432, BC_JLOOP);
2345 } else { 2356 } else {
2346 dasm_put(Dst, 10870); 2357 dasm_put(Dst, 10963);
2347 } 2358 }
2348 dasm_put(Dst, 15348, LJ_TNIL); 2359 dasm_put(Dst, 15441, LJ_TNIL);
2349 break; 2360 break;
2350 2361
2351 case BC_JFUNCV: 2362 case BC_JFUNCV:
@@ -2356,30 +2367,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2356 break; /* NYI: compiled vararg functions. */ 2367 break; /* NYI: compiled vararg functions. */
2357 2368
2358 case BC_IFUNCV: 2369 case BC_IFUNCV:
2359 dasm_put(Dst, 15370, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2370 dasm_put(Dst, 15463, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2360 if (op == BC_JFUNCV) { 2371 if (op == BC_JFUNCV) {
2361 dasm_put(Dst, 15339, BC_JLOOP); 2372 dasm_put(Dst, 15432, BC_JLOOP);
2362 } else { 2373 } else {
2363 dasm_put(Dst, 15461, -4+PC2PROTO(k)); 2374 dasm_put(Dst, 15554, -4+PC2PROTO(k));
2364 } 2375 }
2365 dasm_put(Dst, 15483, LJ_TNIL); 2376 dasm_put(Dst, 15576, LJ_TNIL);
2366 break; 2377 break;
2367 2378
2368 case BC_FUNCC: 2379 case BC_FUNCC:
2369 case BC_FUNCCW: 2380 case BC_FUNCCW:
2370 dasm_put(Dst, 15505, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2381 dasm_put(Dst, 15598, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2371 if (op == BC_FUNCC) { 2382 if (op == BC_FUNCC) {
2372 dasm_put(Dst, 15534); 2383 dasm_put(Dst, 15627);
2373 } else { 2384 } else {
2374 dasm_put(Dst, 15538); 2385 dasm_put(Dst, 15631);
2375 } 2386 }
2376 dasm_put(Dst, 15546, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2387 dasm_put(Dst, 15639, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2377 if (op == BC_FUNCC) { 2388 if (op == BC_FUNCC) {
2378 dasm_put(Dst, 15555); 2389 dasm_put(Dst, 15648);
2379 } else { 2390 } else {
2380 dasm_put(Dst, 15559, DISPATCH_GL(wrapf)); 2391 dasm_put(Dst, 15652, DISPATCH_GL(wrapf));
2381 } 2392 }
2382 dasm_put(Dst, 15564, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2393 dasm_put(Dst, 15657, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2383 break; 2394 break;
2384 2395
2385 /* ---------------------------------------------------------------------- */ 2396 /* ---------------------------------------------------------------------- */
@@ -2407,7 +2418,7 @@ static int build_backend(BuildCtx *ctx)
2407 2418
2408 build_subroutines(ctx, cmov, sse); 2419 build_subroutines(ctx, cmov, sse);
2409 2420
2410 dasm_put(Dst, 15589); 2421 dasm_put(Dst, 15682);
2411 for (op = 0; op < BC__MAX; op++) 2422 for (op = 0; op < BC__MAX; op++)
2412 build_ins(ctx, (BCOp)op, op, cmov, sse); 2423 build_ins(ctx, (BCOp)op, op, cmov, sse);
2413 2424