diff options
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 | ||
