summaryrefslogtreecommitdiff
path: root/src/buildvm_x64win.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x64win.h')
-rw-r--r--src/buildvm_x64win.h1179
1 files changed, 589 insertions, 590 deletions
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h
index 33083596..d6d580e2 100644
--- a/src/buildvm_x64win.h
+++ b/src/buildvm_x64win.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[14509] = { 15static const unsigned char build_actionlist[14499] = {
16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, 16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72,
17 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, 17 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,
18 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237, 18 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,
@@ -422,303 +422,302 @@ static const unsigned char build_actionlist[14509] = {
422 133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132, 422 133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,
423 244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244, 423 244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,
424 3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248, 424 3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,
425 6,15,132,244,5,15,130,244,253,80,72,184,237,237,102,72,15,110,200,252,242, 425 6,15,132,244,5,15,130,244,253,252,247,216,232,244,1,72,184,237,237,102,72,
426 15,94,200,88,15,40,193,252,247,216,131,252,248,1,15,132,244,5,252,233,244, 426 15,110,200,252,242,15,94,200,15,40,193,195,248,7,72,184,237,237,102,72,15,
427 1,248,7,72,184,237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209, 427 110,192,195,248,8,102,72,15,126,200,72,209,224,72,193,192,12,72,61,252,254,
428 224,72,193,192,12,72,61,252,254,15,0,0,15,132,244,248,255,102,72,15,126,192, 428 15,0,0,15,132,244,248,102,72,15,126,192,72,209,224,15,132,244,250,255,72,
429 72,209,224,15,132,244,250,72,193,192,12,72,61,252,254,15,0,0,15,132,244,251, 429 193,192,12,72,61,252,254,15,0,0,15,132,244,251,252,242,15,17,76,36,16,252,
430 252,242,15,17,76,36,16,252,242,15,17,68,36,8,221,68,36,16,221,68,36,8,217, 430 242,15,17,68,36,8,221,68,36,16,221,68,36,8,217,252,241,217,192,217,252,252,
431 252,241,217,192,217,252,252,220,252,233,217,201,217,252,240,217,232,222,193, 431 220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,221,92,
432 217,252,253,221,217,221,92,36,8,252,242,15,16,68,36,8,195,248,9,72,184,237, 432 36,8,252,242,15,16,68,36,8,195,248,9,72,184,237,237,102,72,15,110,208,102,
433 237,102,72,15,110,208,102,15,46,194,15,132,244,247,15,40,193,248,1,195,248, 433 15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,
434 2,72,184,237,237,102,72,15,110,208,102,15,84,194,72,184,237,237,102,72,15, 434 15,110,208,102,15,84,194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,
435 110,208,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,136,196,15,146, 435 132,244,1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,
436 208,48,224,15,133,244,1,248,3,72,184,237,237,255,102,72,15,110,192,195,248, 436 248,3,72,184,237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,
437 4,102,15,80,193,133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,133, 437 15,133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,
438 192,15,132,244,3,15,87,192,195,248,154,255,131,252,250,1,15,130,244,83,15, 438 192,195,248,154,255,131,252,250,1,15,130,244,83,15,132,244,85,131,252,250,
439 132,244,85,131,252,250,3,15,130,244,105,15,135,244,248,252,242,15,81,192, 439 3,15,130,244,105,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,
440 195,248,2,252,242,15,17,68,36,8,221,68,36,8,131,252,250,5,15,135,244,248, 440 68,36,8,221,68,36,8,131,252,250,5,15,135,244,248,88,15,132,244,247,232,244,
441 88,15,132,244,247,232,244,89,80,252,233,244,253,248,1,232,244,150,255,80, 441 89,80,252,233,244,253,248,1,232,244,150,255,80,252,233,244,253,248,2,131,
442 252,233,244,253,248,2,131,252,250,7,15,132,244,247,15,135,244,248,217,252, 442 252,250,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,
443 237,217,201,217,252,241,252,233,244,253,248,1,217,232,217,201,217,252,241, 443 233,244,253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,
444 252,233,244,253,248,2,131,252,250,9,15,132,244,247,15,135,244,248,217,252, 444 250,9,15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,
445 236,217,201,217,252,241,252,233,244,253,248,1,255,217,252,254,252,233,244, 445 244,253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,250,11,15,132,
446 253,248,2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,252,233, 446 244,247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,
447 244,253,248,1,217,252,242,221,216,248,7,221,92,36,8,252,242,15,16,68,36,8, 447 216,248,7,221,92,36,8,252,242,15,16,68,36,8,195,255,139,84,36,12,221,68,36,
448 195,255,139,84,36,12,221,68,36,4,131,252,250,1,15,130,244,83,15,132,244,85, 448 4,131,252,250,1,15,130,244,83,15,132,244,85,131,252,250,3,15,130,244,105,
449 131,252,250,3,15,130,244,105,15,135,244,248,217,252,250,195,248,2,131,252, 449 15,135,244,248,217,252,250,195,248,2,131,252,250,5,15,130,244,89,15,132,244,
450 250,5,15,130,244,89,15,132,244,150,131,252,250,7,15,132,244,247,15,135,244, 450 150,131,252,250,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,
451 248,217,252,237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241, 451 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,250,9,15,132,
452 195,248,2,131,252,250,9,15,132,244,247,255,15,135,244,248,217,252,236,217, 452 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,
453 201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,250,11,15,132,244, 453 252,254,195,248,2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,
454 247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216,195,255,248, 454 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,155,255,65,131,252,
455 9,204,255,248,155,255,65,131,252,248,1,15,132,244,247,15,135,244,248,252, 455 248,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,
456 242,15,88,193,195,248,1,252,242,15,92,193,195,248,2,65,131,252,248,3,15,132, 456 92,193,195,248,2,65,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15,
457 244,247,15,135,244,248,252,242,15,89,193,195,248,1,252,242,15,94,193,195, 457 89,193,195,248,1,252,242,15,94,193,195,248,2,65,131,252,248,5,15,130,244,
458 248,2,65,131,252,248,5,15,130,244,149,15,132,244,108,65,131,252,248,7,15, 458 149,15,132,244,108,65,131,252,248,7,15,132,244,247,15,135,244,248,72,184,
459 132,244,247,15,135,244,248,72,184,237,237,255,102,72,15,110,200,15,87,193, 459 237,237,255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,
460 195,248,1,72,184,237,237,102,72,15,110,200,15,84,193,195,248,2,65,131,252, 460 110,200,15,84,193,195,248,2,65,131,252,248,9,15,135,244,248,252,242,15,17,
461 248,9,15,135,244,248,252,242,15,17,68,36,8,252,242,15,17,76,36,16,221,68, 461 68,36,8,252,242,15,17,76,36,16,221,68,36,8,221,68,36,16,15,132,244,247,217,
462 36,8,221,68,36,16,15,132,244,247,217,252,243,248,7,221,92,36,8,252,242,15, 462 252,243,248,7,221,92,36,8,252,242,15,16,68,36,8,195,248,1,217,201,217,252,
463 16,68,36,8,195,248,1,217,201,217,252,253,221,217,252,233,244,7,248,2,65,131, 463 253,221,217,252,233,244,7,248,2,65,131,252,248,11,15,132,244,247,15,135,244,
464 252,248,11,15,132,244,247,15,135,244,255,252,242,15,93,193,195,248,1,252, 464 255,252,242,15,93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68,
465 242,15,95,193,195,248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131, 465 36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,
466 252,248,1,15,132,244,247,15,135,244,248,222,193,195,248,1,222,252,233,195, 466 222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,
467 248,2,131,252,248,3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252, 467 244,248,222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,
468 249,195,248,2,131,252,248,5,15,130,244,149,15,132,244,108,131,252,248,7,15, 468 149,15,132,244,108,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,
469 132,244,247,15,135,244,248,255,221,216,217,224,195,248,1,221,216,217,225, 469 217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,
470 195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217,252,243,195,248, 470 15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,
471 1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15, 471 2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,
472 135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,252,233,218,209, 472 217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,223,224,252,246,
473 221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,248,217,201,248, 473 196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,
474 2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,244,248,217,201, 474 246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,156,137,200,86,
475 248,2,221,216,195,255,248,156,137,200,86,72,137,214,83,15,162,137,6,137,94, 475 72,137,214,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,94,195,248,157,
476 4,137,78,8,137,86,12,91,94,195,248,157,255,85,72,137,229,83,72,137,203,139, 476 255,85,72,137,229,83,72,137,203,139,131,233,72,41,196,255,15,182,139,233,
477 131,233,72,41,196,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1,72, 477 131,252,233,1,15,136,244,248,248,1,72,139,132,253,203,233,72,137,132,253,
478 139,132,253,203,233,72,137,132,253,204,233,131,252,233,1,15,137,244,1,248, 478 204,233,131,252,233,1,15,137,244,1,248,2,15,182,131,233,72,139,139,233,72,
479 2,15,182,131,233,72,139,139,233,72,139,147,233,76,139,131,233,76,139,139, 479 139,147,233,76,139,131,233,76,139,139,233,133,192,15,132,244,251,15,40,131,
480 233,133,192,15,132,244,251,15,40,131,233,15,40,139,233,15,40,147,233,15,40, 480 233,15,40,139,233,15,40,147,233,15,40,155,233,248,5,255,252,255,147,233,72,
481 155,233,248,5,255,252,255,147,233,72,137,131,233,15,41,131,233,255,72,139, 481 137,131,233,15,41,131,233,255,72,139,93,252,248,201,195,255,249,255,129,124,
482 93,252,248,201,195,255,249,255,129,124,253,202,4,239,15,135,244,41,129,124, 482 253,202,4,239,15,135,244,41,129,124,253,194,4,239,15,135,244,41,255,252,242,
483 253,194,4,239,15,135,244,41,255,252,242,15,16,4,194,131,198,4,102,15,46,4, 483 15,16,4,194,131,198,4,102,15,46,4,202,255,221,4,202,221,4,194,131,198,4,255,
484 202,255,221,4,202,221,4,194,131,198,4,255,223,252,233,221,216,255,218,252, 484 223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,248,255,15,
485 233,223,224,158,255,15,134,244,248,255,15,131,244,248,255,248,1,15,183,70, 485 131,244,248,255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,
486 252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193, 486 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,108,194,
487 232,16,252,255,36,252,235,255,139,108,194,4,131,198,4,129,252,253,239,15, 487 4,131,198,4,129,252,253,239,15,135,244,251,129,124,253,202,4,239,15,135,244,
488 135,244,251,129,124,253,202,4,239,15,135,244,251,255,252,242,15,16,4,194, 488 251,255,252,242,15,16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,15,
489 102,15,46,4,202,255,221,4,202,221,4,194,255,15,138,244,248,15,133,244,248, 489 138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,15,
490 255,15,138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253, 490 183,70,252,254,141,180,253,134,233,248,2,255,248,2,15,183,70,252,254,141,
491 134,233,248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,129, 491 180,253,134,233,248,1,255,129,252,253,239,15,132,244,46,129,124,253,202,4,
492 252,253,239,15,132,244,46,129,124,253,202,4,239,15,132,244,46,255,57,108, 492 239,15,132,244,46,255,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,
493 202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193, 493 1,139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,
494 15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,15,132, 494 169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,
495 244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255, 495 252,237,255,189,1,0,0,0,255,252,233,244,45,255,248,3,129,252,253,239,15,133,
496 252,233,244,45,255,248,3,129,252,253,239,15,133,244,2,252,233,244,46,255, 496 244,2,252,233,244,46,255,72,252,247,208,139,108,202,4,131,198,4,129,252,253,
497 72,252,247,208,139,108,202,4,131,198,4,129,252,253,239,15,133,244,249,139, 497 239,15,133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,4,129,252,
498 12,202,59,12,135,255,139,108,202,4,131,198,4,129,252,253,239,15,135,244,249, 498 253,239,15,135,244,249,255,252,242,15,16,4,199,102,15,46,4,202,255,221,4,
499 255,252,242,15,16,4,199,102,15,46,4,202,255,221,4,202,221,4,199,255,72,252, 499 202,221,4,199,255,72,252,247,208,139,108,202,4,131,198,4,57,197,255,15,133,
500 247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,252,254, 500 244,249,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,
501 141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16, 501 232,131,198,4,193,232,16,252,255,36,252,235,248,3,129,252,253,239,15,133,
502 252,255,36,252,235,248,3,129,252,253,239,15,133,244,2,252,233,244,46,255, 502 244,2,252,233,244,46,255,15,132,244,248,129,252,253,239,15,132,244,46,15,
503 15,132,244,248,129,252,253,239,15,132,244,46,15,183,70,252,254,141,180,253, 503 183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,
504 134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 504 198,4,193,232,16,252,255,36,252,235,255,139,108,194,4,131,198,4,129,252,253,
505 252,235,255,139,108,194,4,131,198,4,129,252,253,239,255,15,131,244,247,255, 505 239,255,15,131,244,247,255,15,130,244,247,255,137,108,202,4,139,44,194,137,
506 15,130,244,247,255,137,108,202,4,139,44,194,137,44,202,255,15,183,70,252, 506 44,202,255,15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15,
507 254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232, 507 182,232,131,198,4,193,232,16,252,255,36,252,235,255,72,139,44,194,72,137,
508 16,252,255,36,252,235,255,72,139,44,194,72,137,44,202,139,6,15,182,204,15, 508 44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
509 182,232,131,198,4,193,232,16,252,255,36,252,235,255,49,252,237,129,124,253, 509 255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,
510 194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4, 510 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,129,124,253,194,
511 193,232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,135,244,49,255, 511 4,239,15,135,244,49,255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,
512 252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,242,15, 512 200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,
513 17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133, 513 124,253,194,4,239,15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128,
514 244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,1,252,242,15,17, 514 233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,
515 4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,15,182,232,131, 515 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,
516 198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194,4,239,15,133,244, 516 253,194,4,239,15,133,244,51,139,12,194,137,213,232,251,1,19,255,252,242,15,
517 51,139,12,194,137,213,232,251,1,19,255,252,242,15,42,192,137,252,234,255, 517 42,192,137,252,234,255,15,182,78,252,253,252,233,244,1,255,15,182,252,236,
518 15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129,124, 518 15,182,192,255,129,124,253,252,234,4,239,15,135,244,47,255,252,242,15,16,
519 253,252,234,4,239,15,135,244,47,255,252,242,15,16,4,252,234,252,242,15,88, 519 4,252,234,252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,
520 4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,135,244, 520 252,234,4,239,15,135,244,48,255,252,242,15,16,4,199,252,242,15,88,4,252,234,
521 48,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252, 521 255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,50,129,
522 234,255,129,124,253,252,234,4,239,15,135,244,50,129,124,253,194,4,239,15, 522 124,253,194,4,239,15,135,244,50,255,252,242,15,16,4,252,234,252,242,15,88,
523 135,244,50,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252, 523 4,194,255,221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,15,
524 234,220,4,194,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252, 524 92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4,199,252,242,15,
525 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4, 525 92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,
526 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221, 526 242,15,92,4,194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,
527 4,252,234,220,36,194,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255, 527 252,242,15,89,4,199,255,221,4,252,234,220,12,199,255,252,242,15,16,4,199,
528 221,4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234, 528 252,242,15,89,4,252,234,255,221,4,199,220,12,252,234,255,252,242,15,16,4,
529 255,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4, 529 252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,
530 194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94, 530 4,252,234,252,242,15,94,4,199,255,221,4,252,234,220,52,199,255,252,242,15,
531 4,199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94, 531 16,4,199,252,242,15,94,4,252,234,255,221,4,199,220,52,252,234,255,252,242,
532 4,252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242, 532 15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,194,255,252,
533 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252, 533 242,15,16,4,252,234,252,242,15,16,12,199,255,221,4,252,234,221,4,199,255,
534 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252, 534 252,242,15,16,4,199,252,242,15,16,12,252,234,255,221,4,199,221,4,252,234,
535 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252, 535 255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252,234,221,4,
536 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,158,232,244, 536 194,255,248,158,232,244,149,255,252,233,244,158,255,232,244,108,255,15,182,
537 149,255,252,233,244,158,255,232,244,108,255,15,182,252,236,15,182,192,139, 537 252,236,15,182,192,139,76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,
538 76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,248,33,137,205,137,116, 538 248,33,137,205,137,116,36,100,232,251,1,26,139,149,233,133,192,15,133,244,
539 36,100,232,251,1,26,139,149,233,133,192,15,133,244,42,15,182,110,252,255, 539 42,15,182,110,252,255,15,182,78,252,253,72,139,4,252,234,72,137,4,202,139,
540 15,182,78,252,253,72,139,4,252,234,72,137,4,202,139,6,15,182,204,15,182,232, 540 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,72,252,
541 131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,4,135,199, 541 247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,
542 68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 542 131,198,4,193,232,16,252,255,36,252,235,255,15,191,192,252,242,15,42,192,
543 255,36,252,235,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,255,223, 543 252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,15,16,4,199,
544 70,252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17,4,202,255,221, 544 252,242,15,17,4,202,255,221,4,199,221,28,202,255,72,252,247,208,137,68,202,
545 4,199,221,28,202,255,72,252,247,208,137,68,202,4,139,6,15,182,204,15,182, 545 4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,
546 232,131,198,4,193,232,16,252,255,36,252,235,255,141,76,202,12,141,68,194, 546 141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,
547 4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139, 547 57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
548 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,106, 548 255,36,252,235,255,139,106,252,248,139,172,253,133,233,139,173,233,72,139,
549 252,248,139,172,253,133,233,139,173,233,72,139,69,0,72,137,4,202,139,6,15, 549 69,0,72,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
550 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,106,252, 550 36,252,235,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,173,
551 248,139,172,253,141,233,128,189,233,0,139,173,233,139,12,194,139,68,194,4, 551 233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,
552 137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244,248,248,1, 552 233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,
553 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2, 553 16,252,255,36,252,235,248,2,129,232,239,129,252,248,239,15,134,244,1,252,
554 129,232,239,129,252,248,239,15,134,244,1,252,246,129,233,235,15,132,244,1, 554 246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1,27,137,252,
555 135,213,141,139,233,255,232,251,1,27,137,252,234,252,233,244,1,255,72,252, 555 234,252,233,244,1,255,72,252,247,208,139,106,252,248,139,172,253,141,233,
556 247,208,139,106,252,248,139,172,253,141,233,139,12,135,139,133,233,137,8, 556 139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,
557 199,64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15, 557 248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
558 182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,252,246,129,233,235, 558 235,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,
559 15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,194,141,139,233,232,251, 559 213,137,194,141,139,233,232,251,1,27,137,252,234,252,233,244,1,255,139,106,
560 1,27,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,15,16,4,199, 560 252,248,255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,
561 255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,25,255,72, 561 242,15,17,1,255,221,25,255,72,252,247,208,139,106,252,248,139,172,253,141,
562 252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,65,4,139, 562 233,139,141,233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
563 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,141,180, 563 252,255,36,252,235,255,141,180,253,134,233,139,108,36,96,131,189,233,0,15,
564 253,134,233,139,108,36,96,131,189,233,0,15,132,244,247,137,149,233,141,20, 564 132,244,247,137,149,233,141,20,202,137,252,233,232,251,1,28,139,149,233,248,
565 202,137,252,233,232,251,1,28,139,149,233,248,1,139,6,15,182,204,15,182,232, 565 1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,
566 131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,108,36,96, 566 72,252,247,208,139,108,36,96,137,149,233,68,139,66,252,248,139,20,135,137,
567 137,149,233,68,139,66,252,248,139,20,135,137,252,233,137,116,36,100,232,251, 567 252,233,137,116,36,100,232,251,1,29,139,149,233,15,182,78,252,253,137,4,202,
568 1,29,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,
569 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,108,36,96,
570 137,149,233,139,139,233,59,139,233,137,116,36,100,15,131,244,251,248,1,65,
571 137,192,37,252,255,7,0,0,65,193,232,11,61,252,255,7,0,0,15,132,244,249,248,
572 2,137,252,233,137,194,232,251,1,30,139,149,233,15,182,78,252,253,137,4,202,
573 199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 568 199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
574 36,252,235,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,232,251,1,31, 569 36,252,235,255,139,108,36,96,137,149,233,139,139,233,59,139,233,137,116,36,
575 15,183,70,252,254,252,233,244,1,255,72,252,247,208,139,108,36,96,139,139, 570 100,15,131,244,251,248,1,65,137,192,37,252,255,7,0,0,65,193,232,11,61,252,
576 233,137,116,36,100,59,139,233,137,149,233,15,131,244,249,248,2,139,20,135, 571 255,7,0,0,15,132,244,249,248,2,137,252,233,137,194,232,251,1,30,139,149,233,
577 137,252,233,232,251,1,32,139,149,233,15,182,78,252,253,137,4,202,199,68,202, 572 15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,
578 4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, 573 131,198,4,193,232,16,252,255,36,252,235,248,3,184,1,8,0,0,252,233,244,2,248,
579 248,3,137,252,233,232,251,1,31,15,183,70,252,254,72,252,247,208,252,233,244, 574 5,137,252,233,232,251,1,31,15,183,70,252,254,252,233,244,1,255,72,252,247,
580 2,255,72,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,159, 575 208,139,108,36,96,139,139,233,137,116,36,100,59,139,233,137,149,233,15,131,
581 255,72,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,160, 576 244,249,248,2,139,20,135,137,252,233,232,251,1,32,139,149,233,15,182,78,252,
582 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139, 577 253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,
583 44,252,234,129,124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252, 578 232,16,252,255,36,252,235,248,3,137,252,233,232,251,1,31,15,183,70,252,254,
584 242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244,36,59,133,233, 579 72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,233,
585 15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,72,139, 580 139,4,135,252,233,244,159,255,72,252,247,208,139,106,252,248,139,173,233,
586 40,72,137,44,202,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 581 139,4,135,252,233,244,160,255,15,182,252,236,15,182,192,129,124,253,252,234,
587 255,36,252,235,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129, 582 4,239,15,133,244,36,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255,
588 233,235,15,132,244,36,15,182,78,252,253,248,3,255,199,68,202,4,237,252,233, 583 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,
589 244,1,248,5,129,124,253,194,4,239,15,133,244,36,139,4,194,252,233,244,159, 584 15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,
590 255,15,182,252,236,15,182,192,72,252,247,208,139,4,135,129,124,253,252,234, 585 239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,
591 4,239,15,133,244,34,139,44,252,234,248,159,139,141,233,35,136,233,105,201, 586 232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,
592 239,3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233,15,133,244, 587 249,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252,253,248,3,
593 250,129,121,253,4,239,15,132,244,251,15,182,70,252,253,72,139,41,72,137,44, 588 255,199,68,202,4,237,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,
594 194,248,2,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 589 36,139,4,194,252,233,244,159,255,15,182,252,236,15,182,192,72,252,247,208,
595 252,235,248,3,15,182,70,252,253,199,68,194,4,237,252,233,244,2,248,4,139, 590 139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,159,
596 137,233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246, 591 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,
597 129,233,235,15,133,244,3,252,233,244,34,255,15,182,252,236,15,182,192,129, 592 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,
598 124,253,252,234,4,239,15,133,244,35,139,44,252,234,59,133,233,15,131,244, 593 70,252,253,72,139,41,72,137,44,194,248,2,255,139,6,15,182,204,15,182,232,
599 35,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,72,139,40,72,137, 594 131,198,4,193,232,16,252,255,36,252,235,248,3,15,182,70,252,253,199,68,194,
600 44,202,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 595 4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,
601 252,235,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235, 596 233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,34,
602 15,132,244,35,255,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1, 597 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,35,139,
603 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139, 598 44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239,
604 44,252,234,129,124,253,194,4,239,15,135,244,251,255,15,133,244,39,59,133, 599 15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,232,
605 233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248, 600 131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,249,
606 1,252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,6, 601 139,141,233,252,246,129,233,235,15,132,244,35,255,15,182,78,252,253,248,3,
607 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189, 602 199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,253,
608 233,0,15,132,244,1,139,141,233,255,252,246,129,233,235,15,132,244,39,15,182, 603 252,234,4,239,15,133,244,39,139,44,252,234,129,124,253,194,4,239,15,135,244,
609 78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,39,139,4, 604 251,255,15,133,244,39,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,
610 194,252,233,244,160,248,7,128,165,233,235,139,139,233,137,171,233,137,141, 605 253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,
611 233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,72,252, 606 139,44,202,72,137,40,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
612 247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234, 607 255,36,252,235,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,
613 248,160,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1, 608 233,235,15,132,244,39,15,182,78,252,253,252,233,244,1,248,5,129,124,253,194,
614 129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239, 609 4,239,15,133,244,39,139,4,194,252,233,244,160,248,7,128,165,233,235,139,139,
615 15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182, 610 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182,252,
616 70,252,253,72,139,44,194,72,137,41,139,6,15,182,204,15,182,232,131,198,4, 611 236,15,182,192,72,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,
617 193,232,16,252,255,36,252,235,248,4,131,189,233,0,15,132,244,2,137,76,36, 612 244,37,139,44,252,234,248,160,139,141,233,35,136,233,105,201,239,198,133,
618 80,139,141,233,252,246,129,233,235,15,132,244,37,139,76,36,80,252,233,244, 613 233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,
619 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244, 614 251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,
620 252,252,246,129,233,235,15,132,244,37,248,6,137,68,36,80,199,68,36,84,237, 615 244,253,248,3,15,182,70,252,253,72,139,44,194,72,137,41,139,6,15,182,204,
621 137,108,36,32,139,76,36,96,137,145,233,76,141,68,36,80,137,252,234,137,205, 616 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,131,189,233,0,15,
622 137,116,36,100,232,251,1,33,139,149,233,139,108,36,32,137,193,252,233,244, 617 132,244,2,137,76,36,80,139,141,233,252,246,129,233,235,15,132,244,37,139,
623 2,248,7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3, 618 76,36,80,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,
624 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139, 619 233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37,248,6,137,68,
625 44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239, 620 36,80,199,68,36,84,237,137,108,36,32,139,76,36,96,137,145,233,76,141,68,36,
626 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202, 621 80,137,252,234,137,205,137,116,36,100,232,251,1,33,139,149,233,139,108,36,
627 72,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, 622 32,137,193,252,233,244,2,248,7,128,165,233,235,139,131,233,137,171,233,137,
628 235,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235, 623 133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,234,4,
629 15,132,244,38,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,139, 624 239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,
630 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,36, 625 233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,
631 80,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133, 626 253,248,2,72,139,12,202,72,137,8,139,6,15,182,204,15,182,232,131,198,4,193,
632 244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1,252,248,59,133,233, 627 232,16,252,255,36,252,235,248,3,131,189,233,0,15,132,244,1,255,139,141,233,
633 15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,72,139,41,131,193,8,72, 628 252,246,129,233,235,15,132,244,38,15,182,78,252,253,252,233,244,1,248,7,128,
634 137,47,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,80,139,6,15,182, 629 165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,
635 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,139,76,36,96, 630 244,2,255,137,124,36,80,139,60,199,248,1,141,12,202,139,105,252,248,252,246,
636 137,145,233,137,252,234,65,137,192,137,205,137,116,36,100,232,251,1,34,139, 631 133,233,235,15,133,244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1,
637 149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131, 632 252,248,59,133,233,15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,72,
638 233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,84,255,129,124,253, 633 139,41,131,193,8,72,137,47,131,199,8,131,232,1,15,133,244,3,248,4,139,124,
639 202,4,239,139,44,202,15,133,244,52,141,84,202,8,137,114,252,252,139,181,233, 634 36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
640 139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,141,76, 635 248,5,139,76,36,96,137,145,233,137,252,234,65,137,192,137,205,137,116,36,
641 202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,28,248,53, 636 100,232,251,1,34,139,149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,
642 139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137, 637 165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,
643 68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131,193,8,72,137,47,131, 638 84,255,129,124,253,202,4,239,139,44,202,15,133,244,52,141,84,202,8,137,114,
644 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,84,128,189,233, 639 252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,
645 1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,131,198, 640 252,235,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239,
646 4,252,255,36,252,235,248,5,255,252,247,198,237,15,133,244,4,15,182,78,252, 641 15,133,244,28,248,53,139,114,252,252,252,247,198,237,15,133,244,253,248,1,
647 253,72,252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252, 642 137,106,252,248,137,68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131,
648 233,244,4,248,7,129,252,238,239,252,247,198,237,15,133,244,254,41,252,242, 643 193,8,72,137,47,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,
649 137,215,139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255, 644 68,36,84,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,
650 141,76,202,8,72,139,105,232,72,139,65,252,240,72,137,41,72,137,65,8,139,105, 645 233,15,182,205,131,198,4,252,255,36,252,235,248,5,255,252,247,198,237,15,
651 224,139,65,228,137,105,252,248,137,65,252,252,129,252,248,239,184,237,15, 646 133,244,4,15,182,78,252,253,72,252,247,209,141,12,202,139,121,252,248,139,
652 133,244,28,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182, 647 191,233,139,191,233,252,233,244,4,248,7,129,252,238,239,252,247,198,237,15,
653 205,131,198,4,252,255,36,252,235,255,137,124,36,80,137,92,36,84,139,108,202, 648 133,244,254,41,252,242,137,215,139,114,252,252,252,233,244,1,248,8,129,198,
654 252,240,139,68,202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216, 649 239,252,233,244,1,255,141,76,202,8,72,139,105,232,72,139,65,252,240,72,137,
655 15,131,244,251,129,124,253,199,4,239,15,132,244,250,255,252,242,15,42,192, 650 41,72,137,65,8,139,105,224,139,65,228,137,105,252,248,137,65,252,252,129,
656 255,219,68,202,252,248,255,72,139,44,199,72,137,108,202,8,131,192,1,255,137, 651 252,248,239,184,237,15,133,244,28,137,202,137,114,252,252,139,181,233,139,
657 68,202,252,248,248,2,15,183,70,252,254,141,180,253,134,233,248,3,139,92,36, 652 14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,137,124,36,
658 84,139,124,36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 653 80,137,92,36,84,139,108,202,252,240,139,68,202,252,248,139,157,233,131,198,
659 36,252,235,248,4,131,192,1,255,137,68,202,252,248,255,252,233,244,1,248,5, 654 4,139,189,233,248,1,57,216,15,131,244,251,129,124,253,199,4,239,15,132,244,
660 41,216,248,6,59,133,233,15,135,244,3,105,252,248,239,3,189,233,129,191,233, 655 250,255,252,242,15,42,192,255,219,68,202,252,248,255,72,139,44,199,72,137,
661 239,15,132,244,253,141,92,24,1,72,139,175,233,72,139,135,233,72,137,44,202, 656 108,202,8,131,192,1,255,137,68,202,252,248,248,2,15,183,70,252,254,141,180,
662 72,137,68,202,8,137,92,202,252,248,252,233,244,2,248,7,131,192,1,252,233, 657 253,134,233,248,3,139,92,36,84,139,124,36,80,139,6,15,182,204,15,182,232,
663 244,6,255,129,124,253,202,252,236,239,15,133,244,251,139,108,202,232,129, 658 131,198,4,193,232,16,252,255,36,252,235,248,4,131,192,1,255,137,68,202,252,
664 124,253,202,252,244,239,15,133,244,251,129,124,253,202,252,252,239,15,133, 659 248,255,252,233,244,1,248,5,41,216,248,6,59,133,233,15,135,244,3,105,252,
665 244,251,128,189,233,235,15,133,244,251,141,180,253,134,233,199,68,202,252, 660 248,239,3,189,233,129,191,233,239,15,132,244,253,141,92,24,1,72,139,175,233,
666 248,0,0,0,0,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 661 72,139,135,233,72,137,44,202,72,137,68,202,8,137,92,202,252,248,252,233,244,
667 36,252,235,248,5,198,70,252,252,235,141,180,253,134,233,198,6,235,252,233, 662 2,248,7,131,192,1,252,233,244,6,255,129,124,253,202,252,236,239,15,133,244,
668 244,1,255,15,182,252,236,15,182,192,137,124,36,80,141,188,253,194,233,141, 663 251,139,108,202,232,129,124,253,202,252,244,239,15,133,244,251,129,124,253,
669 12,202,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233,252,248, 664 202,252,252,239,15,133,244,251,128,189,233,235,15,133,244,251,141,180,253,
670 57,215,15,131,244,248,248,1,72,139,71,252,248,131,199,8,72,137,1,131,193, 665 134,233,199,68,202,252,248,0,0,0,0,248,1,139,6,15,182,204,15,182,232,131,
671 8,57,252,233,15,131,244,249,57,215,15,130,244,1,248,2,199,65,4,237,131,193, 666 198,4,193,232,16,252,255,36,252,235,248,5,198,70,252,252,235,141,180,253,
672 8,57,252,233,15,130,244,2,248,3,139,124,36,80,139,6,15,182,204,15,182,232, 667 134,233,198,6,235,252,233,244,1,255,15,182,252,236,15,182,192,137,124,36,
673 131,198,4,193,232,16,252,255,36,252,235,248,5,199,68,36,84,1,0,0,0,137,208, 668 80,141,188,253,194,233,141,12,202,43,122,252,252,133,252,237,15,132,244,251,
674 41,252,248,15,134,244,3,137,197,193,252,237,3,131,197,1,137,108,36,84,139, 669 141,108,252,233,252,248,57,215,15,131,244,248,248,1,72,139,71,252,248,131,
675 108,36,96,1,200,59,133,233,15,135,244,253,248,6,255,72,139,71,252,248,131, 670 199,8,72,137,1,131,193,8,57,252,233,15,131,244,249,57,215,15,130,244,1,248,
676 199,8,72,137,1,131,193,8,57,215,15,130,244,6,252,233,244,3,248,7,137,149, 671 2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248,3,139,124,36,80,139,
677 233,137,141,233,137,116,36,100,41,215,139,84,36,84,131,252,234,1,137,252, 672 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,199,
678 233,232,251,1,0,139,149,233,139,141,233,1,215,252,233,244,6,255,193,225,3, 673 68,36,84,1,0,0,0,137,208,41,252,248,15,134,244,3,137,197,193,252,237,3,131,
679 255,248,1,139,114,252,252,137,68,36,84,252,247,198,237,15,133,244,253,255, 674 197,1,137,108,36,84,139,108,36,96,1,200,59,133,233,15,135,244,253,248,6,255,
680 248,13,137,215,131,232,1,15,132,244,249,248,2,72,139,44,15,72,137,111,252, 675 72,139,71,252,248,131,199,8,72,137,1,131,193,8,57,215,15,130,244,6,252,233,
681 248,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,84,15,182,110,252,255, 676 244,3,248,7,137,149,233,137,141,233,137,116,36,100,41,215,139,84,36,84,131,
682 248,5,57,197,15,135,244,252,255,72,139,44,10,72,137,106,252,248,255,248,5, 677 252,234,1,137,252,233,232,251,1,0,139,149,233,139,141,233,1,215,252,233,244,
683 56,70,252,255,15,135,244,252,255,15,182,78,252,253,72,252,247,209,141,20, 678 6,255,193,225,3,255,248,1,139,114,252,252,137,68,36,84,252,247,198,237,15,
684 202,139,122,252,248,139,191,233,139,191,233,139,6,15,182,204,15,182,232,131, 679 133,244,253,255,248,13,137,215,131,232,1,15,132,244,249,248,2,72,139,44,15,
685 198,4,193,232,16,252,255,36,252,235,248,6,255,199,71,252,252,237,131,199, 680 72,137,111,252,248,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,84,15,
686 8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,7,141,174,233, 681 182,110,252,255,248,5,57,197,15,135,244,252,255,72,139,44,10,72,137,106,252,
687 252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255,137,252,245,209, 682 248,255,248,5,56,70,252,255,15,135,244,252,255,15,182,78,252,253,72,252,247,
688 252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,141,255,141,12,202, 683 209,141,20,202,139,122,252,248,139,191,233,139,191,233,139,6,15,182,204,15,
689 255,129,121,253,4,239,15,135,244,54,129,121,253,12,239,15,135,244,54,255, 684 182,232,131,198,4,193,232,16,252,255,36,252,235,248,6,255,199,71,252,252,
690 139,105,20,255,129,252,253,239,15,135,244,54,255,252,242,15,16,1,252,242, 685 237,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,
691 15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244, 686 7,141,174,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255,
692 249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221, 687 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,141,
693 65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255, 688 255,141,12,202,255,129,121,253,4,239,15,135,244,54,129,121,253,12,239,15,
694 221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,70,252,254,255,15,131, 689 135,244,54,255,139,105,20,255,129,252,253,239,15,135,244,54,255,252,242,15,
695 244,248,141,180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15, 690 16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,
696 131,245,255,15,130,244,248,141,180,253,134,233,255,248,3,102,15,46,193,252, 691 15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,
697 233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,132,244,247,255,137, 692 24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,
698 105,252,252,139,41,137,105,252,248,252,233,245,255,141,180,253,134,233,139, 693 247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,70,252,254,
699 1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,72,139,128,233, 694 255,15,131,244,248,141,180,253,134,233,255,141,180,253,134,233,15,183,70,
700 139,108,36,96,137,147,233,137,171,233,76,137,100,36,80,76,137,108,36,32,76, 695 252,254,15,131,245,255,15,130,244,248,141,180,253,134,233,255,248,3,102,15,
701 137,116,36,24,76,137,124,36,16,72,137,225,72,129,252,236,239,102,15,127,49, 696 46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,132,244,
702 102,15,127,185,233,102,68,15,127,129,233,102,68,15,127,137,233,102,68,15, 697 247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,255,141,180,253,
703 127,145,233,102,68,15,127,153,233,102,68,15,127,161,233,102,68,15,127,169, 698 134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,72,
704 233,102,68,15,127,177,233,102,68,15,127,185,233,252,255,224,255,141,180,253, 699 139,128,233,139,108,36,96,137,147,233,137,171,233,76,137,100,36,80,76,137,
705 134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, 700 108,36,32,76,137,116,36,24,76,137,124,36,16,72,137,225,72,129,252,236,239,
706 255,137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244, 701 102,15,127,49,102,15,127,185,233,102,68,15,127,129,233,102,68,15,127,137,
707 143,255,139,190,233,139,108,36,96,141,12,202,59,141,233,15,135,244,23,15, 702 233,102,68,15,127,145,233,102,68,15,127,153,233,102,68,15,127,161,233,102,
708 182,142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245, 703 68,15,127,169,233,102,68,15,127,177,233,102,68,15,127,185,233,252,255,224,
709 255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244, 704 255,141,180,253,134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
710 2,255,141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252, 705 252,255,36,252,235,255,137,252,245,209,252,237,129,229,239,102,131,172,253,
711 248,139,108,36,96,141,12,200,59,141,233,15,135,244,22,137,209,137,194,15, 706 43,233,1,15,132,244,143,255,139,190,233,139,108,36,96,141,12,202,59,141,233,
712 182,174,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244, 707 15,135,244,23,15,182,142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,
713 249,139,121,252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252, 708 254,252,233,245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,
714 252,237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204, 709 244,3,252,233,244,2,255,141,44,197,237,141,4,194,139,122,252,248,137,104,
715 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,248,3,199,64,4,237, 710 252,252,137,120,252,248,139,108,36,96,141,12,200,59,141,233,15,135,244,22,
716 131,192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,72, 711 137,209,137,194,15,182,174,233,133,252,237,15,132,244,248,248,1,131,193,8,
717 139,189,233,139,108,36,96,141,68,194,252,248,137,149,233,141,136,233,59,141, 712 57,209,15,131,244,249,139,121,252,248,137,56,139,121,252,252,137,120,4,131,
718 233,137,133,233,255,137,252,233,255,72,137,252,250,137,252,233,255,15,135, 713 192,8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,
719 244,21,199,131,233,237,255,252,255,215,255,252,255,147,233,255,199,131,233, 714 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,248,
720 237,139,149,233,141,12,194,252,247,217,3,141,233,139,114,252,252,252,233, 715 3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,
721 244,12,255,254,0 716 106,252,248,72,139,189,233,139,108,36,96,141,68,194,252,248,137,149,233,141,
717 136,233,59,141,233,137,133,233,255,137,252,233,255,72,137,252,250,137,252,
718 233,255,15,135,244,21,199,131,233,237,255,252,255,215,255,252,255,147,233,
719 255,199,131,233,237,139,149,233,141,12,194,252,247,217,3,141,233,139,114,
720 252,252,252,233,244,12,255,254,0
722}; 721};
723 722
724enum { 723enum {
@@ -1440,44 +1439,44 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1440 } 1439 }
1441 dasm_put(Dst, 8302); 1440 dasm_put(Dst, 8302);
1442 dasm_put(Dst, 8387, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1441 dasm_put(Dst, 8387, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1443 dasm_put(Dst, 8488, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); 1442 dasm_put(Dst, 8490, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32));
1444 dasm_put(Dst, 8656); 1443 dasm_put(Dst, 8646);
1445#if LJ_HASJIT 1444#if LJ_HASJIT
1446 if (sse) { 1445 if (sse) {
1447 dasm_put(Dst, 8697); 1446 dasm_put(Dst, 8687);
1448 dasm_put(Dst, 8767); 1447 dasm_put(Dst, 8757);
1449 dasm_put(Dst, 8840); 1448 dasm_put(Dst, 8830);
1450 } else { 1449 } else {
1451 dasm_put(Dst, 8890); 1450 dasm_put(Dst, 8880);
1452 dasm_put(Dst, 8982); 1451 dasm_put(Dst, 8972);
1453 } 1452 }
1454 dasm_put(Dst, 9028); 1453 dasm_put(Dst, 9018);
1455#endif 1454#endif
1456 dasm_put(Dst, 9032); 1455 dasm_put(Dst, 9022);
1457 if (sse) { 1456 if (sse) {
1458 dasm_put(Dst, 9035, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1457 dasm_put(Dst, 9025, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1459 dasm_put(Dst, 9124, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1458 dasm_put(Dst, 9114, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1460 } else { 1459 } else {
1461 dasm_put(Dst, 9248); 1460 dasm_put(Dst, 9238);
1462 dasm_put(Dst, 9331); 1461 dasm_put(Dst, 9321);
1463 if (cmov) { 1462 if (cmov) {
1464 dasm_put(Dst, 9386); 1463 dasm_put(Dst, 9376);
1465 } else { 1464 } else {
1466 dasm_put(Dst, 9405); 1465 dasm_put(Dst, 9395);
1467 } 1466 }
1468 dasm_put(Dst, 9028); 1467 dasm_put(Dst, 9018);
1469 } 1468 }
1470 dasm_put(Dst, 9446); 1469 dasm_put(Dst, 9436);
1471#if LJ_HASFFI 1470#if LJ_HASFFI
1472#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 1471#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1473 dasm_put(Dst, 9474, DtE(->spadj)); 1472 dasm_put(Dst, 9464, DtE(->spadj));
1474#if LJ_TARGET_WINDOWS 1473#if LJ_TARGET_WINDOWS
1475#endif 1474#endif
1476 dasm_put(Dst, 9489, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->fpr[0]), DtE(->fpr[1]), DtE(->fpr[2]), DtE(->fpr[3])); 1475 dasm_put(Dst, 9479, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->fpr[0]), DtE(->fpr[1]), DtE(->fpr[2]), DtE(->fpr[3]));
1477 dasm_put(Dst, 9570, DtE(->func), DtE(->gpr[0]), DtE(->fpr[0])); 1476 dasm_put(Dst, 9560, DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]));
1478#if LJ_TARGET_WINDOWS 1477#if LJ_TARGET_WINDOWS
1479#endif 1478#endif
1480 dasm_put(Dst, 9583); 1479 dasm_put(Dst, 9573);
1481#endif 1480#endif
1482} 1481}
1483 1482
@@ -1485,7 +1484,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1485static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1484static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1486{ 1485{
1487 int vk = 0; 1486 int vk = 0;
1488 dasm_put(Dst, 9591, defop); 1487 dasm_put(Dst, 9581, defop);
1489 1488
1490 switch (op) { 1489 switch (op) {
1491 1490
@@ -1494,57 +1493,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1494 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1493 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1495 1494
1496 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1495 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1497 dasm_put(Dst, 9593, LJ_TISNUM, LJ_TISNUM); 1496 dasm_put(Dst, 9583, LJ_TISNUM, LJ_TISNUM);
1498 if (sse) { 1497 if (sse) {
1499 dasm_put(Dst, 9614); 1498 dasm_put(Dst, 9604);
1500 } else { 1499 } else {
1501 dasm_put(Dst, 9629); 1500 dasm_put(Dst, 9619);
1502 if (cmov) { 1501 if (cmov) {
1503 dasm_put(Dst, 9639); 1502 dasm_put(Dst, 9629);
1504 } else { 1503 } else {
1505 dasm_put(Dst, 9645); 1504 dasm_put(Dst, 9635);
1506 } 1505 }
1507 } 1506 }
1508 switch (op) { 1507 switch (op) {
1509 case BC_ISLT: 1508 case BC_ISLT:
1510 dasm_put(Dst, 9652); 1509 dasm_put(Dst, 9642);
1511 break; 1510 break;
1512 case BC_ISGE: 1511 case BC_ISGE:
1513 dasm_put(Dst, 9326); 1512 dasm_put(Dst, 9316);
1514 break; 1513 break;
1515 case BC_ISLE: 1514 case BC_ISLE:
1516 dasm_put(Dst, 5887); 1515 dasm_put(Dst, 5887);
1517 break; 1516 break;
1518 case BC_ISGT: 1517 case BC_ISGT:
1519 dasm_put(Dst, 9657); 1518 dasm_put(Dst, 9647);
1520 break; 1519 break;
1521 default: break; /* Shut up GCC. */ 1520 default: break; /* Shut up GCC. */
1522 } 1521 }
1523 dasm_put(Dst, 9662, -BCBIAS_J*4); 1522 dasm_put(Dst, 9652, -BCBIAS_J*4);
1524 break; 1523 break;
1525 1524
1526 case BC_ISEQV: case BC_ISNEV: 1525 case BC_ISEQV: case BC_ISNEV:
1527 vk = op == BC_ISEQV; 1526 vk = op == BC_ISEQV;
1528 dasm_put(Dst, 9696, LJ_TISNUM, LJ_TISNUM); 1527 dasm_put(Dst, 9686, LJ_TISNUM, LJ_TISNUM);
1529 if (sse) { 1528 if (sse) {
1530 dasm_put(Dst, 9722); 1529 dasm_put(Dst, 9712);
1531 } else { 1530 } else {
1532 dasm_put(Dst, 9734); 1531 dasm_put(Dst, 9724);
1533 if (cmov) { 1532 if (cmov) {
1534 dasm_put(Dst, 9639); 1533 dasm_put(Dst, 9629);
1535 } else { 1534 } else {
1536 dasm_put(Dst, 9645); 1535 dasm_put(Dst, 9635);
1537 } 1536 }
1538 } 1537 }
1539 iseqne_fp: 1538 iseqne_fp:
1540 if (vk) { 1539 if (vk) {
1541 dasm_put(Dst, 9741); 1540 dasm_put(Dst, 9731);
1542 } else { 1541 } else {
1543 dasm_put(Dst, 9750); 1542 dasm_put(Dst, 9740);
1544 } 1543 }
1545 iseqne_end: 1544 iseqne_end:
1546 if (vk) { 1545 if (vk) {
1547 dasm_put(Dst, 9759, -BCBIAS_J*4); 1546 dasm_put(Dst, 9749, -BCBIAS_J*4);
1548 if (!LJ_HASFFI) { 1547 if (!LJ_HASFFI) {
1549 dasm_put(Dst, 4476); 1548 dasm_put(Dst, 4476);
1550 } 1549 }
@@ -1552,581 +1551,581 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1552 if (!LJ_HASFFI) { 1551 if (!LJ_HASFFI) {
1553 dasm_put(Dst, 4476); 1552 dasm_put(Dst, 4476);
1554 } 1553 }
1555 dasm_put(Dst, 9774, -BCBIAS_J*4); 1554 dasm_put(Dst, 9764, -BCBIAS_J*4);
1556 } 1555 }
1557 dasm_put(Dst, 9676); 1556 dasm_put(Dst, 9666);
1558 if (op == BC_ISEQV || op == BC_ISNEV) { 1557 if (op == BC_ISEQV || op == BC_ISNEV) {
1559 dasm_put(Dst, 9567); 1558 dasm_put(Dst, 9557);
1560 if (LJ_HASFFI) { 1559 if (LJ_HASFFI) {
1561 dasm_put(Dst, 9789, LJ_TCDATA, LJ_TCDATA); 1560 dasm_put(Dst, 9779, LJ_TCDATA, LJ_TCDATA);
1562 } 1561 }
1563 dasm_put(Dst, 9808, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1562 dasm_put(Dst, 9798, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1564 if (vk) { 1563 if (vk) {
1565 dasm_put(Dst, 9864); 1564 dasm_put(Dst, 9854);
1566 } else { 1565 } else {
1567 dasm_put(Dst, 9868); 1566 dasm_put(Dst, 9858);
1568 } 1567 }
1569 dasm_put(Dst, 9874); 1568 dasm_put(Dst, 9864);
1570 } else if (LJ_HASFFI) { 1569 } else if (LJ_HASFFI) {
1571 dasm_put(Dst, 9879, LJ_TCDATA); 1570 dasm_put(Dst, 9869, LJ_TCDATA);
1572 } 1571 }
1573 break; 1572 break;
1574 case BC_ISEQS: case BC_ISNES: 1573 case BC_ISEQS: case BC_ISNES:
1575 vk = op == BC_ISEQS; 1574 vk = op == BC_ISEQS;
1576 dasm_put(Dst, 9894, LJ_TSTR); 1575 dasm_put(Dst, 9884, LJ_TSTR);
1577 iseqne_test: 1576 iseqne_test:
1578 if (vk) { 1577 if (vk) {
1579 dasm_put(Dst, 9745); 1578 dasm_put(Dst, 9735);
1580 } else { 1579 } else {
1581 dasm_put(Dst, 2805); 1580 dasm_put(Dst, 2805);
1582 } 1581 }
1583 goto iseqne_end; 1582 goto iseqne_end;
1584 case BC_ISEQN: case BC_ISNEN: 1583 case BC_ISEQN: case BC_ISNEN:
1585 vk = op == BC_ISEQN; 1584 vk = op == BC_ISEQN;
1586 dasm_put(Dst, 9920, LJ_TISNUM); 1585 dasm_put(Dst, 9910, LJ_TISNUM);
1587 if (sse) { 1586 if (sse) {
1588 dasm_put(Dst, 9936); 1587 dasm_put(Dst, 9926);
1589 } else { 1588 } else {
1590 dasm_put(Dst, 9948); 1589 dasm_put(Dst, 9938);
1591 if (cmov) { 1590 if (cmov) {
1592 dasm_put(Dst, 9639); 1591 dasm_put(Dst, 9629);
1593 } else { 1592 } else {
1594 dasm_put(Dst, 9645); 1593 dasm_put(Dst, 9635);
1595 } 1594 }
1596 } 1595 }
1597 goto iseqne_fp; 1596 goto iseqne_fp;
1598 case BC_ISEQP: case BC_ISNEP: 1597 case BC_ISEQP: case BC_ISNEP:
1599 vk = op == BC_ISEQP; 1598 vk = op == BC_ISEQP;
1600 dasm_put(Dst, 9955); 1599 dasm_put(Dst, 9945);
1601 if (!LJ_HASFFI) goto iseqne_test; 1600 if (!LJ_HASFFI) goto iseqne_test;
1602 if (vk) { 1601 if (vk) {
1603 dasm_put(Dst, 9969, -BCBIAS_J*4, LJ_TCDATA); 1602 dasm_put(Dst, 9959, -BCBIAS_J*4, LJ_TCDATA);
1604 } else { 1603 } else {
1605 dasm_put(Dst, 10019, LJ_TCDATA, -BCBIAS_J*4); 1604 dasm_put(Dst, 10009, LJ_TCDATA, -BCBIAS_J*4);
1606 } 1605 }
1607 break; 1606 break;
1608 1607
1609 /* -- Unary test and copy ops ------------------------------------------- */ 1608 /* -- Unary test and copy ops ------------------------------------------- */
1610 1609
1611 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1610 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1612 dasm_put(Dst, 10063, LJ_TISTRUECOND); 1611 dasm_put(Dst, 10053, LJ_TISTRUECOND);
1613 if (op == BC_IST || op == BC_ISTC) { 1612 if (op == BC_IST || op == BC_ISTC) {
1614 dasm_put(Dst, 10075); 1613 dasm_put(Dst, 10065);
1615 } else { 1614 } else {
1616 dasm_put(Dst, 10080); 1615 dasm_put(Dst, 10070);
1617 } 1616 }
1618 if (op == BC_ISTC || op == BC_ISFC) { 1617 if (op == BC_ISTC || op == BC_ISFC) {
1619 dasm_put(Dst, 10085); 1618 dasm_put(Dst, 10075);
1620 } 1619 }
1621 dasm_put(Dst, 10096, -BCBIAS_J*4); 1620 dasm_put(Dst, 10086, -BCBIAS_J*4);
1622 break; 1621 break;
1623 1622
1624 /* -- Unary ops --------------------------------------------------------- */ 1623 /* -- Unary ops --------------------------------------------------------- */
1625 1624
1626 case BC_MOV: 1625 case BC_MOV:
1627 dasm_put(Dst, 10128); 1626 dasm_put(Dst, 10118);
1628 break; 1627 break;
1629 case BC_NOT: 1628 case BC_NOT:
1630 dasm_put(Dst, 10156, LJ_TISTRUECOND, LJ_TTRUE); 1629 dasm_put(Dst, 10146, LJ_TISTRUECOND, LJ_TTRUE);
1631 break; 1630 break;
1632 case BC_UNM: 1631 case BC_UNM:
1633 dasm_put(Dst, 10192, LJ_TISNUM); 1632 dasm_put(Dst, 10182, LJ_TISNUM);
1634 if (sse) { 1633 if (sse) {
1635 dasm_put(Dst, 10203, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1634 dasm_put(Dst, 10193, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1636 } else { 1635 } else {
1637 dasm_put(Dst, 10228); 1636 dasm_put(Dst, 10218);
1638 } 1637 }
1639 dasm_put(Dst, 9676); 1638 dasm_put(Dst, 9666);
1640 break; 1639 break;
1641 case BC_LEN: 1640 case BC_LEN:
1642 dasm_put(Dst, 10237, LJ_TSTR); 1641 dasm_put(Dst, 10227, LJ_TSTR);
1643 if (sse) { 1642 if (sse) {
1644 dasm_put(Dst, 10251, Dt5(->len)); 1643 dasm_put(Dst, 10241, Dt5(->len));
1645 } else { 1644 } else {
1646 dasm_put(Dst, 10269, Dt5(->len)); 1645 dasm_put(Dst, 10259, Dt5(->len));
1647 } 1646 }
1648 dasm_put(Dst, 10278, LJ_TTAB); 1647 dasm_put(Dst, 10268, LJ_TTAB);
1649 if (sse) { 1648 if (sse) {
1650 dasm_put(Dst, 10319); 1649 dasm_put(Dst, 10309);
1651 } else { 1650 } else {
1652 } 1651 }
1653 dasm_put(Dst, 10328); 1652 dasm_put(Dst, 10318);
1654 break; 1653 break;
1655 1654
1656 /* -- Binary ops -------------------------------------------------------- */ 1655 /* -- Binary ops -------------------------------------------------------- */
1657 1656
1658 1657
1659 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1658 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1660 dasm_put(Dst, 10338); 1659 dasm_put(Dst, 10328);
1661 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1660 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1662 switch (vk) { 1661 switch (vk) {
1663 case 0: 1662 case 0:
1664 dasm_put(Dst, 10346, LJ_TISNUM); 1663 dasm_put(Dst, 10336, LJ_TISNUM);
1665 if (sse) { 1664 if (sse) {
1666 dasm_put(Dst, 10358); 1665 dasm_put(Dst, 10348);
1667 } else { 1666 } else {
1668 dasm_put(Dst, 10372); 1667 dasm_put(Dst, 10362);
1669 } 1668 }
1670 break; 1669 break;
1671 case 1: 1670 case 1:
1672 dasm_put(Dst, 10380, LJ_TISNUM); 1671 dasm_put(Dst, 10370, LJ_TISNUM);
1673 if (sse) { 1672 if (sse) {
1674 dasm_put(Dst, 10392); 1673 dasm_put(Dst, 10382);
1675 } else { 1674 } else {
1676 dasm_put(Dst, 10406); 1675 dasm_put(Dst, 10396);
1677 } 1676 }
1678 break; 1677 break;
1679 default: 1678 default:
1680 dasm_put(Dst, 10414, LJ_TISNUM, LJ_TISNUM); 1679 dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM);
1681 if (sse) { 1680 if (sse) {
1682 dasm_put(Dst, 10436); 1681 dasm_put(Dst, 10426);
1683 } else { 1682 } else {
1684 dasm_put(Dst, 10450); 1683 dasm_put(Dst, 10440);
1685 } 1684 }
1686 break; 1685 break;
1687 } 1686 }
1688 if (sse) { 1687 if (sse) {
1689 dasm_put(Dst, 10221); 1688 dasm_put(Dst, 10211);
1690 } else { 1689 } else {
1691 dasm_put(Dst, 10233); 1690 dasm_put(Dst, 10223);
1692 } 1691 }
1693 dasm_put(Dst, 9676); 1692 dasm_put(Dst, 9666);
1694 break; 1693 break;
1695 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1694 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1696 dasm_put(Dst, 10338); 1695 dasm_put(Dst, 10328);
1697 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1696 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1698 switch (vk) { 1697 switch (vk) {
1699 case 0: 1698 case 0:
1700 dasm_put(Dst, 10346, LJ_TISNUM); 1699 dasm_put(Dst, 10336, LJ_TISNUM);
1701 if (sse) { 1700 if (sse) {
1702 dasm_put(Dst, 10458); 1701 dasm_put(Dst, 10448);
1703 } else { 1702 } else {
1704 dasm_put(Dst, 10472); 1703 dasm_put(Dst, 10462);
1705 } 1704 }
1706 break; 1705 break;
1707 case 1: 1706 case 1:
1708 dasm_put(Dst, 10380, LJ_TISNUM); 1707 dasm_put(Dst, 10370, LJ_TISNUM);
1709 if (sse) { 1708 if (sse) {
1710 dasm_put(Dst, 10480); 1709 dasm_put(Dst, 10470);
1711 } else { 1710 } else {
1712 dasm_put(Dst, 10494); 1711 dasm_put(Dst, 10484);
1713 } 1712 }
1714 break; 1713 break;
1715 default: 1714 default:
1716 dasm_put(Dst, 10414, LJ_TISNUM, LJ_TISNUM); 1715 dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM);
1717 if (sse) { 1716 if (sse) {
1718 dasm_put(Dst, 10502); 1717 dasm_put(Dst, 10492);
1719 } else { 1718 } else {
1720 dasm_put(Dst, 10516); 1719 dasm_put(Dst, 10506);
1721 } 1720 }
1722 break; 1721 break;
1723 } 1722 }
1724 if (sse) { 1723 if (sse) {
1725 dasm_put(Dst, 10221); 1724 dasm_put(Dst, 10211);
1726 } else { 1725 } else {
1727 dasm_put(Dst, 10233); 1726 dasm_put(Dst, 10223);
1728 } 1727 }
1729 dasm_put(Dst, 9676); 1728 dasm_put(Dst, 9666);
1730 break; 1729 break;
1731 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1730 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1732 dasm_put(Dst, 10338); 1731 dasm_put(Dst, 10328);
1733 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1732 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1734 switch (vk) { 1733 switch (vk) {
1735 case 0: 1734 case 0:
1736 dasm_put(Dst, 10346, LJ_TISNUM); 1735 dasm_put(Dst, 10336, LJ_TISNUM);
1737 if (sse) { 1736 if (sse) {
1738 dasm_put(Dst, 10524); 1737 dasm_put(Dst, 10514);
1739 } else { 1738 } else {
1740 dasm_put(Dst, 10538); 1739 dasm_put(Dst, 10528);
1741 } 1740 }
1742 break; 1741 break;
1743 case 1: 1742 case 1:
1744 dasm_put(Dst, 10380, LJ_TISNUM); 1743 dasm_put(Dst, 10370, LJ_TISNUM);
1745 if (sse) { 1744 if (sse) {
1746 dasm_put(Dst, 10546); 1745 dasm_put(Dst, 10536);
1747 } else { 1746 } else {
1748 dasm_put(Dst, 10560); 1747 dasm_put(Dst, 10550);
1749 } 1748 }
1750 break; 1749 break;
1751 default: 1750 default:
1752 dasm_put(Dst, 10414, LJ_TISNUM, LJ_TISNUM); 1751 dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM);
1753 if (sse) { 1752 if (sse) {
1754 dasm_put(Dst, 10568); 1753 dasm_put(Dst, 10558);
1755 } else { 1754 } else {
1756 dasm_put(Dst, 10582); 1755 dasm_put(Dst, 10572);
1757 } 1756 }
1758 break; 1757 break;
1759 } 1758 }
1760 if (sse) { 1759 if (sse) {
1761 dasm_put(Dst, 10221); 1760 dasm_put(Dst, 10211);
1762 } else { 1761 } else {
1763 dasm_put(Dst, 10233); 1762 dasm_put(Dst, 10223);
1764 } 1763 }
1765 dasm_put(Dst, 9676); 1764 dasm_put(Dst, 9666);
1766 break; 1765 break;
1767 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1766 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1768 dasm_put(Dst, 10338); 1767 dasm_put(Dst, 10328);
1769 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1768 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1770 switch (vk) { 1769 switch (vk) {
1771 case 0: 1770 case 0:
1772 dasm_put(Dst, 10346, LJ_TISNUM); 1771 dasm_put(Dst, 10336, LJ_TISNUM);
1773 if (sse) { 1772 if (sse) {
1774 dasm_put(Dst, 10590); 1773 dasm_put(Dst, 10580);
1775 } else { 1774 } else {
1776 dasm_put(Dst, 10604); 1775 dasm_put(Dst, 10594);
1777 } 1776 }
1778 break; 1777 break;
1779 case 1: 1778 case 1:
1780 dasm_put(Dst, 10380, LJ_TISNUM); 1779 dasm_put(Dst, 10370, LJ_TISNUM);
1781 if (sse) { 1780 if (sse) {
1782 dasm_put(Dst, 10612); 1781 dasm_put(Dst, 10602);
1783 } else { 1782 } else {
1784 dasm_put(Dst, 10626); 1783 dasm_put(Dst, 10616);
1785 } 1784 }
1786 break; 1785 break;
1787 default: 1786 default:
1788 dasm_put(Dst, 10414, LJ_TISNUM, LJ_TISNUM); 1787 dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM);
1789 if (sse) { 1788 if (sse) {
1790 dasm_put(Dst, 10634); 1789 dasm_put(Dst, 10624);
1791 } else { 1790 } else {
1792 dasm_put(Dst, 10648); 1791 dasm_put(Dst, 10638);
1793 } 1792 }
1794 break; 1793 break;
1795 } 1794 }
1796 if (sse) { 1795 if (sse) {
1797 dasm_put(Dst, 10221); 1796 dasm_put(Dst, 10211);
1798 } else { 1797 } else {
1799 dasm_put(Dst, 10233); 1798 dasm_put(Dst, 10223);
1800 } 1799 }
1801 dasm_put(Dst, 9676); 1800 dasm_put(Dst, 9666);
1802 break; 1801 break;
1803 case BC_MODVN: 1802 case BC_MODVN:
1804 dasm_put(Dst, 10338); 1803 dasm_put(Dst, 10328);
1805 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1804 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1806 switch (vk) { 1805 switch (vk) {
1807 case 0: 1806 case 0:
1808 dasm_put(Dst, 10346, LJ_TISNUM); 1807 dasm_put(Dst, 10336, LJ_TISNUM);
1809 if (sse) { 1808 if (sse) {
1810 dasm_put(Dst, 10656); 1809 dasm_put(Dst, 10646);
1811 } else { 1810 } else {
1812 dasm_put(Dst, 10670); 1811 dasm_put(Dst, 10660);
1813 } 1812 }
1814 break; 1813 break;
1815 case 1: 1814 case 1:
1816 dasm_put(Dst, 10380, LJ_TISNUM); 1815 dasm_put(Dst, 10370, LJ_TISNUM);
1817 if (sse) { 1816 if (sse) {
1818 dasm_put(Dst, 10678); 1817 dasm_put(Dst, 10668);
1819 } else { 1818 } else {
1820 dasm_put(Dst, 10692); 1819 dasm_put(Dst, 10682);
1821 } 1820 }
1822 break; 1821 break;
1823 default: 1822 default:
1824 dasm_put(Dst, 10414, LJ_TISNUM, LJ_TISNUM); 1823 dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM);
1825 if (sse) { 1824 if (sse) {
1826 dasm_put(Dst, 10700); 1825 dasm_put(Dst, 10690);
1827 } else { 1826 } else {
1828 dasm_put(Dst, 10714); 1827 dasm_put(Dst, 10704);
1829 } 1828 }
1830 break; 1829 break;
1831 } 1830 }
1832 dasm_put(Dst, 10722); 1831 dasm_put(Dst, 10712);
1833 if (sse) { 1832 if (sse) {
1834 dasm_put(Dst, 10221); 1833 dasm_put(Dst, 10211);
1835 } else { 1834 } else {
1836 dasm_put(Dst, 10233); 1835 dasm_put(Dst, 10223);
1837 } 1836 }
1838 dasm_put(Dst, 9676); 1837 dasm_put(Dst, 9666);
1839 break; 1838 break;
1840 case BC_MODNV: case BC_MODVV: 1839 case BC_MODNV: case BC_MODVV:
1841 dasm_put(Dst, 10338); 1840 dasm_put(Dst, 10328);
1842 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1841 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1843 switch (vk) { 1842 switch (vk) {
1844 case 0: 1843 case 0:
1845 dasm_put(Dst, 10346, LJ_TISNUM); 1844 dasm_put(Dst, 10336, LJ_TISNUM);
1846 if (sse) { 1845 if (sse) {
1847 dasm_put(Dst, 10656); 1846 dasm_put(Dst, 10646);
1848 } else { 1847 } else {
1849 dasm_put(Dst, 10670); 1848 dasm_put(Dst, 10660);
1850 } 1849 }
1851 break; 1850 break;
1852 case 1: 1851 case 1:
1853 dasm_put(Dst, 10380, LJ_TISNUM); 1852 dasm_put(Dst, 10370, LJ_TISNUM);
1854 if (sse) { 1853 if (sse) {
1855 dasm_put(Dst, 10678); 1854 dasm_put(Dst, 10668);
1856 } else { 1855 } else {
1857 dasm_put(Dst, 10692); 1856 dasm_put(Dst, 10682);
1858 } 1857 }
1859 break; 1858 break;
1860 default: 1859 default:
1861 dasm_put(Dst, 10414, LJ_TISNUM, LJ_TISNUM); 1860 dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM);
1862 if (sse) { 1861 if (sse) {
1863 dasm_put(Dst, 10700); 1862 dasm_put(Dst, 10690);
1864 } else { 1863 } else {
1865 dasm_put(Dst, 10714); 1864 dasm_put(Dst, 10704);
1866 } 1865 }
1867 break; 1866 break;
1868 } 1867 }
1869 dasm_put(Dst, 10728); 1868 dasm_put(Dst, 10718);
1870 break; 1869 break;
1871 case BC_POW: 1870 case BC_POW:
1872 dasm_put(Dst, 10338); 1871 dasm_put(Dst, 10328);
1873 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1872 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1874 switch (vk) { 1873 switch (vk) {
1875 case 0: 1874 case 0:
1876 dasm_put(Dst, 10346, LJ_TISNUM); 1875 dasm_put(Dst, 10336, LJ_TISNUM);
1877 if (sse) { 1876 if (sse) {
1878 dasm_put(Dst, 10656); 1877 dasm_put(Dst, 10646);
1879 } else { 1878 } else {
1880 dasm_put(Dst, 10670); 1879 dasm_put(Dst, 10660);
1881 } 1880 }
1882 break; 1881 break;
1883 case 1: 1882 case 1:
1884 dasm_put(Dst, 10380, LJ_TISNUM); 1883 dasm_put(Dst, 10370, LJ_TISNUM);
1885 if (sse) { 1884 if (sse) {
1886 dasm_put(Dst, 10678); 1885 dasm_put(Dst, 10668);
1887 } else { 1886 } else {
1888 dasm_put(Dst, 10692); 1887 dasm_put(Dst, 10682);
1889 } 1888 }
1890 break; 1889 break;
1891 default: 1890 default:
1892 dasm_put(Dst, 10414, LJ_TISNUM, LJ_TISNUM); 1891 dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM);
1893 if (sse) { 1892 if (sse) {
1894 dasm_put(Dst, 10700); 1893 dasm_put(Dst, 10690);
1895 } else { 1894 } else {
1896 dasm_put(Dst, 10714); 1895 dasm_put(Dst, 10704);
1897 } 1896 }
1898 break; 1897 break;
1899 } 1898 }
1900 dasm_put(Dst, 10733); 1899 dasm_put(Dst, 10723);
1901 if (sse) { 1900 if (sse) {
1902 dasm_put(Dst, 10221); 1901 dasm_put(Dst, 10211);
1903 } else { 1902 } else {
1904 dasm_put(Dst, 10233); 1903 dasm_put(Dst, 10223);
1905 } 1904 }
1906 dasm_put(Dst, 9676); 1905 dasm_put(Dst, 9666);
1907 break; 1906 break;
1908 1907
1909 case BC_CAT: 1908 case BC_CAT:
1910 dasm_put(Dst, 10737, Dt1(->base), Dt1(->base)); 1909 dasm_put(Dst, 10727, Dt1(->base), Dt1(->base));
1911 break; 1910 break;
1912 1911
1913 /* -- Constant ops ------------------------------------------------------ */ 1912 /* -- Constant ops ------------------------------------------------------ */
1914 1913
1915 case BC_KSTR: 1914 case BC_KSTR:
1916 dasm_put(Dst, 10820, LJ_TSTR); 1915 dasm_put(Dst, 10810, LJ_TSTR);
1917 break; 1916 break;
1918 case BC_KCDATA: 1917 case BC_KCDATA:
1919#if LJ_HASFFI 1918#if LJ_HASFFI
1920 dasm_put(Dst, 10820, LJ_TCDATA); 1919 dasm_put(Dst, 10810, LJ_TCDATA);
1921#endif 1920#endif
1922 break; 1921 break;
1923 case BC_KSHORT: 1922 case BC_KSHORT:
1924 if (sse) { 1923 if (sse) {
1925 dasm_put(Dst, 10855); 1924 dasm_put(Dst, 10845);
1926 } else { 1925 } else {
1927 dasm_put(Dst, 10870); 1926 dasm_put(Dst, 10860);
1928 } 1927 }
1929 dasm_put(Dst, 9676); 1928 dasm_put(Dst, 9666);
1930 break; 1929 break;
1931 case BC_KNUM: 1930 case BC_KNUM:
1932 if (sse) { 1931 if (sse) {
1933 dasm_put(Dst, 10878); 1932 dasm_put(Dst, 10868);
1934 } else { 1933 } else {
1935 dasm_put(Dst, 10891); 1934 dasm_put(Dst, 10881);
1936 } 1935 }
1937 dasm_put(Dst, 9676); 1936 dasm_put(Dst, 9666);
1938 break; 1937 break;
1939 case BC_KPRI: 1938 case BC_KPRI:
1940 dasm_put(Dst, 10898); 1939 dasm_put(Dst, 10888);
1941 break; 1940 break;
1942 case BC_KNIL: 1941 case BC_KNIL:
1943 dasm_put(Dst, 10926, LJ_TNIL); 1942 dasm_put(Dst, 10916, LJ_TNIL);
1944 break; 1943 break;
1945 1944
1946 /* -- Upvalue and function ops ------------------------------------------ */ 1945 /* -- Upvalue and function ops ------------------------------------------ */
1947 1946
1948 case BC_UGET: 1947 case BC_UGET:
1949 dasm_put(Dst, 10973, offsetof(GCfuncL, uvptr), DtA(->v)); 1948 dasm_put(Dst, 10963, offsetof(GCfuncL, uvptr), DtA(->v));
1950 break; 1949 break;
1951 case BC_USETV: 1950 case BC_USETV:
1952#define TV2MARKOFS \ 1951#define TV2MARKOFS \
1953 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 1952 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1954 dasm_put(Dst, 11013, 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); 1953 dasm_put(Dst, 11003, 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);
1955 dasm_put(Dst, 11104); 1954 dasm_put(Dst, 11094);
1956 break; 1955 break;
1957#undef TV2MARKOFS 1956#undef TV2MARKOFS
1958 case BC_USETS: 1957 case BC_USETS:
1959 dasm_put(Dst, 11116, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 1958 dasm_put(Dst, 11106, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1960 break; 1959 break;
1961 case BC_USETN: 1960 case BC_USETN:
1962 dasm_put(Dst, 11209); 1961 dasm_put(Dst, 11199);
1963 if (sse) { 1962 if (sse) {
1964 dasm_put(Dst, 11214); 1963 dasm_put(Dst, 11204);
1965 } else { 1964 } else {
1966 dasm_put(Dst, 9951); 1965 dasm_put(Dst, 9941);
1967 } 1966 }
1968 dasm_put(Dst, 11221, offsetof(GCfuncL, uvptr), DtA(->v)); 1967 dasm_put(Dst, 11211, offsetof(GCfuncL, uvptr), DtA(->v));
1969 if (sse) { 1968 if (sse) {
1970 dasm_put(Dst, 11230); 1969 dasm_put(Dst, 11220);
1971 } else { 1970 } else {
1972 dasm_put(Dst, 11236); 1971 dasm_put(Dst, 11226);
1973 } 1972 }
1974 dasm_put(Dst, 9676); 1973 dasm_put(Dst, 9666);
1975 break; 1974 break;
1976 case BC_USETP: 1975 case BC_USETP:
1977 dasm_put(Dst, 11239, offsetof(GCfuncL, uvptr), DtA(->v)); 1976 dasm_put(Dst, 11229, offsetof(GCfuncL, uvptr), DtA(->v));
1978 break; 1977 break;
1979 case BC_UCLO: 1978 case BC_UCLO:
1980 dasm_put(Dst, 11278, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 1979 dasm_put(Dst, 11268, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
1981 break; 1980 break;
1982 1981
1983 case BC_FNEW: 1982 case BC_FNEW:
1984 dasm_put(Dst, 11333, Dt1(->base), Dt1(->base), LJ_TFUNC); 1983 dasm_put(Dst, 11323, Dt1(->base), Dt1(->base), LJ_TFUNC);
1985 break; 1984 break;
1986 1985
1987 /* -- Table ops --------------------------------------------------------- */ 1986 /* -- Table ops --------------------------------------------------------- */
1988 1987
1989 case BC_TNEW: 1988 case BC_TNEW:
1990 dasm_put(Dst, 11399, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 1989 dasm_put(Dst, 11389, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
1991 break; 1990 break;
1992 case BC_TDUP: 1991 case BC_TDUP:
1993 dasm_put(Dst, 11521, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 1992 dasm_put(Dst, 11511, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
1994 break; 1993 break;
1995 1994
1996 case BC_GGET: 1995 case BC_GGET:
1997 dasm_put(Dst, 11616, Dt7(->env)); 1996 dasm_put(Dst, 11606, Dt7(->env));
1998 break; 1997 break;
1999 case BC_GSET: 1998 case BC_GSET:
2000 dasm_put(Dst, 11635, Dt7(->env)); 1999 dasm_put(Dst, 11625, Dt7(->env));
2001 break; 2000 break;
2002 2001
2003 case BC_TGETV: 2002 case BC_TGETV:
2004 dasm_put(Dst, 11654, LJ_TTAB, LJ_TISNUM); 2003 dasm_put(Dst, 11644, LJ_TTAB, LJ_TISNUM);
2005 if (sse) { 2004 if (sse) {
2006 dasm_put(Dst, 11687); 2005 dasm_put(Dst, 11677);
2007 } else { 2006 } else {
2008 } 2007 }
2009 dasm_put(Dst, 11708, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2008 dasm_put(Dst, 11698, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2010 dasm_put(Dst, 11792, LJ_TNIL, LJ_TSTR); 2009 dasm_put(Dst, 11782, LJ_TNIL, LJ_TSTR);
2011 break; 2010 break;
2012 case BC_TGETS: 2011 case BC_TGETS:
2013 dasm_put(Dst, 11821, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2012 dasm_put(Dst, 11811, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2014 dasm_put(Dst, 11905, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2013 dasm_put(Dst, 11895, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2015 break; 2014 break;
2016 case BC_TGETB: 2015 case BC_TGETB:
2017 dasm_put(Dst, 11976, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2016 dasm_put(Dst, 11966, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2018 dasm_put(Dst, 12071, LJ_TNIL); 2017 dasm_put(Dst, 12061, LJ_TNIL);
2019 break; 2018 break;
2020 2019
2021 case BC_TSETV: 2020 case BC_TSETV:
2022 dasm_put(Dst, 12088, LJ_TTAB, LJ_TISNUM); 2021 dasm_put(Dst, 12078, LJ_TTAB, LJ_TISNUM);
2023 if (sse) { 2022 if (sse) {
2024 dasm_put(Dst, 11687); 2023 dasm_put(Dst, 11677);
2025 } else { 2024 } else {
2026 } 2025 }
2027 dasm_put(Dst, 12121, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 2026 dasm_put(Dst, 12111, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
2028 dasm_put(Dst, 12200, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2027 dasm_put(Dst, 12190, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2029 break; 2028 break;
2030 case BC_TSETS: 2029 case BC_TSETS:
2031 dasm_put(Dst, 12262, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2030 dasm_put(Dst, 12252, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2032 dasm_put(Dst, 12338, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2031 dasm_put(Dst, 12328, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2033 dasm_put(Dst, 12426, 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)); 2032 dasm_put(Dst, 12416, 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));
2034 break; 2033 break;
2035 case BC_TSETB: 2034 case BC_TSETB:
2036 dasm_put(Dst, 12517, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2035 dasm_put(Dst, 12507, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2037 dasm_put(Dst, 12611, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2036 dasm_put(Dst, 12601, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2038 break; 2037 break;
2039 2038
2040 case BC_TSETM: 2039 case BC_TSETM:
2041 dasm_put(Dst, 12657, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2040 dasm_put(Dst, 12647, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2042 dasm_put(Dst, 12800, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2041 dasm_put(Dst, 12790, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2043 break; 2042 break;
2044 2043
2045 /* -- Calls and vararg handling ----------------------------------------- */ 2044 /* -- Calls and vararg handling ----------------------------------------- */
2046 2045
2047 case BC_CALL: case BC_CALLM: 2046 case BC_CALL: case BC_CALLM:
2048 dasm_put(Dst, 10342); 2047 dasm_put(Dst, 10332);
2049 if (op == BC_CALLM) { 2048 if (op == BC_CALLM) {
2050 dasm_put(Dst, 12818); 2049 dasm_put(Dst, 12808);
2051 } 2050 }
2052 dasm_put(Dst, 12823, LJ_TFUNC, Dt7(->pc)); 2051 dasm_put(Dst, 12813, LJ_TFUNC, Dt7(->pc));
2053 break; 2052 break;
2054 2053
2055 case BC_CALLMT: 2054 case BC_CALLMT:
2056 dasm_put(Dst, 12818); 2055 dasm_put(Dst, 12808);
2057 break; 2056 break;
2058 case BC_CALLT: 2057 case BC_CALLT:
2059 dasm_put(Dst, 12865, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2058 dasm_put(Dst, 12855, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2060 dasm_put(Dst, 12980, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2059 dasm_put(Dst, 12970, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2061 break; 2060 break;
2062 2061
2063 case BC_ITERC: 2062 case BC_ITERC:
2064 dasm_put(Dst, 13051, LJ_TFUNC, 2+1, Dt7(->pc)); 2063 dasm_put(Dst, 13041, LJ_TFUNC, 2+1, Dt7(->pc));
2065 break; 2064 break;
2066 2065
2067 case BC_ITERN: 2066 case BC_ITERN:
2068#if LJ_HASJIT 2067#if LJ_HASJIT
2069#endif 2068#endif
2070 dasm_put(Dst, 13122, Dt6(->asize), Dt6(->array), LJ_TNIL); 2069 dasm_put(Dst, 13112, Dt6(->asize), Dt6(->array), LJ_TNIL);
2071 if (sse) { 2070 if (sse) {
2072 dasm_put(Dst, 13168); 2071 dasm_put(Dst, 13158);
2073 } else { 2072 } else {
2074 dasm_put(Dst, 13174); 2073 dasm_put(Dst, 13164);
2075 } 2074 }
2076 dasm_put(Dst, 13180); 2075 dasm_put(Dst, 13170);
2077 if (sse) { 2076 if (sse) {
2078 dasm_put(Dst, 10221); 2077 dasm_put(Dst, 10211);
2079 } else { 2078 } else {
2080 dasm_put(Dst, 10233); 2079 dasm_put(Dst, 10223);
2081 } 2080 }
2082 dasm_put(Dst, 13193, -BCBIAS_J*4); 2081 dasm_put(Dst, 13183, -BCBIAS_J*4);
2083 if (!sse) { 2082 if (!sse) {
2084 dasm_put(Dst, 13245); 2083 dasm_put(Dst, 13235);
2085 } 2084 }
2086 dasm_put(Dst, 13251, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); 2085 dasm_put(Dst, 13241, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
2087 break; 2086 break;
2088 2087
2089 case BC_ISNEXT: 2088 case BC_ISNEXT:
2090 dasm_put(Dst, 13323, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2089 dasm_put(Dst, 13313, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2091 break; 2090 break;
2092 2091
2093 case BC_VARG: 2092 case BC_VARG:
2094 dasm_put(Dst, 13423, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2093 dasm_put(Dst, 13413, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2095 dasm_put(Dst, 13583, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2094 dasm_put(Dst, 13573, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2096 break; 2095 break;
2097 2096
2098 /* -- Returns ----------------------------------------------------------- */ 2097 /* -- Returns ----------------------------------------------------------- */
2099 2098
2100 case BC_RETM: 2099 case BC_RETM:
2101 dasm_put(Dst, 12818); 2100 dasm_put(Dst, 12808);
2102 break; 2101 break;
2103 2102
2104 case BC_RET: case BC_RET0: case BC_RET1: 2103 case BC_RET: case BC_RET0: case BC_RET1:
2105 if (op != BC_RET0) { 2104 if (op != BC_RET0) {
2106 dasm_put(Dst, 13649); 2105 dasm_put(Dst, 13639);
2107 } 2106 }
2108 dasm_put(Dst, 13653, FRAME_TYPE); 2107 dasm_put(Dst, 13643, FRAME_TYPE);
2109 switch (op) { 2108 switch (op) {
2110 case BC_RET: 2109 case BC_RET:
2111 dasm_put(Dst, 13672); 2110 dasm_put(Dst, 13662);
2112 break; 2111 break;
2113 case BC_RET1: 2112 case BC_RET1:
2114 dasm_put(Dst, 13724); 2113 dasm_put(Dst, 13714);
2115 /* fallthrough */ 2114 /* fallthrough */
2116 case BC_RET0: 2115 case BC_RET0:
2117 dasm_put(Dst, 13734); 2116 dasm_put(Dst, 13724);
2118 default: 2117 default:
2119 break; 2118 break;
2120 } 2119 }
2121 dasm_put(Dst, 13745, Dt7(->pc), PC2PROTO(k)); 2120 dasm_put(Dst, 13735, Dt7(->pc), PC2PROTO(k));
2122 if (op == BC_RET) { 2121 if (op == BC_RET) {
2123 dasm_put(Dst, 13789, LJ_TNIL); 2122 dasm_put(Dst, 13779, LJ_TNIL);
2124 } else { 2123 } else {
2125 dasm_put(Dst, 13798, LJ_TNIL); 2124 dasm_put(Dst, 13788, LJ_TNIL);
2126 } 2125 }
2127 dasm_put(Dst, 13805, -FRAME_VARG, FRAME_TYPEP); 2126 dasm_put(Dst, 13795, -FRAME_VARG, FRAME_TYPEP);
2128 if (op != BC_RET0) { 2127 if (op != BC_RET0) {
2129 dasm_put(Dst, 13829); 2128 dasm_put(Dst, 13819);
2130 } 2129 }
2131 dasm_put(Dst, 4555); 2130 dasm_put(Dst, 4555);
2132 break; 2131 break;
@@ -2136,7 +2135,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2136 2135
2137 case BC_FORL: 2136 case BC_FORL:
2138#if LJ_HASJIT 2137#if LJ_HASJIT
2139 dasm_put(Dst, 13833, HOTCOUNT_PCMASK, GG_DISP2HOT); 2138 dasm_put(Dst, 13823, HOTCOUNT_PCMASK, GG_DISP2HOT);
2140#endif 2139#endif
2141 break; 2140 break;
2142 2141
@@ -2148,57 +2147,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2148 case BC_FORI: 2147 case BC_FORI:
2149 case BC_IFORL: 2148 case BC_IFORL:
2150 vk = (op == BC_IFORL || op == BC_JFORL); 2149 vk = (op == BC_IFORL || op == BC_JFORL);
2151 dasm_put(Dst, 13854); 2150 dasm_put(Dst, 13844);
2152 if (!vk) { 2151 if (!vk) {
2153 dasm_put(Dst, 13858, LJ_TISNUM, LJ_TISNUM); 2152 dasm_put(Dst, 13848, LJ_TISNUM, LJ_TISNUM);
2154 } 2153 }
2155 dasm_put(Dst, 13877); 2154 dasm_put(Dst, 13867);
2156 if (!vk) { 2155 if (!vk) {
2157 dasm_put(Dst, 13881, LJ_TISNUM); 2156 dasm_put(Dst, 13871, LJ_TISNUM);
2158 } 2157 }
2159 if (sse) { 2158 if (sse) {
2160 dasm_put(Dst, 13890); 2159 dasm_put(Dst, 13880);
2161 if (vk) { 2160 if (vk) {
2162 dasm_put(Dst, 13902); 2161 dasm_put(Dst, 13892);
2163 } else { 2162 } else {
2164 dasm_put(Dst, 13921); 2163 dasm_put(Dst, 13911);
2165 } 2164 }
2166 dasm_put(Dst, 13926); 2165 dasm_put(Dst, 13916);
2167 } else { 2166 } else {
2168 dasm_put(Dst, 13939); 2167 dasm_put(Dst, 13929);
2169 if (vk) { 2168 if (vk) {
2170 dasm_put(Dst, 13945); 2169 dasm_put(Dst, 13935);
2171 } else { 2170 } else {
2172 dasm_put(Dst, 13961); 2171 dasm_put(Dst, 13951);
2173 } 2172 }
2174 dasm_put(Dst, 13969); 2173 dasm_put(Dst, 13959);
2175 if (cmov) { 2174 if (cmov) {
2176 dasm_put(Dst, 9639); 2175 dasm_put(Dst, 9629);
2177 } else { 2176 } else {
2178 dasm_put(Dst, 9645); 2177 dasm_put(Dst, 9635);
2179 } 2178 }
2180 if (!cmov) { 2179 if (!cmov) {
2181 dasm_put(Dst, 13974); 2180 dasm_put(Dst, 13964);
2182 } 2181 }
2183 } 2182 }
2184 if (op == BC_FORI) { 2183 if (op == BC_FORI) {
2185 dasm_put(Dst, 13980, -BCBIAS_J*4); 2184 dasm_put(Dst, 13970, -BCBIAS_J*4);
2186 } else if (op == BC_JFORI) { 2185 } else if (op == BC_JFORI) {
2187 dasm_put(Dst, 13990, -BCBIAS_J*4, BC_JLOOP); 2186 dasm_put(Dst, 13980, -BCBIAS_J*4, BC_JLOOP);
2188 } else if (op == BC_IFORL) { 2187 } else if (op == BC_IFORL) {
2189 dasm_put(Dst, 14004, -BCBIAS_J*4); 2188 dasm_put(Dst, 13994, -BCBIAS_J*4);
2190 } else { 2189 } else {
2191 dasm_put(Dst, 14000, BC_JLOOP); 2190 dasm_put(Dst, 13990, BC_JLOOP);
2192 } 2191 }
2193 dasm_put(Dst, 9674); 2192 dasm_put(Dst, 9664);
2194 if (sse) { 2193 if (sse) {
2195 dasm_put(Dst, 14014); 2194 dasm_put(Dst, 14004);
2196 } 2195 }
2197 break; 2196 break;
2198 2197
2199 case BC_ITERL: 2198 case BC_ITERL:
2200#if LJ_HASJIT 2199#if LJ_HASJIT
2201 dasm_put(Dst, 13833, HOTCOUNT_PCMASK, GG_DISP2HOT); 2200 dasm_put(Dst, 13823, HOTCOUNT_PCMASK, GG_DISP2HOT);
2202#endif 2201#endif
2203 break; 2202 break;
2204 2203
@@ -2207,33 +2206,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2207 break; 2206 break;
2208#endif 2207#endif
2209 case BC_IITERL: 2208 case BC_IITERL:
2210 dasm_put(Dst, 14025, LJ_TNIL); 2209 dasm_put(Dst, 14015, LJ_TNIL);
2211 if (op == BC_JITERL) { 2210 if (op == BC_JITERL) {
2212 dasm_put(Dst, 14040, BC_JLOOP); 2211 dasm_put(Dst, 14030, BC_JLOOP);
2213 } else { 2212 } else {
2214 dasm_put(Dst, 14054, -BCBIAS_J*4); 2213 dasm_put(Dst, 14044, -BCBIAS_J*4);
2215 } 2214 }
2216 dasm_put(Dst, 10106); 2215 dasm_put(Dst, 10096);
2217 break; 2216 break;
2218 2217
2219 case BC_LOOP: 2218 case BC_LOOP:
2220#if LJ_HASJIT 2219#if LJ_HASJIT
2221 dasm_put(Dst, 13833, HOTCOUNT_PCMASK, GG_DISP2HOT); 2220 dasm_put(Dst, 13823, HOTCOUNT_PCMASK, GG_DISP2HOT);
2222#endif 2221#endif
2223 break; 2222 break;
2224 2223
2225 case BC_ILOOP: 2224 case BC_ILOOP:
2226 dasm_put(Dst, 9676); 2225 dasm_put(Dst, 9666);
2227 break; 2226 break;
2228 2227
2229 case BC_JLOOP: 2228 case BC_JLOOP:
2230#if LJ_HASJIT 2229#if LJ_HASJIT
2231 dasm_put(Dst, 14070, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16); 2230 dasm_put(Dst, 14060, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16);
2232#endif 2231#endif
2233 break; 2232 break;
2234 2233
2235 case BC_JMP: 2234 case BC_JMP:
2236 dasm_put(Dst, 14179, -BCBIAS_J*4); 2235 dasm_put(Dst, 14169, -BCBIAS_J*4);
2237 break; 2236 break;
2238 2237
2239 /* -- Function headers -------------------------------------------------- */ 2238 /* -- Function headers -------------------------------------------------- */
@@ -2247,7 +2246,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2247 2246
2248 case BC_FUNCF: 2247 case BC_FUNCF:
2249#if LJ_HASJIT 2248#if LJ_HASJIT
2250 dasm_put(Dst, 14204, HOTCOUNT_PCMASK, GG_DISP2HOT); 2249 dasm_put(Dst, 14194, HOTCOUNT_PCMASK, GG_DISP2HOT);
2251#endif 2250#endif
2252 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2251 case BC_FUNCV: /* NYI: compiled vararg functions. */
2253 break; 2252 break;
@@ -2257,47 +2256,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2257 break; 2256 break;
2258#endif 2257#endif
2259 case BC_IFUNCF: 2258 case BC_IFUNCF:
2260 dasm_put(Dst, 14225, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2259 dasm_put(Dst, 14215, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2261 if (op == BC_JFUNCF) { 2260 if (op == BC_JFUNCF) {
2262 dasm_put(Dst, 14255, BC_JLOOP); 2261 dasm_put(Dst, 14245, BC_JLOOP);
2263 } else { 2262 } else {
2264 dasm_put(Dst, 9676); 2263 dasm_put(Dst, 9666);
2265 } 2264 }
2266 dasm_put(Dst, 14264, LJ_TNIL); 2265 dasm_put(Dst, 14254, LJ_TNIL);
2267 break; 2266 break;
2268 2267
2269 case BC_JFUNCV: 2268 case BC_JFUNCV:
2270#if !LJ_HASJIT 2269#if !LJ_HASJIT
2271 break; 2270 break;
2272#endif 2271#endif
2273 dasm_put(Dst, 9030); 2272 dasm_put(Dst, 9020);
2274 break; /* NYI: compiled vararg functions. */ 2273 break; /* NYI: compiled vararg functions. */
2275 2274
2276 case BC_IFUNCV: 2275 case BC_IFUNCV:
2277 dasm_put(Dst, 14286, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2276 dasm_put(Dst, 14276, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2278 if (op == BC_JFUNCV) { 2277 if (op == BC_JFUNCV) {
2279 dasm_put(Dst, 14255, BC_JLOOP); 2278 dasm_put(Dst, 14245, BC_JLOOP);
2280 } else { 2279 } else {
2281 dasm_put(Dst, 14377, -4+PC2PROTO(k)); 2280 dasm_put(Dst, 14367, -4+PC2PROTO(k));
2282 } 2281 }
2283 dasm_put(Dst, 14400, LJ_TNIL); 2282 dasm_put(Dst, 14390, LJ_TNIL);
2284 break; 2283 break;
2285 2284
2286 case BC_FUNCC: 2285 case BC_FUNCC:
2287 case BC_FUNCCW: 2286 case BC_FUNCCW:
2288 dasm_put(Dst, 14422, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2287 dasm_put(Dst, 14412, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2289 if (op == BC_FUNCC) { 2288 if (op == BC_FUNCC) {
2290 dasm_put(Dst, 14452); 2289 dasm_put(Dst, 14442);
2291 } else { 2290 } else {
2292 dasm_put(Dst, 14456); 2291 dasm_put(Dst, 14446);
2293 } 2292 }
2294 dasm_put(Dst, 14464, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2293 dasm_put(Dst, 14454, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2295 if (op == BC_FUNCC) { 2294 if (op == BC_FUNCC) {
2296 dasm_put(Dst, 14473); 2295 dasm_put(Dst, 14463);
2297 } else { 2296 } else {
2298 dasm_put(Dst, 14477, DISPATCH_GL(wrapf)); 2297 dasm_put(Dst, 14467, DISPATCH_GL(wrapf));
2299 } 2298 }
2300 dasm_put(Dst, 14482, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2299 dasm_put(Dst, 14472, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2301 break; 2300 break;
2302 2301
2303 /* ---------------------------------------------------------------------- */ 2302 /* ---------------------------------------------------------------------- */
@@ -2325,7 +2324,7 @@ static int build_backend(BuildCtx *ctx)
2325 2324
2326 build_subroutines(ctx, cmov, sse); 2325 build_subroutines(ctx, cmov, sse);
2327 2326
2328 dasm_put(Dst, 14507); 2327 dasm_put(Dst, 14497);
2329 for (op = 0; op < BC__MAX; op++) 2328 for (op = 0; op < BC__MAX; op++)
2330 build_ins(ctx, (BCOp)op, op, cmov, sse); 2329 build_ins(ctx, (BCOp)op, op, cmov, sse);
2331 2330