diff options
author | Mike Pall <mike> | 2011-03-07 20:12:39 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2011-03-07 20:12:39 +0100 |
commit | a30f58b54ba645ec0b1efe7087f615451033eb38 (patch) | |
tree | d5112c8e29e03a4594f2076d8a47890ab7345291 /src | |
parent | 8eb09fe820fe8621e5e9684757ec21c633cf557a (diff) | |
download | luajit-a30f58b54ba645ec0b1efe7087f615451033eb38.tar.gz luajit-a30f58b54ba645ec0b1efe7087f615451033eb38.tar.bz2 luajit-a30f58b54ba645ec0b1efe7087f615451033eb38.zip |
DUALNUM: Fix x87 code for BC_ISEQN/BC_ISNEN.
Diffstat (limited to 'src')
-rw-r--r-- | src/buildvm_x64.h | 781 | ||||
-rw-r--r-- | src/buildvm_x64win.h | 647 | ||||
-rw-r--r-- | src/buildvm_x86.dasc | 5 | ||||
-rw-r--r-- | src/buildvm_x86.h | 1077 |
4 files changed, 1253 insertions, 1257 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h index 87115fe3..42d435cb 100644 --- a/src/buildvm_x64.h +++ b/src/buildvm_x64.h | |||
@@ -12,7 +12,7 @@ | |||
12 | #define DASM_SECTION_CODE_OP 0 | 12 | #define DASM_SECTION_CODE_OP 0 |
13 | #define DASM_SECTION_CODE_SUB 1 | 13 | #define DASM_SECTION_CODE_SUB 1 |
14 | #define DASM_MAXSECTION 2 | 14 | #define DASM_MAXSECTION 2 |
15 | static const unsigned char build_actionlist[15908] = { | 15 | static const unsigned char build_actionlist[15911] = { |
16 | 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141, | 16 | 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141, |
17 | 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4, | 17 | 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4, |
18 | 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133, | 18 | 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133, |
@@ -528,111 +528,111 @@ static const unsigned char build_actionlist[15908] = { | |||
528 | 4,193,232,16,65,252,255,36,252,238,248,7,15,135,244,249,65,129,124,253,199, | 528 | 4,193,232,16,65,252,255,36,252,238,248,7,15,135,244,249,65,129,124,253,199, |
529 | 4,239,15,130,244,247,255,252,242,65,15,42,4,199,255,65,219,4,199,255,252, | 529 | 4,239,15,130,244,247,255,252,242,65,15,42,4,199,255,65,219,4,199,255,252, |
530 | 233,244,248,248,8,255,252,242,15,42,4,202,102,65,15,46,4,199,255,219,4,202, | 530 | 233,244,248,248,8,255,252,242,15,42,4,202,102,65,15,46,4,199,255,219,4,202, |
531 | 221,4,194,255,129,252,253,239,15,131,244,249,255,248,1,252,242,65,15,16,4, | 531 | 65,221,4,199,255,129,252,253,239,15,131,244,249,255,248,1,252,242,65,15,16, |
532 | 199,248,2,102,15,46,4,202,248,4,255,248,1,65,221,4,199,248,2,221,4,202,255, | 532 | 4,199,248,2,102,15,46,4,202,248,4,255,248,1,65,221,4,199,248,2,221,4,202, |
533 | 72,252,247,208,139,108,202,4,131,195,4,57,197,255,15,133,244,249,15,183,67, | 533 | 248,4,255,72,252,247,208,139,108,202,4,131,195,4,57,197,255,15,133,244,249, |
534 | 15,183,67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131, | ||
535 | 195,4,193,232,16,65,252,255,36,252,238,248,3,129,252,253,239,15,133,244,2, | ||
536 | 252,233,244,46,255,15,132,244,248,129,252,253,239,15,132,244,46,15,183,67, | ||
534 | 252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131,195,4,193, | 537 | 252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131,195,4,193, |
535 | 232,16,65,252,255,36,252,238,248,3,129,252,253,239,15,133,244,2,252,233,244, | 538 | 232,16,65,252,255,36,252,238,255,139,108,194,4,131,195,4,129,252,253,239, |
536 | 46,255,15,132,244,248,129,252,253,239,15,132,244,46,15,183,67,252,254,141, | 539 | 255,137,108,202,4,139,44,194,137,44,202,255,72,139,44,194,72,137,44,202,139, |
537 | 156,253,131,233,248,2,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, | 540 | 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,49, |
538 | 252,255,36,252,238,255,139,108,194,4,131,195,4,129,252,253,239,255,137,108, | 541 | 252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,3,15,182,204, |
539 | 202,4,139,44,194,137,44,202,255,72,139,44,194,72,137,44,202,139,3,15,182, | 542 | 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,129,124,253,194, |
540 | 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,49,252,237, | 543 | 4,239,15,133,244,251,139,44,194,252,247,221,15,128,244,250,199,68,202,4,237, |
541 | 129,124,253,194,4,239,129,213,239,137,108,202,4,139,3,15,182,204,15,182,232, | 544 | 137,44,202,248,9,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, |
542 | 131,195,4,193,232,16,65,252,255,36,252,238,255,129,124,253,194,4,239,15,133, | 545 | 255,36,252,238,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244, |
543 | 244,251,139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202, | 546 | 9,248,5,15,135,244,51,255,129,124,253,194,4,239,15,131,244,51,255,252,242, |
544 | 248,9,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, | 547 | 15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,242,15,17,4,202, |
545 | 238,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15, | 548 | 255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244,248, |
546 | 135,244,51,255,129,124,253,194,4,239,15,131,244,51,255,252,242,15,16,4,194, | 549 | 139,4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255,15,87,192, |
547 | 72,184,237,237,102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4, | 550 | 252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221, |
548 | 194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194, | 551 | 28,202,255,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, |
549 | 255,139,128,233,248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15, | 552 | 252,238,248,2,129,124,253,194,4,239,15,133,244,54,139,60,194,137,213,232, |
550 | 42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255, | 553 | 251,1,20,255,252,242,15,42,192,255,137,252,234,15,182,75,252,253,252,233, |
551 | 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248, | 554 | 244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,133, |
552 | 2,129,124,253,194,4,239,15,133,244,54,139,60,194,137,213,232,251,1,20,255, | 555 | 244,48,65,129,124,253,199,4,239,15,133,244,48,139,44,252,234,65,3,44,199, |
553 | 252,242,15,42,192,255,137,252,234,15,182,75,252,253,252,233,244,1,255,15, | 556 | 15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,50,65,129,124,253, |
554 | 182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,133,244,48,65,129, | 557 | 199,4,239,15,133,244,50,65,139,4,199,3,4,252,234,15,128,244,49,255,129,124, |
555 | 124,253,199,4,239,15,133,244,48,139,44,252,234,65,3,44,199,15,128,244,47, | 558 | 253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44, |
556 | 255,129,124,253,252,234,4,239,15,133,244,50,65,129,124,253,199,4,239,15,133, | 559 | 252,234,3,44,194,15,128,244,52,255,199,68,202,4,237,255,129,124,253,252,234, |
557 | 244,50,65,139,4,199,3,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239, | 560 | 4,239,15,131,244,48,255,65,129,124,253,199,4,239,15,131,244,48,255,252,242, |
558 | 15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,3,44,194, | 561 | 15,16,4,252,234,252,242,65,15,88,4,199,255,221,4,252,234,65,220,4,199,255, |
559 | 15,128,244,52,255,199,68,202,4,237,255,129,124,253,252,234,4,239,15,131,244, | 562 | 129,124,253,252,234,4,239,15,131,244,50,255,65,129,124,253,199,4,239,15,131, |
560 | 48,255,65,129,124,253,199,4,239,15,131,244,48,255,252,242,15,16,4,252,234, | 563 | 244,50,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221,4,199, |
561 | 252,242,65,15,88,4,199,255,221,4,252,234,65,220,4,199,255,129,124,253,252, | 564 | 220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,53,129,124,253,194, |
562 | 234,4,239,15,131,244,50,255,65,129,124,253,199,4,239,15,131,244,50,255,252, | 565 | 4,239,15,131,244,53,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221, |
563 | 242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221,4,199,220,4,252,234, | 566 | 4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,48,65,129,124, |
564 | 255,129,124,253,252,234,4,239,15,131,244,53,129,124,253,194,4,239,15,131, | 567 | 253,199,4,239,15,133,244,48,139,44,252,234,65,43,44,199,15,128,244,47,255, |
565 | 244,53,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234, | 568 | 129,124,253,252,234,4,239,15,133,244,50,65,129,124,253,199,4,239,15,133,244, |
566 | 220,4,194,255,129,124,253,252,234,4,239,15,133,244,48,65,129,124,253,199, | 569 | 50,65,139,4,199,43,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239, |
567 | 4,239,15,133,244,48,139,44,252,234,65,43,44,199,15,128,244,47,255,129,124, | 570 | 15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,43,44,194, |
568 | 253,252,234,4,239,15,133,244,50,65,129,124,253,199,4,239,15,133,244,50,65, | 571 | 15,128,244,52,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,255,221, |
569 | 139,4,199,43,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239,15,133, | 572 | 4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,4,252,234, |
570 | 244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,43,44,194,15,128, | 573 | 255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92, |
571 | 244,52,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,255,221,4,252,234, | 574 | 4,194,255,221,4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244, |
572 | 65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,4,252,234,255,65,221, | 575 | 48,65,129,124,253,199,4,239,15,133,244,48,139,44,252,234,65,15,175,44,199, |
573 | 4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255, | 576 | 15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,50,65,129,124,253, |
574 | 221,4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,48,65,129, | 577 | 199,4,239,15,133,244,50,65,139,4,199,15,175,4,252,234,15,128,244,49,255,129, |
575 | 124,253,199,4,239,15,133,244,48,139,44,252,234,65,15,175,44,199,15,128,244, | 578 | 124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139, |
576 | 47,255,129,124,253,252,234,4,239,15,133,244,50,65,129,124,253,199,4,239,15, | 579 | 44,252,234,15,175,44,194,15,128,244,52,255,252,242,15,16,4,252,234,252,242, |
577 | 133,244,50,65,139,4,199,15,175,4,252,234,15,128,244,49,255,129,124,253,252, | 580 | 65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15,16,4,199, |
578 | 234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234, | 581 | 252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252,242,15,16, |
579 | 15,175,44,194,15,128,244,52,255,252,242,15,16,4,252,234,252,242,65,15,89, | 582 | 4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15, |
580 | 4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15,16,4,199,252,242, | 583 | 16,4,252,234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52,199,255,252, |
581 | 15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234, | 584 | 242,65,15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220,52,252,234, |
582 | 252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252, | 585 | 255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52, |
583 | 234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52,199,255,252,242,65, | 586 | 194,255,252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221,4,252,234, |
584 | 15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220,52,252,234,255,252, | 587 | 65,221,4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234,255,65,221, |
585 | 242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,194,255, | 588 | 4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255, |
586 | 252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221,4,252,234,65,221, | 589 | 221,4,252,234,221,4,194,255,248,162,232,244,153,255,252,233,244,162,255,232, |
587 | 4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234,255,65,221,4,199, | 590 | 244,113,255,15,182,252,236,15,182,192,139,124,36,24,137,151,233,141,52,194, |
588 | 221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4, | 591 | 137,194,41,252,234,248,33,137,252,253,137,92,36,28,232,251,1,27,139,149,233, |
589 | 252,234,221,4,194,255,248,162,232,244,153,255,252,233,244,162,255,232,244, | 592 | 133,192,15,133,244,42,15,182,107,252,255,15,182,75,252,253,72,139,4,252,234, |
590 | 113,255,15,182,252,236,15,182,192,139,124,36,24,137,151,233,141,52,194,137, | 593 | 72,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255, |
591 | 194,41,252,234,248,33,137,252,253,137,92,36,28,232,251,1,27,139,149,233,133, | 594 | 36,252,238,255,72,252,247,208,65,139,4,135,199,68,202,4,237,137,4,202,139, |
592 | 192,15,133,244,42,15,182,107,252,255,15,182,75,252,253,72,139,4,252,234,72, | 595 | 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,15, |
593 | 137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, | 596 | 191,192,199,68,202,4,237,137,4,202,255,15,191,192,252,242,15,42,192,252,242, |
594 | 252,238,255,72,252,247,208,65,139,4,135,199,68,202,4,237,137,4,202,139,3, | 597 | 15,17,4,202,255,223,67,252,254,221,28,202,255,252,242,65,15,16,4,199,252, |
595 | 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,15,191, | 598 | 242,15,17,4,202,255,65,221,4,199,221,28,202,255,72,252,247,208,137,68,202, |
596 | 192,199,68,202,4,237,137,4,202,255,15,191,192,252,242,15,42,192,252,242,15, | 599 | 4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238, |
597 | 17,4,202,255,223,67,252,254,221,28,202,255,252,242,65,15,16,4,199,252,242, | 600 | 255,141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193, |
598 | 15,17,4,202,255,65,221,4,199,221,28,202,255,72,252,247,208,137,68,202,4,139, | 601 | 8,57,193,15,134,244,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, |
599 | 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141, | 602 | 252,255,36,252,238,255,139,106,252,248,139,172,253,133,233,139,173,233,72, |
600 | 76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57, | 603 | 139,69,0,72,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, |
601 | 193,15,134,244,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, | 604 | 252,255,36,252,238,255,139,106,252,248,139,172,253,141,233,128,189,233,0, |
602 | 255,36,252,238,255,139,106,252,248,139,172,253,133,233,139,173,233,72,139, | 605 | 139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252, |
603 | 69,0,72,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, | 606 | 246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,131,195, |
604 | 255,36,252,238,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139, | 607 | 4,193,232,16,65,252,255,36,252,238,248,2,129,232,239,129,252,248,239,15,134, |
605 | 173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246, | 608 | 244,1,252,246,129,233,235,15,132,244,1,137,252,238,137,213,65,141,190,233, |
606 | 133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,131,195,4,193, | 609 | 255,232,251,1,28,137,252,234,252,233,244,1,255,72,252,247,208,139,106,252, |
607 | 232,16,65,252,255,36,252,238,248,2,129,232,239,129,252,248,239,15,134,244, | 610 | 248,139,172,253,141,233,65,139,12,135,139,133,233,137,8,199,64,4,237,252, |
608 | 1,252,246,129,233,235,15,132,244,1,137,252,238,137,213,65,141,190,233,255, | 611 | 246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,131,195, |
609 | 232,251,1,28,137,252,234,252,233,244,1,255,72,252,247,208,139,106,252,248, | 612 | 4,193,232,16,65,252,255,36,252,238,248,2,252,246,129,233,235,15,132,244,1, |
610 | 139,172,253,141,233,65,139,12,135,139,133,233,137,8,199,64,4,237,252,246, | 613 | 128,189,233,0,15,132,244,1,137,213,137,198,65,141,190,233,232,251,1,28,137, |
611 | 133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,131,195,4,193, | 614 | 252,234,252,233,244,1,255,139,106,252,248,255,252,242,65,15,16,4,199,255, |
612 | 232,16,65,252,255,36,252,238,248,2,252,246,129,233,235,15,132,244,1,128,189, | 615 | 139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,25,255,72,252, |
613 | 233,0,15,132,244,1,137,213,137,198,65,141,190,233,232,251,1,28,137,252,234, | 616 | 247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,65,4,139,3,15, |
614 | 252,233,244,1,255,139,106,252,248,255,252,242,65,15,16,4,199,255,139,172, | 617 | 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,156, |
615 | 253,141,233,139,141,233,255,252,242,15,17,1,255,221,25,255,72,252,247,208, | 618 | 253,131,233,139,108,36,24,131,189,233,0,15,132,244,247,137,149,233,141,52, |
616 | 139,106,252,248,139,172,253,141,233,139,141,233,137,65,4,139,3,15,182,204, | 619 | 202,137,252,239,232,251,1,29,139,149,233,248,1,139,3,15,182,204,15,182,232, |
617 | 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,156,253,131, | 620 | 131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,139,108,36, |
618 | 233,139,108,36,24,131,189,233,0,15,132,244,247,137,149,233,141,52,202,137, | 621 | 24,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137,92,36,28,232, |
619 | 252,239,232,251,1,29,139,149,233,248,1,139,3,15,182,204,15,182,232,131,195, | 622 | 251,1,30,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,139,3,15, |
620 | 4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,139,108,36,24,137,149, | 623 | 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,108, |
621 | 233,139,82,252,248,65,139,52,135,137,252,239,137,92,36,28,232,251,1,30,139, | 624 | 36,24,137,149,233,65,139,142,233,65,59,142,233,137,92,36,28,15,131,244,251, |
622 | 149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15, | 625 | 248,1,137,194,37,252,255,7,0,0,193,252,234,11,61,252,255,7,0,0,15,132,244, |
623 | 182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,108,36,24,137, | 626 | 249,248,2,137,252,239,137,198,232,251,1,31,139,149,233,15,182,75,252,253, |
624 | 149,233,65,139,142,233,65,59,142,233,137,92,36,28,15,131,244,251,248,1,137, | 627 | 137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232, |
625 | 194,37,252,255,7,0,0,193,252,234,11,61,252,255,7,0,0,15,132,244,249,248,2, | 628 | 16,65,252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,239, |
626 | 137,252,239,137,198,232,251,1,31,139,149,233,15,182,75,252,253,137,4,202, | 629 | 232,251,1,32,15,183,67,252,254,252,233,244,1,255,72,252,247,208,139,108,36, |
627 | 199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, | 630 | 24,65,139,142,233,137,92,36,28,65,59,142,233,137,149,233,15,131,244,249,248, |
628 | 255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,239,232,251, | 631 | 2,65,139,52,135,137,252,239,232,251,1,33,139,149,233,15,182,75,252,253,137, |
629 | 1,32,15,183,67,252,254,252,233,244,1,255,72,252,247,208,139,108,36,24,65, | 632 | 4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, |
630 | 139,142,233,137,92,36,28,65,59,142,233,137,149,233,15,131,244,249,248,2,65, | 633 | 252,255,36,252,238,248,3,137,252,239,232,251,1,32,15,183,67,252,254,72,252, |
631 | 139,52,135,137,252,239,232,251,1,33,139,149,233,15,182,75,252,253,137,4,202, | 634 | 247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,233,65,139, |
632 | 199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, | 635 | 4,135,252,233,244,163,255,72,252,247,208,139,106,252,248,139,173,233,65,139, |
633 | 255,36,252,238,248,3,137,252,239,232,251,1,32,15,183,67,252,254,72,252,247, | ||
634 | 208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,233,65,139,4, | ||
635 | 135,252,233,244,163,255,72,252,247,208,139,106,252,248,139,173,233,65,139, | ||
636 | 4,135,252,233,244,164,255,15,182,252,236,15,182,192,129,124,253,252,234,4, | 636 | 4,135,252,233,244,164,255,15,182,252,236,15,182,192,129,124,253,252,234,4, |
637 | 239,15,133,244,36,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251, | 637 | 239,15,133,244,36,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251, |
638 | 139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194, | 638 | 139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194, |
@@ -2045,42 +2045,41 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2045 | } | 2045 | } |
2046 | dasm_put(Dst, 10290); | 2046 | dasm_put(Dst, 10290); |
2047 | } else { | 2047 | } else { |
2048 | dasm_put(Dst, 10660, LJ_TISNUM); | 2048 | dasm_put(Dst, 10661, LJ_TISNUM); |
2049 | } | 2049 | } |
2050 | if (sse) { | 2050 | if (sse) { |
2051 | dasm_put(Dst, 10669); | 2051 | dasm_put(Dst, 10670); |
2052 | } else { | 2052 | } else { |
2053 | dasm_put(Dst, 10688); | 2053 | dasm_put(Dst, 10689); |
2054 | if (cmov) { | 2054 | if (cmov) { |
2055 | dasm_put(Dst, 10087); | 2055 | dasm_put(Dst, 10087); |
2056 | } else { | 2056 | } else { |
2057 | dasm_put(Dst, 10093); | 2057 | dasm_put(Dst, 10093); |
2058 | } | 2058 | } |
2059 | dasm_put(Dst, 4611); | ||
2060 | } | 2059 | } |
2061 | goto iseqne_fp; | 2060 | goto iseqne_fp; |
2062 | case BC_ISEQP: case BC_ISNEP: | 2061 | case BC_ISEQP: case BC_ISNEP: |
2063 | vk = op == BC_ISEQP; | 2062 | vk = op == BC_ISEQP; |
2064 | dasm_put(Dst, 10700); | 2063 | dasm_put(Dst, 10703); |
2065 | if (!LJ_HASFFI) goto iseqne_test; | 2064 | if (!LJ_HASFFI) goto iseqne_test; |
2066 | if (vk) { | 2065 | if (vk) { |
2067 | dasm_put(Dst, 10714, -BCBIAS_J*4, LJ_TCDATA); | 2066 | dasm_put(Dst, 10717, -BCBIAS_J*4, LJ_TCDATA); |
2068 | } else { | 2067 | } else { |
2069 | dasm_put(Dst, 10765, LJ_TCDATA, -BCBIAS_J*4); | 2068 | dasm_put(Dst, 10768, LJ_TCDATA, -BCBIAS_J*4); |
2070 | } | 2069 | } |
2071 | break; | 2070 | break; |
2072 | 2071 | ||
2073 | /* -- Unary test and copy ops ------------------------------------------- */ | 2072 | /* -- Unary test and copy ops ------------------------------------------- */ |
2074 | 2073 | ||
2075 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: | 2074 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: |
2076 | dasm_put(Dst, 10810, LJ_TISTRUECOND); | 2075 | dasm_put(Dst, 10813, LJ_TISTRUECOND); |
2077 | if (op == BC_IST || op == BC_ISTC) { | 2076 | if (op == BC_IST || op == BC_ISTC) { |
2078 | dasm_put(Dst, 10115); | 2077 | dasm_put(Dst, 10115); |
2079 | } else { | 2078 | } else { |
2080 | dasm_put(Dst, 10110); | 2079 | dasm_put(Dst, 10110); |
2081 | } | 2080 | } |
2082 | if (op == BC_ISTC || op == BC_ISFC) { | 2081 | if (op == BC_ISTC || op == BC_ISFC) { |
2083 | dasm_put(Dst, 10822); | 2082 | dasm_put(Dst, 10825); |
2084 | } | 2083 | } |
2085 | dasm_put(Dst, 10120, -BCBIAS_J*4); | 2084 | dasm_put(Dst, 10120, -BCBIAS_J*4); |
2086 | break; | 2085 | break; |
@@ -2088,21 +2087,21 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2088 | /* -- Unary ops --------------------------------------------------------- */ | 2087 | /* -- Unary ops --------------------------------------------------------- */ |
2089 | 2088 | ||
2090 | case BC_MOV: | 2089 | case BC_MOV: |
2091 | dasm_put(Dst, 10833); | 2090 | dasm_put(Dst, 10836); |
2092 | break; | 2091 | break; |
2093 | case BC_NOT: | 2092 | case BC_NOT: |
2094 | dasm_put(Dst, 10862, LJ_TISTRUECOND, LJ_TTRUE); | 2093 | dasm_put(Dst, 10865, LJ_TISTRUECOND, LJ_TTRUE); |
2095 | break; | 2094 | break; |
2096 | case BC_UNM: | 2095 | case BC_UNM: |
2097 | if (LJ_DUALNUM) { | 2096 | if (LJ_DUALNUM) { |
2098 | dasm_put(Dst, 10899, LJ_TISNUM, LJ_TISNUM); | 2097 | dasm_put(Dst, 10902, LJ_TISNUM, LJ_TISNUM); |
2099 | } else { | 2098 | } else { |
2100 | dasm_put(Dst, 10977, LJ_TISNUM); | 2099 | dasm_put(Dst, 10980, LJ_TISNUM); |
2101 | } | 2100 | } |
2102 | if (sse) { | 2101 | if (sse) { |
2103 | dasm_put(Dst, 10988, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 2102 | dasm_put(Dst, 10991, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
2104 | } else { | 2103 | } else { |
2105 | dasm_put(Dst, 11013); | 2104 | dasm_put(Dst, 11016); |
2106 | } | 2105 | } |
2107 | if (LJ_DUALNUM) { | 2106 | if (LJ_DUALNUM) { |
2108 | dasm_put(Dst, 10393); | 2107 | dasm_put(Dst, 10393); |
@@ -2111,21 +2110,21 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2111 | } | 2110 | } |
2112 | break; | 2111 | break; |
2113 | case BC_LEN: | 2112 | case BC_LEN: |
2114 | dasm_put(Dst, 11022, LJ_TSTR); | 2113 | dasm_put(Dst, 11025, LJ_TSTR); |
2115 | if (LJ_DUALNUM) { | 2114 | if (LJ_DUALNUM) { |
2116 | dasm_put(Dst, 11036, Dt5(->len), LJ_TISNUM); | 2115 | dasm_put(Dst, 11039, Dt5(->len), LJ_TISNUM); |
2117 | } else if (sse) { | 2116 | } else if (sse) { |
2118 | dasm_put(Dst, 11050, Dt5(->len)); | 2117 | dasm_put(Dst, 11053, Dt5(->len)); |
2119 | } else { | 2118 | } else { |
2120 | dasm_put(Dst, 11068, Dt5(->len)); | 2119 | dasm_put(Dst, 11071, Dt5(->len)); |
2121 | } | 2120 | } |
2122 | dasm_put(Dst, 11077, LJ_TTAB); | 2121 | dasm_put(Dst, 11080, LJ_TTAB); |
2123 | if (LJ_DUALNUM) { | 2122 | if (LJ_DUALNUM) { |
2124 | } else if (sse) { | 2123 | } else if (sse) { |
2125 | dasm_put(Dst, 11119); | 2124 | dasm_put(Dst, 11122); |
2126 | } else { | 2125 | } else { |
2127 | } | 2126 | } |
2128 | dasm_put(Dst, 11125); | 2127 | dasm_put(Dst, 11128); |
2129 | break; | 2128 | break; |
2130 | 2129 | ||
2131 | /* -- Binary ops -------------------------------------------------------- */ | 2130 | /* -- Binary ops -------------------------------------------------------- */ |
@@ -2133,603 +2132,603 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2133 | 2132 | ||
2134 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: | 2133 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: |
2135 | if (LJ_DUALNUM) { | 2134 | if (LJ_DUALNUM) { |
2136 | dasm_put(Dst, 11138); | 2135 | dasm_put(Dst, 11141); |
2137 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2136 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2138 | switch (vk) { | 2137 | switch (vk) { |
2139 | case 0: | 2138 | case 0: |
2140 | dasm_put(Dst, 11146, LJ_TISNUM, LJ_TISNUM); | 2139 | dasm_put(Dst, 11149, LJ_TISNUM, LJ_TISNUM); |
2141 | break; | 2140 | break; |
2142 | case 1: | 2141 | case 1: |
2143 | dasm_put(Dst, 11181, LJ_TISNUM, LJ_TISNUM); | 2142 | dasm_put(Dst, 11184, LJ_TISNUM, LJ_TISNUM); |
2144 | break; | 2143 | break; |
2145 | default: | 2144 | default: |
2146 | dasm_put(Dst, 11216, LJ_TISNUM, LJ_TISNUM); | 2145 | dasm_put(Dst, 11219, LJ_TISNUM, LJ_TISNUM); |
2147 | break; | 2146 | break; |
2148 | } | 2147 | } |
2149 | dasm_put(Dst, 11249, LJ_TISNUM); | 2148 | dasm_put(Dst, 11252, LJ_TISNUM); |
2150 | if (vk == 1) { | 2149 | if (vk == 1) { |
2151 | dasm_put(Dst, 11046); | 2150 | dasm_put(Dst, 11049); |
2152 | } else { | 2151 | } else { |
2153 | dasm_put(Dst, 10829); | 2152 | dasm_put(Dst, 10832); |
2154 | } | 2153 | } |
2155 | dasm_put(Dst, 10132); | 2154 | dasm_put(Dst, 10132); |
2156 | } else { | 2155 | } else { |
2157 | dasm_put(Dst, 11138); | 2156 | dasm_put(Dst, 11141); |
2158 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2157 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2159 | switch (vk) { | 2158 | switch (vk) { |
2160 | case 0: | 2159 | case 0: |
2161 | dasm_put(Dst, 11255, LJ_TISNUM); | 2160 | dasm_put(Dst, 11258, LJ_TISNUM); |
2162 | if (LJ_DUALNUM) { | 2161 | if (LJ_DUALNUM) { |
2163 | dasm_put(Dst, 11267, LJ_TISNUM); | 2162 | dasm_put(Dst, 11270, LJ_TISNUM); |
2164 | } | 2163 | } |
2165 | if (sse) { | 2164 | if (sse) { |
2166 | dasm_put(Dst, 11279); | 2165 | dasm_put(Dst, 11282); |
2167 | } else { | 2166 | } else { |
2168 | dasm_put(Dst, 11294); | 2167 | dasm_put(Dst, 11297); |
2169 | } | 2168 | } |
2170 | break; | 2169 | break; |
2171 | case 1: | 2170 | case 1: |
2172 | dasm_put(Dst, 11303, LJ_TISNUM); | 2171 | dasm_put(Dst, 11306, LJ_TISNUM); |
2173 | if (LJ_DUALNUM) { | 2172 | if (LJ_DUALNUM) { |
2174 | dasm_put(Dst, 11315, LJ_TISNUM); | 2173 | dasm_put(Dst, 11318, LJ_TISNUM); |
2175 | } | 2174 | } |
2176 | if (sse) { | 2175 | if (sse) { |
2177 | dasm_put(Dst, 11327); | 2176 | dasm_put(Dst, 11330); |
2178 | } else { | 2177 | } else { |
2179 | dasm_put(Dst, 11342); | 2178 | dasm_put(Dst, 11345); |
2180 | } | 2179 | } |
2181 | break; | 2180 | break; |
2182 | default: | 2181 | default: |
2183 | dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM); | 2182 | dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM); |
2184 | if (sse) { | 2183 | if (sse) { |
2185 | dasm_put(Dst, 11373); | 2184 | dasm_put(Dst, 11376); |
2186 | } else { | 2185 | } else { |
2187 | dasm_put(Dst, 11387); | 2186 | dasm_put(Dst, 11390); |
2188 | } | 2187 | } |
2189 | break; | 2188 | break; |
2190 | } | 2189 | } |
2191 | if (sse) { | 2190 | if (sse) { |
2192 | dasm_put(Dst, 11006); | 2191 | dasm_put(Dst, 11009); |
2193 | } else { | 2192 | } else { |
2194 | dasm_put(Dst, 11018); | 2193 | dasm_put(Dst, 11021); |
2195 | } | 2194 | } |
2196 | dasm_put(Dst, 10132); | 2195 | dasm_put(Dst, 10132); |
2197 | } | 2196 | } |
2198 | break; | 2197 | break; |
2199 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: | 2198 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: |
2200 | if (LJ_DUALNUM) { | 2199 | if (LJ_DUALNUM) { |
2201 | dasm_put(Dst, 11138); | 2200 | dasm_put(Dst, 11141); |
2202 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2201 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2203 | switch (vk) { | 2202 | switch (vk) { |
2204 | case 0: | 2203 | case 0: |
2205 | dasm_put(Dst, 11395, LJ_TISNUM, LJ_TISNUM); | 2204 | dasm_put(Dst, 11398, LJ_TISNUM, LJ_TISNUM); |
2206 | break; | 2205 | break; |
2207 | case 1: | 2206 | case 1: |
2208 | dasm_put(Dst, 11430, LJ_TISNUM, LJ_TISNUM); | 2207 | dasm_put(Dst, 11433, LJ_TISNUM, LJ_TISNUM); |
2209 | break; | 2208 | break; |
2210 | default: | 2209 | default: |
2211 | dasm_put(Dst, 11465, LJ_TISNUM, LJ_TISNUM); | 2210 | dasm_put(Dst, 11468, LJ_TISNUM, LJ_TISNUM); |
2212 | break; | 2211 | break; |
2213 | } | 2212 | } |
2214 | dasm_put(Dst, 11249, LJ_TISNUM); | 2213 | dasm_put(Dst, 11252, LJ_TISNUM); |
2215 | if (vk == 1) { | 2214 | if (vk == 1) { |
2216 | dasm_put(Dst, 11046); | 2215 | dasm_put(Dst, 11049); |
2217 | } else { | 2216 | } else { |
2218 | dasm_put(Dst, 10829); | 2217 | dasm_put(Dst, 10832); |
2219 | } | 2218 | } |
2220 | dasm_put(Dst, 10132); | 2219 | dasm_put(Dst, 10132); |
2221 | } else { | 2220 | } else { |
2222 | dasm_put(Dst, 11138); | 2221 | dasm_put(Dst, 11141); |
2223 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2222 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2224 | switch (vk) { | 2223 | switch (vk) { |
2225 | case 0: | 2224 | case 0: |
2226 | dasm_put(Dst, 11255, LJ_TISNUM); | 2225 | dasm_put(Dst, 11258, LJ_TISNUM); |
2227 | if (LJ_DUALNUM) { | 2226 | if (LJ_DUALNUM) { |
2228 | dasm_put(Dst, 11267, LJ_TISNUM); | 2227 | dasm_put(Dst, 11270, LJ_TISNUM); |
2229 | } | 2228 | } |
2230 | if (sse) { | 2229 | if (sse) { |
2231 | dasm_put(Dst, 11498); | 2230 | dasm_put(Dst, 11501); |
2232 | } else { | 2231 | } else { |
2233 | dasm_put(Dst, 11513); | 2232 | dasm_put(Dst, 11516); |
2234 | } | 2233 | } |
2235 | break; | 2234 | break; |
2236 | case 1: | 2235 | case 1: |
2237 | dasm_put(Dst, 11303, LJ_TISNUM); | 2236 | dasm_put(Dst, 11306, LJ_TISNUM); |
2238 | if (LJ_DUALNUM) { | 2237 | if (LJ_DUALNUM) { |
2239 | dasm_put(Dst, 11315, LJ_TISNUM); | 2238 | dasm_put(Dst, 11318, LJ_TISNUM); |
2240 | } | 2239 | } |
2241 | if (sse) { | 2240 | if (sse) { |
2242 | dasm_put(Dst, 11522); | 2241 | dasm_put(Dst, 11525); |
2243 | } else { | 2242 | } else { |
2244 | dasm_put(Dst, 11537); | 2243 | dasm_put(Dst, 11540); |
2245 | } | 2244 | } |
2246 | break; | 2245 | break; |
2247 | default: | 2246 | default: |
2248 | dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM); | 2247 | dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM); |
2249 | if (sse) { | 2248 | if (sse) { |
2250 | dasm_put(Dst, 11546); | 2249 | dasm_put(Dst, 11549); |
2251 | } else { | 2250 | } else { |
2252 | dasm_put(Dst, 11560); | 2251 | dasm_put(Dst, 11563); |
2253 | } | 2252 | } |
2254 | break; | 2253 | break; |
2255 | } | 2254 | } |
2256 | if (sse) { | 2255 | if (sse) { |
2257 | dasm_put(Dst, 11006); | 2256 | dasm_put(Dst, 11009); |
2258 | } else { | 2257 | } else { |
2259 | dasm_put(Dst, 11018); | 2258 | dasm_put(Dst, 11021); |
2260 | } | 2259 | } |
2261 | dasm_put(Dst, 10132); | 2260 | dasm_put(Dst, 10132); |
2262 | } | 2261 | } |
2263 | break; | 2262 | break; |
2264 | case BC_MULVN: case BC_MULNV: case BC_MULVV: | 2263 | case BC_MULVN: case BC_MULNV: case BC_MULVV: |
2265 | if (LJ_DUALNUM) { | 2264 | if (LJ_DUALNUM) { |
2266 | dasm_put(Dst, 11138); | 2265 | dasm_put(Dst, 11141); |
2267 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2266 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2268 | switch (vk) { | 2267 | switch (vk) { |
2269 | case 0: | 2268 | case 0: |
2270 | dasm_put(Dst, 11568, LJ_TISNUM, LJ_TISNUM); | 2269 | dasm_put(Dst, 11571, LJ_TISNUM, LJ_TISNUM); |
2271 | break; | 2270 | break; |
2272 | case 1: | 2271 | case 1: |
2273 | dasm_put(Dst, 11604, LJ_TISNUM, LJ_TISNUM); | 2272 | dasm_put(Dst, 11607, LJ_TISNUM, LJ_TISNUM); |
2274 | break; | 2273 | break; |
2275 | default: | 2274 | default: |
2276 | dasm_put(Dst, 11640, LJ_TISNUM, LJ_TISNUM); | 2275 | dasm_put(Dst, 11643, LJ_TISNUM, LJ_TISNUM); |
2277 | break; | 2276 | break; |
2278 | } | 2277 | } |
2279 | dasm_put(Dst, 11249, LJ_TISNUM); | 2278 | dasm_put(Dst, 11252, LJ_TISNUM); |
2280 | if (vk == 1) { | 2279 | if (vk == 1) { |
2281 | dasm_put(Dst, 11046); | 2280 | dasm_put(Dst, 11049); |
2282 | } else { | 2281 | } else { |
2283 | dasm_put(Dst, 10829); | 2282 | dasm_put(Dst, 10832); |
2284 | } | 2283 | } |
2285 | dasm_put(Dst, 10132); | 2284 | dasm_put(Dst, 10132); |
2286 | } else { | 2285 | } else { |
2287 | dasm_put(Dst, 11138); | 2286 | dasm_put(Dst, 11141); |
2288 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2287 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2289 | switch (vk) { | 2288 | switch (vk) { |
2290 | case 0: | 2289 | case 0: |
2291 | dasm_put(Dst, 11255, LJ_TISNUM); | 2290 | dasm_put(Dst, 11258, LJ_TISNUM); |
2292 | if (LJ_DUALNUM) { | 2291 | if (LJ_DUALNUM) { |
2293 | dasm_put(Dst, 11267, LJ_TISNUM); | 2292 | dasm_put(Dst, 11270, LJ_TISNUM); |
2294 | } | 2293 | } |
2295 | if (sse) { | 2294 | if (sse) { |
2296 | dasm_put(Dst, 11674); | 2295 | dasm_put(Dst, 11677); |
2297 | } else { | 2296 | } else { |
2298 | dasm_put(Dst, 11689); | 2297 | dasm_put(Dst, 11692); |
2299 | } | 2298 | } |
2300 | break; | 2299 | break; |
2301 | case 1: | 2300 | case 1: |
2302 | dasm_put(Dst, 11303, LJ_TISNUM); | 2301 | dasm_put(Dst, 11306, LJ_TISNUM); |
2303 | if (LJ_DUALNUM) { | 2302 | if (LJ_DUALNUM) { |
2304 | dasm_put(Dst, 11315, LJ_TISNUM); | 2303 | dasm_put(Dst, 11318, LJ_TISNUM); |
2305 | } | 2304 | } |
2306 | if (sse) { | 2305 | if (sse) { |
2307 | dasm_put(Dst, 11698); | 2306 | dasm_put(Dst, 11701); |
2308 | } else { | 2307 | } else { |
2309 | dasm_put(Dst, 11713); | 2308 | dasm_put(Dst, 11716); |
2310 | } | 2309 | } |
2311 | break; | 2310 | break; |
2312 | default: | 2311 | default: |
2313 | dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM); | 2312 | dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM); |
2314 | if (sse) { | 2313 | if (sse) { |
2315 | dasm_put(Dst, 11722); | 2314 | dasm_put(Dst, 11725); |
2316 | } else { | 2315 | } else { |
2317 | dasm_put(Dst, 11736); | 2316 | dasm_put(Dst, 11739); |
2318 | } | 2317 | } |
2319 | break; | 2318 | break; |
2320 | } | 2319 | } |
2321 | if (sse) { | 2320 | if (sse) { |
2322 | dasm_put(Dst, 11006); | 2321 | dasm_put(Dst, 11009); |
2323 | } else { | 2322 | } else { |
2324 | dasm_put(Dst, 11018); | 2323 | dasm_put(Dst, 11021); |
2325 | } | 2324 | } |
2326 | dasm_put(Dst, 10132); | 2325 | dasm_put(Dst, 10132); |
2327 | } | 2326 | } |
2328 | break; | 2327 | break; |
2329 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: | 2328 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: |
2330 | dasm_put(Dst, 11138); | 2329 | dasm_put(Dst, 11141); |
2331 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2330 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2332 | switch (vk) { | 2331 | switch (vk) { |
2333 | case 0: | 2332 | case 0: |
2334 | dasm_put(Dst, 11255, LJ_TISNUM); | 2333 | dasm_put(Dst, 11258, LJ_TISNUM); |
2335 | if (LJ_DUALNUM) { | 2334 | if (LJ_DUALNUM) { |
2336 | dasm_put(Dst, 11267, LJ_TISNUM); | 2335 | dasm_put(Dst, 11270, LJ_TISNUM); |
2337 | } | 2336 | } |
2338 | if (sse) { | 2337 | if (sse) { |
2339 | dasm_put(Dst, 11744); | 2338 | dasm_put(Dst, 11747); |
2340 | } else { | 2339 | } else { |
2341 | dasm_put(Dst, 11759); | 2340 | dasm_put(Dst, 11762); |
2342 | } | 2341 | } |
2343 | break; | 2342 | break; |
2344 | case 1: | 2343 | case 1: |
2345 | dasm_put(Dst, 11303, LJ_TISNUM); | 2344 | dasm_put(Dst, 11306, LJ_TISNUM); |
2346 | if (LJ_DUALNUM) { | 2345 | if (LJ_DUALNUM) { |
2347 | dasm_put(Dst, 11315, LJ_TISNUM); | 2346 | dasm_put(Dst, 11318, LJ_TISNUM); |
2348 | } | 2347 | } |
2349 | if (sse) { | 2348 | if (sse) { |
2350 | dasm_put(Dst, 11768); | 2349 | dasm_put(Dst, 11771); |
2351 | } else { | 2350 | } else { |
2352 | dasm_put(Dst, 11783); | 2351 | dasm_put(Dst, 11786); |
2353 | } | 2352 | } |
2354 | break; | 2353 | break; |
2355 | default: | 2354 | default: |
2356 | dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM); | 2355 | dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM); |
2357 | if (sse) { | 2356 | if (sse) { |
2358 | dasm_put(Dst, 11792); | 2357 | dasm_put(Dst, 11795); |
2359 | } else { | 2358 | } else { |
2360 | dasm_put(Dst, 11806); | 2359 | dasm_put(Dst, 11809); |
2361 | } | 2360 | } |
2362 | break; | 2361 | break; |
2363 | } | 2362 | } |
2364 | if (sse) { | 2363 | if (sse) { |
2365 | dasm_put(Dst, 11006); | 2364 | dasm_put(Dst, 11009); |
2366 | } else { | 2365 | } else { |
2367 | dasm_put(Dst, 11018); | 2366 | dasm_put(Dst, 11021); |
2368 | } | 2367 | } |
2369 | dasm_put(Dst, 10132); | 2368 | dasm_put(Dst, 10132); |
2370 | break; | 2369 | break; |
2371 | case BC_MODVN: | 2370 | case BC_MODVN: |
2372 | dasm_put(Dst, 11138); | 2371 | dasm_put(Dst, 11141); |
2373 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2372 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2374 | switch (vk) { | 2373 | switch (vk) { |
2375 | case 0: | 2374 | case 0: |
2376 | dasm_put(Dst, 11255, LJ_TISNUM); | 2375 | dasm_put(Dst, 11258, LJ_TISNUM); |
2377 | if (LJ_DUALNUM) { | 2376 | if (LJ_DUALNUM) { |
2378 | dasm_put(Dst, 11267, LJ_TISNUM); | 2377 | dasm_put(Dst, 11270, LJ_TISNUM); |
2379 | } | 2378 | } |
2380 | if (sse) { | 2379 | if (sse) { |
2381 | dasm_put(Dst, 11814); | 2380 | dasm_put(Dst, 11817); |
2382 | } else { | 2381 | } else { |
2383 | dasm_put(Dst, 11829); | 2382 | dasm_put(Dst, 11832); |
2384 | } | 2383 | } |
2385 | break; | 2384 | break; |
2386 | case 1: | 2385 | case 1: |
2387 | dasm_put(Dst, 11303, LJ_TISNUM); | 2386 | dasm_put(Dst, 11306, LJ_TISNUM); |
2388 | if (LJ_DUALNUM) { | 2387 | if (LJ_DUALNUM) { |
2389 | dasm_put(Dst, 11315, LJ_TISNUM); | 2388 | dasm_put(Dst, 11318, LJ_TISNUM); |
2390 | } | 2389 | } |
2391 | if (sse) { | 2390 | if (sse) { |
2392 | dasm_put(Dst, 11838); | 2391 | dasm_put(Dst, 11841); |
2393 | } else { | 2392 | } else { |
2394 | dasm_put(Dst, 11853); | 2393 | dasm_put(Dst, 11856); |
2395 | } | 2394 | } |
2396 | break; | 2395 | break; |
2397 | default: | 2396 | default: |
2398 | dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM); | 2397 | dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM); |
2399 | if (sse) { | 2398 | if (sse) { |
2400 | dasm_put(Dst, 11862); | 2399 | dasm_put(Dst, 11865); |
2401 | } else { | 2400 | } else { |
2402 | dasm_put(Dst, 11876); | 2401 | dasm_put(Dst, 11879); |
2403 | } | 2402 | } |
2404 | break; | 2403 | break; |
2405 | } | 2404 | } |
2406 | dasm_put(Dst, 11884); | 2405 | dasm_put(Dst, 11887); |
2407 | if (sse) { | 2406 | if (sse) { |
2408 | dasm_put(Dst, 11006); | 2407 | dasm_put(Dst, 11009); |
2409 | } else { | 2408 | } else { |
2410 | dasm_put(Dst, 11018); | 2409 | dasm_put(Dst, 11021); |
2411 | } | 2410 | } |
2412 | dasm_put(Dst, 10132); | 2411 | dasm_put(Dst, 10132); |
2413 | break; | 2412 | break; |
2414 | case BC_MODNV: case BC_MODVV: | 2413 | case BC_MODNV: case BC_MODVV: |
2415 | dasm_put(Dst, 11138); | 2414 | dasm_put(Dst, 11141); |
2416 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2415 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2417 | switch (vk) { | 2416 | switch (vk) { |
2418 | case 0: | 2417 | case 0: |
2419 | dasm_put(Dst, 11255, LJ_TISNUM); | 2418 | dasm_put(Dst, 11258, LJ_TISNUM); |
2420 | if (LJ_DUALNUM) { | 2419 | if (LJ_DUALNUM) { |
2421 | dasm_put(Dst, 11267, LJ_TISNUM); | 2420 | dasm_put(Dst, 11270, LJ_TISNUM); |
2422 | } | 2421 | } |
2423 | if (sse) { | 2422 | if (sse) { |
2424 | dasm_put(Dst, 11814); | 2423 | dasm_put(Dst, 11817); |
2425 | } else { | 2424 | } else { |
2426 | dasm_put(Dst, 11829); | 2425 | dasm_put(Dst, 11832); |
2427 | } | 2426 | } |
2428 | break; | 2427 | break; |
2429 | case 1: | 2428 | case 1: |
2430 | dasm_put(Dst, 11303, LJ_TISNUM); | 2429 | dasm_put(Dst, 11306, LJ_TISNUM); |
2431 | if (LJ_DUALNUM) { | 2430 | if (LJ_DUALNUM) { |
2432 | dasm_put(Dst, 11315, LJ_TISNUM); | 2431 | dasm_put(Dst, 11318, LJ_TISNUM); |
2433 | } | 2432 | } |
2434 | if (sse) { | 2433 | if (sse) { |
2435 | dasm_put(Dst, 11838); | 2434 | dasm_put(Dst, 11841); |
2436 | } else { | 2435 | } else { |
2437 | dasm_put(Dst, 11853); | 2436 | dasm_put(Dst, 11856); |
2438 | } | 2437 | } |
2439 | break; | 2438 | break; |
2440 | default: | 2439 | default: |
2441 | dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM); | 2440 | dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM); |
2442 | if (sse) { | 2441 | if (sse) { |
2443 | dasm_put(Dst, 11862); | 2442 | dasm_put(Dst, 11865); |
2444 | } else { | 2443 | } else { |
2445 | dasm_put(Dst, 11876); | 2444 | dasm_put(Dst, 11879); |
2446 | } | 2445 | } |
2447 | break; | 2446 | break; |
2448 | } | 2447 | } |
2449 | dasm_put(Dst, 11890); | 2448 | dasm_put(Dst, 11893); |
2450 | break; | 2449 | break; |
2451 | case BC_POW: | 2450 | case BC_POW: |
2452 | dasm_put(Dst, 11138); | 2451 | dasm_put(Dst, 11141); |
2453 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2452 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2454 | switch (vk) { | 2453 | switch (vk) { |
2455 | case 0: | 2454 | case 0: |
2456 | dasm_put(Dst, 11255, LJ_TISNUM); | 2455 | dasm_put(Dst, 11258, LJ_TISNUM); |
2457 | if (LJ_DUALNUM) { | 2456 | if (LJ_DUALNUM) { |
2458 | dasm_put(Dst, 11267, LJ_TISNUM); | 2457 | dasm_put(Dst, 11270, LJ_TISNUM); |
2459 | } | 2458 | } |
2460 | if (sse) { | 2459 | if (sse) { |
2461 | dasm_put(Dst, 11814); | 2460 | dasm_put(Dst, 11817); |
2462 | } else { | 2461 | } else { |
2463 | dasm_put(Dst, 11829); | 2462 | dasm_put(Dst, 11832); |
2464 | } | 2463 | } |
2465 | break; | 2464 | break; |
2466 | case 1: | 2465 | case 1: |
2467 | dasm_put(Dst, 11303, LJ_TISNUM); | 2466 | dasm_put(Dst, 11306, LJ_TISNUM); |
2468 | if (LJ_DUALNUM) { | 2467 | if (LJ_DUALNUM) { |
2469 | dasm_put(Dst, 11315, LJ_TISNUM); | 2468 | dasm_put(Dst, 11318, LJ_TISNUM); |
2470 | } | 2469 | } |
2471 | if (sse) { | 2470 | if (sse) { |
2472 | dasm_put(Dst, 11838); | 2471 | dasm_put(Dst, 11841); |
2473 | } else { | 2472 | } else { |
2474 | dasm_put(Dst, 11853); | 2473 | dasm_put(Dst, 11856); |
2475 | } | 2474 | } |
2476 | break; | 2475 | break; |
2477 | default: | 2476 | default: |
2478 | dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM); | 2477 | dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM); |
2479 | if (sse) { | 2478 | if (sse) { |
2480 | dasm_put(Dst, 11862); | 2479 | dasm_put(Dst, 11865); |
2481 | } else { | 2480 | } else { |
2482 | dasm_put(Dst, 11876); | 2481 | dasm_put(Dst, 11879); |
2483 | } | 2482 | } |
2484 | break; | 2483 | break; |
2485 | } | 2484 | } |
2486 | dasm_put(Dst, 11895); | 2485 | dasm_put(Dst, 11898); |
2487 | if (sse) { | 2486 | if (sse) { |
2488 | dasm_put(Dst, 11006); | 2487 | dasm_put(Dst, 11009); |
2489 | } else { | 2488 | } else { |
2490 | dasm_put(Dst, 11018); | 2489 | dasm_put(Dst, 11021); |
2491 | } | 2490 | } |
2492 | dasm_put(Dst, 10132); | 2491 | dasm_put(Dst, 10132); |
2493 | break; | 2492 | break; |
2494 | 2493 | ||
2495 | case BC_CAT: | 2494 | case BC_CAT: |
2496 | dasm_put(Dst, 11899, Dt1(->base), Dt1(->base)); | 2495 | dasm_put(Dst, 11902, Dt1(->base), Dt1(->base)); |
2497 | break; | 2496 | break; |
2498 | 2497 | ||
2499 | /* -- Constant ops ------------------------------------------------------ */ | 2498 | /* -- Constant ops ------------------------------------------------------ */ |
2500 | 2499 | ||
2501 | case BC_KSTR: | 2500 | case BC_KSTR: |
2502 | dasm_put(Dst, 11983, LJ_TSTR); | 2501 | dasm_put(Dst, 11986, LJ_TSTR); |
2503 | break; | 2502 | break; |
2504 | case BC_KCDATA: | 2503 | case BC_KCDATA: |
2505 | #if LJ_HASFFI | 2504 | #if LJ_HASFFI |
2506 | dasm_put(Dst, 11983, LJ_TCDATA); | 2505 | dasm_put(Dst, 11986, LJ_TCDATA); |
2507 | #endif | 2506 | #endif |
2508 | break; | 2507 | break; |
2509 | case BC_KSHORT: | 2508 | case BC_KSHORT: |
2510 | if (LJ_DUALNUM) { | 2509 | if (LJ_DUALNUM) { |
2511 | dasm_put(Dst, 12020, LJ_TISNUM); | 2510 | dasm_put(Dst, 12023, LJ_TISNUM); |
2512 | } else if (sse) { | 2511 | } else if (sse) { |
2513 | dasm_put(Dst, 12032); | 2512 | dasm_put(Dst, 12035); |
2514 | } else { | 2513 | } else { |
2515 | dasm_put(Dst, 12047); | 2514 | dasm_put(Dst, 12050); |
2516 | } | 2515 | } |
2517 | dasm_put(Dst, 10132); | 2516 | dasm_put(Dst, 10132); |
2518 | break; | 2517 | break; |
2519 | case BC_KNUM: | 2518 | case BC_KNUM: |
2520 | if (sse) { | 2519 | if (sse) { |
2521 | dasm_put(Dst, 12055); | 2520 | dasm_put(Dst, 12058); |
2522 | } else { | 2521 | } else { |
2523 | dasm_put(Dst, 12069); | 2522 | dasm_put(Dst, 12072); |
2524 | } | 2523 | } |
2525 | dasm_put(Dst, 10132); | 2524 | dasm_put(Dst, 10132); |
2526 | break; | 2525 | break; |
2527 | case BC_KPRI: | 2526 | case BC_KPRI: |
2528 | dasm_put(Dst, 12077); | 2527 | dasm_put(Dst, 12080); |
2529 | break; | 2528 | break; |
2530 | case BC_KNIL: | 2529 | case BC_KNIL: |
2531 | dasm_put(Dst, 12106, LJ_TNIL); | 2530 | dasm_put(Dst, 12109, LJ_TNIL); |
2532 | break; | 2531 | break; |
2533 | 2532 | ||
2534 | /* -- Upvalue and function ops ------------------------------------------ */ | 2533 | /* -- Upvalue and function ops ------------------------------------------ */ |
2535 | 2534 | ||
2536 | case BC_UGET: | 2535 | case BC_UGET: |
2537 | dasm_put(Dst, 12154, offsetof(GCfuncL, uvptr), DtA(->v)); | 2536 | dasm_put(Dst, 12157, offsetof(GCfuncL, uvptr), DtA(->v)); |
2538 | break; | 2537 | break; |
2539 | case BC_USETV: | 2538 | case BC_USETV: |
2540 | #define TV2MARKOFS \ | 2539 | #define TV2MARKOFS \ |
2541 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) | 2540 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) |
2542 | dasm_put(Dst, 12195, 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); | 2541 | dasm_put(Dst, 12198, 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); |
2543 | dasm_put(Dst, 12291); | 2542 | dasm_put(Dst, 12294); |
2544 | break; | 2543 | break; |
2545 | #undef TV2MARKOFS | 2544 | #undef TV2MARKOFS |
2546 | case BC_USETS: | 2545 | case BC_USETS: |
2547 | dasm_put(Dst, 12303, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); | 2546 | dasm_put(Dst, 12306, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); |
2548 | break; | 2547 | break; |
2549 | case BC_USETN: | 2548 | case BC_USETN: |
2550 | dasm_put(Dst, 12399); | 2549 | dasm_put(Dst, 12402); |
2551 | if (sse) { | 2550 | if (sse) { |
2552 | dasm_put(Dst, 12404); | 2551 | dasm_put(Dst, 12407); |
2553 | } else { | 2552 | } else { |
2554 | dasm_put(Dst, 11833); | 2553 | dasm_put(Dst, 10656); |
2555 | } | 2554 | } |
2556 | dasm_put(Dst, 12412, offsetof(GCfuncL, uvptr), DtA(->v)); | 2555 | dasm_put(Dst, 12415, offsetof(GCfuncL, uvptr), DtA(->v)); |
2557 | if (sse) { | 2556 | if (sse) { |
2558 | dasm_put(Dst, 12421); | 2557 | dasm_put(Dst, 12424); |
2559 | } else { | 2558 | } else { |
2560 | dasm_put(Dst, 12427); | 2559 | dasm_put(Dst, 12430); |
2561 | } | 2560 | } |
2562 | dasm_put(Dst, 10132); | 2561 | dasm_put(Dst, 10132); |
2563 | break; | 2562 | break; |
2564 | case BC_USETP: | 2563 | case BC_USETP: |
2565 | dasm_put(Dst, 12430, offsetof(GCfuncL, uvptr), DtA(->v)); | 2564 | dasm_put(Dst, 12433, offsetof(GCfuncL, uvptr), DtA(->v)); |
2566 | break; | 2565 | break; |
2567 | case BC_UCLO: | 2566 | case BC_UCLO: |
2568 | dasm_put(Dst, 12470, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); | 2567 | dasm_put(Dst, 12473, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); |
2569 | break; | 2568 | break; |
2570 | 2569 | ||
2571 | case BC_FNEW: | 2570 | case BC_FNEW: |
2572 | dasm_put(Dst, 12526, Dt1(->base), Dt1(->base), LJ_TFUNC); | 2571 | dasm_put(Dst, 12529, Dt1(->base), Dt1(->base), LJ_TFUNC); |
2573 | break; | 2572 | break; |
2574 | 2573 | ||
2575 | /* -- Table ops --------------------------------------------------------- */ | 2574 | /* -- Table ops --------------------------------------------------------- */ |
2576 | 2575 | ||
2577 | case BC_TNEW: | 2576 | case BC_TNEW: |
2578 | dasm_put(Dst, 12593, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); | 2577 | dasm_put(Dst, 12596, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); |
2579 | break; | 2578 | break; |
2580 | case BC_TDUP: | 2579 | case BC_TDUP: |
2581 | dasm_put(Dst, 12717, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 2580 | dasm_put(Dst, 12720, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); |
2582 | break; | 2581 | break; |
2583 | 2582 | ||
2584 | case BC_GGET: | 2583 | case BC_GGET: |
2585 | dasm_put(Dst, 12816, Dt7(->env)); | 2584 | dasm_put(Dst, 12819, Dt7(->env)); |
2586 | break; | 2585 | break; |
2587 | case BC_GSET: | 2586 | case BC_GSET: |
2588 | dasm_put(Dst, 12836, Dt7(->env)); | 2587 | dasm_put(Dst, 12839, Dt7(->env)); |
2589 | break; | 2588 | break; |
2590 | 2589 | ||
2591 | case BC_TGETV: | 2590 | case BC_TGETV: |
2592 | dasm_put(Dst, 12856, LJ_TTAB); | 2591 | dasm_put(Dst, 12859, LJ_TTAB); |
2593 | if (LJ_DUALNUM) { | 2592 | if (LJ_DUALNUM) { |
2594 | dasm_put(Dst, 12879, LJ_TISNUM); | 2593 | dasm_put(Dst, 12882, LJ_TISNUM); |
2595 | } else { | 2594 | } else { |
2596 | dasm_put(Dst, 12893, LJ_TISNUM); | 2595 | dasm_put(Dst, 12896, LJ_TISNUM); |
2597 | if (sse) { | 2596 | if (sse) { |
2598 | dasm_put(Dst, 12904); | 2597 | dasm_put(Dst, 12907); |
2599 | } else { | 2598 | } else { |
2600 | } | 2599 | } |
2601 | dasm_put(Dst, 12925); | 2600 | dasm_put(Dst, 12928); |
2602 | } | 2601 | } |
2603 | dasm_put(Dst, 12930, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); | 2602 | dasm_put(Dst, 12933, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); |
2604 | dasm_put(Dst, 13022, LJ_TSTR); | 2603 | dasm_put(Dst, 13025, LJ_TSTR); |
2605 | break; | 2604 | break; |
2606 | case BC_TGETS: | 2605 | case BC_TGETS: |
2607 | dasm_put(Dst, 13040, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2606 | dasm_put(Dst, 13043, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2608 | dasm_put(Dst, 13125, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2607 | dasm_put(Dst, 13128, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2609 | break; | 2608 | break; |
2610 | case BC_TGETB: | 2609 | case BC_TGETB: |
2611 | dasm_put(Dst, 13197, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2610 | dasm_put(Dst, 13200, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2612 | dasm_put(Dst, 13293, LJ_TNIL); | 2611 | dasm_put(Dst, 13296, LJ_TNIL); |
2613 | break; | 2612 | break; |
2614 | 2613 | ||
2615 | case BC_TSETV: | 2614 | case BC_TSETV: |
2616 | dasm_put(Dst, 13310, LJ_TTAB); | 2615 | dasm_put(Dst, 13313, LJ_TTAB); |
2617 | if (LJ_DUALNUM) { | 2616 | if (LJ_DUALNUM) { |
2618 | dasm_put(Dst, 12879, LJ_TISNUM); | 2617 | dasm_put(Dst, 12882, LJ_TISNUM); |
2619 | } else { | 2618 | } else { |
2620 | dasm_put(Dst, 12893, LJ_TISNUM); | 2619 | dasm_put(Dst, 12896, LJ_TISNUM); |
2621 | if (sse) { | 2620 | if (sse) { |
2622 | dasm_put(Dst, 12904); | 2621 | dasm_put(Dst, 12907); |
2623 | } else { | 2622 | } else { |
2624 | } | 2623 | } |
2625 | dasm_put(Dst, 13333); | 2624 | dasm_put(Dst, 13336); |
2626 | } | 2625 | } |
2627 | dasm_put(Dst, 13338, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); | 2626 | dasm_put(Dst, 13341, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); |
2628 | dasm_put(Dst, 13419, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2627 | dasm_put(Dst, 13422, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2629 | break; | 2628 | break; |
2630 | case BC_TSETS: | 2629 | case BC_TSETS: |
2631 | dasm_put(Dst, 13478, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2630 | dasm_put(Dst, 13481, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2632 | dasm_put(Dst, 13555, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); | 2631 | dasm_put(Dst, 13558, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); |
2633 | dasm_put(Dst, 13642, 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)); | 2632 | dasm_put(Dst, 13645, 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)); |
2634 | break; | 2633 | break; |
2635 | case BC_TSETB: | 2634 | case BC_TSETB: |
2636 | dasm_put(Dst, 13734, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); | 2635 | dasm_put(Dst, 13737, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); |
2637 | dasm_put(Dst, 13829, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2636 | dasm_put(Dst, 13832, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2638 | break; | 2637 | break; |
2639 | 2638 | ||
2640 | case BC_TSETM: | 2639 | case BC_TSETM: |
2641 | dasm_put(Dst, 13877, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); | 2640 | dasm_put(Dst, 13880, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); |
2642 | dasm_put(Dst, 14027, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2641 | dasm_put(Dst, 14030, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2643 | break; | 2642 | break; |
2644 | 2643 | ||
2645 | /* -- Calls and vararg handling ----------------------------------------- */ | 2644 | /* -- Calls and vararg handling ----------------------------------------- */ |
2646 | 2645 | ||
2647 | case BC_CALL: case BC_CALLM: | 2646 | case BC_CALL: case BC_CALLM: |
2648 | dasm_put(Dst, 11142); | 2647 | dasm_put(Dst, 11145); |
2649 | if (op == BC_CALLM) { | 2648 | if (op == BC_CALLM) { |
2650 | dasm_put(Dst, 14047); | 2649 | dasm_put(Dst, 14050); |
2651 | } | 2650 | } |
2652 | dasm_put(Dst, 14052, LJ_TFUNC, Dt7(->pc)); | 2651 | dasm_put(Dst, 14055, LJ_TFUNC, Dt7(->pc)); |
2653 | break; | 2652 | break; |
2654 | 2653 | ||
2655 | case BC_CALLMT: | 2654 | case BC_CALLMT: |
2656 | dasm_put(Dst, 14047); | 2655 | dasm_put(Dst, 14050); |
2657 | break; | 2656 | break; |
2658 | case BC_CALLT: | 2657 | case BC_CALLT: |
2659 | dasm_put(Dst, 14095, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); | 2658 | dasm_put(Dst, 14098, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); |
2660 | dasm_put(Dst, 14213, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); | 2659 | dasm_put(Dst, 14216, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); |
2661 | break; | 2660 | break; |
2662 | 2661 | ||
2663 | case BC_ITERC: | 2662 | case BC_ITERC: |
2664 | dasm_put(Dst, 14287, LJ_TFUNC, 2+1, Dt7(->pc)); | 2663 | dasm_put(Dst, 14290, LJ_TFUNC, 2+1, Dt7(->pc)); |
2665 | break; | 2664 | break; |
2666 | 2665 | ||
2667 | case BC_ITERN: | 2666 | case BC_ITERN: |
2668 | #if LJ_HASJIT | 2667 | #if LJ_HASJIT |
2669 | #endif | 2668 | #endif |
2670 | dasm_put(Dst, 14359, Dt6(->asize), Dt6(->array), LJ_TNIL); | 2669 | dasm_put(Dst, 14362, Dt6(->asize), Dt6(->array), LJ_TNIL); |
2671 | if (LJ_DUALNUM) { | 2670 | if (LJ_DUALNUM) { |
2672 | dasm_put(Dst, 11041, LJ_TISNUM); | 2671 | dasm_put(Dst, 11044, LJ_TISNUM); |
2673 | } else if (sse) { | 2672 | } else if (sse) { |
2674 | dasm_put(Dst, 11119); | 2673 | dasm_put(Dst, 11122); |
2675 | } else { | 2674 | } else { |
2676 | dasm_put(Dst, 14411); | 2675 | dasm_put(Dst, 14414); |
2677 | } | 2676 | } |
2678 | dasm_put(Dst, 14417); | 2677 | dasm_put(Dst, 14420); |
2679 | if (LJ_DUALNUM) { | 2678 | if (LJ_DUALNUM) { |
2680 | } else if (sse) { | 2679 | } else if (sse) { |
2681 | dasm_put(Dst, 11006); | 2680 | dasm_put(Dst, 11009); |
2682 | } else { | 2681 | } else { |
2683 | dasm_put(Dst, 11018); | 2682 | dasm_put(Dst, 11021); |
2684 | } | 2683 | } |
2685 | dasm_put(Dst, 14430, -BCBIAS_J*4); | 2684 | dasm_put(Dst, 14433, -BCBIAS_J*4); |
2686 | if (!LJ_DUALNUM && !sse) { | 2685 | if (!LJ_DUALNUM && !sse) { |
2687 | dasm_put(Dst, 14484); | 2686 | dasm_put(Dst, 14487); |
2688 | } | 2687 | } |
2689 | dasm_put(Dst, 14490, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); | 2688 | dasm_put(Dst, 14493, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); |
2690 | break; | 2689 | break; |
2691 | 2690 | ||
2692 | case BC_ISNEXT: | 2691 | case BC_ISNEXT: |
2693 | 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); | 2692 | dasm_put(Dst, 14572, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); |
2694 | break; | 2693 | break; |
2695 | 2694 | ||
2696 | case BC_VARG: | 2695 | case BC_VARG: |
2697 | dasm_put(Dst, 14670, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); | 2696 | dasm_put(Dst, 14673, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); |
2698 | dasm_put(Dst, 14837, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 2697 | dasm_put(Dst, 14840, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
2699 | break; | 2698 | break; |
2700 | 2699 | ||
2701 | /* -- Returns ----------------------------------------------------------- */ | 2700 | /* -- Returns ----------------------------------------------------------- */ |
2702 | 2701 | ||
2703 | case BC_RETM: | 2702 | case BC_RETM: |
2704 | dasm_put(Dst, 14047); | 2703 | dasm_put(Dst, 14050); |
2705 | break; | 2704 | break; |
2706 | 2705 | ||
2707 | case BC_RET: case BC_RET0: case BC_RET1: | 2706 | case BC_RET: case BC_RET0: case BC_RET1: |
2708 | if (op != BC_RET0) { | 2707 | if (op != BC_RET0) { |
2709 | dasm_put(Dst, 14907); | 2708 | dasm_put(Dst, 14910); |
2710 | } | 2709 | } |
2711 | dasm_put(Dst, 14911, FRAME_TYPE); | 2710 | dasm_put(Dst, 14914, FRAME_TYPE); |
2712 | switch (op) { | 2711 | switch (op) { |
2713 | case BC_RET: | 2712 | case BC_RET: |
2714 | dasm_put(Dst, 14930); | 2713 | dasm_put(Dst, 14933); |
2715 | break; | 2714 | break; |
2716 | case BC_RET1: | 2715 | case BC_RET1: |
2717 | dasm_put(Dst, 14984); | 2716 | dasm_put(Dst, 14987); |
2718 | /* fallthrough */ | 2717 | /* fallthrough */ |
2719 | case BC_RET0: | 2718 | case BC_RET0: |
2720 | dasm_put(Dst, 14994); | 2719 | dasm_put(Dst, 14997); |
2721 | default: | 2720 | default: |
2722 | break; | 2721 | break; |
2723 | } | 2722 | } |
2724 | dasm_put(Dst, 15005, Dt7(->pc), PC2PROTO(k)); | 2723 | dasm_put(Dst, 15008, Dt7(->pc), PC2PROTO(k)); |
2725 | if (op == BC_RET) { | 2724 | if (op == BC_RET) { |
2726 | dasm_put(Dst, 15053, LJ_TNIL); | 2725 | dasm_put(Dst, 15056, LJ_TNIL); |
2727 | } else { | 2726 | } else { |
2728 | dasm_put(Dst, 15064, LJ_TNIL); | 2727 | dasm_put(Dst, 15067, LJ_TNIL); |
2729 | } | 2728 | } |
2730 | dasm_put(Dst, 15071, -FRAME_VARG, FRAME_TYPEP); | 2729 | dasm_put(Dst, 15074, -FRAME_VARG, FRAME_TYPEP); |
2731 | if (op != BC_RET0) { | 2730 | if (op != BC_RET0) { |
2732 | dasm_put(Dst, 15095); | 2731 | dasm_put(Dst, 15098); |
2733 | } | 2732 | } |
2734 | dasm_put(Dst, 4669); | 2733 | dasm_put(Dst, 4669); |
2735 | break; | 2734 | break; |
@@ -2739,7 +2738,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2739 | 2738 | ||
2740 | case BC_FORL: | 2739 | case BC_FORL: |
2741 | #if LJ_HASJIT | 2740 | #if LJ_HASJIT |
2742 | dasm_put(Dst, 15099, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2741 | dasm_put(Dst, 15102, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2743 | #endif | 2742 | #endif |
2744 | break; | 2743 | break; |
2745 | 2744 | ||
@@ -2751,104 +2750,104 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2751 | case BC_FORI: | 2750 | case BC_FORI: |
2752 | case BC_IFORL: | 2751 | case BC_IFORL: |
2753 | vk = (op == BC_IFORL || op == BC_JFORL); | 2752 | vk = (op == BC_IFORL || op == BC_JFORL); |
2754 | dasm_put(Dst, 15120); | 2753 | dasm_put(Dst, 15123); |
2755 | if (LJ_DUALNUM) { | 2754 | if (LJ_DUALNUM) { |
2756 | dasm_put(Dst, 15124, LJ_TISNUM); | 2755 | dasm_put(Dst, 15127, LJ_TISNUM); |
2757 | if (!vk) { | 2756 | if (!vk) { |
2758 | dasm_put(Dst, 15134, LJ_TISNUM, LJ_TISNUM); | 2757 | dasm_put(Dst, 15137, LJ_TISNUM, LJ_TISNUM); |
2759 | } else { | 2758 | } else { |
2760 | dasm_put(Dst, 15163); | 2759 | dasm_put(Dst, 15166); |
2761 | } | 2760 | } |
2762 | dasm_put(Dst, 15182, LJ_TISNUM); | 2761 | dasm_put(Dst, 15185, LJ_TISNUM); |
2763 | if (op == BC_FORI) { | 2762 | if (op == BC_FORI) { |
2764 | dasm_put(Dst, 15193, -BCBIAS_J*4); | 2763 | dasm_put(Dst, 15196, -BCBIAS_J*4); |
2765 | } else if (op == BC_JFORI) { | 2764 | } else if (op == BC_JFORI) { |
2766 | dasm_put(Dst, 15207, -BCBIAS_J*4, BC_JLOOP); | 2765 | dasm_put(Dst, 15210, -BCBIAS_J*4, BC_JLOOP); |
2767 | } else if (op == BC_IFORL) { | 2766 | } else if (op == BC_IFORL) { |
2768 | dasm_put(Dst, 15225, -BCBIAS_J*4); | 2767 | dasm_put(Dst, 15228, -BCBIAS_J*4); |
2769 | } else { | 2768 | } else { |
2770 | dasm_put(Dst, 15217, BC_JLOOP); | 2769 | dasm_put(Dst, 15220, BC_JLOOP); |
2771 | } | 2770 | } |
2772 | dasm_put(Dst, 15239); | 2771 | dasm_put(Dst, 15242); |
2773 | if (vk) { | 2772 | if (vk) { |
2774 | dasm_put(Dst, 15264); | 2773 | dasm_put(Dst, 15267); |
2775 | } | 2774 | } |
2776 | dasm_put(Dst, 15182, LJ_TISNUM); | 2775 | dasm_put(Dst, 15185, LJ_TISNUM); |
2777 | if (op == BC_FORI) { | 2776 | if (op == BC_FORI) { |
2778 | dasm_put(Dst, 15273); | 2777 | dasm_put(Dst, 15276); |
2779 | } else if (op == BC_JFORI) { | 2778 | } else if (op == BC_JFORI) { |
2780 | dasm_put(Dst, 15278, -BCBIAS_J*4, BC_JLOOP); | 2779 | dasm_put(Dst, 15281, -BCBIAS_J*4, BC_JLOOP); |
2781 | } else if (op == BC_IFORL) { | 2780 | } else if (op == BC_IFORL) { |
2782 | dasm_put(Dst, 15292); | 2781 | dasm_put(Dst, 15295); |
2783 | } else { | 2782 | } else { |
2784 | dasm_put(Dst, 15288, BC_JLOOP); | 2783 | dasm_put(Dst, 15291, BC_JLOOP); |
2785 | } | 2784 | } |
2786 | dasm_put(Dst, 15297); | 2785 | dasm_put(Dst, 15300); |
2787 | } else if (!vk) { | 2786 | } else if (!vk) { |
2788 | dasm_put(Dst, 15304, LJ_TISNUM); | 2787 | dasm_put(Dst, 15307, LJ_TISNUM); |
2789 | } | 2788 | } |
2790 | if (!vk) { | 2789 | if (!vk) { |
2791 | dasm_put(Dst, 15310, LJ_TISNUM); | 2790 | dasm_put(Dst, 15313, LJ_TISNUM); |
2792 | } | 2791 | } |
2793 | dasm_put(Dst, 15324); | 2792 | dasm_put(Dst, 15327); |
2794 | if (!vk) { | 2793 | if (!vk) { |
2795 | dasm_put(Dst, 15328, LJ_TISNUM); | 2794 | dasm_put(Dst, 15331, LJ_TISNUM); |
2796 | } | 2795 | } |
2797 | if (sse) { | 2796 | if (sse) { |
2798 | dasm_put(Dst, 15337); | 2797 | dasm_put(Dst, 15340); |
2799 | if (vk) { | 2798 | if (vk) { |
2800 | dasm_put(Dst, 15349); | 2799 | dasm_put(Dst, 15352); |
2801 | } else { | 2800 | } else { |
2802 | dasm_put(Dst, 15368); | 2801 | dasm_put(Dst, 15371); |
2803 | } | 2802 | } |
2804 | dasm_put(Dst, 15373); | 2803 | dasm_put(Dst, 15376); |
2805 | } else { | 2804 | } else { |
2806 | dasm_put(Dst, 15386); | 2805 | dasm_put(Dst, 15389); |
2807 | if (vk) { | 2806 | if (vk) { |
2808 | dasm_put(Dst, 15392); | 2807 | dasm_put(Dst, 15395); |
2809 | } else { | 2808 | } else { |
2810 | dasm_put(Dst, 15408); | 2809 | dasm_put(Dst, 15411); |
2811 | } | 2810 | } |
2812 | dasm_put(Dst, 15416); | 2811 | dasm_put(Dst, 15419); |
2813 | if (cmov) { | 2812 | if (cmov) { |
2814 | dasm_put(Dst, 10087); | 2813 | dasm_put(Dst, 10087); |
2815 | } else { | 2814 | } else { |
2816 | dasm_put(Dst, 10093); | 2815 | dasm_put(Dst, 10093); |
2817 | } | 2816 | } |
2818 | if (!cmov) { | 2817 | if (!cmov) { |
2819 | dasm_put(Dst, 15421); | 2818 | dasm_put(Dst, 15424); |
2820 | } | 2819 | } |
2821 | } | 2820 | } |
2822 | if (op == BC_FORI) { | 2821 | if (op == BC_FORI) { |
2823 | if (LJ_DUALNUM) { | 2822 | if (LJ_DUALNUM) { |
2824 | dasm_put(Dst, 15427); | 2823 | dasm_put(Dst, 15430); |
2825 | } else { | 2824 | } else { |
2826 | dasm_put(Dst, 15432, -BCBIAS_J*4); | 2825 | dasm_put(Dst, 15435, -BCBIAS_J*4); |
2827 | } | 2826 | } |
2828 | } else if (op == BC_JFORI) { | 2827 | } else if (op == BC_JFORI) { |
2829 | dasm_put(Dst, 15442, -BCBIAS_J*4, BC_JLOOP); | 2828 | dasm_put(Dst, 15445, -BCBIAS_J*4, BC_JLOOP); |
2830 | } else if (op == BC_IFORL) { | 2829 | } else if (op == BC_IFORL) { |
2831 | if (LJ_DUALNUM) { | 2830 | if (LJ_DUALNUM) { |
2832 | dasm_put(Dst, 15456); | 2831 | dasm_put(Dst, 15459); |
2833 | } else { | 2832 | } else { |
2834 | dasm_put(Dst, 15461, -BCBIAS_J*4); | 2833 | dasm_put(Dst, 15464, -BCBIAS_J*4); |
2835 | } | 2834 | } |
2836 | } else { | 2835 | } else { |
2837 | dasm_put(Dst, 15452, BC_JLOOP); | 2836 | dasm_put(Dst, 15455, BC_JLOOP); |
2838 | } | 2837 | } |
2839 | if (LJ_DUALNUM) { | 2838 | if (LJ_DUALNUM) { |
2840 | dasm_put(Dst, 10016); | 2839 | dasm_put(Dst, 10016); |
2841 | } else { | 2840 | } else { |
2842 | dasm_put(Dst, 10787); | 2841 | dasm_put(Dst, 10790); |
2843 | } | 2842 | } |
2844 | if (sse) { | 2843 | if (sse) { |
2845 | dasm_put(Dst, 15471); | 2844 | dasm_put(Dst, 15474); |
2846 | } | 2845 | } |
2847 | break; | 2846 | break; |
2848 | 2847 | ||
2849 | case BC_ITERL: | 2848 | case BC_ITERL: |
2850 | #if LJ_HASJIT | 2849 | #if LJ_HASJIT |
2851 | dasm_put(Dst, 15099, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2850 | dasm_put(Dst, 15102, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2852 | #endif | 2851 | #endif |
2853 | break; | 2852 | break; |
2854 | 2853 | ||
@@ -2857,18 +2856,18 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2857 | break; | 2856 | break; |
2858 | #endif | 2857 | #endif |
2859 | case BC_IITERL: | 2858 | case BC_IITERL: |
2860 | dasm_put(Dst, 15482, LJ_TNIL); | 2859 | dasm_put(Dst, 15485, LJ_TNIL); |
2861 | if (op == BC_JITERL) { | 2860 | if (op == BC_JITERL) { |
2862 | dasm_put(Dst, 15497, BC_JLOOP); | 2861 | dasm_put(Dst, 15500, BC_JLOOP); |
2863 | } else { | 2862 | } else { |
2864 | dasm_put(Dst, 15511, -BCBIAS_J*4); | 2863 | dasm_put(Dst, 15514, -BCBIAS_J*4); |
2865 | } | 2864 | } |
2866 | dasm_put(Dst, 10130); | 2865 | dasm_put(Dst, 10130); |
2867 | break; | 2866 | break; |
2868 | 2867 | ||
2869 | case BC_LOOP: | 2868 | case BC_LOOP: |
2870 | #if LJ_HASJIT | 2869 | #if LJ_HASJIT |
2871 | dasm_put(Dst, 15099, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2870 | dasm_put(Dst, 15102, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2872 | #endif | 2871 | #endif |
2873 | break; | 2872 | break; |
2874 | 2873 | ||
@@ -2878,12 +2877,12 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2878 | 2877 | ||
2879 | case BC_JLOOP: | 2878 | case BC_JLOOP: |
2880 | #if LJ_HASJIT | 2879 | #if LJ_HASJIT |
2881 | dasm_put(Dst, 15527, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); | 2880 | dasm_put(Dst, 15530, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); |
2882 | #endif | 2881 | #endif |
2883 | break; | 2882 | break; |
2884 | 2883 | ||
2885 | case BC_JMP: | 2884 | case BC_JMP: |
2886 | dasm_put(Dst, 15568, -BCBIAS_J*4); | 2885 | dasm_put(Dst, 15571, -BCBIAS_J*4); |
2887 | break; | 2886 | break; |
2888 | 2887 | ||
2889 | /* -- Function headers -------------------------------------------------- */ | 2888 | /* -- Function headers -------------------------------------------------- */ |
@@ -2897,7 +2896,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2897 | 2896 | ||
2898 | case BC_FUNCF: | 2897 | case BC_FUNCF: |
2899 | #if LJ_HASJIT | 2898 | #if LJ_HASJIT |
2900 | dasm_put(Dst, 15594, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2899 | dasm_put(Dst, 15597, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2901 | #endif | 2900 | #endif |
2902 | case BC_FUNCV: /* NYI: compiled vararg functions. */ | 2901 | case BC_FUNCV: /* NYI: compiled vararg functions. */ |
2903 | break; | 2902 | break; |
@@ -2907,13 +2906,13 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2907 | break; | 2906 | break; |
2908 | #endif | 2907 | #endif |
2909 | case BC_IFUNCF: | 2908 | case BC_IFUNCF: |
2910 | dasm_put(Dst, 15615, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); | 2909 | dasm_put(Dst, 15618, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); |
2911 | if (op == BC_JFUNCF) { | 2910 | if (op == BC_JFUNCF) { |
2912 | dasm_put(Dst, 15646, BC_JLOOP); | 2911 | dasm_put(Dst, 15649, BC_JLOOP); |
2913 | } else { | 2912 | } else { |
2914 | dasm_put(Dst, 10132); | 2913 | dasm_put(Dst, 10132); |
2915 | } | 2914 | } |
2916 | dasm_put(Dst, 15655, LJ_TNIL); | 2915 | dasm_put(Dst, 15658, LJ_TNIL); |
2917 | break; | 2916 | break; |
2918 | 2917 | ||
2919 | case BC_JFUNCV: | 2918 | case BC_JFUNCV: |
@@ -2924,30 +2923,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2924 | break; /* NYI: compiled vararg functions. */ | 2923 | break; /* NYI: compiled vararg functions. */ |
2925 | 2924 | ||
2926 | case BC_IFUNCV: | 2925 | case BC_IFUNCV: |
2927 | dasm_put(Dst, 15677, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); | 2926 | dasm_put(Dst, 15680, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); |
2928 | if (op == BC_JFUNCV) { | 2927 | if (op == BC_JFUNCV) { |
2929 | dasm_put(Dst, 15646, BC_JLOOP); | 2928 | dasm_put(Dst, 15649, BC_JLOOP); |
2930 | } else { | 2929 | } else { |
2931 | dasm_put(Dst, 15774, -4+PC2PROTO(k)); | 2930 | dasm_put(Dst, 15777, -4+PC2PROTO(k)); |
2932 | } | 2931 | } |
2933 | dasm_put(Dst, 15799, LJ_TNIL); | 2932 | dasm_put(Dst, 15802, LJ_TNIL); |
2934 | break; | 2933 | break; |
2935 | 2934 | ||
2936 | case BC_FUNCC: | 2935 | case BC_FUNCC: |
2937 | case BC_FUNCCW: | 2936 | case BC_FUNCCW: |
2938 | dasm_put(Dst, 15821, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); | 2937 | dasm_put(Dst, 15824, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); |
2939 | if (op == BC_FUNCC) { | 2938 | if (op == BC_FUNCC) { |
2940 | dasm_put(Dst, 2341); | 2939 | dasm_put(Dst, 2341); |
2941 | } else { | 2940 | } else { |
2942 | dasm_put(Dst, 15851); | 2941 | dasm_put(Dst, 15854); |
2943 | } | 2942 | } |
2944 | dasm_put(Dst, 15859, DISPATCH_GL(vmstate), ~LJ_VMST_C); | 2943 | dasm_put(Dst, 15862, DISPATCH_GL(vmstate), ~LJ_VMST_C); |
2945 | if (op == BC_FUNCC) { | 2944 | if (op == BC_FUNCC) { |
2946 | dasm_put(Dst, 15869); | 2945 | dasm_put(Dst, 15872); |
2947 | } else { | 2946 | } else { |
2948 | dasm_put(Dst, 15874, DISPATCH_GL(wrapf)); | 2947 | dasm_put(Dst, 15877, DISPATCH_GL(wrapf)); |
2949 | } | 2948 | } |
2950 | dasm_put(Dst, 15880, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 2949 | dasm_put(Dst, 15883, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
2951 | break; | 2950 | break; |
2952 | 2951 | ||
2953 | /* ---------------------------------------------------------------------- */ | 2952 | /* ---------------------------------------------------------------------- */ |
@@ -2975,7 +2974,7 @@ static int build_backend(BuildCtx *ctx) | |||
2975 | 2974 | ||
2976 | build_subroutines(ctx, cmov, sse); | 2975 | build_subroutines(ctx, cmov, sse); |
2977 | 2976 | ||
2978 | dasm_put(Dst, 15906); | 2977 | dasm_put(Dst, 15909); |
2979 | for (op = 0; op < BC__MAX; op++) | 2978 | for (op = 0; op < BC__MAX; op++) |
2980 | build_ins(ctx, (BCOp)op, op, cmov, sse); | 2979 | build_ins(ctx, (BCOp)op, op, cmov, sse); |
2981 | 2980 | ||
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h index e4de09ee..2e51c32b 100644 --- a/src/buildvm_x64win.h +++ b/src/buildvm_x64win.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 |
15 | static const unsigned char build_actionlist[15785] = { | 15 | static const unsigned char build_actionlist[15787] = { |
16 | 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, | 16 | 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, |
17 | 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, | 17 | 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, |
18 | 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237, | 18 | 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237, |
@@ -528,46 +528,46 @@ static const unsigned char build_actionlist[15785] = { | |||
528 | 182,232,131,198,4,193,232,16,252,255,36,252,235,248,7,15,135,244,249,129, | 528 | 182,232,131,198,4,193,232,16,252,255,36,252,235,248,7,15,135,244,249,129, |
529 | 124,253,199,4,239,15,130,244,247,255,252,242,15,42,4,199,255,219,4,199,255, | 529 | 124,253,199,4,239,15,130,244,247,255,252,242,15,42,4,199,255,219,4,199,255, |
530 | 252,233,244,248,248,8,255,252,242,15,42,4,202,102,15,46,4,199,255,219,4,202, | 530 | 252,233,244,248,248,8,255,252,242,15,42,4,202,102,15,46,4,199,255,219,4,202, |
531 | 221,4,194,255,129,252,253,239,15,131,244,249,255,248,1,252,242,15,16,4,199, | 531 | 221,4,199,255,129,252,253,239,15,131,244,249,255,248,1,252,242,15,16,4,199, |
532 | 248,2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,2,221,4,202,255,72,252, | 532 | 248,2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,2,221,4,202,248,4,255, |
533 | 247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,252,254, | 533 | 72,252,247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70, |
534 | 141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16, | 534 | 252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193, |
535 | 252,255,36,252,235,248,3,129,252,253,239,15,133,244,2,252,233,244,46,255, | 535 | 232,16,252,255,36,252,235,248,3,129,252,253,239,15,133,244,2,252,233,244, |
536 | 15,132,244,248,129,252,253,239,15,132,244,46,15,183,70,252,254,141,180,253, | 536 | 46,255,15,132,244,248,129,252,253,239,15,132,244,46,15,183,70,252,254,141, |
537 | 134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, | 537 | 180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, |
538 | 252,235,255,139,108,194,4,131,198,4,129,252,253,239,255,137,108,202,4,139, | 538 | 255,36,252,235,255,139,108,194,4,131,198,4,129,252,253,239,255,137,108,202, |
539 | 44,194,137,44,202,255,72,139,44,194,72,137,44,202,139,6,15,182,204,15,182, | 539 | 4,139,44,194,137,44,202,255,72,139,44,194,72,137,44,202,139,6,15,182,204, |
540 | 232,131,198,4,193,232,16,252,255,36,252,235,255,49,252,237,129,124,253,194, | 540 | 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,49,252,237,129,124, |
541 | 4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4,193, | 541 | 253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198, |
542 | 232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,133,244,251,139,44, | 542 | 4,193,232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,133,244,251, |
543 | 194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,6,15, | 543 | 139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139, |
544 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,199,68,202, | 544 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,199, |
545 | 4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,51,255,129, | 545 | 68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,51,255, |
546 | 124,253,194,4,239,15,131,244,51,255,252,242,15,16,4,194,72,184,237,237,102, | 546 | 129,124,253,194,4,239,15,131,244,51,255,252,242,15,16,4,194,72,184,237,237, |
547 | 72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28, | 547 | 102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221, |
548 | 202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233,248, | 548 | 28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233, |
549 | 1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248,1,252, | 549 | 248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248, |
550 | 242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,15, | 550 | 1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204, |
551 | 182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194,4,239, | 551 | 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194, |
552 | 15,133,244,54,139,12,194,137,213,232,251,1,20,255,252,242,15,42,192,255,137, | 552 | 4,239,15,133,244,54,139,12,194,137,213,232,251,1,20,255,252,242,15,42,192, |
553 | 252,234,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255, | 553 | 255,137,252,234,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182, |
554 | 129,124,253,252,234,4,239,15,133,244,48,129,124,253,199,4,239,15,133,244, | 554 | 192,255,129,124,253,252,234,4,239,15,133,244,48,129,124,253,199,4,239,15, |
555 | 48,139,44,252,234,3,44,199,15,128,244,47,255,129,124,253,252,234,4,239,15, | 555 | 133,244,48,139,44,252,234,3,44,199,15,128,244,47,255,129,124,253,252,234, |
556 | 133,244,50,129,124,253,199,4,239,15,133,244,50,139,4,199,3,4,252,234,15,128, | 556 | 4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,4,199,3,4,252, |
557 | 244,49,255,129,124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239, | 557 | 234,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,53,129,124,253, |
558 | 15,133,244,53,139,44,252,234,3,44,194,15,128,244,52,255,199,68,202,4,237, | 558 | 194,4,239,15,133,244,53,139,44,252,234,3,44,194,15,128,244,52,255,199,68, |
559 | 255,129,124,253,252,234,4,239,15,131,244,48,255,129,124,253,199,4,239,15, | 559 | 202,4,237,255,129,124,253,252,234,4,239,15,131,244,48,255,129,124,253,199, |
560 | 131,244,48,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,4,252, | 560 | 4,239,15,131,244,48,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221, |
561 | 234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,50,255,129,124,253, | 561 | 4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,50,255,129,124, |
562 | 199,4,239,15,131,244,50,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255, | 562 | 253,199,4,239,15,131,244,50,255,252,242,15,16,4,199,252,242,15,88,4,252,234, |
563 | 221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,53,129,124, | 563 | 255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,53,129, |
564 | 253,194,4,239,15,131,244,53,255,252,242,15,16,4,252,234,252,242,15,88,4,194, | 564 | 124,253,194,4,239,15,131,244,53,255,252,242,15,16,4,252,234,252,242,15,88, |
565 | 255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,48,129, | 565 | 4,194,255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244, |
566 | 124,253,199,4,239,15,133,244,48,139,44,252,234,43,44,199,15,128,244,47,255, | 566 | 48,129,124,253,199,4,239,15,133,244,48,139,44,252,234,43,44,199,15,128,244, |
567 | 129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244, | 567 | 47,255,129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133, |
568 | 50,139,4,199,43,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239,15, | 568 | 244,50,139,4,199,43,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239, |
569 | 133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,43,44,194,15, | 569 | 15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,43,44,194, |
570 | 128,244,52,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252, | 570 | 15,128,244,52,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252, |
571 | 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4, | 571 | 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4, |
572 | 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221, | 572 | 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221, |
573 | 4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,48,129,124, | 573 | 4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,48,129,124, |
@@ -2055,31 +2055,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2055 | } else { | 2055 | } else { |
2056 | dasm_put(Dst, 10063); | 2056 | dasm_put(Dst, 10063); |
2057 | } | 2057 | } |
2058 | dasm_put(Dst, 4586); | ||
2059 | } | 2058 | } |
2060 | goto iseqne_fp; | 2059 | goto iseqne_fp; |
2061 | case BC_ISEQP: case BC_ISNEP: | 2060 | case BC_ISEQP: case BC_ISNEP: |
2062 | vk = op == BC_ISEQP; | 2061 | vk = op == BC_ISEQP; |
2063 | dasm_put(Dst, 10655); | 2062 | dasm_put(Dst, 10657); |
2064 | if (!LJ_HASFFI) goto iseqne_test; | 2063 | if (!LJ_HASFFI) goto iseqne_test; |
2065 | if (vk) { | 2064 | if (vk) { |
2066 | dasm_put(Dst, 10669, -BCBIAS_J*4, LJ_TCDATA); | 2065 | dasm_put(Dst, 10671, -BCBIAS_J*4, LJ_TCDATA); |
2067 | } else { | 2066 | } else { |
2068 | dasm_put(Dst, 10719, LJ_TCDATA, -BCBIAS_J*4); | 2067 | dasm_put(Dst, 10721, LJ_TCDATA, -BCBIAS_J*4); |
2069 | } | 2068 | } |
2070 | break; | 2069 | break; |
2071 | 2070 | ||
2072 | /* -- Unary test and copy ops ------------------------------------------- */ | 2071 | /* -- Unary test and copy ops ------------------------------------------- */ |
2073 | 2072 | ||
2074 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: | 2073 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: |
2075 | dasm_put(Dst, 10763, LJ_TISTRUECOND); | 2074 | dasm_put(Dst, 10765, LJ_TISTRUECOND); |
2076 | if (op == BC_IST || op == BC_ISTC) { | 2075 | if (op == BC_IST || op == BC_ISTC) { |
2077 | dasm_put(Dst, 10085); | 2076 | dasm_put(Dst, 10085); |
2078 | } else { | 2077 | } else { |
2079 | dasm_put(Dst, 10080); | 2078 | dasm_put(Dst, 10080); |
2080 | } | 2079 | } |
2081 | if (op == BC_ISTC || op == BC_ISFC) { | 2080 | if (op == BC_ISTC || op == BC_ISFC) { |
2082 | dasm_put(Dst, 10775); | 2081 | dasm_put(Dst, 10777); |
2083 | } | 2082 | } |
2084 | dasm_put(Dst, 10090, -BCBIAS_J*4); | 2083 | dasm_put(Dst, 10090, -BCBIAS_J*4); |
2085 | break; | 2084 | break; |
@@ -2087,21 +2086,21 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2087 | /* -- Unary ops --------------------------------------------------------- */ | 2086 | /* -- Unary ops --------------------------------------------------------- */ |
2088 | 2087 | ||
2089 | case BC_MOV: | 2088 | case BC_MOV: |
2090 | dasm_put(Dst, 10786); | 2089 | dasm_put(Dst, 10788); |
2091 | break; | 2090 | break; |
2092 | case BC_NOT: | 2091 | case BC_NOT: |
2093 | dasm_put(Dst, 10814, LJ_TISTRUECOND, LJ_TTRUE); | 2092 | dasm_put(Dst, 10816, LJ_TISTRUECOND, LJ_TTRUE); |
2094 | break; | 2093 | break; |
2095 | case BC_UNM: | 2094 | case BC_UNM: |
2096 | if (LJ_DUALNUM) { | 2095 | if (LJ_DUALNUM) { |
2097 | dasm_put(Dst, 10850, LJ_TISNUM, LJ_TISNUM); | 2096 | dasm_put(Dst, 10852, LJ_TISNUM, LJ_TISNUM); |
2098 | } else { | 2097 | } else { |
2099 | dasm_put(Dst, 10927, LJ_TISNUM); | 2098 | dasm_put(Dst, 10929, LJ_TISNUM); |
2100 | } | 2099 | } |
2101 | if (sse) { | 2100 | if (sse) { |
2102 | dasm_put(Dst, 10938, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 2101 | dasm_put(Dst, 10940, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
2103 | } else { | 2102 | } else { |
2104 | dasm_put(Dst, 10963); | 2103 | dasm_put(Dst, 10965); |
2105 | } | 2104 | } |
2106 | if (LJ_DUALNUM) { | 2105 | if (LJ_DUALNUM) { |
2107 | dasm_put(Dst, 10361); | 2106 | dasm_put(Dst, 10361); |
@@ -2110,21 +2109,21 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2110 | } | 2109 | } |
2111 | break; | 2110 | break; |
2112 | case BC_LEN: | 2111 | case BC_LEN: |
2113 | dasm_put(Dst, 10972, LJ_TSTR); | 2112 | dasm_put(Dst, 10974, LJ_TSTR); |
2114 | if (LJ_DUALNUM) { | 2113 | if (LJ_DUALNUM) { |
2115 | dasm_put(Dst, 10986, Dt5(->len), LJ_TISNUM); | 2114 | dasm_put(Dst, 10988, Dt5(->len), LJ_TISNUM); |
2116 | } else if (sse) { | 2115 | } else if (sse) { |
2117 | dasm_put(Dst, 11000, Dt5(->len)); | 2116 | dasm_put(Dst, 11002, Dt5(->len)); |
2118 | } else { | 2117 | } else { |
2119 | dasm_put(Dst, 11018, Dt5(->len)); | 2118 | dasm_put(Dst, 11020, Dt5(->len)); |
2120 | } | 2119 | } |
2121 | dasm_put(Dst, 11027, LJ_TTAB); | 2120 | dasm_put(Dst, 11029, LJ_TTAB); |
2122 | if (LJ_DUALNUM) { | 2121 | if (LJ_DUALNUM) { |
2123 | } else if (sse) { | 2122 | } else if (sse) { |
2124 | dasm_put(Dst, 11068); | 2123 | dasm_put(Dst, 11070); |
2125 | } else { | 2124 | } else { |
2126 | } | 2125 | } |
2127 | dasm_put(Dst, 11074); | 2126 | dasm_put(Dst, 11076); |
2128 | break; | 2127 | break; |
2129 | 2128 | ||
2130 | /* -- Binary ops -------------------------------------------------------- */ | 2129 | /* -- Binary ops -------------------------------------------------------- */ |
@@ -2132,603 +2131,603 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2132 | 2131 | ||
2133 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: | 2132 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: |
2134 | if (LJ_DUALNUM) { | 2133 | if (LJ_DUALNUM) { |
2135 | dasm_put(Dst, 11087); | 2134 | dasm_put(Dst, 11089); |
2136 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2135 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2137 | switch (vk) { | 2136 | switch (vk) { |
2138 | case 0: | 2137 | case 0: |
2139 | dasm_put(Dst, 11095, LJ_TISNUM, LJ_TISNUM); | 2138 | dasm_put(Dst, 11097, LJ_TISNUM, LJ_TISNUM); |
2140 | break; | 2139 | break; |
2141 | case 1: | 2140 | case 1: |
2142 | dasm_put(Dst, 11128, LJ_TISNUM, LJ_TISNUM); | 2141 | dasm_put(Dst, 11130, LJ_TISNUM, LJ_TISNUM); |
2143 | break; | 2142 | break; |
2144 | default: | 2143 | default: |
2145 | dasm_put(Dst, 11161, LJ_TISNUM, LJ_TISNUM); | 2144 | dasm_put(Dst, 11163, LJ_TISNUM, LJ_TISNUM); |
2146 | break; | 2145 | break; |
2147 | } | 2146 | } |
2148 | dasm_put(Dst, 11194, LJ_TISNUM); | 2147 | dasm_put(Dst, 11196, LJ_TISNUM); |
2149 | if (vk == 1) { | 2148 | if (vk == 1) { |
2150 | dasm_put(Dst, 10996); | 2149 | dasm_put(Dst, 10998); |
2151 | } else { | 2150 | } else { |
2152 | dasm_put(Dst, 10782); | 2151 | dasm_put(Dst, 10784); |
2153 | } | 2152 | } |
2154 | dasm_put(Dst, 10102); | 2153 | dasm_put(Dst, 10102); |
2155 | } else { | 2154 | } else { |
2156 | dasm_put(Dst, 11087); | 2155 | dasm_put(Dst, 11089); |
2157 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2156 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2158 | switch (vk) { | 2157 | switch (vk) { |
2159 | case 0: | 2158 | case 0: |
2160 | dasm_put(Dst, 11200, LJ_TISNUM); | 2159 | dasm_put(Dst, 11202, LJ_TISNUM); |
2161 | if (LJ_DUALNUM) { | 2160 | if (LJ_DUALNUM) { |
2162 | dasm_put(Dst, 11212, LJ_TISNUM); | 2161 | dasm_put(Dst, 11214, LJ_TISNUM); |
2163 | } | 2162 | } |
2164 | if (sse) { | 2163 | if (sse) { |
2165 | dasm_put(Dst, 11223); | 2164 | dasm_put(Dst, 11225); |
2166 | } else { | 2165 | } else { |
2167 | dasm_put(Dst, 11237); | 2166 | dasm_put(Dst, 11239); |
2168 | } | 2167 | } |
2169 | break; | 2168 | break; |
2170 | case 1: | 2169 | case 1: |
2171 | dasm_put(Dst, 11245, LJ_TISNUM); | 2170 | dasm_put(Dst, 11247, LJ_TISNUM); |
2172 | if (LJ_DUALNUM) { | 2171 | if (LJ_DUALNUM) { |
2173 | dasm_put(Dst, 11257, LJ_TISNUM); | 2172 | dasm_put(Dst, 11259, LJ_TISNUM); |
2174 | } | 2173 | } |
2175 | if (sse) { | 2174 | if (sse) { |
2176 | dasm_put(Dst, 11268); | 2175 | dasm_put(Dst, 11270); |
2177 | } else { | 2176 | } else { |
2178 | dasm_put(Dst, 11282); | 2177 | dasm_put(Dst, 11284); |
2179 | } | 2178 | } |
2180 | break; | 2179 | break; |
2181 | default: | 2180 | default: |
2182 | dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM); | 2181 | dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM); |
2183 | if (sse) { | 2182 | if (sse) { |
2184 | dasm_put(Dst, 11312); | 2183 | dasm_put(Dst, 11314); |
2185 | } else { | 2184 | } else { |
2186 | dasm_put(Dst, 11326); | 2185 | dasm_put(Dst, 11328); |
2187 | } | 2186 | } |
2188 | break; | 2187 | break; |
2189 | } | 2188 | } |
2190 | if (sse) { | 2189 | if (sse) { |
2191 | dasm_put(Dst, 10956); | 2190 | dasm_put(Dst, 10958); |
2192 | } else { | 2191 | } else { |
2193 | dasm_put(Dst, 10968); | 2192 | dasm_put(Dst, 10970); |
2194 | } | 2193 | } |
2195 | dasm_put(Dst, 10102); | 2194 | dasm_put(Dst, 10102); |
2196 | } | 2195 | } |
2197 | break; | 2196 | break; |
2198 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: | 2197 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: |
2199 | if (LJ_DUALNUM) { | 2198 | if (LJ_DUALNUM) { |
2200 | dasm_put(Dst, 11087); | 2199 | dasm_put(Dst, 11089); |
2201 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2200 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2202 | switch (vk) { | 2201 | switch (vk) { |
2203 | case 0: | 2202 | case 0: |
2204 | dasm_put(Dst, 11334, LJ_TISNUM, LJ_TISNUM); | 2203 | dasm_put(Dst, 11336, LJ_TISNUM, LJ_TISNUM); |
2205 | break; | 2204 | break; |
2206 | case 1: | 2205 | case 1: |
2207 | dasm_put(Dst, 11367, LJ_TISNUM, LJ_TISNUM); | 2206 | dasm_put(Dst, 11369, LJ_TISNUM, LJ_TISNUM); |
2208 | break; | 2207 | break; |
2209 | default: | 2208 | default: |
2210 | dasm_put(Dst, 11400, LJ_TISNUM, LJ_TISNUM); | 2209 | dasm_put(Dst, 11402, LJ_TISNUM, LJ_TISNUM); |
2211 | break; | 2210 | break; |
2212 | } | 2211 | } |
2213 | dasm_put(Dst, 11194, LJ_TISNUM); | 2212 | dasm_put(Dst, 11196, LJ_TISNUM); |
2214 | if (vk == 1) { | 2213 | if (vk == 1) { |
2215 | dasm_put(Dst, 10996); | 2214 | dasm_put(Dst, 10998); |
2216 | } else { | 2215 | } else { |
2217 | dasm_put(Dst, 10782); | 2216 | dasm_put(Dst, 10784); |
2218 | } | 2217 | } |
2219 | dasm_put(Dst, 10102); | 2218 | dasm_put(Dst, 10102); |
2220 | } else { | 2219 | } else { |
2221 | dasm_put(Dst, 11087); | 2220 | dasm_put(Dst, 11089); |
2222 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2221 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2223 | switch (vk) { | 2222 | switch (vk) { |
2224 | case 0: | 2223 | case 0: |
2225 | dasm_put(Dst, 11200, LJ_TISNUM); | 2224 | dasm_put(Dst, 11202, LJ_TISNUM); |
2226 | if (LJ_DUALNUM) { | 2225 | if (LJ_DUALNUM) { |
2227 | dasm_put(Dst, 11212, LJ_TISNUM); | 2226 | dasm_put(Dst, 11214, LJ_TISNUM); |
2228 | } | 2227 | } |
2229 | if (sse) { | 2228 | if (sse) { |
2230 | dasm_put(Dst, 11433); | 2229 | dasm_put(Dst, 11435); |
2231 | } else { | 2230 | } else { |
2232 | dasm_put(Dst, 11447); | 2231 | dasm_put(Dst, 11449); |
2233 | } | 2232 | } |
2234 | break; | 2233 | break; |
2235 | case 1: | 2234 | case 1: |
2236 | dasm_put(Dst, 11245, LJ_TISNUM); | 2235 | dasm_put(Dst, 11247, LJ_TISNUM); |
2237 | if (LJ_DUALNUM) { | 2236 | if (LJ_DUALNUM) { |
2238 | dasm_put(Dst, 11257, LJ_TISNUM); | 2237 | dasm_put(Dst, 11259, LJ_TISNUM); |
2239 | } | 2238 | } |
2240 | if (sse) { | 2239 | if (sse) { |
2241 | dasm_put(Dst, 11455); | 2240 | dasm_put(Dst, 11457); |
2242 | } else { | 2241 | } else { |
2243 | dasm_put(Dst, 11469); | 2242 | dasm_put(Dst, 11471); |
2244 | } | 2243 | } |
2245 | break; | 2244 | break; |
2246 | default: | 2245 | default: |
2247 | dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM); | 2246 | dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM); |
2248 | if (sse) { | 2247 | if (sse) { |
2249 | dasm_put(Dst, 11477); | 2248 | dasm_put(Dst, 11479); |
2250 | } else { | 2249 | } else { |
2251 | dasm_put(Dst, 11491); | 2250 | dasm_put(Dst, 11493); |
2252 | } | 2251 | } |
2253 | break; | 2252 | break; |
2254 | } | 2253 | } |
2255 | if (sse) { | 2254 | if (sse) { |
2256 | dasm_put(Dst, 10956); | 2255 | dasm_put(Dst, 10958); |
2257 | } else { | 2256 | } else { |
2258 | dasm_put(Dst, 10968); | 2257 | dasm_put(Dst, 10970); |
2259 | } | 2258 | } |
2260 | dasm_put(Dst, 10102); | 2259 | dasm_put(Dst, 10102); |
2261 | } | 2260 | } |
2262 | break; | 2261 | break; |
2263 | case BC_MULVN: case BC_MULNV: case BC_MULVV: | 2262 | case BC_MULVN: case BC_MULNV: case BC_MULVV: |
2264 | if (LJ_DUALNUM) { | 2263 | if (LJ_DUALNUM) { |
2265 | dasm_put(Dst, 11087); | 2264 | dasm_put(Dst, 11089); |
2266 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2265 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2267 | switch (vk) { | 2266 | switch (vk) { |
2268 | case 0: | 2267 | case 0: |
2269 | dasm_put(Dst, 11499, LJ_TISNUM, LJ_TISNUM); | 2268 | dasm_put(Dst, 11501, LJ_TISNUM, LJ_TISNUM); |
2270 | break; | 2269 | break; |
2271 | case 1: | 2270 | case 1: |
2272 | dasm_put(Dst, 11533, LJ_TISNUM, LJ_TISNUM); | 2271 | dasm_put(Dst, 11535, LJ_TISNUM, LJ_TISNUM); |
2273 | break; | 2272 | break; |
2274 | default: | 2273 | default: |
2275 | dasm_put(Dst, 11567, LJ_TISNUM, LJ_TISNUM); | 2274 | dasm_put(Dst, 11569, LJ_TISNUM, LJ_TISNUM); |
2276 | break; | 2275 | break; |
2277 | } | 2276 | } |
2278 | dasm_put(Dst, 11194, LJ_TISNUM); | 2277 | dasm_put(Dst, 11196, LJ_TISNUM); |
2279 | if (vk == 1) { | 2278 | if (vk == 1) { |
2280 | dasm_put(Dst, 10996); | 2279 | dasm_put(Dst, 10998); |
2281 | } else { | 2280 | } else { |
2282 | dasm_put(Dst, 10782); | 2281 | dasm_put(Dst, 10784); |
2283 | } | 2282 | } |
2284 | dasm_put(Dst, 10102); | 2283 | dasm_put(Dst, 10102); |
2285 | } else { | 2284 | } else { |
2286 | dasm_put(Dst, 11087); | 2285 | dasm_put(Dst, 11089); |
2287 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2286 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2288 | switch (vk) { | 2287 | switch (vk) { |
2289 | case 0: | 2288 | case 0: |
2290 | dasm_put(Dst, 11200, LJ_TISNUM); | 2289 | dasm_put(Dst, 11202, LJ_TISNUM); |
2291 | if (LJ_DUALNUM) { | 2290 | if (LJ_DUALNUM) { |
2292 | dasm_put(Dst, 11212, LJ_TISNUM); | 2291 | dasm_put(Dst, 11214, LJ_TISNUM); |
2293 | } | 2292 | } |
2294 | if (sse) { | 2293 | if (sse) { |
2295 | dasm_put(Dst, 11601); | 2294 | dasm_put(Dst, 11603); |
2296 | } else { | 2295 | } else { |
2297 | dasm_put(Dst, 11615); | 2296 | dasm_put(Dst, 11617); |
2298 | } | 2297 | } |
2299 | break; | 2298 | break; |
2300 | case 1: | 2299 | case 1: |
2301 | dasm_put(Dst, 11245, LJ_TISNUM); | 2300 | dasm_put(Dst, 11247, LJ_TISNUM); |
2302 | if (LJ_DUALNUM) { | 2301 | if (LJ_DUALNUM) { |
2303 | dasm_put(Dst, 11257, LJ_TISNUM); | 2302 | dasm_put(Dst, 11259, LJ_TISNUM); |
2304 | } | 2303 | } |
2305 | if (sse) { | 2304 | if (sse) { |
2306 | dasm_put(Dst, 11623); | 2305 | dasm_put(Dst, 11625); |
2307 | } else { | 2306 | } else { |
2308 | dasm_put(Dst, 11637); | 2307 | dasm_put(Dst, 11639); |
2309 | } | 2308 | } |
2310 | break; | 2309 | break; |
2311 | default: | 2310 | default: |
2312 | dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM); | 2311 | dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM); |
2313 | if (sse) { | 2312 | if (sse) { |
2314 | dasm_put(Dst, 11645); | 2313 | dasm_put(Dst, 11647); |
2315 | } else { | 2314 | } else { |
2316 | dasm_put(Dst, 11659); | 2315 | dasm_put(Dst, 11661); |
2317 | } | 2316 | } |
2318 | break; | 2317 | break; |
2319 | } | 2318 | } |
2320 | if (sse) { | 2319 | if (sse) { |
2321 | dasm_put(Dst, 10956); | 2320 | dasm_put(Dst, 10958); |
2322 | } else { | 2321 | } else { |
2323 | dasm_put(Dst, 10968); | 2322 | dasm_put(Dst, 10970); |
2324 | } | 2323 | } |
2325 | dasm_put(Dst, 10102); | 2324 | dasm_put(Dst, 10102); |
2326 | } | 2325 | } |
2327 | break; | 2326 | break; |
2328 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: | 2327 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: |
2329 | dasm_put(Dst, 11087); | 2328 | dasm_put(Dst, 11089); |
2330 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2329 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2331 | switch (vk) { | 2330 | switch (vk) { |
2332 | case 0: | 2331 | case 0: |
2333 | dasm_put(Dst, 11200, LJ_TISNUM); | 2332 | dasm_put(Dst, 11202, LJ_TISNUM); |
2334 | if (LJ_DUALNUM) { | 2333 | if (LJ_DUALNUM) { |
2335 | dasm_put(Dst, 11212, LJ_TISNUM); | 2334 | dasm_put(Dst, 11214, LJ_TISNUM); |
2336 | } | 2335 | } |
2337 | if (sse) { | 2336 | if (sse) { |
2338 | dasm_put(Dst, 11667); | 2337 | dasm_put(Dst, 11669); |
2339 | } else { | 2338 | } else { |
2340 | dasm_put(Dst, 11681); | 2339 | dasm_put(Dst, 11683); |
2341 | } | 2340 | } |
2342 | break; | 2341 | break; |
2343 | case 1: | 2342 | case 1: |
2344 | dasm_put(Dst, 11245, LJ_TISNUM); | 2343 | dasm_put(Dst, 11247, LJ_TISNUM); |
2345 | if (LJ_DUALNUM) { | 2344 | if (LJ_DUALNUM) { |
2346 | dasm_put(Dst, 11257, LJ_TISNUM); | 2345 | dasm_put(Dst, 11259, LJ_TISNUM); |
2347 | } | 2346 | } |
2348 | if (sse) { | 2347 | if (sse) { |
2349 | dasm_put(Dst, 11689); | 2348 | dasm_put(Dst, 11691); |
2350 | } else { | 2349 | } else { |
2351 | dasm_put(Dst, 11703); | 2350 | dasm_put(Dst, 11705); |
2352 | } | 2351 | } |
2353 | break; | 2352 | break; |
2354 | default: | 2353 | default: |
2355 | dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM); | 2354 | dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM); |
2356 | if (sse) { | 2355 | if (sse) { |
2357 | dasm_put(Dst, 11711); | 2356 | dasm_put(Dst, 11713); |
2358 | } else { | 2357 | } else { |
2359 | dasm_put(Dst, 11725); | 2358 | dasm_put(Dst, 11727); |
2360 | } | 2359 | } |
2361 | break; | 2360 | break; |
2362 | } | 2361 | } |
2363 | if (sse) { | 2362 | if (sse) { |
2364 | dasm_put(Dst, 10956); | 2363 | dasm_put(Dst, 10958); |
2365 | } else { | 2364 | } else { |
2366 | dasm_put(Dst, 10968); | 2365 | dasm_put(Dst, 10970); |
2367 | } | 2366 | } |
2368 | dasm_put(Dst, 10102); | 2367 | dasm_put(Dst, 10102); |
2369 | break; | 2368 | break; |
2370 | case BC_MODVN: | 2369 | case BC_MODVN: |
2371 | dasm_put(Dst, 11087); | 2370 | dasm_put(Dst, 11089); |
2372 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2371 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2373 | switch (vk) { | 2372 | switch (vk) { |
2374 | case 0: | 2373 | case 0: |
2375 | dasm_put(Dst, 11200, LJ_TISNUM); | 2374 | dasm_put(Dst, 11202, LJ_TISNUM); |
2376 | if (LJ_DUALNUM) { | 2375 | if (LJ_DUALNUM) { |
2377 | dasm_put(Dst, 11212, LJ_TISNUM); | 2376 | dasm_put(Dst, 11214, LJ_TISNUM); |
2378 | } | 2377 | } |
2379 | if (sse) { | 2378 | if (sse) { |
2380 | dasm_put(Dst, 11733); | 2379 | dasm_put(Dst, 11735); |
2381 | } else { | 2380 | } else { |
2382 | dasm_put(Dst, 11747); | 2381 | dasm_put(Dst, 11749); |
2383 | } | 2382 | } |
2384 | break; | 2383 | break; |
2385 | case 1: | 2384 | case 1: |
2386 | dasm_put(Dst, 11245, LJ_TISNUM); | 2385 | dasm_put(Dst, 11247, LJ_TISNUM); |
2387 | if (LJ_DUALNUM) { | 2386 | if (LJ_DUALNUM) { |
2388 | dasm_put(Dst, 11257, LJ_TISNUM); | 2387 | dasm_put(Dst, 11259, LJ_TISNUM); |
2389 | } | 2388 | } |
2390 | if (sse) { | 2389 | if (sse) { |
2391 | dasm_put(Dst, 11755); | 2390 | dasm_put(Dst, 11757); |
2392 | } else { | 2391 | } else { |
2393 | dasm_put(Dst, 11769); | 2392 | dasm_put(Dst, 11771); |
2394 | } | 2393 | } |
2395 | break; | 2394 | break; |
2396 | default: | 2395 | default: |
2397 | dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM); | 2396 | dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM); |
2398 | if (sse) { | 2397 | if (sse) { |
2399 | dasm_put(Dst, 11777); | 2398 | dasm_put(Dst, 11779); |
2400 | } else { | 2399 | } else { |
2401 | dasm_put(Dst, 11791); | 2400 | dasm_put(Dst, 11793); |
2402 | } | 2401 | } |
2403 | break; | 2402 | break; |
2404 | } | 2403 | } |
2405 | dasm_put(Dst, 11799); | 2404 | dasm_put(Dst, 11801); |
2406 | if (sse) { | 2405 | if (sse) { |
2407 | dasm_put(Dst, 10956); | 2406 | dasm_put(Dst, 10958); |
2408 | } else { | 2407 | } else { |
2409 | dasm_put(Dst, 10968); | 2408 | dasm_put(Dst, 10970); |
2410 | } | 2409 | } |
2411 | dasm_put(Dst, 10102); | 2410 | dasm_put(Dst, 10102); |
2412 | break; | 2411 | break; |
2413 | case BC_MODNV: case BC_MODVV: | 2412 | case BC_MODNV: case BC_MODVV: |
2414 | dasm_put(Dst, 11087); | 2413 | dasm_put(Dst, 11089); |
2415 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2414 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2416 | switch (vk) { | 2415 | switch (vk) { |
2417 | case 0: | 2416 | case 0: |
2418 | dasm_put(Dst, 11200, LJ_TISNUM); | 2417 | dasm_put(Dst, 11202, LJ_TISNUM); |
2419 | if (LJ_DUALNUM) { | 2418 | if (LJ_DUALNUM) { |
2420 | dasm_put(Dst, 11212, LJ_TISNUM); | 2419 | dasm_put(Dst, 11214, LJ_TISNUM); |
2421 | } | 2420 | } |
2422 | if (sse) { | 2421 | if (sse) { |
2423 | dasm_put(Dst, 11733); | 2422 | dasm_put(Dst, 11735); |
2424 | } else { | 2423 | } else { |
2425 | dasm_put(Dst, 11747); | 2424 | dasm_put(Dst, 11749); |
2426 | } | 2425 | } |
2427 | break; | 2426 | break; |
2428 | case 1: | 2427 | case 1: |
2429 | dasm_put(Dst, 11245, LJ_TISNUM); | 2428 | dasm_put(Dst, 11247, LJ_TISNUM); |
2430 | if (LJ_DUALNUM) { | 2429 | if (LJ_DUALNUM) { |
2431 | dasm_put(Dst, 11257, LJ_TISNUM); | 2430 | dasm_put(Dst, 11259, LJ_TISNUM); |
2432 | } | 2431 | } |
2433 | if (sse) { | 2432 | if (sse) { |
2434 | dasm_put(Dst, 11755); | 2433 | dasm_put(Dst, 11757); |
2435 | } else { | 2434 | } else { |
2436 | dasm_put(Dst, 11769); | 2435 | dasm_put(Dst, 11771); |
2437 | } | 2436 | } |
2438 | break; | 2437 | break; |
2439 | default: | 2438 | default: |
2440 | dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM); | 2439 | dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM); |
2441 | if (sse) { | 2440 | if (sse) { |
2442 | dasm_put(Dst, 11777); | 2441 | dasm_put(Dst, 11779); |
2443 | } else { | 2442 | } else { |
2444 | dasm_put(Dst, 11791); | 2443 | dasm_put(Dst, 11793); |
2445 | } | 2444 | } |
2446 | break; | 2445 | break; |
2447 | } | 2446 | } |
2448 | dasm_put(Dst, 11805); | 2447 | dasm_put(Dst, 11807); |
2449 | break; | 2448 | break; |
2450 | case BC_POW: | 2449 | case BC_POW: |
2451 | dasm_put(Dst, 11087); | 2450 | dasm_put(Dst, 11089); |
2452 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2451 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2453 | switch (vk) { | 2452 | switch (vk) { |
2454 | case 0: | 2453 | case 0: |
2455 | dasm_put(Dst, 11200, LJ_TISNUM); | 2454 | dasm_put(Dst, 11202, LJ_TISNUM); |
2456 | if (LJ_DUALNUM) { | 2455 | if (LJ_DUALNUM) { |
2457 | dasm_put(Dst, 11212, LJ_TISNUM); | 2456 | dasm_put(Dst, 11214, LJ_TISNUM); |
2458 | } | 2457 | } |
2459 | if (sse) { | 2458 | if (sse) { |
2460 | dasm_put(Dst, 11733); | 2459 | dasm_put(Dst, 11735); |
2461 | } else { | 2460 | } else { |
2462 | dasm_put(Dst, 11747); | 2461 | dasm_put(Dst, 11749); |
2463 | } | 2462 | } |
2464 | break; | 2463 | break; |
2465 | case 1: | 2464 | case 1: |
2466 | dasm_put(Dst, 11245, LJ_TISNUM); | 2465 | dasm_put(Dst, 11247, LJ_TISNUM); |
2467 | if (LJ_DUALNUM) { | 2466 | if (LJ_DUALNUM) { |
2468 | dasm_put(Dst, 11257, LJ_TISNUM); | 2467 | dasm_put(Dst, 11259, LJ_TISNUM); |
2469 | } | 2468 | } |
2470 | if (sse) { | 2469 | if (sse) { |
2471 | dasm_put(Dst, 11755); | 2470 | dasm_put(Dst, 11757); |
2472 | } else { | 2471 | } else { |
2473 | dasm_put(Dst, 11769); | 2472 | dasm_put(Dst, 11771); |
2474 | } | 2473 | } |
2475 | break; | 2474 | break; |
2476 | default: | 2475 | default: |
2477 | dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM); | 2476 | dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM); |
2478 | if (sse) { | 2477 | if (sse) { |
2479 | dasm_put(Dst, 11777); | 2478 | dasm_put(Dst, 11779); |
2480 | } else { | 2479 | } else { |
2481 | dasm_put(Dst, 11791); | 2480 | dasm_put(Dst, 11793); |
2482 | } | 2481 | } |
2483 | break; | 2482 | break; |
2484 | } | 2483 | } |
2485 | dasm_put(Dst, 11810); | 2484 | dasm_put(Dst, 11812); |
2486 | if (sse) { | 2485 | if (sse) { |
2487 | dasm_put(Dst, 10956); | 2486 | dasm_put(Dst, 10958); |
2488 | } else { | 2487 | } else { |
2489 | dasm_put(Dst, 10968); | 2488 | dasm_put(Dst, 10970); |
2490 | } | 2489 | } |
2491 | dasm_put(Dst, 10102); | 2490 | dasm_put(Dst, 10102); |
2492 | break; | 2491 | break; |
2493 | 2492 | ||
2494 | case BC_CAT: | 2493 | case BC_CAT: |
2495 | dasm_put(Dst, 11814, Dt1(->base), Dt1(->base)); | 2494 | dasm_put(Dst, 11816, Dt1(->base), Dt1(->base)); |
2496 | break; | 2495 | break; |
2497 | 2496 | ||
2498 | /* -- Constant ops ------------------------------------------------------ */ | 2497 | /* -- Constant ops ------------------------------------------------------ */ |
2499 | 2498 | ||
2500 | case BC_KSTR: | 2499 | case BC_KSTR: |
2501 | dasm_put(Dst, 11897, LJ_TSTR); | 2500 | dasm_put(Dst, 11899, LJ_TSTR); |
2502 | break; | 2501 | break; |
2503 | case BC_KCDATA: | 2502 | case BC_KCDATA: |
2504 | #if LJ_HASFFI | 2503 | #if LJ_HASFFI |
2505 | dasm_put(Dst, 11897, LJ_TCDATA); | 2504 | dasm_put(Dst, 11899, LJ_TCDATA); |
2506 | #endif | 2505 | #endif |
2507 | break; | 2506 | break; |
2508 | case BC_KSHORT: | 2507 | case BC_KSHORT: |
2509 | if (LJ_DUALNUM) { | 2508 | if (LJ_DUALNUM) { |
2510 | dasm_put(Dst, 11932, LJ_TISNUM); | 2509 | dasm_put(Dst, 11934, LJ_TISNUM); |
2511 | } else if (sse) { | 2510 | } else if (sse) { |
2512 | dasm_put(Dst, 11944); | 2511 | dasm_put(Dst, 11946); |
2513 | } else { | 2512 | } else { |
2514 | dasm_put(Dst, 11959); | 2513 | dasm_put(Dst, 11961); |
2515 | } | 2514 | } |
2516 | dasm_put(Dst, 10102); | 2515 | dasm_put(Dst, 10102); |
2517 | break; | 2516 | break; |
2518 | case BC_KNUM: | 2517 | case BC_KNUM: |
2519 | if (sse) { | 2518 | if (sse) { |
2520 | dasm_put(Dst, 11967); | 2519 | dasm_put(Dst, 11969); |
2521 | } else { | 2520 | } else { |
2522 | dasm_put(Dst, 11980); | 2521 | dasm_put(Dst, 11982); |
2523 | } | 2522 | } |
2524 | dasm_put(Dst, 10102); | 2523 | dasm_put(Dst, 10102); |
2525 | break; | 2524 | break; |
2526 | case BC_KPRI: | 2525 | case BC_KPRI: |
2527 | dasm_put(Dst, 11987); | 2526 | dasm_put(Dst, 11989); |
2528 | break; | 2527 | break; |
2529 | case BC_KNIL: | 2528 | case BC_KNIL: |
2530 | dasm_put(Dst, 12015, LJ_TNIL); | 2529 | dasm_put(Dst, 12017, LJ_TNIL); |
2531 | break; | 2530 | break; |
2532 | 2531 | ||
2533 | /* -- Upvalue and function ops ------------------------------------------ */ | 2532 | /* -- Upvalue and function ops ------------------------------------------ */ |
2534 | 2533 | ||
2535 | case BC_UGET: | 2534 | case BC_UGET: |
2536 | dasm_put(Dst, 12062, offsetof(GCfuncL, uvptr), DtA(->v)); | 2535 | dasm_put(Dst, 12064, offsetof(GCfuncL, uvptr), DtA(->v)); |
2537 | break; | 2536 | break; |
2538 | case BC_USETV: | 2537 | case BC_USETV: |
2539 | #define TV2MARKOFS \ | 2538 | #define TV2MARKOFS \ |
2540 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) | 2539 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) |
2541 | dasm_put(Dst, 12102, 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); | 2540 | dasm_put(Dst, 12104, 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); |
2542 | dasm_put(Dst, 12193); | 2541 | dasm_put(Dst, 12195); |
2543 | break; | 2542 | break; |
2544 | #undef TV2MARKOFS | 2543 | #undef TV2MARKOFS |
2545 | case BC_USETS: | 2544 | case BC_USETS: |
2546 | dasm_put(Dst, 12205, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); | 2545 | dasm_put(Dst, 12207, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); |
2547 | break; | 2546 | break; |
2548 | case BC_USETN: | 2547 | case BC_USETN: |
2549 | dasm_put(Dst, 12298); | 2548 | dasm_put(Dst, 12300); |
2550 | if (sse) { | 2549 | if (sse) { |
2551 | dasm_put(Dst, 12303); | 2550 | dasm_put(Dst, 12305); |
2552 | } else { | 2551 | } else { |
2553 | dasm_put(Dst, 11751); | 2552 | dasm_put(Dst, 10613); |
2554 | } | 2553 | } |
2555 | dasm_put(Dst, 12310, offsetof(GCfuncL, uvptr), DtA(->v)); | 2554 | dasm_put(Dst, 12312, offsetof(GCfuncL, uvptr), DtA(->v)); |
2556 | if (sse) { | 2555 | if (sse) { |
2557 | dasm_put(Dst, 12319); | 2556 | dasm_put(Dst, 12321); |
2558 | } else { | 2557 | } else { |
2559 | dasm_put(Dst, 12325); | 2558 | dasm_put(Dst, 12327); |
2560 | } | 2559 | } |
2561 | dasm_put(Dst, 10102); | 2560 | dasm_put(Dst, 10102); |
2562 | break; | 2561 | break; |
2563 | case BC_USETP: | 2562 | case BC_USETP: |
2564 | dasm_put(Dst, 12328, offsetof(GCfuncL, uvptr), DtA(->v)); | 2563 | dasm_put(Dst, 12330, offsetof(GCfuncL, uvptr), DtA(->v)); |
2565 | break; | 2564 | break; |
2566 | case BC_UCLO: | 2565 | case BC_UCLO: |
2567 | dasm_put(Dst, 12367, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); | 2566 | dasm_put(Dst, 12369, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); |
2568 | break; | 2567 | break; |
2569 | 2568 | ||
2570 | case BC_FNEW: | 2569 | case BC_FNEW: |
2571 | dasm_put(Dst, 12422, Dt1(->base), Dt1(->base), LJ_TFUNC); | 2570 | dasm_put(Dst, 12424, Dt1(->base), Dt1(->base), LJ_TFUNC); |
2572 | break; | 2571 | break; |
2573 | 2572 | ||
2574 | /* -- Table ops --------------------------------------------------------- */ | 2573 | /* -- Table ops --------------------------------------------------------- */ |
2575 | 2574 | ||
2576 | case BC_TNEW: | 2575 | case BC_TNEW: |
2577 | dasm_put(Dst, 12488, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); | 2576 | dasm_put(Dst, 12490, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); |
2578 | break; | 2577 | break; |
2579 | case BC_TDUP: | 2578 | case BC_TDUP: |
2580 | dasm_put(Dst, 12610, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 2579 | dasm_put(Dst, 12612, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); |
2581 | break; | 2580 | break; |
2582 | 2581 | ||
2583 | case BC_GGET: | 2582 | case BC_GGET: |
2584 | dasm_put(Dst, 12705, Dt7(->env)); | 2583 | dasm_put(Dst, 12707, Dt7(->env)); |
2585 | break; | 2584 | break; |
2586 | case BC_GSET: | 2585 | case BC_GSET: |
2587 | dasm_put(Dst, 12724, Dt7(->env)); | 2586 | dasm_put(Dst, 12726, Dt7(->env)); |
2588 | break; | 2587 | break; |
2589 | 2588 | ||
2590 | case BC_TGETV: | 2589 | case BC_TGETV: |
2591 | dasm_put(Dst, 12743, LJ_TTAB); | 2590 | dasm_put(Dst, 12745, LJ_TTAB); |
2592 | if (LJ_DUALNUM) { | 2591 | if (LJ_DUALNUM) { |
2593 | dasm_put(Dst, 12766, LJ_TISNUM); | 2592 | dasm_put(Dst, 12768, LJ_TISNUM); |
2594 | } else { | 2593 | } else { |
2595 | dasm_put(Dst, 12780, LJ_TISNUM); | 2594 | dasm_put(Dst, 12782, LJ_TISNUM); |
2596 | if (sse) { | 2595 | if (sse) { |
2597 | dasm_put(Dst, 12791); | 2596 | dasm_put(Dst, 12793); |
2598 | } else { | 2597 | } else { |
2599 | } | 2598 | } |
2600 | dasm_put(Dst, 12812); | 2599 | dasm_put(Dst, 12814); |
2601 | } | 2600 | } |
2602 | dasm_put(Dst, 12817, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); | 2601 | dasm_put(Dst, 12819, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); |
2603 | dasm_put(Dst, 12908, LJ_TSTR); | 2602 | dasm_put(Dst, 12910, LJ_TSTR); |
2604 | break; | 2603 | break; |
2605 | case BC_TGETS: | 2604 | case BC_TGETS: |
2606 | dasm_put(Dst, 12926, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2605 | dasm_put(Dst, 12928, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2607 | dasm_put(Dst, 13010, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2606 | dasm_put(Dst, 13012, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2608 | break; | 2607 | break; |
2609 | case BC_TGETB: | 2608 | case BC_TGETB: |
2610 | dasm_put(Dst, 13081, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2609 | dasm_put(Dst, 13083, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2611 | dasm_put(Dst, 13176, LJ_TNIL); | 2610 | dasm_put(Dst, 13178, LJ_TNIL); |
2612 | break; | 2611 | break; |
2613 | 2612 | ||
2614 | case BC_TSETV: | 2613 | case BC_TSETV: |
2615 | dasm_put(Dst, 13193, LJ_TTAB); | 2614 | dasm_put(Dst, 13195, LJ_TTAB); |
2616 | if (LJ_DUALNUM) { | 2615 | if (LJ_DUALNUM) { |
2617 | dasm_put(Dst, 12766, LJ_TISNUM); | 2616 | dasm_put(Dst, 12768, LJ_TISNUM); |
2618 | } else { | 2617 | } else { |
2619 | dasm_put(Dst, 12780, LJ_TISNUM); | 2618 | dasm_put(Dst, 12782, LJ_TISNUM); |
2620 | if (sse) { | 2619 | if (sse) { |
2621 | dasm_put(Dst, 12791); | 2620 | dasm_put(Dst, 12793); |
2622 | } else { | 2621 | } else { |
2623 | } | 2622 | } |
2624 | dasm_put(Dst, 13216); | 2623 | dasm_put(Dst, 13218); |
2625 | } | 2624 | } |
2626 | dasm_put(Dst, 13221, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); | 2625 | dasm_put(Dst, 13223, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); |
2627 | dasm_put(Dst, 13301, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2626 | dasm_put(Dst, 13303, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2628 | break; | 2627 | break; |
2629 | case BC_TSETS: | 2628 | case BC_TSETS: |
2630 | dasm_put(Dst, 13358, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2629 | dasm_put(Dst, 13360, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2631 | dasm_put(Dst, 13434, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); | 2630 | dasm_put(Dst, 13436, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); |
2632 | dasm_put(Dst, 13522, 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)); | 2631 | dasm_put(Dst, 13524, 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)); |
2633 | break; | 2632 | break; |
2634 | case BC_TSETB: | 2633 | case BC_TSETB: |
2635 | dasm_put(Dst, 13613, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); | 2634 | dasm_put(Dst, 13615, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); |
2636 | dasm_put(Dst, 13707, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2635 | dasm_put(Dst, 13709, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2637 | break; | 2636 | break; |
2638 | 2637 | ||
2639 | case BC_TSETM: | 2638 | case BC_TSETM: |
2640 | dasm_put(Dst, 13753, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); | 2639 | dasm_put(Dst, 13755, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); |
2641 | dasm_put(Dst, 13896, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2640 | dasm_put(Dst, 13898, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2642 | break; | 2641 | break; |
2643 | 2642 | ||
2644 | /* -- Calls and vararg handling ----------------------------------------- */ | 2643 | /* -- Calls and vararg handling ----------------------------------------- */ |
2645 | 2644 | ||
2646 | case BC_CALL: case BC_CALLM: | 2645 | case BC_CALL: case BC_CALLM: |
2647 | dasm_put(Dst, 11091); | 2646 | dasm_put(Dst, 11093); |
2648 | if (op == BC_CALLM) { | 2647 | if (op == BC_CALLM) { |
2649 | dasm_put(Dst, 13914); | 2648 | dasm_put(Dst, 13916); |
2650 | } | 2649 | } |
2651 | dasm_put(Dst, 13919, LJ_TFUNC, Dt7(->pc)); | 2650 | dasm_put(Dst, 13921, LJ_TFUNC, Dt7(->pc)); |
2652 | break; | 2651 | break; |
2653 | 2652 | ||
2654 | case BC_CALLMT: | 2653 | case BC_CALLMT: |
2655 | dasm_put(Dst, 13914); | 2654 | dasm_put(Dst, 13916); |
2656 | break; | 2655 | break; |
2657 | case BC_CALLT: | 2656 | case BC_CALLT: |
2658 | dasm_put(Dst, 13961, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); | 2657 | dasm_put(Dst, 13963, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); |
2659 | dasm_put(Dst, 14076, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); | 2658 | dasm_put(Dst, 14078, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); |
2660 | break; | 2659 | break; |
2661 | 2660 | ||
2662 | case BC_ITERC: | 2661 | case BC_ITERC: |
2663 | dasm_put(Dst, 14147, LJ_TFUNC, 2+1, Dt7(->pc)); | 2662 | dasm_put(Dst, 14149, LJ_TFUNC, 2+1, Dt7(->pc)); |
2664 | break; | 2663 | break; |
2665 | 2664 | ||
2666 | case BC_ITERN: | 2665 | case BC_ITERN: |
2667 | #if LJ_HASJIT | 2666 | #if LJ_HASJIT |
2668 | #endif | 2667 | #endif |
2669 | dasm_put(Dst, 14218, Dt6(->asize), Dt6(->array), LJ_TNIL); | 2668 | dasm_put(Dst, 14220, Dt6(->asize), Dt6(->array), LJ_TNIL); |
2670 | if (LJ_DUALNUM) { | 2669 | if (LJ_DUALNUM) { |
2671 | dasm_put(Dst, 10991, LJ_TISNUM); | 2670 | dasm_put(Dst, 10993, LJ_TISNUM); |
2672 | } else if (sse) { | 2671 | } else if (sse) { |
2673 | dasm_put(Dst, 11068); | 2672 | dasm_put(Dst, 11070); |
2674 | } else { | 2673 | } else { |
2675 | dasm_put(Dst, 14264); | 2674 | dasm_put(Dst, 14266); |
2676 | } | 2675 | } |
2677 | dasm_put(Dst, 14270); | 2676 | dasm_put(Dst, 14272); |
2678 | if (LJ_DUALNUM) { | 2677 | if (LJ_DUALNUM) { |
2679 | } else if (sse) { | 2678 | } else if (sse) { |
2680 | dasm_put(Dst, 10956); | 2679 | dasm_put(Dst, 10958); |
2681 | } else { | 2680 | } else { |
2682 | dasm_put(Dst, 10968); | 2681 | dasm_put(Dst, 10970); |
2683 | } | 2682 | } |
2684 | dasm_put(Dst, 14283, -BCBIAS_J*4); | 2683 | dasm_put(Dst, 14285, -BCBIAS_J*4); |
2685 | if (!LJ_DUALNUM && !sse) { | 2684 | if (!LJ_DUALNUM && !sse) { |
2686 | dasm_put(Dst, 14335); | 2685 | dasm_put(Dst, 14337); |
2687 | } | 2686 | } |
2688 | dasm_put(Dst, 14341, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); | 2687 | dasm_put(Dst, 14343, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); |
2689 | break; | 2688 | break; |
2690 | 2689 | ||
2691 | case BC_ISNEXT: | 2690 | case BC_ISNEXT: |
2692 | dasm_put(Dst, 14413, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); | 2691 | dasm_put(Dst, 14415, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); |
2693 | break; | 2692 | break; |
2694 | 2693 | ||
2695 | case BC_VARG: | 2694 | case BC_VARG: |
2696 | dasm_put(Dst, 14513, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); | 2695 | dasm_put(Dst, 14515, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); |
2697 | dasm_put(Dst, 14673, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 2696 | dasm_put(Dst, 14675, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
2698 | break; | 2697 | break; |
2699 | 2698 | ||
2700 | /* -- Returns ----------------------------------------------------------- */ | 2699 | /* -- Returns ----------------------------------------------------------- */ |
2701 | 2700 | ||
2702 | case BC_RETM: | 2701 | case BC_RETM: |
2703 | dasm_put(Dst, 13914); | 2702 | dasm_put(Dst, 13916); |
2704 | break; | 2703 | break; |
2705 | 2704 | ||
2706 | case BC_RET: case BC_RET0: case BC_RET1: | 2705 | case BC_RET: case BC_RET0: case BC_RET1: |
2707 | if (op != BC_RET0) { | 2706 | if (op != BC_RET0) { |
2708 | dasm_put(Dst, 14739); | 2707 | dasm_put(Dst, 14741); |
2709 | } | 2708 | } |
2710 | dasm_put(Dst, 14743, FRAME_TYPE); | 2709 | dasm_put(Dst, 14745, FRAME_TYPE); |
2711 | switch (op) { | 2710 | switch (op) { |
2712 | case BC_RET: | 2711 | case BC_RET: |
2713 | dasm_put(Dst, 14762); | 2712 | dasm_put(Dst, 14764); |
2714 | break; | 2713 | break; |
2715 | case BC_RET1: | 2714 | case BC_RET1: |
2716 | dasm_put(Dst, 14814); | 2715 | dasm_put(Dst, 14816); |
2717 | /* fallthrough */ | 2716 | /* fallthrough */ |
2718 | case BC_RET0: | 2717 | case BC_RET0: |
2719 | dasm_put(Dst, 14824); | 2718 | dasm_put(Dst, 14826); |
2720 | default: | 2719 | default: |
2721 | break; | 2720 | break; |
2722 | } | 2721 | } |
2723 | dasm_put(Dst, 14835, Dt7(->pc), PC2PROTO(k)); | 2722 | dasm_put(Dst, 14837, Dt7(->pc), PC2PROTO(k)); |
2724 | if (op == BC_RET) { | 2723 | if (op == BC_RET) { |
2725 | dasm_put(Dst, 14879, LJ_TNIL); | 2724 | dasm_put(Dst, 14881, LJ_TNIL); |
2726 | } else { | 2725 | } else { |
2727 | dasm_put(Dst, 14888, LJ_TNIL); | 2726 | dasm_put(Dst, 14890, LJ_TNIL); |
2728 | } | 2727 | } |
2729 | dasm_put(Dst, 14895, -FRAME_VARG, FRAME_TYPEP); | 2728 | dasm_put(Dst, 14897, -FRAME_VARG, FRAME_TYPEP); |
2730 | if (op != BC_RET0) { | 2729 | if (op != BC_RET0) { |
2731 | dasm_put(Dst, 14919); | 2730 | dasm_put(Dst, 14921); |
2732 | } | 2731 | } |
2733 | dasm_put(Dst, 4646); | 2732 | dasm_put(Dst, 4646); |
2734 | break; | 2733 | break; |
@@ -2738,7 +2737,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2738 | 2737 | ||
2739 | case BC_FORL: | 2738 | case BC_FORL: |
2740 | #if LJ_HASJIT | 2739 | #if LJ_HASJIT |
2741 | dasm_put(Dst, 14923, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2740 | dasm_put(Dst, 14925, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2742 | #endif | 2741 | #endif |
2743 | break; | 2742 | break; |
2744 | 2743 | ||
@@ -2750,104 +2749,104 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2750 | case BC_FORI: | 2749 | case BC_FORI: |
2751 | case BC_IFORL: | 2750 | case BC_IFORL: |
2752 | vk = (op == BC_IFORL || op == BC_JFORL); | 2751 | vk = (op == BC_IFORL || op == BC_JFORL); |
2753 | dasm_put(Dst, 14944); | 2752 | dasm_put(Dst, 14946); |
2754 | if (LJ_DUALNUM) { | 2753 | if (LJ_DUALNUM) { |
2755 | dasm_put(Dst, 14948, LJ_TISNUM); | 2754 | dasm_put(Dst, 14950, LJ_TISNUM); |
2756 | if (!vk) { | 2755 | if (!vk) { |
2757 | dasm_put(Dst, 14958, LJ_TISNUM, LJ_TISNUM); | 2756 | dasm_put(Dst, 14960, LJ_TISNUM, LJ_TISNUM); |
2758 | } else { | 2757 | } else { |
2759 | dasm_put(Dst, 14987); | 2758 | dasm_put(Dst, 14989); |
2760 | } | 2759 | } |
2761 | dasm_put(Dst, 15006, LJ_TISNUM); | 2760 | dasm_put(Dst, 15008, LJ_TISNUM); |
2762 | if (op == BC_FORI) { | 2761 | if (op == BC_FORI) { |
2763 | dasm_put(Dst, 15017, -BCBIAS_J*4); | 2762 | dasm_put(Dst, 15019, -BCBIAS_J*4); |
2764 | } else if (op == BC_JFORI) { | 2763 | } else if (op == BC_JFORI) { |
2765 | dasm_put(Dst, 15031, -BCBIAS_J*4, BC_JLOOP); | 2764 | dasm_put(Dst, 15033, -BCBIAS_J*4, BC_JLOOP); |
2766 | } else if (op == BC_IFORL) { | 2765 | } else if (op == BC_IFORL) { |
2767 | dasm_put(Dst, 15049, -BCBIAS_J*4); | 2766 | dasm_put(Dst, 15051, -BCBIAS_J*4); |
2768 | } else { | 2767 | } else { |
2769 | dasm_put(Dst, 15041, BC_JLOOP); | 2768 | dasm_put(Dst, 15043, BC_JLOOP); |
2770 | } | 2769 | } |
2771 | dasm_put(Dst, 15063); | 2770 | dasm_put(Dst, 15065); |
2772 | if (vk) { | 2771 | if (vk) { |
2773 | dasm_put(Dst, 15087); | 2772 | dasm_put(Dst, 15089); |
2774 | } | 2773 | } |
2775 | dasm_put(Dst, 15006, LJ_TISNUM); | 2774 | dasm_put(Dst, 15008, LJ_TISNUM); |
2776 | if (op == BC_FORI) { | 2775 | if (op == BC_FORI) { |
2777 | dasm_put(Dst, 15096); | 2776 | dasm_put(Dst, 15098); |
2778 | } else if (op == BC_JFORI) { | 2777 | } else if (op == BC_JFORI) { |
2779 | dasm_put(Dst, 15101, -BCBIAS_J*4, BC_JLOOP); | 2778 | dasm_put(Dst, 15103, -BCBIAS_J*4, BC_JLOOP); |
2780 | } else if (op == BC_IFORL) { | 2779 | } else if (op == BC_IFORL) { |
2781 | dasm_put(Dst, 15115); | 2780 | dasm_put(Dst, 15117); |
2782 | } else { | 2781 | } else { |
2783 | dasm_put(Dst, 15111, BC_JLOOP); | 2782 | dasm_put(Dst, 15113, BC_JLOOP); |
2784 | } | 2783 | } |
2785 | dasm_put(Dst, 15120); | 2784 | dasm_put(Dst, 15122); |
2786 | } else if (!vk) { | 2785 | } else if (!vk) { |
2787 | dasm_put(Dst, 15127, LJ_TISNUM); | 2786 | dasm_put(Dst, 15129, LJ_TISNUM); |
2788 | } | 2787 | } |
2789 | if (!vk) { | 2788 | if (!vk) { |
2790 | dasm_put(Dst, 15133, LJ_TISNUM); | 2789 | dasm_put(Dst, 15135, LJ_TISNUM); |
2791 | } | 2790 | } |
2792 | dasm_put(Dst, 15147); | 2791 | dasm_put(Dst, 15149); |
2793 | if (!vk) { | 2792 | if (!vk) { |
2794 | dasm_put(Dst, 15151, LJ_TISNUM); | 2793 | dasm_put(Dst, 15153, LJ_TISNUM); |
2795 | } | 2794 | } |
2796 | if (sse) { | 2795 | if (sse) { |
2797 | dasm_put(Dst, 15160); | 2796 | dasm_put(Dst, 15162); |
2798 | if (vk) { | 2797 | if (vk) { |
2799 | dasm_put(Dst, 15172); | 2798 | dasm_put(Dst, 15174); |
2800 | } else { | 2799 | } else { |
2801 | dasm_put(Dst, 15191); | 2800 | dasm_put(Dst, 15193); |
2802 | } | 2801 | } |
2803 | dasm_put(Dst, 15196); | 2802 | dasm_put(Dst, 15198); |
2804 | } else { | 2803 | } else { |
2805 | dasm_put(Dst, 15209); | 2804 | dasm_put(Dst, 15211); |
2806 | if (vk) { | 2805 | if (vk) { |
2807 | dasm_put(Dst, 15215); | 2806 | dasm_put(Dst, 15217); |
2808 | } else { | 2807 | } else { |
2809 | dasm_put(Dst, 15231); | 2808 | dasm_put(Dst, 15233); |
2810 | } | 2809 | } |
2811 | dasm_put(Dst, 15239); | 2810 | dasm_put(Dst, 15241); |
2812 | if (cmov) { | 2811 | if (cmov) { |
2813 | dasm_put(Dst, 10057); | 2812 | dasm_put(Dst, 10057); |
2814 | } else { | 2813 | } else { |
2815 | dasm_put(Dst, 10063); | 2814 | dasm_put(Dst, 10063); |
2816 | } | 2815 | } |
2817 | if (!cmov) { | 2816 | if (!cmov) { |
2818 | dasm_put(Dst, 15244); | 2817 | dasm_put(Dst, 15246); |
2819 | } | 2818 | } |
2820 | } | 2819 | } |
2821 | if (op == BC_FORI) { | 2820 | if (op == BC_FORI) { |
2822 | if (LJ_DUALNUM) { | 2821 | if (LJ_DUALNUM) { |
2823 | dasm_put(Dst, 15250); | 2822 | dasm_put(Dst, 15252); |
2824 | } else { | 2823 | } else { |
2825 | dasm_put(Dst, 15255, -BCBIAS_J*4); | 2824 | dasm_put(Dst, 15257, -BCBIAS_J*4); |
2826 | } | 2825 | } |
2827 | } else if (op == BC_JFORI) { | 2826 | } else if (op == BC_JFORI) { |
2828 | dasm_put(Dst, 15265, -BCBIAS_J*4, BC_JLOOP); | 2827 | dasm_put(Dst, 15267, -BCBIAS_J*4, BC_JLOOP); |
2829 | } else if (op == BC_IFORL) { | 2828 | } else if (op == BC_IFORL) { |
2830 | if (LJ_DUALNUM) { | 2829 | if (LJ_DUALNUM) { |
2831 | dasm_put(Dst, 15279); | 2830 | dasm_put(Dst, 15281); |
2832 | } else { | 2831 | } else { |
2833 | dasm_put(Dst, 15284, -BCBIAS_J*4); | 2832 | dasm_put(Dst, 15286, -BCBIAS_J*4); |
2834 | } | 2833 | } |
2835 | } else { | 2834 | } else { |
2836 | dasm_put(Dst, 15275, BC_JLOOP); | 2835 | dasm_put(Dst, 15277, BC_JLOOP); |
2837 | } | 2836 | } |
2838 | if (LJ_DUALNUM) { | 2837 | if (LJ_DUALNUM) { |
2839 | dasm_put(Dst, 9986); | 2838 | dasm_put(Dst, 9986); |
2840 | } else { | 2839 | } else { |
2841 | dasm_put(Dst, 10741); | 2840 | dasm_put(Dst, 10743); |
2842 | } | 2841 | } |
2843 | if (sse) { | 2842 | if (sse) { |
2844 | dasm_put(Dst, 15294); | 2843 | dasm_put(Dst, 15296); |
2845 | } | 2844 | } |
2846 | break; | 2845 | break; |
2847 | 2846 | ||
2848 | case BC_ITERL: | 2847 | case BC_ITERL: |
2849 | #if LJ_HASJIT | 2848 | #if LJ_HASJIT |
2850 | dasm_put(Dst, 14923, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2849 | dasm_put(Dst, 14925, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2851 | #endif | 2850 | #endif |
2852 | break; | 2851 | break; |
2853 | 2852 | ||
@@ -2856,18 +2855,18 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2856 | break; | 2855 | break; |
2857 | #endif | 2856 | #endif |
2858 | case BC_IITERL: | 2857 | case BC_IITERL: |
2859 | dasm_put(Dst, 15305, LJ_TNIL); | 2858 | dasm_put(Dst, 15307, LJ_TNIL); |
2860 | if (op == BC_JITERL) { | 2859 | if (op == BC_JITERL) { |
2861 | dasm_put(Dst, 15320, BC_JLOOP); | 2860 | dasm_put(Dst, 15322, BC_JLOOP); |
2862 | } else { | 2861 | } else { |
2863 | dasm_put(Dst, 15334, -BCBIAS_J*4); | 2862 | dasm_put(Dst, 15336, -BCBIAS_J*4); |
2864 | } | 2863 | } |
2865 | dasm_put(Dst, 10100); | 2864 | dasm_put(Dst, 10100); |
2866 | break; | 2865 | break; |
2867 | 2866 | ||
2868 | case BC_LOOP: | 2867 | case BC_LOOP: |
2869 | #if LJ_HASJIT | 2868 | #if LJ_HASJIT |
2870 | dasm_put(Dst, 14923, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2869 | dasm_put(Dst, 14925, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2871 | #endif | 2870 | #endif |
2872 | break; | 2871 | break; |
2873 | 2872 | ||
@@ -2877,12 +2876,12 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2877 | 2876 | ||
2878 | case BC_JLOOP: | 2877 | case BC_JLOOP: |
2879 | #if LJ_HASJIT | 2878 | #if LJ_HASJIT |
2880 | dasm_put(Dst, 15350, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16); | 2879 | dasm_put(Dst, 15352, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16); |
2881 | #endif | 2880 | #endif |
2882 | break; | 2881 | break; |
2883 | 2882 | ||
2884 | case BC_JMP: | 2883 | case BC_JMP: |
2885 | dasm_put(Dst, 15459, -BCBIAS_J*4); | 2884 | dasm_put(Dst, 15461, -BCBIAS_J*4); |
2886 | break; | 2885 | break; |
2887 | 2886 | ||
2888 | /* -- Function headers -------------------------------------------------- */ | 2887 | /* -- Function headers -------------------------------------------------- */ |
@@ -2896,7 +2895,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2896 | 2895 | ||
2897 | case BC_FUNCF: | 2896 | case BC_FUNCF: |
2898 | #if LJ_HASJIT | 2897 | #if LJ_HASJIT |
2899 | dasm_put(Dst, 15484, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2898 | dasm_put(Dst, 15486, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2900 | #endif | 2899 | #endif |
2901 | case BC_FUNCV: /* NYI: compiled vararg functions. */ | 2900 | case BC_FUNCV: /* NYI: compiled vararg functions. */ |
2902 | break; | 2901 | break; |
@@ -2906,13 +2905,13 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2906 | break; | 2905 | break; |
2907 | #endif | 2906 | #endif |
2908 | case BC_IFUNCF: | 2907 | case BC_IFUNCF: |
2909 | dasm_put(Dst, 15505, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); | 2908 | dasm_put(Dst, 15507, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); |
2910 | if (op == BC_JFUNCF) { | 2909 | if (op == BC_JFUNCF) { |
2911 | dasm_put(Dst, 15535, BC_JLOOP); | 2910 | dasm_put(Dst, 15537, BC_JLOOP); |
2912 | } else { | 2911 | } else { |
2913 | dasm_put(Dst, 10102); | 2912 | dasm_put(Dst, 10102); |
2914 | } | 2913 | } |
2915 | dasm_put(Dst, 15544, LJ_TNIL); | 2914 | dasm_put(Dst, 15546, LJ_TNIL); |
2916 | break; | 2915 | break; |
2917 | 2916 | ||
2918 | case BC_JFUNCV: | 2917 | case BC_JFUNCV: |
@@ -2923,30 +2922,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2923 | break; /* NYI: compiled vararg functions. */ | 2922 | break; /* NYI: compiled vararg functions. */ |
2924 | 2923 | ||
2925 | case BC_IFUNCV: | 2924 | case BC_IFUNCV: |
2926 | dasm_put(Dst, 15566, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); | 2925 | dasm_put(Dst, 15568, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); |
2927 | if (op == BC_JFUNCV) { | 2926 | if (op == BC_JFUNCV) { |
2928 | dasm_put(Dst, 15535, BC_JLOOP); | 2927 | dasm_put(Dst, 15537, BC_JLOOP); |
2929 | } else { | 2928 | } else { |
2930 | dasm_put(Dst, 15657, -4+PC2PROTO(k)); | 2929 | dasm_put(Dst, 15659, -4+PC2PROTO(k)); |
2931 | } | 2930 | } |
2932 | dasm_put(Dst, 15680, LJ_TNIL); | 2931 | dasm_put(Dst, 15682, LJ_TNIL); |
2933 | break; | 2932 | break; |
2934 | 2933 | ||
2935 | case BC_FUNCC: | 2934 | case BC_FUNCC: |
2936 | case BC_FUNCCW: | 2935 | case BC_FUNCCW: |
2937 | dasm_put(Dst, 15702, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); | 2936 | dasm_put(Dst, 15704, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); |
2938 | if (op == BC_FUNCC) { | 2937 | if (op == BC_FUNCC) { |
2939 | dasm_put(Dst, 2310); | 2938 | dasm_put(Dst, 2310); |
2940 | } else { | 2939 | } else { |
2941 | dasm_put(Dst, 15732); | 2940 | dasm_put(Dst, 15734); |
2942 | } | 2941 | } |
2943 | dasm_put(Dst, 15740, DISPATCH_GL(vmstate), ~LJ_VMST_C); | 2942 | dasm_put(Dst, 15742, DISPATCH_GL(vmstate), ~LJ_VMST_C); |
2944 | if (op == BC_FUNCC) { | 2943 | if (op == BC_FUNCC) { |
2945 | dasm_put(Dst, 15749); | 2944 | dasm_put(Dst, 15751); |
2946 | } else { | 2945 | } else { |
2947 | dasm_put(Dst, 15753, DISPATCH_GL(wrapf)); | 2946 | dasm_put(Dst, 15755, DISPATCH_GL(wrapf)); |
2948 | } | 2947 | } |
2949 | dasm_put(Dst, 15758, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 2948 | dasm_put(Dst, 15760, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
2950 | break; | 2949 | break; |
2951 | 2950 | ||
2952 | /* ---------------------------------------------------------------------- */ | 2951 | /* ---------------------------------------------------------------------- */ |
@@ -2974,7 +2973,7 @@ static int build_backend(BuildCtx *ctx) | |||
2974 | 2973 | ||
2975 | build_subroutines(ctx, cmov, sse); | 2974 | build_subroutines(ctx, cmov, sse); |
2976 | 2975 | ||
2977 | dasm_put(Dst, 15783); | 2976 | dasm_put(Dst, 15785); |
2978 | for (op = 0; op < BC__MAX; op++) | 2977 | for (op = 0; op < BC__MAX; op++) |
2979 | build_ins(ctx, (BCOp)op, op, cmov, sse); | 2978 | build_ins(ctx, (BCOp)op, op, cmov, sse); |
2980 | 2979 | ||
diff --git a/src/buildvm_x86.dasc b/src/buildvm_x86.dasc index 4d96423c..f7631d62 100644 --- a/src/buildvm_x86.dasc +++ b/src/buildvm_x86.dasc | |||
@@ -4055,10 +4055,9 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
4055 | | ucomisd xmm0, qword [KBASE+RD*8] | 4055 | | ucomisd xmm0, qword [KBASE+RD*8] |
4056 | } else { | 4056 | } else { |
4057 | | fild dword [BASE+RA*8] | 4057 | | fild dword [BASE+RA*8] |
4058 | | fld qword [BASE+RD*8] | 4058 | | fld qword [KBASE+RD*8] |
4059 | } | 4059 | } |
4060 | | jmp >4 | 4060 | | jmp >4 |
4061 | | | ||
4062 | } else { | 4061 | } else { |
4063 | | cmp RB, LJ_TISNUM; jae >3 | 4062 | | cmp RB, LJ_TISNUM; jae >3 |
4064 | } | 4063 | } |
@@ -4073,8 +4072,8 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
4073 | | fld qword [KBASE+RD*8] | 4072 | | fld qword [KBASE+RD*8] |
4074 | |2: | 4073 | |2: |
4075 | | fld qword [BASE+RA*8] | 4074 | | fld qword [BASE+RA*8] |
4076 | | fcomparepp // eax (RD) modified! | ||
4077 | |4: | 4075 | |4: |
4076 | | fcomparepp // eax (RD) modified! | ||
4078 | } | 4077 | } |
4079 | goto iseqne_fp; | 4078 | goto iseqne_fp; |
4080 | case BC_ISEQP: case BC_ISNEP: | 4079 | case BC_ISEQP: case BC_ISNEP: |
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 |
15 | static const unsigned char build_actionlist[16902] = { | 15 | static 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 | ||
833 | enum { | 833 | enum { |
@@ -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 | ||