summaryrefslogtreecommitdiff
path: root/src/buildvm_x64.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x64.h')
-rw-r--r--src/buildvm_x64.h1374
1 files changed, 695 insertions, 679 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
15static const unsigned char build_actionlist[15911] = { 15static 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
786enum { 788enum {
@@ -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. */
1824static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1833static 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