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/buildvm_x64.h | |
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/buildvm_x64.h')
-rw-r--r-- | src/buildvm_x64.h | 781 |
1 files changed, 390 insertions, 391 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 | ||