diff options
author | Mike Pall <mike> | 2011-03-09 22:38:53 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2011-03-09 22:38:53 +0100 |
commit | 0125ee821188fea1778a70fbd1f9b1dc6c2a1e2a (patch) | |
tree | 867f5cfff5020f183f1e868cd5c8a23bd51b89f3 /src | |
parent | 449cee405c96fc478be6e091133f3197e13f9799 (diff) | |
download | luajit-0125ee821188fea1778a70fbd1f9b1dc6c2a1e2a.tar.gz luajit-0125ee821188fea1778a70fbd1f9b1dc6c2a1e2a.tar.bz2 luajit-0125ee821188fea1778a70fbd1f9b1dc6c2a1e2a.zip |
DUALNUM: Add extra assertions to interpreter.
Diffstat (limited to 'src')
-rw-r--r-- | src/buildvm_x64.h | 1374 | ||||
-rw-r--r-- | src/buildvm_x64win.h | 904 | ||||
-rw-r--r-- | src/buildvm_x86.dasc | 19 | ||||
-rw-r--r-- | src/buildvm_x86.h | 1112 |
4 files changed, 1738 insertions, 1671 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h index 42d435cb..801345d5 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[15911] = { | 15 | static const unsigned char build_actionlist[15952] = { |
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, |
@@ -488,299 +488,301 @@ static const unsigned char build_actionlist[15911] = { | |||
488 | 133,192,15,132,244,251,15,40,131,233,15,40,139,233,255,15,40,147,233,15,40, | 488 | 133,192,15,132,244,251,15,40,131,233,15,40,139,233,255,15,40,147,233,15,40, |
489 | 155,233,131,252,248,4,15,134,244,251,15,40,163,233,15,40,171,233,15,40,179, | 489 | 155,233,131,252,248,4,15,134,244,251,15,40,163,233,15,40,171,233,15,40,179, |
490 | 233,15,40,187,233,248,5,252,255,147,233,72,137,131,233,15,41,131,233,72,137, | 490 | 233,15,40,187,233,248,5,252,255,147,233,72,137,131,233,15,41,131,233,72,137, |
491 | 147,233,15,41,139,233,255,72,139,93,252,248,201,195,255,249,255,129,124,253, | 491 | 147,233,15,41,139,233,255,72,139,93,252,248,201,195,255,248,162,255,249,255, |
492 | 202,4,239,15,133,244,253,129,124,253,194,4,239,15,133,244,254,139,44,202, | 492 | 129,124,253,202,4,239,15,133,244,253,129,124,253,194,4,239,15,133,244,254, |
493 | 131,195,4,59,44,194,255,15,141,244,255,255,15,140,244,255,255,15,143,244, | 493 | 139,44,202,131,195,4,59,44,194,255,15,141,244,255,255,15,140,244,255,255, |
494 | 255,255,15,142,244,255,255,248,6,15,183,67,252,254,141,156,253,131,233,248, | 494 | 15,143,244,255,255,15,142,244,255,255,248,6,15,183,67,252,254,141,156,253, |
495 | 9,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238, | 495 | 131,233,248,9,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255, |
496 | 248,7,15,135,244,41,129,124,253,194,4,239,15,130,244,247,15,133,244,41,255, | 496 | 36,252,238,248,7,15,135,244,41,129,124,253,194,4,239,15,130,244,247,15,133, |
497 | 252,242,15,42,4,194,252,233,244,248,255,221,4,202,219,4,194,252,233,244,249, | 497 | 244,41,255,252,242,15,42,4,194,252,233,244,248,255,221,4,202,219,4,194,252, |
498 | 255,248,8,15,135,244,41,255,252,242,15,42,12,202,252,242,15,16,4,194,131, | 498 | 233,244,249,255,248,8,15,135,244,41,255,252,242,15,42,12,202,252,242,15,16, |
499 | 195,4,102,15,46,193,255,15,134,244,9,255,15,135,244,9,255,15,130,244,9,255, | 499 | 4,194,131,195,4,102,15,46,193,255,15,134,244,9,255,15,135,244,9,255,15,130, |
500 | 15,131,244,9,255,252,233,244,6,255,219,4,202,252,233,244,248,255,129,124, | 500 | 244,9,255,15,131,244,9,255,252,233,244,6,255,219,4,202,252,233,244,248,255, |
501 | 253,202,4,239,15,131,244,41,129,124,253,194,4,239,15,131,244,41,255,248,1, | 501 | 129,124,253,202,4,239,15,131,244,41,129,124,253,194,4,239,15,131,244,41,255, |
502 | 252,242,15,16,4,194,248,2,131,195,4,102,15,46,4,202,248,3,255,248,1,221,4, | 502 | 248,1,252,242,15,16,4,194,248,2,131,195,4,102,15,46,4,202,248,3,255,248,1, |
503 | 202,248,2,221,4,194,248,3,131,195,4,255,223,252,233,221,216,255,218,252,233, | 503 | 221,4,202,248,2,221,4,194,248,3,131,195,4,255,223,252,233,221,216,255,218, |
504 | 223,224,158,255,15,134,244,247,255,15,135,244,247,255,15,130,244,247,255, | 504 | 252,233,223,224,158,255,15,134,244,247,255,15,135,244,247,255,15,130,244, |
505 | 15,131,244,247,255,15,183,67,252,254,141,156,253,131,233,248,1,139,3,15,182, | 505 | 247,255,15,131,244,247,255,15,183,67,252,254,141,156,253,131,233,248,1,139, |
506 | 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,108,194, | 506 | 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139, |
507 | 4,131,195,4,255,129,252,253,239,15,133,244,253,129,124,253,202,4,239,15,133, | 507 | 108,194,4,131,195,4,255,129,252,253,239,15,133,244,253,129,124,253,202,4, |
508 | 244,254,139,44,194,59,44,202,255,15,133,244,255,255,15,132,244,255,255,15, | 508 | 239,15,133,244,254,139,44,194,59,44,202,255,15,133,244,255,255,15,132,244, |
509 | 183,67,252,254,141,156,253,131,233,248,9,139,3,15,182,204,15,182,232,131, | 509 | 255,255,15,183,67,252,254,141,156,253,131,233,248,9,139,3,15,182,204,15,182, |
510 | 195,4,193,232,16,65,252,255,36,252,238,248,7,15,135,244,251,129,124,253,202, | 510 | 232,131,195,4,193,232,16,65,252,255,36,252,238,248,7,15,135,244,251,129,124, |
511 | 4,239,15,130,244,247,15,133,244,251,255,252,242,15,42,4,202,255,219,4,202, | 511 | 253,202,4,239,15,130,244,247,15,133,244,251,255,252,242,15,42,4,202,255,219, |
512 | 255,252,233,244,248,248,8,15,135,244,251,255,252,242,15,42,4,194,102,15,46, | 512 | 4,202,255,252,233,244,248,248,8,15,135,244,251,255,252,242,15,42,4,194,102, |
513 | 4,202,255,219,4,194,221,4,202,255,252,233,244,250,255,129,252,253,239,15, | 513 | 15,46,4,202,255,219,4,194,221,4,202,255,252,233,244,250,255,129,252,253,239, |
514 | 131,244,251,129,124,253,202,4,239,15,131,244,251,255,248,1,252,242,15,16, | 514 | 15,131,244,251,129,124,253,202,4,239,15,131,244,251,255,248,1,252,242,15, |
515 | 4,202,248,2,102,15,46,4,194,248,4,255,248,1,221,4,202,248,2,221,4,194,248, | 515 | 16,4,202,248,2,102,15,46,4,194,248,4,255,248,1,221,4,202,248,2,221,4,194, |
516 | 4,255,15,138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,255, | 516 | 248,4,255,15,138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247, |
517 | 248,1,15,183,67,252,254,141,156,253,131,233,248,2,255,248,2,15,183,67,252, | 517 | 255,248,1,15,183,67,252,254,141,156,253,131,233,248,2,255,248,2,15,183,67, |
518 | 254,141,156,253,131,233,248,1,255,252,233,244,9,255,248,5,255,129,252,253, | 518 | 252,254,141,156,253,131,233,248,1,255,252,233,244,9,255,248,5,255,129,252, |
519 | 239,15,132,244,46,129,124,253,202,4,239,15,132,244,46,255,57,108,202,4,15, | 519 | 253,239,15,132,244,46,129,124,253,202,4,239,15,132,244,46,255,57,108,202, |
520 | 133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,132, | 520 | 4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15, |
521 | 244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244,2,252, | 521 | 132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244, |
522 | 246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244, | 522 | 2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252, |
523 | 45,255,248,3,129,252,253,239,255,15,133,244,9,255,252,233,244,46,255,72,252, | 523 | 233,244,45,255,248,3,129,252,253,239,255,15,133,244,9,255,252,233,244,46, |
524 | 247,208,139,108,202,4,131,195,4,129,252,253,239,15,133,244,249,139,12,202, | 524 | 255,72,252,247,208,139,108,202,4,131,195,4,129,252,253,239,15,133,244,249, |
525 | 65,59,12,135,255,139,108,202,4,131,195,4,255,129,252,253,239,15,133,244,253, | 525 | 139,12,202,65,59,12,135,255,139,108,202,4,131,195,4,255,129,252,253,239,15, |
526 | 65,129,124,253,199,4,239,15,133,244,254,65,139,44,199,59,44,202,255,15,183, | 526 | 133,244,253,65,129,124,253,199,4,239,15,133,244,254,65,139,44,199,59,44,202, |
527 | 67,252,254,141,156,253,131,233,248,9,139,3,15,182,204,15,182,232,131,195, | 527 | 255,15,183,67,252,254,141,156,253,131,233,248,9,139,3,15,182,204,15,182,232, |
528 | 4,193,232,16,65,252,255,36,252,238,248,7,15,135,244,249,65,129,124,253,199, | 528 | 131,195,4,193,232,16,65,252,255,36,252,238,248,7,15,135,244,249,65,129,124, |
529 | 4,239,15,130,244,247,255,252,242,65,15,42,4,199,255,65,219,4,199,255,252, | 529 | 253,199,4,239,15,130,244,247,255,252,242,65,15,42,4,199,255,65,219,4,199, |
530 | 233,244,248,248,8,255,252,242,15,42,4,202,102,65,15,46,4,199,255,219,4,202, | 530 | 255,252,233,244,248,248,8,255,252,242,15,42,4,202,102,65,15,46,4,199,255, |
531 | 65,221,4,199,255,129,252,253,239,15,131,244,249,255,248,1,252,242,65,15,16, | 531 | 219,4,202,65,221,4,199,255,129,252,253,239,15,131,244,249,255,248,1,252,242, |
532 | 4,199,248,2,102,15,46,4,202,248,4,255,248,1,65,221,4,199,248,2,221,4,202, | 532 | 65,15,16,4,199,248,2,102,15,46,4,202,248,4,255,248,1,65,221,4,199,248,2,221, |
533 | 248,4,255,72,252,247,208,139,108,202,4,131,195,4,57,197,255,15,133,244,249, | 533 | 4,202,248,4,255,72,252,247,208,139,108,202,4,131,195,4,57,197,255,15,133, |
534 | 15,183,67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131, | 534 | 244,249,15,183,67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182, |
535 | 195,4,193,232,16,65,252,255,36,252,238,248,3,129,252,253,239,15,133,244,2, | 535 | 232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,129,252,253,239,15,133, |
536 | 252,233,244,46,255,15,132,244,248,129,252,253,239,15,132,244,46,15,183,67, | 536 | 244,2,252,233,244,46,255,15,132,244,248,129,252,253,239,15,132,244,46,15, |
537 | 252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131,195,4,193, | 537 | 183,67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131, |
538 | 232,16,65,252,255,36,252,238,255,139,108,194,4,131,195,4,129,252,253,239, | 538 | 195,4,193,232,16,65,252,255,36,252,238,255,139,108,194,4,131,195,4,129,252, |
539 | 255,137,108,202,4,139,44,194,137,44,202,255,72,139,44,194,72,137,44,202,139, | 539 | 253,239,255,137,108,202,4,139,44,194,137,44,202,255,72,139,44,194,72,137, |
540 | 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,49, | 540 | 44,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, |
541 | 252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,3,15,182,204, | 541 | 238,255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,3, |
542 | 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,129,124,253,194, | 542 | 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,129, |
543 | 4,239,15,133,244,251,139,44,194,252,247,221,15,128,244,250,199,68,202,4,237, | 543 | 124,253,194,4,239,15,133,244,251,139,44,194,252,247,221,15,128,244,250,199, |
544 | 137,44,202,248,9,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, | 544 | 68,202,4,237,137,44,202,248,9,139,3,15,182,204,15,182,232,131,195,4,193,232, |
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, | 545 | 16,65,252,255,36,252,238,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0, |
546 | 9,248,5,15,135,244,51,255,129,124,253,194,4,239,15,131,244,51,255,252,242, | 546 | 252,233,244,9,248,5,15,135,244,51,255,129,124,253,194,4,239,15,131,244,51, |
547 | 15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,242,15,17,4,202, | 547 | 255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,242, |
548 | 255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244,248, | 548 | 15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15, |
549 | 139,4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255,15,87,192, | 549 | 133,244,248,139,4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255, |
550 | 252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221, | 550 | 15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233, |
551 | 28,202,255,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, | 551 | 248,1,221,28,202,255,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, |
552 | 252,238,248,2,129,124,253,194,4,239,15,133,244,54,139,60,194,137,213,232, | 552 | 252,255,36,252,238,248,2,129,124,253,194,4,239,15,133,244,54,139,60,194,137, |
553 | 251,1,20,255,252,242,15,42,192,255,137,252,234,15,182,75,252,253,252,233, | 553 | 213,232,251,1,20,255,252,242,15,42,192,255,137,252,234,15,182,75,252,253, |
554 | 244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,133, | 554 | 252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239, |
555 | 244,48,65,129,124,253,199,4,239,15,133,244,48,139,44,252,234,65,3,44,199, | 555 | 15,133,244,48,65,129,124,253,199,4,239,15,133,244,48,139,44,252,234,65,3, |
556 | 15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,50,65,129,124,253, | 556 | 44,199,15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,50,65,129,124, |
557 | 199,4,239,15,133,244,50,65,139,4,199,3,4,252,234,15,128,244,49,255,129,124, | 557 | 253,199,4,239,15,133,244,50,65,139,4,199,3,4,252,234,15,128,244,49,255,129, |
558 | 253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44, | ||
559 | 252,234,3,44,194,15,128,244,52,255,199,68,202,4,237,255,129,124,253,252,234, | ||
560 | 4,239,15,131,244,48,255,65,129,124,253,199,4,239,15,131,244,48,255,252,242, | ||
561 | 15,16,4,252,234,252,242,65,15,88,4,199,255,221,4,252,234,65,220,4,199,255, | ||
562 | 129,124,253,252,234,4,239,15,131,244,50,255,65,129,124,253,199,4,239,15,131, | ||
563 | 244,50,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221,4,199, | ||
564 | 220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,53,129,124,253,194, | ||
565 | 4,239,15,131,244,53,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221, | ||
566 | 4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,48,65,129,124, | ||
567 | 253,199,4,239,15,133,244,48,139,44,252,234,65,43,44,199,15,128,244,47,255, | ||
568 | 129,124,253,252,234,4,239,15,133,244,50,65,129,124,253,199,4,239,15,133,244, | ||
569 | 50,65,139,4,199,43,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239, | ||
570 | 15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,43,44,194, | ||
571 | 15,128,244,52,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,255,221, | ||
572 | 4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,4,252,234, | ||
573 | 255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92, | ||
574 | 4,194,255,221,4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244, | ||
575 | 48,65,129,124,253,199,4,239,15,133,244,48,139,44,252,234,65,15,175,44,199, | ||
576 | 15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,50,65,129,124,253, | ||
577 | 199,4,239,15,133,244,50,65,139,4,199,15,175,4,252,234,15,128,244,49,255,129, | ||
578 | 124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139, | 558 | 124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139, |
579 | 44,252,234,15,175,44,194,15,128,244,52,255,252,242,15,16,4,252,234,252,242, | 559 | 44,252,234,3,44,194,15,128,244,52,255,199,68,202,4,237,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, | 560 | 234,4,239,15,131,244,48,255,65,129,124,253,199,4,239,15,131,244,48,255,252, |
581 | 252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252,242,15,16, | 561 | 242,15,16,4,252,234,252,242,65,15,88,4,199,255,221,4,252,234,65,220,4,199, |
582 | 4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15, | 562 | 255,129,124,253,252,234,4,239,15,131,244,50,255,65,129,124,253,199,4,239, |
583 | 16,4,252,234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52,199,255,252, | 563 | 15,131,244,50,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221, |
584 | 242,65,15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220,52,252,234, | 564 | 4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,53,129,124,253, |
585 | 255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52, | 565 | 194,4,239,15,131,244,53,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255, |
586 | 194,255,252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221,4,252,234, | 566 | 221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,48,65,129, |
587 | 65,221,4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234,255,65,221, | 567 | 124,253,199,4,239,15,133,244,48,139,44,252,234,65,43,44,199,15,128,244,47, |
588 | 4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255, | 568 | 255,129,124,253,252,234,4,239,15,133,244,50,65,129,124,253,199,4,239,15,133, |
589 | 221,4,252,234,221,4,194,255,248,162,232,244,153,255,252,233,244,162,255,232, | 569 | 244,50,65,139,4,199,43,4,252,234,15,128,244,49,255,129,124,253,252,234,4, |
590 | 244,113,255,15,182,252,236,15,182,192,139,124,36,24,137,151,233,141,52,194, | 570 | 239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,43,44, |
591 | 137,194,41,252,234,248,33,137,252,253,137,92,36,28,232,251,1,27,139,149,233, | 571 | 194,15,128,244,52,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,255, |
592 | 133,192,15,133,244,42,15,182,107,252,255,15,182,75,252,253,72,139,4,252,234, | 572 | 221,4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,4,252, |
593 | 72,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255, | 573 | 234,255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15, |
594 | 36,252,238,255,72,252,247,208,65,139,4,135,199,68,202,4,237,137,4,202,139, | 574 | 92,4,194,255,221,4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133, |
595 | 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,15, | 575 | 244,48,65,129,124,253,199,4,239,15,133,244,48,139,44,252,234,65,15,175,44, |
596 | 191,192,199,68,202,4,237,137,4,202,255,15,191,192,252,242,15,42,192,252,242, | 576 | 199,15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,50,65,129,124, |
597 | 15,17,4,202,255,223,67,252,254,221,28,202,255,252,242,65,15,16,4,199,252, | 577 | 253,199,4,239,15,133,244,50,65,139,4,199,15,175,4,252,234,15,128,244,49,255, |
598 | 242,15,17,4,202,255,65,221,4,199,221,28,202,255,72,252,247,208,137,68,202, | 578 | 129,124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244, |
599 | 4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238, | 579 | 53,139,44,252,234,15,175,44,194,15,128,244,52,255,252,242,15,16,4,252,234, |
600 | 255,141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193, | 580 | 252,242,65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15, |
601 | 8,57,193,15,134,244,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, | 581 | 16,4,199,252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252, |
602 | 252,255,36,252,238,255,139,106,252,248,139,172,253,133,233,139,173,233,72, | 582 | 242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255, |
603 | 139,69,0,72,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, | 583 | 252,242,15,16,4,252,234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52, |
604 | 252,255,36,252,238,255,139,106,252,248,139,172,253,141,233,128,189,233,0, | 584 | 199,255,252,242,65,15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220, |
605 | 139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252, | 585 | 52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252, |
606 | 246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,131,195, | 586 | 234,220,52,194,255,252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221, |
607 | 4,193,232,16,65,252,255,36,252,238,248,2,129,232,239,129,252,248,239,15,134, | 587 | 4,252,234,65,221,4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234, |
608 | 244,1,252,246,129,233,235,15,132,244,1,137,252,238,137,213,65,141,190,233, | 588 | 255,65,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16, |
609 | 255,232,251,1,28,137,252,234,252,233,244,1,255,72,252,247,208,139,106,252, | 589 | 12,194,255,221,4,252,234,221,4,194,255,248,163,232,244,153,255,252,233,244, |
610 | 248,139,172,253,141,233,65,139,12,135,139,133,233,137,8,199,64,4,237,252, | 590 | 163,255,232,244,113,255,15,182,252,236,15,182,192,139,124,36,24,137,151,233, |
611 | 246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,131,195, | 591 | 141,52,194,137,194,41,252,234,248,33,137,252,253,137,92,36,28,232,251,1,27, |
612 | 4,193,232,16,65,252,255,36,252,238,248,2,252,246,129,233,235,15,132,244,1, | 592 | 139,149,233,133,192,15,133,244,42,15,182,107,252,255,15,182,75,252,253,72, |
613 | 128,189,233,0,15,132,244,1,137,213,137,198,65,141,190,233,232,251,1,28,137, | 593 | 139,4,252,234,72,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232, |
614 | 252,234,252,233,244,1,255,139,106,252,248,255,252,242,65,15,16,4,199,255, | 594 | 16,65,252,255,36,252,238,255,72,252,247,208,65,139,4,135,199,68,202,4,237, |
615 | 139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,25,255,72,252, | 595 | 137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, |
616 | 247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,65,4,139,3,15, | 596 | 252,238,255,15,191,192,199,68,202,4,237,137,4,202,255,15,191,192,252,242, |
617 | 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,156, | 597 | 15,42,192,252,242,15,17,4,202,255,223,67,252,254,221,28,202,255,252,242,65, |
618 | 253,131,233,139,108,36,24,131,189,233,0,15,132,244,247,137,149,233,141,52, | 598 | 15,16,4,199,252,242,15,17,4,202,255,65,221,4,199,221,28,202,255,72,252,247, |
619 | 202,137,252,239,232,251,1,29,139,149,233,248,1,139,3,15,182,204,15,182,232, | 599 | 208,137,68,202,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, |
620 | 131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,139,108,36, | 600 | 255,36,252,238,255,141,76,202,12,141,68,194,4,189,237,137,105,252,248,248, |
621 | 24,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137,92,36,28,232, | 601 | 1,137,41,131,193,8,57,193,15,134,244,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, | 602 | 4,193,232,16,65,252,255,36,252,238,255,139,106,252,248,139,172,253,133,233, |
623 | 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,108, | 603 | 139,173,233,72,139,69,0,72,137,4,202,139,3,15,182,204,15,182,232,131,195, |
624 | 36,24,137,149,233,65,139,142,233,65,59,142,233,137,92,36,28,15,131,244,251, | 604 | 4,193,232,16,65,252,255,36,252,238,255,139,106,252,248,139,172,253,141,233, |
625 | 248,1,137,194,37,252,255,7,0,0,193,252,234,11,61,252,255,7,0,0,15,132,244, | 605 | 128,189,233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132, |
626 | 249,248,2,137,252,239,137,198,232,251,1,31,139,149,233,15,182,75,252,253, | 606 | 244,247,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182, |
627 | 137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232, | 607 | 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,232,239,129,252, |
628 | 16,65,252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,239, | 608 | 248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,137,252,238,137,213, |
629 | 232,251,1,32,15,183,67,252,254,252,233,244,1,255,72,252,247,208,139,108,36, | 609 | 65,141,190,233,255,232,251,1,28,137,252,234,252,233,244,1,255,72,252,247, |
630 | 24,65,139,142,233,137,92,36,28,65,59,142,233,137,149,233,15,131,244,249,248, | 610 | 208,139,106,252,248,139,172,253,141,233,65,139,12,135,139,133,233,137,8,199, |
631 | 2,65,139,52,135,137,252,239,232,251,1,33,139,149,233,15,182,75,252,253,137, | 611 | 64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182, |
632 | 4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, | 612 | 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,252,246,129,233,235, |
633 | 252,255,36,252,238,248,3,137,252,239,232,251,1,32,15,183,67,252,254,72,252, | 613 | 15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,198,65,141,190,233,232, |
634 | 247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,233,65,139, | 614 | 251,1,28,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,65,15, |
635 | 4,135,252,233,244,163,255,72,252,247,208,139,106,252,248,139,173,233,65,139, | 615 | 16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221, |
636 | 4,135,252,233,244,164,255,15,182,252,236,15,182,192,129,124,253,252,234,4, | 616 | 25,255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137, |
637 | 239,15,133,244,36,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251, | 617 | 65,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238, |
638 | 139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194, | 618 | 255,141,156,253,131,233,139,108,36,24,131,189,233,0,15,132,244,247,137,149, |
639 | 252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244,36,255,59, | 619 | 233,141,52,202,137,252,239,232,251,1,29,139,149,233,248,1,139,3,15,182,204, |
640 | 133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248, | 620 | 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208, |
641 | 72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232, | 621 | 139,108,36,24,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137,92, |
642 | 16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,249,139,141,233,252, | 622 | 36,28,232,251,1,30,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237, |
643 | 246,129,233,235,15,132,244,36,15,182,75,252,253,248,3,199,68,202,4,237,252, | ||
644 | 233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,36,139,4,194,252,233, | ||
645 | 244,163,255,15,182,252,236,15,182,192,72,252,247,208,65,139,4,135,129,124, | ||
646 | 253,252,234,4,239,15,133,244,34,139,44,252,234,248,163,139,141,233,35,136, | ||
647 | 233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233, | ||
648 | 15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,67,252,253,72,139, | ||
649 | 41,72,137,44,194,248,2,255,139,3,15,182,204,15,182,232,131,195,4,193,232, | ||
650 | 16,65,252,255,36,252,238,248,3,15,182,67,252,253,199,68,194,4,237,252,233, | ||
651 | 244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,233,133,201,15, | ||
652 | 132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,34,255,15,182,252, | ||
653 | 236,15,182,192,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,59, | ||
654 | 133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248, | ||
655 | 72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232, | ||
656 | 16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,249,139,141,233,252, | ||
657 | 246,129,233,235,15,132,244,35,255,15,182,75,252,253,248,3,199,68,202,4,237, | ||
658 | 252,233,244,1,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15, | ||
659 | 133,244,39,139,44,252,234,255,15,133,244,39,255,59,133,233,15,131,244,39, | ||
660 | 193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233, | ||
661 | 235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,3,15,182,204,15,182, | ||
662 | 232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,189,233,0,15,132, | ||
663 | 244,1,139,141,233,252,246,129,233,235,255,15,132,244,39,15,182,75,252,253, | ||
664 | 252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,39,139,4,194,252,233, | ||
665 | 244,164,248,7,128,165,233,235,65,139,142,233,65,137,174,233,137,141,233,15, | ||
666 | 182,75,252,253,252,233,244,2,255,15,182,252,236,15,182,192,72,252,247,208, | ||
667 | 65,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,248,164, | ||
668 | 139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1,129,185, | ||
669 | 233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239,15,132, | ||
670 | 244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182,67,252, | ||
671 | 253,72,139,44,194,72,137,41,139,3,15,182,204,15,182,232,131,195,4,193,232, | ||
672 | 16,65,252,255,36,252,238,248,4,131,189,233,0,15,132,244,2,137,12,36,139,141, | ||
673 | 233,252,246,129,233,235,15,132,244,37,139,12,36,252,233,244,2,248,5,139,137, | ||
674 | 233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129, | ||
675 | 233,235,15,132,244,37,248,6,137,4,36,199,68,36,4,237,137,108,36,8,139,124, | ||
676 | 36,24,137,151,233,72,141,20,36,137,252,238,137,252,253,137,92,36,28,232,251, | ||
677 | 1,34,139,149,233,139,108,36,8,137,193,252,233,244,2,248,7,128,165,233,235, | ||
678 | 65,139,134,233,65,137,174,233,137,133,233,252,233,244,3,255,15,182,252,236, | ||
679 | 15,182,192,129,124,253,252,234,4,239,15,133,244,38,139,44,252,234,59,133, | ||
680 | 233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248, | ||
681 | 1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202,72,137,8,139,3,15, | ||
682 | 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,189, | ||
683 | 233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,38,15,182, | ||
684 | 75,252,253,252,233,244,1,248,7,128,165,233,235,65,139,142,233,65,137,174, | ||
685 | 233,137,141,233,15,182,75,252,253,252,233,244,2,255,68,137,60,36,69,139,60, | ||
686 | 199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248, | ||
687 | 2,139,68,36,4,131,232,1,15,132,244,250,68,1,252,248,59,133,233,15,135,244, | ||
688 | 251,68,41,252,248,65,193,231,3,68,3,189,233,248,3,72,139,41,131,193,8,73, | ||
689 | 137,47,65,131,199,8,131,232,1,15,133,244,3,248,4,68,139,60,36,139,3,15,182, | ||
690 | 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5,139,124,36, | ||
691 | 24,137,151,233,137,252,238,137,194,137,252,253,137,92,36,28,232,251,1,35, | ||
692 | 139,149,233,15,182,75,252,253,252,233,244,1,248,7,255,128,165,233,235,65, | ||
693 | 139,134,233,65,137,174,233,137,133,233,252,233,244,2,255,3,68,36,4,255,129, | ||
694 | 124,253,202,4,239,139,44,202,15,133,244,55,141,84,202,8,137,90,252,252,139, | ||
695 | 157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238, | ||
696 | 255,141,76,202,8,65,137,215,139,105,252,248,129,121,253,252,252,239,15,133, | ||
697 | 244,28,248,56,139,90,252,252,252,247,195,237,15,133,244,253,248,1,137,106, | ||
698 | 252,248,137,68,36,4,131,232,1,15,132,244,249,248,2,72,139,41,131,193,8,73, | ||
699 | 137,47,65,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36, | ||
700 | 4,128,189,233,1,15,135,244,251,248,4,139,157,233,139,11,15,182,252,233,15, | ||
701 | 182,205,131,195,4,65,252,255,36,252,238,248,5,255,252,247,195,237,15,133, | ||
702 | 244,4,15,182,75,252,253,72,252,247,209,141,12,202,68,139,121,252,248,69,139, | ||
703 | 191,233,69,139,191,233,252,233,244,4,248,7,129,252,235,239,252,247,195,237, | ||
704 | 15,133,244,254,41,218,65,137,215,139,90,252,252,252,233,244,1,248,8,129,195, | ||
705 | 239,252,233,244,1,255,141,76,202,8,72,139,105,232,72,139,65,252,240,72,137, | ||
706 | 41,72,137,65,8,139,105,224,139,65,228,137,105,252,248,137,65,252,252,129, | ||
707 | 252,248,239,184,237,15,133,244,28,137,202,137,90,252,252,139,157,233,139, | ||
708 | 11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,255,68,137,60, | ||
709 | 36,68,137,116,36,4,139,108,202,252,240,139,68,202,252,248,68,139,181,233, | ||
710 | 131,195,4,68,139,189,233,248,1,68,57,252,240,15,131,244,251,65,129,124,253, | ||
711 | 199,4,239,15,132,244,250,255,219,68,202,252,248,255,73,139,44,199,72,137, | ||
712 | 108,202,8,131,192,1,255,137,68,202,252,248,248,2,15,183,67,252,254,141,156, | ||
713 | 253,131,233,248,3,68,139,116,36,4,68,139,60,36,139,3,15,182,204,15,182,232, | ||
714 | 131,195,4,193,232,16,65,252,255,36,252,238,248,4,131,192,1,255,137,68,202, | ||
715 | 252,248,255,252,233,244,1,248,5,68,41,252,240,248,6,59,133,233,15,135,244, | ||
716 | 3,68,105,252,248,239,68,3,189,233,65,129,191,233,239,15,132,244,253,70,141, | ||
717 | 116,48,1,73,139,175,233,73,139,135,233,72,137,44,202,72,137,68,202,8,68,137, | ||
718 | 116,202,252,248,252,233,244,2,248,7,131,192,1,252,233,244,6,255,129,124,253, | ||
719 | 202,252,236,239,15,133,244,251,139,108,202,232,129,124,253,202,252,244,239, | ||
720 | 15,133,244,251,129,124,253,202,252,252,239,15,133,244,251,128,189,233,235, | ||
721 | 15,133,244,251,141,156,253,131,233,199,68,202,252,248,0,0,0,0,248,1,139,3, | ||
722 | 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5,198, | ||
723 | 67,252,252,235,141,156,253,131,233,198,3,235,252,233,244,1,255,15,182,252, | ||
724 | 236,15,182,192,68,137,60,36,68,141,188,253,194,233,141,12,202,68,43,122,252, | ||
725 | 252,133,252,237,15,132,244,251,141,108,252,233,252,248,65,57,215,15,131,244, | ||
726 | 248,248,1,73,139,71,252,248,65,131,199,8,72,137,1,131,193,8,57,252,233,15, | ||
727 | 131,244,249,65,57,215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233, | ||
728 | 15,130,244,2,248,3,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193, | ||
729 | 232,16,65,252,255,36,252,238,248,5,199,68,36,4,1,0,0,0,137,208,68,41,252, | ||
730 | 248,15,134,244,3,137,197,193,252,237,3,131,197,1,137,108,36,4,139,108,36, | ||
731 | 24,1,200,59,133,233,15,135,244,253,248,6,255,73,139,71,252,248,65,131,199, | ||
732 | 8,72,137,1,131,193,8,65,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233, | ||
733 | 137,141,233,137,92,36,28,65,41,215,139,116,36,4,131,252,238,1,137,252,239, | ||
734 | 232,251,1,0,139,149,233,139,141,233,65,1,215,252,233,244,6,255,193,225,3, | ||
735 | 255,248,1,139,90,252,252,137,68,36,4,252,247,195,237,15,133,244,253,255,248, | ||
736 | 13,65,137,215,131,232,1,15,132,244,249,248,2,73,139,44,15,73,137,111,252, | ||
737 | 248,65,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,4,15,182,107,252, | ||
738 | 255,248,5,57,197,15,135,244,252,255,72,139,44,10,72,137,106,252,248,255,248, | ||
739 | 5,56,67,252,255,15,135,244,252,255,15,182,75,252,253,72,252,247,209,141,20, | ||
740 | 202,68,139,122,252,248,69,139,191,233,69,139,191,233,139,3,15,182,204,15, | ||
741 | 182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,255,65,199,71,252, | ||
742 | 252,237,65,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244, | ||
743 | 5,248,7,141,171,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233, | ||
744 | 255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,1,15,132,244, | ||
745 | 145,255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,129,121,253,12, | ||
746 | 239,15,133,244,57,129,121,253,20,239,15,133,244,57,139,41,131,121,16,0,15, | ||
747 | 140,244,251,255,139,105,16,133,252,237,15,136,244,251,3,41,15,128,244,247, | ||
748 | 137,41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,253,248,1,248, | ||
749 | 6,141,156,253,131,233,255,141,156,253,131,233,15,183,67,252,254,15,142,245, | ||
750 | 248,1,248,6,255,15,143,244,253,248,6,141,156,253,131,233,248,1,255,248,7, | ||
751 | 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248, | ||
752 | 5,255,3,41,15,128,244,1,137,41,255,15,141,244,7,255,141,156,253,131,233,15, | ||
753 | 183,67,252,254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,9,255,129, | ||
754 | 121,253,4,239,255,15,131,244,57,129,121,253,12,239,15,131,244,57,255,139, | ||
755 | 105,20,255,129,252,253,239,15,131,244,57,255,252,242,15,16,1,252,242,15,16, | ||
756 | 73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255, | ||
757 | 15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221, | ||
758 | 1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24, | ||
759 | 15,140,244,247,255,217,201,248,1,255,15,183,67,252,254,255,15,131,244,7,255, | ||
760 | 15,131,244,248,141,156,253,131,233,255,141,156,253,131,233,15,183,67,252, | ||
761 | 254,15,131,245,255,15,130,244,7,255,15,130,244,248,141,156,253,131,233,255, | ||
762 | 248,3,102,15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239, | ||
763 | 15,132,244,247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,255, | ||
764 | 141,156,253,131,233,139,1,137,105,252,252,137,65,252,248,255,65,139,142,233, | ||
765 | 139,4,129,72,139,128,233,139,108,36,24,65,137,150,233,65,137,174,233,76,137, | ||
766 | 36,36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156,253,131,233, | ||
767 | 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255, | ||
768 | 137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,1,15,132,244,147, | ||
769 | 255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15,135,244,23,15,182, | ||
770 | 139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254,252,233,245,255, | ||
771 | 248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2, | ||
772 | 255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252,252,68,137,120, | ||
773 | 252,248,139,108,36,24,141,12,200,59,141,233,15,135,244,22,137,209,137,194, | ||
774 | 15,182,171,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244, | ||
775 | 249,68,139,121,252,248,68,137,56,68,139,121,252,252,68,137,120,4,131,192, | ||
776 | 8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,68,139,187,233, | ||
777 | 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255, | 623 | 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255, |
778 | 248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233,244,2,255, | 624 | 139,108,36,24,137,149,233,65,139,142,233,65,59,142,233,137,92,36,28,15,131, |
779 | 139,106,252,248,76,139,189,233,139,108,36,24,141,68,194,252,248,137,149,233, | 625 | 244,251,248,1,137,194,37,252,255,7,0,0,193,252,234,11,61,252,255,7,0,0,15, |
780 | 141,136,233,59,141,233,137,133,233,255,76,137,252,254,137,252,239,255,15, | 626 | 132,244,249,248,2,137,252,239,137,198,232,251,1,31,139,149,233,15,182,75, |
781 | 135,244,21,65,199,134,233,237,255,65,252,255,215,255,65,252,255,150,233,255, | 627 | 252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4, |
782 | 65,199,134,233,237,139,149,233,141,12,194,252,247,217,3,141,233,139,90,252, | 628 | 193,232,16,65,252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,137, |
783 | 252,252,233,244,12,255,254,0 | 629 | 252,239,232,251,1,32,15,183,67,252,254,252,233,244,1,255,72,252,247,208,139, |
630 | 108,36,24,65,139,142,233,137,92,36,28,65,59,142,233,137,149,233,15,131,244, | ||
631 | 249,248,2,65,139,52,135,137,252,239,232,251,1,33,139,149,233,15,182,75,252, | ||
632 | 253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193, | ||
633 | 232,16,65,252,255,36,252,238,248,3,137,252,239,232,251,1,32,15,183,67,252, | ||
634 | 254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173, | ||
635 | 233,65,139,4,135,252,233,244,164,255,72,252,247,208,139,106,252,248,139,173, | ||
636 | 233,65,139,4,135,252,233,244,165,255,15,182,252,236,15,182,192,129,124,253, | ||
637 | 252,234,4,239,15,133,244,36,139,44,252,234,255,129,124,253,194,4,239,15,133, | ||
638 | 244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15, | ||
639 | 16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244, | ||
640 | 36,255,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15, | ||
641 | 132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,232,131, | ||
642 | 195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,249, | ||
643 | 139,141,233,252,246,129,233,235,15,132,244,36,15,182,75,252,253,248,3,199, | ||
644 | 68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,36, | ||
645 | 139,4,194,252,233,244,164,255,15,182,252,236,15,182,192,72,252,247,208,65, | ||
646 | 139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,164, | ||
647 | 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133, | ||
648 | 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182, | ||
649 | 67,252,253,72,139,41,72,137,44,194,248,2,255,139,3,15,182,204,15,182,232, | ||
650 | 131,195,4,193,232,16,65,252,255,36,252,238,248,3,15,182,67,252,253,199,68, | ||
651 | 194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139, | ||
652 | 141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244, | ||
653 | 34,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,35, | ||
654 | 139,44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4, | ||
655 | 239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182, | ||
656 | 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132, | ||
657 | 244,249,139,141,233,252,246,129,233,235,15,132,244,35,255,15,182,75,252,253, | ||
658 | 248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124, | ||
659 | 253,252,234,4,239,15,133,244,39,139,44,252,234,255,15,133,244,39,255,59,133, | ||
660 | 233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248, | ||
661 | 1,252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,3, | ||
662 | 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131, | ||
663 | 189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,39, | ||
664 | 15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,39, | ||
665 | 139,4,194,252,233,244,165,248,7,128,165,233,235,65,139,142,233,65,137,174, | ||
666 | 233,137,141,233,15,182,75,252,253,252,233,244,2,255,15,182,252,236,15,182, | ||
667 | 192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139, | ||
668 | 44,252,234,248,165,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141, | ||
669 | 233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121, | ||
670 | 253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248, | ||
671 | 3,15,182,67,252,253,72,139,44,194,72,137,41,139,3,15,182,204,15,182,232,131, | ||
672 | 195,4,193,232,16,65,252,255,36,252,238,248,4,131,189,233,0,15,132,244,2,137, | ||
673 | 12,36,139,141,233,252,246,129,233,235,15,132,244,37,139,12,36,252,233,244, | ||
674 | 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244, | ||
675 | 252,252,246,129,233,235,15,132,244,37,248,6,137,4,36,199,68,36,4,237,137, | ||
676 | 108,36,8,139,124,36,24,137,151,233,72,141,20,36,137,252,238,137,252,253,137, | ||
677 | 92,36,28,232,251,1,34,139,149,233,139,108,36,8,137,193,252,233,244,2,248, | ||
678 | 7,128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,3, | ||
679 | 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139, | ||
680 | 44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239, | ||
681 | 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202, | ||
682 | 72,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, | ||
683 | 238,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235, | ||
684 | 15,132,244,38,15,182,75,252,253,252,233,244,1,248,7,128,165,233,235,65,139, | ||
685 | 142,233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,68, | ||
686 | 137,60,36,69,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233, | ||
687 | 235,15,133,244,253,248,2,139,68,36,4,131,232,1,15,132,244,250,68,1,252,248, | ||
688 | 59,133,233,15,135,244,251,68,41,252,248,65,193,231,3,68,3,189,233,248,3,72, | ||
689 | 139,41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244,3,248,4,68,139, | ||
690 | 60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, | ||
691 | 238,248,5,139,124,36,24,137,151,233,137,252,238,137,194,137,252,253,137,92, | ||
692 | 36,28,232,251,1,35,139,149,233,15,182,75,252,253,252,233,244,1,248,7,255, | ||
693 | 128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,2,255, | ||
694 | 3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244,55,141,84,202,8, | ||
695 | 137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65, | ||
696 | 252,255,36,252,238,255,141,76,202,8,65,137,215,139,105,252,248,129,121,253, | ||
697 | 252,252,239,15,133,244,28,248,56,139,90,252,252,252,247,195,237,15,133,244, | ||
698 | 253,248,1,137,106,252,248,137,68,36,4,131,232,1,15,132,244,249,248,2,72,139, | ||
699 | 41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244,2,139,106,252,248, | ||
700 | 248,3,139,68,36,4,128,189,233,1,15,135,244,251,248,4,139,157,233,139,11,15, | ||
701 | 182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248,5,255,252,247, | ||
702 | 195,237,15,133,244,4,15,182,75,252,253,72,252,247,209,141,12,202,68,139,121, | ||
703 | 252,248,69,139,191,233,69,139,191,233,252,233,244,4,248,7,129,252,235,239, | ||
704 | 252,247,195,237,15,133,244,254,41,218,65,137,215,139,90,252,252,252,233,244, | ||
705 | 1,248,8,129,195,239,252,233,244,1,255,141,76,202,8,72,139,105,232,72,139, | ||
706 | 65,252,240,72,137,41,72,137,65,8,139,105,224,139,65,228,137,105,252,248,137, | ||
707 | 65,252,252,129,252,248,239,184,237,15,133,244,28,137,202,137,90,252,252,139, | ||
708 | 157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238, | ||
709 | 255,68,137,60,36,68,137,116,36,4,139,108,202,252,240,139,68,202,252,248,68, | ||
710 | 139,181,233,131,195,4,68,139,189,233,248,1,68,57,252,240,15,131,244,251,65, | ||
711 | 129,124,253,199,4,239,15,132,244,250,255,219,68,202,252,248,255,73,139,44, | ||
712 | 199,72,137,108,202,8,131,192,1,255,137,68,202,252,248,248,2,15,183,67,252, | ||
713 | 254,141,156,253,131,233,248,3,68,139,116,36,4,68,139,60,36,139,3,15,182,204, | ||
714 | 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,4,131,192,1,255, | ||
715 | 137,68,202,252,248,255,252,233,244,1,248,5,68,41,252,240,248,6,59,133,233, | ||
716 | 15,135,244,3,68,105,252,248,239,68,3,189,233,65,129,191,233,239,15,132,244, | ||
717 | 253,70,141,116,48,1,73,139,175,233,73,139,135,233,72,137,44,202,72,137,68, | ||
718 | 202,8,68,137,116,202,252,248,252,233,244,2,248,7,131,192,1,252,233,244,6, | ||
719 | 255,129,124,253,202,252,236,239,15,133,244,251,139,108,202,232,129,124,253, | ||
720 | 202,252,244,239,15,133,244,251,129,124,253,202,252,252,239,15,133,244,251, | ||
721 | 128,189,233,235,15,133,244,251,141,156,253,131,233,199,68,202,252,248,0,0, | ||
722 | 0,0,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, | ||
723 | 252,238,248,5,198,67,252,252,235,141,156,253,131,233,198,3,235,252,233,244, | ||
724 | 1,255,15,182,252,236,15,182,192,68,137,60,36,68,141,188,253,194,233,141,12, | ||
725 | 202,68,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233,252,248, | ||
726 | 65,57,215,15,131,244,248,248,1,73,139,71,252,248,65,131,199,8,72,137,1,131, | ||
727 | 193,8,57,252,233,15,131,244,249,65,57,215,15,130,244,1,248,2,199,65,4,237, | ||
728 | 131,193,8,57,252,233,15,130,244,2,248,3,68,139,60,36,139,3,15,182,204,15, | ||
729 | 182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5,199,68,36,4,1,0, | ||
730 | 0,0,137,208,68,41,252,248,15,134,244,3,137,197,193,252,237,3,131,197,1,137, | ||
731 | 108,36,4,139,108,36,24,1,200,59,133,233,15,135,244,253,248,6,255,73,139,71, | ||
732 | 252,248,65,131,199,8,72,137,1,131,193,8,65,57,215,15,130,244,6,252,233,244, | ||
733 | 3,248,7,137,149,233,137,141,233,137,92,36,28,65,41,215,139,116,36,4,131,252, | ||
734 | 238,1,137,252,239,232,251,1,0,139,149,233,139,141,233,65,1,215,252,233,244, | ||
735 | 6,255,193,225,3,255,248,1,139,90,252,252,137,68,36,4,252,247,195,237,15,133, | ||
736 | 244,253,255,248,13,65,137,215,131,232,1,15,132,244,249,248,2,73,139,44,15, | ||
737 | 73,137,111,252,248,65,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,4, | ||
738 | 15,182,107,252,255,248,5,57,197,15,135,244,252,255,72,139,44,10,72,137,106, | ||
739 | 252,248,255,248,5,56,67,252,255,15,135,244,252,255,15,182,75,252,253,72,252, | ||
740 | 247,209,141,20,202,68,139,122,252,248,69,139,191,233,69,139,191,233,139,3, | ||
741 | 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,255, | ||
742 | 65,199,71,252,252,237,65,131,199,8,255,199,68,194,252,244,237,255,131,192, | ||
743 | 1,252,233,244,5,248,7,141,171,233,252,247,197,237,15,133,244,14,41,252,234, | ||
744 | 255,1,252,233,255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,233, | ||
745 | 1,15,132,244,145,255,141,12,202,255,129,121,253,4,239,15,133,244,255,255, | ||
746 | 129,121,253,12,239,15,133,244,57,129,121,253,20,239,15,133,244,57,139,41, | ||
747 | 131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133,244,162,129,121, | ||
748 | 253,20,239,15,133,244,162,255,139,105,16,133,252,237,15,136,244,251,3,41, | ||
749 | 15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244, | ||
750 | 253,248,1,248,6,141,156,253,131,233,255,141,156,253,131,233,15,183,67,252, | ||
751 | 254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,156,253,131,233,248, | ||
752 | 1,255,248,7,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, | ||
753 | 252,238,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7,255,141,156,253, | ||
754 | 131,233,15,183,67,252,254,15,141,245,255,15,140,244,7,255,252,233,244,6,248, | ||
755 | 9,255,129,121,253,4,239,255,15,131,244,57,129,121,253,12,239,15,131,244,57, | ||
756 | 255,129,121,253,12,239,15,131,244,162,129,121,253,20,239,15,131,244,162,255, | ||
757 | 139,105,20,255,129,252,253,239,15,131,244,57,255,252,242,15,16,1,252,242, | ||
758 | 15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244, | ||
759 | 249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221, | ||
760 | 65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255, | ||
761 | 221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,67,252,254,255,15,131, | ||
762 | 244,7,255,15,131,244,248,141,156,253,131,233,255,141,156,253,131,233,15,183, | ||
763 | 67,252,254,15,131,245,255,15,130,244,7,255,15,130,244,248,141,156,253,131, | ||
764 | 233,255,248,3,102,15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252, | ||
765 | 253,239,15,132,244,247,255,137,105,252,252,139,41,137,105,252,248,252,233, | ||
766 | 245,255,141,156,253,131,233,139,1,137,105,252,252,137,65,252,248,255,65,139, | ||
767 | 142,233,139,4,129,72,139,128,233,139,108,36,24,65,137,150,233,65,137,174, | ||
768 | 233,76,137,36,36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156, | ||
769 | 253,131,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, | ||
770 | 252,238,255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,1,15, | ||
771 | 132,244,147,255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15,135, | ||
772 | 244,23,15,182,139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254,252, | ||
773 | 233,245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252, | ||
774 | 233,244,2,255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252,252, | ||
775 | 68,137,120,252,248,139,108,36,24,141,12,200,59,141,233,15,135,244,22,137, | ||
776 | 209,137,194,15,182,171,233,133,252,237,15,132,244,248,248,1,131,193,8,57, | ||
777 | 209,15,131,244,249,68,139,121,252,248,68,137,56,68,139,121,252,252,68,137, | ||
778 | 120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,68, | ||
779 | 139,187,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, | ||
780 | 252,238,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233, | ||
781 | 244,2,255,139,106,252,248,76,139,189,233,139,108,36,24,141,68,194,252,248, | ||
782 | 137,149,233,141,136,233,59,141,233,137,133,233,255,76,137,252,254,137,252, | ||
783 | 239,255,15,135,244,21,65,199,134,233,237,255,65,252,255,215,255,65,252,255, | ||
784 | 150,233,255,65,199,134,233,237,139,149,233,141,12,194,252,247,217,3,141,233, | ||
785 | 139,90,252,252,252,233,244,12,255,254,0 | ||
784 | }; | 786 | }; |
785 | 787 | ||
786 | enum { | 788 | enum { |
@@ -936,6 +938,7 @@ enum { | |||
936 | GLOB_vm_foldarith, | 938 | GLOB_vm_foldarith, |
937 | GLOB_vm_cpuid, | 939 | GLOB_vm_cpuid, |
938 | GLOB_vm_ffi_call, | 940 | GLOB_vm_ffi_call, |
941 | GLOB_assert_bad_for_arg_type, | ||
939 | GLOB_BC_MODVN_Z, | 942 | GLOB_BC_MODVN_Z, |
940 | GLOB_BC_TGETS_Z, | 943 | GLOB_BC_TGETS_Z, |
941 | GLOB_BC_TSETS_Z, | 944 | GLOB_BC_TSETS_Z, |
@@ -1094,6 +1097,7 @@ static const char *const globnames[] = { | |||
1094 | "vm_foldarith", | 1097 | "vm_foldarith", |
1095 | "vm_cpuid", | 1098 | "vm_cpuid", |
1096 | "vm_ffi_call@4", | 1099 | "vm_ffi_call@4", |
1100 | "assert_bad_for_arg_type", | ||
1097 | "BC_MODVN_Z", | 1101 | "BC_MODVN_Z", |
1098 | "BC_TGETS_Z", | 1102 | "BC_TGETS_Z", |
1099 | "BC_TSETS_Z", | 1103 | "BC_TSETS_Z", |
@@ -1818,13 +1822,18 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1818 | #endif | 1822 | #endif |
1819 | dasm_put(Dst, 9832); | 1823 | dasm_put(Dst, 9832); |
1820 | #endif | 1824 | #endif |
1825 | dasm_put(Dst, 9840); | ||
1826 | #ifdef LUA_USE_ASSERT | ||
1827 | dasm_put(Dst, 9242); | ||
1828 | #endif | ||
1829 | dasm_put(Dst, 9242); | ||
1821 | } | 1830 | } |
1822 | 1831 | ||
1823 | /* Generate the code for a single instruction. */ | 1832 | /* Generate the code for a single instruction. */ |
1824 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | 1833 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) |
1825 | { | 1834 | { |
1826 | int vk = 0; | 1835 | int vk = 0; |
1827 | dasm_put(Dst, 9840, defop); | 1836 | dasm_put(Dst, 9843, defop); |
1828 | 1837 | ||
1829 | switch (op) { | 1838 | switch (op) { |
1830 | 1839 | ||
@@ -1835,145 +1844,145 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
1835 | 1844 | ||
1836 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: | 1845 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: |
1837 | if (LJ_DUALNUM) { | 1846 | if (LJ_DUALNUM) { |
1838 | dasm_put(Dst, 9842, LJ_TISNUM, LJ_TISNUM); | 1847 | dasm_put(Dst, 9845, LJ_TISNUM, LJ_TISNUM); |
1839 | switch (op) { | 1848 | switch (op) { |
1840 | case BC_ISLT: | 1849 | case BC_ISLT: |
1841 | dasm_put(Dst, 9872); | 1850 | dasm_put(Dst, 9875); |
1842 | break; | 1851 | break; |
1843 | case BC_ISGE: | 1852 | case BC_ISGE: |
1844 | dasm_put(Dst, 9877); | 1853 | dasm_put(Dst, 9880); |
1845 | break; | 1854 | break; |
1846 | case BC_ISLE: | 1855 | case BC_ISLE: |
1847 | dasm_put(Dst, 9882); | 1856 | dasm_put(Dst, 9885); |
1848 | break; | 1857 | break; |
1849 | case BC_ISGT: | 1858 | case BC_ISGT: |
1850 | dasm_put(Dst, 9887); | 1859 | dasm_put(Dst, 9890); |
1851 | break; | 1860 | break; |
1852 | default: break; /* Shut up GCC. */ | 1861 | default: break; /* Shut up GCC. */ |
1853 | } | 1862 | } |
1854 | dasm_put(Dst, 9892, -BCBIAS_J*4, LJ_TISNUM); | 1863 | dasm_put(Dst, 9895, -BCBIAS_J*4, LJ_TISNUM); |
1855 | if (sse) { | 1864 | if (sse) { |
1856 | dasm_put(Dst, 9947); | 1865 | dasm_put(Dst, 9950); |
1857 | } else { | 1866 | } else { |
1858 | dasm_put(Dst, 9958); | 1867 | dasm_put(Dst, 9961); |
1859 | } | 1868 | } |
1860 | dasm_put(Dst, 9969); | 1869 | dasm_put(Dst, 9972); |
1861 | if (sse) { | 1870 | if (sse) { |
1862 | dasm_put(Dst, 9976); | 1871 | dasm_put(Dst, 9979); |
1863 | switch (op) { | 1872 | switch (op) { |
1864 | case BC_ISLT: | 1873 | case BC_ISLT: |
1865 | dasm_put(Dst, 9996); | 1874 | dasm_put(Dst, 9999); |
1866 | break; | 1875 | break; |
1867 | case BC_ISGE: | 1876 | case BC_ISGE: |
1868 | dasm_put(Dst, 10001); | 1877 | dasm_put(Dst, 10004); |
1869 | break; | 1878 | break; |
1870 | case BC_ISLE: | 1879 | case BC_ISLE: |
1871 | dasm_put(Dst, 10006); | 1880 | dasm_put(Dst, 10009); |
1872 | break; | 1881 | break; |
1873 | case BC_ISGT: | 1882 | case BC_ISGT: |
1874 | dasm_put(Dst, 10011); | 1883 | dasm_put(Dst, 10014); |
1875 | break; | 1884 | break; |
1876 | default: break; /* Shut up GCC. */ | 1885 | default: break; /* Shut up GCC. */ |
1877 | } | 1886 | } |
1878 | dasm_put(Dst, 10016); | 1887 | dasm_put(Dst, 10019); |
1879 | } else { | 1888 | } else { |
1880 | dasm_put(Dst, 10021); | 1889 | dasm_put(Dst, 10024); |
1881 | } | 1890 | } |
1882 | } else { | 1891 | } else { |
1883 | dasm_put(Dst, 10029, LJ_TISNUM, LJ_TISNUM); | 1892 | dasm_put(Dst, 10032, LJ_TISNUM, LJ_TISNUM); |
1884 | } | 1893 | } |
1885 | if (sse) { | 1894 | if (sse) { |
1886 | dasm_put(Dst, 10050); | 1895 | dasm_put(Dst, 10053); |
1887 | } else { | 1896 | } else { |
1888 | dasm_put(Dst, 10071); | 1897 | dasm_put(Dst, 10074); |
1889 | if (cmov) { | 1898 | if (cmov) { |
1890 | dasm_put(Dst, 10087); | 1899 | dasm_put(Dst, 10090); |
1891 | } else { | 1900 | } else { |
1892 | dasm_put(Dst, 10093); | 1901 | dasm_put(Dst, 10096); |
1893 | } | 1902 | } |
1894 | } | 1903 | } |
1895 | if (LJ_DUALNUM) { | 1904 | if (LJ_DUALNUM) { |
1896 | switch (op) { | 1905 | switch (op) { |
1897 | case BC_ISLT: | 1906 | case BC_ISLT: |
1898 | dasm_put(Dst, 9996); | 1907 | dasm_put(Dst, 9999); |
1899 | break; | 1908 | break; |
1900 | case BC_ISGE: | 1909 | case BC_ISGE: |
1901 | dasm_put(Dst, 10001); | 1910 | dasm_put(Dst, 10004); |
1902 | break; | 1911 | break; |
1903 | case BC_ISLE: | 1912 | case BC_ISLE: |
1904 | dasm_put(Dst, 10006); | 1913 | dasm_put(Dst, 10009); |
1905 | break; | 1914 | break; |
1906 | case BC_ISGT: | 1915 | case BC_ISGT: |
1907 | dasm_put(Dst, 10011); | 1916 | dasm_put(Dst, 10014); |
1908 | break; | 1917 | break; |
1909 | default: break; /* Shut up GCC. */ | 1918 | default: break; /* Shut up GCC. */ |
1910 | } | 1919 | } |
1911 | dasm_put(Dst, 10016); | 1920 | dasm_put(Dst, 10019); |
1912 | } else { | 1921 | } else { |
1913 | switch (op) { | 1922 | switch (op) { |
1914 | case BC_ISLT: | 1923 | case BC_ISLT: |
1915 | dasm_put(Dst, 10100); | 1924 | dasm_put(Dst, 10103); |
1916 | break; | 1925 | break; |
1917 | case BC_ISGE: | 1926 | case BC_ISGE: |
1918 | dasm_put(Dst, 10105); | 1927 | dasm_put(Dst, 10108); |
1919 | break; | 1928 | break; |
1920 | case BC_ISLE: | 1929 | case BC_ISLE: |
1921 | dasm_put(Dst, 10110); | 1930 | dasm_put(Dst, 10113); |
1922 | break; | 1931 | break; |
1923 | case BC_ISGT: | 1932 | case BC_ISGT: |
1924 | dasm_put(Dst, 10115); | 1933 | dasm_put(Dst, 10118); |
1925 | break; | 1934 | break; |
1926 | default: break; /* Shut up GCC. */ | 1935 | default: break; /* Shut up GCC. */ |
1927 | } | 1936 | } |
1928 | dasm_put(Dst, 10120, -BCBIAS_J*4); | 1937 | dasm_put(Dst, 10123, -BCBIAS_J*4); |
1929 | } | 1938 | } |
1930 | break; | 1939 | break; |
1931 | 1940 | ||
1932 | case BC_ISEQV: case BC_ISNEV: | 1941 | case BC_ISEQV: case BC_ISNEV: |
1933 | vk = op == BC_ISEQV; | 1942 | vk = op == BC_ISEQV; |
1934 | dasm_put(Dst, 10153); | 1943 | dasm_put(Dst, 10156); |
1935 | if (LJ_DUALNUM) { | 1944 | if (LJ_DUALNUM) { |
1936 | dasm_put(Dst, 10161, LJ_TISNUM, LJ_TISNUM); | 1945 | dasm_put(Dst, 10164, LJ_TISNUM, LJ_TISNUM); |
1937 | if (vk) { | 1946 | if (vk) { |
1938 | dasm_put(Dst, 10186); | 1947 | dasm_put(Dst, 10189); |
1939 | } else { | 1948 | } else { |
1940 | dasm_put(Dst, 10191); | 1949 | dasm_put(Dst, 10194); |
1941 | } | 1950 | } |
1942 | dasm_put(Dst, 10196, -BCBIAS_J*4, LJ_TISNUM); | 1951 | dasm_put(Dst, 10199, -BCBIAS_J*4, LJ_TISNUM); |
1943 | if (sse) { | 1952 | if (sse) { |
1944 | dasm_put(Dst, 10249); | 1953 | dasm_put(Dst, 10252); |
1945 | } else { | 1954 | } else { |
1946 | dasm_put(Dst, 10256); | 1955 | dasm_put(Dst, 10259); |
1947 | } | 1956 | } |
1948 | dasm_put(Dst, 10260); | 1957 | dasm_put(Dst, 10263); |
1949 | if (sse) { | 1958 | if (sse) { |
1950 | dasm_put(Dst, 10271); | 1959 | dasm_put(Dst, 10274); |
1951 | } else { | 1960 | } else { |
1952 | dasm_put(Dst, 10283); | 1961 | dasm_put(Dst, 10286); |
1953 | } | 1962 | } |
1954 | dasm_put(Dst, 10290); | 1963 | dasm_put(Dst, 10293); |
1955 | } else { | 1964 | } else { |
1956 | dasm_put(Dst, 10295, LJ_TISNUM, LJ_TISNUM); | 1965 | dasm_put(Dst, 10298, LJ_TISNUM, LJ_TISNUM); |
1957 | } | 1966 | } |
1958 | if (sse) { | 1967 | if (sse) { |
1959 | dasm_put(Dst, 10314); | 1968 | dasm_put(Dst, 10317); |
1960 | } else { | 1969 | } else { |
1961 | dasm_put(Dst, 10332); | 1970 | dasm_put(Dst, 10335); |
1962 | if (cmov) { | 1971 | if (cmov) { |
1963 | dasm_put(Dst, 10087); | 1972 | dasm_put(Dst, 10090); |
1964 | } else { | 1973 | } else { |
1965 | dasm_put(Dst, 10093); | 1974 | dasm_put(Dst, 10096); |
1966 | } | 1975 | } |
1967 | } | 1976 | } |
1968 | iseqne_fp: | 1977 | iseqne_fp: |
1969 | if (vk) { | 1978 | if (vk) { |
1970 | dasm_put(Dst, 10345); | 1979 | dasm_put(Dst, 10348); |
1971 | } else { | 1980 | } else { |
1972 | dasm_put(Dst, 10354); | 1981 | dasm_put(Dst, 10357); |
1973 | } | 1982 | } |
1974 | iseqne_end: | 1983 | iseqne_end: |
1975 | if (vk) { | 1984 | if (vk) { |
1976 | dasm_put(Dst, 10363, -BCBIAS_J*4); | 1985 | dasm_put(Dst, 10366, -BCBIAS_J*4); |
1977 | if (!LJ_HASFFI) { | 1986 | if (!LJ_HASFFI) { |
1978 | dasm_put(Dst, 4592); | 1987 | dasm_put(Dst, 4592); |
1979 | } | 1988 | } |
@@ -1981,150 +1990,150 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
1981 | if (!LJ_HASFFI) { | 1990 | if (!LJ_HASFFI) { |
1982 | dasm_put(Dst, 4592); | 1991 | dasm_put(Dst, 4592); |
1983 | } | 1992 | } |
1984 | dasm_put(Dst, 10378, -BCBIAS_J*4); | 1993 | dasm_put(Dst, 10381, -BCBIAS_J*4); |
1985 | } | 1994 | } |
1986 | if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || | 1995 | if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || |
1987 | op == BC_ISEQN || op == BC_ISNEN)) { | 1996 | op == BC_ISEQN || op == BC_ISNEN)) { |
1988 | dasm_put(Dst, 10393); | 1997 | dasm_put(Dst, 10396); |
1989 | } else { | 1998 | } else { |
1990 | dasm_put(Dst, 10132); | 1999 | dasm_put(Dst, 10135); |
1991 | } | 2000 | } |
1992 | if (op == BC_ISEQV || op == BC_ISNEV) { | 2001 | if (op == BC_ISEQV || op == BC_ISNEV) { |
1993 | dasm_put(Dst, 10398); | 2002 | dasm_put(Dst, 10401); |
1994 | if (LJ_HASFFI) { | 2003 | if (LJ_HASFFI) { |
1995 | dasm_put(Dst, 10401, LJ_TCDATA, LJ_TCDATA); | 2004 | dasm_put(Dst, 10404, LJ_TCDATA, LJ_TCDATA); |
1996 | } | 2005 | } |
1997 | dasm_put(Dst, 10420, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); | 2006 | dasm_put(Dst, 10423, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); |
1998 | if (vk) { | 2007 | if (vk) { |
1999 | dasm_put(Dst, 10476); | 2008 | dasm_put(Dst, 10479); |
2000 | } else { | 2009 | } else { |
2001 | dasm_put(Dst, 10480); | 2010 | dasm_put(Dst, 10483); |
2002 | } | 2011 | } |
2003 | dasm_put(Dst, 10486); | 2012 | dasm_put(Dst, 10489); |
2004 | } else if (LJ_HASFFI) { | 2013 | } else if (LJ_HASFFI) { |
2005 | dasm_put(Dst, 10491, LJ_TCDATA); | 2014 | dasm_put(Dst, 10494, LJ_TCDATA); |
2006 | if (LJ_DUALNUM && vk) { | 2015 | if (LJ_DUALNUM && vk) { |
2007 | dasm_put(Dst, 10498); | 2016 | dasm_put(Dst, 10501); |
2008 | } else { | 2017 | } else { |
2009 | dasm_put(Dst, 10471); | 2018 | dasm_put(Dst, 10474); |
2010 | } | 2019 | } |
2011 | dasm_put(Dst, 10503); | 2020 | dasm_put(Dst, 10506); |
2012 | } | 2021 | } |
2013 | break; | 2022 | break; |
2014 | case BC_ISEQS: case BC_ISNES: | 2023 | case BC_ISEQS: case BC_ISNES: |
2015 | vk = op == BC_ISEQS; | 2024 | vk = op == BC_ISEQS; |
2016 | dasm_put(Dst, 10508, LJ_TSTR); | 2025 | dasm_put(Dst, 10511, LJ_TSTR); |
2017 | iseqne_test: | 2026 | iseqne_test: |
2018 | if (vk) { | 2027 | if (vk) { |
2019 | dasm_put(Dst, 10349); | 2028 | dasm_put(Dst, 10352); |
2020 | } else { | 2029 | } else { |
2021 | dasm_put(Dst, 2888); | 2030 | dasm_put(Dst, 2888); |
2022 | } | 2031 | } |
2023 | goto iseqne_end; | 2032 | goto iseqne_end; |
2024 | case BC_ISEQN: case BC_ISNEN: | 2033 | case BC_ISEQN: case BC_ISNEN: |
2025 | vk = op == BC_ISEQN; | 2034 | vk = op == BC_ISEQN; |
2026 | dasm_put(Dst, 10535); | 2035 | dasm_put(Dst, 10538); |
2027 | if (LJ_DUALNUM) { | 2036 | if (LJ_DUALNUM) { |
2028 | dasm_put(Dst, 10543, LJ_TISNUM, LJ_TISNUM); | 2037 | dasm_put(Dst, 10546, LJ_TISNUM, LJ_TISNUM); |
2029 | if (vk) { | 2038 | if (vk) { |
2030 | dasm_put(Dst, 10186); | 2039 | dasm_put(Dst, 10189); |
2031 | } else { | 2040 | } else { |
2032 | dasm_put(Dst, 10191); | 2041 | dasm_put(Dst, 10194); |
2033 | } | 2042 | } |
2034 | dasm_put(Dst, 10570, -BCBIAS_J*4, LJ_TISNUM); | 2043 | dasm_put(Dst, 10573, -BCBIAS_J*4, LJ_TISNUM); |
2035 | if (sse) { | 2044 | if (sse) { |
2036 | dasm_put(Dst, 10620); | 2045 | dasm_put(Dst, 10623); |
2037 | } else { | 2046 | } else { |
2038 | dasm_put(Dst, 10628); | 2047 | dasm_put(Dst, 10631); |
2039 | } | 2048 | } |
2040 | dasm_put(Dst, 10633); | 2049 | dasm_put(Dst, 10636); |
2041 | if (sse) { | 2050 | if (sse) { |
2042 | dasm_put(Dst, 10640); | 2051 | dasm_put(Dst, 10643); |
2043 | } else { | 2052 | } else { |
2044 | dasm_put(Dst, 10653); | 2053 | dasm_put(Dst, 10656); |
2045 | } | 2054 | } |
2046 | dasm_put(Dst, 10290); | 2055 | dasm_put(Dst, 10293); |
2047 | } else { | 2056 | } else { |
2048 | dasm_put(Dst, 10661, LJ_TISNUM); | 2057 | dasm_put(Dst, 10664, LJ_TISNUM); |
2049 | } | 2058 | } |
2050 | if (sse) { | 2059 | if (sse) { |
2051 | dasm_put(Dst, 10670); | 2060 | dasm_put(Dst, 10673); |
2052 | } else { | 2061 | } else { |
2053 | dasm_put(Dst, 10689); | 2062 | dasm_put(Dst, 10692); |
2054 | if (cmov) { | 2063 | if (cmov) { |
2055 | dasm_put(Dst, 10087); | 2064 | dasm_put(Dst, 10090); |
2056 | } else { | 2065 | } else { |
2057 | dasm_put(Dst, 10093); | 2066 | dasm_put(Dst, 10096); |
2058 | } | 2067 | } |
2059 | } | 2068 | } |
2060 | goto iseqne_fp; | 2069 | goto iseqne_fp; |
2061 | case BC_ISEQP: case BC_ISNEP: | 2070 | case BC_ISEQP: case BC_ISNEP: |
2062 | vk = op == BC_ISEQP; | 2071 | vk = op == BC_ISEQP; |
2063 | dasm_put(Dst, 10703); | 2072 | dasm_put(Dst, 10706); |
2064 | if (!LJ_HASFFI) goto iseqne_test; | 2073 | if (!LJ_HASFFI) goto iseqne_test; |
2065 | if (vk) { | 2074 | if (vk) { |
2066 | dasm_put(Dst, 10717, -BCBIAS_J*4, LJ_TCDATA); | 2075 | dasm_put(Dst, 10720, -BCBIAS_J*4, LJ_TCDATA); |
2067 | } else { | 2076 | } else { |
2068 | dasm_put(Dst, 10768, LJ_TCDATA, -BCBIAS_J*4); | 2077 | dasm_put(Dst, 10771, LJ_TCDATA, -BCBIAS_J*4); |
2069 | } | 2078 | } |
2070 | break; | 2079 | break; |
2071 | 2080 | ||
2072 | /* -- Unary test and copy ops ------------------------------------------- */ | 2081 | /* -- Unary test and copy ops ------------------------------------------- */ |
2073 | 2082 | ||
2074 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: | 2083 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: |
2075 | dasm_put(Dst, 10813, LJ_TISTRUECOND); | 2084 | dasm_put(Dst, 10816, LJ_TISTRUECOND); |
2076 | if (op == BC_IST || op == BC_ISTC) { | 2085 | if (op == BC_IST || op == BC_ISTC) { |
2077 | dasm_put(Dst, 10115); | 2086 | dasm_put(Dst, 10118); |
2078 | } else { | 2087 | } else { |
2079 | dasm_put(Dst, 10110); | 2088 | dasm_put(Dst, 10113); |
2080 | } | 2089 | } |
2081 | if (op == BC_ISTC || op == BC_ISFC) { | 2090 | if (op == BC_ISTC || op == BC_ISFC) { |
2082 | dasm_put(Dst, 10825); | 2091 | dasm_put(Dst, 10828); |
2083 | } | 2092 | } |
2084 | dasm_put(Dst, 10120, -BCBIAS_J*4); | 2093 | dasm_put(Dst, 10123, -BCBIAS_J*4); |
2085 | break; | 2094 | break; |
2086 | 2095 | ||
2087 | /* -- Unary ops --------------------------------------------------------- */ | 2096 | /* -- Unary ops --------------------------------------------------------- */ |
2088 | 2097 | ||
2089 | case BC_MOV: | 2098 | case BC_MOV: |
2090 | dasm_put(Dst, 10836); | 2099 | dasm_put(Dst, 10839); |
2091 | break; | 2100 | break; |
2092 | case BC_NOT: | 2101 | case BC_NOT: |
2093 | dasm_put(Dst, 10865, LJ_TISTRUECOND, LJ_TTRUE); | 2102 | dasm_put(Dst, 10868, LJ_TISTRUECOND, LJ_TTRUE); |
2094 | break; | 2103 | break; |
2095 | case BC_UNM: | 2104 | case BC_UNM: |
2096 | if (LJ_DUALNUM) { | 2105 | if (LJ_DUALNUM) { |
2097 | dasm_put(Dst, 10902, LJ_TISNUM, LJ_TISNUM); | 2106 | dasm_put(Dst, 10905, LJ_TISNUM, LJ_TISNUM); |
2098 | } else { | 2107 | } else { |
2099 | dasm_put(Dst, 10980, LJ_TISNUM); | 2108 | dasm_put(Dst, 10983, LJ_TISNUM); |
2100 | } | 2109 | } |
2101 | if (sse) { | 2110 | if (sse) { |
2102 | dasm_put(Dst, 10991, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 2111 | dasm_put(Dst, 10994, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
2103 | } else { | 2112 | } else { |
2104 | dasm_put(Dst, 11016); | 2113 | dasm_put(Dst, 11019); |
2105 | } | 2114 | } |
2106 | if (LJ_DUALNUM) { | 2115 | if (LJ_DUALNUM) { |
2107 | dasm_put(Dst, 10393); | 2116 | dasm_put(Dst, 10396); |
2108 | } else { | 2117 | } else { |
2109 | dasm_put(Dst, 10132); | 2118 | dasm_put(Dst, 10135); |
2110 | } | 2119 | } |
2111 | break; | 2120 | break; |
2112 | case BC_LEN: | 2121 | case BC_LEN: |
2113 | dasm_put(Dst, 11025, LJ_TSTR); | 2122 | dasm_put(Dst, 11028, LJ_TSTR); |
2114 | if (LJ_DUALNUM) { | 2123 | if (LJ_DUALNUM) { |
2115 | dasm_put(Dst, 11039, Dt5(->len), LJ_TISNUM); | 2124 | dasm_put(Dst, 11042, Dt5(->len), LJ_TISNUM); |
2116 | } else if (sse) { | 2125 | } else if (sse) { |
2117 | dasm_put(Dst, 11053, Dt5(->len)); | 2126 | dasm_put(Dst, 11056, Dt5(->len)); |
2118 | } else { | 2127 | } else { |
2119 | dasm_put(Dst, 11071, Dt5(->len)); | 2128 | dasm_put(Dst, 11074, Dt5(->len)); |
2120 | } | 2129 | } |
2121 | dasm_put(Dst, 11080, LJ_TTAB); | 2130 | dasm_put(Dst, 11083, LJ_TTAB); |
2122 | if (LJ_DUALNUM) { | 2131 | if (LJ_DUALNUM) { |
2123 | } else if (sse) { | 2132 | } else if (sse) { |
2124 | dasm_put(Dst, 11122); | 2133 | dasm_put(Dst, 11125); |
2125 | } else { | 2134 | } else { |
2126 | } | 2135 | } |
2127 | dasm_put(Dst, 11128); | 2136 | dasm_put(Dst, 11131); |
2128 | break; | 2137 | break; |
2129 | 2138 | ||
2130 | /* -- Binary ops -------------------------------------------------------- */ | 2139 | /* -- Binary ops -------------------------------------------------------- */ |
@@ -2132,603 +2141,603 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2132 | 2141 | ||
2133 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: | 2142 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: |
2134 | if (LJ_DUALNUM) { | 2143 | if (LJ_DUALNUM) { |
2135 | dasm_put(Dst, 11141); | 2144 | dasm_put(Dst, 11144); |
2136 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2145 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2137 | switch (vk) { | 2146 | switch (vk) { |
2138 | case 0: | 2147 | case 0: |
2139 | dasm_put(Dst, 11149, LJ_TISNUM, LJ_TISNUM); | 2148 | dasm_put(Dst, 11152, LJ_TISNUM, LJ_TISNUM); |
2140 | break; | 2149 | break; |
2141 | case 1: | 2150 | case 1: |
2142 | dasm_put(Dst, 11184, LJ_TISNUM, LJ_TISNUM); | 2151 | dasm_put(Dst, 11187, LJ_TISNUM, LJ_TISNUM); |
2143 | break; | 2152 | break; |
2144 | default: | 2153 | default: |
2145 | dasm_put(Dst, 11219, LJ_TISNUM, LJ_TISNUM); | 2154 | dasm_put(Dst, 11222, LJ_TISNUM, LJ_TISNUM); |
2146 | break; | 2155 | break; |
2147 | } | 2156 | } |
2148 | dasm_put(Dst, 11252, LJ_TISNUM); | 2157 | dasm_put(Dst, 11255, LJ_TISNUM); |
2149 | if (vk == 1) { | 2158 | if (vk == 1) { |
2150 | dasm_put(Dst, 11049); | 2159 | dasm_put(Dst, 11052); |
2151 | } else { | 2160 | } else { |
2152 | dasm_put(Dst, 10832); | 2161 | dasm_put(Dst, 10835); |
2153 | } | 2162 | } |
2154 | dasm_put(Dst, 10132); | 2163 | dasm_put(Dst, 10135); |
2155 | } else { | 2164 | } else { |
2156 | dasm_put(Dst, 11141); | 2165 | dasm_put(Dst, 11144); |
2157 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2166 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2158 | switch (vk) { | 2167 | switch (vk) { |
2159 | case 0: | 2168 | case 0: |
2160 | dasm_put(Dst, 11258, LJ_TISNUM); | 2169 | dasm_put(Dst, 11261, LJ_TISNUM); |
2161 | if (LJ_DUALNUM) { | 2170 | if (LJ_DUALNUM) { |
2162 | dasm_put(Dst, 11270, LJ_TISNUM); | 2171 | dasm_put(Dst, 11273, LJ_TISNUM); |
2163 | } | 2172 | } |
2164 | if (sse) { | 2173 | if (sse) { |
2165 | dasm_put(Dst, 11282); | 2174 | dasm_put(Dst, 11285); |
2166 | } else { | 2175 | } else { |
2167 | dasm_put(Dst, 11297); | 2176 | dasm_put(Dst, 11300); |
2168 | } | 2177 | } |
2169 | break; | 2178 | break; |
2170 | case 1: | 2179 | case 1: |
2171 | dasm_put(Dst, 11306, LJ_TISNUM); | 2180 | dasm_put(Dst, 11309, LJ_TISNUM); |
2172 | if (LJ_DUALNUM) { | 2181 | if (LJ_DUALNUM) { |
2173 | dasm_put(Dst, 11318, LJ_TISNUM); | 2182 | dasm_put(Dst, 11321, LJ_TISNUM); |
2174 | } | 2183 | } |
2175 | if (sse) { | 2184 | if (sse) { |
2176 | dasm_put(Dst, 11330); | 2185 | dasm_put(Dst, 11333); |
2177 | } else { | 2186 | } else { |
2178 | dasm_put(Dst, 11345); | 2187 | dasm_put(Dst, 11348); |
2179 | } | 2188 | } |
2180 | break; | 2189 | break; |
2181 | default: | 2190 | default: |
2182 | dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM); | 2191 | dasm_put(Dst, 11357, LJ_TISNUM, LJ_TISNUM); |
2183 | if (sse) { | 2192 | if (sse) { |
2184 | dasm_put(Dst, 11376); | 2193 | dasm_put(Dst, 11379); |
2185 | } else { | 2194 | } else { |
2186 | dasm_put(Dst, 11390); | 2195 | dasm_put(Dst, 11393); |
2187 | } | 2196 | } |
2188 | break; | 2197 | break; |
2189 | } | 2198 | } |
2190 | if (sse) { | 2199 | if (sse) { |
2191 | dasm_put(Dst, 11009); | 2200 | dasm_put(Dst, 11012); |
2192 | } else { | 2201 | } else { |
2193 | dasm_put(Dst, 11021); | 2202 | dasm_put(Dst, 11024); |
2194 | } | 2203 | } |
2195 | dasm_put(Dst, 10132); | 2204 | dasm_put(Dst, 10135); |
2196 | } | 2205 | } |
2197 | break; | 2206 | break; |
2198 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: | 2207 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: |
2199 | if (LJ_DUALNUM) { | 2208 | if (LJ_DUALNUM) { |
2200 | dasm_put(Dst, 11141); | 2209 | dasm_put(Dst, 11144); |
2201 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2210 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2202 | switch (vk) { | 2211 | switch (vk) { |
2203 | case 0: | 2212 | case 0: |
2204 | dasm_put(Dst, 11398, LJ_TISNUM, LJ_TISNUM); | 2213 | dasm_put(Dst, 11401, LJ_TISNUM, LJ_TISNUM); |
2205 | break; | 2214 | break; |
2206 | case 1: | 2215 | case 1: |
2207 | dasm_put(Dst, 11433, LJ_TISNUM, LJ_TISNUM); | 2216 | dasm_put(Dst, 11436, LJ_TISNUM, LJ_TISNUM); |
2208 | break; | 2217 | break; |
2209 | default: | 2218 | default: |
2210 | dasm_put(Dst, 11468, LJ_TISNUM, LJ_TISNUM); | 2219 | dasm_put(Dst, 11471, LJ_TISNUM, LJ_TISNUM); |
2211 | break; | 2220 | break; |
2212 | } | 2221 | } |
2213 | dasm_put(Dst, 11252, LJ_TISNUM); | 2222 | dasm_put(Dst, 11255, LJ_TISNUM); |
2214 | if (vk == 1) { | 2223 | if (vk == 1) { |
2215 | dasm_put(Dst, 11049); | 2224 | dasm_put(Dst, 11052); |
2216 | } else { | 2225 | } else { |
2217 | dasm_put(Dst, 10832); | 2226 | dasm_put(Dst, 10835); |
2218 | } | 2227 | } |
2219 | dasm_put(Dst, 10132); | 2228 | dasm_put(Dst, 10135); |
2220 | } else { | 2229 | } else { |
2221 | dasm_put(Dst, 11141); | 2230 | dasm_put(Dst, 11144); |
2222 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2231 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2223 | switch (vk) { | 2232 | switch (vk) { |
2224 | case 0: | 2233 | case 0: |
2225 | dasm_put(Dst, 11258, LJ_TISNUM); | 2234 | dasm_put(Dst, 11261, LJ_TISNUM); |
2226 | if (LJ_DUALNUM) { | 2235 | if (LJ_DUALNUM) { |
2227 | dasm_put(Dst, 11270, LJ_TISNUM); | 2236 | dasm_put(Dst, 11273, LJ_TISNUM); |
2228 | } | 2237 | } |
2229 | if (sse) { | 2238 | if (sse) { |
2230 | dasm_put(Dst, 11501); | 2239 | dasm_put(Dst, 11504); |
2231 | } else { | 2240 | } else { |
2232 | dasm_put(Dst, 11516); | 2241 | dasm_put(Dst, 11519); |
2233 | } | 2242 | } |
2234 | break; | 2243 | break; |
2235 | case 1: | 2244 | case 1: |
2236 | dasm_put(Dst, 11306, LJ_TISNUM); | 2245 | dasm_put(Dst, 11309, LJ_TISNUM); |
2237 | if (LJ_DUALNUM) { | 2246 | if (LJ_DUALNUM) { |
2238 | dasm_put(Dst, 11318, LJ_TISNUM); | 2247 | dasm_put(Dst, 11321, LJ_TISNUM); |
2239 | } | 2248 | } |
2240 | if (sse) { | 2249 | if (sse) { |
2241 | dasm_put(Dst, 11525); | 2250 | dasm_put(Dst, 11528); |
2242 | } else { | 2251 | } else { |
2243 | dasm_put(Dst, 11540); | 2252 | dasm_put(Dst, 11543); |
2244 | } | 2253 | } |
2245 | break; | 2254 | break; |
2246 | default: | 2255 | default: |
2247 | dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM); | 2256 | dasm_put(Dst, 11357, LJ_TISNUM, LJ_TISNUM); |
2248 | if (sse) { | 2257 | if (sse) { |
2249 | dasm_put(Dst, 11549); | 2258 | dasm_put(Dst, 11552); |
2250 | } else { | 2259 | } else { |
2251 | dasm_put(Dst, 11563); | 2260 | dasm_put(Dst, 11566); |
2252 | } | 2261 | } |
2253 | break; | 2262 | break; |
2254 | } | 2263 | } |
2255 | if (sse) { | 2264 | if (sse) { |
2256 | dasm_put(Dst, 11009); | 2265 | dasm_put(Dst, 11012); |
2257 | } else { | 2266 | } else { |
2258 | dasm_put(Dst, 11021); | 2267 | dasm_put(Dst, 11024); |
2259 | } | 2268 | } |
2260 | dasm_put(Dst, 10132); | 2269 | dasm_put(Dst, 10135); |
2261 | } | 2270 | } |
2262 | break; | 2271 | break; |
2263 | case BC_MULVN: case BC_MULNV: case BC_MULVV: | 2272 | case BC_MULVN: case BC_MULNV: case BC_MULVV: |
2264 | if (LJ_DUALNUM) { | 2273 | if (LJ_DUALNUM) { |
2265 | dasm_put(Dst, 11141); | 2274 | dasm_put(Dst, 11144); |
2266 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2275 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2267 | switch (vk) { | 2276 | switch (vk) { |
2268 | case 0: | 2277 | case 0: |
2269 | dasm_put(Dst, 11571, LJ_TISNUM, LJ_TISNUM); | 2278 | dasm_put(Dst, 11574, LJ_TISNUM, LJ_TISNUM); |
2270 | break; | 2279 | break; |
2271 | case 1: | 2280 | case 1: |
2272 | dasm_put(Dst, 11607, LJ_TISNUM, LJ_TISNUM); | 2281 | dasm_put(Dst, 11610, LJ_TISNUM, LJ_TISNUM); |
2273 | break; | 2282 | break; |
2274 | default: | 2283 | default: |
2275 | dasm_put(Dst, 11643, LJ_TISNUM, LJ_TISNUM); | 2284 | dasm_put(Dst, 11646, LJ_TISNUM, LJ_TISNUM); |
2276 | break; | 2285 | break; |
2277 | } | 2286 | } |
2278 | dasm_put(Dst, 11252, LJ_TISNUM); | 2287 | dasm_put(Dst, 11255, LJ_TISNUM); |
2279 | if (vk == 1) { | 2288 | if (vk == 1) { |
2280 | dasm_put(Dst, 11049); | 2289 | dasm_put(Dst, 11052); |
2281 | } else { | 2290 | } else { |
2282 | dasm_put(Dst, 10832); | 2291 | dasm_put(Dst, 10835); |
2283 | } | 2292 | } |
2284 | dasm_put(Dst, 10132); | 2293 | dasm_put(Dst, 10135); |
2285 | } else { | 2294 | } else { |
2286 | dasm_put(Dst, 11141); | 2295 | dasm_put(Dst, 11144); |
2287 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2296 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2288 | switch (vk) { | 2297 | switch (vk) { |
2289 | case 0: | 2298 | case 0: |
2290 | dasm_put(Dst, 11258, LJ_TISNUM); | 2299 | dasm_put(Dst, 11261, LJ_TISNUM); |
2291 | if (LJ_DUALNUM) { | 2300 | if (LJ_DUALNUM) { |
2292 | dasm_put(Dst, 11270, LJ_TISNUM); | 2301 | dasm_put(Dst, 11273, LJ_TISNUM); |
2293 | } | 2302 | } |
2294 | if (sse) { | 2303 | if (sse) { |
2295 | dasm_put(Dst, 11677); | 2304 | dasm_put(Dst, 11680); |
2296 | } else { | 2305 | } else { |
2297 | dasm_put(Dst, 11692); | 2306 | dasm_put(Dst, 11695); |
2298 | } | 2307 | } |
2299 | break; | 2308 | break; |
2300 | case 1: | 2309 | case 1: |
2301 | dasm_put(Dst, 11306, LJ_TISNUM); | 2310 | dasm_put(Dst, 11309, LJ_TISNUM); |
2302 | if (LJ_DUALNUM) { | 2311 | if (LJ_DUALNUM) { |
2303 | dasm_put(Dst, 11318, LJ_TISNUM); | 2312 | dasm_put(Dst, 11321, LJ_TISNUM); |
2304 | } | 2313 | } |
2305 | if (sse) { | 2314 | if (sse) { |
2306 | dasm_put(Dst, 11701); | 2315 | dasm_put(Dst, 11704); |
2307 | } else { | 2316 | } else { |
2308 | dasm_put(Dst, 11716); | 2317 | dasm_put(Dst, 11719); |
2309 | } | 2318 | } |
2310 | break; | 2319 | break; |
2311 | default: | 2320 | default: |
2312 | dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM); | 2321 | dasm_put(Dst, 11357, LJ_TISNUM, LJ_TISNUM); |
2313 | if (sse) { | 2322 | if (sse) { |
2314 | dasm_put(Dst, 11725); | 2323 | dasm_put(Dst, 11728); |
2315 | } else { | 2324 | } else { |
2316 | dasm_put(Dst, 11739); | 2325 | dasm_put(Dst, 11742); |
2317 | } | 2326 | } |
2318 | break; | 2327 | break; |
2319 | } | 2328 | } |
2320 | if (sse) { | 2329 | if (sse) { |
2321 | dasm_put(Dst, 11009); | 2330 | dasm_put(Dst, 11012); |
2322 | } else { | 2331 | } else { |
2323 | dasm_put(Dst, 11021); | 2332 | dasm_put(Dst, 11024); |
2324 | } | 2333 | } |
2325 | dasm_put(Dst, 10132); | 2334 | dasm_put(Dst, 10135); |
2326 | } | 2335 | } |
2327 | break; | 2336 | break; |
2328 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: | 2337 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: |
2329 | dasm_put(Dst, 11141); | 2338 | dasm_put(Dst, 11144); |
2330 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2339 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2331 | switch (vk) { | 2340 | switch (vk) { |
2332 | case 0: | 2341 | case 0: |
2333 | dasm_put(Dst, 11258, LJ_TISNUM); | 2342 | dasm_put(Dst, 11261, LJ_TISNUM); |
2334 | if (LJ_DUALNUM) { | 2343 | if (LJ_DUALNUM) { |
2335 | dasm_put(Dst, 11270, LJ_TISNUM); | 2344 | dasm_put(Dst, 11273, LJ_TISNUM); |
2336 | } | 2345 | } |
2337 | if (sse) { | 2346 | if (sse) { |
2338 | dasm_put(Dst, 11747); | 2347 | dasm_put(Dst, 11750); |
2339 | } else { | 2348 | } else { |
2340 | dasm_put(Dst, 11762); | 2349 | dasm_put(Dst, 11765); |
2341 | } | 2350 | } |
2342 | break; | 2351 | break; |
2343 | case 1: | 2352 | case 1: |
2344 | dasm_put(Dst, 11306, LJ_TISNUM); | 2353 | dasm_put(Dst, 11309, LJ_TISNUM); |
2345 | if (LJ_DUALNUM) { | 2354 | if (LJ_DUALNUM) { |
2346 | dasm_put(Dst, 11318, LJ_TISNUM); | 2355 | dasm_put(Dst, 11321, LJ_TISNUM); |
2347 | } | 2356 | } |
2348 | if (sse) { | 2357 | if (sse) { |
2349 | dasm_put(Dst, 11771); | 2358 | dasm_put(Dst, 11774); |
2350 | } else { | 2359 | } else { |
2351 | dasm_put(Dst, 11786); | 2360 | dasm_put(Dst, 11789); |
2352 | } | 2361 | } |
2353 | break; | 2362 | break; |
2354 | default: | 2363 | default: |
2355 | dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM); | 2364 | dasm_put(Dst, 11357, LJ_TISNUM, LJ_TISNUM); |
2356 | if (sse) { | 2365 | if (sse) { |
2357 | dasm_put(Dst, 11795); | 2366 | dasm_put(Dst, 11798); |
2358 | } else { | 2367 | } else { |
2359 | dasm_put(Dst, 11809); | 2368 | dasm_put(Dst, 11812); |
2360 | } | 2369 | } |
2361 | break; | 2370 | break; |
2362 | } | 2371 | } |
2363 | if (sse) { | 2372 | if (sse) { |
2364 | dasm_put(Dst, 11009); | 2373 | dasm_put(Dst, 11012); |
2365 | } else { | 2374 | } else { |
2366 | dasm_put(Dst, 11021); | 2375 | dasm_put(Dst, 11024); |
2367 | } | 2376 | } |
2368 | dasm_put(Dst, 10132); | 2377 | dasm_put(Dst, 10135); |
2369 | break; | 2378 | break; |
2370 | case BC_MODVN: | 2379 | case BC_MODVN: |
2371 | dasm_put(Dst, 11141); | 2380 | dasm_put(Dst, 11144); |
2372 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2381 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2373 | switch (vk) { | 2382 | switch (vk) { |
2374 | case 0: | 2383 | case 0: |
2375 | dasm_put(Dst, 11258, LJ_TISNUM); | 2384 | dasm_put(Dst, 11261, LJ_TISNUM); |
2376 | if (LJ_DUALNUM) { | 2385 | if (LJ_DUALNUM) { |
2377 | dasm_put(Dst, 11270, LJ_TISNUM); | 2386 | dasm_put(Dst, 11273, LJ_TISNUM); |
2378 | } | 2387 | } |
2379 | if (sse) { | 2388 | if (sse) { |
2380 | dasm_put(Dst, 11817); | 2389 | dasm_put(Dst, 11820); |
2381 | } else { | 2390 | } else { |
2382 | dasm_put(Dst, 11832); | 2391 | dasm_put(Dst, 11835); |
2383 | } | 2392 | } |
2384 | break; | 2393 | break; |
2385 | case 1: | 2394 | case 1: |
2386 | dasm_put(Dst, 11306, LJ_TISNUM); | 2395 | dasm_put(Dst, 11309, LJ_TISNUM); |
2387 | if (LJ_DUALNUM) { | 2396 | if (LJ_DUALNUM) { |
2388 | dasm_put(Dst, 11318, LJ_TISNUM); | 2397 | dasm_put(Dst, 11321, LJ_TISNUM); |
2389 | } | 2398 | } |
2390 | if (sse) { | 2399 | if (sse) { |
2391 | dasm_put(Dst, 11841); | 2400 | dasm_put(Dst, 11844); |
2392 | } else { | 2401 | } else { |
2393 | dasm_put(Dst, 11856); | 2402 | dasm_put(Dst, 11859); |
2394 | } | 2403 | } |
2395 | break; | 2404 | break; |
2396 | default: | 2405 | default: |
2397 | dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM); | 2406 | dasm_put(Dst, 11357, LJ_TISNUM, LJ_TISNUM); |
2398 | if (sse) { | 2407 | if (sse) { |
2399 | dasm_put(Dst, 11865); | 2408 | dasm_put(Dst, 11868); |
2400 | } else { | 2409 | } else { |
2401 | dasm_put(Dst, 11879); | 2410 | dasm_put(Dst, 11882); |
2402 | } | 2411 | } |
2403 | break; | 2412 | break; |
2404 | } | 2413 | } |
2405 | dasm_put(Dst, 11887); | 2414 | dasm_put(Dst, 11890); |
2406 | if (sse) { | 2415 | if (sse) { |
2407 | dasm_put(Dst, 11009); | 2416 | dasm_put(Dst, 11012); |
2408 | } else { | 2417 | } else { |
2409 | dasm_put(Dst, 11021); | 2418 | dasm_put(Dst, 11024); |
2410 | } | 2419 | } |
2411 | dasm_put(Dst, 10132); | 2420 | dasm_put(Dst, 10135); |
2412 | break; | 2421 | break; |
2413 | case BC_MODNV: case BC_MODVV: | 2422 | case BC_MODNV: case BC_MODVV: |
2414 | dasm_put(Dst, 11141); | 2423 | dasm_put(Dst, 11144); |
2415 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2424 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2416 | switch (vk) { | 2425 | switch (vk) { |
2417 | case 0: | 2426 | case 0: |
2418 | dasm_put(Dst, 11258, LJ_TISNUM); | 2427 | dasm_put(Dst, 11261, LJ_TISNUM); |
2419 | if (LJ_DUALNUM) { | 2428 | if (LJ_DUALNUM) { |
2420 | dasm_put(Dst, 11270, LJ_TISNUM); | 2429 | dasm_put(Dst, 11273, LJ_TISNUM); |
2421 | } | 2430 | } |
2422 | if (sse) { | 2431 | if (sse) { |
2423 | dasm_put(Dst, 11817); | 2432 | dasm_put(Dst, 11820); |
2424 | } else { | 2433 | } else { |
2425 | dasm_put(Dst, 11832); | 2434 | dasm_put(Dst, 11835); |
2426 | } | 2435 | } |
2427 | break; | 2436 | break; |
2428 | case 1: | 2437 | case 1: |
2429 | dasm_put(Dst, 11306, LJ_TISNUM); | 2438 | dasm_put(Dst, 11309, LJ_TISNUM); |
2430 | if (LJ_DUALNUM) { | 2439 | if (LJ_DUALNUM) { |
2431 | dasm_put(Dst, 11318, LJ_TISNUM); | 2440 | dasm_put(Dst, 11321, LJ_TISNUM); |
2432 | } | 2441 | } |
2433 | if (sse) { | 2442 | if (sse) { |
2434 | dasm_put(Dst, 11841); | 2443 | dasm_put(Dst, 11844); |
2435 | } else { | 2444 | } else { |
2436 | dasm_put(Dst, 11856); | 2445 | dasm_put(Dst, 11859); |
2437 | } | 2446 | } |
2438 | break; | 2447 | break; |
2439 | default: | 2448 | default: |
2440 | dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM); | 2449 | dasm_put(Dst, 11357, LJ_TISNUM, LJ_TISNUM); |
2441 | if (sse) { | 2450 | if (sse) { |
2442 | dasm_put(Dst, 11865); | 2451 | dasm_put(Dst, 11868); |
2443 | } else { | 2452 | } else { |
2444 | dasm_put(Dst, 11879); | 2453 | dasm_put(Dst, 11882); |
2445 | } | 2454 | } |
2446 | break; | 2455 | break; |
2447 | } | 2456 | } |
2448 | dasm_put(Dst, 11893); | 2457 | dasm_put(Dst, 11896); |
2449 | break; | 2458 | break; |
2450 | case BC_POW: | 2459 | case BC_POW: |
2451 | dasm_put(Dst, 11141); | 2460 | dasm_put(Dst, 11144); |
2452 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2461 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2453 | switch (vk) { | 2462 | switch (vk) { |
2454 | case 0: | 2463 | case 0: |
2455 | dasm_put(Dst, 11258, LJ_TISNUM); | 2464 | dasm_put(Dst, 11261, LJ_TISNUM); |
2456 | if (LJ_DUALNUM) { | 2465 | if (LJ_DUALNUM) { |
2457 | dasm_put(Dst, 11270, LJ_TISNUM); | 2466 | dasm_put(Dst, 11273, LJ_TISNUM); |
2458 | } | 2467 | } |
2459 | if (sse) { | 2468 | if (sse) { |
2460 | dasm_put(Dst, 11817); | 2469 | dasm_put(Dst, 11820); |
2461 | } else { | 2470 | } else { |
2462 | dasm_put(Dst, 11832); | 2471 | dasm_put(Dst, 11835); |
2463 | } | 2472 | } |
2464 | break; | 2473 | break; |
2465 | case 1: | 2474 | case 1: |
2466 | dasm_put(Dst, 11306, LJ_TISNUM); | 2475 | dasm_put(Dst, 11309, LJ_TISNUM); |
2467 | if (LJ_DUALNUM) { | 2476 | if (LJ_DUALNUM) { |
2468 | dasm_put(Dst, 11318, LJ_TISNUM); | 2477 | dasm_put(Dst, 11321, LJ_TISNUM); |
2469 | } | 2478 | } |
2470 | if (sse) { | 2479 | if (sse) { |
2471 | dasm_put(Dst, 11841); | 2480 | dasm_put(Dst, 11844); |
2472 | } else { | 2481 | } else { |
2473 | dasm_put(Dst, 11856); | 2482 | dasm_put(Dst, 11859); |
2474 | } | 2483 | } |
2475 | break; | 2484 | break; |
2476 | default: | 2485 | default: |
2477 | dasm_put(Dst, 11354, LJ_TISNUM, LJ_TISNUM); | 2486 | dasm_put(Dst, 11357, LJ_TISNUM, LJ_TISNUM); |
2478 | if (sse) { | 2487 | if (sse) { |
2479 | dasm_put(Dst, 11865); | 2488 | dasm_put(Dst, 11868); |
2480 | } else { | 2489 | } else { |
2481 | dasm_put(Dst, 11879); | 2490 | dasm_put(Dst, 11882); |
2482 | } | 2491 | } |
2483 | break; | 2492 | break; |
2484 | } | 2493 | } |
2485 | dasm_put(Dst, 11898); | 2494 | dasm_put(Dst, 11901); |
2486 | if (sse) { | 2495 | if (sse) { |
2487 | dasm_put(Dst, 11009); | 2496 | dasm_put(Dst, 11012); |
2488 | } else { | 2497 | } else { |
2489 | dasm_put(Dst, 11021); | 2498 | dasm_put(Dst, 11024); |
2490 | } | 2499 | } |
2491 | dasm_put(Dst, 10132); | 2500 | dasm_put(Dst, 10135); |
2492 | break; | 2501 | break; |
2493 | 2502 | ||
2494 | case BC_CAT: | 2503 | case BC_CAT: |
2495 | dasm_put(Dst, 11902, Dt1(->base), Dt1(->base)); | 2504 | dasm_put(Dst, 11905, Dt1(->base), Dt1(->base)); |
2496 | break; | 2505 | break; |
2497 | 2506 | ||
2498 | /* -- Constant ops ------------------------------------------------------ */ | 2507 | /* -- Constant ops ------------------------------------------------------ */ |
2499 | 2508 | ||
2500 | case BC_KSTR: | 2509 | case BC_KSTR: |
2501 | dasm_put(Dst, 11986, LJ_TSTR); | 2510 | dasm_put(Dst, 11989, LJ_TSTR); |
2502 | break; | 2511 | break; |
2503 | case BC_KCDATA: | 2512 | case BC_KCDATA: |
2504 | #if LJ_HASFFI | 2513 | #if LJ_HASFFI |
2505 | dasm_put(Dst, 11986, LJ_TCDATA); | 2514 | dasm_put(Dst, 11989, LJ_TCDATA); |
2506 | #endif | 2515 | #endif |
2507 | break; | 2516 | break; |
2508 | case BC_KSHORT: | 2517 | case BC_KSHORT: |
2509 | if (LJ_DUALNUM) { | 2518 | if (LJ_DUALNUM) { |
2510 | dasm_put(Dst, 12023, LJ_TISNUM); | 2519 | dasm_put(Dst, 12026, LJ_TISNUM); |
2511 | } else if (sse) { | 2520 | } else if (sse) { |
2512 | dasm_put(Dst, 12035); | 2521 | dasm_put(Dst, 12038); |
2513 | } else { | 2522 | } else { |
2514 | dasm_put(Dst, 12050); | 2523 | dasm_put(Dst, 12053); |
2515 | } | 2524 | } |
2516 | dasm_put(Dst, 10132); | 2525 | dasm_put(Dst, 10135); |
2517 | break; | 2526 | break; |
2518 | case BC_KNUM: | 2527 | case BC_KNUM: |
2519 | if (sse) { | 2528 | if (sse) { |
2520 | dasm_put(Dst, 12058); | 2529 | dasm_put(Dst, 12061); |
2521 | } else { | 2530 | } else { |
2522 | dasm_put(Dst, 12072); | 2531 | dasm_put(Dst, 12075); |
2523 | } | 2532 | } |
2524 | dasm_put(Dst, 10132); | 2533 | dasm_put(Dst, 10135); |
2525 | break; | 2534 | break; |
2526 | case BC_KPRI: | 2535 | case BC_KPRI: |
2527 | dasm_put(Dst, 12080); | 2536 | dasm_put(Dst, 12083); |
2528 | break; | 2537 | break; |
2529 | case BC_KNIL: | 2538 | case BC_KNIL: |
2530 | dasm_put(Dst, 12109, LJ_TNIL); | 2539 | dasm_put(Dst, 12112, LJ_TNIL); |
2531 | break; | 2540 | break; |
2532 | 2541 | ||
2533 | /* -- Upvalue and function ops ------------------------------------------ */ | 2542 | /* -- Upvalue and function ops ------------------------------------------ */ |
2534 | 2543 | ||
2535 | case BC_UGET: | 2544 | case BC_UGET: |
2536 | dasm_put(Dst, 12157, offsetof(GCfuncL, uvptr), DtA(->v)); | 2545 | dasm_put(Dst, 12160, offsetof(GCfuncL, uvptr), DtA(->v)); |
2537 | break; | 2546 | break; |
2538 | case BC_USETV: | 2547 | case BC_USETV: |
2539 | #define TV2MARKOFS \ | 2548 | #define TV2MARKOFS \ |
2540 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) | 2549 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) |
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); | 2550 | dasm_put(Dst, 12201, 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, 12294); | 2551 | dasm_put(Dst, 12297); |
2543 | break; | 2552 | break; |
2544 | #undef TV2MARKOFS | 2553 | #undef TV2MARKOFS |
2545 | case BC_USETS: | 2554 | case BC_USETS: |
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); | 2555 | dasm_put(Dst, 12309, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); |
2547 | break; | 2556 | break; |
2548 | case BC_USETN: | 2557 | case BC_USETN: |
2549 | dasm_put(Dst, 12402); | 2558 | dasm_put(Dst, 12405); |
2550 | if (sse) { | 2559 | if (sse) { |
2551 | dasm_put(Dst, 12407); | 2560 | dasm_put(Dst, 12410); |
2552 | } else { | 2561 | } else { |
2553 | dasm_put(Dst, 10656); | 2562 | dasm_put(Dst, 10659); |
2554 | } | 2563 | } |
2555 | dasm_put(Dst, 12415, offsetof(GCfuncL, uvptr), DtA(->v)); | 2564 | dasm_put(Dst, 12418, offsetof(GCfuncL, uvptr), DtA(->v)); |
2556 | if (sse) { | 2565 | if (sse) { |
2557 | dasm_put(Dst, 12424); | 2566 | dasm_put(Dst, 12427); |
2558 | } else { | 2567 | } else { |
2559 | dasm_put(Dst, 12430); | 2568 | dasm_put(Dst, 12433); |
2560 | } | 2569 | } |
2561 | dasm_put(Dst, 10132); | 2570 | dasm_put(Dst, 10135); |
2562 | break; | 2571 | break; |
2563 | case BC_USETP: | 2572 | case BC_USETP: |
2564 | dasm_put(Dst, 12433, offsetof(GCfuncL, uvptr), DtA(->v)); | 2573 | dasm_put(Dst, 12436, offsetof(GCfuncL, uvptr), DtA(->v)); |
2565 | break; | 2574 | break; |
2566 | case BC_UCLO: | 2575 | case BC_UCLO: |
2567 | dasm_put(Dst, 12473, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); | 2576 | dasm_put(Dst, 12476, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); |
2568 | break; | 2577 | break; |
2569 | 2578 | ||
2570 | case BC_FNEW: | 2579 | case BC_FNEW: |
2571 | dasm_put(Dst, 12529, Dt1(->base), Dt1(->base), LJ_TFUNC); | 2580 | dasm_put(Dst, 12532, Dt1(->base), Dt1(->base), LJ_TFUNC); |
2572 | break; | 2581 | break; |
2573 | 2582 | ||
2574 | /* -- Table ops --------------------------------------------------------- */ | 2583 | /* -- Table ops --------------------------------------------------------- */ |
2575 | 2584 | ||
2576 | case BC_TNEW: | 2585 | case BC_TNEW: |
2577 | dasm_put(Dst, 12596, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); | 2586 | dasm_put(Dst, 12599, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); |
2578 | break; | 2587 | break; |
2579 | case BC_TDUP: | 2588 | case BC_TDUP: |
2580 | dasm_put(Dst, 12720, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 2589 | dasm_put(Dst, 12723, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); |
2581 | break; | 2590 | break; |
2582 | 2591 | ||
2583 | case BC_GGET: | 2592 | case BC_GGET: |
2584 | dasm_put(Dst, 12819, Dt7(->env)); | 2593 | dasm_put(Dst, 12822, Dt7(->env)); |
2585 | break; | 2594 | break; |
2586 | case BC_GSET: | 2595 | case BC_GSET: |
2587 | dasm_put(Dst, 12839, Dt7(->env)); | 2596 | dasm_put(Dst, 12842, Dt7(->env)); |
2588 | break; | 2597 | break; |
2589 | 2598 | ||
2590 | case BC_TGETV: | 2599 | case BC_TGETV: |
2591 | dasm_put(Dst, 12859, LJ_TTAB); | 2600 | dasm_put(Dst, 12862, LJ_TTAB); |
2592 | if (LJ_DUALNUM) { | 2601 | if (LJ_DUALNUM) { |
2593 | dasm_put(Dst, 12882, LJ_TISNUM); | 2602 | dasm_put(Dst, 12885, LJ_TISNUM); |
2594 | } else { | 2603 | } else { |
2595 | dasm_put(Dst, 12896, LJ_TISNUM); | 2604 | dasm_put(Dst, 12899, LJ_TISNUM); |
2596 | if (sse) { | 2605 | if (sse) { |
2597 | dasm_put(Dst, 12907); | 2606 | dasm_put(Dst, 12910); |
2598 | } else { | 2607 | } else { |
2599 | } | 2608 | } |
2600 | dasm_put(Dst, 12928); | 2609 | dasm_put(Dst, 12931); |
2601 | } | 2610 | } |
2602 | dasm_put(Dst, 12933, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); | 2611 | dasm_put(Dst, 12936, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); |
2603 | dasm_put(Dst, 13025, LJ_TSTR); | 2612 | dasm_put(Dst, 13028, LJ_TSTR); |
2604 | break; | 2613 | break; |
2605 | case BC_TGETS: | 2614 | case BC_TGETS: |
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); | 2615 | dasm_put(Dst, 13046, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2607 | dasm_put(Dst, 13128, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2616 | dasm_put(Dst, 13131, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2608 | break; | 2617 | break; |
2609 | case BC_TGETB: | 2618 | case BC_TGETB: |
2610 | dasm_put(Dst, 13200, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2619 | dasm_put(Dst, 13203, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2611 | dasm_put(Dst, 13296, LJ_TNIL); | 2620 | dasm_put(Dst, 13299, LJ_TNIL); |
2612 | break; | 2621 | break; |
2613 | 2622 | ||
2614 | case BC_TSETV: | 2623 | case BC_TSETV: |
2615 | dasm_put(Dst, 13313, LJ_TTAB); | 2624 | dasm_put(Dst, 13316, LJ_TTAB); |
2616 | if (LJ_DUALNUM) { | 2625 | if (LJ_DUALNUM) { |
2617 | dasm_put(Dst, 12882, LJ_TISNUM); | 2626 | dasm_put(Dst, 12885, LJ_TISNUM); |
2618 | } else { | 2627 | } else { |
2619 | dasm_put(Dst, 12896, LJ_TISNUM); | 2628 | dasm_put(Dst, 12899, LJ_TISNUM); |
2620 | if (sse) { | 2629 | if (sse) { |
2621 | dasm_put(Dst, 12907); | 2630 | dasm_put(Dst, 12910); |
2622 | } else { | 2631 | } else { |
2623 | } | 2632 | } |
2624 | dasm_put(Dst, 13336); | 2633 | dasm_put(Dst, 13339); |
2625 | } | 2634 | } |
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); | 2635 | dasm_put(Dst, 13344, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); |
2627 | dasm_put(Dst, 13422, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2636 | dasm_put(Dst, 13425, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2628 | break; | 2637 | break; |
2629 | case BC_TSETS: | 2638 | case BC_TSETS: |
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); | 2639 | dasm_put(Dst, 13484, 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, 13558, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); | 2640 | dasm_put(Dst, 13561, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); |
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)); | 2641 | dasm_put(Dst, 13648, 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; | 2642 | break; |
2634 | case BC_TSETB: | 2643 | case BC_TSETB: |
2635 | dasm_put(Dst, 13737, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); | 2644 | dasm_put(Dst, 13740, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); |
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)); | 2645 | dasm_put(Dst, 13835, 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; | 2646 | break; |
2638 | 2647 | ||
2639 | case BC_TSETM: | 2648 | case BC_TSETM: |
2640 | dasm_put(Dst, 13880, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); | 2649 | dasm_put(Dst, 13883, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); |
2641 | dasm_put(Dst, 14030, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2650 | dasm_put(Dst, 14033, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2642 | break; | 2651 | break; |
2643 | 2652 | ||
2644 | /* -- Calls and vararg handling ----------------------------------------- */ | 2653 | /* -- Calls and vararg handling ----------------------------------------- */ |
2645 | 2654 | ||
2646 | case BC_CALL: case BC_CALLM: | 2655 | case BC_CALL: case BC_CALLM: |
2647 | dasm_put(Dst, 11145); | 2656 | dasm_put(Dst, 11148); |
2648 | if (op == BC_CALLM) { | 2657 | if (op == BC_CALLM) { |
2649 | dasm_put(Dst, 14050); | 2658 | dasm_put(Dst, 14053); |
2650 | } | 2659 | } |
2651 | dasm_put(Dst, 14055, LJ_TFUNC, Dt7(->pc)); | 2660 | dasm_put(Dst, 14058, LJ_TFUNC, Dt7(->pc)); |
2652 | break; | 2661 | break; |
2653 | 2662 | ||
2654 | case BC_CALLMT: | 2663 | case BC_CALLMT: |
2655 | dasm_put(Dst, 14050); | 2664 | dasm_put(Dst, 14053); |
2656 | break; | 2665 | break; |
2657 | case BC_CALLT: | 2666 | case BC_CALLT: |
2658 | dasm_put(Dst, 14098, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); | 2667 | dasm_put(Dst, 14101, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); |
2659 | dasm_put(Dst, 14216, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); | 2668 | dasm_put(Dst, 14219, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); |
2660 | break; | 2669 | break; |
2661 | 2670 | ||
2662 | case BC_ITERC: | 2671 | case BC_ITERC: |
2663 | dasm_put(Dst, 14290, LJ_TFUNC, 2+1, Dt7(->pc)); | 2672 | dasm_put(Dst, 14293, LJ_TFUNC, 2+1, Dt7(->pc)); |
2664 | break; | 2673 | break; |
2665 | 2674 | ||
2666 | case BC_ITERN: | 2675 | case BC_ITERN: |
2667 | #if LJ_HASJIT | 2676 | #if LJ_HASJIT |
2668 | #endif | 2677 | #endif |
2669 | dasm_put(Dst, 14362, Dt6(->asize), Dt6(->array), LJ_TNIL); | 2678 | dasm_put(Dst, 14365, Dt6(->asize), Dt6(->array), LJ_TNIL); |
2670 | if (LJ_DUALNUM) { | 2679 | if (LJ_DUALNUM) { |
2671 | dasm_put(Dst, 11044, LJ_TISNUM); | 2680 | dasm_put(Dst, 11047, LJ_TISNUM); |
2672 | } else if (sse) { | 2681 | } else if (sse) { |
2673 | dasm_put(Dst, 11122); | 2682 | dasm_put(Dst, 11125); |
2674 | } else { | 2683 | } else { |
2675 | dasm_put(Dst, 14414); | 2684 | dasm_put(Dst, 14417); |
2676 | } | 2685 | } |
2677 | dasm_put(Dst, 14420); | 2686 | dasm_put(Dst, 14423); |
2678 | if (LJ_DUALNUM) { | 2687 | if (LJ_DUALNUM) { |
2679 | } else if (sse) { | 2688 | } else if (sse) { |
2680 | dasm_put(Dst, 11009); | 2689 | dasm_put(Dst, 11012); |
2681 | } else { | 2690 | } else { |
2682 | dasm_put(Dst, 11021); | 2691 | dasm_put(Dst, 11024); |
2683 | } | 2692 | } |
2684 | dasm_put(Dst, 14433, -BCBIAS_J*4); | 2693 | dasm_put(Dst, 14436, -BCBIAS_J*4); |
2685 | if (!LJ_DUALNUM && !sse) { | 2694 | if (!LJ_DUALNUM && !sse) { |
2686 | dasm_put(Dst, 14487); | 2695 | dasm_put(Dst, 14490); |
2687 | } | 2696 | } |
2688 | dasm_put(Dst, 14493, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); | 2697 | dasm_put(Dst, 14496, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); |
2689 | break; | 2698 | break; |
2690 | 2699 | ||
2691 | case BC_ISNEXT: | 2700 | case BC_ISNEXT: |
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); | 2701 | dasm_put(Dst, 14575, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); |
2693 | break; | 2702 | break; |
2694 | 2703 | ||
2695 | case BC_VARG: | 2704 | case BC_VARG: |
2696 | dasm_put(Dst, 14673, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); | 2705 | dasm_put(Dst, 14676, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); |
2697 | dasm_put(Dst, 14840, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 2706 | dasm_put(Dst, 14843, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
2698 | break; | 2707 | break; |
2699 | 2708 | ||
2700 | /* -- Returns ----------------------------------------------------------- */ | 2709 | /* -- Returns ----------------------------------------------------------- */ |
2701 | 2710 | ||
2702 | case BC_RETM: | 2711 | case BC_RETM: |
2703 | dasm_put(Dst, 14050); | 2712 | dasm_put(Dst, 14053); |
2704 | break; | 2713 | break; |
2705 | 2714 | ||
2706 | case BC_RET: case BC_RET0: case BC_RET1: | 2715 | case BC_RET: case BC_RET0: case BC_RET1: |
2707 | if (op != BC_RET0) { | 2716 | if (op != BC_RET0) { |
2708 | dasm_put(Dst, 14910); | 2717 | dasm_put(Dst, 14913); |
2709 | } | 2718 | } |
2710 | dasm_put(Dst, 14914, FRAME_TYPE); | 2719 | dasm_put(Dst, 14917, FRAME_TYPE); |
2711 | switch (op) { | 2720 | switch (op) { |
2712 | case BC_RET: | 2721 | case BC_RET: |
2713 | dasm_put(Dst, 14933); | 2722 | dasm_put(Dst, 14936); |
2714 | break; | 2723 | break; |
2715 | case BC_RET1: | 2724 | case BC_RET1: |
2716 | dasm_put(Dst, 14987); | 2725 | dasm_put(Dst, 14990); |
2717 | /* fallthrough */ | 2726 | /* fallthrough */ |
2718 | case BC_RET0: | 2727 | case BC_RET0: |
2719 | dasm_put(Dst, 14997); | 2728 | dasm_put(Dst, 15000); |
2720 | default: | 2729 | default: |
2721 | break; | 2730 | break; |
2722 | } | 2731 | } |
2723 | dasm_put(Dst, 15008, Dt7(->pc), PC2PROTO(k)); | 2732 | dasm_put(Dst, 15011, Dt7(->pc), PC2PROTO(k)); |
2724 | if (op == BC_RET) { | 2733 | if (op == BC_RET) { |
2725 | dasm_put(Dst, 15056, LJ_TNIL); | 2734 | dasm_put(Dst, 15059, LJ_TNIL); |
2726 | } else { | 2735 | } else { |
2727 | dasm_put(Dst, 15067, LJ_TNIL); | 2736 | dasm_put(Dst, 15070, LJ_TNIL); |
2728 | } | 2737 | } |
2729 | dasm_put(Dst, 15074, -FRAME_VARG, FRAME_TYPEP); | 2738 | dasm_put(Dst, 15077, -FRAME_VARG, FRAME_TYPEP); |
2730 | if (op != BC_RET0) { | 2739 | if (op != BC_RET0) { |
2731 | dasm_put(Dst, 15098); | 2740 | dasm_put(Dst, 15101); |
2732 | } | 2741 | } |
2733 | dasm_put(Dst, 4669); | 2742 | dasm_put(Dst, 4669); |
2734 | break; | 2743 | break; |
@@ -2738,7 +2747,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2738 | 2747 | ||
2739 | case BC_FORL: | 2748 | case BC_FORL: |
2740 | #if LJ_HASJIT | 2749 | #if LJ_HASJIT |
2741 | dasm_put(Dst, 15102, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2750 | dasm_put(Dst, 15105, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2742 | #endif | 2751 | #endif |
2743 | break; | 2752 | break; |
2744 | 2753 | ||
@@ -2750,104 +2759,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2750 | case BC_FORI: | 2759 | case BC_FORI: |
2751 | case BC_IFORL: | 2760 | case BC_IFORL: |
2752 | vk = (op == BC_IFORL || op == BC_JFORL); | 2761 | vk = (op == BC_IFORL || op == BC_JFORL); |
2753 | dasm_put(Dst, 15123); | 2762 | dasm_put(Dst, 15126); |
2754 | if (LJ_DUALNUM) { | 2763 | if (LJ_DUALNUM) { |
2755 | dasm_put(Dst, 15127, LJ_TISNUM); | 2764 | dasm_put(Dst, 15130, LJ_TISNUM); |
2756 | if (!vk) { | 2765 | if (!vk) { |
2757 | dasm_put(Dst, 15137, LJ_TISNUM, LJ_TISNUM); | 2766 | dasm_put(Dst, 15140, LJ_TISNUM, LJ_TISNUM); |
2758 | } else { | 2767 | } else { |
2759 | dasm_put(Dst, 15166); | 2768 | #ifdef LUA_USE_ASSERT |
2769 | dasm_put(Dst, 15169, LJ_TISNUM, LJ_TISNUM); | ||
2770 | #endif | ||
2771 | dasm_put(Dst, 15188); | ||
2760 | } | 2772 | } |
2761 | dasm_put(Dst, 15185, LJ_TISNUM); | 2773 | dasm_put(Dst, 15207, LJ_TISNUM); |
2762 | if (op == BC_FORI) { | 2774 | if (op == BC_FORI) { |
2763 | dasm_put(Dst, 15196, -BCBIAS_J*4); | 2775 | dasm_put(Dst, 15218, -BCBIAS_J*4); |
2764 | } else if (op == BC_JFORI) { | 2776 | } else if (op == BC_JFORI) { |
2765 | dasm_put(Dst, 15210, -BCBIAS_J*4, BC_JLOOP); | 2777 | dasm_put(Dst, 15232, -BCBIAS_J*4, BC_JLOOP); |
2766 | } else if (op == BC_IFORL) { | 2778 | } else if (op == BC_IFORL) { |
2767 | dasm_put(Dst, 15228, -BCBIAS_J*4); | 2779 | dasm_put(Dst, 15250, -BCBIAS_J*4); |
2768 | } else { | 2780 | } else { |
2769 | dasm_put(Dst, 15220, BC_JLOOP); | 2781 | dasm_put(Dst, 15242, BC_JLOOP); |
2770 | } | 2782 | } |
2771 | dasm_put(Dst, 15242); | 2783 | dasm_put(Dst, 15264); |
2772 | if (vk) { | 2784 | if (vk) { |
2773 | dasm_put(Dst, 15267); | 2785 | dasm_put(Dst, 15289); |
2774 | } | 2786 | } |
2775 | dasm_put(Dst, 15185, LJ_TISNUM); | 2787 | dasm_put(Dst, 15207, LJ_TISNUM); |
2776 | if (op == BC_FORI) { | 2788 | if (op == BC_FORI) { |
2777 | dasm_put(Dst, 15276); | 2789 | dasm_put(Dst, 15298); |
2778 | } else if (op == BC_JFORI) { | 2790 | } else if (op == BC_JFORI) { |
2779 | dasm_put(Dst, 15281, -BCBIAS_J*4, BC_JLOOP); | 2791 | dasm_put(Dst, 15303, -BCBIAS_J*4, BC_JLOOP); |
2780 | } else if (op == BC_IFORL) { | 2792 | } else if (op == BC_IFORL) { |
2781 | dasm_put(Dst, 15295); | 2793 | dasm_put(Dst, 15317); |
2782 | } else { | 2794 | } else { |
2783 | dasm_put(Dst, 15291, BC_JLOOP); | 2795 | dasm_put(Dst, 15313, BC_JLOOP); |
2784 | } | 2796 | } |
2785 | dasm_put(Dst, 15300); | 2797 | dasm_put(Dst, 15322); |
2786 | } else if (!vk) { | 2798 | } else if (!vk) { |
2787 | dasm_put(Dst, 15307, LJ_TISNUM); | 2799 | dasm_put(Dst, 15329, LJ_TISNUM); |
2788 | } | 2800 | } |
2789 | if (!vk) { | 2801 | if (!vk) { |
2790 | dasm_put(Dst, 15313, LJ_TISNUM); | 2802 | dasm_put(Dst, 15335, LJ_TISNUM); |
2803 | } else { | ||
2804 | #ifdef LUA_USE_ASSERT | ||
2805 | dasm_put(Dst, 15349, LJ_TISNUM, LJ_TISNUM); | ||
2806 | #endif | ||
2791 | } | 2807 | } |
2792 | dasm_put(Dst, 15327); | 2808 | dasm_put(Dst, 15368); |
2793 | if (!vk) { | 2809 | if (!vk) { |
2794 | dasm_put(Dst, 15331, LJ_TISNUM); | 2810 | dasm_put(Dst, 15372, LJ_TISNUM); |
2795 | } | 2811 | } |
2796 | if (sse) { | 2812 | if (sse) { |
2797 | dasm_put(Dst, 15340); | 2813 | dasm_put(Dst, 15381); |
2798 | if (vk) { | 2814 | if (vk) { |
2799 | dasm_put(Dst, 15352); | 2815 | dasm_put(Dst, 15393); |
2800 | } else { | 2816 | } else { |
2801 | dasm_put(Dst, 15371); | 2817 | dasm_put(Dst, 15412); |
2802 | } | 2818 | } |
2803 | dasm_put(Dst, 15376); | 2819 | dasm_put(Dst, 15417); |
2804 | } else { | 2820 | } else { |
2805 | dasm_put(Dst, 15389); | 2821 | dasm_put(Dst, 15430); |
2806 | if (vk) { | 2822 | if (vk) { |
2807 | dasm_put(Dst, 15395); | 2823 | dasm_put(Dst, 15436); |
2808 | } else { | 2824 | } else { |
2809 | dasm_put(Dst, 15411); | 2825 | dasm_put(Dst, 15452); |
2810 | } | 2826 | } |
2811 | dasm_put(Dst, 15419); | 2827 | dasm_put(Dst, 15460); |
2812 | if (cmov) { | 2828 | if (cmov) { |
2813 | dasm_put(Dst, 10087); | 2829 | dasm_put(Dst, 10090); |
2814 | } else { | 2830 | } else { |
2815 | dasm_put(Dst, 10093); | 2831 | dasm_put(Dst, 10096); |
2816 | } | 2832 | } |
2817 | if (!cmov) { | 2833 | if (!cmov) { |
2818 | dasm_put(Dst, 15424); | 2834 | dasm_put(Dst, 15465); |
2819 | } | 2835 | } |
2820 | } | 2836 | } |
2821 | if (op == BC_FORI) { | 2837 | if (op == BC_FORI) { |
2822 | if (LJ_DUALNUM) { | 2838 | if (LJ_DUALNUM) { |
2823 | dasm_put(Dst, 15430); | 2839 | dasm_put(Dst, 15471); |
2824 | } else { | 2840 | } else { |
2825 | dasm_put(Dst, 15435, -BCBIAS_J*4); | 2841 | dasm_put(Dst, 15476, -BCBIAS_J*4); |
2826 | } | 2842 | } |
2827 | } else if (op == BC_JFORI) { | 2843 | } else if (op == BC_JFORI) { |
2828 | dasm_put(Dst, 15445, -BCBIAS_J*4, BC_JLOOP); | 2844 | dasm_put(Dst, 15486, -BCBIAS_J*4, BC_JLOOP); |
2829 | } else if (op == BC_IFORL) { | 2845 | } else if (op == BC_IFORL) { |
2830 | if (LJ_DUALNUM) { | 2846 | if (LJ_DUALNUM) { |
2831 | dasm_put(Dst, 15459); | 2847 | dasm_put(Dst, 15500); |
2832 | } else { | 2848 | } else { |
2833 | dasm_put(Dst, 15464, -BCBIAS_J*4); | 2849 | dasm_put(Dst, 15505, -BCBIAS_J*4); |
2834 | } | 2850 | } |
2835 | } else { | 2851 | } else { |
2836 | dasm_put(Dst, 15455, BC_JLOOP); | 2852 | dasm_put(Dst, 15496, BC_JLOOP); |
2837 | } | 2853 | } |
2838 | if (LJ_DUALNUM) { | 2854 | if (LJ_DUALNUM) { |
2839 | dasm_put(Dst, 10016); | 2855 | dasm_put(Dst, 10019); |
2840 | } else { | 2856 | } else { |
2841 | dasm_put(Dst, 10790); | 2857 | dasm_put(Dst, 10793); |
2842 | } | 2858 | } |
2843 | if (sse) { | 2859 | if (sse) { |
2844 | dasm_put(Dst, 15474); | 2860 | dasm_put(Dst, 15515); |
2845 | } | 2861 | } |
2846 | break; | 2862 | break; |
2847 | 2863 | ||
2848 | case BC_ITERL: | 2864 | case BC_ITERL: |
2849 | #if LJ_HASJIT | 2865 | #if LJ_HASJIT |
2850 | dasm_put(Dst, 15102, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2866 | dasm_put(Dst, 15105, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2851 | #endif | 2867 | #endif |
2852 | break; | 2868 | break; |
2853 | 2869 | ||
@@ -2856,33 +2872,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2856 | break; | 2872 | break; |
2857 | #endif | 2873 | #endif |
2858 | case BC_IITERL: | 2874 | case BC_IITERL: |
2859 | dasm_put(Dst, 15485, LJ_TNIL); | 2875 | dasm_put(Dst, 15526, LJ_TNIL); |
2860 | if (op == BC_JITERL) { | 2876 | if (op == BC_JITERL) { |
2861 | dasm_put(Dst, 15500, BC_JLOOP); | 2877 | dasm_put(Dst, 15541, BC_JLOOP); |
2862 | } else { | 2878 | } else { |
2863 | dasm_put(Dst, 15514, -BCBIAS_J*4); | 2879 | dasm_put(Dst, 15555, -BCBIAS_J*4); |
2864 | } | 2880 | } |
2865 | dasm_put(Dst, 10130); | 2881 | dasm_put(Dst, 10133); |
2866 | break; | 2882 | break; |
2867 | 2883 | ||
2868 | case BC_LOOP: | 2884 | case BC_LOOP: |
2869 | #if LJ_HASJIT | 2885 | #if LJ_HASJIT |
2870 | dasm_put(Dst, 15102, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2886 | dasm_put(Dst, 15105, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2871 | #endif | 2887 | #endif |
2872 | break; | 2888 | break; |
2873 | 2889 | ||
2874 | case BC_ILOOP: | 2890 | case BC_ILOOP: |
2875 | dasm_put(Dst, 10132); | 2891 | dasm_put(Dst, 10135); |
2876 | break; | 2892 | break; |
2877 | 2893 | ||
2878 | case BC_JLOOP: | 2894 | case BC_JLOOP: |
2879 | #if LJ_HASJIT | 2895 | #if LJ_HASJIT |
2880 | dasm_put(Dst, 15530, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); | 2896 | dasm_put(Dst, 15571, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); |
2881 | #endif | 2897 | #endif |
2882 | break; | 2898 | break; |
2883 | 2899 | ||
2884 | case BC_JMP: | 2900 | case BC_JMP: |
2885 | dasm_put(Dst, 15571, -BCBIAS_J*4); | 2901 | dasm_put(Dst, 15612, -BCBIAS_J*4); |
2886 | break; | 2902 | break; |
2887 | 2903 | ||
2888 | /* -- Function headers -------------------------------------------------- */ | 2904 | /* -- Function headers -------------------------------------------------- */ |
@@ -2896,7 +2912,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2896 | 2912 | ||
2897 | case BC_FUNCF: | 2913 | case BC_FUNCF: |
2898 | #if LJ_HASJIT | 2914 | #if LJ_HASJIT |
2899 | dasm_put(Dst, 15597, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2915 | dasm_put(Dst, 15638, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2900 | #endif | 2916 | #endif |
2901 | case BC_FUNCV: /* NYI: compiled vararg functions. */ | 2917 | case BC_FUNCV: /* NYI: compiled vararg functions. */ |
2902 | break; | 2918 | break; |
@@ -2906,13 +2922,13 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2906 | break; | 2922 | break; |
2907 | #endif | 2923 | #endif |
2908 | case BC_IFUNCF: | 2924 | case BC_IFUNCF: |
2909 | dasm_put(Dst, 15618, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); | 2925 | dasm_put(Dst, 15659, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); |
2910 | if (op == BC_JFUNCF) { | 2926 | if (op == BC_JFUNCF) { |
2911 | dasm_put(Dst, 15649, BC_JLOOP); | 2927 | dasm_put(Dst, 15690, BC_JLOOP); |
2912 | } else { | 2928 | } else { |
2913 | dasm_put(Dst, 10132); | 2929 | dasm_put(Dst, 10135); |
2914 | } | 2930 | } |
2915 | dasm_put(Dst, 15658, LJ_TNIL); | 2931 | dasm_put(Dst, 15699, LJ_TNIL); |
2916 | break; | 2932 | break; |
2917 | 2933 | ||
2918 | case BC_JFUNCV: | 2934 | case BC_JFUNCV: |
@@ -2923,30 +2939,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2923 | break; /* NYI: compiled vararg functions. */ | 2939 | break; /* NYI: compiled vararg functions. */ |
2924 | 2940 | ||
2925 | case BC_IFUNCV: | 2941 | case BC_IFUNCV: |
2926 | dasm_put(Dst, 15680, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); | 2942 | dasm_put(Dst, 15721, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); |
2927 | if (op == BC_JFUNCV) { | 2943 | if (op == BC_JFUNCV) { |
2928 | dasm_put(Dst, 15649, BC_JLOOP); | 2944 | dasm_put(Dst, 15690, BC_JLOOP); |
2929 | } else { | 2945 | } else { |
2930 | dasm_put(Dst, 15777, -4+PC2PROTO(k)); | 2946 | dasm_put(Dst, 15818, -4+PC2PROTO(k)); |
2931 | } | 2947 | } |
2932 | dasm_put(Dst, 15802, LJ_TNIL); | 2948 | dasm_put(Dst, 15843, LJ_TNIL); |
2933 | break; | 2949 | break; |
2934 | 2950 | ||
2935 | case BC_FUNCC: | 2951 | case BC_FUNCC: |
2936 | case BC_FUNCCW: | 2952 | case BC_FUNCCW: |
2937 | dasm_put(Dst, 15824, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); | 2953 | dasm_put(Dst, 15865, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); |
2938 | if (op == BC_FUNCC) { | 2954 | if (op == BC_FUNCC) { |
2939 | dasm_put(Dst, 2341); | 2955 | dasm_put(Dst, 2341); |
2940 | } else { | 2956 | } else { |
2941 | dasm_put(Dst, 15854); | 2957 | dasm_put(Dst, 15895); |
2942 | } | 2958 | } |
2943 | dasm_put(Dst, 15862, DISPATCH_GL(vmstate), ~LJ_VMST_C); | 2959 | dasm_put(Dst, 15903, DISPATCH_GL(vmstate), ~LJ_VMST_C); |
2944 | if (op == BC_FUNCC) { | 2960 | if (op == BC_FUNCC) { |
2945 | dasm_put(Dst, 15872); | 2961 | dasm_put(Dst, 15913); |
2946 | } else { | 2962 | } else { |
2947 | dasm_put(Dst, 15877, DISPATCH_GL(wrapf)); | 2963 | dasm_put(Dst, 15918, DISPATCH_GL(wrapf)); |
2948 | } | 2964 | } |
2949 | dasm_put(Dst, 15883, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 2965 | dasm_put(Dst, 15924, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
2950 | break; | 2966 | break; |
2951 | 2967 | ||
2952 | /* ---------------------------------------------------------------------- */ | 2968 | /* ---------------------------------------------------------------------- */ |
@@ -2974,7 +2990,7 @@ static int build_backend(BuildCtx *ctx) | |||
2974 | 2990 | ||
2975 | build_subroutines(ctx, cmov, sse); | 2991 | build_subroutines(ctx, cmov, sse); |
2976 | 2992 | ||
2977 | dasm_put(Dst, 15909); | 2993 | dasm_put(Dst, 15950); |
2978 | for (op = 0; op < BC__MAX; op++) | 2994 | for (op = 0; op < BC__MAX; op++) |
2979 | build_ins(ctx, (BCOp)op, op, cmov, sse); | 2995 | build_ins(ctx, (BCOp)op, op, cmov, sse); |
2980 | 2996 | ||
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h index 2e51c32b..5c19f6de 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[15787] = { | 15 | static const unsigned char build_actionlist[15828] = { |
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, |
@@ -489,15 +489,15 @@ static const unsigned char build_actionlist[15787] = { | |||
489 | 2,15,182,131,233,72,139,139,233,72,139,147,233,76,139,131,233,76,139,139, | 489 | 2,15,182,131,233,72,139,139,233,72,139,147,233,76,139,131,233,76,139,139, |
490 | 233,133,192,15,132,244,251,15,40,131,233,15,40,139,233,15,40,147,233,15,40, | 490 | 233,133,192,15,132,244,251,15,40,131,233,15,40,139,233,15,40,147,233,15,40, |
491 | 155,233,248,5,255,252,255,147,233,72,137,131,233,15,41,131,233,255,72,139, | 491 | 155,233,248,5,255,252,255,147,233,72,137,131,233,15,41,131,233,255,72,139, |
492 | 93,252,248,201,195,255,249,255,129,124,253,202,4,239,15,133,244,253,129,124, | 492 | 93,252,248,201,195,255,248,162,255,249,255,129,124,253,202,4,239,15,133,244, |
493 | 253,194,4,239,15,133,244,254,139,44,202,131,198,4,59,44,194,255,15,141,244, | 493 | 253,129,124,253,194,4,239,15,133,244,254,139,44,202,131,198,4,59,44,194,255, |
494 | 255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255,248,6,15, | 494 | 15,141,244,255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255, |
495 | 183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182,232,131, | 495 | 248,6,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182, |
496 | 198,4,193,232,16,252,255,36,252,235,248,7,15,135,244,41,129,124,253,194,4, | 496 | 232,131,198,4,193,232,16,252,255,36,252,235,248,7,15,135,244,41,129,124,253, |
497 | 239,15,130,244,247,15,133,244,41,255,252,242,15,42,4,194,252,233,244,248, | 497 | 194,4,239,15,130,244,247,15,133,244,41,255,252,242,15,42,4,194,252,233,244, |
498 | 255,221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,41,255,252,242, | 498 | 248,255,221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,41,255,252, |
499 | 15,42,12,202,252,242,15,16,4,194,131,198,4,102,15,46,193,255,15,134,244,9, | 499 | 242,15,42,12,202,252,242,15,16,4,194,131,198,4,102,15,46,193,255,15,134,244, |
500 | 255,15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255, | 500 | 9,255,15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255, |
501 | 219,4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,41,129,124, | 501 | 219,4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,41,129,124, |
502 | 253,194,4,239,15,131,244,41,255,248,1,252,242,15,16,4,194,248,2,131,198,4, | 502 | 253,194,4,239,15,131,244,41,255,248,1,252,242,15,16,4,194,248,2,131,198,4, |
503 | 102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4, | 503 | 102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4, |
@@ -584,8 +584,8 @@ static const unsigned char build_actionlist[15787] = { | |||
584 | 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252, | 584 | 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252, |
585 | 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252, | 585 | 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252, |
586 | 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252, | 586 | 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252, |
587 | 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,162,232,244, | 587 | 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,163,232,244, |
588 | 153,255,252,233,244,162,255,232,244,113,255,15,182,252,236,15,182,192,139, | 588 | 153,255,252,233,244,163,255,232,244,113,255,15,182,252,236,15,182,192,139, |
589 | 76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,248,33,137,205,137,116, | 589 | 76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,248,33,137,205,137,116, |
590 | 36,100,232,251,1,27,139,149,233,133,192,15,133,244,42,15,182,110,252,255, | 590 | 36,100,232,251,1,27,139,149,233,133,192,15,133,244,42,15,182,110,252,255, |
591 | 15,182,78,252,253,72,139,4,252,234,72,137,4,202,139,6,15,182,204,15,182,232, | 591 | 15,182,78,252,253,72,139,4,252,234,72,137,4,202,139,6,15,182,204,15,182,232, |
@@ -629,8 +629,8 @@ static const unsigned char build_actionlist[15787] = { | |||
629 | 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182, | 629 | 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182, |
630 | 232,131,198,4,193,232,16,252,255,36,252,235,248,3,137,252,233,232,251,1,32, | 630 | 232,131,198,4,193,232,16,252,255,36,252,235,248,3,137,252,233,232,251,1,32, |
631 | 15,183,70,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106, | 631 | 15,183,70,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106, |
632 | 252,248,139,173,233,139,4,135,252,233,244,163,255,72,252,247,208,139,106, | 632 | 252,248,139,173,233,139,4,135,252,233,244,164,255,72,252,247,208,139,106, |
633 | 252,248,139,173,233,139,4,135,252,233,244,164,255,15,182,252,236,15,182,192, | 633 | 252,248,139,173,233,139,4,135,252,233,244,165,255,15,182,252,236,15,182,192, |
634 | 129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,255,129,124,253,194, | 634 | 129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,255,129,124,253,194, |
635 | 4,239,15,133,244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255, | 635 | 4,239,15,133,244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255, |
636 | 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255, | 636 | 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255, |
@@ -639,8 +639,8 @@ static const unsigned char build_actionlist[15787] = { | |||
639 | 232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244, | 639 | 232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244, |
640 | 249,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252,253,248,3, | 640 | 249,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252,253,248,3, |
641 | 199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244, | 641 | 199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244, |
642 | 36,139,4,194,252,233,244,163,255,15,182,252,236,15,182,192,72,252,247,208, | 642 | 36,139,4,194,252,233,244,164,255,15,182,252,236,15,182,192,72,252,247,208, |
643 | 139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,163, | 643 | 139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,164, |
644 | 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133, | 644 | 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133, |
645 | 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182, | 645 | 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182, |
646 | 70,252,253,72,139,41,72,137,44,194,248,2,255,139,6,15,182,204,15,182,232, | 646 | 70,252,253,72,139,41,72,137,44,194,248,2,255,139,6,15,182,204,15,182,232, |
@@ -659,10 +659,10 @@ static const unsigned char build_actionlist[15787] = { | |||
659 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189, | 659 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189, |
660 | 233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,39,15,182, | 660 | 233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,39,15,182, |
661 | 78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,39,139,4, | 661 | 78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,39,139,4, |
662 | 194,252,233,244,164,248,7,128,165,233,235,139,139,233,137,171,233,137,141, | 662 | 194,252,233,244,165,248,7,128,165,233,235,139,139,233,137,171,233,137,141, |
663 | 233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,72,252, | 663 | 233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,72,252, |
664 | 247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234, | 664 | 247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234, |
665 | 248,164,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1, | 665 | 248,165,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1, |
666 | 129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239, | 666 | 129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239, |
667 | 15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182, | 667 | 15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182, |
668 | 70,252,253,72,139,44,194,72,137,41,139,6,15,182,204,15,182,232,131,198,4, | 668 | 70,252,253,72,139,44,194,72,137,41,139,6,15,182,204,15,182,232,131,198,4, |
@@ -739,46 +739,48 @@ static const unsigned char build_actionlist[15787] = { | |||
739 | 244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229,239,102, | 739 | 244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229,239,102, |
740 | 131,172,253,43,233,1,15,132,244,145,255,141,12,202,255,129,121,253,4,239, | 740 | 131,172,253,43,233,1,15,132,244,145,255,141,12,202,255,129,121,253,4,239, |
741 | 15,133,244,255,255,129,121,253,12,239,15,133,244,57,129,121,253,20,239,15, | 741 | 15,133,244,255,255,129,121,253,12,239,15,133,244,57,129,121,253,20,239,15, |
742 | 133,244,57,139,41,131,121,16,0,15,140,244,251,255,139,105,16,133,252,237, | 742 | 133,244,57,139,41,131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133, |
743 | 15,136,244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237,137, | 743 | 244,162,129,121,253,20,239,15,133,244,162,255,139,105,16,133,252,237,15,136, |
744 | 105,24,255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180,253, | 744 | 244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24, |
745 | 134,233,15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248,6, | 745 | 255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180,253,134,233, |
746 | 141,180,253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198,4, | 746 | 15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,180, |
747 | 193,232,16,252,255,36,252,235,248,5,255,3,41,15,128,244,1,137,41,255,15,141, | 747 | 253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198,4,193,232, |
748 | 244,7,255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244, | 748 | 16,252,255,36,252,235,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7, |
749 | 7,255,252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,57,129,121, | 749 | 255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244,7,255, |
750 | 253,12,239,15,131,244,57,255,139,105,20,255,129,252,253,239,15,131,244,57, | 750 | 252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,57,129,121,253,12, |
751 | 255,252,242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15, | 751 | 239,15,131,244,57,255,129,121,253,12,239,15,131,244,162,129,121,253,20,239, |
752 | 17,1,133,252,237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248, | 752 | 15,131,244,162,255,139,105,20,255,129,252,253,239,15,131,244,57,255,252,242, |
753 | 1,252,242,15,17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133, | 753 | 15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252, |
754 | 252,237,15,136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255, | 754 | 237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15, |
755 | 15,183,70,252,254,255,15,131,244,7,255,15,131,244,248,141,180,253,134,233, | 755 | 17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15, |
756 | 255,141,180,253,134,233,15,183,70,252,254,15,131,245,255,15,130,244,7,255, | 756 | 136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,70, |
757 | 15,130,244,248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1, | 757 | 252,254,255,15,131,244,7,255,15,131,244,248,141,180,253,134,233,255,141,180, |
758 | 255,141,12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252, | 758 | 253,134,233,15,183,70,252,254,15,131,245,255,15,130,244,7,255,15,130,244, |
759 | 139,41,137,105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105, | 759 | 248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1,255,141,12, |
760 | 252,252,137,65,252,248,255,139,139,233,139,4,129,72,139,128,233,139,108,36, | 760 | 202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,41,137, |
761 | 96,137,147,233,137,171,233,76,137,100,36,80,76,137,108,36,32,76,137,116,36, | 761 | 105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,252,252,137, |
762 | 24,76,137,124,36,16,72,137,225,72,129,252,236,239,102,15,127,49,102,15,127, | 762 | 65,252,248,255,139,139,233,139,4,129,72,139,128,233,139,108,36,96,137,147, |
763 | 185,233,102,68,15,127,129,233,102,68,15,127,137,233,102,68,15,127,145,233, | 763 | 233,137,171,233,76,137,100,36,80,76,137,108,36,32,76,137,116,36,24,76,137, |
764 | 102,68,15,127,153,233,102,68,15,127,161,233,102,68,15,127,169,233,102,68, | 764 | 124,36,16,72,137,225,72,129,252,236,239,102,15,127,49,102,15,127,185,233, |
765 | 15,127,177,233,102,68,15,127,185,233,252,255,224,255,141,180,253,134,233, | 765 | 102,68,15,127,129,233,102,68,15,127,137,233,102,68,15,127,145,233,102,68, |
766 | 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,137, | 766 | 15,127,153,233,102,68,15,127,161,233,102,68,15,127,169,233,102,68,15,127, |
767 | 252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,147,255, | 767 | 177,233,102,68,15,127,185,233,252,255,224,255,141,180,253,134,233,139,6,15, |
768 | 139,190,233,139,108,36,96,141,12,202,59,141,233,15,135,244,23,15,182,142, | 768 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,137,252,245, |
769 | 233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,248, | 769 | 209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,147,255,139,190, |
770 | 3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255, | 770 | 233,139,108,36,96,141,12,202,59,141,233,15,135,244,23,15,182,142,233,57,200, |
771 | 141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252,248, | 771 | 15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194, |
772 | 139,108,36,96,141,12,200,59,141,233,15,135,244,22,137,209,137,194,15,182, | 772 | 252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237, |
773 | 174,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244,249, | 773 | 141,4,194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,36,96,141, |
774 | 139,121,252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252,252, | 774 | 12,200,59,141,233,15,135,244,22,137,209,137,194,15,182,174,233,133,252,237, |
775 | 237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204,15, | 775 | 15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137, |
776 | 182,232,131,198,4,193,232,16,252,255,36,252,235,255,248,3,199,64,4,237,131, | 776 | 56,139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15, |
777 | 192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,72,139, | 777 | 133,244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193, |
778 | 189,233,139,108,36,96,141,68,194,252,248,137,149,233,141,136,233,59,141,233, | 778 | 232,16,252,255,36,252,235,255,248,3,199,64,4,237,131,192,8,131,252,237,1, |
779 | 137,133,233,255,72,137,252,250,137,252,233,255,15,135,244,21,199,131,233, | 779 | 15,133,244,3,252,233,244,2,255,139,106,252,248,72,139,189,233,139,108,36, |
780 | 237,255,252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233,141, | 780 | 96,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233,255, |
781 | 12,194,252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0 | 781 | 72,137,252,250,137,252,233,255,15,135,244,21,199,131,233,237,255,252,255, |
782 | 215,255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194,252,247, | ||
783 | 217,3,141,233,139,114,252,252,252,233,244,12,255,254,0 | ||
782 | }; | 784 | }; |
783 | 785 | ||
784 | enum { | 786 | enum { |
@@ -934,6 +936,7 @@ enum { | |||
934 | GLOB_vm_foldarith, | 936 | GLOB_vm_foldarith, |
935 | GLOB_vm_cpuid, | 937 | GLOB_vm_cpuid, |
936 | GLOB_vm_ffi_call, | 938 | GLOB_vm_ffi_call, |
939 | GLOB_assert_bad_for_arg_type, | ||
937 | GLOB_BC_MODVN_Z, | 940 | GLOB_BC_MODVN_Z, |
938 | GLOB_BC_TGETS_Z, | 941 | GLOB_BC_TGETS_Z, |
939 | GLOB_BC_TSETS_Z, | 942 | GLOB_BC_TSETS_Z, |
@@ -1092,6 +1095,7 @@ static const char *const globnames[] = { | |||
1092 | "vm_foldarith", | 1095 | "vm_foldarith", |
1093 | "vm_cpuid", | 1096 | "vm_cpuid", |
1094 | "vm_ffi_call@4", | 1097 | "vm_ffi_call@4", |
1098 | "assert_bad_for_arg_type", | ||
1095 | "BC_MODVN_Z", | 1099 | "BC_MODVN_Z", |
1096 | "BC_TGETS_Z", | 1100 | "BC_TGETS_Z", |
1097 | "BC_TSETS_Z", | 1101 | "BC_TSETS_Z", |
@@ -1817,13 +1821,18 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1817 | #endif | 1821 | #endif |
1818 | dasm_put(Dst, 9803); | 1822 | dasm_put(Dst, 9803); |
1819 | #endif | 1823 | #endif |
1824 | dasm_put(Dst, 9811); | ||
1825 | #ifdef LUA_USE_ASSERT | ||
1826 | dasm_put(Dst, 9250); | ||
1827 | #endif | ||
1828 | dasm_put(Dst, 9250); | ||
1820 | } | 1829 | } |
1821 | 1830 | ||
1822 | /* Generate the code for a single instruction. */ | 1831 | /* Generate the code for a single instruction. */ |
1823 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | 1832 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) |
1824 | { | 1833 | { |
1825 | int vk = 0; | 1834 | int vk = 0; |
1826 | dasm_put(Dst, 9811, defop); | 1835 | dasm_put(Dst, 9814, defop); |
1827 | 1836 | ||
1828 | switch (op) { | 1837 | switch (op) { |
1829 | 1838 | ||
@@ -1834,145 +1843,145 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
1834 | 1843 | ||
1835 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: | 1844 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: |
1836 | if (LJ_DUALNUM) { | 1845 | if (LJ_DUALNUM) { |
1837 | dasm_put(Dst, 9813, LJ_TISNUM, LJ_TISNUM); | 1846 | dasm_put(Dst, 9816, LJ_TISNUM, LJ_TISNUM); |
1838 | switch (op) { | 1847 | switch (op) { |
1839 | case BC_ISLT: | 1848 | case BC_ISLT: |
1840 | dasm_put(Dst, 9843); | 1849 | dasm_put(Dst, 9846); |
1841 | break; | 1850 | break; |
1842 | case BC_ISGE: | 1851 | case BC_ISGE: |
1843 | dasm_put(Dst, 9848); | 1852 | dasm_put(Dst, 9851); |
1844 | break; | 1853 | break; |
1845 | case BC_ISLE: | 1854 | case BC_ISLE: |
1846 | dasm_put(Dst, 9853); | 1855 | dasm_put(Dst, 9856); |
1847 | break; | 1856 | break; |
1848 | case BC_ISGT: | 1857 | case BC_ISGT: |
1849 | dasm_put(Dst, 9858); | 1858 | dasm_put(Dst, 9861); |
1850 | break; | 1859 | break; |
1851 | default: break; /* Shut up GCC. */ | 1860 | default: break; /* Shut up GCC. */ |
1852 | } | 1861 | } |
1853 | dasm_put(Dst, 9863, -BCBIAS_J*4, LJ_TISNUM); | 1862 | dasm_put(Dst, 9866, -BCBIAS_J*4, LJ_TISNUM); |
1854 | if (sse) { | 1863 | if (sse) { |
1855 | dasm_put(Dst, 9917); | 1864 | dasm_put(Dst, 9920); |
1856 | } else { | 1865 | } else { |
1857 | dasm_put(Dst, 9928); | 1866 | dasm_put(Dst, 9931); |
1858 | } | 1867 | } |
1859 | dasm_put(Dst, 9939); | 1868 | dasm_put(Dst, 9942); |
1860 | if (sse) { | 1869 | if (sse) { |
1861 | dasm_put(Dst, 9946); | 1870 | dasm_put(Dst, 9949); |
1862 | switch (op) { | 1871 | switch (op) { |
1863 | case BC_ISLT: | 1872 | case BC_ISLT: |
1864 | dasm_put(Dst, 9966); | 1873 | dasm_put(Dst, 9969); |
1865 | break; | 1874 | break; |
1866 | case BC_ISGE: | 1875 | case BC_ISGE: |
1867 | dasm_put(Dst, 9971); | 1876 | dasm_put(Dst, 9974); |
1868 | break; | 1877 | break; |
1869 | case BC_ISLE: | 1878 | case BC_ISLE: |
1870 | dasm_put(Dst, 9976); | 1879 | dasm_put(Dst, 9979); |
1871 | break; | 1880 | break; |
1872 | case BC_ISGT: | 1881 | case BC_ISGT: |
1873 | dasm_put(Dst, 9981); | 1882 | dasm_put(Dst, 9984); |
1874 | break; | 1883 | break; |
1875 | default: break; /* Shut up GCC. */ | 1884 | default: break; /* Shut up GCC. */ |
1876 | } | 1885 | } |
1877 | dasm_put(Dst, 9986); | 1886 | dasm_put(Dst, 9989); |
1878 | } else { | 1887 | } else { |
1879 | dasm_put(Dst, 9991); | 1888 | dasm_put(Dst, 9994); |
1880 | } | 1889 | } |
1881 | } else { | 1890 | } else { |
1882 | dasm_put(Dst, 9999, LJ_TISNUM, LJ_TISNUM); | 1891 | dasm_put(Dst, 10002, LJ_TISNUM, LJ_TISNUM); |
1883 | } | 1892 | } |
1884 | if (sse) { | 1893 | if (sse) { |
1885 | dasm_put(Dst, 10020); | 1894 | dasm_put(Dst, 10023); |
1886 | } else { | 1895 | } else { |
1887 | dasm_put(Dst, 10041); | 1896 | dasm_put(Dst, 10044); |
1888 | if (cmov) { | 1897 | if (cmov) { |
1889 | dasm_put(Dst, 10057); | 1898 | dasm_put(Dst, 10060); |
1890 | } else { | 1899 | } else { |
1891 | dasm_put(Dst, 10063); | 1900 | dasm_put(Dst, 10066); |
1892 | } | 1901 | } |
1893 | } | 1902 | } |
1894 | if (LJ_DUALNUM) { | 1903 | if (LJ_DUALNUM) { |
1895 | switch (op) { | 1904 | switch (op) { |
1896 | case BC_ISLT: | 1905 | case BC_ISLT: |
1897 | dasm_put(Dst, 9966); | 1906 | dasm_put(Dst, 9969); |
1898 | break; | 1907 | break; |
1899 | case BC_ISGE: | 1908 | case BC_ISGE: |
1900 | dasm_put(Dst, 9971); | 1909 | dasm_put(Dst, 9974); |
1901 | break; | 1910 | break; |
1902 | case BC_ISLE: | 1911 | case BC_ISLE: |
1903 | dasm_put(Dst, 9976); | 1912 | dasm_put(Dst, 9979); |
1904 | break; | 1913 | break; |
1905 | case BC_ISGT: | 1914 | case BC_ISGT: |
1906 | dasm_put(Dst, 9981); | 1915 | dasm_put(Dst, 9984); |
1907 | break; | 1916 | break; |
1908 | default: break; /* Shut up GCC. */ | 1917 | default: break; /* Shut up GCC. */ |
1909 | } | 1918 | } |
1910 | dasm_put(Dst, 9986); | 1919 | dasm_put(Dst, 9989); |
1911 | } else { | 1920 | } else { |
1912 | switch (op) { | 1921 | switch (op) { |
1913 | case BC_ISLT: | 1922 | case BC_ISLT: |
1914 | dasm_put(Dst, 10070); | 1923 | dasm_put(Dst, 10073); |
1915 | break; | 1924 | break; |
1916 | case BC_ISGE: | 1925 | case BC_ISGE: |
1917 | dasm_put(Dst, 10075); | 1926 | dasm_put(Dst, 10078); |
1918 | break; | 1927 | break; |
1919 | case BC_ISLE: | 1928 | case BC_ISLE: |
1920 | dasm_put(Dst, 10080); | 1929 | dasm_put(Dst, 10083); |
1921 | break; | 1930 | break; |
1922 | case BC_ISGT: | 1931 | case BC_ISGT: |
1923 | dasm_put(Dst, 10085); | 1932 | dasm_put(Dst, 10088); |
1924 | break; | 1933 | break; |
1925 | default: break; /* Shut up GCC. */ | 1934 | default: break; /* Shut up GCC. */ |
1926 | } | 1935 | } |
1927 | dasm_put(Dst, 10090, -BCBIAS_J*4); | 1936 | dasm_put(Dst, 10093, -BCBIAS_J*4); |
1928 | } | 1937 | } |
1929 | break; | 1938 | break; |
1930 | 1939 | ||
1931 | case BC_ISEQV: case BC_ISNEV: | 1940 | case BC_ISEQV: case BC_ISNEV: |
1932 | vk = op == BC_ISEQV; | 1941 | vk = op == BC_ISEQV; |
1933 | dasm_put(Dst, 10122); | 1942 | dasm_put(Dst, 10125); |
1934 | if (LJ_DUALNUM) { | 1943 | if (LJ_DUALNUM) { |
1935 | dasm_put(Dst, 10130, LJ_TISNUM, LJ_TISNUM); | 1944 | dasm_put(Dst, 10133, LJ_TISNUM, LJ_TISNUM); |
1936 | if (vk) { | 1945 | if (vk) { |
1937 | dasm_put(Dst, 10155); | 1946 | dasm_put(Dst, 10158); |
1938 | } else { | 1947 | } else { |
1939 | dasm_put(Dst, 10160); | 1948 | dasm_put(Dst, 10163); |
1940 | } | 1949 | } |
1941 | dasm_put(Dst, 10165, -BCBIAS_J*4, LJ_TISNUM); | 1950 | dasm_put(Dst, 10168, -BCBIAS_J*4, LJ_TISNUM); |
1942 | if (sse) { | 1951 | if (sse) { |
1943 | dasm_put(Dst, 10217); | 1952 | dasm_put(Dst, 10220); |
1944 | } else { | 1953 | } else { |
1945 | dasm_put(Dst, 10224); | 1954 | dasm_put(Dst, 10227); |
1946 | } | 1955 | } |
1947 | dasm_put(Dst, 10228); | 1956 | dasm_put(Dst, 10231); |
1948 | if (sse) { | 1957 | if (sse) { |
1949 | dasm_put(Dst, 10239); | 1958 | dasm_put(Dst, 10242); |
1950 | } else { | 1959 | } else { |
1951 | dasm_put(Dst, 10251); | 1960 | dasm_put(Dst, 10254); |
1952 | } | 1961 | } |
1953 | dasm_put(Dst, 10258); | 1962 | dasm_put(Dst, 10261); |
1954 | } else { | 1963 | } else { |
1955 | dasm_put(Dst, 10263, LJ_TISNUM, LJ_TISNUM); | 1964 | dasm_put(Dst, 10266, LJ_TISNUM, LJ_TISNUM); |
1956 | } | 1965 | } |
1957 | if (sse) { | 1966 | if (sse) { |
1958 | dasm_put(Dst, 10282); | 1967 | dasm_put(Dst, 10285); |
1959 | } else { | 1968 | } else { |
1960 | dasm_put(Dst, 10300); | 1969 | dasm_put(Dst, 10303); |
1961 | if (cmov) { | 1970 | if (cmov) { |
1962 | dasm_put(Dst, 10057); | 1971 | dasm_put(Dst, 10060); |
1963 | } else { | 1972 | } else { |
1964 | dasm_put(Dst, 10063); | 1973 | dasm_put(Dst, 10066); |
1965 | } | 1974 | } |
1966 | } | 1975 | } |
1967 | iseqne_fp: | 1976 | iseqne_fp: |
1968 | if (vk) { | 1977 | if (vk) { |
1969 | dasm_put(Dst, 10313); | 1978 | dasm_put(Dst, 10316); |
1970 | } else { | 1979 | } else { |
1971 | dasm_put(Dst, 10322); | 1980 | dasm_put(Dst, 10325); |
1972 | } | 1981 | } |
1973 | iseqne_end: | 1982 | iseqne_end: |
1974 | if (vk) { | 1983 | if (vk) { |
1975 | dasm_put(Dst, 10331, -BCBIAS_J*4); | 1984 | dasm_put(Dst, 10334, -BCBIAS_J*4); |
1976 | if (!LJ_HASFFI) { | 1985 | if (!LJ_HASFFI) { |
1977 | dasm_put(Dst, 4567); | 1986 | dasm_put(Dst, 4567); |
1978 | } | 1987 | } |
@@ -1980,150 +1989,150 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
1980 | if (!LJ_HASFFI) { | 1989 | if (!LJ_HASFFI) { |
1981 | dasm_put(Dst, 4567); | 1990 | dasm_put(Dst, 4567); |
1982 | } | 1991 | } |
1983 | dasm_put(Dst, 10346, -BCBIAS_J*4); | 1992 | dasm_put(Dst, 10349, -BCBIAS_J*4); |
1984 | } | 1993 | } |
1985 | if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || | 1994 | if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || |
1986 | op == BC_ISEQN || op == BC_ISNEN)) { | 1995 | op == BC_ISEQN || op == BC_ISNEN)) { |
1987 | dasm_put(Dst, 10361); | 1996 | dasm_put(Dst, 10364); |
1988 | } else { | 1997 | } else { |
1989 | dasm_put(Dst, 10102); | 1998 | dasm_put(Dst, 10105); |
1990 | } | 1999 | } |
1991 | if (op == BC_ISEQV || op == BC_ISNEV) { | 2000 | if (op == BC_ISEQV || op == BC_ISNEV) { |
1992 | dasm_put(Dst, 9787); | 2001 | dasm_put(Dst, 9787); |
1993 | if (LJ_HASFFI) { | 2002 | if (LJ_HASFFI) { |
1994 | dasm_put(Dst, 10366, LJ_TCDATA, LJ_TCDATA); | 2003 | dasm_put(Dst, 10369, LJ_TCDATA, LJ_TCDATA); |
1995 | } | 2004 | } |
1996 | dasm_put(Dst, 10385, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); | 2005 | dasm_put(Dst, 10388, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); |
1997 | if (vk) { | 2006 | if (vk) { |
1998 | dasm_put(Dst, 10441); | 2007 | dasm_put(Dst, 10444); |
1999 | } else { | 2008 | } else { |
2000 | dasm_put(Dst, 10445); | 2009 | dasm_put(Dst, 10448); |
2001 | } | 2010 | } |
2002 | dasm_put(Dst, 10451); | 2011 | dasm_put(Dst, 10454); |
2003 | } else if (LJ_HASFFI) { | 2012 | } else if (LJ_HASFFI) { |
2004 | dasm_put(Dst, 10456, LJ_TCDATA); | 2013 | dasm_put(Dst, 10459, LJ_TCDATA); |
2005 | if (LJ_DUALNUM && vk) { | 2014 | if (LJ_DUALNUM && vk) { |
2006 | dasm_put(Dst, 10463); | 2015 | dasm_put(Dst, 10466); |
2007 | } else { | 2016 | } else { |
2008 | dasm_put(Dst, 10436); | 2017 | dasm_put(Dst, 10439); |
2009 | } | 2018 | } |
2010 | dasm_put(Dst, 10468); | 2019 | dasm_put(Dst, 10471); |
2011 | } | 2020 | } |
2012 | break; | 2021 | break; |
2013 | case BC_ISEQS: case BC_ISNES: | 2022 | case BC_ISEQS: case BC_ISNES: |
2014 | vk = op == BC_ISEQS; | 2023 | vk = op == BC_ISEQS; |
2015 | dasm_put(Dst, 10473, LJ_TSTR); | 2024 | dasm_put(Dst, 10476, LJ_TSTR); |
2016 | iseqne_test: | 2025 | iseqne_test: |
2017 | if (vk) { | 2026 | if (vk) { |
2018 | dasm_put(Dst, 10317); | 2027 | dasm_put(Dst, 10320); |
2019 | } else { | 2028 | } else { |
2020 | dasm_put(Dst, 2858); | 2029 | dasm_put(Dst, 2858); |
2021 | } | 2030 | } |
2022 | goto iseqne_end; | 2031 | goto iseqne_end; |
2023 | case BC_ISEQN: case BC_ISNEN: | 2032 | case BC_ISEQN: case BC_ISNEN: |
2024 | vk = op == BC_ISEQN; | 2033 | vk = op == BC_ISEQN; |
2025 | dasm_put(Dst, 10499); | 2034 | dasm_put(Dst, 10502); |
2026 | if (LJ_DUALNUM) { | 2035 | if (LJ_DUALNUM) { |
2027 | dasm_put(Dst, 10507, LJ_TISNUM, LJ_TISNUM); | 2036 | dasm_put(Dst, 10510, LJ_TISNUM, LJ_TISNUM); |
2028 | if (vk) { | 2037 | if (vk) { |
2029 | dasm_put(Dst, 10155); | 2038 | dasm_put(Dst, 10158); |
2030 | } else { | 2039 | } else { |
2031 | dasm_put(Dst, 10160); | 2040 | dasm_put(Dst, 10163); |
2032 | } | 2041 | } |
2033 | dasm_put(Dst, 10532, -BCBIAS_J*4, LJ_TISNUM); | 2042 | dasm_put(Dst, 10535, -BCBIAS_J*4, LJ_TISNUM); |
2034 | if (sse) { | 2043 | if (sse) { |
2035 | dasm_put(Dst, 10580); | 2044 | dasm_put(Dst, 10583); |
2036 | } else { | 2045 | } else { |
2037 | dasm_put(Dst, 10587); | 2046 | dasm_put(Dst, 10590); |
2038 | } | 2047 | } |
2039 | dasm_put(Dst, 10591); | 2048 | dasm_put(Dst, 10594); |
2040 | if (sse) { | 2049 | if (sse) { |
2041 | dasm_put(Dst, 10598); | 2050 | dasm_put(Dst, 10601); |
2042 | } else { | 2051 | } else { |
2043 | dasm_put(Dst, 10610); | 2052 | dasm_put(Dst, 10613); |
2044 | } | 2053 | } |
2045 | dasm_put(Dst, 10258); | 2054 | dasm_put(Dst, 10261); |
2046 | } else { | 2055 | } else { |
2047 | dasm_put(Dst, 10617, LJ_TISNUM); | 2056 | dasm_put(Dst, 10620, LJ_TISNUM); |
2048 | } | 2057 | } |
2049 | if (sse) { | 2058 | if (sse) { |
2050 | dasm_put(Dst, 10626); | 2059 | dasm_put(Dst, 10629); |
2051 | } else { | 2060 | } else { |
2052 | dasm_put(Dst, 10644); | 2061 | dasm_put(Dst, 10647); |
2053 | if (cmov) { | 2062 | if (cmov) { |
2054 | dasm_put(Dst, 10057); | 2063 | dasm_put(Dst, 10060); |
2055 | } else { | 2064 | } else { |
2056 | dasm_put(Dst, 10063); | 2065 | dasm_put(Dst, 10066); |
2057 | } | 2066 | } |
2058 | } | 2067 | } |
2059 | goto iseqne_fp; | 2068 | goto iseqne_fp; |
2060 | case BC_ISEQP: case BC_ISNEP: | 2069 | case BC_ISEQP: case BC_ISNEP: |
2061 | vk = op == BC_ISEQP; | 2070 | vk = op == BC_ISEQP; |
2062 | dasm_put(Dst, 10657); | 2071 | dasm_put(Dst, 10660); |
2063 | if (!LJ_HASFFI) goto iseqne_test; | 2072 | if (!LJ_HASFFI) goto iseqne_test; |
2064 | if (vk) { | 2073 | if (vk) { |
2065 | dasm_put(Dst, 10671, -BCBIAS_J*4, LJ_TCDATA); | 2074 | dasm_put(Dst, 10674, -BCBIAS_J*4, LJ_TCDATA); |
2066 | } else { | 2075 | } else { |
2067 | dasm_put(Dst, 10721, LJ_TCDATA, -BCBIAS_J*4); | 2076 | dasm_put(Dst, 10724, LJ_TCDATA, -BCBIAS_J*4); |
2068 | } | 2077 | } |
2069 | break; | 2078 | break; |
2070 | 2079 | ||
2071 | /* -- Unary test and copy ops ------------------------------------------- */ | 2080 | /* -- Unary test and copy ops ------------------------------------------- */ |
2072 | 2081 | ||
2073 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: | 2082 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: |
2074 | dasm_put(Dst, 10765, LJ_TISTRUECOND); | 2083 | dasm_put(Dst, 10768, LJ_TISTRUECOND); |
2075 | if (op == BC_IST || op == BC_ISTC) { | 2084 | if (op == BC_IST || op == BC_ISTC) { |
2076 | dasm_put(Dst, 10085); | 2085 | dasm_put(Dst, 10088); |
2077 | } else { | 2086 | } else { |
2078 | dasm_put(Dst, 10080); | 2087 | dasm_put(Dst, 10083); |
2079 | } | 2088 | } |
2080 | if (op == BC_ISTC || op == BC_ISFC) { | 2089 | if (op == BC_ISTC || op == BC_ISFC) { |
2081 | dasm_put(Dst, 10777); | 2090 | dasm_put(Dst, 10780); |
2082 | } | 2091 | } |
2083 | dasm_put(Dst, 10090, -BCBIAS_J*4); | 2092 | dasm_put(Dst, 10093, -BCBIAS_J*4); |
2084 | break; | 2093 | break; |
2085 | 2094 | ||
2086 | /* -- Unary ops --------------------------------------------------------- */ | 2095 | /* -- Unary ops --------------------------------------------------------- */ |
2087 | 2096 | ||
2088 | case BC_MOV: | 2097 | case BC_MOV: |
2089 | dasm_put(Dst, 10788); | 2098 | dasm_put(Dst, 10791); |
2090 | break; | 2099 | break; |
2091 | case BC_NOT: | 2100 | case BC_NOT: |
2092 | dasm_put(Dst, 10816, LJ_TISTRUECOND, LJ_TTRUE); | 2101 | dasm_put(Dst, 10819, LJ_TISTRUECOND, LJ_TTRUE); |
2093 | break; | 2102 | break; |
2094 | case BC_UNM: | 2103 | case BC_UNM: |
2095 | if (LJ_DUALNUM) { | 2104 | if (LJ_DUALNUM) { |
2096 | dasm_put(Dst, 10852, LJ_TISNUM, LJ_TISNUM); | 2105 | dasm_put(Dst, 10855, LJ_TISNUM, LJ_TISNUM); |
2097 | } else { | 2106 | } else { |
2098 | dasm_put(Dst, 10929, LJ_TISNUM); | 2107 | dasm_put(Dst, 10932, LJ_TISNUM); |
2099 | } | 2108 | } |
2100 | if (sse) { | 2109 | if (sse) { |
2101 | dasm_put(Dst, 10940, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 2110 | dasm_put(Dst, 10943, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
2102 | } else { | 2111 | } else { |
2103 | dasm_put(Dst, 10965); | 2112 | dasm_put(Dst, 10968); |
2104 | } | 2113 | } |
2105 | if (LJ_DUALNUM) { | 2114 | if (LJ_DUALNUM) { |
2106 | dasm_put(Dst, 10361); | 2115 | dasm_put(Dst, 10364); |
2107 | } else { | 2116 | } else { |
2108 | dasm_put(Dst, 10102); | 2117 | dasm_put(Dst, 10105); |
2109 | } | 2118 | } |
2110 | break; | 2119 | break; |
2111 | case BC_LEN: | 2120 | case BC_LEN: |
2112 | dasm_put(Dst, 10974, LJ_TSTR); | 2121 | dasm_put(Dst, 10977, LJ_TSTR); |
2113 | if (LJ_DUALNUM) { | 2122 | if (LJ_DUALNUM) { |
2114 | dasm_put(Dst, 10988, Dt5(->len), LJ_TISNUM); | 2123 | dasm_put(Dst, 10991, Dt5(->len), LJ_TISNUM); |
2115 | } else if (sse) { | 2124 | } else if (sse) { |
2116 | dasm_put(Dst, 11002, Dt5(->len)); | 2125 | dasm_put(Dst, 11005, Dt5(->len)); |
2117 | } else { | 2126 | } else { |
2118 | dasm_put(Dst, 11020, Dt5(->len)); | 2127 | dasm_put(Dst, 11023, Dt5(->len)); |
2119 | } | 2128 | } |
2120 | dasm_put(Dst, 11029, LJ_TTAB); | 2129 | dasm_put(Dst, 11032, LJ_TTAB); |
2121 | if (LJ_DUALNUM) { | 2130 | if (LJ_DUALNUM) { |
2122 | } else if (sse) { | 2131 | } else if (sse) { |
2123 | dasm_put(Dst, 11070); | 2132 | dasm_put(Dst, 11073); |
2124 | } else { | 2133 | } else { |
2125 | } | 2134 | } |
2126 | dasm_put(Dst, 11076); | 2135 | dasm_put(Dst, 11079); |
2127 | break; | 2136 | break; |
2128 | 2137 | ||
2129 | /* -- Binary ops -------------------------------------------------------- */ | 2138 | /* -- Binary ops -------------------------------------------------------- */ |
@@ -2131,603 +2140,603 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2131 | 2140 | ||
2132 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: | 2141 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: |
2133 | if (LJ_DUALNUM) { | 2142 | if (LJ_DUALNUM) { |
2134 | dasm_put(Dst, 11089); | 2143 | dasm_put(Dst, 11092); |
2135 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2144 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2136 | switch (vk) { | 2145 | switch (vk) { |
2137 | case 0: | 2146 | case 0: |
2138 | dasm_put(Dst, 11097, LJ_TISNUM, LJ_TISNUM); | 2147 | dasm_put(Dst, 11100, LJ_TISNUM, LJ_TISNUM); |
2139 | break; | 2148 | break; |
2140 | case 1: | 2149 | case 1: |
2141 | dasm_put(Dst, 11130, LJ_TISNUM, LJ_TISNUM); | 2150 | dasm_put(Dst, 11133, LJ_TISNUM, LJ_TISNUM); |
2142 | break; | 2151 | break; |
2143 | default: | 2152 | default: |
2144 | dasm_put(Dst, 11163, LJ_TISNUM, LJ_TISNUM); | 2153 | dasm_put(Dst, 11166, LJ_TISNUM, LJ_TISNUM); |
2145 | break; | 2154 | break; |
2146 | } | 2155 | } |
2147 | dasm_put(Dst, 11196, LJ_TISNUM); | 2156 | dasm_put(Dst, 11199, LJ_TISNUM); |
2148 | if (vk == 1) { | 2157 | if (vk == 1) { |
2149 | dasm_put(Dst, 10998); | 2158 | dasm_put(Dst, 11001); |
2150 | } else { | 2159 | } else { |
2151 | dasm_put(Dst, 10784); | 2160 | dasm_put(Dst, 10787); |
2152 | } | 2161 | } |
2153 | dasm_put(Dst, 10102); | 2162 | dasm_put(Dst, 10105); |
2154 | } else { | 2163 | } else { |
2155 | dasm_put(Dst, 11089); | 2164 | dasm_put(Dst, 11092); |
2156 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2165 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2157 | switch (vk) { | 2166 | switch (vk) { |
2158 | case 0: | 2167 | case 0: |
2159 | dasm_put(Dst, 11202, LJ_TISNUM); | 2168 | dasm_put(Dst, 11205, LJ_TISNUM); |
2160 | if (LJ_DUALNUM) { | 2169 | if (LJ_DUALNUM) { |
2161 | dasm_put(Dst, 11214, LJ_TISNUM); | 2170 | dasm_put(Dst, 11217, LJ_TISNUM); |
2162 | } | 2171 | } |
2163 | if (sse) { | 2172 | if (sse) { |
2164 | dasm_put(Dst, 11225); | 2173 | dasm_put(Dst, 11228); |
2165 | } else { | 2174 | } else { |
2166 | dasm_put(Dst, 11239); | 2175 | dasm_put(Dst, 11242); |
2167 | } | 2176 | } |
2168 | break; | 2177 | break; |
2169 | case 1: | 2178 | case 1: |
2170 | dasm_put(Dst, 11247, LJ_TISNUM); | 2179 | dasm_put(Dst, 11250, LJ_TISNUM); |
2171 | if (LJ_DUALNUM) { | 2180 | if (LJ_DUALNUM) { |
2172 | dasm_put(Dst, 11259, LJ_TISNUM); | 2181 | dasm_put(Dst, 11262, LJ_TISNUM); |
2173 | } | 2182 | } |
2174 | if (sse) { | 2183 | if (sse) { |
2175 | dasm_put(Dst, 11270); | 2184 | dasm_put(Dst, 11273); |
2176 | } else { | 2185 | } else { |
2177 | dasm_put(Dst, 11284); | 2186 | dasm_put(Dst, 11287); |
2178 | } | 2187 | } |
2179 | break; | 2188 | break; |
2180 | default: | 2189 | default: |
2181 | dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM); | 2190 | dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); |
2182 | if (sse) { | 2191 | if (sse) { |
2183 | dasm_put(Dst, 11314); | 2192 | dasm_put(Dst, 11317); |
2184 | } else { | 2193 | } else { |
2185 | dasm_put(Dst, 11328); | 2194 | dasm_put(Dst, 11331); |
2186 | } | 2195 | } |
2187 | break; | 2196 | break; |
2188 | } | 2197 | } |
2189 | if (sse) { | 2198 | if (sse) { |
2190 | dasm_put(Dst, 10958); | 2199 | dasm_put(Dst, 10961); |
2191 | } else { | 2200 | } else { |
2192 | dasm_put(Dst, 10970); | 2201 | dasm_put(Dst, 10973); |
2193 | } | 2202 | } |
2194 | dasm_put(Dst, 10102); | 2203 | dasm_put(Dst, 10105); |
2195 | } | 2204 | } |
2196 | break; | 2205 | break; |
2197 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: | 2206 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: |
2198 | if (LJ_DUALNUM) { | 2207 | if (LJ_DUALNUM) { |
2199 | dasm_put(Dst, 11089); | 2208 | dasm_put(Dst, 11092); |
2200 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2209 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2201 | switch (vk) { | 2210 | switch (vk) { |
2202 | case 0: | 2211 | case 0: |
2203 | dasm_put(Dst, 11336, LJ_TISNUM, LJ_TISNUM); | 2212 | dasm_put(Dst, 11339, LJ_TISNUM, LJ_TISNUM); |
2204 | break; | 2213 | break; |
2205 | case 1: | 2214 | case 1: |
2206 | dasm_put(Dst, 11369, LJ_TISNUM, LJ_TISNUM); | 2215 | dasm_put(Dst, 11372, LJ_TISNUM, LJ_TISNUM); |
2207 | break; | 2216 | break; |
2208 | default: | 2217 | default: |
2209 | dasm_put(Dst, 11402, LJ_TISNUM, LJ_TISNUM); | 2218 | dasm_put(Dst, 11405, LJ_TISNUM, LJ_TISNUM); |
2210 | break; | 2219 | break; |
2211 | } | 2220 | } |
2212 | dasm_put(Dst, 11196, LJ_TISNUM); | 2221 | dasm_put(Dst, 11199, LJ_TISNUM); |
2213 | if (vk == 1) { | 2222 | if (vk == 1) { |
2214 | dasm_put(Dst, 10998); | 2223 | dasm_put(Dst, 11001); |
2215 | } else { | 2224 | } else { |
2216 | dasm_put(Dst, 10784); | 2225 | dasm_put(Dst, 10787); |
2217 | } | 2226 | } |
2218 | dasm_put(Dst, 10102); | 2227 | dasm_put(Dst, 10105); |
2219 | } else { | 2228 | } else { |
2220 | dasm_put(Dst, 11089); | 2229 | dasm_put(Dst, 11092); |
2221 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2230 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2222 | switch (vk) { | 2231 | switch (vk) { |
2223 | case 0: | 2232 | case 0: |
2224 | dasm_put(Dst, 11202, LJ_TISNUM); | 2233 | dasm_put(Dst, 11205, LJ_TISNUM); |
2225 | if (LJ_DUALNUM) { | 2234 | if (LJ_DUALNUM) { |
2226 | dasm_put(Dst, 11214, LJ_TISNUM); | 2235 | dasm_put(Dst, 11217, LJ_TISNUM); |
2227 | } | 2236 | } |
2228 | if (sse) { | 2237 | if (sse) { |
2229 | dasm_put(Dst, 11435); | 2238 | dasm_put(Dst, 11438); |
2230 | } else { | 2239 | } else { |
2231 | dasm_put(Dst, 11449); | 2240 | dasm_put(Dst, 11452); |
2232 | } | 2241 | } |
2233 | break; | 2242 | break; |
2234 | case 1: | 2243 | case 1: |
2235 | dasm_put(Dst, 11247, LJ_TISNUM); | 2244 | dasm_put(Dst, 11250, LJ_TISNUM); |
2236 | if (LJ_DUALNUM) { | 2245 | if (LJ_DUALNUM) { |
2237 | dasm_put(Dst, 11259, LJ_TISNUM); | 2246 | dasm_put(Dst, 11262, LJ_TISNUM); |
2238 | } | 2247 | } |
2239 | if (sse) { | 2248 | if (sse) { |
2240 | dasm_put(Dst, 11457); | 2249 | dasm_put(Dst, 11460); |
2241 | } else { | 2250 | } else { |
2242 | dasm_put(Dst, 11471); | 2251 | dasm_put(Dst, 11474); |
2243 | } | 2252 | } |
2244 | break; | 2253 | break; |
2245 | default: | 2254 | default: |
2246 | dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM); | 2255 | dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); |
2247 | if (sse) { | 2256 | if (sse) { |
2248 | dasm_put(Dst, 11479); | 2257 | dasm_put(Dst, 11482); |
2249 | } else { | 2258 | } else { |
2250 | dasm_put(Dst, 11493); | 2259 | dasm_put(Dst, 11496); |
2251 | } | 2260 | } |
2252 | break; | 2261 | break; |
2253 | } | 2262 | } |
2254 | if (sse) { | 2263 | if (sse) { |
2255 | dasm_put(Dst, 10958); | 2264 | dasm_put(Dst, 10961); |
2256 | } else { | 2265 | } else { |
2257 | dasm_put(Dst, 10970); | 2266 | dasm_put(Dst, 10973); |
2258 | } | 2267 | } |
2259 | dasm_put(Dst, 10102); | 2268 | dasm_put(Dst, 10105); |
2260 | } | 2269 | } |
2261 | break; | 2270 | break; |
2262 | case BC_MULVN: case BC_MULNV: case BC_MULVV: | 2271 | case BC_MULVN: case BC_MULNV: case BC_MULVV: |
2263 | if (LJ_DUALNUM) { | 2272 | if (LJ_DUALNUM) { |
2264 | dasm_put(Dst, 11089); | 2273 | dasm_put(Dst, 11092); |
2265 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2274 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2266 | switch (vk) { | 2275 | switch (vk) { |
2267 | case 0: | 2276 | case 0: |
2268 | dasm_put(Dst, 11501, LJ_TISNUM, LJ_TISNUM); | 2277 | dasm_put(Dst, 11504, LJ_TISNUM, LJ_TISNUM); |
2269 | break; | 2278 | break; |
2270 | case 1: | 2279 | case 1: |
2271 | dasm_put(Dst, 11535, LJ_TISNUM, LJ_TISNUM); | 2280 | dasm_put(Dst, 11538, LJ_TISNUM, LJ_TISNUM); |
2272 | break; | 2281 | break; |
2273 | default: | 2282 | default: |
2274 | dasm_put(Dst, 11569, LJ_TISNUM, LJ_TISNUM); | 2283 | dasm_put(Dst, 11572, LJ_TISNUM, LJ_TISNUM); |
2275 | break; | 2284 | break; |
2276 | } | 2285 | } |
2277 | dasm_put(Dst, 11196, LJ_TISNUM); | 2286 | dasm_put(Dst, 11199, LJ_TISNUM); |
2278 | if (vk == 1) { | 2287 | if (vk == 1) { |
2279 | dasm_put(Dst, 10998); | 2288 | dasm_put(Dst, 11001); |
2280 | } else { | 2289 | } else { |
2281 | dasm_put(Dst, 10784); | 2290 | dasm_put(Dst, 10787); |
2282 | } | 2291 | } |
2283 | dasm_put(Dst, 10102); | 2292 | dasm_put(Dst, 10105); |
2284 | } else { | 2293 | } else { |
2285 | dasm_put(Dst, 11089); | 2294 | dasm_put(Dst, 11092); |
2286 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2295 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2287 | switch (vk) { | 2296 | switch (vk) { |
2288 | case 0: | 2297 | case 0: |
2289 | dasm_put(Dst, 11202, LJ_TISNUM); | 2298 | dasm_put(Dst, 11205, LJ_TISNUM); |
2290 | if (LJ_DUALNUM) { | 2299 | if (LJ_DUALNUM) { |
2291 | dasm_put(Dst, 11214, LJ_TISNUM); | 2300 | dasm_put(Dst, 11217, LJ_TISNUM); |
2292 | } | 2301 | } |
2293 | if (sse) { | 2302 | if (sse) { |
2294 | dasm_put(Dst, 11603); | 2303 | dasm_put(Dst, 11606); |
2295 | } else { | 2304 | } else { |
2296 | dasm_put(Dst, 11617); | 2305 | dasm_put(Dst, 11620); |
2297 | } | 2306 | } |
2298 | break; | 2307 | break; |
2299 | case 1: | 2308 | case 1: |
2300 | dasm_put(Dst, 11247, LJ_TISNUM); | 2309 | dasm_put(Dst, 11250, LJ_TISNUM); |
2301 | if (LJ_DUALNUM) { | 2310 | if (LJ_DUALNUM) { |
2302 | dasm_put(Dst, 11259, LJ_TISNUM); | 2311 | dasm_put(Dst, 11262, LJ_TISNUM); |
2303 | } | 2312 | } |
2304 | if (sse) { | 2313 | if (sse) { |
2305 | dasm_put(Dst, 11625); | 2314 | dasm_put(Dst, 11628); |
2306 | } else { | 2315 | } else { |
2307 | dasm_put(Dst, 11639); | 2316 | dasm_put(Dst, 11642); |
2308 | } | 2317 | } |
2309 | break; | 2318 | break; |
2310 | default: | 2319 | default: |
2311 | dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM); | 2320 | dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); |
2312 | if (sse) { | 2321 | if (sse) { |
2313 | dasm_put(Dst, 11647); | 2322 | dasm_put(Dst, 11650); |
2314 | } else { | 2323 | } else { |
2315 | dasm_put(Dst, 11661); | 2324 | dasm_put(Dst, 11664); |
2316 | } | 2325 | } |
2317 | break; | 2326 | break; |
2318 | } | 2327 | } |
2319 | if (sse) { | 2328 | if (sse) { |
2320 | dasm_put(Dst, 10958); | 2329 | dasm_put(Dst, 10961); |
2321 | } else { | 2330 | } else { |
2322 | dasm_put(Dst, 10970); | 2331 | dasm_put(Dst, 10973); |
2323 | } | 2332 | } |
2324 | dasm_put(Dst, 10102); | 2333 | dasm_put(Dst, 10105); |
2325 | } | 2334 | } |
2326 | break; | 2335 | break; |
2327 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: | 2336 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: |
2328 | dasm_put(Dst, 11089); | 2337 | dasm_put(Dst, 11092); |
2329 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2338 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2330 | switch (vk) { | 2339 | switch (vk) { |
2331 | case 0: | 2340 | case 0: |
2332 | dasm_put(Dst, 11202, LJ_TISNUM); | 2341 | dasm_put(Dst, 11205, LJ_TISNUM); |
2333 | if (LJ_DUALNUM) { | 2342 | if (LJ_DUALNUM) { |
2334 | dasm_put(Dst, 11214, LJ_TISNUM); | 2343 | dasm_put(Dst, 11217, LJ_TISNUM); |
2335 | } | 2344 | } |
2336 | if (sse) { | 2345 | if (sse) { |
2337 | dasm_put(Dst, 11669); | 2346 | dasm_put(Dst, 11672); |
2338 | } else { | 2347 | } else { |
2339 | dasm_put(Dst, 11683); | 2348 | dasm_put(Dst, 11686); |
2340 | } | 2349 | } |
2341 | break; | 2350 | break; |
2342 | case 1: | 2351 | case 1: |
2343 | dasm_put(Dst, 11247, LJ_TISNUM); | 2352 | dasm_put(Dst, 11250, LJ_TISNUM); |
2344 | if (LJ_DUALNUM) { | 2353 | if (LJ_DUALNUM) { |
2345 | dasm_put(Dst, 11259, LJ_TISNUM); | 2354 | dasm_put(Dst, 11262, LJ_TISNUM); |
2346 | } | 2355 | } |
2347 | if (sse) { | 2356 | if (sse) { |
2348 | dasm_put(Dst, 11691); | 2357 | dasm_put(Dst, 11694); |
2349 | } else { | 2358 | } else { |
2350 | dasm_put(Dst, 11705); | 2359 | dasm_put(Dst, 11708); |
2351 | } | 2360 | } |
2352 | break; | 2361 | break; |
2353 | default: | 2362 | default: |
2354 | dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM); | 2363 | dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); |
2355 | if (sse) { | 2364 | if (sse) { |
2356 | dasm_put(Dst, 11713); | 2365 | dasm_put(Dst, 11716); |
2357 | } else { | 2366 | } else { |
2358 | dasm_put(Dst, 11727); | 2367 | dasm_put(Dst, 11730); |
2359 | } | 2368 | } |
2360 | break; | 2369 | break; |
2361 | } | 2370 | } |
2362 | if (sse) { | 2371 | if (sse) { |
2363 | dasm_put(Dst, 10958); | 2372 | dasm_put(Dst, 10961); |
2364 | } else { | 2373 | } else { |
2365 | dasm_put(Dst, 10970); | 2374 | dasm_put(Dst, 10973); |
2366 | } | 2375 | } |
2367 | dasm_put(Dst, 10102); | 2376 | dasm_put(Dst, 10105); |
2368 | break; | 2377 | break; |
2369 | case BC_MODVN: | 2378 | case BC_MODVN: |
2370 | dasm_put(Dst, 11089); | 2379 | dasm_put(Dst, 11092); |
2371 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2380 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2372 | switch (vk) { | 2381 | switch (vk) { |
2373 | case 0: | 2382 | case 0: |
2374 | dasm_put(Dst, 11202, LJ_TISNUM); | 2383 | dasm_put(Dst, 11205, LJ_TISNUM); |
2375 | if (LJ_DUALNUM) { | 2384 | if (LJ_DUALNUM) { |
2376 | dasm_put(Dst, 11214, LJ_TISNUM); | 2385 | dasm_put(Dst, 11217, LJ_TISNUM); |
2377 | } | 2386 | } |
2378 | if (sse) { | 2387 | if (sse) { |
2379 | dasm_put(Dst, 11735); | 2388 | dasm_put(Dst, 11738); |
2380 | } else { | 2389 | } else { |
2381 | dasm_put(Dst, 11749); | 2390 | dasm_put(Dst, 11752); |
2382 | } | 2391 | } |
2383 | break; | 2392 | break; |
2384 | case 1: | 2393 | case 1: |
2385 | dasm_put(Dst, 11247, LJ_TISNUM); | 2394 | dasm_put(Dst, 11250, LJ_TISNUM); |
2386 | if (LJ_DUALNUM) { | 2395 | if (LJ_DUALNUM) { |
2387 | dasm_put(Dst, 11259, LJ_TISNUM); | 2396 | dasm_put(Dst, 11262, LJ_TISNUM); |
2388 | } | 2397 | } |
2389 | if (sse) { | 2398 | if (sse) { |
2390 | dasm_put(Dst, 11757); | 2399 | dasm_put(Dst, 11760); |
2391 | } else { | 2400 | } else { |
2392 | dasm_put(Dst, 11771); | 2401 | dasm_put(Dst, 11774); |
2393 | } | 2402 | } |
2394 | break; | 2403 | break; |
2395 | default: | 2404 | default: |
2396 | dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM); | 2405 | dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); |
2397 | if (sse) { | 2406 | if (sse) { |
2398 | dasm_put(Dst, 11779); | 2407 | dasm_put(Dst, 11782); |
2399 | } else { | 2408 | } else { |
2400 | dasm_put(Dst, 11793); | 2409 | dasm_put(Dst, 11796); |
2401 | } | 2410 | } |
2402 | break; | 2411 | break; |
2403 | } | 2412 | } |
2404 | dasm_put(Dst, 11801); | 2413 | dasm_put(Dst, 11804); |
2405 | if (sse) { | 2414 | if (sse) { |
2406 | dasm_put(Dst, 10958); | 2415 | dasm_put(Dst, 10961); |
2407 | } else { | 2416 | } else { |
2408 | dasm_put(Dst, 10970); | 2417 | dasm_put(Dst, 10973); |
2409 | } | 2418 | } |
2410 | dasm_put(Dst, 10102); | 2419 | dasm_put(Dst, 10105); |
2411 | break; | 2420 | break; |
2412 | case BC_MODNV: case BC_MODVV: | 2421 | case BC_MODNV: case BC_MODVV: |
2413 | dasm_put(Dst, 11089); | 2422 | dasm_put(Dst, 11092); |
2414 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2423 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2415 | switch (vk) { | 2424 | switch (vk) { |
2416 | case 0: | 2425 | case 0: |
2417 | dasm_put(Dst, 11202, LJ_TISNUM); | 2426 | dasm_put(Dst, 11205, LJ_TISNUM); |
2418 | if (LJ_DUALNUM) { | 2427 | if (LJ_DUALNUM) { |
2419 | dasm_put(Dst, 11214, LJ_TISNUM); | 2428 | dasm_put(Dst, 11217, LJ_TISNUM); |
2420 | } | 2429 | } |
2421 | if (sse) { | 2430 | if (sse) { |
2422 | dasm_put(Dst, 11735); | 2431 | dasm_put(Dst, 11738); |
2423 | } else { | 2432 | } else { |
2424 | dasm_put(Dst, 11749); | 2433 | dasm_put(Dst, 11752); |
2425 | } | 2434 | } |
2426 | break; | 2435 | break; |
2427 | case 1: | 2436 | case 1: |
2428 | dasm_put(Dst, 11247, LJ_TISNUM); | 2437 | dasm_put(Dst, 11250, LJ_TISNUM); |
2429 | if (LJ_DUALNUM) { | 2438 | if (LJ_DUALNUM) { |
2430 | dasm_put(Dst, 11259, LJ_TISNUM); | 2439 | dasm_put(Dst, 11262, LJ_TISNUM); |
2431 | } | 2440 | } |
2432 | if (sse) { | 2441 | if (sse) { |
2433 | dasm_put(Dst, 11757); | 2442 | dasm_put(Dst, 11760); |
2434 | } else { | 2443 | } else { |
2435 | dasm_put(Dst, 11771); | 2444 | dasm_put(Dst, 11774); |
2436 | } | 2445 | } |
2437 | break; | 2446 | break; |
2438 | default: | 2447 | default: |
2439 | dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM); | 2448 | dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); |
2440 | if (sse) { | 2449 | if (sse) { |
2441 | dasm_put(Dst, 11779); | 2450 | dasm_put(Dst, 11782); |
2442 | } else { | 2451 | } else { |
2443 | dasm_put(Dst, 11793); | 2452 | dasm_put(Dst, 11796); |
2444 | } | 2453 | } |
2445 | break; | 2454 | break; |
2446 | } | 2455 | } |
2447 | dasm_put(Dst, 11807); | 2456 | dasm_put(Dst, 11810); |
2448 | break; | 2457 | break; |
2449 | case BC_POW: | 2458 | case BC_POW: |
2450 | dasm_put(Dst, 11089); | 2459 | dasm_put(Dst, 11092); |
2451 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2460 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2452 | switch (vk) { | 2461 | switch (vk) { |
2453 | case 0: | 2462 | case 0: |
2454 | dasm_put(Dst, 11202, LJ_TISNUM); | 2463 | dasm_put(Dst, 11205, LJ_TISNUM); |
2455 | if (LJ_DUALNUM) { | 2464 | if (LJ_DUALNUM) { |
2456 | dasm_put(Dst, 11214, LJ_TISNUM); | 2465 | dasm_put(Dst, 11217, LJ_TISNUM); |
2457 | } | 2466 | } |
2458 | if (sse) { | 2467 | if (sse) { |
2459 | dasm_put(Dst, 11735); | 2468 | dasm_put(Dst, 11738); |
2460 | } else { | 2469 | } else { |
2461 | dasm_put(Dst, 11749); | 2470 | dasm_put(Dst, 11752); |
2462 | } | 2471 | } |
2463 | break; | 2472 | break; |
2464 | case 1: | 2473 | case 1: |
2465 | dasm_put(Dst, 11247, LJ_TISNUM); | 2474 | dasm_put(Dst, 11250, LJ_TISNUM); |
2466 | if (LJ_DUALNUM) { | 2475 | if (LJ_DUALNUM) { |
2467 | dasm_put(Dst, 11259, LJ_TISNUM); | 2476 | dasm_put(Dst, 11262, LJ_TISNUM); |
2468 | } | 2477 | } |
2469 | if (sse) { | 2478 | if (sse) { |
2470 | dasm_put(Dst, 11757); | 2479 | dasm_put(Dst, 11760); |
2471 | } else { | 2480 | } else { |
2472 | dasm_put(Dst, 11771); | 2481 | dasm_put(Dst, 11774); |
2473 | } | 2482 | } |
2474 | break; | 2483 | break; |
2475 | default: | 2484 | default: |
2476 | dasm_put(Dst, 11292, LJ_TISNUM, LJ_TISNUM); | 2485 | dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); |
2477 | if (sse) { | 2486 | if (sse) { |
2478 | dasm_put(Dst, 11779); | 2487 | dasm_put(Dst, 11782); |
2479 | } else { | 2488 | } else { |
2480 | dasm_put(Dst, 11793); | 2489 | dasm_put(Dst, 11796); |
2481 | } | 2490 | } |
2482 | break; | 2491 | break; |
2483 | } | 2492 | } |
2484 | dasm_put(Dst, 11812); | 2493 | dasm_put(Dst, 11815); |
2485 | if (sse) { | 2494 | if (sse) { |
2486 | dasm_put(Dst, 10958); | 2495 | dasm_put(Dst, 10961); |
2487 | } else { | 2496 | } else { |
2488 | dasm_put(Dst, 10970); | 2497 | dasm_put(Dst, 10973); |
2489 | } | 2498 | } |
2490 | dasm_put(Dst, 10102); | 2499 | dasm_put(Dst, 10105); |
2491 | break; | 2500 | break; |
2492 | 2501 | ||
2493 | case BC_CAT: | 2502 | case BC_CAT: |
2494 | dasm_put(Dst, 11816, Dt1(->base), Dt1(->base)); | 2503 | dasm_put(Dst, 11819, Dt1(->base), Dt1(->base)); |
2495 | break; | 2504 | break; |
2496 | 2505 | ||
2497 | /* -- Constant ops ------------------------------------------------------ */ | 2506 | /* -- Constant ops ------------------------------------------------------ */ |
2498 | 2507 | ||
2499 | case BC_KSTR: | 2508 | case BC_KSTR: |
2500 | dasm_put(Dst, 11899, LJ_TSTR); | 2509 | dasm_put(Dst, 11902, LJ_TSTR); |
2501 | break; | 2510 | break; |
2502 | case BC_KCDATA: | 2511 | case BC_KCDATA: |
2503 | #if LJ_HASFFI | 2512 | #if LJ_HASFFI |
2504 | dasm_put(Dst, 11899, LJ_TCDATA); | 2513 | dasm_put(Dst, 11902, LJ_TCDATA); |
2505 | #endif | 2514 | #endif |
2506 | break; | 2515 | break; |
2507 | case BC_KSHORT: | 2516 | case BC_KSHORT: |
2508 | if (LJ_DUALNUM) { | 2517 | if (LJ_DUALNUM) { |
2509 | dasm_put(Dst, 11934, LJ_TISNUM); | 2518 | dasm_put(Dst, 11937, LJ_TISNUM); |
2510 | } else if (sse) { | 2519 | } else if (sse) { |
2511 | dasm_put(Dst, 11946); | 2520 | dasm_put(Dst, 11949); |
2512 | } else { | 2521 | } else { |
2513 | dasm_put(Dst, 11961); | 2522 | dasm_put(Dst, 11964); |
2514 | } | 2523 | } |
2515 | dasm_put(Dst, 10102); | 2524 | dasm_put(Dst, 10105); |
2516 | break; | 2525 | break; |
2517 | case BC_KNUM: | 2526 | case BC_KNUM: |
2518 | if (sse) { | 2527 | if (sse) { |
2519 | dasm_put(Dst, 11969); | 2528 | dasm_put(Dst, 11972); |
2520 | } else { | 2529 | } else { |
2521 | dasm_put(Dst, 11982); | 2530 | dasm_put(Dst, 11985); |
2522 | } | 2531 | } |
2523 | dasm_put(Dst, 10102); | 2532 | dasm_put(Dst, 10105); |
2524 | break; | 2533 | break; |
2525 | case BC_KPRI: | 2534 | case BC_KPRI: |
2526 | dasm_put(Dst, 11989); | 2535 | dasm_put(Dst, 11992); |
2527 | break; | 2536 | break; |
2528 | case BC_KNIL: | 2537 | case BC_KNIL: |
2529 | dasm_put(Dst, 12017, LJ_TNIL); | 2538 | dasm_put(Dst, 12020, LJ_TNIL); |
2530 | break; | 2539 | break; |
2531 | 2540 | ||
2532 | /* -- Upvalue and function ops ------------------------------------------ */ | 2541 | /* -- Upvalue and function ops ------------------------------------------ */ |
2533 | 2542 | ||
2534 | case BC_UGET: | 2543 | case BC_UGET: |
2535 | dasm_put(Dst, 12064, offsetof(GCfuncL, uvptr), DtA(->v)); | 2544 | dasm_put(Dst, 12067, offsetof(GCfuncL, uvptr), DtA(->v)); |
2536 | break; | 2545 | break; |
2537 | case BC_USETV: | 2546 | case BC_USETV: |
2538 | #define TV2MARKOFS \ | 2547 | #define TV2MARKOFS \ |
2539 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) | 2548 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) |
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); | 2549 | dasm_put(Dst, 12107, 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, 12195); | 2550 | dasm_put(Dst, 12198); |
2542 | break; | 2551 | break; |
2543 | #undef TV2MARKOFS | 2552 | #undef TV2MARKOFS |
2544 | case BC_USETS: | 2553 | case BC_USETS: |
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); | 2554 | dasm_put(Dst, 12210, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); |
2546 | break; | 2555 | break; |
2547 | case BC_USETN: | 2556 | case BC_USETN: |
2548 | dasm_put(Dst, 12300); | 2557 | dasm_put(Dst, 12303); |
2549 | if (sse) { | 2558 | if (sse) { |
2550 | dasm_put(Dst, 12305); | 2559 | dasm_put(Dst, 12308); |
2551 | } else { | 2560 | } else { |
2552 | dasm_put(Dst, 10613); | 2561 | dasm_put(Dst, 10616); |
2553 | } | 2562 | } |
2554 | dasm_put(Dst, 12312, offsetof(GCfuncL, uvptr), DtA(->v)); | 2563 | dasm_put(Dst, 12315, offsetof(GCfuncL, uvptr), DtA(->v)); |
2555 | if (sse) { | 2564 | if (sse) { |
2556 | dasm_put(Dst, 12321); | 2565 | dasm_put(Dst, 12324); |
2557 | } else { | 2566 | } else { |
2558 | dasm_put(Dst, 12327); | 2567 | dasm_put(Dst, 12330); |
2559 | } | 2568 | } |
2560 | dasm_put(Dst, 10102); | 2569 | dasm_put(Dst, 10105); |
2561 | break; | 2570 | break; |
2562 | case BC_USETP: | 2571 | case BC_USETP: |
2563 | dasm_put(Dst, 12330, offsetof(GCfuncL, uvptr), DtA(->v)); | 2572 | dasm_put(Dst, 12333, offsetof(GCfuncL, uvptr), DtA(->v)); |
2564 | break; | 2573 | break; |
2565 | case BC_UCLO: | 2574 | case BC_UCLO: |
2566 | dasm_put(Dst, 12369, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); | 2575 | dasm_put(Dst, 12372, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); |
2567 | break; | 2576 | break; |
2568 | 2577 | ||
2569 | case BC_FNEW: | 2578 | case BC_FNEW: |
2570 | dasm_put(Dst, 12424, Dt1(->base), Dt1(->base), LJ_TFUNC); | 2579 | dasm_put(Dst, 12427, Dt1(->base), Dt1(->base), LJ_TFUNC); |
2571 | break; | 2580 | break; |
2572 | 2581 | ||
2573 | /* -- Table ops --------------------------------------------------------- */ | 2582 | /* -- Table ops --------------------------------------------------------- */ |
2574 | 2583 | ||
2575 | case BC_TNEW: | 2584 | case BC_TNEW: |
2576 | dasm_put(Dst, 12490, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); | 2585 | dasm_put(Dst, 12493, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); |
2577 | break; | 2586 | break; |
2578 | case BC_TDUP: | 2587 | case BC_TDUP: |
2579 | dasm_put(Dst, 12612, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 2588 | dasm_put(Dst, 12615, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); |
2580 | break; | 2589 | break; |
2581 | 2590 | ||
2582 | case BC_GGET: | 2591 | case BC_GGET: |
2583 | dasm_put(Dst, 12707, Dt7(->env)); | 2592 | dasm_put(Dst, 12710, Dt7(->env)); |
2584 | break; | 2593 | break; |
2585 | case BC_GSET: | 2594 | case BC_GSET: |
2586 | dasm_put(Dst, 12726, Dt7(->env)); | 2595 | dasm_put(Dst, 12729, Dt7(->env)); |
2587 | break; | 2596 | break; |
2588 | 2597 | ||
2589 | case BC_TGETV: | 2598 | case BC_TGETV: |
2590 | dasm_put(Dst, 12745, LJ_TTAB); | 2599 | dasm_put(Dst, 12748, LJ_TTAB); |
2591 | if (LJ_DUALNUM) { | 2600 | if (LJ_DUALNUM) { |
2592 | dasm_put(Dst, 12768, LJ_TISNUM); | 2601 | dasm_put(Dst, 12771, LJ_TISNUM); |
2593 | } else { | 2602 | } else { |
2594 | dasm_put(Dst, 12782, LJ_TISNUM); | 2603 | dasm_put(Dst, 12785, LJ_TISNUM); |
2595 | if (sse) { | 2604 | if (sse) { |
2596 | dasm_put(Dst, 12793); | 2605 | dasm_put(Dst, 12796); |
2597 | } else { | 2606 | } else { |
2598 | } | 2607 | } |
2599 | dasm_put(Dst, 12814); | 2608 | dasm_put(Dst, 12817); |
2600 | } | 2609 | } |
2601 | dasm_put(Dst, 12819, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); | 2610 | dasm_put(Dst, 12822, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); |
2602 | dasm_put(Dst, 12910, LJ_TSTR); | 2611 | dasm_put(Dst, 12913, LJ_TSTR); |
2603 | break; | 2612 | break; |
2604 | case BC_TGETS: | 2613 | case BC_TGETS: |
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); | 2614 | dasm_put(Dst, 12931, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2606 | dasm_put(Dst, 13012, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2615 | dasm_put(Dst, 13015, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2607 | break; | 2616 | break; |
2608 | case BC_TGETB: | 2617 | case BC_TGETB: |
2609 | dasm_put(Dst, 13083, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2618 | dasm_put(Dst, 13086, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2610 | dasm_put(Dst, 13178, LJ_TNIL); | 2619 | dasm_put(Dst, 13181, LJ_TNIL); |
2611 | break; | 2620 | break; |
2612 | 2621 | ||
2613 | case BC_TSETV: | 2622 | case BC_TSETV: |
2614 | dasm_put(Dst, 13195, LJ_TTAB); | 2623 | dasm_put(Dst, 13198, LJ_TTAB); |
2615 | if (LJ_DUALNUM) { | 2624 | if (LJ_DUALNUM) { |
2616 | dasm_put(Dst, 12768, LJ_TISNUM); | 2625 | dasm_put(Dst, 12771, LJ_TISNUM); |
2617 | } else { | 2626 | } else { |
2618 | dasm_put(Dst, 12782, LJ_TISNUM); | 2627 | dasm_put(Dst, 12785, LJ_TISNUM); |
2619 | if (sse) { | 2628 | if (sse) { |
2620 | dasm_put(Dst, 12793); | 2629 | dasm_put(Dst, 12796); |
2621 | } else { | 2630 | } else { |
2622 | } | 2631 | } |
2623 | dasm_put(Dst, 13218); | 2632 | dasm_put(Dst, 13221); |
2624 | } | 2633 | } |
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); | 2634 | dasm_put(Dst, 13226, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); |
2626 | dasm_put(Dst, 13303, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2635 | dasm_put(Dst, 13306, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2627 | break; | 2636 | break; |
2628 | case BC_TSETS: | 2637 | case BC_TSETS: |
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); | 2638 | dasm_put(Dst, 13363, 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, 13436, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); | 2639 | dasm_put(Dst, 13439, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); |
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)); | 2640 | dasm_put(Dst, 13527, 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 | break; | 2641 | break; |
2633 | case BC_TSETB: | 2642 | case BC_TSETB: |
2634 | dasm_put(Dst, 13615, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); | 2643 | dasm_put(Dst, 13618, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); |
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)); | 2644 | dasm_put(Dst, 13712, 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 | break; | 2645 | break; |
2637 | 2646 | ||
2638 | case BC_TSETM: | 2647 | case BC_TSETM: |
2639 | dasm_put(Dst, 13755, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); | 2648 | dasm_put(Dst, 13758, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); |
2640 | dasm_put(Dst, 13898, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2649 | dasm_put(Dst, 13901, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2641 | break; | 2650 | break; |
2642 | 2651 | ||
2643 | /* -- Calls and vararg handling ----------------------------------------- */ | 2652 | /* -- Calls and vararg handling ----------------------------------------- */ |
2644 | 2653 | ||
2645 | case BC_CALL: case BC_CALLM: | 2654 | case BC_CALL: case BC_CALLM: |
2646 | dasm_put(Dst, 11093); | 2655 | dasm_put(Dst, 11096); |
2647 | if (op == BC_CALLM) { | 2656 | if (op == BC_CALLM) { |
2648 | dasm_put(Dst, 13916); | 2657 | dasm_put(Dst, 13919); |
2649 | } | 2658 | } |
2650 | dasm_put(Dst, 13921, LJ_TFUNC, Dt7(->pc)); | 2659 | dasm_put(Dst, 13924, LJ_TFUNC, Dt7(->pc)); |
2651 | break; | 2660 | break; |
2652 | 2661 | ||
2653 | case BC_CALLMT: | 2662 | case BC_CALLMT: |
2654 | dasm_put(Dst, 13916); | 2663 | dasm_put(Dst, 13919); |
2655 | break; | 2664 | break; |
2656 | case BC_CALLT: | 2665 | case BC_CALLT: |
2657 | dasm_put(Dst, 13963, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); | 2666 | dasm_put(Dst, 13966, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); |
2658 | dasm_put(Dst, 14078, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); | 2667 | dasm_put(Dst, 14081, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); |
2659 | break; | 2668 | break; |
2660 | 2669 | ||
2661 | case BC_ITERC: | 2670 | case BC_ITERC: |
2662 | dasm_put(Dst, 14149, LJ_TFUNC, 2+1, Dt7(->pc)); | 2671 | dasm_put(Dst, 14152, LJ_TFUNC, 2+1, Dt7(->pc)); |
2663 | break; | 2672 | break; |
2664 | 2673 | ||
2665 | case BC_ITERN: | 2674 | case BC_ITERN: |
2666 | #if LJ_HASJIT | 2675 | #if LJ_HASJIT |
2667 | #endif | 2676 | #endif |
2668 | dasm_put(Dst, 14220, Dt6(->asize), Dt6(->array), LJ_TNIL); | 2677 | dasm_put(Dst, 14223, Dt6(->asize), Dt6(->array), LJ_TNIL); |
2669 | if (LJ_DUALNUM) { | 2678 | if (LJ_DUALNUM) { |
2670 | dasm_put(Dst, 10993, LJ_TISNUM); | 2679 | dasm_put(Dst, 10996, LJ_TISNUM); |
2671 | } else if (sse) { | 2680 | } else if (sse) { |
2672 | dasm_put(Dst, 11070); | 2681 | dasm_put(Dst, 11073); |
2673 | } else { | 2682 | } else { |
2674 | dasm_put(Dst, 14266); | 2683 | dasm_put(Dst, 14269); |
2675 | } | 2684 | } |
2676 | dasm_put(Dst, 14272); | 2685 | dasm_put(Dst, 14275); |
2677 | if (LJ_DUALNUM) { | 2686 | if (LJ_DUALNUM) { |
2678 | } else if (sse) { | 2687 | } else if (sse) { |
2679 | dasm_put(Dst, 10958); | 2688 | dasm_put(Dst, 10961); |
2680 | } else { | 2689 | } else { |
2681 | dasm_put(Dst, 10970); | 2690 | dasm_put(Dst, 10973); |
2682 | } | 2691 | } |
2683 | dasm_put(Dst, 14285, -BCBIAS_J*4); | 2692 | dasm_put(Dst, 14288, -BCBIAS_J*4); |
2684 | if (!LJ_DUALNUM && !sse) { | 2693 | if (!LJ_DUALNUM && !sse) { |
2685 | dasm_put(Dst, 14337); | 2694 | dasm_put(Dst, 14340); |
2686 | } | 2695 | } |
2687 | dasm_put(Dst, 14343, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); | 2696 | dasm_put(Dst, 14346, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); |
2688 | break; | 2697 | break; |
2689 | 2698 | ||
2690 | case BC_ISNEXT: | 2699 | case BC_ISNEXT: |
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); | 2700 | dasm_put(Dst, 14418, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); |
2692 | break; | 2701 | break; |
2693 | 2702 | ||
2694 | case BC_VARG: | 2703 | case BC_VARG: |
2695 | dasm_put(Dst, 14515, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); | 2704 | dasm_put(Dst, 14518, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); |
2696 | dasm_put(Dst, 14675, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 2705 | dasm_put(Dst, 14678, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
2697 | break; | 2706 | break; |
2698 | 2707 | ||
2699 | /* -- Returns ----------------------------------------------------------- */ | 2708 | /* -- Returns ----------------------------------------------------------- */ |
2700 | 2709 | ||
2701 | case BC_RETM: | 2710 | case BC_RETM: |
2702 | dasm_put(Dst, 13916); | 2711 | dasm_put(Dst, 13919); |
2703 | break; | 2712 | break; |
2704 | 2713 | ||
2705 | case BC_RET: case BC_RET0: case BC_RET1: | 2714 | case BC_RET: case BC_RET0: case BC_RET1: |
2706 | if (op != BC_RET0) { | 2715 | if (op != BC_RET0) { |
2707 | dasm_put(Dst, 14741); | 2716 | dasm_put(Dst, 14744); |
2708 | } | 2717 | } |
2709 | dasm_put(Dst, 14745, FRAME_TYPE); | 2718 | dasm_put(Dst, 14748, FRAME_TYPE); |
2710 | switch (op) { | 2719 | switch (op) { |
2711 | case BC_RET: | 2720 | case BC_RET: |
2712 | dasm_put(Dst, 14764); | 2721 | dasm_put(Dst, 14767); |
2713 | break; | 2722 | break; |
2714 | case BC_RET1: | 2723 | case BC_RET1: |
2715 | dasm_put(Dst, 14816); | 2724 | dasm_put(Dst, 14819); |
2716 | /* fallthrough */ | 2725 | /* fallthrough */ |
2717 | case BC_RET0: | 2726 | case BC_RET0: |
2718 | dasm_put(Dst, 14826); | 2727 | dasm_put(Dst, 14829); |
2719 | default: | 2728 | default: |
2720 | break; | 2729 | break; |
2721 | } | 2730 | } |
2722 | dasm_put(Dst, 14837, Dt7(->pc), PC2PROTO(k)); | 2731 | dasm_put(Dst, 14840, Dt7(->pc), PC2PROTO(k)); |
2723 | if (op == BC_RET) { | 2732 | if (op == BC_RET) { |
2724 | dasm_put(Dst, 14881, LJ_TNIL); | 2733 | dasm_put(Dst, 14884, LJ_TNIL); |
2725 | } else { | 2734 | } else { |
2726 | dasm_put(Dst, 14890, LJ_TNIL); | 2735 | dasm_put(Dst, 14893, LJ_TNIL); |
2727 | } | 2736 | } |
2728 | dasm_put(Dst, 14897, -FRAME_VARG, FRAME_TYPEP); | 2737 | dasm_put(Dst, 14900, -FRAME_VARG, FRAME_TYPEP); |
2729 | if (op != BC_RET0) { | 2738 | if (op != BC_RET0) { |
2730 | dasm_put(Dst, 14921); | 2739 | dasm_put(Dst, 14924); |
2731 | } | 2740 | } |
2732 | dasm_put(Dst, 4646); | 2741 | dasm_put(Dst, 4646); |
2733 | break; | 2742 | break; |
@@ -2737,7 +2746,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2737 | 2746 | ||
2738 | case BC_FORL: | 2747 | case BC_FORL: |
2739 | #if LJ_HASJIT | 2748 | #if LJ_HASJIT |
2740 | dasm_put(Dst, 14925, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2749 | dasm_put(Dst, 14928, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2741 | #endif | 2750 | #endif |
2742 | break; | 2751 | break; |
2743 | 2752 | ||
@@ -2749,104 +2758,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2749 | case BC_FORI: | 2758 | case BC_FORI: |
2750 | case BC_IFORL: | 2759 | case BC_IFORL: |
2751 | vk = (op == BC_IFORL || op == BC_JFORL); | 2760 | vk = (op == BC_IFORL || op == BC_JFORL); |
2752 | dasm_put(Dst, 14946); | 2761 | dasm_put(Dst, 14949); |
2753 | if (LJ_DUALNUM) { | 2762 | if (LJ_DUALNUM) { |
2754 | dasm_put(Dst, 14950, LJ_TISNUM); | 2763 | dasm_put(Dst, 14953, LJ_TISNUM); |
2755 | if (!vk) { | 2764 | if (!vk) { |
2756 | dasm_put(Dst, 14960, LJ_TISNUM, LJ_TISNUM); | 2765 | dasm_put(Dst, 14963, LJ_TISNUM, LJ_TISNUM); |
2757 | } else { | 2766 | } else { |
2758 | dasm_put(Dst, 14989); | 2767 | #ifdef LUA_USE_ASSERT |
2768 | dasm_put(Dst, 14992, LJ_TISNUM, LJ_TISNUM); | ||
2769 | #endif | ||
2770 | dasm_put(Dst, 15011); | ||
2759 | } | 2771 | } |
2760 | dasm_put(Dst, 15008, LJ_TISNUM); | 2772 | dasm_put(Dst, 15030, LJ_TISNUM); |
2761 | if (op == BC_FORI) { | 2773 | if (op == BC_FORI) { |
2762 | dasm_put(Dst, 15019, -BCBIAS_J*4); | 2774 | dasm_put(Dst, 15041, -BCBIAS_J*4); |
2763 | } else if (op == BC_JFORI) { | 2775 | } else if (op == BC_JFORI) { |
2764 | dasm_put(Dst, 15033, -BCBIAS_J*4, BC_JLOOP); | 2776 | dasm_put(Dst, 15055, -BCBIAS_J*4, BC_JLOOP); |
2765 | } else if (op == BC_IFORL) { | 2777 | } else if (op == BC_IFORL) { |
2766 | dasm_put(Dst, 15051, -BCBIAS_J*4); | 2778 | dasm_put(Dst, 15073, -BCBIAS_J*4); |
2767 | } else { | 2779 | } else { |
2768 | dasm_put(Dst, 15043, BC_JLOOP); | 2780 | dasm_put(Dst, 15065, BC_JLOOP); |
2769 | } | 2781 | } |
2770 | dasm_put(Dst, 15065); | 2782 | dasm_put(Dst, 15087); |
2771 | if (vk) { | 2783 | if (vk) { |
2772 | dasm_put(Dst, 15089); | 2784 | dasm_put(Dst, 15111); |
2773 | } | 2785 | } |
2774 | dasm_put(Dst, 15008, LJ_TISNUM); | 2786 | dasm_put(Dst, 15030, LJ_TISNUM); |
2775 | if (op == BC_FORI) { | 2787 | if (op == BC_FORI) { |
2776 | dasm_put(Dst, 15098); | 2788 | dasm_put(Dst, 15120); |
2777 | } else if (op == BC_JFORI) { | 2789 | } else if (op == BC_JFORI) { |
2778 | dasm_put(Dst, 15103, -BCBIAS_J*4, BC_JLOOP); | 2790 | dasm_put(Dst, 15125, -BCBIAS_J*4, BC_JLOOP); |
2779 | } else if (op == BC_IFORL) { | 2791 | } else if (op == BC_IFORL) { |
2780 | dasm_put(Dst, 15117); | 2792 | dasm_put(Dst, 15139); |
2781 | } else { | 2793 | } else { |
2782 | dasm_put(Dst, 15113, BC_JLOOP); | 2794 | dasm_put(Dst, 15135, BC_JLOOP); |
2783 | } | 2795 | } |
2784 | dasm_put(Dst, 15122); | 2796 | dasm_put(Dst, 15144); |
2785 | } else if (!vk) { | 2797 | } else if (!vk) { |
2786 | dasm_put(Dst, 15129, LJ_TISNUM); | 2798 | dasm_put(Dst, 15151, LJ_TISNUM); |
2787 | } | 2799 | } |
2788 | if (!vk) { | 2800 | if (!vk) { |
2789 | dasm_put(Dst, 15135, LJ_TISNUM); | 2801 | dasm_put(Dst, 15157, LJ_TISNUM); |
2802 | } else { | ||
2803 | #ifdef LUA_USE_ASSERT | ||
2804 | dasm_put(Dst, 15171, LJ_TISNUM, LJ_TISNUM); | ||
2805 | #endif | ||
2790 | } | 2806 | } |
2791 | dasm_put(Dst, 15149); | 2807 | dasm_put(Dst, 15190); |
2792 | if (!vk) { | 2808 | if (!vk) { |
2793 | dasm_put(Dst, 15153, LJ_TISNUM); | 2809 | dasm_put(Dst, 15194, LJ_TISNUM); |
2794 | } | 2810 | } |
2795 | if (sse) { | 2811 | if (sse) { |
2796 | dasm_put(Dst, 15162); | 2812 | dasm_put(Dst, 15203); |
2797 | if (vk) { | 2813 | if (vk) { |
2798 | dasm_put(Dst, 15174); | 2814 | dasm_put(Dst, 15215); |
2799 | } else { | 2815 | } else { |
2800 | dasm_put(Dst, 15193); | 2816 | dasm_put(Dst, 15234); |
2801 | } | 2817 | } |
2802 | dasm_put(Dst, 15198); | 2818 | dasm_put(Dst, 15239); |
2803 | } else { | 2819 | } else { |
2804 | dasm_put(Dst, 15211); | 2820 | dasm_put(Dst, 15252); |
2805 | if (vk) { | 2821 | if (vk) { |
2806 | dasm_put(Dst, 15217); | 2822 | dasm_put(Dst, 15258); |
2807 | } else { | 2823 | } else { |
2808 | dasm_put(Dst, 15233); | 2824 | dasm_put(Dst, 15274); |
2809 | } | 2825 | } |
2810 | dasm_put(Dst, 15241); | 2826 | dasm_put(Dst, 15282); |
2811 | if (cmov) { | 2827 | if (cmov) { |
2812 | dasm_put(Dst, 10057); | 2828 | dasm_put(Dst, 10060); |
2813 | } else { | 2829 | } else { |
2814 | dasm_put(Dst, 10063); | 2830 | dasm_put(Dst, 10066); |
2815 | } | 2831 | } |
2816 | if (!cmov) { | 2832 | if (!cmov) { |
2817 | dasm_put(Dst, 15246); | 2833 | dasm_put(Dst, 15287); |
2818 | } | 2834 | } |
2819 | } | 2835 | } |
2820 | if (op == BC_FORI) { | 2836 | if (op == BC_FORI) { |
2821 | if (LJ_DUALNUM) { | 2837 | if (LJ_DUALNUM) { |
2822 | dasm_put(Dst, 15252); | 2838 | dasm_put(Dst, 15293); |
2823 | } else { | 2839 | } else { |
2824 | dasm_put(Dst, 15257, -BCBIAS_J*4); | 2840 | dasm_put(Dst, 15298, -BCBIAS_J*4); |
2825 | } | 2841 | } |
2826 | } else if (op == BC_JFORI) { | 2842 | } else if (op == BC_JFORI) { |
2827 | dasm_put(Dst, 15267, -BCBIAS_J*4, BC_JLOOP); | 2843 | dasm_put(Dst, 15308, -BCBIAS_J*4, BC_JLOOP); |
2828 | } else if (op == BC_IFORL) { | 2844 | } else if (op == BC_IFORL) { |
2829 | if (LJ_DUALNUM) { | 2845 | if (LJ_DUALNUM) { |
2830 | dasm_put(Dst, 15281); | 2846 | dasm_put(Dst, 15322); |
2831 | } else { | 2847 | } else { |
2832 | dasm_put(Dst, 15286, -BCBIAS_J*4); | 2848 | dasm_put(Dst, 15327, -BCBIAS_J*4); |
2833 | } | 2849 | } |
2834 | } else { | 2850 | } else { |
2835 | dasm_put(Dst, 15277, BC_JLOOP); | 2851 | dasm_put(Dst, 15318, BC_JLOOP); |
2836 | } | 2852 | } |
2837 | if (LJ_DUALNUM) { | 2853 | if (LJ_DUALNUM) { |
2838 | dasm_put(Dst, 9986); | 2854 | dasm_put(Dst, 9989); |
2839 | } else { | 2855 | } else { |
2840 | dasm_put(Dst, 10743); | 2856 | dasm_put(Dst, 10746); |
2841 | } | 2857 | } |
2842 | if (sse) { | 2858 | if (sse) { |
2843 | dasm_put(Dst, 15296); | 2859 | dasm_put(Dst, 15337); |
2844 | } | 2860 | } |
2845 | break; | 2861 | break; |
2846 | 2862 | ||
2847 | case BC_ITERL: | 2863 | case BC_ITERL: |
2848 | #if LJ_HASJIT | 2864 | #if LJ_HASJIT |
2849 | dasm_put(Dst, 14925, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2865 | dasm_put(Dst, 14928, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2850 | #endif | 2866 | #endif |
2851 | break; | 2867 | break; |
2852 | 2868 | ||
@@ -2855,33 +2871,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2855 | break; | 2871 | break; |
2856 | #endif | 2872 | #endif |
2857 | case BC_IITERL: | 2873 | case BC_IITERL: |
2858 | dasm_put(Dst, 15307, LJ_TNIL); | 2874 | dasm_put(Dst, 15348, LJ_TNIL); |
2859 | if (op == BC_JITERL) { | 2875 | if (op == BC_JITERL) { |
2860 | dasm_put(Dst, 15322, BC_JLOOP); | 2876 | dasm_put(Dst, 15363, BC_JLOOP); |
2861 | } else { | 2877 | } else { |
2862 | dasm_put(Dst, 15336, -BCBIAS_J*4); | 2878 | dasm_put(Dst, 15377, -BCBIAS_J*4); |
2863 | } | 2879 | } |
2864 | dasm_put(Dst, 10100); | 2880 | dasm_put(Dst, 10103); |
2865 | break; | 2881 | break; |
2866 | 2882 | ||
2867 | case BC_LOOP: | 2883 | case BC_LOOP: |
2868 | #if LJ_HASJIT | 2884 | #if LJ_HASJIT |
2869 | dasm_put(Dst, 14925, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2885 | dasm_put(Dst, 14928, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2870 | #endif | 2886 | #endif |
2871 | break; | 2887 | break; |
2872 | 2888 | ||
2873 | case BC_ILOOP: | 2889 | case BC_ILOOP: |
2874 | dasm_put(Dst, 10102); | 2890 | dasm_put(Dst, 10105); |
2875 | break; | 2891 | break; |
2876 | 2892 | ||
2877 | case BC_JLOOP: | 2893 | case BC_JLOOP: |
2878 | #if LJ_HASJIT | 2894 | #if LJ_HASJIT |
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); | 2895 | dasm_put(Dst, 15393, 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); |
2880 | #endif | 2896 | #endif |
2881 | break; | 2897 | break; |
2882 | 2898 | ||
2883 | case BC_JMP: | 2899 | case BC_JMP: |
2884 | dasm_put(Dst, 15461, -BCBIAS_J*4); | 2900 | dasm_put(Dst, 15502, -BCBIAS_J*4); |
2885 | break; | 2901 | break; |
2886 | 2902 | ||
2887 | /* -- Function headers -------------------------------------------------- */ | 2903 | /* -- Function headers -------------------------------------------------- */ |
@@ -2895,7 +2911,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2895 | 2911 | ||
2896 | case BC_FUNCF: | 2912 | case BC_FUNCF: |
2897 | #if LJ_HASJIT | 2913 | #if LJ_HASJIT |
2898 | dasm_put(Dst, 15486, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2914 | dasm_put(Dst, 15527, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2899 | #endif | 2915 | #endif |
2900 | case BC_FUNCV: /* NYI: compiled vararg functions. */ | 2916 | case BC_FUNCV: /* NYI: compiled vararg functions. */ |
2901 | break; | 2917 | break; |
@@ -2905,13 +2921,13 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2905 | break; | 2921 | break; |
2906 | #endif | 2922 | #endif |
2907 | case BC_IFUNCF: | 2923 | case BC_IFUNCF: |
2908 | dasm_put(Dst, 15507, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); | 2924 | dasm_put(Dst, 15548, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); |
2909 | if (op == BC_JFUNCF) { | 2925 | if (op == BC_JFUNCF) { |
2910 | dasm_put(Dst, 15537, BC_JLOOP); | 2926 | dasm_put(Dst, 15578, BC_JLOOP); |
2911 | } else { | 2927 | } else { |
2912 | dasm_put(Dst, 10102); | 2928 | dasm_put(Dst, 10105); |
2913 | } | 2929 | } |
2914 | dasm_put(Dst, 15546, LJ_TNIL); | 2930 | dasm_put(Dst, 15587, LJ_TNIL); |
2915 | break; | 2931 | break; |
2916 | 2932 | ||
2917 | case BC_JFUNCV: | 2933 | case BC_JFUNCV: |
@@ -2922,30 +2938,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2922 | break; /* NYI: compiled vararg functions. */ | 2938 | break; /* NYI: compiled vararg functions. */ |
2923 | 2939 | ||
2924 | case BC_IFUNCV: | 2940 | case BC_IFUNCV: |
2925 | dasm_put(Dst, 15568, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); | 2941 | dasm_put(Dst, 15609, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); |
2926 | if (op == BC_JFUNCV) { | 2942 | if (op == BC_JFUNCV) { |
2927 | dasm_put(Dst, 15537, BC_JLOOP); | 2943 | dasm_put(Dst, 15578, BC_JLOOP); |
2928 | } else { | 2944 | } else { |
2929 | dasm_put(Dst, 15659, -4+PC2PROTO(k)); | 2945 | dasm_put(Dst, 15700, -4+PC2PROTO(k)); |
2930 | } | 2946 | } |
2931 | dasm_put(Dst, 15682, LJ_TNIL); | 2947 | dasm_put(Dst, 15723, LJ_TNIL); |
2932 | break; | 2948 | break; |
2933 | 2949 | ||
2934 | case BC_FUNCC: | 2950 | case BC_FUNCC: |
2935 | case BC_FUNCCW: | 2951 | case BC_FUNCCW: |
2936 | dasm_put(Dst, 15704, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); | 2952 | dasm_put(Dst, 15745, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); |
2937 | if (op == BC_FUNCC) { | 2953 | if (op == BC_FUNCC) { |
2938 | dasm_put(Dst, 2310); | 2954 | dasm_put(Dst, 2310); |
2939 | } else { | 2955 | } else { |
2940 | dasm_put(Dst, 15734); | 2956 | dasm_put(Dst, 15775); |
2941 | } | 2957 | } |
2942 | dasm_put(Dst, 15742, DISPATCH_GL(vmstate), ~LJ_VMST_C); | 2958 | dasm_put(Dst, 15783, DISPATCH_GL(vmstate), ~LJ_VMST_C); |
2943 | if (op == BC_FUNCC) { | 2959 | if (op == BC_FUNCC) { |
2944 | dasm_put(Dst, 15751); | 2960 | dasm_put(Dst, 15792); |
2945 | } else { | 2961 | } else { |
2946 | dasm_put(Dst, 15755, DISPATCH_GL(wrapf)); | 2962 | dasm_put(Dst, 15796, DISPATCH_GL(wrapf)); |
2947 | } | 2963 | } |
2948 | dasm_put(Dst, 15760, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 2964 | dasm_put(Dst, 15801, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
2949 | break; | 2965 | break; |
2950 | 2966 | ||
2951 | /* ---------------------------------------------------------------------- */ | 2967 | /* ---------------------------------------------------------------------- */ |
@@ -2973,7 +2989,7 @@ static int build_backend(BuildCtx *ctx) | |||
2973 | 2989 | ||
2974 | build_subroutines(ctx, cmov, sse); | 2990 | build_subroutines(ctx, cmov, sse); |
2975 | 2991 | ||
2976 | dasm_put(Dst, 15785); | 2992 | dasm_put(Dst, 15826); |
2977 | for (op = 0; op < BC__MAX; op++) | 2993 | for (op = 0; op < BC__MAX; op++) |
2978 | build_ins(ctx, (BCOp)op, op, cmov, sse); | 2994 | build_ins(ctx, (BCOp)op, op, cmov, sse); |
2979 | 2995 | ||
diff --git a/src/buildvm_x86.dasc b/src/buildvm_x86.dasc index f7631d62..17dcae2d 100644 --- a/src/buildvm_x86.dasc +++ b/src/buildvm_x86.dasc | |||
@@ -3753,6 +3753,16 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
3753 | #endif | 3753 | #endif |
3754 | | | 3754 | | |
3755 | |//----------------------------------------------------------------------- | 3755 | |//----------------------------------------------------------------------- |
3756 | |//-- Assertions --------------------------------------------------------- | ||
3757 | |//----------------------------------------------------------------------- | ||
3758 | | | ||
3759 | |->assert_bad_for_arg_type: | ||
3760 | #ifdef LUA_USE_ASSERT | ||
3761 | | int3 | ||
3762 | #endif | ||
3763 | | int3 | ||
3764 | | | ||
3765 | |//----------------------------------------------------------------------- | ||
3756 | } | 3766 | } |
3757 | 3767 | ||
3758 | /* Generate the code for a single instruction. */ | 3768 | /* Generate the code for a single instruction. */ |
@@ -5534,6 +5544,10 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
5534 | | mov RB, dword FOR_IDX | 5544 | | mov RB, dword FOR_IDX |
5535 | | cmp dword FOR_STEP, 0; jl >5 | 5545 | | cmp dword FOR_STEP, 0; jl >5 |
5536 | } else { | 5546 | } else { |
5547 | #ifdef LUA_USE_ASSERT | ||
5548 | | cmp FOR_TSTOP, LJ_TISNUM; jne ->assert_bad_for_arg_type | ||
5549 | | cmp FOR_TSTEP, LJ_TISNUM; jne ->assert_bad_for_arg_type | ||
5550 | #endif | ||
5537 | | mov RB, dword FOR_STEP | 5551 | | mov RB, dword FOR_STEP |
5538 | | test RB, RB; js >5 | 5552 | | test RB, RB; js >5 |
5539 | | add RB, dword FOR_IDX; jo >1 | 5553 | | add RB, dword FOR_IDX; jo >1 |
@@ -5593,6 +5607,11 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
5593 | if (!vk) { | 5607 | if (!vk) { |
5594 | | jae ->vmeta_for | 5608 | | jae ->vmeta_for |
5595 | | cmp FOR_TSTOP, LJ_TISNUM; jae ->vmeta_for | 5609 | | cmp FOR_TSTOP, LJ_TISNUM; jae ->vmeta_for |
5610 | } else { | ||
5611 | #ifdef LUA_USE_ASSERT | ||
5612 | | cmp FOR_TSTOP, LJ_TISNUM; jae ->assert_bad_for_arg_type | ||
5613 | | cmp FOR_TSTEP, LJ_TISNUM; jae ->assert_bad_for_arg_type | ||
5614 | #endif | ||
5596 | } | 5615 | } |
5597 | | mov RB, FOR_TSTEP // Load type/hiword of for step. | 5616 | | mov RB, FOR_TSTEP // Load type/hiword of for step. |
5598 | if (!vk) { | 5617 | if (!vk) { |
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h index 0ce64f41..bc2ef125 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[16904] = { | 15 | static const unsigned char build_actionlist[16945] = { |
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, |
@@ -539,148 +539,148 @@ static const unsigned char build_actionlist[16904] = { | |||
539 | 1,15,137,244,1,248,2,139,139,233,139,147,233,252,255,147,233,137,131,233, | 539 | 1,15,137,244,1,248,2,139,139,233,139,147,233,252,255,147,233,137,131,233, |
540 | 137,147,233,128,187,233,1,15,130,244,253,15,132,244,252,221,155,233,252,233, | 540 | 137,147,233,128,187,233,1,15,130,244,253,15,132,244,252,221,155,233,252,233, |
541 | 244,253,248,6,255,217,155,233,248,7,255,41,163,233,255,139,93,252,252,201, | 541 | 244,253,248,6,255,217,155,233,248,7,255,41,163,233,255,139,93,252,252,201, |
542 | 195,255,249,255,129,124,253,202,4,239,15,133,244,253,129,124,253,194,4,239, | 542 | 195,255,248,162,255,249,255,129,124,253,202,4,239,15,133,244,253,129,124, |
543 | 15,133,244,254,139,44,202,131,198,4,59,44,194,255,15,141,244,255,255,15,140, | 543 | 253,194,4,239,15,133,244,254,139,44,202,131,198,4,59,44,194,255,15,141,244, |
544 | 244,255,255,15,143,244,255,255,15,142,244,255,255,248,6,15,183,70,252,254, | 544 | 255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255,248,6,15, |
545 | 141,180,253,134,233,248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16, | 545 | 183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182,232,131, |
546 | 252,255,36,171,248,7,15,135,244,41,129,124,253,194,4,239,15,130,244,247,15, | 546 | 198,4,193,232,16,252,255,36,171,248,7,15,135,244,41,129,124,253,194,4,239, |
547 | 133,244,41,255,252,242,15,42,4,194,252,233,244,248,255,221,4,202,219,4,194, | 547 | 15,130,244,247,15,133,244,41,255,252,242,15,42,4,194,252,233,244,248,255, |
548 | 252,233,244,249,255,248,8,15,135,244,41,255,252,242,15,42,12,202,252,242, | 548 | 221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,41,255,252,242,15, |
549 | 15,16,4,194,131,198,4,102,15,46,193,255,15,134,244,9,255,15,135,244,9,255, | 549 | 42,12,202,252,242,15,16,4,194,131,198,4,102,15,46,193,255,15,134,244,9,255, |
550 | 15,130,244,9,255,15,131,244,9,255,252,233,244,6,255,219,4,202,252,233,244, | 550 | 15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255,219, |
551 | 248,255,129,124,253,202,4,239,15,131,244,41,129,124,253,194,4,239,15,131, | 551 | 4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,41,129,124,253, |
552 | 244,41,255,248,1,252,242,15,16,4,194,248,2,131,198,4,102,15,46,4,202,248, | 552 | 194,4,239,15,131,244,41,255,248,1,252,242,15,16,4,194,248,2,131,198,4,102, |
553 | 3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4,255,15,134,244,247, | 553 | 15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4,255, |
554 | 255,15,135,244,247,255,15,130,244,247,255,15,131,244,247,255,15,183,70,252, | 554 | 15,134,244,247,255,15,135,244,247,255,15,130,244,247,255,15,131,244,247,255, |
555 | 254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232, | 555 | 15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131, |
556 | 16,252,255,36,171,255,139,108,194,4,131,198,4,255,129,252,253,239,15,133, | 556 | 198,4,193,232,16,252,255,36,171,255,139,108,194,4,131,198,4,255,129,252,253, |
557 | 244,253,129,124,253,202,4,239,15,133,244,254,139,44,194,59,44,202,255,15, | 557 | 239,15,133,244,253,129,124,253,202,4,239,15,133,244,254,139,44,194,59,44, |
558 | 133,244,255,255,15,132,244,255,255,15,183,70,252,254,141,180,253,134,233, | 558 | 202,255,15,133,244,255,255,15,132,244,255,255,15,183,70,252,254,141,180,253, |
559 | 248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, | 559 | 134,233,248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, |
560 | 7,15,135,244,251,129,124,253,202,4,239,15,130,244,247,15,133,244,251,255, | 560 | 171,248,7,15,135,244,251,129,124,253,202,4,239,15,130,244,247,15,133,244, |
561 | 252,242,15,42,4,202,255,219,4,202,255,252,233,244,248,248,8,15,135,244,251, | 561 | 251,255,252,242,15,42,4,202,255,219,4,202,255,252,233,244,248,248,8,15,135, |
562 | 255,252,242,15,42,4,194,102,15,46,4,202,255,219,4,194,221,4,202,255,252,233, | 562 | 244,251,255,252,242,15,42,4,194,102,15,46,4,202,255,219,4,194,221,4,202,255, |
563 | 244,250,255,129,252,253,239,15,131,244,251,129,124,253,202,4,239,15,131,244, | 563 | 252,233,244,250,255,129,252,253,239,15,131,244,251,129,124,253,202,4,239, |
564 | 251,255,248,1,252,242,15,16,4,202,248,2,102,15,46,4,194,248,4,255,248,1,221, | 564 | 15,131,244,251,255,248,1,252,242,15,16,4,202,248,2,102,15,46,4,194,248,4, |
565 | 4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15,138, | 565 | 255,248,1,221,4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248, |
566 | 244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,248, | 566 | 255,15,138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253, |
567 | 2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252,233,244,9, | 567 | 134,233,248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252, |
568 | 255,248,5,255,129,252,253,239,15,132,244,46,129,124,253,202,4,239,15,132, | 568 | 233,244,9,255,248,5,255,129,252,253,239,15,132,244,46,129,124,253,202,4,239, |
569 | 244,46,255,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12, | 569 | 15,132,244,46,255,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1, |
570 | 202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233, | 570 | 139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139, |
571 | 133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237, | 571 | 169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49, |
572 | 255,189,1,0,0,0,255,252,233,244,45,255,248,3,129,252,253,239,255,15,133,244, | 572 | 252,237,255,189,1,0,0,0,255,252,233,244,45,255,248,3,129,252,253,239,255, |
573 | 9,255,252,233,244,46,255,252,247,208,139,108,202,4,131,198,4,129,252,253, | 573 | 15,133,244,9,255,252,233,244,46,255,252,247,208,139,108,202,4,131,198,4,129, |
574 | 239,15,133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,4,255,129, | 574 | 252,253,239,15,133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198, |
575 | 252,253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,254,139,44,199, | 575 | 4,255,129,252,253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,254, |
576 | 59,44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204, | 576 | 139,44,199,59,44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139, |
577 | 15,182,232,131,198,4,193,232,16,252,255,36,171,248,7,15,135,244,249,129,124, | 577 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,7,15,135, |
578 | 253,199,4,239,15,130,244,247,255,252,242,15,42,4,199,255,219,4,199,255,252, | 578 | 244,249,129,124,253,199,4,239,15,130,244,247,255,252,242,15,42,4,199,255, |
579 | 233,244,248,248,8,255,252,242,15,42,4,202,102,15,46,4,199,255,219,4,202,221, | 579 | 219,4,199,255,252,233,244,248,248,8,255,252,242,15,42,4,202,102,15,46,4,199, |
580 | 4,199,255,129,252,253,239,15,131,244,249,255,248,1,252,242,15,16,4,199,248, | 580 | 255,219,4,202,221,4,199,255,129,252,253,239,15,131,244,249,255,248,1,252, |
581 | 2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,2,221,4,202,248,4,255,252, | 581 | 242,15,16,4,199,248,2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,2,221, |
582 | 247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,252,254, | 582 | 4,202,248,4,255,252,247,208,139,108,202,4,131,198,4,57,197,255,15,133,244, |
583 | 141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16, | 583 | 249,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232, |
584 | 252,255,36,171,248,3,129,252,253,239,15,133,244,2,252,233,244,46,255,15,132, | 584 | 131,198,4,193,232,16,252,255,36,171,248,3,129,252,253,239,15,133,244,2,252, |
585 | 244,248,129,252,253,239,15,132,244,46,15,183,70,252,254,141,180,253,134,233, | 585 | 233,244,46,255,15,132,244,248,129,252,253,239,15,132,244,46,15,183,70,252, |
586 | 248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, | 586 | 254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232, |
587 | 139,108,194,4,131,198,4,129,252,253,239,255,137,108,202,4,139,44,194,137, | 587 | 16,252,255,36,171,255,139,108,194,4,131,198,4,129,252,253,239,255,137,108, |
588 | 44,202,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,15,182,204, | 588 | 202,4,139,44,194,137,44,202,255,139,108,194,4,139,4,194,137,108,202,4,137, |
589 | 15,182,232,131,198,4,193,232,16,252,255,36,171,255,49,252,237,129,124,253, | 589 | 4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, |
590 | 194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4, | 590 | 49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,204, |
591 | 193,232,16,252,255,36,171,255,129,124,253,194,4,239,15,133,244,251,139,44, | 591 | 15,182,232,131,198,4,193,232,16,252,255,36,171,255,129,124,253,194,4,239, |
592 | 194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,6,15, | 592 | 15,133,244,251,139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,137, |
593 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,199,68,202,4, | 593 | 44,202,248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, |
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, | 594 | 171,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15, |
595 | 253,194,4,239,15,131,244,51,255,252,242,15,16,4,194,184,0,0,0,128,102,15, | 595 | 135,244,51,255,129,124,253,194,4,239,15,131,244,51,255,252,242,15,16,4,194, |
596 | 110,200,102,15,112,201,81,15,87,193,252,242,15,17,4,202,255,221,4,194,217, | 596 | 184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,242,15,17,4, |
597 | 224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139, | 597 | 202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244, |
598 | 128,233,248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128, | 598 | 248,139,4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255,15,87, |
599 | 233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6, | 599 | 192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1, |
600 | 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,124,253, | 600 | 221,28,202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, |
601 | 194,4,239,15,133,244,54,139,12,194,137,213,232,251,1,20,255,252,242,15,42, | 601 | 171,248,2,129,124,253,194,4,239,15,133,244,54,139,12,194,137,213,232,251, |
602 | 192,255,137,4,36,219,4,36,255,137,252,234,15,182,78,252,253,252,233,244,1, | 602 | 1,20,255,252,242,15,42,192,255,137,4,36,219,4,36,255,137,252,234,15,182,78, |
603 | 255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,133,244,48, | 603 | 252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234, |
604 | 129,124,253,199,4,239,15,133,244,48,139,44,252,234,3,44,199,15,128,244,47, | 604 | 4,239,15,133,244,48,129,124,253,199,4,239,15,133,244,48,139,44,252,234,3, |
605 | 255,129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133, | 605 | 44,199,15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,50,129,124, |
606 | 244,50,139,4,199,3,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239, | 606 | 253,199,4,239,15,133,244,50,139,4,199,3,4,252,234,15,128,244,49,255,129,124, |
607 | 15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,3,44,194, | 607 | 253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44, |
608 | 15,128,244,52,255,199,68,202,4,237,255,129,124,253,252,234,4,239,15,131,244, | 608 | 252,234,3,44,194,15,128,244,52,255,199,68,202,4,237,255,129,124,253,252,234, |
609 | 48,255,129,124,253,199,4,239,15,131,244,48,255,252,242,15,16,4,252,234,252, | 609 | 4,239,15,131,244,48,255,129,124,253,199,4,239,15,131,244,48,255,252,242,15, |
610 | 242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,4,239, | 610 | 16,4,252,234,252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124, |
611 | 15,131,244,50,255,129,124,253,199,4,239,15,131,244,50,255,252,242,15,16,4, | 611 | 253,252,234,4,239,15,131,244,50,255,129,124,253,199,4,239,15,131,244,50,255, |
612 | 199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124,253,252, | 612 | 252,242,15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255, |
613 | 234,4,239,15,131,244,53,129,124,253,194,4,239,15,131,244,53,255,252,242,15, | 613 | 129,124,253,252,234,4,239,15,131,244,53,129,124,253,194,4,239,15,131,244, |
614 | 16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,129,124, | 614 | 53,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220, |
615 | 253,252,234,4,239,15,133,244,48,129,124,253,199,4,239,15,133,244,48,139,44, | 615 | 4,194,255,129,124,253,252,234,4,239,15,133,244,48,129,124,253,199,4,239,15, |
616 | 252,234,43,44,199,15,128,244,47,255,129,124,253,252,234,4,239,15,133,244, | 616 | 133,244,48,139,44,252,234,43,44,199,15,128,244,47,255,129,124,253,252,234, |
617 | 50,129,124,253,199,4,239,15,133,244,50,139,4,199,43,4,252,234,15,128,244, | 617 | 4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,4,199,43,4,252, |
618 | 49,255,129,124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133, | 618 | 234,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,53,129,124,253, |
619 | 244,53,139,44,252,234,43,44,194,15,128,244,52,255,252,242,15,16,4,252,234, | 619 | 194,4,239,15,133,244,53,139,44,252,234,43,44,194,15,128,244,52,255,252,242, |
620 | 252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4,199, | 620 | 15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,252, |
621 | 252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16,4, | 621 | 242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,255, |
622 | 252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,129,124,253, | 622 | 252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,194, |
623 | 252,234,4,239,15,133,244,48,129,124,253,199,4,239,15,133,244,48,139,44,252, | 623 | 255,129,124,253,252,234,4,239,15,133,244,48,129,124,253,199,4,239,15,133, |
624 | 234,15,175,44,199,15,128,244,47,255,129,124,253,252,234,4,239,15,133,244, | 624 | 244,48,139,44,252,234,15,175,44,199,15,128,244,47,255,129,124,253,252,234, |
625 | 50,129,124,253,199,4,239,15,133,244,50,139,4,199,15,175,4,252,234,15,128, | 625 | 4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,4,199,15,175, |
626 | 244,49,255,129,124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239, | 626 | 4,252,234,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,53,129,124, |
627 | 15,133,244,53,139,44,252,234,15,175,44,194,15,128,244,52,255,252,242,15,16, | 627 | 253,194,4,239,15,133,244,53,139,44,252,234,15,175,44,194,15,128,244,52,255, |
628 | 4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199,255,252,242,15, | 628 | 252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199, |
629 | 16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252,234,255,252,242, | 629 | 255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252, |
630 | 15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252, | 630 | 234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220, |
631 | 242,15,16,4,252,234,252,242,15,94,4,199,255,221,4,252,234,220,52,199,255, | 631 | 12,194,255,252,242,15,16,4,252,234,252,242,15,94,4,199,255,221,4,252,234, |
632 | 252,242,15,16,4,199,252,242,15,94,4,252,234,255,221,4,199,220,52,252,234, | 632 | 220,52,199,255,252,242,15,16,4,199,252,242,15,94,4,252,234,255,221,4,199, |
633 | 255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52, | 633 | 220,52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4, |
634 | 194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221,4,252,234,221, | 634 | 252,234,220,52,194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221, |
635 | 4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255,221,4,199,221, | 635 | 4,252,234,221,4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255, |
636 | 4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252, | 636 | 221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194, |
637 | 234,221,4,194,255,248,162,232,244,153,255,252,233,244,162,255,232,244,113, | 637 | 255,221,4,252,234,221,4,194,255,248,163,232,244,153,255,252,233,244,163,255, |
638 | 255,15,182,252,236,15,182,192,141,12,194,41,232,137,76,36,4,137,68,36,8,248, | 638 | 232,244,113,255,15,182,252,236,15,182,192,141,12,194,41,232,137,76,36,4,137, |
639 | 33,139,108,36,48,137,44,36,137,149,233,137,116,36,24,232,251,1,27,139,149, | 639 | 68,36,8,248,33,139,108,36,48,137,44,36,137,149,233,137,116,36,24,232,251, |
640 | 233,133,192,15,133,244,42,15,182,110,252,255,15,182,78,252,253,139,68,252, | 640 | 1,27,139,149,233,133,192,15,133,244,42,15,182,110,252,255,15,182,78,252,253, |
641 | 234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232, | 641 | 139,68,252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,15,182,204, |
642 | 131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,4,135,199,68,202, | 642 | 15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,4,135, |
643 | 4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, | 643 | 199,68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232, |
644 | 36,171,255,15,191,192,199,68,202,4,237,137,4,202,255,15,191,192,252,242,15, | 644 | 16,252,255,36,171,255,15,191,192,199,68,202,4,237,137,4,202,255,15,191,192, |
645 | 42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,15,16, | 645 | 252,242,15,42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252, |
646 | 4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,252,247,208,137,68, | 646 | 242,15,16,4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,252,247, |
647 | 202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, | 647 | 208,137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, |
648 | 141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8, | 648 | 36,171,255,141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41, |
649 | 57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, | 649 | 131,193,8,57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,232, |
650 | 255,36,171,255,139,106,252,248,139,172,253,133,233,139,173,233,139,69,4,139, | 650 | 16,252,255,36,171,255,139,106,252,248,139,172,253,133,233,139,173,233,139, |
651 | 109,0,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232, | 651 | 69,4,139,109,0,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,131,198, |
652 | 16,252,255,36,171,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139, | 652 | 4,193,232,16,252,255,36,171,255,139,106,252,248,139,172,253,141,233,128,189, |
653 | 173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246, | 653 | 233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247, |
654 | 133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193, | 654 | 252,246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131, |
655 | 232,16,252,255,36,171,248,2,129,232,239,129,252,248,239,15,134,244,1,252, | 655 | 198,4,193,232,16,252,255,36,171,248,2,129,232,239,129,252,248,239,15,134, |
656 | 246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1,28,137,252, | 656 | 244,1,252,246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1, |
657 | 234,252,233,244,1,255,252,247,208,139,106,252,248,139,172,253,141,233,139, | 657 | 28,137,252,234,252,233,244,1,255,252,247,208,139,106,252,248,139,172,253, |
658 | 12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248, | 658 | 141,233,139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15, |
659 | 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, | 659 | 133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, |
660 | 2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137, | 660 | 36,171,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1, |
661 | 194,141,139,233,232,251,1,28,137,252,234,252,233,244,1,255,139,106,252,248, | 661 | 137,213,137,194,141,139,233,232,251,1,28,137,252,234,252,233,244,1,255,139, |
662 | 255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15, | 662 | 106,252,248,255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233,255, |
663 | 17,1,255,221,25,255,252,247,208,139,106,252,248,139,172,253,141,233,139,141, | 663 | 252,242,15,17,1,255,221,25,255,252,247,208,139,106,252,248,139,172,253,141, |
664 | 233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, | 664 | 233,139,141,233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16, |
665 | 171,255,141,180,253,134,233,139,108,36,48,131,189,233,0,15,132,244,247,137, | 665 | 252,255,36,171,255,141,180,253,134,233,139,108,36,48,131,189,233,0,15,132, |
666 | 149,233,141,20,202,137,252,233,232,251,1,29,139,149,233,248,1,139,6,15,182, | 666 | 244,247,137,149,233,141,20,202,137,252,233,232,251,1,29,139,149,233,248,1, |
667 | 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,74, | 667 | 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247, |
668 | 252,248,139,4,135,139,108,36,48,137,76,36,8,137,68,36,4,137,44,36,137,149, | 668 | 208,139,74,252,248,139,4,135,139,108,36,48,137,76,36,8,137,68,36,4,137,44, |
669 | 233,137,116,36,24,232,251,1,30,139,149,233,15,182,78,252,253,137,4,202,199, | 669 | 36,137,149,233,137,116,36,24,232,251,1,30,139,149,233,15,182,78,252,253,137, |
670 | 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, | 670 | 4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, |
671 | 171,255,139,108,36,48,137,149,233,139,139,233,59,139,233,137,116,36,24,15, | 671 | 255,36,171,255,139,108,36,48,137,149,233,139,139,233,59,139,233,137,116,36, |
672 | 131,244,251,248,1,137,193,37,252,255,7,0,0,193,252,233,11,137,76,36,8,61, | 672 | 24,15,131,244,251,248,1,137,193,37,252,255,7,0,0,193,252,233,11,137,76,36, |
673 | 252,255,7,0,0,15,132,244,249,248,2,137,44,36,137,68,36,4,232,251,1,31,139, | 673 | 8,61,252,255,7,0,0,15,132,244,249,248,2,137,44,36,137,68,36,4,232,251,1,31, |
674 | 149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15, | 674 | 139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204, |
675 | 182,232,131,198,4,193,232,16,252,255,36,171,248,3,184,1,8,0,0,252,233,244, | 675 | 15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,184,1,8,0,0,252,233, |
676 | 2,248,5,137,252,233,232,251,1,32,15,183,70,252,254,252,233,244,1,255,252, | 676 | 244,2,248,5,137,252,233,232,251,1,32,15,183,70,252,254,252,233,244,1,255, |
677 | 247,208,139,108,36,48,139,139,233,137,116,36,24,59,139,233,137,149,233,15, | 677 | 252,247,208,139,108,36,48,139,139,233,137,116,36,24,59,139,233,137,149,233, |
678 | 131,244,249,248,2,139,20,135,137,252,233,232,251,1,33,139,149,233,15,182, | 678 | 15,131,244,249,248,2,139,20,135,137,252,233,232,251,1,33,139,149,233,15,182, |
679 | 78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198, | 679 | 78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198, |
680 | 4,193,232,16,252,255,36,171,248,3,137,252,233,232,251,1,32,15,183,70,252, | 680 | 4,193,232,16,252,255,36,171,248,3,137,252,233,232,251,1,32,15,183,70,252, |
681 | 254,252,247,208,252,233,244,2,255,252,247,208,139,106,252,248,139,173,233, | 681 | 254,252,247,208,252,233,244,2,255,252,247,208,139,106,252,248,139,173,233, |
682 | 139,4,135,252,233,244,163,255,252,247,208,139,106,252,248,139,173,233,139, | 682 | 139,4,135,252,233,244,164,255,252,247,208,139,106,252,248,139,173,233,139, |
683 | 4,135,252,233,244,164,255,15,182,252,236,15,182,192,129,124,253,252,234,4, | 683 | 4,135,252,233,244,165,255,15,182,252,236,15,182,192,129,124,253,252,234,4, |
684 | 239,15,133,244,36,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251, | 684 | 239,15,133,244,36,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251, |
685 | 139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194, | 685 | 139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194, |
686 | 252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,221,4,194,219,20,36, | 686 | 252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,221,4,194,219,20,36, |
@@ -689,9 +689,9 @@ static const unsigned char build_actionlist[16904] = { | |||
689 | 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, | 689 | 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, |
690 | 2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244, | 690 | 2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244, |
691 | 36,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,248,5,255,129,124, | 691 | 36,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,248,5,255,129,124, |
692 | 253,194,4,239,15,133,244,36,139,4,194,252,233,244,163,255,15,182,252,236, | 692 | 253,194,4,239,15,133,244,36,139,4,194,252,233,244,164,255,15,182,252,236, |
693 | 15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,34, | 693 | 15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,34, |
694 | 139,44,252,234,248,163,139,141,233,35,136,233,105,201,239,3,141,233,248,1, | 694 | 139,44,252,234,248,164,139,141,233,35,136,233,105,201,239,3,141,233,248,1, |
695 | 129,185,233,239,15,133,244,250,57,129,233,15,133,244,250,129,121,253,4,239, | 695 | 129,185,233,239,15,133,244,250,57,129,233,15,133,244,250,129,121,253,4,239, |
696 | 15,132,244,251,15,182,70,252,253,139,41,139,73,4,137,44,194,137,76,194,4, | 696 | 15,132,244,251,15,182,70,252,253,139,41,139,73,4,137,44,194,137,76,194,4, |
697 | 248,2,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171, | 697 | 248,2,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171, |
@@ -709,10 +709,10 @@ static const unsigned char build_actionlist[16904] = { | |||
709 | 248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232, | 709 | 248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232, |
710 | 131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139, | 710 | 131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139, |
711 | 141,233,252,246,129,233,235,255,15,132,244,39,15,182,78,252,253,252,233,244, | 711 | 141,233,252,246,129,233,235,255,15,132,244,39,15,182,78,252,253,252,233,244, |
712 | 1,248,5,129,124,253,194,4,239,15,133,244,39,139,4,194,252,233,244,164,248, | 712 | 1,248,5,129,124,253,194,4,239,15,133,244,39,139,4,194,252,233,244,165,248, |
713 | 7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252, | 713 | 7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252, |
714 | 233,244,2,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,253, | 714 | 233,244,2,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,253, |
715 | 252,234,4,239,15,133,244,37,139,44,252,234,248,164,139,141,233,35,136,233, | 715 | 252,234,4,239,15,133,244,37,139,44,252,234,248,165,139,141,233,35,136,233, |
716 | 105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251, | 716 | 105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251, |
717 | 57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,252, | 717 | 57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,252, |
718 | 246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194,4,139, | 718 | 246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194,4,139, |
@@ -793,31 +793,33 @@ static const unsigned char build_actionlist[16904] = { | |||
793 | 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,145, | 793 | 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,145, |
794 | 255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,129,121,253,12,239, | 794 | 255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,129,121,253,12,239, |
795 | 15,133,244,57,129,121,253,20,239,15,133,244,57,139,41,131,121,16,0,15,140, | 795 | 15,133,244,57,129,121,253,20,239,15,133,244,57,139,41,131,121,16,0,15,140, |
796 | 244,251,255,139,105,16,133,252,237,15,136,244,251,3,41,15,128,244,247,137, | 796 | 244,251,255,129,121,253,12,239,15,133,244,162,129,121,253,20,239,15,133,244, |
797 | 41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,253,248,1,248,6,141, | 797 | 162,255,139,105,16,133,252,237,15,136,244,251,3,41,15,128,244,247,137,41, |
798 | 255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,253,248,1,248,6,141, | ||
798 | 180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,142,245,248, | 799 | 180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,142,245,248, |
799 | 1,248,6,255,15,143,244,253,248,6,141,180,253,134,233,248,1,255,248,7,139, | 800 | 1,248,6,255,15,143,244,253,248,6,141,180,253,134,233,248,1,255,248,7,139, |
800 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,255,3,41, | 801 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,255,3,41, |
801 | 15,128,244,1,137,41,255,15,141,244,7,255,141,180,253,134,233,15,183,70,252, | 802 | 15,128,244,1,137,41,255,15,141,244,7,255,141,180,253,134,233,15,183,70,252, |
802 | 254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,9,255,129,121,253,4, | 803 | 254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,9,255,129,121,253,4, |
803 | 239,255,15,131,244,57,129,121,253,12,239,15,131,244,57,255,139,105,20,255, | 804 | 239,255,15,131,244,57,129,121,253,12,239,15,131,244,57,255,129,121,253,12, |
804 | 129,252,253,239,15,131,244,57,255,252,242,15,16,1,252,242,15,16,73,8,255, | 805 | 239,15,131,244,162,129,121,253,20,239,15,131,244,162,255,139,105,20,255,129, |
805 | 252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,15,140, | 806 | 252,253,239,15,131,244,57,255,252,242,15,16,1,252,242,15,16,73,8,255,252, |
806 | 244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,1,255, | 807 | 242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,15,140,244, |
807 | 220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140, | 808 | 249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,220, |
808 | 244,247,255,217,201,248,1,255,15,183,70,252,254,255,15,131,244,7,255,15,131, | 809 | 65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140,244, |
809 | 244,248,141,180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15, | 810 | 247,255,217,201,248,1,255,15,183,70,252,254,255,15,131,244,7,255,15,131,244, |
810 | 131,245,255,15,130,244,7,255,15,130,244,248,141,180,253,134,233,255,248,3, | 811 | 248,141,180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,131, |
811 | 102,15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,132, | 812 | 245,255,15,130,244,7,255,15,130,244,248,141,180,253,134,233,255,248,3,102, |
812 | 244,247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,255,141,180, | 813 | 15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,132,244, |
813 | 253,134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129, | 814 | 247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,255,141,180,253, |
814 | 139,128,233,139,108,36,48,137,147,233,137,171,233,252,255,224,255,141,180, | 815 | 134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,139, |
815 | 253,134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171, | 816 | 128,233,139,108,36,48,137,147,233,137,171,233,252,255,224,255,141,180,253, |
816 | 255,137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244, | 817 | 134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, |
817 | 147,255,139,190,233,139,108,36,48,141,12,202,59,141,233,15,135,244,23,15, | 818 | 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,147, |
818 | 182,142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245, | 819 | 255,139,190,233,139,108,36,48,141,12,202,59,141,233,15,135,244,23,15,182, |
819 | 255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244, | 820 | 142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255, |
820 | 2,255,141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252, | 821 | 248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2, |
822 | 255,141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252, | ||
821 | 248,139,108,36,48,141,12,200,59,141,233,15,135,244,22,137,209,137,194,15, | 823 | 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, | 824 | 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, | 825 | 249,139,121,252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252, |
@@ -983,6 +985,7 @@ enum { | |||
983 | GLOB_vm_foldarith, | 985 | GLOB_vm_foldarith, |
984 | GLOB_vm_cpuid, | 986 | GLOB_vm_cpuid, |
985 | GLOB_vm_ffi_call, | 987 | GLOB_vm_ffi_call, |
988 | GLOB_assert_bad_for_arg_type, | ||
986 | GLOB_BC_MODVN_Z, | 989 | GLOB_BC_MODVN_Z, |
987 | GLOB_BC_TGETS_Z, | 990 | GLOB_BC_TGETS_Z, |
988 | GLOB_BC_TSETS_Z, | 991 | GLOB_BC_TSETS_Z, |
@@ -1141,6 +1144,7 @@ static const char *const globnames[] = { | |||
1141 | "vm_foldarith", | 1144 | "vm_foldarith", |
1142 | "vm_cpuid", | 1145 | "vm_cpuid", |
1143 | "vm_ffi_call@4", | 1146 | "vm_ffi_call@4", |
1147 | "assert_bad_for_arg_type", | ||
1144 | "BC_MODVN_Z", | 1148 | "BC_MODVN_Z", |
1145 | "BC_TGETS_Z", | 1149 | "BC_TGETS_Z", |
1146 | "BC_TSETS_Z", | 1150 | "BC_TSETS_Z", |
@@ -1961,13 +1965,18 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1961 | #endif | 1965 | #endif |
1962 | dasm_put(Dst, 10916); | 1966 | dasm_put(Dst, 10916); |
1963 | #endif | 1967 | #endif |
1968 | dasm_put(Dst, 10923); | ||
1969 | #ifdef LUA_USE_ASSERT | ||
1970 | dasm_put(Dst, 10303); | ||
1971 | #endif | ||
1972 | dasm_put(Dst, 10303); | ||
1964 | } | 1973 | } |
1965 | 1974 | ||
1966 | /* Generate the code for a single instruction. */ | 1975 | /* Generate the code for a single instruction. */ |
1967 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | 1976 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) |
1968 | { | 1977 | { |
1969 | int vk = 0; | 1978 | int vk = 0; |
1970 | dasm_put(Dst, 10923, defop); | 1979 | dasm_put(Dst, 10926, defop); |
1971 | 1980 | ||
1972 | switch (op) { | 1981 | switch (op) { |
1973 | 1982 | ||
@@ -1978,57 +1987,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
1978 | 1987 | ||
1979 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: | 1988 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: |
1980 | if (LJ_DUALNUM) { | 1989 | if (LJ_DUALNUM) { |
1981 | dasm_put(Dst, 10925, LJ_TISNUM, LJ_TISNUM); | 1990 | dasm_put(Dst, 10928, LJ_TISNUM, LJ_TISNUM); |
1982 | switch (op) { | 1991 | switch (op) { |
1983 | case BC_ISLT: | 1992 | case BC_ISLT: |
1984 | dasm_put(Dst, 10955); | 1993 | dasm_put(Dst, 10958); |
1985 | break; | 1994 | break; |
1986 | case BC_ISGE: | 1995 | case BC_ISGE: |
1987 | dasm_put(Dst, 10960); | 1996 | dasm_put(Dst, 10963); |
1988 | break; | 1997 | break; |
1989 | case BC_ISLE: | 1998 | case BC_ISLE: |
1990 | dasm_put(Dst, 10965); | 1999 | dasm_put(Dst, 10968); |
1991 | break; | 2000 | break; |
1992 | case BC_ISGT: | 2001 | case BC_ISGT: |
1993 | dasm_put(Dst, 10970); | 2002 | dasm_put(Dst, 10973); |
1994 | break; | 2003 | break; |
1995 | default: break; /* Shut up GCC. */ | 2004 | default: break; /* Shut up GCC. */ |
1996 | } | 2005 | } |
1997 | dasm_put(Dst, 10975, -BCBIAS_J*4, LJ_TISNUM); | 2006 | dasm_put(Dst, 10978, -BCBIAS_J*4, LJ_TISNUM); |
1998 | if (sse) { | 2007 | if (sse) { |
1999 | dasm_put(Dst, 11028); | 2008 | dasm_put(Dst, 11031); |
2000 | } else { | 2009 | } else { |
2001 | dasm_put(Dst, 11039); | 2010 | dasm_put(Dst, 11042); |
2002 | } | 2011 | } |
2003 | dasm_put(Dst, 11050); | 2012 | dasm_put(Dst, 11053); |
2004 | if (sse) { | 2013 | if (sse) { |
2005 | dasm_put(Dst, 11057); | 2014 | dasm_put(Dst, 11060); |
2006 | switch (op) { | 2015 | switch (op) { |
2007 | case BC_ISLT: | 2016 | case BC_ISLT: |
2008 | dasm_put(Dst, 11077); | 2017 | dasm_put(Dst, 11080); |
2009 | break; | 2018 | break; |
2010 | case BC_ISGE: | 2019 | case BC_ISGE: |
2011 | dasm_put(Dst, 11082); | 2020 | dasm_put(Dst, 11085); |
2012 | break; | 2021 | break; |
2013 | case BC_ISLE: | 2022 | case BC_ISLE: |
2014 | dasm_put(Dst, 11087); | 2023 | dasm_put(Dst, 11090); |
2015 | break; | 2024 | break; |
2016 | case BC_ISGT: | 2025 | case BC_ISGT: |
2017 | dasm_put(Dst, 11092); | 2026 | dasm_put(Dst, 11095); |
2018 | break; | 2027 | break; |
2019 | default: break; /* Shut up GCC. */ | 2028 | default: break; /* Shut up GCC. */ |
2020 | } | 2029 | } |
2021 | dasm_put(Dst, 11097); | 2030 | dasm_put(Dst, 11100); |
2022 | } else { | 2031 | } else { |
2023 | dasm_put(Dst, 11102); | 2032 | dasm_put(Dst, 11105); |
2024 | } | 2033 | } |
2025 | } else { | 2034 | } else { |
2026 | dasm_put(Dst, 11110, LJ_TISNUM, LJ_TISNUM); | 2035 | dasm_put(Dst, 11113, LJ_TISNUM, LJ_TISNUM); |
2027 | } | 2036 | } |
2028 | if (sse) { | 2037 | if (sse) { |
2029 | dasm_put(Dst, 11131); | 2038 | dasm_put(Dst, 11134); |
2030 | } else { | 2039 | } else { |
2031 | dasm_put(Dst, 11152); | 2040 | dasm_put(Dst, 11155); |
2032 | if (cmov) { | 2041 | if (cmov) { |
2033 | dasm_put(Dst, 3899); | 2042 | dasm_put(Dst, 3899); |
2034 | } else { | 2043 | } else { |
@@ -2038,70 +2047,70 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2038 | if (LJ_DUALNUM) { | 2047 | if (LJ_DUALNUM) { |
2039 | switch (op) { | 2048 | switch (op) { |
2040 | case BC_ISLT: | 2049 | case BC_ISLT: |
2041 | dasm_put(Dst, 11077); | 2050 | dasm_put(Dst, 11080); |
2042 | break; | 2051 | break; |
2043 | case BC_ISGE: | 2052 | case BC_ISGE: |
2044 | dasm_put(Dst, 11082); | 2053 | dasm_put(Dst, 11085); |
2045 | break; | 2054 | break; |
2046 | case BC_ISLE: | 2055 | case BC_ISLE: |
2047 | dasm_put(Dst, 11087); | 2056 | dasm_put(Dst, 11090); |
2048 | break; | 2057 | break; |
2049 | case BC_ISGT: | 2058 | case BC_ISGT: |
2050 | dasm_put(Dst, 11092); | 2059 | dasm_put(Dst, 11095); |
2051 | break; | 2060 | break; |
2052 | default: break; /* Shut up GCC. */ | 2061 | default: break; /* Shut up GCC. */ |
2053 | } | 2062 | } |
2054 | dasm_put(Dst, 11097); | 2063 | dasm_put(Dst, 11100); |
2055 | } else { | 2064 | } else { |
2056 | switch (op) { | 2065 | switch (op) { |
2057 | case BC_ISLT: | 2066 | case BC_ISLT: |
2058 | dasm_put(Dst, 11168); | 2067 | dasm_put(Dst, 11171); |
2059 | break; | 2068 | break; |
2060 | case BC_ISGE: | 2069 | case BC_ISGE: |
2061 | dasm_put(Dst, 11173); | 2070 | dasm_put(Dst, 11176); |
2062 | break; | 2071 | break; |
2063 | case BC_ISLE: | 2072 | case BC_ISLE: |
2064 | dasm_put(Dst, 11178); | 2073 | dasm_put(Dst, 11181); |
2065 | break; | 2074 | break; |
2066 | case BC_ISGT: | 2075 | case BC_ISGT: |
2067 | dasm_put(Dst, 11183); | 2076 | dasm_put(Dst, 11186); |
2068 | break; | 2077 | break; |
2069 | default: break; /* Shut up GCC. */ | 2078 | default: break; /* Shut up GCC. */ |
2070 | } | 2079 | } |
2071 | dasm_put(Dst, 11188, -BCBIAS_J*4); | 2080 | dasm_put(Dst, 11191, -BCBIAS_J*4); |
2072 | } | 2081 | } |
2073 | break; | 2082 | break; |
2074 | 2083 | ||
2075 | case BC_ISEQV: case BC_ISNEV: | 2084 | case BC_ISEQV: case BC_ISNEV: |
2076 | vk = op == BC_ISEQV; | 2085 | vk = op == BC_ISEQV; |
2077 | dasm_put(Dst, 11219); | 2086 | dasm_put(Dst, 11222); |
2078 | if (LJ_DUALNUM) { | 2087 | if (LJ_DUALNUM) { |
2079 | dasm_put(Dst, 11227, LJ_TISNUM, LJ_TISNUM); | 2088 | dasm_put(Dst, 11230, LJ_TISNUM, LJ_TISNUM); |
2080 | if (vk) { | 2089 | if (vk) { |
2081 | dasm_put(Dst, 11252); | 2090 | dasm_put(Dst, 11255); |
2082 | } else { | 2091 | } else { |
2083 | dasm_put(Dst, 11257); | 2092 | dasm_put(Dst, 11260); |
2084 | } | 2093 | } |
2085 | dasm_put(Dst, 11262, -BCBIAS_J*4, LJ_TISNUM); | 2094 | dasm_put(Dst, 11265, -BCBIAS_J*4, LJ_TISNUM); |
2086 | if (sse) { | 2095 | if (sse) { |
2087 | dasm_put(Dst, 11313); | 2096 | dasm_put(Dst, 11316); |
2088 | } else { | 2097 | } else { |
2089 | dasm_put(Dst, 11320); | 2098 | dasm_put(Dst, 11323); |
2090 | } | 2099 | } |
2091 | dasm_put(Dst, 11324); | 2100 | dasm_put(Dst, 11327); |
2092 | if (sse) { | 2101 | if (sse) { |
2093 | dasm_put(Dst, 11335); | 2102 | dasm_put(Dst, 11338); |
2094 | } else { | 2103 | } else { |
2095 | dasm_put(Dst, 11347); | 2104 | dasm_put(Dst, 11350); |
2096 | } | 2105 | } |
2097 | dasm_put(Dst, 11354); | 2106 | dasm_put(Dst, 11357); |
2098 | } else { | 2107 | } else { |
2099 | dasm_put(Dst, 11359, LJ_TISNUM, LJ_TISNUM); | 2108 | dasm_put(Dst, 11362, LJ_TISNUM, LJ_TISNUM); |
2100 | } | 2109 | } |
2101 | if (sse) { | 2110 | if (sse) { |
2102 | dasm_put(Dst, 11378); | 2111 | dasm_put(Dst, 11381); |
2103 | } else { | 2112 | } else { |
2104 | dasm_put(Dst, 11396); | 2113 | dasm_put(Dst, 11399); |
2105 | if (cmov) { | 2114 | if (cmov) { |
2106 | dasm_put(Dst, 3899); | 2115 | dasm_put(Dst, 3899); |
2107 | } else { | 2116 | } else { |
@@ -2110,13 +2119,13 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2110 | } | 2119 | } |
2111 | iseqne_fp: | 2120 | iseqne_fp: |
2112 | if (vk) { | 2121 | if (vk) { |
2113 | dasm_put(Dst, 11409); | 2122 | dasm_put(Dst, 11412); |
2114 | } else { | 2123 | } else { |
2115 | dasm_put(Dst, 11418); | 2124 | dasm_put(Dst, 11421); |
2116 | } | 2125 | } |
2117 | iseqne_end: | 2126 | iseqne_end: |
2118 | if (vk) { | 2127 | if (vk) { |
2119 | dasm_put(Dst, 11427, -BCBIAS_J*4); | 2128 | dasm_put(Dst, 11430, -BCBIAS_J*4); |
2120 | if (!LJ_HASFFI) { | 2129 | if (!LJ_HASFFI) { |
2121 | dasm_put(Dst, 4799); | 2130 | dasm_put(Dst, 4799); |
2122 | } | 2131 | } |
@@ -2124,76 +2133,76 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2124 | if (!LJ_HASFFI) { | 2133 | if (!LJ_HASFFI) { |
2125 | dasm_put(Dst, 4799); | 2134 | dasm_put(Dst, 4799); |
2126 | } | 2135 | } |
2127 | dasm_put(Dst, 11442, -BCBIAS_J*4); | 2136 | dasm_put(Dst, 11445, -BCBIAS_J*4); |
2128 | } | 2137 | } |
2129 | if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || | 2138 | if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || |
2130 | op == BC_ISEQN || op == BC_ISNEN)) { | 2139 | op == BC_ISEQN || op == BC_ISNEN)) { |
2131 | dasm_put(Dst, 11457); | 2140 | dasm_put(Dst, 11460); |
2132 | } else { | 2141 | } else { |
2133 | dasm_put(Dst, 11200); | 2142 | dasm_put(Dst, 11203); |
2134 | } | 2143 | } |
2135 | if (op == BC_ISEQV || op == BC_ISNEV) { | 2144 | if (op == BC_ISEQV || op == BC_ISNEV) { |
2136 | dasm_put(Dst, 11462); | 2145 | dasm_put(Dst, 11465); |
2137 | if (LJ_HASFFI) { | 2146 | if (LJ_HASFFI) { |
2138 | dasm_put(Dst, 11465, LJ_TCDATA, LJ_TCDATA); | 2147 | dasm_put(Dst, 11468, LJ_TCDATA, LJ_TCDATA); |
2139 | } | 2148 | } |
2140 | dasm_put(Dst, 11484, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); | 2149 | dasm_put(Dst, 11487, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); |
2141 | if (vk) { | 2150 | if (vk) { |
2142 | dasm_put(Dst, 11540); | 2151 | dasm_put(Dst, 11543); |
2143 | } else { | 2152 | } else { |
2144 | dasm_put(Dst, 11544); | 2153 | dasm_put(Dst, 11547); |
2145 | } | 2154 | } |
2146 | dasm_put(Dst, 11550); | 2155 | dasm_put(Dst, 11553); |
2147 | } else if (LJ_HASFFI) { | 2156 | } else if (LJ_HASFFI) { |
2148 | dasm_put(Dst, 11555, LJ_TCDATA); | 2157 | dasm_put(Dst, 11558, LJ_TCDATA); |
2149 | if (LJ_DUALNUM && vk) { | 2158 | if (LJ_DUALNUM && vk) { |
2150 | dasm_put(Dst, 11562); | 2159 | dasm_put(Dst, 11565); |
2151 | } else { | 2160 | } else { |
2152 | dasm_put(Dst, 11535); | 2161 | dasm_put(Dst, 11538); |
2153 | } | 2162 | } |
2154 | dasm_put(Dst, 11567); | 2163 | dasm_put(Dst, 11570); |
2155 | } | 2164 | } |
2156 | break; | 2165 | break; |
2157 | case BC_ISEQS: case BC_ISNES: | 2166 | case BC_ISEQS: case BC_ISNES: |
2158 | vk = op == BC_ISEQS; | 2167 | vk = op == BC_ISEQS; |
2159 | dasm_put(Dst, 11572, LJ_TSTR); | 2168 | dasm_put(Dst, 11575, LJ_TSTR); |
2160 | iseqne_test: | 2169 | iseqne_test: |
2161 | if (vk) { | 2170 | if (vk) { |
2162 | dasm_put(Dst, 11413); | 2171 | dasm_put(Dst, 11416); |
2163 | } else { | 2172 | } else { |
2164 | dasm_put(Dst, 2917); | 2173 | dasm_put(Dst, 2917); |
2165 | } | 2174 | } |
2166 | goto iseqne_end; | 2175 | goto iseqne_end; |
2167 | case BC_ISEQN: case BC_ISNEN: | 2176 | case BC_ISEQN: case BC_ISNEN: |
2168 | vk = op == BC_ISEQN; | 2177 | vk = op == BC_ISEQN; |
2169 | dasm_put(Dst, 11597); | 2178 | dasm_put(Dst, 11600); |
2170 | if (LJ_DUALNUM) { | 2179 | if (LJ_DUALNUM) { |
2171 | dasm_put(Dst, 11605, LJ_TISNUM, LJ_TISNUM); | 2180 | dasm_put(Dst, 11608, LJ_TISNUM, LJ_TISNUM); |
2172 | if (vk) { | 2181 | if (vk) { |
2173 | dasm_put(Dst, 11252); | 2182 | dasm_put(Dst, 11255); |
2174 | } else { | 2183 | } else { |
2175 | dasm_put(Dst, 11257); | 2184 | dasm_put(Dst, 11260); |
2176 | } | 2185 | } |
2177 | dasm_put(Dst, 11630, -BCBIAS_J*4, LJ_TISNUM); | 2186 | dasm_put(Dst, 11633, -BCBIAS_J*4, LJ_TISNUM); |
2178 | if (sse) { | 2187 | if (sse) { |
2179 | dasm_put(Dst, 11677); | 2188 | dasm_put(Dst, 11680); |
2180 | } else { | 2189 | } else { |
2181 | dasm_put(Dst, 11684); | 2190 | dasm_put(Dst, 11687); |
2182 | } | 2191 | } |
2183 | dasm_put(Dst, 11688); | 2192 | dasm_put(Dst, 11691); |
2184 | if (sse) { | 2193 | if (sse) { |
2185 | dasm_put(Dst, 11695); | 2194 | dasm_put(Dst, 11698); |
2186 | } else { | 2195 | } else { |
2187 | dasm_put(Dst, 11707); | 2196 | dasm_put(Dst, 11710); |
2188 | } | 2197 | } |
2189 | dasm_put(Dst, 11354); | 2198 | dasm_put(Dst, 11357); |
2190 | } else { | 2199 | } else { |
2191 | dasm_put(Dst, 11714, LJ_TISNUM); | 2200 | dasm_put(Dst, 11717, LJ_TISNUM); |
2192 | } | 2201 | } |
2193 | if (sse) { | 2202 | if (sse) { |
2194 | dasm_put(Dst, 11723); | 2203 | dasm_put(Dst, 11726); |
2195 | } else { | 2204 | } else { |
2196 | dasm_put(Dst, 11741); | 2205 | dasm_put(Dst, 11744); |
2197 | if (cmov) { | 2206 | if (cmov) { |
2198 | dasm_put(Dst, 3899); | 2207 | dasm_put(Dst, 3899); |
2199 | } else { | 2208 | } else { |
@@ -2203,72 +2212,72 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2203 | goto iseqne_fp; | 2212 | goto iseqne_fp; |
2204 | case BC_ISEQP: case BC_ISNEP: | 2213 | case BC_ISEQP: case BC_ISNEP: |
2205 | vk = op == BC_ISEQP; | 2214 | vk = op == BC_ISEQP; |
2206 | dasm_put(Dst, 11754); | 2215 | dasm_put(Dst, 11757); |
2207 | if (!LJ_HASFFI) goto iseqne_test; | 2216 | if (!LJ_HASFFI) goto iseqne_test; |
2208 | if (vk) { | 2217 | if (vk) { |
2209 | dasm_put(Dst, 11767, -BCBIAS_J*4, LJ_TCDATA); | 2218 | dasm_put(Dst, 11770, -BCBIAS_J*4, LJ_TCDATA); |
2210 | } else { | 2219 | } else { |
2211 | dasm_put(Dst, 11816, LJ_TCDATA, -BCBIAS_J*4); | 2220 | dasm_put(Dst, 11819, LJ_TCDATA, -BCBIAS_J*4); |
2212 | } | 2221 | } |
2213 | break; | 2222 | break; |
2214 | 2223 | ||
2215 | /* -- Unary test and copy ops ------------------------------------------- */ | 2224 | /* -- Unary test and copy ops ------------------------------------------- */ |
2216 | 2225 | ||
2217 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: | 2226 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: |
2218 | dasm_put(Dst, 11859, LJ_TISTRUECOND); | 2227 | dasm_put(Dst, 11862, LJ_TISTRUECOND); |
2219 | if (op == BC_IST || op == BC_ISTC) { | 2228 | if (op == BC_IST || op == BC_ISTC) { |
2220 | dasm_put(Dst, 11183); | 2229 | dasm_put(Dst, 11186); |
2221 | } else { | 2230 | } else { |
2222 | dasm_put(Dst, 11178); | 2231 | dasm_put(Dst, 11181); |
2223 | } | 2232 | } |
2224 | if (op == BC_ISTC || op == BC_ISFC) { | 2233 | if (op == BC_ISTC || op == BC_ISFC) { |
2225 | dasm_put(Dst, 11871); | 2234 | dasm_put(Dst, 11874); |
2226 | } | 2235 | } |
2227 | dasm_put(Dst, 11188, -BCBIAS_J*4); | 2236 | dasm_put(Dst, 11191, -BCBIAS_J*4); |
2228 | break; | 2237 | break; |
2229 | 2238 | ||
2230 | /* -- Unary ops --------------------------------------------------------- */ | 2239 | /* -- Unary ops --------------------------------------------------------- */ |
2231 | 2240 | ||
2232 | case BC_MOV: | 2241 | case BC_MOV: |
2233 | dasm_put(Dst, 11882); | 2242 | dasm_put(Dst, 11885); |
2234 | break; | 2243 | break; |
2235 | case BC_NOT: | 2244 | case BC_NOT: |
2236 | dasm_put(Dst, 11915, LJ_TISTRUECOND, LJ_TTRUE); | 2245 | dasm_put(Dst, 11918, LJ_TISTRUECOND, LJ_TTRUE); |
2237 | break; | 2246 | break; |
2238 | case BC_UNM: | 2247 | case BC_UNM: |
2239 | if (LJ_DUALNUM) { | 2248 | if (LJ_DUALNUM) { |
2240 | dasm_put(Dst, 11950, LJ_TISNUM, LJ_TISNUM); | 2249 | dasm_put(Dst, 11953, LJ_TISNUM, LJ_TISNUM); |
2241 | } else { | 2250 | } else { |
2242 | dasm_put(Dst, 12026, LJ_TISNUM); | 2251 | dasm_put(Dst, 12029, LJ_TISNUM); |
2243 | } | 2252 | } |
2244 | if (sse) { | 2253 | if (sse) { |
2245 | dasm_put(Dst, 12037); | 2254 | dasm_put(Dst, 12040); |
2246 | } else { | 2255 | } else { |
2247 | dasm_put(Dst, 12067); | 2256 | dasm_put(Dst, 12070); |
2248 | } | 2257 | } |
2249 | if (LJ_DUALNUM) { | 2258 | if (LJ_DUALNUM) { |
2250 | dasm_put(Dst, 11457); | 2259 | dasm_put(Dst, 11460); |
2251 | } else { | 2260 | } else { |
2252 | dasm_put(Dst, 11200); | 2261 | dasm_put(Dst, 11203); |
2253 | } | 2262 | } |
2254 | break; | 2263 | break; |
2255 | case BC_LEN: | 2264 | case BC_LEN: |
2256 | dasm_put(Dst, 12076, LJ_TSTR); | 2265 | dasm_put(Dst, 12079, LJ_TSTR); |
2257 | if (LJ_DUALNUM) { | 2266 | if (LJ_DUALNUM) { |
2258 | dasm_put(Dst, 12090, Dt5(->len), LJ_TISNUM); | 2267 | dasm_put(Dst, 12093, Dt5(->len), LJ_TISNUM); |
2259 | } else if (sse) { | 2268 | } else if (sse) { |
2260 | dasm_put(Dst, 12104, Dt5(->len)); | 2269 | dasm_put(Dst, 12107, Dt5(->len)); |
2261 | } else { | 2270 | } else { |
2262 | dasm_put(Dst, 12122, Dt5(->len)); | 2271 | dasm_put(Dst, 12125, Dt5(->len)); |
2263 | } | 2272 | } |
2264 | dasm_put(Dst, 12131, LJ_TTAB); | 2273 | dasm_put(Dst, 12134, LJ_TTAB); |
2265 | if (LJ_DUALNUM) { | 2274 | if (LJ_DUALNUM) { |
2266 | } else if (sse) { | 2275 | } else if (sse) { |
2267 | dasm_put(Dst, 12171); | 2276 | dasm_put(Dst, 12174); |
2268 | } else { | 2277 | } else { |
2269 | dasm_put(Dst, 12177); | 2278 | dasm_put(Dst, 12180); |
2270 | } | 2279 | } |
2271 | dasm_put(Dst, 12184); | 2280 | dasm_put(Dst, 12187); |
2272 | break; | 2281 | break; |
2273 | 2282 | ||
2274 | /* -- Binary ops -------------------------------------------------------- */ | 2283 | /* -- Binary ops -------------------------------------------------------- */ |
@@ -2276,471 +2285,471 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2276 | 2285 | ||
2277 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: | 2286 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: |
2278 | if (LJ_DUALNUM) { | 2287 | if (LJ_DUALNUM) { |
2279 | dasm_put(Dst, 12197); | 2288 | dasm_put(Dst, 12200); |
2280 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2289 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2281 | switch (vk) { | 2290 | switch (vk) { |
2282 | case 0: | 2291 | case 0: |
2283 | dasm_put(Dst, 12205, LJ_TISNUM, LJ_TISNUM); | 2292 | dasm_put(Dst, 12208, LJ_TISNUM, LJ_TISNUM); |
2284 | break; | 2293 | break; |
2285 | case 1: | 2294 | case 1: |
2286 | dasm_put(Dst, 12238, LJ_TISNUM, LJ_TISNUM); | 2295 | dasm_put(Dst, 12241, LJ_TISNUM, LJ_TISNUM); |
2287 | break; | 2296 | break; |
2288 | default: | 2297 | default: |
2289 | dasm_put(Dst, 12271, LJ_TISNUM, LJ_TISNUM); | 2298 | dasm_put(Dst, 12274, LJ_TISNUM, LJ_TISNUM); |
2290 | break; | 2299 | break; |
2291 | } | 2300 | } |
2292 | dasm_put(Dst, 12304, LJ_TISNUM); | 2301 | dasm_put(Dst, 12307, LJ_TISNUM); |
2293 | if (vk == 1) { | 2302 | if (vk == 1) { |
2294 | dasm_put(Dst, 12100); | 2303 | dasm_put(Dst, 12103); |
2295 | } else { | 2304 | } else { |
2296 | dasm_put(Dst, 11878); | 2305 | dasm_put(Dst, 11881); |
2297 | } | 2306 | } |
2298 | dasm_put(Dst, 11200); | 2307 | dasm_put(Dst, 11203); |
2299 | } else { | 2308 | } else { |
2300 | dasm_put(Dst, 12197); | 2309 | dasm_put(Dst, 12200); |
2301 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2310 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2302 | switch (vk) { | 2311 | switch (vk) { |
2303 | case 0: | 2312 | case 0: |
2304 | dasm_put(Dst, 12310, LJ_TISNUM); | 2313 | dasm_put(Dst, 12313, LJ_TISNUM); |
2305 | if (LJ_DUALNUM) { | 2314 | if (LJ_DUALNUM) { |
2306 | dasm_put(Dst, 12322, LJ_TISNUM); | 2315 | dasm_put(Dst, 12325, LJ_TISNUM); |
2307 | } | 2316 | } |
2308 | if (sse) { | 2317 | if (sse) { |
2309 | dasm_put(Dst, 12333); | 2318 | dasm_put(Dst, 12336); |
2310 | } else { | 2319 | } else { |
2311 | dasm_put(Dst, 12347); | 2320 | dasm_put(Dst, 12350); |
2312 | } | 2321 | } |
2313 | break; | 2322 | break; |
2314 | case 1: | 2323 | case 1: |
2315 | dasm_put(Dst, 12355, LJ_TISNUM); | 2324 | dasm_put(Dst, 12358, LJ_TISNUM); |
2316 | if (LJ_DUALNUM) { | 2325 | if (LJ_DUALNUM) { |
2317 | dasm_put(Dst, 12367, LJ_TISNUM); | 2326 | dasm_put(Dst, 12370, LJ_TISNUM); |
2318 | } | 2327 | } |
2319 | if (sse) { | 2328 | if (sse) { |
2320 | dasm_put(Dst, 12378); | 2329 | dasm_put(Dst, 12381); |
2321 | } else { | 2330 | } else { |
2322 | dasm_put(Dst, 12392); | 2331 | dasm_put(Dst, 12395); |
2323 | } | 2332 | } |
2324 | break; | 2333 | break; |
2325 | default: | 2334 | default: |
2326 | dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM); | 2335 | dasm_put(Dst, 12403, LJ_TISNUM, LJ_TISNUM); |
2327 | if (sse) { | 2336 | if (sse) { |
2328 | dasm_put(Dst, 12422); | 2337 | dasm_put(Dst, 12425); |
2329 | } else { | 2338 | } else { |
2330 | dasm_put(Dst, 12436); | 2339 | dasm_put(Dst, 12439); |
2331 | } | 2340 | } |
2332 | break; | 2341 | break; |
2333 | } | 2342 | } |
2334 | if (sse) { | 2343 | if (sse) { |
2335 | dasm_put(Dst, 12060); | 2344 | dasm_put(Dst, 12063); |
2336 | } else { | 2345 | } else { |
2337 | dasm_put(Dst, 12072); | 2346 | dasm_put(Dst, 12075); |
2338 | } | 2347 | } |
2339 | dasm_put(Dst, 11200); | 2348 | dasm_put(Dst, 11203); |
2340 | } | 2349 | } |
2341 | break; | 2350 | break; |
2342 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: | 2351 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: |
2343 | if (LJ_DUALNUM) { | 2352 | if (LJ_DUALNUM) { |
2344 | dasm_put(Dst, 12197); | 2353 | dasm_put(Dst, 12200); |
2345 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2354 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2346 | switch (vk) { | 2355 | switch (vk) { |
2347 | case 0: | 2356 | case 0: |
2348 | dasm_put(Dst, 12444, LJ_TISNUM, LJ_TISNUM); | 2357 | dasm_put(Dst, 12447, LJ_TISNUM, LJ_TISNUM); |
2349 | break; | 2358 | break; |
2350 | case 1: | 2359 | case 1: |
2351 | dasm_put(Dst, 12477, LJ_TISNUM, LJ_TISNUM); | 2360 | dasm_put(Dst, 12480, LJ_TISNUM, LJ_TISNUM); |
2352 | break; | 2361 | break; |
2353 | default: | 2362 | default: |
2354 | dasm_put(Dst, 12510, LJ_TISNUM, LJ_TISNUM); | 2363 | dasm_put(Dst, 12513, LJ_TISNUM, LJ_TISNUM); |
2355 | break; | 2364 | break; |
2356 | } | 2365 | } |
2357 | dasm_put(Dst, 12304, LJ_TISNUM); | 2366 | dasm_put(Dst, 12307, LJ_TISNUM); |
2358 | if (vk == 1) { | 2367 | if (vk == 1) { |
2359 | dasm_put(Dst, 12100); | 2368 | dasm_put(Dst, 12103); |
2360 | } else { | 2369 | } else { |
2361 | dasm_put(Dst, 11878); | 2370 | dasm_put(Dst, 11881); |
2362 | } | 2371 | } |
2363 | dasm_put(Dst, 11200); | 2372 | dasm_put(Dst, 11203); |
2364 | } else { | 2373 | } else { |
2365 | dasm_put(Dst, 12197); | 2374 | dasm_put(Dst, 12200); |
2366 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2375 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2367 | switch (vk) { | 2376 | switch (vk) { |
2368 | case 0: | 2377 | case 0: |
2369 | dasm_put(Dst, 12310, LJ_TISNUM); | 2378 | dasm_put(Dst, 12313, LJ_TISNUM); |
2370 | if (LJ_DUALNUM) { | 2379 | if (LJ_DUALNUM) { |
2371 | dasm_put(Dst, 12322, LJ_TISNUM); | 2380 | dasm_put(Dst, 12325, LJ_TISNUM); |
2372 | } | 2381 | } |
2373 | if (sse) { | 2382 | if (sse) { |
2374 | dasm_put(Dst, 12543); | 2383 | dasm_put(Dst, 12546); |
2375 | } else { | 2384 | } else { |
2376 | dasm_put(Dst, 12557); | 2385 | dasm_put(Dst, 12560); |
2377 | } | 2386 | } |
2378 | break; | 2387 | break; |
2379 | case 1: | 2388 | case 1: |
2380 | dasm_put(Dst, 12355, LJ_TISNUM); | 2389 | dasm_put(Dst, 12358, LJ_TISNUM); |
2381 | if (LJ_DUALNUM) { | 2390 | if (LJ_DUALNUM) { |
2382 | dasm_put(Dst, 12367, LJ_TISNUM); | 2391 | dasm_put(Dst, 12370, LJ_TISNUM); |
2383 | } | 2392 | } |
2384 | if (sse) { | 2393 | if (sse) { |
2385 | dasm_put(Dst, 12565); | 2394 | dasm_put(Dst, 12568); |
2386 | } else { | 2395 | } else { |
2387 | dasm_put(Dst, 12579); | 2396 | dasm_put(Dst, 12582); |
2388 | } | 2397 | } |
2389 | break; | 2398 | break; |
2390 | default: | 2399 | default: |
2391 | dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM); | 2400 | dasm_put(Dst, 12403, LJ_TISNUM, LJ_TISNUM); |
2392 | if (sse) { | 2401 | if (sse) { |
2393 | dasm_put(Dst, 12587); | 2402 | dasm_put(Dst, 12590); |
2394 | } else { | 2403 | } else { |
2395 | dasm_put(Dst, 12601); | 2404 | dasm_put(Dst, 12604); |
2396 | } | 2405 | } |
2397 | break; | 2406 | break; |
2398 | } | 2407 | } |
2399 | if (sse) { | 2408 | if (sse) { |
2400 | dasm_put(Dst, 12060); | 2409 | dasm_put(Dst, 12063); |
2401 | } else { | 2410 | } else { |
2402 | dasm_put(Dst, 12072); | 2411 | dasm_put(Dst, 12075); |
2403 | } | 2412 | } |
2404 | dasm_put(Dst, 11200); | 2413 | dasm_put(Dst, 11203); |
2405 | } | 2414 | } |
2406 | break; | 2415 | break; |
2407 | case BC_MULVN: case BC_MULNV: case BC_MULVV: | 2416 | case BC_MULVN: case BC_MULNV: case BC_MULVV: |
2408 | if (LJ_DUALNUM) { | 2417 | if (LJ_DUALNUM) { |
2409 | dasm_put(Dst, 12197); | 2418 | dasm_put(Dst, 12200); |
2410 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2419 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2411 | switch (vk) { | 2420 | switch (vk) { |
2412 | case 0: | 2421 | case 0: |
2413 | dasm_put(Dst, 12609, LJ_TISNUM, LJ_TISNUM); | 2422 | dasm_put(Dst, 12612, LJ_TISNUM, LJ_TISNUM); |
2414 | break; | 2423 | break; |
2415 | case 1: | 2424 | case 1: |
2416 | dasm_put(Dst, 12643, LJ_TISNUM, LJ_TISNUM); | 2425 | dasm_put(Dst, 12646, LJ_TISNUM, LJ_TISNUM); |
2417 | break; | 2426 | break; |
2418 | default: | 2427 | default: |
2419 | dasm_put(Dst, 12677, LJ_TISNUM, LJ_TISNUM); | 2428 | dasm_put(Dst, 12680, LJ_TISNUM, LJ_TISNUM); |
2420 | break; | 2429 | break; |
2421 | } | 2430 | } |
2422 | dasm_put(Dst, 12304, LJ_TISNUM); | 2431 | dasm_put(Dst, 12307, LJ_TISNUM); |
2423 | if (vk == 1) { | 2432 | if (vk == 1) { |
2424 | dasm_put(Dst, 12100); | 2433 | dasm_put(Dst, 12103); |
2425 | } else { | 2434 | } else { |
2426 | dasm_put(Dst, 11878); | 2435 | dasm_put(Dst, 11881); |
2427 | } | 2436 | } |
2428 | dasm_put(Dst, 11200); | 2437 | dasm_put(Dst, 11203); |
2429 | } else { | 2438 | } else { |
2430 | dasm_put(Dst, 12197); | 2439 | dasm_put(Dst, 12200); |
2431 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2440 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2432 | switch (vk) { | 2441 | switch (vk) { |
2433 | case 0: | 2442 | case 0: |
2434 | dasm_put(Dst, 12310, LJ_TISNUM); | 2443 | dasm_put(Dst, 12313, LJ_TISNUM); |
2435 | if (LJ_DUALNUM) { | 2444 | if (LJ_DUALNUM) { |
2436 | dasm_put(Dst, 12322, LJ_TISNUM); | 2445 | dasm_put(Dst, 12325, LJ_TISNUM); |
2437 | } | 2446 | } |
2438 | if (sse) { | 2447 | if (sse) { |
2439 | dasm_put(Dst, 12711); | 2448 | dasm_put(Dst, 12714); |
2440 | } else { | 2449 | } else { |
2441 | dasm_put(Dst, 12725); | 2450 | dasm_put(Dst, 12728); |
2442 | } | 2451 | } |
2443 | break; | 2452 | break; |
2444 | case 1: | 2453 | case 1: |
2445 | dasm_put(Dst, 12355, LJ_TISNUM); | 2454 | dasm_put(Dst, 12358, LJ_TISNUM); |
2446 | if (LJ_DUALNUM) { | 2455 | if (LJ_DUALNUM) { |
2447 | dasm_put(Dst, 12367, LJ_TISNUM); | 2456 | dasm_put(Dst, 12370, LJ_TISNUM); |
2448 | } | 2457 | } |
2449 | if (sse) { | 2458 | if (sse) { |
2450 | dasm_put(Dst, 12733); | 2459 | dasm_put(Dst, 12736); |
2451 | } else { | 2460 | } else { |
2452 | dasm_put(Dst, 12747); | 2461 | dasm_put(Dst, 12750); |
2453 | } | 2462 | } |
2454 | break; | 2463 | break; |
2455 | default: | 2464 | default: |
2456 | dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM); | 2465 | dasm_put(Dst, 12403, LJ_TISNUM, LJ_TISNUM); |
2457 | if (sse) { | 2466 | if (sse) { |
2458 | dasm_put(Dst, 12755); | 2467 | dasm_put(Dst, 12758); |
2459 | } else { | 2468 | } else { |
2460 | dasm_put(Dst, 12769); | 2469 | dasm_put(Dst, 12772); |
2461 | } | 2470 | } |
2462 | break; | 2471 | break; |
2463 | } | 2472 | } |
2464 | if (sse) { | 2473 | if (sse) { |
2465 | dasm_put(Dst, 12060); | 2474 | dasm_put(Dst, 12063); |
2466 | } else { | 2475 | } else { |
2467 | dasm_put(Dst, 12072); | 2476 | dasm_put(Dst, 12075); |
2468 | } | 2477 | } |
2469 | dasm_put(Dst, 11200); | 2478 | dasm_put(Dst, 11203); |
2470 | } | 2479 | } |
2471 | break; | 2480 | break; |
2472 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: | 2481 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: |
2473 | dasm_put(Dst, 12197); | 2482 | dasm_put(Dst, 12200); |
2474 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2483 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2475 | switch (vk) { | 2484 | switch (vk) { |
2476 | case 0: | 2485 | case 0: |
2477 | dasm_put(Dst, 12310, LJ_TISNUM); | 2486 | dasm_put(Dst, 12313, LJ_TISNUM); |
2478 | if (LJ_DUALNUM) { | 2487 | if (LJ_DUALNUM) { |
2479 | dasm_put(Dst, 12322, LJ_TISNUM); | 2488 | dasm_put(Dst, 12325, LJ_TISNUM); |
2480 | } | 2489 | } |
2481 | if (sse) { | 2490 | if (sse) { |
2482 | dasm_put(Dst, 12777); | 2491 | dasm_put(Dst, 12780); |
2483 | } else { | 2492 | } else { |
2484 | dasm_put(Dst, 12791); | 2493 | dasm_put(Dst, 12794); |
2485 | } | 2494 | } |
2486 | break; | 2495 | break; |
2487 | case 1: | 2496 | case 1: |
2488 | dasm_put(Dst, 12355, LJ_TISNUM); | 2497 | dasm_put(Dst, 12358, LJ_TISNUM); |
2489 | if (LJ_DUALNUM) { | 2498 | if (LJ_DUALNUM) { |
2490 | dasm_put(Dst, 12367, LJ_TISNUM); | 2499 | dasm_put(Dst, 12370, LJ_TISNUM); |
2491 | } | 2500 | } |
2492 | if (sse) { | 2501 | if (sse) { |
2493 | dasm_put(Dst, 12799); | 2502 | dasm_put(Dst, 12802); |
2494 | } else { | 2503 | } else { |
2495 | dasm_put(Dst, 12813); | 2504 | dasm_put(Dst, 12816); |
2496 | } | 2505 | } |
2497 | break; | 2506 | break; |
2498 | default: | 2507 | default: |
2499 | dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM); | 2508 | dasm_put(Dst, 12403, LJ_TISNUM, LJ_TISNUM); |
2500 | if (sse) { | 2509 | if (sse) { |
2501 | dasm_put(Dst, 12821); | 2510 | dasm_put(Dst, 12824); |
2502 | } else { | 2511 | } else { |
2503 | dasm_put(Dst, 12835); | 2512 | dasm_put(Dst, 12838); |
2504 | } | 2513 | } |
2505 | break; | 2514 | break; |
2506 | } | 2515 | } |
2507 | if (sse) { | 2516 | if (sse) { |
2508 | dasm_put(Dst, 12060); | 2517 | dasm_put(Dst, 12063); |
2509 | } else { | 2518 | } else { |
2510 | dasm_put(Dst, 12072); | 2519 | dasm_put(Dst, 12075); |
2511 | } | 2520 | } |
2512 | dasm_put(Dst, 11200); | 2521 | dasm_put(Dst, 11203); |
2513 | break; | 2522 | break; |
2514 | case BC_MODVN: | 2523 | case BC_MODVN: |
2515 | dasm_put(Dst, 12197); | 2524 | dasm_put(Dst, 12200); |
2516 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2525 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2517 | switch (vk) { | 2526 | switch (vk) { |
2518 | case 0: | 2527 | case 0: |
2519 | dasm_put(Dst, 12310, LJ_TISNUM); | 2528 | dasm_put(Dst, 12313, LJ_TISNUM); |
2520 | if (LJ_DUALNUM) { | 2529 | if (LJ_DUALNUM) { |
2521 | dasm_put(Dst, 12322, LJ_TISNUM); | 2530 | dasm_put(Dst, 12325, LJ_TISNUM); |
2522 | } | 2531 | } |
2523 | if (sse) { | 2532 | if (sse) { |
2524 | dasm_put(Dst, 12843); | 2533 | dasm_put(Dst, 12846); |
2525 | } else { | 2534 | } else { |
2526 | dasm_put(Dst, 12857); | 2535 | dasm_put(Dst, 12860); |
2527 | } | 2536 | } |
2528 | break; | 2537 | break; |
2529 | case 1: | 2538 | case 1: |
2530 | dasm_put(Dst, 12355, LJ_TISNUM); | 2539 | dasm_put(Dst, 12358, LJ_TISNUM); |
2531 | if (LJ_DUALNUM) { | 2540 | if (LJ_DUALNUM) { |
2532 | dasm_put(Dst, 12367, LJ_TISNUM); | 2541 | dasm_put(Dst, 12370, LJ_TISNUM); |
2533 | } | 2542 | } |
2534 | if (sse) { | 2543 | if (sse) { |
2535 | dasm_put(Dst, 12865); | 2544 | dasm_put(Dst, 12868); |
2536 | } else { | 2545 | } else { |
2537 | dasm_put(Dst, 12879); | 2546 | dasm_put(Dst, 12882); |
2538 | } | 2547 | } |
2539 | break; | 2548 | break; |
2540 | default: | 2549 | default: |
2541 | dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM); | 2550 | dasm_put(Dst, 12403, LJ_TISNUM, LJ_TISNUM); |
2542 | if (sse) { | 2551 | if (sse) { |
2543 | dasm_put(Dst, 12887); | 2552 | dasm_put(Dst, 12890); |
2544 | } else { | 2553 | } else { |
2545 | dasm_put(Dst, 12901); | 2554 | dasm_put(Dst, 12904); |
2546 | } | 2555 | } |
2547 | break; | 2556 | break; |
2548 | } | 2557 | } |
2549 | dasm_put(Dst, 12909); | 2558 | dasm_put(Dst, 12912); |
2550 | if (sse) { | 2559 | if (sse) { |
2551 | dasm_put(Dst, 12060); | 2560 | dasm_put(Dst, 12063); |
2552 | } else { | 2561 | } else { |
2553 | dasm_put(Dst, 12072); | 2562 | dasm_put(Dst, 12075); |
2554 | } | 2563 | } |
2555 | dasm_put(Dst, 11200); | 2564 | dasm_put(Dst, 11203); |
2556 | break; | 2565 | break; |
2557 | case BC_MODNV: case BC_MODVV: | 2566 | case BC_MODNV: case BC_MODVV: |
2558 | dasm_put(Dst, 12197); | 2567 | dasm_put(Dst, 12200); |
2559 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2568 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2560 | switch (vk) { | 2569 | switch (vk) { |
2561 | case 0: | 2570 | case 0: |
2562 | dasm_put(Dst, 12310, LJ_TISNUM); | 2571 | dasm_put(Dst, 12313, LJ_TISNUM); |
2563 | if (LJ_DUALNUM) { | 2572 | if (LJ_DUALNUM) { |
2564 | dasm_put(Dst, 12322, LJ_TISNUM); | 2573 | dasm_put(Dst, 12325, LJ_TISNUM); |
2565 | } | 2574 | } |
2566 | if (sse) { | 2575 | if (sse) { |
2567 | dasm_put(Dst, 12843); | 2576 | dasm_put(Dst, 12846); |
2568 | } else { | 2577 | } else { |
2569 | dasm_put(Dst, 12857); | 2578 | dasm_put(Dst, 12860); |
2570 | } | 2579 | } |
2571 | break; | 2580 | break; |
2572 | case 1: | 2581 | case 1: |
2573 | dasm_put(Dst, 12355, LJ_TISNUM); | 2582 | dasm_put(Dst, 12358, LJ_TISNUM); |
2574 | if (LJ_DUALNUM) { | 2583 | if (LJ_DUALNUM) { |
2575 | dasm_put(Dst, 12367, LJ_TISNUM); | 2584 | dasm_put(Dst, 12370, LJ_TISNUM); |
2576 | } | 2585 | } |
2577 | if (sse) { | 2586 | if (sse) { |
2578 | dasm_put(Dst, 12865); | 2587 | dasm_put(Dst, 12868); |
2579 | } else { | 2588 | } else { |
2580 | dasm_put(Dst, 12879); | 2589 | dasm_put(Dst, 12882); |
2581 | } | 2590 | } |
2582 | break; | 2591 | break; |
2583 | default: | 2592 | default: |
2584 | dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM); | 2593 | dasm_put(Dst, 12403, LJ_TISNUM, LJ_TISNUM); |
2585 | if (sse) { | 2594 | if (sse) { |
2586 | dasm_put(Dst, 12887); | 2595 | dasm_put(Dst, 12890); |
2587 | } else { | 2596 | } else { |
2588 | dasm_put(Dst, 12901); | 2597 | dasm_put(Dst, 12904); |
2589 | } | 2598 | } |
2590 | break; | 2599 | break; |
2591 | } | 2600 | } |
2592 | dasm_put(Dst, 12915); | 2601 | dasm_put(Dst, 12918); |
2593 | break; | 2602 | break; |
2594 | case BC_POW: | 2603 | case BC_POW: |
2595 | dasm_put(Dst, 12197); | 2604 | dasm_put(Dst, 12200); |
2596 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2605 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2597 | switch (vk) { | 2606 | switch (vk) { |
2598 | case 0: | 2607 | case 0: |
2599 | dasm_put(Dst, 12310, LJ_TISNUM); | 2608 | dasm_put(Dst, 12313, LJ_TISNUM); |
2600 | if (LJ_DUALNUM) { | 2609 | if (LJ_DUALNUM) { |
2601 | dasm_put(Dst, 12322, LJ_TISNUM); | 2610 | dasm_put(Dst, 12325, LJ_TISNUM); |
2602 | } | 2611 | } |
2603 | if (sse) { | 2612 | if (sse) { |
2604 | dasm_put(Dst, 12843); | 2613 | dasm_put(Dst, 12846); |
2605 | } else { | 2614 | } else { |
2606 | dasm_put(Dst, 12857); | 2615 | dasm_put(Dst, 12860); |
2607 | } | 2616 | } |
2608 | break; | 2617 | break; |
2609 | case 1: | 2618 | case 1: |
2610 | dasm_put(Dst, 12355, LJ_TISNUM); | 2619 | dasm_put(Dst, 12358, LJ_TISNUM); |
2611 | if (LJ_DUALNUM) { | 2620 | if (LJ_DUALNUM) { |
2612 | dasm_put(Dst, 12367, LJ_TISNUM); | 2621 | dasm_put(Dst, 12370, LJ_TISNUM); |
2613 | } | 2622 | } |
2614 | if (sse) { | 2623 | if (sse) { |
2615 | dasm_put(Dst, 12865); | 2624 | dasm_put(Dst, 12868); |
2616 | } else { | 2625 | } else { |
2617 | dasm_put(Dst, 12879); | 2626 | dasm_put(Dst, 12882); |
2618 | } | 2627 | } |
2619 | break; | 2628 | break; |
2620 | default: | 2629 | default: |
2621 | dasm_put(Dst, 12400, LJ_TISNUM, LJ_TISNUM); | 2630 | dasm_put(Dst, 12403, LJ_TISNUM, LJ_TISNUM); |
2622 | if (sse) { | 2631 | if (sse) { |
2623 | dasm_put(Dst, 12887); | 2632 | dasm_put(Dst, 12890); |
2624 | } else { | 2633 | } else { |
2625 | dasm_put(Dst, 12901); | 2634 | dasm_put(Dst, 12904); |
2626 | } | 2635 | } |
2627 | break; | 2636 | break; |
2628 | } | 2637 | } |
2629 | dasm_put(Dst, 12920); | 2638 | dasm_put(Dst, 12923); |
2630 | if (sse) { | 2639 | if (sse) { |
2631 | dasm_put(Dst, 12060); | 2640 | dasm_put(Dst, 12063); |
2632 | } else { | 2641 | } else { |
2633 | dasm_put(Dst, 12072); | 2642 | dasm_put(Dst, 12075); |
2634 | } | 2643 | } |
2635 | dasm_put(Dst, 11200); | 2644 | dasm_put(Dst, 11203); |
2636 | break; | 2645 | break; |
2637 | 2646 | ||
2638 | case BC_CAT: | 2647 | case BC_CAT: |
2639 | dasm_put(Dst, 12924, Dt1(->base), Dt1(->base)); | 2648 | dasm_put(Dst, 12927, Dt1(->base), Dt1(->base)); |
2640 | break; | 2649 | break; |
2641 | 2650 | ||
2642 | /* -- Constant ops ------------------------------------------------------ */ | 2651 | /* -- Constant ops ------------------------------------------------------ */ |
2643 | 2652 | ||
2644 | case BC_KSTR: | 2653 | case BC_KSTR: |
2645 | dasm_put(Dst, 13018, LJ_TSTR); | 2654 | dasm_put(Dst, 13021, LJ_TSTR); |
2646 | break; | 2655 | break; |
2647 | case BC_KCDATA: | 2656 | case BC_KCDATA: |
2648 | #if LJ_HASFFI | 2657 | #if LJ_HASFFI |
2649 | dasm_put(Dst, 13018, LJ_TCDATA); | 2658 | dasm_put(Dst, 13021, LJ_TCDATA); |
2650 | #endif | 2659 | #endif |
2651 | break; | 2660 | break; |
2652 | case BC_KSHORT: | 2661 | case BC_KSHORT: |
2653 | if (LJ_DUALNUM) { | 2662 | if (LJ_DUALNUM) { |
2654 | dasm_put(Dst, 13051, LJ_TISNUM); | 2663 | dasm_put(Dst, 13054, LJ_TISNUM); |
2655 | } else if (sse) { | 2664 | } else if (sse) { |
2656 | dasm_put(Dst, 13063); | 2665 | dasm_put(Dst, 13066); |
2657 | } else { | 2666 | } else { |
2658 | dasm_put(Dst, 13078); | 2667 | dasm_put(Dst, 13081); |
2659 | } | 2668 | } |
2660 | dasm_put(Dst, 11200); | 2669 | dasm_put(Dst, 11203); |
2661 | break; | 2670 | break; |
2662 | case BC_KNUM: | 2671 | case BC_KNUM: |
2663 | if (sse) { | 2672 | if (sse) { |
2664 | dasm_put(Dst, 13086); | 2673 | dasm_put(Dst, 13089); |
2665 | } else { | 2674 | } else { |
2666 | dasm_put(Dst, 13099); | 2675 | dasm_put(Dst, 13102); |
2667 | } | 2676 | } |
2668 | dasm_put(Dst, 11200); | 2677 | dasm_put(Dst, 11203); |
2669 | break; | 2678 | break; |
2670 | case BC_KPRI: | 2679 | case BC_KPRI: |
2671 | dasm_put(Dst, 13106); | 2680 | dasm_put(Dst, 13109); |
2672 | break; | 2681 | break; |
2673 | case BC_KNIL: | 2682 | case BC_KNIL: |
2674 | dasm_put(Dst, 13132, LJ_TNIL); | 2683 | dasm_put(Dst, 13135, LJ_TNIL); |
2675 | break; | 2684 | break; |
2676 | 2685 | ||
2677 | /* -- Upvalue and function ops ------------------------------------------ */ | 2686 | /* -- Upvalue and function ops ------------------------------------------ */ |
2678 | 2687 | ||
2679 | case BC_UGET: | 2688 | case BC_UGET: |
2680 | dasm_put(Dst, 13178, offsetof(GCfuncL, uvptr), DtA(->v)); | 2689 | dasm_put(Dst, 13181, offsetof(GCfuncL, uvptr), DtA(->v)); |
2681 | break; | 2690 | break; |
2682 | case BC_USETV: | 2691 | case BC_USETV: |
2683 | #define TV2MARKOFS \ | 2692 | #define TV2MARKOFS \ |
2684 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) | 2693 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) |
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); | 2694 | dasm_put(Dst, 13225, 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); |
2686 | dasm_put(Dst, 13312); | 2695 | dasm_put(Dst, 13315); |
2687 | break; | 2696 | break; |
2688 | #undef TV2MARKOFS | 2697 | #undef TV2MARKOFS |
2689 | case BC_USETS: | 2698 | case BC_USETS: |
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); | 2699 | dasm_put(Dst, 13327, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); |
2691 | break; | 2700 | break; |
2692 | case BC_USETN: | 2701 | case BC_USETN: |
2693 | dasm_put(Dst, 13415); | 2702 | dasm_put(Dst, 13418); |
2694 | if (sse) { | 2703 | if (sse) { |
2695 | dasm_put(Dst, 13420); | 2704 | dasm_put(Dst, 13423); |
2696 | } else { | 2705 | } else { |
2697 | dasm_put(Dst, 11710); | 2706 | dasm_put(Dst, 11713); |
2698 | } | 2707 | } |
2699 | dasm_put(Dst, 13427, offsetof(GCfuncL, uvptr), DtA(->v)); | 2708 | dasm_put(Dst, 13430, offsetof(GCfuncL, uvptr), DtA(->v)); |
2700 | if (sse) { | 2709 | if (sse) { |
2701 | dasm_put(Dst, 13436); | 2710 | dasm_put(Dst, 13439); |
2702 | } else { | 2711 | } else { |
2703 | dasm_put(Dst, 13442); | 2712 | dasm_put(Dst, 13445); |
2704 | } | 2713 | } |
2705 | dasm_put(Dst, 11200); | 2714 | dasm_put(Dst, 11203); |
2706 | break; | 2715 | break; |
2707 | case BC_USETP: | 2716 | case BC_USETP: |
2708 | dasm_put(Dst, 13445, offsetof(GCfuncL, uvptr), DtA(->v)); | 2717 | dasm_put(Dst, 13448, offsetof(GCfuncL, uvptr), DtA(->v)); |
2709 | break; | 2718 | break; |
2710 | case BC_UCLO: | 2719 | case BC_UCLO: |
2711 | dasm_put(Dst, 13482, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); | 2720 | dasm_put(Dst, 13485, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); |
2712 | break; | 2721 | break; |
2713 | 2722 | ||
2714 | case BC_FNEW: | 2723 | case BC_FNEW: |
2715 | dasm_put(Dst, 13536, Dt1(->base), Dt1(->base), LJ_TFUNC); | 2724 | dasm_put(Dst, 13539, Dt1(->base), Dt1(->base), LJ_TFUNC); |
2716 | break; | 2725 | break; |
2717 | 2726 | ||
2718 | /* -- Table ops --------------------------------------------------------- */ | 2727 | /* -- Table ops --------------------------------------------------------- */ |
2719 | 2728 | ||
2720 | case BC_TNEW: | 2729 | case BC_TNEW: |
2721 | dasm_put(Dst, 13607, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); | 2730 | dasm_put(Dst, 13610, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); |
2722 | break; | 2731 | break; |
2723 | case BC_TDUP: | 2732 | case BC_TDUP: |
2724 | dasm_put(Dst, 13733, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 2733 | dasm_put(Dst, 13736, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); |
2725 | break; | 2734 | break; |
2726 | 2735 | ||
2727 | case BC_GGET: | 2736 | case BC_GGET: |
2728 | dasm_put(Dst, 13825, Dt7(->env)); | 2737 | dasm_put(Dst, 13828, Dt7(->env)); |
2729 | break; | 2738 | break; |
2730 | case BC_GSET: | 2739 | case BC_GSET: |
2731 | dasm_put(Dst, 13843, Dt7(->env)); | 2740 | dasm_put(Dst, 13846, Dt7(->env)); |
2732 | break; | 2741 | break; |
2733 | 2742 | ||
2734 | case BC_TGETV: | 2743 | case BC_TGETV: |
2735 | dasm_put(Dst, 13861, LJ_TTAB); | 2744 | dasm_put(Dst, 13864, LJ_TTAB); |
2736 | if (LJ_DUALNUM) { | 2745 | if (LJ_DUALNUM) { |
2737 | dasm_put(Dst, 13884, LJ_TISNUM); | 2746 | dasm_put(Dst, 13887, LJ_TISNUM); |
2738 | } else { | 2747 | } else { |
2739 | dasm_put(Dst, 13898, LJ_TISNUM); | 2748 | dasm_put(Dst, 13901, LJ_TISNUM); |
2740 | if (sse) { | 2749 | if (sse) { |
2741 | dasm_put(Dst, 13909); | 2750 | dasm_put(Dst, 13912); |
2742 | } else { | 2751 | } else { |
2743 | dasm_put(Dst, 13930); | 2752 | dasm_put(Dst, 13933); |
2744 | if (cmov) { | 2753 | if (cmov) { |
2745 | dasm_put(Dst, 3899); | 2754 | dasm_put(Dst, 3899); |
2746 | } else { | 2755 | } else { |
@@ -2748,30 +2757,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2748 | } | 2757 | } |
2749 | dasm_put(Dst, 2635); | 2758 | dasm_put(Dst, 2635); |
2750 | } | 2759 | } |
2751 | dasm_put(Dst, 13940); | 2760 | dasm_put(Dst, 13943); |
2752 | } | 2761 | } |
2753 | dasm_put(Dst, 13945, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); | 2762 | dasm_put(Dst, 13948, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); |
2754 | dasm_put(Dst, 14040, LJ_TSTR); | 2763 | dasm_put(Dst, 14043, LJ_TSTR); |
2755 | break; | 2764 | break; |
2756 | case BC_TGETS: | 2765 | case BC_TGETS: |
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); | 2766 | dasm_put(Dst, 14061, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2758 | dasm_put(Dst, 14146, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2767 | dasm_put(Dst, 14149, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2759 | break; | 2768 | break; |
2760 | case BC_TGETB: | 2769 | case BC_TGETB: |
2761 | dasm_put(Dst, 14216, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2770 | dasm_put(Dst, 14219, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2762 | dasm_put(Dst, 14315, LJ_TNIL); | 2771 | dasm_put(Dst, 14318, LJ_TNIL); |
2763 | break; | 2772 | break; |
2764 | 2773 | ||
2765 | case BC_TSETV: | 2774 | case BC_TSETV: |
2766 | dasm_put(Dst, 14332, LJ_TTAB); | 2775 | dasm_put(Dst, 14335, LJ_TTAB); |
2767 | if (LJ_DUALNUM) { | 2776 | if (LJ_DUALNUM) { |
2768 | dasm_put(Dst, 13884, LJ_TISNUM); | 2777 | dasm_put(Dst, 13887, LJ_TISNUM); |
2769 | } else { | 2778 | } else { |
2770 | dasm_put(Dst, 13898, LJ_TISNUM); | 2779 | dasm_put(Dst, 13901, LJ_TISNUM); |
2771 | if (sse) { | 2780 | if (sse) { |
2772 | dasm_put(Dst, 13909); | 2781 | dasm_put(Dst, 13912); |
2773 | } else { | 2782 | } else { |
2774 | dasm_put(Dst, 13930); | 2783 | dasm_put(Dst, 13933); |
2775 | if (cmov) { | 2784 | if (cmov) { |
2776 | dasm_put(Dst, 3899); | 2785 | dasm_put(Dst, 3899); |
2777 | } else { | 2786 | } else { |
@@ -2779,115 +2788,115 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2779 | } | 2788 | } |
2780 | dasm_put(Dst, 2635); | 2789 | dasm_put(Dst, 2635); |
2781 | } | 2790 | } |
2782 | dasm_put(Dst, 14355); | 2791 | dasm_put(Dst, 14358); |
2783 | } | 2792 | } |
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); | 2793 | dasm_put(Dst, 14363, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); |
2785 | dasm_put(Dst, 14444, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2794 | dasm_put(Dst, 14447, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2786 | break; | 2795 | break; |
2787 | case BC_TSETS: | 2796 | case BC_TSETS: |
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); | 2797 | dasm_put(Dst, 14504, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2789 | dasm_put(Dst, 14576, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); | 2798 | dasm_put(Dst, 14579, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); |
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)); | 2799 | dasm_put(Dst, 14671, 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)); |
2791 | break; | 2800 | break; |
2792 | case BC_TSETB: | 2801 | case BC_TSETB: |
2793 | dasm_put(Dst, 14764, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); | 2802 | dasm_put(Dst, 14767, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); |
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)); | 2803 | dasm_put(Dst, 14865, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2795 | break; | 2804 | break; |
2796 | 2805 | ||
2797 | case BC_TSETM: | 2806 | case BC_TSETM: |
2798 | dasm_put(Dst, 14908, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); | 2807 | dasm_put(Dst, 14911, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); |
2799 | dasm_put(Dst, 15057, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2808 | dasm_put(Dst, 15060, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2800 | break; | 2809 | break; |
2801 | 2810 | ||
2802 | /* -- Calls and vararg handling ----------------------------------------- */ | 2811 | /* -- Calls and vararg handling ----------------------------------------- */ |
2803 | 2812 | ||
2804 | case BC_CALL: case BC_CALLM: | 2813 | case BC_CALL: case BC_CALLM: |
2805 | dasm_put(Dst, 12201); | 2814 | dasm_put(Dst, 12204); |
2806 | if (op == BC_CALLM) { | 2815 | if (op == BC_CALLM) { |
2807 | dasm_put(Dst, 15075); | 2816 | dasm_put(Dst, 15078); |
2808 | } | 2817 | } |
2809 | dasm_put(Dst, 15080, LJ_TFUNC, Dt7(->pc)); | 2818 | dasm_put(Dst, 15083, LJ_TFUNC, Dt7(->pc)); |
2810 | break; | 2819 | break; |
2811 | 2820 | ||
2812 | case BC_CALLMT: | 2821 | case BC_CALLMT: |
2813 | dasm_put(Dst, 15075); | 2822 | dasm_put(Dst, 15078); |
2814 | break; | 2823 | break; |
2815 | case BC_CALLT: | 2824 | case BC_CALLT: |
2816 | dasm_put(Dst, 15121, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); | 2825 | dasm_put(Dst, 15124, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); |
2817 | dasm_put(Dst, 15239, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); | 2826 | dasm_put(Dst, 15242, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); |
2818 | break; | 2827 | break; |
2819 | 2828 | ||
2820 | case BC_ITERC: | 2829 | case BC_ITERC: |
2821 | dasm_put(Dst, 15309, LJ_TFUNC, 2+1, Dt7(->pc)); | 2830 | dasm_put(Dst, 15312, LJ_TFUNC, 2+1, Dt7(->pc)); |
2822 | break; | 2831 | break; |
2823 | 2832 | ||
2824 | case BC_ITERN: | 2833 | case BC_ITERN: |
2825 | #if LJ_HASJIT | 2834 | #if LJ_HASJIT |
2826 | #endif | 2835 | #endif |
2827 | dasm_put(Dst, 15389, Dt6(->asize), Dt6(->array), LJ_TNIL); | 2836 | dasm_put(Dst, 15392, Dt6(->asize), Dt6(->array), LJ_TNIL); |
2828 | if (LJ_DUALNUM) { | 2837 | if (LJ_DUALNUM) { |
2829 | dasm_put(Dst, 12095, LJ_TISNUM); | 2838 | dasm_put(Dst, 12098, LJ_TISNUM); |
2830 | } else if (sse) { | 2839 | } else if (sse) { |
2831 | dasm_put(Dst, 12171); | 2840 | dasm_put(Dst, 12174); |
2832 | } else { | 2841 | } else { |
2833 | dasm_put(Dst, 15435); | 2842 | dasm_put(Dst, 15438); |
2834 | } | 2843 | } |
2835 | dasm_put(Dst, 15441); | 2844 | dasm_put(Dst, 15444); |
2836 | if (LJ_DUALNUM) { | 2845 | if (LJ_DUALNUM) { |
2837 | } else if (sse) { | 2846 | } else if (sse) { |
2838 | dasm_put(Dst, 12060); | 2847 | dasm_put(Dst, 12063); |
2839 | } else { | 2848 | } else { |
2840 | dasm_put(Dst, 12072); | 2849 | dasm_put(Dst, 12075); |
2841 | } | 2850 | } |
2842 | dasm_put(Dst, 15460, -BCBIAS_J*4); | 2851 | dasm_put(Dst, 15463, -BCBIAS_J*4); |
2843 | if (!LJ_DUALNUM && !sse) { | 2852 | if (!LJ_DUALNUM && !sse) { |
2844 | dasm_put(Dst, 15511); | 2853 | dasm_put(Dst, 15514); |
2845 | } | 2854 | } |
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)); | 2855 | dasm_put(Dst, 15520, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it)); |
2847 | dasm_put(Dst, 15592); | 2856 | dasm_put(Dst, 15595); |
2848 | break; | 2857 | break; |
2849 | 2858 | ||
2850 | case BC_ISNEXT: | 2859 | case BC_ISNEXT: |
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); | 2860 | dasm_put(Dst, 15603, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); |
2852 | break; | 2861 | break; |
2853 | 2862 | ||
2854 | case BC_VARG: | 2863 | case BC_VARG: |
2855 | dasm_put(Dst, 15699, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); | 2864 | dasm_put(Dst, 15702, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); |
2856 | dasm_put(Dst, 15863, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 2865 | dasm_put(Dst, 15866, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
2857 | break; | 2866 | break; |
2858 | 2867 | ||
2859 | /* -- Returns ----------------------------------------------------------- */ | 2868 | /* -- Returns ----------------------------------------------------------- */ |
2860 | 2869 | ||
2861 | case BC_RETM: | 2870 | case BC_RETM: |
2862 | dasm_put(Dst, 15075); | 2871 | dasm_put(Dst, 15078); |
2863 | break; | 2872 | break; |
2864 | 2873 | ||
2865 | case BC_RET: case BC_RET0: case BC_RET1: | 2874 | case BC_RET: case BC_RET0: case BC_RET1: |
2866 | if (op != BC_RET0) { | 2875 | if (op != BC_RET0) { |
2867 | dasm_put(Dst, 15934); | 2876 | dasm_put(Dst, 15937); |
2868 | } | 2877 | } |
2869 | dasm_put(Dst, 15938, FRAME_TYPE); | 2878 | dasm_put(Dst, 15941, FRAME_TYPE); |
2870 | switch (op) { | 2879 | switch (op) { |
2871 | case BC_RET: | 2880 | case BC_RET: |
2872 | dasm_put(Dst, 15957); | 2881 | dasm_put(Dst, 15960); |
2873 | break; | 2882 | break; |
2874 | case BC_RET1: | 2883 | case BC_RET1: |
2875 | dasm_put(Dst, 16015); | 2884 | dasm_put(Dst, 16018); |
2876 | /* fallthrough */ | 2885 | /* fallthrough */ |
2877 | case BC_RET0: | 2886 | case BC_RET0: |
2878 | dasm_put(Dst, 16031); | 2887 | dasm_put(Dst, 16034); |
2879 | default: | 2888 | default: |
2880 | break; | 2889 | break; |
2881 | } | 2890 | } |
2882 | dasm_put(Dst, 16042, Dt7(->pc), PC2PROTO(k)); | 2891 | dasm_put(Dst, 16045, Dt7(->pc), PC2PROTO(k)); |
2883 | if (op == BC_RET) { | 2892 | if (op == BC_RET) { |
2884 | dasm_put(Dst, 16084, LJ_TNIL); | 2893 | dasm_put(Dst, 16087, LJ_TNIL); |
2885 | } else { | 2894 | } else { |
2886 | dasm_put(Dst, 16093, LJ_TNIL); | 2895 | dasm_put(Dst, 16096, LJ_TNIL); |
2887 | } | 2896 | } |
2888 | dasm_put(Dst, 16100, -FRAME_VARG, FRAME_TYPEP); | 2897 | dasm_put(Dst, 16103, -FRAME_VARG, FRAME_TYPEP); |
2889 | if (op != BC_RET0) { | 2898 | if (op != BC_RET0) { |
2890 | dasm_put(Dst, 16124); | 2899 | dasm_put(Dst, 16127); |
2891 | } | 2900 | } |
2892 | dasm_put(Dst, 4883); | 2901 | dasm_put(Dst, 4883); |
2893 | break; | 2902 | break; |
@@ -2897,7 +2906,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2897 | 2906 | ||
2898 | case BC_FORL: | 2907 | case BC_FORL: |
2899 | #if LJ_HASJIT | 2908 | #if LJ_HASJIT |
2900 | dasm_put(Dst, 16128, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2909 | dasm_put(Dst, 16131, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2901 | #endif | 2910 | #endif |
2902 | break; | 2911 | break; |
2903 | 2912 | ||
@@ -2909,104 +2918,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2909 | case BC_FORI: | 2918 | case BC_FORI: |
2910 | case BC_IFORL: | 2919 | case BC_IFORL: |
2911 | vk = (op == BC_IFORL || op == BC_JFORL); | 2920 | vk = (op == BC_IFORL || op == BC_JFORL); |
2912 | dasm_put(Dst, 16149); | 2921 | dasm_put(Dst, 16152); |
2913 | if (LJ_DUALNUM) { | 2922 | if (LJ_DUALNUM) { |
2914 | dasm_put(Dst, 16153, LJ_TISNUM); | 2923 | dasm_put(Dst, 16156, LJ_TISNUM); |
2915 | if (!vk) { | 2924 | if (!vk) { |
2916 | dasm_put(Dst, 16163, LJ_TISNUM, LJ_TISNUM); | 2925 | dasm_put(Dst, 16166, LJ_TISNUM, LJ_TISNUM); |
2917 | } else { | 2926 | } else { |
2918 | dasm_put(Dst, 16192); | 2927 | #ifdef LUA_USE_ASSERT |
2928 | dasm_put(Dst, 16195, LJ_TISNUM, LJ_TISNUM); | ||
2929 | #endif | ||
2930 | dasm_put(Dst, 16214); | ||
2919 | } | 2931 | } |
2920 | dasm_put(Dst, 16211, LJ_TISNUM); | 2932 | dasm_put(Dst, 16233, LJ_TISNUM); |
2921 | if (op == BC_FORI) { | 2933 | if (op == BC_FORI) { |
2922 | dasm_put(Dst, 16222, -BCBIAS_J*4); | 2934 | dasm_put(Dst, 16244, -BCBIAS_J*4); |
2923 | } else if (op == BC_JFORI) { | 2935 | } else if (op == BC_JFORI) { |
2924 | dasm_put(Dst, 16236, -BCBIAS_J*4, BC_JLOOP); | 2936 | dasm_put(Dst, 16258, -BCBIAS_J*4, BC_JLOOP); |
2925 | } else if (op == BC_IFORL) { | 2937 | } else if (op == BC_IFORL) { |
2926 | dasm_put(Dst, 16254, -BCBIAS_J*4); | 2938 | dasm_put(Dst, 16276, -BCBIAS_J*4); |
2927 | } else { | 2939 | } else { |
2928 | dasm_put(Dst, 16246, BC_JLOOP); | 2940 | dasm_put(Dst, 16268, BC_JLOOP); |
2929 | } | 2941 | } |
2930 | dasm_put(Dst, 16268); | 2942 | dasm_put(Dst, 16290); |
2931 | if (vk) { | 2943 | if (vk) { |
2932 | dasm_put(Dst, 16291); | 2944 | dasm_put(Dst, 16313); |
2933 | } | 2945 | } |
2934 | dasm_put(Dst, 16211, LJ_TISNUM); | 2946 | dasm_put(Dst, 16233, LJ_TISNUM); |
2935 | if (op == BC_FORI) { | 2947 | if (op == BC_FORI) { |
2936 | dasm_put(Dst, 16300); | 2948 | dasm_put(Dst, 16322); |
2937 | } else if (op == BC_JFORI) { | 2949 | } else if (op == BC_JFORI) { |
2938 | dasm_put(Dst, 16305, -BCBIAS_J*4, BC_JLOOP); | 2950 | dasm_put(Dst, 16327, -BCBIAS_J*4, BC_JLOOP); |
2939 | } else if (op == BC_IFORL) { | 2951 | } else if (op == BC_IFORL) { |
2940 | dasm_put(Dst, 16319); | 2952 | dasm_put(Dst, 16341); |
2941 | } else { | 2953 | } else { |
2942 | dasm_put(Dst, 16315, BC_JLOOP); | 2954 | dasm_put(Dst, 16337, BC_JLOOP); |
2943 | } | 2955 | } |
2944 | dasm_put(Dst, 16324); | 2956 | dasm_put(Dst, 16346); |
2945 | } else if (!vk) { | 2957 | } else if (!vk) { |
2946 | dasm_put(Dst, 16331, LJ_TISNUM); | 2958 | dasm_put(Dst, 16353, LJ_TISNUM); |
2947 | } | 2959 | } |
2948 | if (!vk) { | 2960 | if (!vk) { |
2949 | dasm_put(Dst, 16337, LJ_TISNUM); | 2961 | dasm_put(Dst, 16359, LJ_TISNUM); |
2962 | } else { | ||
2963 | #ifdef LUA_USE_ASSERT | ||
2964 | dasm_put(Dst, 16373, LJ_TISNUM, LJ_TISNUM); | ||
2965 | #endif | ||
2950 | } | 2966 | } |
2951 | dasm_put(Dst, 16351); | 2967 | dasm_put(Dst, 16392); |
2952 | if (!vk) { | 2968 | if (!vk) { |
2953 | dasm_put(Dst, 16355, LJ_TISNUM); | 2969 | dasm_put(Dst, 16396, LJ_TISNUM); |
2954 | } | 2970 | } |
2955 | if (sse) { | 2971 | if (sse) { |
2956 | dasm_put(Dst, 16364); | 2972 | dasm_put(Dst, 16405); |
2957 | if (vk) { | 2973 | if (vk) { |
2958 | dasm_put(Dst, 16376); | 2974 | dasm_put(Dst, 16417); |
2959 | } else { | 2975 | } else { |
2960 | dasm_put(Dst, 16395); | 2976 | dasm_put(Dst, 16436); |
2961 | } | 2977 | } |
2962 | dasm_put(Dst, 16400); | 2978 | dasm_put(Dst, 16441); |
2963 | } else { | 2979 | } else { |
2964 | dasm_put(Dst, 16413); | 2980 | dasm_put(Dst, 16454); |
2965 | if (vk) { | 2981 | if (vk) { |
2966 | dasm_put(Dst, 16419); | 2982 | dasm_put(Dst, 16460); |
2967 | } else { | 2983 | } else { |
2968 | dasm_put(Dst, 16435); | 2984 | dasm_put(Dst, 16476); |
2969 | } | 2985 | } |
2970 | dasm_put(Dst, 16443); | 2986 | dasm_put(Dst, 16484); |
2971 | if (cmov) { | 2987 | if (cmov) { |
2972 | dasm_put(Dst, 3899); | 2988 | dasm_put(Dst, 3899); |
2973 | } else { | 2989 | } else { |
2974 | dasm_put(Dst, 3905); | 2990 | dasm_put(Dst, 3905); |
2975 | } | 2991 | } |
2976 | if (!cmov) { | 2992 | if (!cmov) { |
2977 | dasm_put(Dst, 16448); | 2993 | dasm_put(Dst, 16489); |
2978 | } | 2994 | } |
2979 | } | 2995 | } |
2980 | if (op == BC_FORI) { | 2996 | if (op == BC_FORI) { |
2981 | if (LJ_DUALNUM) { | 2997 | if (LJ_DUALNUM) { |
2982 | dasm_put(Dst, 16454); | 2998 | dasm_put(Dst, 16495); |
2983 | } else { | 2999 | } else { |
2984 | dasm_put(Dst, 16459, -BCBIAS_J*4); | 3000 | dasm_put(Dst, 16500, -BCBIAS_J*4); |
2985 | } | 3001 | } |
2986 | } else if (op == BC_JFORI) { | 3002 | } else if (op == BC_JFORI) { |
2987 | dasm_put(Dst, 16469, -BCBIAS_J*4, BC_JLOOP); | 3003 | dasm_put(Dst, 16510, -BCBIAS_J*4, BC_JLOOP); |
2988 | } else if (op == BC_IFORL) { | 3004 | } else if (op == BC_IFORL) { |
2989 | if (LJ_DUALNUM) { | 3005 | if (LJ_DUALNUM) { |
2990 | dasm_put(Dst, 16483); | 3006 | dasm_put(Dst, 16524); |
2991 | } else { | 3007 | } else { |
2992 | dasm_put(Dst, 16488, -BCBIAS_J*4); | 3008 | dasm_put(Dst, 16529, -BCBIAS_J*4); |
2993 | } | 3009 | } |
2994 | } else { | 3010 | } else { |
2995 | dasm_put(Dst, 16479, BC_JLOOP); | 3011 | dasm_put(Dst, 16520, BC_JLOOP); |
2996 | } | 3012 | } |
2997 | if (LJ_DUALNUM) { | 3013 | if (LJ_DUALNUM) { |
2998 | dasm_put(Dst, 11097); | 3014 | dasm_put(Dst, 11100); |
2999 | } else { | 3015 | } else { |
3000 | dasm_put(Dst, 11838); | 3016 | dasm_put(Dst, 11841); |
3001 | } | 3017 | } |
3002 | if (sse) { | 3018 | if (sse) { |
3003 | dasm_put(Dst, 16498); | 3019 | dasm_put(Dst, 16539); |
3004 | } | 3020 | } |
3005 | break; | 3021 | break; |
3006 | 3022 | ||
3007 | case BC_ITERL: | 3023 | case BC_ITERL: |
3008 | #if LJ_HASJIT | 3024 | #if LJ_HASJIT |
3009 | dasm_put(Dst, 16128, HOTCOUNT_PCMASK, GG_DISP2HOT); | 3025 | dasm_put(Dst, 16131, HOTCOUNT_PCMASK, GG_DISP2HOT); |
3010 | #endif | 3026 | #endif |
3011 | break; | 3027 | break; |
3012 | 3028 | ||
@@ -3015,33 +3031,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
3015 | break; | 3031 | break; |
3016 | #endif | 3032 | #endif |
3017 | case BC_IITERL: | 3033 | case BC_IITERL: |
3018 | dasm_put(Dst, 16509, LJ_TNIL); | 3034 | dasm_put(Dst, 16550, LJ_TNIL); |
3019 | if (op == BC_JITERL) { | 3035 | if (op == BC_JITERL) { |
3020 | dasm_put(Dst, 16524, BC_JLOOP); | 3036 | dasm_put(Dst, 16565, BC_JLOOP); |
3021 | } else { | 3037 | } else { |
3022 | dasm_put(Dst, 16538, -BCBIAS_J*4); | 3038 | dasm_put(Dst, 16579, -BCBIAS_J*4); |
3023 | } | 3039 | } |
3024 | dasm_put(Dst, 11198); | 3040 | dasm_put(Dst, 11201); |
3025 | break; | 3041 | break; |
3026 | 3042 | ||
3027 | case BC_LOOP: | 3043 | case BC_LOOP: |
3028 | #if LJ_HASJIT | 3044 | #if LJ_HASJIT |
3029 | dasm_put(Dst, 16128, HOTCOUNT_PCMASK, GG_DISP2HOT); | 3045 | dasm_put(Dst, 16131, HOTCOUNT_PCMASK, GG_DISP2HOT); |
3030 | #endif | 3046 | #endif |
3031 | break; | 3047 | break; |
3032 | 3048 | ||
3033 | case BC_ILOOP: | 3049 | case BC_ILOOP: |
3034 | dasm_put(Dst, 11200); | 3050 | dasm_put(Dst, 11203); |
3035 | break; | 3051 | break; |
3036 | 3052 | ||
3037 | case BC_JLOOP: | 3053 | case BC_JLOOP: |
3038 | #if LJ_HASJIT | 3054 | #if LJ_HASJIT |
3039 | dasm_put(Dst, 16554, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); | 3055 | dasm_put(Dst, 16595, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); |
3040 | #endif | 3056 | #endif |
3041 | break; | 3057 | break; |
3042 | 3058 | ||
3043 | case BC_JMP: | 3059 | case BC_JMP: |
3044 | dasm_put(Dst, 16577, -BCBIAS_J*4); | 3060 | dasm_put(Dst, 16618, -BCBIAS_J*4); |
3045 | break; | 3061 | break; |
3046 | 3062 | ||
3047 | /* -- Function headers -------------------------------------------------- */ | 3063 | /* -- Function headers -------------------------------------------------- */ |
@@ -3055,7 +3071,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
3055 | 3071 | ||
3056 | case BC_FUNCF: | 3072 | case BC_FUNCF: |
3057 | #if LJ_HASJIT | 3073 | #if LJ_HASJIT |
3058 | dasm_put(Dst, 16601, HOTCOUNT_PCMASK, GG_DISP2HOT); | 3074 | dasm_put(Dst, 16642, HOTCOUNT_PCMASK, GG_DISP2HOT); |
3059 | #endif | 3075 | #endif |
3060 | case BC_FUNCV: /* NYI: compiled vararg functions. */ | 3076 | case BC_FUNCV: /* NYI: compiled vararg functions. */ |
3061 | break; | 3077 | break; |
@@ -3065,13 +3081,13 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
3065 | break; | 3081 | break; |
3066 | #endif | 3082 | #endif |
3067 | case BC_IFUNCF: | 3083 | case BC_IFUNCF: |
3068 | dasm_put(Dst, 16622, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); | 3084 | dasm_put(Dst, 16663, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); |
3069 | if (op == BC_JFUNCF) { | 3085 | if (op == BC_JFUNCF) { |
3070 | dasm_put(Dst, 16652, BC_JLOOP); | 3086 | dasm_put(Dst, 16693, BC_JLOOP); |
3071 | } else { | 3087 | } else { |
3072 | dasm_put(Dst, 11200); | 3088 | dasm_put(Dst, 11203); |
3073 | } | 3089 | } |
3074 | dasm_put(Dst, 16661, LJ_TNIL); | 3090 | dasm_put(Dst, 16702, LJ_TNIL); |
3075 | break; | 3091 | break; |
3076 | 3092 | ||
3077 | case BC_JFUNCV: | 3093 | case BC_JFUNCV: |
@@ -3082,30 +3098,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
3082 | break; /* NYI: compiled vararg functions. */ | 3098 | break; /* NYI: compiled vararg functions. */ |
3083 | 3099 | ||
3084 | case BC_IFUNCV: | 3100 | case BC_IFUNCV: |
3085 | dasm_put(Dst, 16683, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); | 3101 | dasm_put(Dst, 16724, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); |
3086 | if (op == BC_JFUNCV) { | 3102 | if (op == BC_JFUNCV) { |
3087 | dasm_put(Dst, 16652, BC_JLOOP); | 3103 | dasm_put(Dst, 16693, BC_JLOOP); |
3088 | } else { | 3104 | } else { |
3089 | dasm_put(Dst, 16774, -4+PC2PROTO(k)); | 3105 | dasm_put(Dst, 16815, -4+PC2PROTO(k)); |
3090 | } | 3106 | } |
3091 | dasm_put(Dst, 16796, LJ_TNIL); | 3107 | dasm_put(Dst, 16837, LJ_TNIL); |
3092 | break; | 3108 | break; |
3093 | 3109 | ||
3094 | case BC_FUNCC: | 3110 | case BC_FUNCC: |
3095 | case BC_FUNCCW: | 3111 | case BC_FUNCCW: |
3096 | dasm_put(Dst, 16818, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); | 3112 | dasm_put(Dst, 16859, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); |
3097 | if (op == BC_FUNCC) { | 3113 | if (op == BC_FUNCC) { |
3098 | dasm_put(Dst, 16847); | 3114 | dasm_put(Dst, 16888); |
3099 | } else { | 3115 | } else { |
3100 | dasm_put(Dst, 16851); | 3116 | dasm_put(Dst, 16892); |
3101 | } | 3117 | } |
3102 | dasm_put(Dst, 16859, DISPATCH_GL(vmstate), ~LJ_VMST_C); | 3118 | dasm_put(Dst, 16900, DISPATCH_GL(vmstate), ~LJ_VMST_C); |
3103 | if (op == BC_FUNCC) { | 3119 | if (op == BC_FUNCC) { |
3104 | dasm_put(Dst, 16868); | 3120 | dasm_put(Dst, 16909); |
3105 | } else { | 3121 | } else { |
3106 | dasm_put(Dst, 16872, DISPATCH_GL(wrapf)); | 3122 | dasm_put(Dst, 16913, DISPATCH_GL(wrapf)); |
3107 | } | 3123 | } |
3108 | dasm_put(Dst, 16877, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 3124 | dasm_put(Dst, 16918, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
3109 | break; | 3125 | break; |
3110 | 3126 | ||
3111 | /* ---------------------------------------------------------------------- */ | 3127 | /* ---------------------------------------------------------------------- */ |
@@ -3133,7 +3149,7 @@ static int build_backend(BuildCtx *ctx) | |||
3133 | 3149 | ||
3134 | build_subroutines(ctx, cmov, sse); | 3150 | build_subroutines(ctx, cmov, sse); |
3135 | 3151 | ||
3136 | dasm_put(Dst, 16902); | 3152 | dasm_put(Dst, 16943); |
3137 | for (op = 0; op < BC__MAX; op++) | 3153 | for (op = 0; op < BC__MAX; op++) |
3138 | build_ins(ctx, (BCOp)op, op, cmov, sse); | 3154 | build_ins(ctx, (BCOp)op, op, cmov, sse); |
3139 | 3155 | ||