aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2011-02-25 11:46:29 +0100
committerMike Pall <mike>2011-02-25 11:47:34 +0100
commitd437086c5a82cb44ba34d039695aff79e7a1793c (patch)
tree3aea011c8e68bd671326543798bb193a70da93f3
parentb90d80d80ac2f5f3df24720ad7e1c5f5ef535bfb (diff)
downloadluajit-d437086c5a82cb44ba34d039695aff79e7a1793c.tar.gz
luajit-d437086c5a82cb44ba34d039695aff79e7a1793c.tar.bz2
luajit-d437086c5a82cb44ba34d039695aff79e7a1793c.zip
x64: Improve accuracy of x^-k.
-rw-r--r--src/buildvm_x64.h1186
-rw-r--r--src/buildvm_x64win.h1179
-rw-r--r--src/buildvm_x86.dasc8
-rw-r--r--src/buildvm_x86.h1212
4 files changed, 1791 insertions, 1794 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h
index ce6ca830..cdf67093 100644
--- a/src/buildvm_x64.h
+++ b/src/buildvm_x64.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[14610] = { 15static const unsigned char build_actionlist[14600] = {
16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141, 16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141,
17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4, 17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4,
18 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133, 18 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133,
@@ -419,307 +419,307 @@ static const unsigned char build_actionlist[14610] = {
419 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233, 419 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,
420 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209, 420 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,
421 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4, 421 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,
422 252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,80,72,184,237, 422 252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,252,247,216,
423 237,102,72,15,110,200,252,242,15,94,200,88,15,40,193,252,247,216,131,252, 423 232,244,1,72,184,237,237,102,72,15,110,200,252,242,15,94,200,15,40,193,195,
424 248,1,15,132,244,5,252,233,244,1,248,7,72,184,237,237,102,72,15,110,192,195, 424 248,7,72,184,237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209,
425 248,8,102,72,15,126,200,72,209,224,72,193,192,12,72,61,252,254,15,0,0,15, 425 224,72,193,192,12,72,61,252,254,15,0,0,15,132,244,248,102,72,15,126,192,72,
426 132,244,248,255,102,72,15,126,192,72,209,224,15,132,244,250,72,193,192,12, 426 209,224,15,132,244,250,255,72,193,192,12,72,61,252,254,15,0,0,15,132,244,
427 72,61,252,254,15,0,0,15,132,244,251,252,242,15,17,76,36,252,240,252,242,15, 427 251,252,242,15,17,76,36,252,240,252,242,15,17,68,36,252,248,221,68,36,252,
428 17,68,36,252,248,221,68,36,252,240,221,68,36,252,248,217,252,241,217,192, 428 240,221,68,36,252,248,217,252,241,217,192,217,252,252,220,252,233,217,201,
429 217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221, 429 217,252,240,217,232,222,193,217,252,253,221,217,221,92,36,252,248,252,242,
430 217,221,92,36,252,248,252,242,15,16,68,36,252,248,195,248,9,72,184,237,237, 430 15,16,68,36,252,248,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46,
431 102,72,15,110,208,102,15,46,194,15,132,244,247,15,40,193,248,1,195,248,2, 431 194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110,
432 72,184,237,237,102,72,15,110,208,102,15,84,194,72,184,237,237,102,72,15,110, 432 208,102,15,84,194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,
433 208,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,136,196,15,146,208, 433 1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,
434 48,224,15,133,244,1,248,3,72,184,237,237,255,102,72,15,110,192,195,248,4, 434 184,237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,
435 102,15,80,193,133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,133, 435 244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,
436 192,15,132,244,3,15,87,192,195,248,154,255,131,252,255,1,15,130,244,83,15, 436 248,154,255,131,252,255,1,15,130,244,83,15,132,244,85,131,252,255,3,15,130,
437 132,244,85,131,252,255,3,15,130,244,105,15,135,244,248,252,242,15,81,192, 437 244,105,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252,
438 195,248,2,252,242,15,17,68,36,252,248,221,68,36,252,248,131,252,255,5,15, 438 248,221,68,36,252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244,
439 135,244,248,15,132,244,247,232,244,89,252,233,244,253,248,1,232,244,150,255, 439 89,252,233,244,253,248,1,232,244,150,255,252,233,244,253,248,2,131,252,255,
440 252,233,244,253,248,2,131,252,255,7,15,132,244,247,15,135,244,248,217,252, 440 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,
441 237,217,201,217,252,241,252,233,244,253,248,1,217,232,217,201,217,252,241, 441 253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9,
442 252,233,244,253,248,2,131,252,255,9,15,132,244,247,15,135,244,248,217,252, 442 15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,
443 236,217,201,217,252,241,252,233,244,253,248,1,255,217,252,254,252,233,244, 443 253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244,
444 253,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,252,255,252,233, 444 247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,
445 244,253,248,1,217,252,242,221,216,248,7,221,92,36,252,248,252,242,15,16,68, 445 248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12,
446 36,252,248,195,255,139,124,36,12,221,68,36,4,131,252,255,1,15,130,244,83, 446 221,68,36,4,131,252,255,1,15,130,244,83,15,132,244,85,131,252,255,3,15,130,
447 15,132,244,85,131,252,255,3,15,130,244,105,15,135,244,248,217,252,250,195, 447 244,105,15,135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,89,
448 248,2,131,252,255,5,15,130,244,89,15,132,244,150,131,252,255,7,15,132,244, 448 15,132,244,150,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217,
449 247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,217,232,217, 449 201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255,
450 201,217,252,241,195,248,2,131,252,255,9,15,132,244,247,255,15,135,244,248, 450 9,15,132,244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,
451 217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,255, 451 1,217,252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,
452 11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216, 452 252,255,195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,155,255,131,
453 195,255,248,9,204,255,248,155,255,131,252,255,1,15,132,244,247,15,135,244, 453 252,255,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,
454 248,252,242,15,88,193,195,248,1,252,242,15,92,193,195,248,2,131,252,255,3, 454 15,92,193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15,
455 15,132,244,247,15,135,244,248,252,242,15,89,193,195,248,1,252,242,15,94,193, 455 89,193,195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,149,
456 195,248,2,131,252,255,5,15,130,244,149,15,132,244,108,131,252,255,7,15,132, 456 15,132,244,108,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237,
457 244,247,15,135,244,248,72,184,237,237,255,102,72,15,110,200,15,87,193,195, 457 255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,
458 248,1,72,184,237,237,102,72,15,110,200,15,84,193,195,248,2,131,252,255,9, 458 15,84,193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252,
459 15,135,244,248,252,242,15,17,68,36,252,248,252,242,15,17,76,36,252,240,221, 459 248,252,242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132,
460 68,36,252,248,221,68,36,252,240,15,132,244,247,217,252,243,248,7,221,92,36, 460 244,247,217,252,243,248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,
461 252,248,252,242,15,16,68,36,252,248,195,248,1,217,201,217,252,253,221,217, 461 248,1,217,201,217,252,253,221,217,252,233,244,7,248,2,131,252,255,11,15,132,
462 252,233,244,7,248,2,131,252,255,11,15,132,244,247,15,135,244,255,252,242, 462 244,247,15,135,244,255,252,242,15,93,193,195,248,1,252,242,15,95,193,195,
463 15,93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68,36,20,221, 463 248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,
464 68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193, 464 244,247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,
465 195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248, 465 3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131,
466 222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,149,15,132, 466 252,248,5,15,130,244,149,15,132,244,108,131,252,248,7,15,132,244,247,15,135,
467 244,108,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195, 467 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,
468 248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248, 468 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,
469 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11, 469 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,
470 15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219, 470 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,
471 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244, 471 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,
472 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133, 472 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,
473 244,248,217,201,248,2,221,216,195,255,248,156,137,252,248,83,15,162,137,6, 473 156,137,252,248,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,195,248,157,
474 137,94,4,137,78,8,137,86,12,91,195,248,157,255,85,72,137,229,83,72,137,252, 474 255,85,72,137,229,83,72,137,252,251,139,131,233,72,41,196,255,15,182,139,
475 251,139,131,233,72,41,196,255,15,182,139,233,131,252,233,1,15,136,244,248, 475 233,131,252,233,1,15,136,244,248,248,1,72,139,132,253,203,233,72,137,132,
476 248,1,72,139,132,253,203,233,72,137,132,253,204,233,131,252,233,1,15,137, 476 253,204,233,131,252,233,1,15,137,244,1,248,2,15,182,131,233,72,139,187,233,
477 244,1,248,2,15,182,131,233,72,139,187,233,72,139,179,233,72,139,147,233,72, 477 72,139,179,233,72,139,147,233,72,139,139,233,76,139,131,233,76,139,139,233,
478 139,139,233,76,139,131,233,76,139,139,233,133,192,15,132,244,251,15,40,131, 478 133,192,15,132,244,251,15,40,131,233,15,40,139,233,255,15,40,147,233,15,40,
479 233,15,40,139,233,255,15,40,147,233,15,40,155,233,131,252,248,4,15,134,244, 479 155,233,131,252,248,4,15,134,244,251,15,40,163,233,15,40,171,233,15,40,179,
480 251,15,40,163,233,15,40,171,233,15,40,179,233,15,40,187,233,248,5,252,255, 480 233,15,40,187,233,248,5,252,255,147,233,72,137,131,233,15,41,131,233,72,137,
481 147,233,72,137,131,233,15,41,131,233,72,137,147,233,15,41,139,233,255,72, 481 147,233,15,41,139,233,255,72,139,93,252,248,201,195,255,249,255,129,124,253,
482 139,93,252,248,201,195,255,249,255,129,124,253,202,4,239,15,135,244,41,129, 482 202,4,239,15,135,244,41,129,124,253,194,4,239,15,135,244,41,255,252,242,15,
483 124,253,194,4,239,15,135,244,41,255,252,242,15,16,4,194,131,195,4,102,15, 483 16,4,194,131,195,4,102,15,46,4,202,255,221,4,202,221,4,194,131,195,4,255,
484 46,4,202,255,221,4,202,221,4,194,131,195,4,255,223,252,233,221,216,255,218, 484 223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,248,255,15,
485 252,233,223,224,158,255,15,134,244,248,255,15,131,244,248,255,248,1,15,183, 485 131,244,248,255,248,1,15,183,67,252,254,141,156,253,131,233,248,2,139,3,15,
486 67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131,195,
487 4,193,232,16,65,252,255,36,252,238,255,139,108,194,4,131,195,4,129,252,253,
488 239,15,135,244,251,129,124,253,202,4,239,15,135,244,251,255,252,242,15,16,
489 4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,15,138,244,248,15,133,244,
490 248,255,15,138,244,248,15,132,244,247,255,248,1,15,183,67,252,254,141,156,
491 253,131,233,248,2,255,248,2,15,183,67,252,254,141,156,253,131,233,248,1,255,
492 248,5,255,129,252,253,239,15,132,244,46,129,124,253,202,4,239,15,132,244,
493 46,255,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,
494 139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,
495 252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,
496 189,1,0,0,0,255,252,233,244,45,255,248,3,129,252,253,239,15,133,244,2,252,
497 233,244,46,255,72,252,247,208,139,108,202,4,131,195,4,129,252,253,239,15,
498 133,244,249,139,12,202,65,59,12,135,255,139,108,202,4,131,195,4,129,252,253,
499 239,15,135,244,249,255,252,242,65,15,16,4,199,102,15,46,4,202,255,221,4,202,
500 65,221,4,199,255,72,252,247,208,139,108,202,4,131,195,4,57,197,255,15,133,
501 244,249,15,183,67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,
502 232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,129,252,253,239,15,133,
503 244,2,252,233,244,46,255,15,132,244,248,129,252,253,239,15,132,244,46,15,
504 183,67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131,
505 195,4,193,232,16,65,252,255,36,252,238,255,139,108,194,4,131,195,4,129,252,
506 253,239,255,15,131,244,247,255,15,130,244,247,255,137,108,202,4,139,44,194,
507 137,44,202,255,15,183,67,252,254,141,156,253,131,233,248,1,139,3,15,182,204,
508 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,139,44,194,72,
509 137,44,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
510 252,238,255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,
511 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,129,
512 124,253,194,4,239,15,135,244,49,255,252,242,15,16,4,194,72,184,237,237,102,
513 72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,
514 202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,15,87,192,252,
515 242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,
516 202,255,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
517 238,248,2,129,124,253,194,4,239,15,133,244,51,139,60,194,137,213,232,251,
518 1,19,255,252,242,15,42,192,137,252,234,255,15,182,75,252,253,252,233,244,
519 1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,135,244,
520 47,255,252,242,15,16,4,252,234,252,242,65,15,88,4,199,255,221,4,252,234,65,
521 220,4,199,255,129,124,253,252,234,4,239,15,135,244,48,255,252,242,65,15,16,
522 4,199,252,242,15,88,4,252,234,255,65,221,4,199,220,4,252,234,255,129,124,
523 253,252,234,4,239,15,135,244,50,129,124,253,194,4,239,15,135,244,50,255,252,
524 242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,252,
525 242,15,16,4,252,234,252,242,65,15,92,4,199,255,221,4,252,234,65,220,36,199,
526 255,252,242,65,15,16,4,199,252,242,15,92,4,252,234,255,65,221,4,199,220,36,
527 252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,4,252,234,
528 220,36,194,255,252,242,15,16,4,252,234,252,242,65,15,89,4,199,255,221,4,252,
529 234,65,220,12,199,255,252,242,65,15,16,4,199,252,242,15,89,4,252,234,255,
530 65,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,
531 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,65,15,94,
532 4,199,255,221,4,252,234,65,220,52,199,255,252,242,65,15,16,4,199,252,242,
533 15,94,4,252,234,255,65,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,
534 252,242,15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,
535 234,252,242,65,15,16,12,199,255,221,4,252,234,65,221,4,199,255,252,242,65,
536 15,16,4,199,252,242,15,16,12,252,234,255,65,221,4,199,221,4,252,234,255,252,
537 242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,
538 248,158,232,244,149,255,252,233,244,158,255,232,244,108,255,15,182,252,236,
539 15,182,192,139,124,36,24,137,151,233,141,52,194,137,194,41,252,234,248,33,
540 137,252,253,137,92,36,28,232,251,1,26,139,149,233,133,192,15,133,244,42,15,
541 182,107,252,255,15,182,75,252,253,72,139,4,252,234,72,137,4,202,139,3,15,
542 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,
543 247,208,65,139,4,135,199,68,202,4,237,137,4,202,139,3,15,182,204,15,182,232,
544 131,195,4,193,232,16,65,252,255,36,252,238,255,15,191,192,252,242,15,42,192,
545 252,242,15,17,4,202,255,223,67,252,254,221,28,202,255,252,242,65,15,16,4,
546 199,252,242,15,17,4,202,255,65,221,4,199,221,28,202,255,72,252,247,208,137,
547 68,202,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
548 238,255,141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,
549 193,8,57,193,15,134,244,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,
550 65,252,255,36,252,238,255,139,106,252,248,139,172,253,133,233,139,173,233,
551 72,139,69,0,72,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,
552 65,252,255,36,252,238,255,139,106,252,248,139,172,253,141,233,128,189,233,
553 0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,
554 246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,131,195,
555 4,193,232,16,65,252,255,36,252,238,248,2,129,232,239,129,252,248,239,15,134,
556 244,1,252,246,129,233,235,15,132,244,1,137,252,238,137,213,65,141,190,233,
557 255,232,251,1,27,137,252,234,252,233,244,1,255,72,252,247,208,139,106,252,
558 248,139,172,253,141,233,65,139,12,135,139,133,233,137,8,199,64,4,237,252,
559 246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,131,195,
560 4,193,232,16,65,252,255,36,252,238,248,2,252,246,129,233,235,15,132,244,1,
561 128,189,233,0,15,132,244,1,137,213,137,198,65,141,190,233,232,251,1,27,137,
562 252,234,252,233,244,1,255,139,106,252,248,255,252,242,65,15,16,4,199,255,
563 139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,25,255,72,252,
564 247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,65,4,139,3,15,
565 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,156,
566 253,131,233,139,108,36,24,131,189,233,0,15,132,244,247,137,149,233,141,52,
567 202,137,252,239,232,251,1,28,139,149,233,248,1,139,3,15,182,204,15,182,232,
568 131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,139,108,36,
569 24,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137,92,36,28,232,
570 251,1,29,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,139,3,15,
571 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,108, 486 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,108,
572 36,24,137,149,233,65,139,142,233,65,59,142,233,137,92,36,28,15,131,244,251, 487 194,4,131,195,4,129,252,253,239,15,135,244,251,129,124,253,202,4,239,15,135,
573 248,1,137,194,37,252,255,7,0,0,193,252,234,11,61,252,255,7,0,0,15,132,244, 488 244,251,255,252,242,15,16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,
574 249,248,2,137,252,239,137,198,232,251,1,30,139,149,233,15,182,75,252,253, 489 15,138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,
575 137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232, 490 15,183,67,252,254,141,156,253,131,233,248,2,255,248,2,15,183,67,252,254,141,
576 16,65,252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,239, 491 156,253,131,233,248,1,255,248,5,255,129,252,253,239,15,132,244,46,129,124,
577 232,251,1,31,15,183,67,252,254,252,233,244,1,255,72,252,247,208,139,108,36, 492 253,202,4,239,15,132,244,46,255,57,108,202,4,15,133,244,2,129,252,253,239,
578 24,65,139,142,233,137,92,36,28,65,59,142,233,137,149,233,15,131,244,249,248, 493 15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,
579 2,65,139,52,135,137,252,239,232,251,1,32,139,149,233,15,182,75,252,253,137, 494 135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,
580 4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, 495 244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,45,255,248,3,129,252,
581 252,255,36,252,238,248,3,137,252,239,232,251,1,31,15,183,67,252,254,72,252, 496 253,239,15,133,244,2,252,233,244,46,255,72,252,247,208,139,108,202,4,131,
582 247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,233,65,139, 497 195,4,129,252,253,239,15,133,244,249,139,12,202,65,59,12,135,255,139,108,
583 4,135,252,233,244,159,255,72,252,247,208,139,106,252,248,139,173,233,65,139, 498 202,4,131,195,4,129,252,253,239,15,135,244,249,255,252,242,65,15,16,4,199,
584 4,135,252,233,244,160,255,15,182,252,236,15,182,192,129,124,253,252,234,4, 499 102,15,46,4,202,255,221,4,202,65,221,4,199,255,72,252,247,208,139,108,202,
585 239,15,133,244,36,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255, 500 4,131,195,4,57,197,255,15,133,244,249,15,183,67,252,254,141,156,253,131,233,
586 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255, 501 248,2,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
587 15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4, 502 238,248,3,129,252,253,239,15,133,244,2,252,233,244,46,255,15,132,244,248,
588 239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182, 503 129,252,253,239,15,132,244,46,15,183,67,252,254,141,156,253,131,233,248,2,
589 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,
590 244,249,139,141,233,252,246,129,233,235,15,132,244,36,15,182,75,252,253,248,
591 3,255,199,68,202,4,237,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,
592 36,139,4,194,252,233,244,159,255,15,182,252,236,15,182,192,72,252,247,208,
593 65,139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,159,
594 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,
595 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,
596 67,252,253,72,139,41,72,137,44,194,248,2,255,139,3,15,182,204,15,182,232,
597 131,195,4,193,232,16,65,252,255,36,252,238,248,3,15,182,67,252,253,199,68,
598 194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,
599 141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,
600 34,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,35,
601 139,44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,
602 239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,
603 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,
604 244,249,139,141,233,252,246,129,233,235,15,132,244,35,255,15,182,75,252,253,
605 248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,
606 253,252,234,4,239,15,133,244,39,139,44,252,234,129,124,253,194,4,239,15,135,
607 244,251,255,15,133,244,39,59,133,233,15,131,244,39,193,224,3,3,133,233,129,
608 120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,
609 2,72,139,44,202,72,137,40,139,3,15,182,204,15,182,232,131,195,4,193,232,16,
610 65,252,255,36,252,238,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,
611 246,129,233,235,15,132,244,39,15,182,75,252,253,252,233,244,1,248,5,129,124,
612 253,194,4,239,15,133,244,39,139,4,194,252,233,244,160,248,7,128,165,233,235,
613 65,139,142,233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,
614 255,15,182,252,236,15,182,192,72,252,247,208,65,139,4,135,129,124,253,252,
615 234,4,239,15,133,244,37,139,44,252,234,248,160,139,141,233,35,136,233,105,
616 201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,
617 233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,
618 233,235,15,133,244,253,248,3,15,182,67,252,253,72,139,44,194,72,137,41,139,
619 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,4,
620 131,189,233,0,15,132,244,2,137,12,36,139,141,233,252,246,129,233,235,15,132,
621 244,37,139,12,36,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,
622 139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37,248,
623 6,137,4,36,199,68,36,4,237,137,108,36,8,139,124,36,24,137,151,233,72,141,
624 20,36,137,252,238,137,252,253,137,92,36,28,232,251,1,33,139,149,233,139,108,
625 36,8,137,193,252,233,244,2,248,7,128,165,233,235,65,139,134,233,65,137,174,
626 233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,
627 234,4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,3,
628 3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,
629 244,253,248,2,72,139,12,202,72,137,8,139,3,15,182,204,15,182,232,131,195,
630 4,193,232,16,65,252,255,36,252,238,248,3,131,189,233,0,15,132,244,1,255,139,
631 141,233,252,246,129,233,235,15,132,244,38,15,182,75,252,253,252,233,244,1,
632 248,7,128,165,233,235,65,139,142,233,65,137,174,233,137,141,233,15,182,75,
633 252,253,252,233,244,2,255,68,137,60,36,69,139,60,199,248,1,141,12,202,139,
634 105,252,248,252,246,133,233,235,15,133,244,253,248,2,139,68,36,4,131,232,
635 1,15,132,244,250,68,1,252,248,59,133,233,15,135,244,251,68,41,252,248,65,
636 193,231,3,68,3,189,233,248,3,72,139,41,131,193,8,73,137,47,65,131,199,8,131,
637 232,1,15,133,244,3,248,4,68,139,60,36,139,3,15,182,204,15,182,232,131,195,
638 4,193,232,16,65,252,255,36,252,238,248,5,139,124,36,24,137,151,233,137,252,
639 238,137,194,137,252,253,137,92,36,28,232,251,1,34,139,149,233,15,182,75,252,
640 253,252,233,244,1,248,7,255,128,165,233,235,65,139,134,233,65,137,174,233,
641 137,133,233,252,233,244,2,255,3,68,36,4,255,129,124,253,202,4,239,139,44,
642 202,15,133,244,52,141,84,202,8,137,90,252,252,139,157,233,139,11,15,182,252,
643 233,15,182,205,131,195,4,65,252,255,36,252,238,255,141,76,202,8,65,137,215,
644 139,105,252,248,129,121,253,252,252,239,15,133,244,28,248,53,139,90,252,252,
645 252,247,195,237,15,133,244,253,248,1,137,106,252,248,137,68,36,4,131,232,
646 1,15,132,244,249,248,2,72,139,41,131,193,8,73,137,47,65,131,199,8,131,232,
647 1,15,133,244,2,139,106,252,248,248,3,139,68,36,4,128,189,233,1,15,135,244,
648 251,248,4,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,
649 36,252,238,248,5,255,252,247,195,237,15,133,244,4,15,182,75,252,253,72,252,
650 247,209,141,12,202,68,139,121,252,248,69,139,191,233,69,139,191,233,252,233,
651 244,4,248,7,129,252,235,239,252,247,195,237,15,133,244,254,41,218,65,137,
652 215,139,90,252,252,252,233,244,1,248,8,129,195,239,252,233,244,1,255,141,
653 76,202,8,72,139,105,232,72,139,65,252,240,72,137,41,72,137,65,8,139,105,224,
654 139,65,228,137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,133,
655 244,28,137,202,137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,
656 131,195,4,65,252,255,36,252,238,255,68,137,60,36,68,137,116,36,4,139,108,
657 202,252,240,139,68,202,252,248,68,139,181,233,131,195,4,68,139,189,233,248,
658 1,68,57,252,240,15,131,244,251,65,129,124,253,199,4,239,15,132,244,250,255,
659 252,242,15,42,192,255,219,68,202,252,248,255,73,139,44,199,72,137,108,202,
660 8,131,192,1,255,137,68,202,252,248,248,2,15,183,67,252,254,141,156,253,131,
661 233,248,3,68,139,116,36,4,68,139,60,36,139,3,15,182,204,15,182,232,131,195,
662 4,193,232,16,65,252,255,36,252,238,248,4,131,192,1,255,137,68,202,252,248,
663 255,252,233,244,1,248,5,68,41,252,240,248,6,59,133,233,15,135,244,3,68,105,
664 252,248,239,68,3,189,233,65,129,191,233,239,15,132,244,253,70,141,116,48,
665 1,73,139,175,233,73,139,135,233,72,137,44,202,72,137,68,202,8,68,137,116,
666 202,252,248,252,233,244,2,248,7,131,192,1,252,233,244,6,255,129,124,253,202,
667 252,236,239,15,133,244,251,139,108,202,232,129,124,253,202,252,244,239,15,
668 133,244,251,129,124,253,202,252,252,239,15,133,244,251,128,189,233,235,15,
669 133,244,251,141,156,253,131,233,199,68,202,252,248,0,0,0,0,248,1,139,3,15,
670 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5,198,67,
671 252,252,235,141,156,253,131,233,198,3,235,252,233,244,1,255,15,182,252,236,
672 15,182,192,68,137,60,36,68,141,188,253,194,233,141,12,202,68,43,122,252,252,
673 133,252,237,15,132,244,251,141,108,252,233,252,248,65,57,215,15,131,244,248,
674 248,1,73,139,71,252,248,65,131,199,8,72,137,1,131,193,8,57,252,233,15,131,
675 244,249,65,57,215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,
676 130,244,2,248,3,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,
677 16,65,252,255,36,252,238,248,5,199,68,36,4,1,0,0,0,137,208,68,41,252,248,
678 15,134,244,3,137,197,193,252,237,3,131,197,1,137,108,36,4,139,108,36,24,1,
679 200,59,133,233,15,135,244,253,248,6,255,73,139,71,252,248,65,131,199,8,72,
680 137,1,131,193,8,65,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,
681 141,233,137,92,36,28,65,41,215,139,116,36,4,131,252,238,1,137,252,239,232,
682 251,1,0,139,149,233,139,141,233,65,1,215,252,233,244,6,255,193,225,3,255,
683 248,1,139,90,252,252,137,68,36,4,252,247,195,237,15,133,244,253,255,248,13,
684 65,137,215,131,232,1,15,132,244,249,248,2,73,139,44,15,73,137,111,252,248,
685 65,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,4,15,182,107,252,255,
686 248,5,57,197,15,135,244,252,255,72,139,44,10,72,137,106,252,248,255,248,5,
687 56,67,252,255,15,135,244,252,255,15,182,75,252,253,72,252,247,209,141,20,
688 202,68,139,122,252,248,69,139,191,233,69,139,191,233,139,3,15,182,204,15,
689 182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,255,65,199,71,252,
690 252,237,65,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,
691 5,248,7,141,171,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,
692 255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,1,15,132,244,
693 141,255,141,12,202,255,129,121,253,4,239,15,135,244,54,129,121,253,12,239,
694 15,135,244,54,255,139,105,20,255,129,252,253,239,15,135,244,54,255,252,242,
695 15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,
696 237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,
697 17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,
698 136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,67,
699 252,254,255,15,131,244,248,141,156,253,131,233,255,141,156,253,131,233,15,
700 183,67,252,254,15,131,245,255,15,130,244,248,141,156,253,131,233,255,248,
701 3,102,15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,
702 132,244,247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,255,141,
703 156,253,131,233,139,1,137,105,252,252,137,65,252,248,255,65,139,142,233,139,
704 4,129,72,139,128,233,139,108,36,24,65,137,150,233,65,137,174,233,76,137,36,
705 36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156,253,131,233,
706 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,
707 137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,1,15,132,244,143,
708 255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15,135,244,23,15,182,
709 139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254,252,233,245,255,
710 248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,
711 255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252,252,68,137,120,
712 252,248,139,108,36,24,141,12,200,59,141,233,15,135,244,22,137,209,137,194,
713 15,182,171,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244,
714 249,68,139,121,252,248,68,137,56,68,139,121,252,252,68,137,120,4,131,192,
715 8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,68,139,187,233,
716 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255, 504 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,
717 248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233,244,2,255, 505 139,108,194,4,131,195,4,129,252,253,239,255,15,131,244,247,255,15,130,244,
718 139,106,252,248,76,139,189,233,139,108,36,24,141,68,194,252,248,137,149,233, 506 247,255,137,108,202,4,139,44,194,137,44,202,255,15,183,67,252,254,141,156,
719 141,136,233,59,141,233,137,133,233,255,137,252,239,255,76,137,252,254,137, 507 253,131,233,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
720 252,239,255,15,135,244,21,65,199,134,233,237,255,65,252,255,215,255,65,252, 508 255,36,252,238,255,72,139,44,194,72,137,44,202,139,3,15,182,204,15,182,232,
721 255,150,233,255,65,199,134,233,237,139,149,233,141,12,194,252,247,217,3,141, 509 131,195,4,193,232,16,65,252,255,36,252,238,255,49,252,237,129,124,253,194,
722 233,139,90,252,252,252,233,244,12,255,254,0 510 4,239,129,213,239,137,108,202,4,139,3,15,182,204,15,182,232,131,195,4,193,
511 232,16,65,252,255,36,252,238,255,129,124,253,194,4,239,15,135,244,49,255,
512 252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,242,15,
513 17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,
514 244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,
515 4,202,255,219,128,233,248,1,221,28,202,255,139,3,15,182,204,15,182,232,131,
516 195,4,193,232,16,65,252,255,36,252,238,248,2,129,124,253,194,4,239,15,133,
517 244,51,139,60,194,137,213,232,251,1,19,255,252,242,15,42,192,137,252,234,
518 255,15,182,75,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129,
519 124,253,252,234,4,239,15,135,244,47,255,252,242,15,16,4,252,234,252,242,65,
520 15,88,4,199,255,221,4,252,234,65,220,4,199,255,129,124,253,252,234,4,239,
521 15,135,244,48,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221,
522 4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,50,129,124,253,
523 194,4,239,15,135,244,50,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,
524 221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,
525 255,221,4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,
526 4,252,234,255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,
527 242,15,92,4,194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,
528 252,242,65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15,
529 16,4,199,252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252,
530 242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,
531 252,242,15,16,4,252,234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52,
532 199,255,252,242,65,15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220,
533 52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,
534 234,220,52,194,255,252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221,
535 4,252,234,65,221,4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234,
536 255,65,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,
537 12,194,255,221,4,252,234,221,4,194,255,248,158,232,244,149,255,252,233,244,
538 158,255,232,244,108,255,15,182,252,236,15,182,192,139,124,36,24,137,151,233,
539 141,52,194,137,194,41,252,234,248,33,137,252,253,137,92,36,28,232,251,1,26,
540 139,149,233,133,192,15,133,244,42,15,182,107,252,255,15,182,75,252,253,72,
541 139,4,252,234,72,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,
542 16,65,252,255,36,252,238,255,72,252,247,208,65,139,4,135,199,68,202,4,237,
543 137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
544 252,238,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,255,223,67,252,
545 254,221,28,202,255,252,242,65,15,16,4,199,252,242,15,17,4,202,255,65,221,
546 4,199,221,28,202,255,72,252,247,208,137,68,202,4,139,3,15,182,204,15,182,
547 232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,76,202,12,141,68,194,
548 4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139,
549 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,
550 106,252,248,139,172,253,133,233,139,173,233,72,139,69,0,72,137,4,202,139,
551 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,
552 106,252,248,139,172,253,141,233,128,189,233,0,139,173,233,139,12,194,139,
553 68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244,
554 248,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
555 252,238,248,2,129,232,239,129,252,248,239,15,134,244,1,252,246,129,233,235,
556 15,132,244,1,137,252,238,137,213,65,141,190,233,255,232,251,1,27,137,252,
557 234,252,233,244,1,255,72,252,247,208,139,106,252,248,139,172,253,141,233,
558 65,139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,
559 248,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
560 252,238,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,
561 137,213,137,198,65,141,190,233,232,251,1,27,137,252,234,252,233,244,1,255,
562 139,106,252,248,255,252,242,65,15,16,4,199,255,139,172,253,141,233,139,141,
563 233,255,252,242,15,17,1,255,221,25,255,72,252,247,208,139,106,252,248,139,
564 172,253,141,233,139,141,233,137,65,4,139,3,15,182,204,15,182,232,131,195,
565 4,193,232,16,65,252,255,36,252,238,255,141,156,253,131,233,139,108,36,24,
566 131,189,233,0,15,132,244,247,137,149,233,141,52,202,137,252,239,232,251,1,
567 28,139,149,233,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
568 252,255,36,252,238,255,72,252,247,208,139,108,36,24,137,149,233,139,82,252,
569 248,65,139,52,135,137,252,239,137,92,36,28,232,251,1,29,139,149,233,15,182,
570 75,252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,
571 4,193,232,16,65,252,255,36,252,238,255,139,108,36,24,137,149,233,65,139,142,
572 233,65,59,142,233,137,92,36,28,15,131,244,251,248,1,137,194,37,252,255,7,
573 0,0,193,252,234,11,61,252,255,7,0,0,15,132,244,249,248,2,137,252,239,137,
574 198,232,251,1,30,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,
575 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,
576 3,184,1,8,0,0,252,233,244,2,248,5,137,252,239,232,251,1,31,15,183,67,252,
577 254,252,233,244,1,255,72,252,247,208,139,108,36,24,65,139,142,233,137,92,
578 36,28,65,59,142,233,137,149,233,15,131,244,249,248,2,65,139,52,135,137,252,
579 239,232,251,1,32,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,
580 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,
581 3,137,252,239,232,251,1,31,15,183,67,252,254,72,252,247,208,252,233,244,2,
582 255,72,252,247,208,139,106,252,248,139,173,233,65,139,4,135,252,233,244,159,
583 255,72,252,247,208,139,106,252,248,139,173,233,65,139,4,135,252,233,244,160,
584 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,
585 44,252,234,129,124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252,
586 242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244,36,59,133,233,
587 15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,72,139,
588 40,72,137,44,202,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
589 252,255,36,252,238,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,
590 129,233,235,15,132,244,36,15,182,75,252,253,248,3,255,199,68,202,4,237,252,
591 233,244,1,248,5,129,124,253,194,4,239,15,133,244,36,139,4,194,252,233,244,
592 159,255,15,182,252,236,15,182,192,72,252,247,208,65,139,4,135,129,124,253,
593 252,234,4,239,15,133,244,34,139,44,252,234,248,159,139,141,233,35,136,233,
594 105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233,15,
595 133,244,250,129,121,253,4,239,15,132,244,251,15,182,67,252,253,72,139,41,
596 72,137,44,194,248,2,255,139,3,15,182,204,15,182,232,131,195,4,193,232,16,
597 65,252,255,36,252,238,248,3,15,182,67,252,253,199,68,194,4,237,252,233,244,
598 2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,
599 244,3,252,246,129,233,235,15,133,244,3,252,233,244,34,255,15,182,252,236,
600 15,182,192,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,59,133,
601 233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,72,
602 139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,
603 16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,249,139,141,233,252,
604 246,129,233,235,15,132,244,35,255,15,182,75,252,253,248,3,199,68,202,4,237,
605 252,233,244,1,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,
606 133,244,39,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255,15,133,
607 244,39,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,
608 132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,
609 72,137,40,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
610 252,238,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,
611 235,15,132,244,39,15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4,
612 239,15,133,244,39,139,4,194,252,233,244,160,248,7,128,165,233,235,65,139,
613 142,233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,15,
614 182,252,236,15,182,192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,
615 239,15,133,244,37,139,44,252,234,248,160,139,141,233,35,136,233,105,201,239,
616 198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,
617 133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,
618 15,133,244,253,248,3,15,182,67,252,253,72,139,44,194,72,137,41,139,3,15,182,
619 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,4,131,189,233,
620 0,15,132,244,2,137,12,36,139,141,233,252,246,129,233,235,15,132,244,37,139,
621 12,36,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,
622 133,201,15,132,244,252,252,246,129,233,235,15,132,244,37,248,6,137,4,36,199,
623 68,36,4,237,137,108,36,8,139,124,36,24,137,151,233,72,141,20,36,137,252,238,
624 137,252,253,137,92,36,28,232,251,1,33,139,149,233,139,108,36,8,137,193,252,
625 233,244,2,248,7,128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,
626 252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,
627 133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,
628 120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,
629 2,72,139,12,202,72,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16,
630 65,252,255,36,252,238,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,
631 246,129,233,235,15,132,244,38,15,182,75,252,253,252,233,244,1,248,7,128,165,
632 233,235,65,139,142,233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,
633 244,2,255,68,137,60,36,69,139,60,199,248,1,141,12,202,139,105,252,248,252,
634 246,133,233,235,15,133,244,253,248,2,139,68,36,4,131,232,1,15,132,244,250,
635 68,1,252,248,59,133,233,15,135,244,251,68,41,252,248,65,193,231,3,68,3,189,
636 233,248,3,72,139,41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244,
637 3,248,4,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
638 252,255,36,252,238,248,5,139,124,36,24,137,151,233,137,252,238,137,194,137,
639 252,253,137,92,36,28,232,251,1,34,139,149,233,15,182,75,252,253,252,233,244,
640 1,248,7,255,128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,
641 233,244,2,255,3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244,52,
642 141,84,202,8,137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,
643 131,195,4,65,252,255,36,252,238,255,141,76,202,8,65,137,215,139,105,252,248,
644 129,121,253,252,252,239,15,133,244,28,248,53,139,90,252,252,252,247,195,237,
645 15,133,244,253,248,1,137,106,252,248,137,68,36,4,131,232,1,15,132,244,249,
646 248,2,72,139,41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244,2,139,
647 106,252,248,248,3,139,68,36,4,128,189,233,1,15,135,244,251,248,4,139,157,
648 233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248,
649 5,255,252,247,195,237,15,133,244,4,15,182,75,252,253,72,252,247,209,141,12,
650 202,68,139,121,252,248,69,139,191,233,69,139,191,233,252,233,244,4,248,7,
651 129,252,235,239,252,247,195,237,15,133,244,254,41,218,65,137,215,139,90,252,
652 252,252,233,244,1,248,8,129,195,239,252,233,244,1,255,141,76,202,8,72,139,
653 105,232,72,139,65,252,240,72,137,41,72,137,65,8,139,105,224,139,65,228,137,
654 105,252,248,137,65,252,252,129,252,248,239,184,237,15,133,244,28,137,202,
655 137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,
656 252,255,36,252,238,255,68,137,60,36,68,137,116,36,4,139,108,202,252,240,139,
657 68,202,252,248,68,139,181,233,131,195,4,68,139,189,233,248,1,68,57,252,240,
658 15,131,244,251,65,129,124,253,199,4,239,15,132,244,250,255,252,242,15,42,
659 192,255,219,68,202,252,248,255,73,139,44,199,72,137,108,202,8,131,192,1,255,
660 137,68,202,252,248,248,2,15,183,67,252,254,141,156,253,131,233,248,3,68,139,
661 116,36,4,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
662 252,255,36,252,238,248,4,131,192,1,255,137,68,202,252,248,255,252,233,244,
663 1,248,5,68,41,252,240,248,6,59,133,233,15,135,244,3,68,105,252,248,239,68,
664 3,189,233,65,129,191,233,239,15,132,244,253,70,141,116,48,1,73,139,175,233,
665 73,139,135,233,72,137,44,202,72,137,68,202,8,68,137,116,202,252,248,252,233,
666 244,2,248,7,131,192,1,252,233,244,6,255,129,124,253,202,252,236,239,15,133,
667 244,251,139,108,202,232,129,124,253,202,252,244,239,15,133,244,251,129,124,
668 253,202,252,252,239,15,133,244,251,128,189,233,235,15,133,244,251,141,156,
669 253,131,233,199,68,202,252,248,0,0,0,0,248,1,139,3,15,182,204,15,182,232,
670 131,195,4,193,232,16,65,252,255,36,252,238,248,5,198,67,252,252,235,141,156,
671 253,131,233,198,3,235,252,233,244,1,255,15,182,252,236,15,182,192,68,137,
672 60,36,68,141,188,253,194,233,141,12,202,68,43,122,252,252,133,252,237,15,
673 132,244,251,141,108,252,233,252,248,65,57,215,15,131,244,248,248,1,73,139,
674 71,252,248,65,131,199,8,72,137,1,131,193,8,57,252,233,15,131,244,249,65,57,
675 215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248,
676 3,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,
677 36,252,238,248,5,199,68,36,4,1,0,0,0,137,208,68,41,252,248,15,134,244,3,137,
678 197,193,252,237,3,131,197,1,137,108,36,4,139,108,36,24,1,200,59,133,233,15,
679 135,244,253,248,6,255,73,139,71,252,248,65,131,199,8,72,137,1,131,193,8,65,
680 57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,92,36,
681 28,65,41,215,139,116,36,4,131,252,238,1,137,252,239,232,251,1,0,139,149,233,
682 139,141,233,65,1,215,252,233,244,6,255,193,225,3,255,248,1,139,90,252,252,
683 137,68,36,4,252,247,195,237,15,133,244,253,255,248,13,65,137,215,131,232,
684 1,15,132,244,249,248,2,73,139,44,15,73,137,111,252,248,65,131,199,8,131,232,
685 1,15,133,244,2,248,3,139,68,36,4,15,182,107,252,255,248,5,57,197,15,135,244,
686 252,255,72,139,44,10,72,137,106,252,248,255,248,5,56,67,252,255,15,135,244,
687 252,255,15,182,75,252,253,72,252,247,209,141,20,202,68,139,122,252,248,69,
688 139,191,233,69,139,191,233,139,3,15,182,204,15,182,232,131,195,4,193,232,
689 16,65,252,255,36,252,238,248,6,255,65,199,71,252,252,237,65,131,199,8,255,
690 199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,7,141,171,233,252,
691 247,197,237,15,133,244,14,41,252,234,255,1,252,233,255,137,221,209,252,237,
692 129,229,239,102,65,131,172,253,46,233,1,15,132,244,141,255,141,12,202,255,
693 129,121,253,4,239,15,135,244,54,129,121,253,12,239,15,135,244,54,255,139,
694 105,20,255,129,252,253,239,15,135,244,54,255,252,242,15,16,1,252,242,15,16,
695 73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,
696 15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,
697 1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,
698 15,140,244,247,255,217,201,248,1,255,15,183,67,252,254,255,15,131,244,248,
699 141,156,253,131,233,255,141,156,253,131,233,15,183,67,252,254,15,131,245,
700 255,15,130,244,248,141,156,253,131,233,255,248,3,102,15,46,193,252,233,244,
701 1,255,141,12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,
702 252,139,41,137,105,252,248,252,233,245,255,141,156,253,131,233,139,1,137,
703 105,252,252,137,65,252,248,255,65,139,142,233,139,4,129,72,139,128,233,139,
704 108,36,24,65,137,150,233,65,137,174,233,76,137,36,36,76,137,108,36,8,72,131,
705 252,236,16,252,255,224,255,141,156,253,131,233,139,3,15,182,204,15,182,232,
706 131,195,4,193,232,16,65,252,255,36,252,238,255,137,221,209,252,237,129,229,
707 239,102,65,131,172,253,46,233,1,15,132,244,143,255,68,139,187,233,139,108,
708 36,24,141,12,202,59,141,233,15,135,244,23,15,182,139,233,57,200,15,134,244,
709 249,248,2,255,15,183,67,252,254,252,233,245,255,248,3,199,68,194,252,252,
710 237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,141,4,
711 194,68,139,122,252,248,137,104,252,252,68,137,120,252,248,139,108,36,24,141,
712 12,200,59,141,233,15,135,244,22,137,209,137,194,15,182,171,233,133,252,237,
713 15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,68,139,121,252,248,68,
714 137,56,68,139,121,252,252,68,137,120,4,131,192,8,199,65,252,252,237,131,252,
715 237,1,15,133,244,1,248,2,255,68,139,187,233,139,3,15,182,204,15,182,232,131,
716 195,4,193,232,16,65,252,255,36,252,238,255,248,3,199,64,4,237,131,192,8,131,
717 252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,76,139,189,233,139,
718 108,36,24,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233,
719 255,137,252,239,255,76,137,252,254,137,252,239,255,15,135,244,21,65,199,134,
720 233,237,255,65,252,255,215,255,65,252,255,150,233,255,65,199,134,233,237,
721 139,149,233,141,12,194,252,247,217,3,141,233,139,90,252,252,252,233,244,12,
722 255,254,0
723}; 723};
724 724
725enum { 725enum {
@@ -1440,44 +1440,44 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1440 } 1440 }
1441 dasm_put(Dst, 8289); 1441 dasm_put(Dst, 8289);
1442 dasm_put(Dst, 8374, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1442 dasm_put(Dst, 8374, (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, 8475, (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)); 1443 dasm_put(Dst, 8477, (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, 8649); 1444 dasm_put(Dst, 8639);
1445#if LJ_HASJIT 1445#if LJ_HASJIT
1446 if (sse) { 1446 if (sse) {
1447 dasm_put(Dst, 8690); 1447 dasm_put(Dst, 8680);
1448 dasm_put(Dst, 8760); 1448 dasm_put(Dst, 8750);
1449 dasm_put(Dst, 8832); 1449 dasm_put(Dst, 8822);
1450 } else { 1450 } else {
1451 dasm_put(Dst, 8884); 1451 dasm_put(Dst, 8874);
1452 dasm_put(Dst, 8976); 1452 dasm_put(Dst, 8966);
1453 } 1453 }
1454 dasm_put(Dst, 9022); 1454 dasm_put(Dst, 9012);
1455#endif 1455#endif
1456 dasm_put(Dst, 9026); 1456 dasm_put(Dst, 9016);
1457 if (sse) { 1457 if (sse) {
1458 dasm_put(Dst, 9029, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1458 dasm_put(Dst, 9019, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1459 dasm_put(Dst, 9114, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1459 dasm_put(Dst, 9104, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1460 } else { 1460 } else {
1461 dasm_put(Dst, 9242); 1461 dasm_put(Dst, 9232);
1462 dasm_put(Dst, 9325); 1462 dasm_put(Dst, 9315);
1463 if (cmov) { 1463 if (cmov) {
1464 dasm_put(Dst, 9380); 1464 dasm_put(Dst, 9370);
1465 } else { 1465 } else {
1466 dasm_put(Dst, 9399); 1466 dasm_put(Dst, 9389);
1467 } 1467 }
1468 dasm_put(Dst, 9022); 1468 dasm_put(Dst, 9012);
1469 } 1469 }
1470 dasm_put(Dst, 9440); 1470 dasm_put(Dst, 9430);
1471#if LJ_HASFFI 1471#if LJ_HASFFI
1472#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 1472#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1473 dasm_put(Dst, 9464, DtE(->spadj)); 1473 dasm_put(Dst, 9454, DtE(->spadj));
1474#if LJ_TARGET_WINDOWS 1474#if LJ_TARGET_WINDOWS
1475#endif 1475#endif
1476 dasm_put(Dst, 9480, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->fpr[0]), DtE(->fpr[1])); 1476 dasm_put(Dst, 9470, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->fpr[0]), DtE(->fpr[1]));
1477 dasm_put(Dst, 9559, DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->fpr[1])); 1477 dasm_put(Dst, 9549, DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->fpr[1]));
1478#if LJ_TARGET_WINDOWS 1478#if LJ_TARGET_WINDOWS
1479#endif 1479#endif
1480 dasm_put(Dst, 9614); 1480 dasm_put(Dst, 9604);
1481#endif 1481#endif
1482} 1482}
1483 1483
@@ -1485,7 +1485,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) 1485static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1486{ 1486{
1487 int vk = 0; 1487 int vk = 0;
1488 dasm_put(Dst, 9622, defop); 1488 dasm_put(Dst, 9612, defop);
1489 1489
1490 switch (op) { 1490 switch (op) {
1491 1491
@@ -1494,57 +1494,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. */ 1494 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1495 1495
1496 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1496 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1497 dasm_put(Dst, 9624, LJ_TISNUM, LJ_TISNUM); 1497 dasm_put(Dst, 9614, LJ_TISNUM, LJ_TISNUM);
1498 if (sse) { 1498 if (sse) {
1499 dasm_put(Dst, 9645); 1499 dasm_put(Dst, 9635);
1500 } else { 1500 } else {
1501 dasm_put(Dst, 9660); 1501 dasm_put(Dst, 9650);
1502 if (cmov) { 1502 if (cmov) {
1503 dasm_put(Dst, 9670); 1503 dasm_put(Dst, 9660);
1504 } else { 1504 } else {
1505 dasm_put(Dst, 9676); 1505 dasm_put(Dst, 9666);
1506 } 1506 }
1507 } 1507 }
1508 switch (op) { 1508 switch (op) {
1509 case BC_ISLT: 1509 case BC_ISLT:
1510 dasm_put(Dst, 9683); 1510 dasm_put(Dst, 9673);
1511 break; 1511 break;
1512 case BC_ISGE: 1512 case BC_ISGE:
1513 dasm_put(Dst, 9320); 1513 dasm_put(Dst, 9310);
1514 break; 1514 break;
1515 case BC_ISLE: 1515 case BC_ISLE:
1516 dasm_put(Dst, 5927); 1516 dasm_put(Dst, 5927);
1517 break; 1517 break;
1518 case BC_ISGT: 1518 case BC_ISGT:
1519 dasm_put(Dst, 9688); 1519 dasm_put(Dst, 9678);
1520 break; 1520 break;
1521 default: break; /* Shut up GCC. */ 1521 default: break; /* Shut up GCC. */
1522 } 1522 }
1523 dasm_put(Dst, 9693, -BCBIAS_J*4); 1523 dasm_put(Dst, 9683, -BCBIAS_J*4);
1524 break; 1524 break;
1525 1525
1526 case BC_ISEQV: case BC_ISNEV: 1526 case BC_ISEQV: case BC_ISNEV:
1527 vk = op == BC_ISEQV; 1527 vk = op == BC_ISEQV;
1528 dasm_put(Dst, 9728, LJ_TISNUM, LJ_TISNUM); 1528 dasm_put(Dst, 9718, LJ_TISNUM, LJ_TISNUM);
1529 if (sse) { 1529 if (sse) {
1530 dasm_put(Dst, 9754); 1530 dasm_put(Dst, 9744);
1531 } else { 1531 } else {
1532 dasm_put(Dst, 9766); 1532 dasm_put(Dst, 9756);
1533 if (cmov) { 1533 if (cmov) {
1534 dasm_put(Dst, 9670); 1534 dasm_put(Dst, 9660);
1535 } else { 1535 } else {
1536 dasm_put(Dst, 9676); 1536 dasm_put(Dst, 9666);
1537 } 1537 }
1538 } 1538 }
1539 iseqne_fp: 1539 iseqne_fp:
1540 if (vk) { 1540 if (vk) {
1541 dasm_put(Dst, 9773); 1541 dasm_put(Dst, 9763);
1542 } else { 1542 } else {
1543 dasm_put(Dst, 9782); 1543 dasm_put(Dst, 9772);
1544 } 1544 }
1545 iseqne_end: 1545 iseqne_end:
1546 if (vk) { 1546 if (vk) {
1547 dasm_put(Dst, 9791, -BCBIAS_J*4); 1547 dasm_put(Dst, 9781, -BCBIAS_J*4);
1548 if (!LJ_HASFFI) { 1548 if (!LJ_HASFFI) {
1549 dasm_put(Dst, 4502); 1549 dasm_put(Dst, 4502);
1550 } 1550 }
@@ -1552,581 +1552,581 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1552 if (!LJ_HASFFI) { 1552 if (!LJ_HASFFI) {
1553 dasm_put(Dst, 4502); 1553 dasm_put(Dst, 4502);
1554 } 1554 }
1555 dasm_put(Dst, 9806, -BCBIAS_J*4); 1555 dasm_put(Dst, 9796, -BCBIAS_J*4);
1556 } 1556 }
1557 dasm_put(Dst, 9707); 1557 dasm_put(Dst, 9697);
1558 if (op == BC_ISEQV || op == BC_ISNEV) { 1558 if (op == BC_ISEQV || op == BC_ISNEV) {
1559 dasm_put(Dst, 9821); 1559 dasm_put(Dst, 9811);
1560 if (LJ_HASFFI) { 1560 if (LJ_HASFFI) {
1561 dasm_put(Dst, 9824, LJ_TCDATA, LJ_TCDATA); 1561 dasm_put(Dst, 9814, LJ_TCDATA, LJ_TCDATA);
1562 } 1562 }
1563 dasm_put(Dst, 9843, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1563 dasm_put(Dst, 9833, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1564 if (vk) { 1564 if (vk) {
1565 dasm_put(Dst, 9899); 1565 dasm_put(Dst, 9889);
1566 } else { 1566 } else {
1567 dasm_put(Dst, 9903); 1567 dasm_put(Dst, 9893);
1568 } 1568 }
1569 dasm_put(Dst, 9909); 1569 dasm_put(Dst, 9899);
1570 } else if (LJ_HASFFI) { 1570 } else if (LJ_HASFFI) {
1571 dasm_put(Dst, 9914, LJ_TCDATA); 1571 dasm_put(Dst, 9904, LJ_TCDATA);
1572 } 1572 }
1573 break; 1573 break;
1574 case BC_ISEQS: case BC_ISNES: 1574 case BC_ISEQS: case BC_ISNES:
1575 vk = op == BC_ISEQS; 1575 vk = op == BC_ISEQS;
1576 dasm_put(Dst, 9929, LJ_TSTR); 1576 dasm_put(Dst, 9919, LJ_TSTR);
1577 iseqne_test: 1577 iseqne_test:
1578 if (vk) { 1578 if (vk) {
1579 dasm_put(Dst, 9777); 1579 dasm_put(Dst, 9767);
1580 } else { 1580 } else {
1581 dasm_put(Dst, 2836); 1581 dasm_put(Dst, 2836);
1582 } 1582 }
1583 goto iseqne_end; 1583 goto iseqne_end;
1584 case BC_ISEQN: case BC_ISNEN: 1584 case BC_ISEQN: case BC_ISNEN:
1585 vk = op == BC_ISEQN; 1585 vk = op == BC_ISEQN;
1586 dasm_put(Dst, 9956, LJ_TISNUM); 1586 dasm_put(Dst, 9946, LJ_TISNUM);
1587 if (sse) { 1587 if (sse) {
1588 dasm_put(Dst, 9972); 1588 dasm_put(Dst, 9962);
1589 } else { 1589 } else {
1590 dasm_put(Dst, 9985); 1590 dasm_put(Dst, 9975);
1591 if (cmov) { 1591 if (cmov) {
1592 dasm_put(Dst, 9670); 1592 dasm_put(Dst, 9660);
1593 } else { 1593 } else {
1594 dasm_put(Dst, 9676); 1594 dasm_put(Dst, 9666);
1595 } 1595 }
1596 } 1596 }
1597 goto iseqne_fp; 1597 goto iseqne_fp;
1598 case BC_ISEQP: case BC_ISNEP: 1598 case BC_ISEQP: case BC_ISNEP:
1599 vk = op == BC_ISEQP; 1599 vk = op == BC_ISEQP;
1600 dasm_put(Dst, 9993); 1600 dasm_put(Dst, 9983);
1601 if (!LJ_HASFFI) goto iseqne_test; 1601 if (!LJ_HASFFI) goto iseqne_test;
1602 if (vk) { 1602 if (vk) {
1603 dasm_put(Dst, 10007, -BCBIAS_J*4, LJ_TCDATA); 1603 dasm_put(Dst, 9997, -BCBIAS_J*4, LJ_TCDATA);
1604 } else { 1604 } else {
1605 dasm_put(Dst, 10058, LJ_TCDATA, -BCBIAS_J*4); 1605 dasm_put(Dst, 10048, LJ_TCDATA, -BCBIAS_J*4);
1606 } 1606 }
1607 break; 1607 break;
1608 1608
1609 /* -- Unary test and copy ops ------------------------------------------- */ 1609 /* -- Unary test and copy ops ------------------------------------------- */
1610 1610
1611 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1611 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1612 dasm_put(Dst, 10103, LJ_TISTRUECOND); 1612 dasm_put(Dst, 10093, LJ_TISTRUECOND);
1613 if (op == BC_IST || op == BC_ISTC) { 1613 if (op == BC_IST || op == BC_ISTC) {
1614 dasm_put(Dst, 10115); 1614 dasm_put(Dst, 10105);
1615 } else { 1615 } else {
1616 dasm_put(Dst, 10120); 1616 dasm_put(Dst, 10110);
1617 } 1617 }
1618 if (op == BC_ISTC || op == BC_ISFC) { 1618 if (op == BC_ISTC || op == BC_ISFC) {
1619 dasm_put(Dst, 10125); 1619 dasm_put(Dst, 10115);
1620 } 1620 }
1621 dasm_put(Dst, 10136, -BCBIAS_J*4); 1621 dasm_put(Dst, 10126, -BCBIAS_J*4);
1622 break; 1622 break;
1623 1623
1624 /* -- Unary ops --------------------------------------------------------- */ 1624 /* -- Unary ops --------------------------------------------------------- */
1625 1625
1626 case BC_MOV: 1626 case BC_MOV:
1627 dasm_put(Dst, 10169); 1627 dasm_put(Dst, 10159);
1628 break; 1628 break;
1629 case BC_NOT: 1629 case BC_NOT:
1630 dasm_put(Dst, 10198, LJ_TISTRUECOND, LJ_TTRUE); 1630 dasm_put(Dst, 10188, LJ_TISTRUECOND, LJ_TTRUE);
1631 break; 1631 break;
1632 case BC_UNM: 1632 case BC_UNM:
1633 dasm_put(Dst, 10235, LJ_TISNUM); 1633 dasm_put(Dst, 10225, LJ_TISNUM);
1634 if (sse) { 1634 if (sse) {
1635 dasm_put(Dst, 10246, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1635 dasm_put(Dst, 10236, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1636 } else { 1636 } else {
1637 dasm_put(Dst, 10271); 1637 dasm_put(Dst, 10261);
1638 } 1638 }
1639 dasm_put(Dst, 9707); 1639 dasm_put(Dst, 9697);
1640 break; 1640 break;
1641 case BC_LEN: 1641 case BC_LEN:
1642 dasm_put(Dst, 10280, LJ_TSTR); 1642 dasm_put(Dst, 10270, LJ_TSTR);
1643 if (sse) { 1643 if (sse) {
1644 dasm_put(Dst, 10294, Dt5(->len)); 1644 dasm_put(Dst, 10284, Dt5(->len));
1645 } else { 1645 } else {
1646 dasm_put(Dst, 10312, Dt5(->len)); 1646 dasm_put(Dst, 10302, Dt5(->len));
1647 } 1647 }
1648 dasm_put(Dst, 10321, LJ_TTAB); 1648 dasm_put(Dst, 10311, LJ_TTAB);
1649 if (sse) { 1649 if (sse) {
1650 dasm_put(Dst, 10363); 1650 dasm_put(Dst, 10353);
1651 } else { 1651 } else {
1652 } 1652 }
1653 dasm_put(Dst, 10372); 1653 dasm_put(Dst, 10362);
1654 break; 1654 break;
1655 1655
1656 /* -- Binary ops -------------------------------------------------------- */ 1656 /* -- Binary ops -------------------------------------------------------- */
1657 1657
1658 1658
1659 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1659 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1660 dasm_put(Dst, 10382); 1660 dasm_put(Dst, 10372);
1661 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1661 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1662 switch (vk) { 1662 switch (vk) {
1663 case 0: 1663 case 0:
1664 dasm_put(Dst, 10390, LJ_TISNUM); 1664 dasm_put(Dst, 10380, LJ_TISNUM);
1665 if (sse) { 1665 if (sse) {
1666 dasm_put(Dst, 10402); 1666 dasm_put(Dst, 10392);
1667 } else { 1667 } else {
1668 dasm_put(Dst, 10417); 1668 dasm_put(Dst, 10407);
1669 } 1669 }
1670 break; 1670 break;
1671 case 1: 1671 case 1:
1672 dasm_put(Dst, 10426, LJ_TISNUM); 1672 dasm_put(Dst, 10416, LJ_TISNUM);
1673 if (sse) { 1673 if (sse) {
1674 dasm_put(Dst, 10438); 1674 dasm_put(Dst, 10428);
1675 } else { 1675 } else {
1676 dasm_put(Dst, 10453); 1676 dasm_put(Dst, 10443);
1677 } 1677 }
1678 break; 1678 break;
1679 default: 1679 default:
1680 dasm_put(Dst, 10462, LJ_TISNUM, LJ_TISNUM); 1680 dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM);
1681 if (sse) { 1681 if (sse) {
1682 dasm_put(Dst, 10484); 1682 dasm_put(Dst, 10474);
1683 } else { 1683 } else {
1684 dasm_put(Dst, 10498); 1684 dasm_put(Dst, 10488);
1685 } 1685 }
1686 break; 1686 break;
1687 } 1687 }
1688 if (sse) { 1688 if (sse) {
1689 dasm_put(Dst, 10264); 1689 dasm_put(Dst, 10254);
1690 } else { 1690 } else {
1691 dasm_put(Dst, 10276); 1691 dasm_put(Dst, 10266);
1692 } 1692 }
1693 dasm_put(Dst, 9707); 1693 dasm_put(Dst, 9697);
1694 break; 1694 break;
1695 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1695 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1696 dasm_put(Dst, 10382); 1696 dasm_put(Dst, 10372);
1697 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1697 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1698 switch (vk) { 1698 switch (vk) {
1699 case 0: 1699 case 0:
1700 dasm_put(Dst, 10390, LJ_TISNUM); 1700 dasm_put(Dst, 10380, LJ_TISNUM);
1701 if (sse) { 1701 if (sse) {
1702 dasm_put(Dst, 10506); 1702 dasm_put(Dst, 10496);
1703 } else { 1703 } else {
1704 dasm_put(Dst, 10521); 1704 dasm_put(Dst, 10511);
1705 } 1705 }
1706 break; 1706 break;
1707 case 1: 1707 case 1:
1708 dasm_put(Dst, 10426, LJ_TISNUM); 1708 dasm_put(Dst, 10416, LJ_TISNUM);
1709 if (sse) { 1709 if (sse) {
1710 dasm_put(Dst, 10530); 1710 dasm_put(Dst, 10520);
1711 } else { 1711 } else {
1712 dasm_put(Dst, 10545); 1712 dasm_put(Dst, 10535);
1713 } 1713 }
1714 break; 1714 break;
1715 default: 1715 default:
1716 dasm_put(Dst, 10462, LJ_TISNUM, LJ_TISNUM); 1716 dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM);
1717 if (sse) { 1717 if (sse) {
1718 dasm_put(Dst, 10554); 1718 dasm_put(Dst, 10544);
1719 } else { 1719 } else {
1720 dasm_put(Dst, 10568); 1720 dasm_put(Dst, 10558);
1721 } 1721 }
1722 break; 1722 break;
1723 } 1723 }
1724 if (sse) { 1724 if (sse) {
1725 dasm_put(Dst, 10264); 1725 dasm_put(Dst, 10254);
1726 } else { 1726 } else {
1727 dasm_put(Dst, 10276); 1727 dasm_put(Dst, 10266);
1728 } 1728 }
1729 dasm_put(Dst, 9707); 1729 dasm_put(Dst, 9697);
1730 break; 1730 break;
1731 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1731 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1732 dasm_put(Dst, 10382); 1732 dasm_put(Dst, 10372);
1733 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1733 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1734 switch (vk) { 1734 switch (vk) {
1735 case 0: 1735 case 0:
1736 dasm_put(Dst, 10390, LJ_TISNUM); 1736 dasm_put(Dst, 10380, LJ_TISNUM);
1737 if (sse) { 1737 if (sse) {
1738 dasm_put(Dst, 10576); 1738 dasm_put(Dst, 10566);
1739 } else { 1739 } else {
1740 dasm_put(Dst, 10591); 1740 dasm_put(Dst, 10581);
1741 } 1741 }
1742 break; 1742 break;
1743 case 1: 1743 case 1:
1744 dasm_put(Dst, 10426, LJ_TISNUM); 1744 dasm_put(Dst, 10416, LJ_TISNUM);
1745 if (sse) { 1745 if (sse) {
1746 dasm_put(Dst, 10600); 1746 dasm_put(Dst, 10590);
1747 } else { 1747 } else {
1748 dasm_put(Dst, 10615); 1748 dasm_put(Dst, 10605);
1749 } 1749 }
1750 break; 1750 break;
1751 default: 1751 default:
1752 dasm_put(Dst, 10462, LJ_TISNUM, LJ_TISNUM); 1752 dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM);
1753 if (sse) { 1753 if (sse) {
1754 dasm_put(Dst, 10624); 1754 dasm_put(Dst, 10614);
1755 } else { 1755 } else {
1756 dasm_put(Dst, 10638); 1756 dasm_put(Dst, 10628);
1757 } 1757 }
1758 break; 1758 break;
1759 } 1759 }
1760 if (sse) { 1760 if (sse) {
1761 dasm_put(Dst, 10264); 1761 dasm_put(Dst, 10254);
1762 } else { 1762 } else {
1763 dasm_put(Dst, 10276); 1763 dasm_put(Dst, 10266);
1764 } 1764 }
1765 dasm_put(Dst, 9707); 1765 dasm_put(Dst, 9697);
1766 break; 1766 break;
1767 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1767 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1768 dasm_put(Dst, 10382); 1768 dasm_put(Dst, 10372);
1769 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1769 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1770 switch (vk) { 1770 switch (vk) {
1771 case 0: 1771 case 0:
1772 dasm_put(Dst, 10390, LJ_TISNUM); 1772 dasm_put(Dst, 10380, LJ_TISNUM);
1773 if (sse) { 1773 if (sse) {
1774 dasm_put(Dst, 10646); 1774 dasm_put(Dst, 10636);
1775 } else { 1775 } else {
1776 dasm_put(Dst, 10661); 1776 dasm_put(Dst, 10651);
1777 } 1777 }
1778 break; 1778 break;
1779 case 1: 1779 case 1:
1780 dasm_put(Dst, 10426, LJ_TISNUM); 1780 dasm_put(Dst, 10416, LJ_TISNUM);
1781 if (sse) { 1781 if (sse) {
1782 dasm_put(Dst, 10670); 1782 dasm_put(Dst, 10660);
1783 } else { 1783 } else {
1784 dasm_put(Dst, 10685); 1784 dasm_put(Dst, 10675);
1785 } 1785 }
1786 break; 1786 break;
1787 default: 1787 default:
1788 dasm_put(Dst, 10462, LJ_TISNUM, LJ_TISNUM); 1788 dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM);
1789 if (sse) { 1789 if (sse) {
1790 dasm_put(Dst, 10694); 1790 dasm_put(Dst, 10684);
1791 } else { 1791 } else {
1792 dasm_put(Dst, 10708); 1792 dasm_put(Dst, 10698);
1793 } 1793 }
1794 break; 1794 break;
1795 } 1795 }
1796 if (sse) { 1796 if (sse) {
1797 dasm_put(Dst, 10264); 1797 dasm_put(Dst, 10254);
1798 } else { 1798 } else {
1799 dasm_put(Dst, 10276); 1799 dasm_put(Dst, 10266);
1800 } 1800 }
1801 dasm_put(Dst, 9707); 1801 dasm_put(Dst, 9697);
1802 break; 1802 break;
1803 case BC_MODVN: 1803 case BC_MODVN:
1804 dasm_put(Dst, 10382); 1804 dasm_put(Dst, 10372);
1805 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1805 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1806 switch (vk) { 1806 switch (vk) {
1807 case 0: 1807 case 0:
1808 dasm_put(Dst, 10390, LJ_TISNUM); 1808 dasm_put(Dst, 10380, LJ_TISNUM);
1809 if (sse) { 1809 if (sse) {
1810 dasm_put(Dst, 10716); 1810 dasm_put(Dst, 10706);
1811 } else { 1811 } else {
1812 dasm_put(Dst, 10731); 1812 dasm_put(Dst, 10721);
1813 } 1813 }
1814 break; 1814 break;
1815 case 1: 1815 case 1:
1816 dasm_put(Dst, 10426, LJ_TISNUM); 1816 dasm_put(Dst, 10416, LJ_TISNUM);
1817 if (sse) { 1817 if (sse) {
1818 dasm_put(Dst, 10740); 1818 dasm_put(Dst, 10730);
1819 } else { 1819 } else {
1820 dasm_put(Dst, 10755); 1820 dasm_put(Dst, 10745);
1821 } 1821 }
1822 break; 1822 break;
1823 default: 1823 default:
1824 dasm_put(Dst, 10462, LJ_TISNUM, LJ_TISNUM); 1824 dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM);
1825 if (sse) { 1825 if (sse) {
1826 dasm_put(Dst, 10764); 1826 dasm_put(Dst, 10754);
1827 } else { 1827 } else {
1828 dasm_put(Dst, 10778); 1828 dasm_put(Dst, 10768);
1829 } 1829 }
1830 break; 1830 break;
1831 } 1831 }
1832 dasm_put(Dst, 10786); 1832 dasm_put(Dst, 10776);
1833 if (sse) { 1833 if (sse) {
1834 dasm_put(Dst, 10264); 1834 dasm_put(Dst, 10254);
1835 } else { 1835 } else {
1836 dasm_put(Dst, 10276); 1836 dasm_put(Dst, 10266);
1837 } 1837 }
1838 dasm_put(Dst, 9707); 1838 dasm_put(Dst, 9697);
1839 break; 1839 break;
1840 case BC_MODNV: case BC_MODVV: 1840 case BC_MODNV: case BC_MODVV:
1841 dasm_put(Dst, 10382); 1841 dasm_put(Dst, 10372);
1842 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1842 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1843 switch (vk) { 1843 switch (vk) {
1844 case 0: 1844 case 0:
1845 dasm_put(Dst, 10390, LJ_TISNUM); 1845 dasm_put(Dst, 10380, LJ_TISNUM);
1846 if (sse) { 1846 if (sse) {
1847 dasm_put(Dst, 10716); 1847 dasm_put(Dst, 10706);
1848 } else { 1848 } else {
1849 dasm_put(Dst, 10731); 1849 dasm_put(Dst, 10721);
1850 } 1850 }
1851 break; 1851 break;
1852 case 1: 1852 case 1:
1853 dasm_put(Dst, 10426, LJ_TISNUM); 1853 dasm_put(Dst, 10416, LJ_TISNUM);
1854 if (sse) { 1854 if (sse) {
1855 dasm_put(Dst, 10740); 1855 dasm_put(Dst, 10730);
1856 } else { 1856 } else {
1857 dasm_put(Dst, 10755); 1857 dasm_put(Dst, 10745);
1858 } 1858 }
1859 break; 1859 break;
1860 default: 1860 default:
1861 dasm_put(Dst, 10462, LJ_TISNUM, LJ_TISNUM); 1861 dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM);
1862 if (sse) { 1862 if (sse) {
1863 dasm_put(Dst, 10764); 1863 dasm_put(Dst, 10754);
1864 } else { 1864 } else {
1865 dasm_put(Dst, 10778); 1865 dasm_put(Dst, 10768);
1866 } 1866 }
1867 break; 1867 break;
1868 } 1868 }
1869 dasm_put(Dst, 10792); 1869 dasm_put(Dst, 10782);
1870 break; 1870 break;
1871 case BC_POW: 1871 case BC_POW:
1872 dasm_put(Dst, 10382); 1872 dasm_put(Dst, 10372);
1873 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1873 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1874 switch (vk) { 1874 switch (vk) {
1875 case 0: 1875 case 0:
1876 dasm_put(Dst, 10390, LJ_TISNUM); 1876 dasm_put(Dst, 10380, LJ_TISNUM);
1877 if (sse) { 1877 if (sse) {
1878 dasm_put(Dst, 10716); 1878 dasm_put(Dst, 10706);
1879 } else { 1879 } else {
1880 dasm_put(Dst, 10731); 1880 dasm_put(Dst, 10721);
1881 } 1881 }
1882 break; 1882 break;
1883 case 1: 1883 case 1:
1884 dasm_put(Dst, 10426, LJ_TISNUM); 1884 dasm_put(Dst, 10416, LJ_TISNUM);
1885 if (sse) { 1885 if (sse) {
1886 dasm_put(Dst, 10740); 1886 dasm_put(Dst, 10730);
1887 } else { 1887 } else {
1888 dasm_put(Dst, 10755); 1888 dasm_put(Dst, 10745);
1889 } 1889 }
1890 break; 1890 break;
1891 default: 1891 default:
1892 dasm_put(Dst, 10462, LJ_TISNUM, LJ_TISNUM); 1892 dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM);
1893 if (sse) { 1893 if (sse) {
1894 dasm_put(Dst, 10764); 1894 dasm_put(Dst, 10754);
1895 } else { 1895 } else {
1896 dasm_put(Dst, 10778); 1896 dasm_put(Dst, 10768);
1897 } 1897 }
1898 break; 1898 break;
1899 } 1899 }
1900 dasm_put(Dst, 10797); 1900 dasm_put(Dst, 10787);
1901 if (sse) { 1901 if (sse) {
1902 dasm_put(Dst, 10264); 1902 dasm_put(Dst, 10254);
1903 } else { 1903 } else {
1904 dasm_put(Dst, 10276); 1904 dasm_put(Dst, 10266);
1905 } 1905 }
1906 dasm_put(Dst, 9707); 1906 dasm_put(Dst, 9697);
1907 break; 1907 break;
1908 1908
1909 case BC_CAT: 1909 case BC_CAT:
1910 dasm_put(Dst, 10801, Dt1(->base), Dt1(->base)); 1910 dasm_put(Dst, 10791, Dt1(->base), Dt1(->base));
1911 break; 1911 break;
1912 1912
1913 /* -- Constant ops ------------------------------------------------------ */ 1913 /* -- Constant ops ------------------------------------------------------ */
1914 1914
1915 case BC_KSTR: 1915 case BC_KSTR:
1916 dasm_put(Dst, 10885, LJ_TSTR); 1916 dasm_put(Dst, 10875, LJ_TSTR);
1917 break; 1917 break;
1918 case BC_KCDATA: 1918 case BC_KCDATA:
1919#if LJ_HASFFI 1919#if LJ_HASFFI
1920 dasm_put(Dst, 10885, LJ_TCDATA); 1920 dasm_put(Dst, 10875, LJ_TCDATA);
1921#endif 1921#endif
1922 break; 1922 break;
1923 case BC_KSHORT: 1923 case BC_KSHORT:
1924 if (sse) { 1924 if (sse) {
1925 dasm_put(Dst, 10922); 1925 dasm_put(Dst, 10912);
1926 } else { 1926 } else {
1927 dasm_put(Dst, 10937); 1927 dasm_put(Dst, 10927);
1928 } 1928 }
1929 dasm_put(Dst, 9707); 1929 dasm_put(Dst, 9697);
1930 break; 1930 break;
1931 case BC_KNUM: 1931 case BC_KNUM:
1932 if (sse) { 1932 if (sse) {
1933 dasm_put(Dst, 10945); 1933 dasm_put(Dst, 10935);
1934 } else { 1934 } else {
1935 dasm_put(Dst, 10959); 1935 dasm_put(Dst, 10949);
1936 } 1936 }
1937 dasm_put(Dst, 9707); 1937 dasm_put(Dst, 9697);
1938 break; 1938 break;
1939 case BC_KPRI: 1939 case BC_KPRI:
1940 dasm_put(Dst, 10967); 1940 dasm_put(Dst, 10957);
1941 break; 1941 break;
1942 case BC_KNIL: 1942 case BC_KNIL:
1943 dasm_put(Dst, 10996, LJ_TNIL); 1943 dasm_put(Dst, 10986, LJ_TNIL);
1944 break; 1944 break;
1945 1945
1946 /* -- Upvalue and function ops ------------------------------------------ */ 1946 /* -- Upvalue and function ops ------------------------------------------ */
1947 1947
1948 case BC_UGET: 1948 case BC_UGET:
1949 dasm_put(Dst, 11044, offsetof(GCfuncL, uvptr), DtA(->v)); 1949 dasm_put(Dst, 11034, offsetof(GCfuncL, uvptr), DtA(->v));
1950 break; 1950 break;
1951 case BC_USETV: 1951 case BC_USETV:
1952#define TV2MARKOFS \ 1952#define TV2MARKOFS \
1953 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 1953 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1954 dasm_put(Dst, 11085, 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); 1954 dasm_put(Dst, 11075, 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, 11181); 1955 dasm_put(Dst, 11171);
1956 break; 1956 break;
1957#undef TV2MARKOFS 1957#undef TV2MARKOFS
1958 case BC_USETS: 1958 case BC_USETS:
1959 dasm_put(Dst, 11193, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 1959 dasm_put(Dst, 11183, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1960 break; 1960 break;
1961 case BC_USETN: 1961 case BC_USETN:
1962 dasm_put(Dst, 11289); 1962 dasm_put(Dst, 11279);
1963 if (sse) { 1963 if (sse) {
1964 dasm_put(Dst, 11294); 1964 dasm_put(Dst, 11284);
1965 } else { 1965 } else {
1966 dasm_put(Dst, 9988); 1966 dasm_put(Dst, 9978);
1967 } 1967 }
1968 dasm_put(Dst, 11302, offsetof(GCfuncL, uvptr), DtA(->v)); 1968 dasm_put(Dst, 11292, offsetof(GCfuncL, uvptr), DtA(->v));
1969 if (sse) { 1969 if (sse) {
1970 dasm_put(Dst, 11311); 1970 dasm_put(Dst, 11301);
1971 } else { 1971 } else {
1972 dasm_put(Dst, 11317); 1972 dasm_put(Dst, 11307);
1973 } 1973 }
1974 dasm_put(Dst, 9707); 1974 dasm_put(Dst, 9697);
1975 break; 1975 break;
1976 case BC_USETP: 1976 case BC_USETP:
1977 dasm_put(Dst, 11320, offsetof(GCfuncL, uvptr), DtA(->v)); 1977 dasm_put(Dst, 11310, offsetof(GCfuncL, uvptr), DtA(->v));
1978 break; 1978 break;
1979 case BC_UCLO: 1979 case BC_UCLO:
1980 dasm_put(Dst, 11360, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 1980 dasm_put(Dst, 11350, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
1981 break; 1981 break;
1982 1982
1983 case BC_FNEW: 1983 case BC_FNEW:
1984 dasm_put(Dst, 11416, Dt1(->base), Dt1(->base), LJ_TFUNC); 1984 dasm_put(Dst, 11406, Dt1(->base), Dt1(->base), LJ_TFUNC);
1985 break; 1985 break;
1986 1986
1987 /* -- Table ops --------------------------------------------------------- */ 1987 /* -- Table ops --------------------------------------------------------- */
1988 1988
1989 case BC_TNEW: 1989 case BC_TNEW:
1990 dasm_put(Dst, 11483, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 1990 dasm_put(Dst, 11473, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
1991 break; 1991 break;
1992 case BC_TDUP: 1992 case BC_TDUP:
1993 dasm_put(Dst, 11607, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 1993 dasm_put(Dst, 11597, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
1994 break; 1994 break;
1995 1995
1996 case BC_GGET: 1996 case BC_GGET:
1997 dasm_put(Dst, 11706, Dt7(->env)); 1997 dasm_put(Dst, 11696, Dt7(->env));
1998 break; 1998 break;
1999 case BC_GSET: 1999 case BC_GSET:
2000 dasm_put(Dst, 11726, Dt7(->env)); 2000 dasm_put(Dst, 11716, Dt7(->env));
2001 break; 2001 break;
2002 2002
2003 case BC_TGETV: 2003 case BC_TGETV:
2004 dasm_put(Dst, 11746, LJ_TTAB, LJ_TISNUM); 2004 dasm_put(Dst, 11736, LJ_TTAB, LJ_TISNUM);
2005 if (sse) { 2005 if (sse) {
2006 dasm_put(Dst, 11779); 2006 dasm_put(Dst, 11769);
2007 } else { 2007 } else {
2008 } 2008 }
2009 dasm_put(Dst, 11800, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2009 dasm_put(Dst, 11790, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2010 dasm_put(Dst, 11885, LJ_TNIL, LJ_TSTR); 2010 dasm_put(Dst, 11875, LJ_TNIL, LJ_TSTR);
2011 break; 2011 break;
2012 case BC_TGETS: 2012 case BC_TGETS:
2013 dasm_put(Dst, 11914, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2013 dasm_put(Dst, 11904, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2014 dasm_put(Dst, 11999, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2014 dasm_put(Dst, 11989, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2015 break; 2015 break;
2016 case BC_TGETB: 2016 case BC_TGETB:
2017 dasm_put(Dst, 12071, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2017 dasm_put(Dst, 12061, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2018 dasm_put(Dst, 12167, LJ_TNIL); 2018 dasm_put(Dst, 12157, LJ_TNIL);
2019 break; 2019 break;
2020 2020
2021 case BC_TSETV: 2021 case BC_TSETV:
2022 dasm_put(Dst, 12184, LJ_TTAB, LJ_TISNUM); 2022 dasm_put(Dst, 12174, LJ_TTAB, LJ_TISNUM);
2023 if (sse) { 2023 if (sse) {
2024 dasm_put(Dst, 11779); 2024 dasm_put(Dst, 11769);
2025 } else { 2025 } else {
2026 } 2026 }
2027 dasm_put(Dst, 12217, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 2027 dasm_put(Dst, 12207, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
2028 dasm_put(Dst, 12297, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2028 dasm_put(Dst, 12287, 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; 2029 break;
2030 case BC_TSETS: 2030 case BC_TSETS:
2031 dasm_put(Dst, 12361, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2031 dasm_put(Dst, 12351, 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, 12438, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2032 dasm_put(Dst, 12428, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2033 dasm_put(Dst, 12525, 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)); 2033 dasm_put(Dst, 12515, 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; 2034 break;
2035 case BC_TSETB: 2035 case BC_TSETB:
2036 dasm_put(Dst, 12617, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2036 dasm_put(Dst, 12607, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2037 dasm_put(Dst, 12712, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2037 dasm_put(Dst, 12702, 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; 2038 break;
2039 2039
2040 case BC_TSETM: 2040 case BC_TSETM:
2041 dasm_put(Dst, 12760, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2041 dasm_put(Dst, 12750, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2042 dasm_put(Dst, 12910, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2042 dasm_put(Dst, 12900, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2043 break; 2043 break;
2044 2044
2045 /* -- Calls and vararg handling ----------------------------------------- */ 2045 /* -- Calls and vararg handling ----------------------------------------- */
2046 2046
2047 case BC_CALL: case BC_CALLM: 2047 case BC_CALL: case BC_CALLM:
2048 dasm_put(Dst, 10386); 2048 dasm_put(Dst, 10376);
2049 if (op == BC_CALLM) { 2049 if (op == BC_CALLM) {
2050 dasm_put(Dst, 12930); 2050 dasm_put(Dst, 12920);
2051 } 2051 }
2052 dasm_put(Dst, 12935, LJ_TFUNC, Dt7(->pc)); 2052 dasm_put(Dst, 12925, LJ_TFUNC, Dt7(->pc));
2053 break; 2053 break;
2054 2054
2055 case BC_CALLMT: 2055 case BC_CALLMT:
2056 dasm_put(Dst, 12930); 2056 dasm_put(Dst, 12920);
2057 break; 2057 break;
2058 case BC_CALLT: 2058 case BC_CALLT:
2059 dasm_put(Dst, 12978, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2059 dasm_put(Dst, 12968, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2060 dasm_put(Dst, 13096, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2060 dasm_put(Dst, 13086, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2061 break; 2061 break;
2062 2062
2063 case BC_ITERC: 2063 case BC_ITERC:
2064 dasm_put(Dst, 13170, LJ_TFUNC, 2+1, Dt7(->pc)); 2064 dasm_put(Dst, 13160, LJ_TFUNC, 2+1, Dt7(->pc));
2065 break; 2065 break;
2066 2066
2067 case BC_ITERN: 2067 case BC_ITERN:
2068#if LJ_HASJIT 2068#if LJ_HASJIT
2069#endif 2069#endif
2070 dasm_put(Dst, 13242, Dt6(->asize), Dt6(->array), LJ_TNIL); 2070 dasm_put(Dst, 13232, Dt6(->asize), Dt6(->array), LJ_TNIL);
2071 if (sse) { 2071 if (sse) {
2072 dasm_put(Dst, 13294); 2072 dasm_put(Dst, 13284);
2073 } else { 2073 } else {
2074 dasm_put(Dst, 13300); 2074 dasm_put(Dst, 13290);
2075 } 2075 }
2076 dasm_put(Dst, 13306); 2076 dasm_put(Dst, 13296);
2077 if (sse) { 2077 if (sse) {
2078 dasm_put(Dst, 10264); 2078 dasm_put(Dst, 10254);
2079 } else { 2079 } else {
2080 dasm_put(Dst, 10276); 2080 dasm_put(Dst, 10266);
2081 } 2081 }
2082 dasm_put(Dst, 13319, -BCBIAS_J*4); 2082 dasm_put(Dst, 13309, -BCBIAS_J*4);
2083 if (!sse) { 2083 if (!sse) {
2084 dasm_put(Dst, 13373); 2084 dasm_put(Dst, 13363);
2085 } 2085 }
2086 dasm_put(Dst, 13379, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); 2086 dasm_put(Dst, 13369, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
2087 break; 2087 break;
2088 2088
2089 case BC_ISNEXT: 2089 case BC_ISNEXT:
2090 dasm_put(Dst, 13458, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2090 dasm_put(Dst, 13448, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2091 break; 2091 break;
2092 2092
2093 case BC_VARG: 2093 case BC_VARG:
2094 dasm_put(Dst, 13559, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2094 dasm_put(Dst, 13549, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2095 dasm_put(Dst, 13726, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2095 dasm_put(Dst, 13716, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2096 break; 2096 break;
2097 2097
2098 /* -- Returns ----------------------------------------------------------- */ 2098 /* -- Returns ----------------------------------------------------------- */
2099 2099
2100 case BC_RETM: 2100 case BC_RETM:
2101 dasm_put(Dst, 12930); 2101 dasm_put(Dst, 12920);
2102 break; 2102 break;
2103 2103
2104 case BC_RET: case BC_RET0: case BC_RET1: 2104 case BC_RET: case BC_RET0: case BC_RET1:
2105 if (op != BC_RET0) { 2105 if (op != BC_RET0) {
2106 dasm_put(Dst, 13796); 2106 dasm_put(Dst, 13786);
2107 } 2107 }
2108 dasm_put(Dst, 13800, FRAME_TYPE); 2108 dasm_put(Dst, 13790, FRAME_TYPE);
2109 switch (op) { 2109 switch (op) {
2110 case BC_RET: 2110 case BC_RET:
2111 dasm_put(Dst, 13819); 2111 dasm_put(Dst, 13809);
2112 break; 2112 break;
2113 case BC_RET1: 2113 case BC_RET1:
2114 dasm_put(Dst, 13873); 2114 dasm_put(Dst, 13863);
2115 /* fallthrough */ 2115 /* fallthrough */
2116 case BC_RET0: 2116 case BC_RET0:
2117 dasm_put(Dst, 13883); 2117 dasm_put(Dst, 13873);
2118 default: 2118 default:
2119 break; 2119 break;
2120 } 2120 }
2121 dasm_put(Dst, 13894, Dt7(->pc), PC2PROTO(k)); 2121 dasm_put(Dst, 13884, Dt7(->pc), PC2PROTO(k));
2122 if (op == BC_RET) { 2122 if (op == BC_RET) {
2123 dasm_put(Dst, 13942, LJ_TNIL); 2123 dasm_put(Dst, 13932, LJ_TNIL);
2124 } else { 2124 } else {
2125 dasm_put(Dst, 13953, LJ_TNIL); 2125 dasm_put(Dst, 13943, LJ_TNIL);
2126 } 2126 }
2127 dasm_put(Dst, 13960, -FRAME_VARG, FRAME_TYPEP); 2127 dasm_put(Dst, 13950, -FRAME_VARG, FRAME_TYPEP);
2128 if (op != BC_RET0) { 2128 if (op != BC_RET0) {
2129 dasm_put(Dst, 13984); 2129 dasm_put(Dst, 13974);
2130 } 2130 }
2131 dasm_put(Dst, 4579); 2131 dasm_put(Dst, 4579);
2132 break; 2132 break;
@@ -2136,7 +2136,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2136 2136
2137 case BC_FORL: 2137 case BC_FORL:
2138#if LJ_HASJIT 2138#if LJ_HASJIT
2139 dasm_put(Dst, 13988, HOTCOUNT_PCMASK, GG_DISP2HOT); 2139 dasm_put(Dst, 13978, HOTCOUNT_PCMASK, GG_DISP2HOT);
2140#endif 2140#endif
2141 break; 2141 break;
2142 2142
@@ -2148,57 +2148,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2148 case BC_FORI: 2148 case BC_FORI:
2149 case BC_IFORL: 2149 case BC_IFORL:
2150 vk = (op == BC_IFORL || op == BC_JFORL); 2150 vk = (op == BC_IFORL || op == BC_JFORL);
2151 dasm_put(Dst, 14009); 2151 dasm_put(Dst, 13999);
2152 if (!vk) { 2152 if (!vk) {
2153 dasm_put(Dst, 14013, LJ_TISNUM, LJ_TISNUM); 2153 dasm_put(Dst, 14003, LJ_TISNUM, LJ_TISNUM);
2154 } 2154 }
2155 dasm_put(Dst, 14032); 2155 dasm_put(Dst, 14022);
2156 if (!vk) { 2156 if (!vk) {
2157 dasm_put(Dst, 14036, LJ_TISNUM); 2157 dasm_put(Dst, 14026, LJ_TISNUM);
2158 } 2158 }
2159 if (sse) { 2159 if (sse) {
2160 dasm_put(Dst, 14045); 2160 dasm_put(Dst, 14035);
2161 if (vk) { 2161 if (vk) {
2162 dasm_put(Dst, 14057); 2162 dasm_put(Dst, 14047);
2163 } else { 2163 } else {
2164 dasm_put(Dst, 14076); 2164 dasm_put(Dst, 14066);
2165 } 2165 }
2166 dasm_put(Dst, 14081); 2166 dasm_put(Dst, 14071);
2167 } else { 2167 } else {
2168 dasm_put(Dst, 14094); 2168 dasm_put(Dst, 14084);
2169 if (vk) { 2169 if (vk) {
2170 dasm_put(Dst, 14100); 2170 dasm_put(Dst, 14090);
2171 } else { 2171 } else {
2172 dasm_put(Dst, 14116); 2172 dasm_put(Dst, 14106);
2173 } 2173 }
2174 dasm_put(Dst, 14124); 2174 dasm_put(Dst, 14114);
2175 if (cmov) { 2175 if (cmov) {
2176 dasm_put(Dst, 9670); 2176 dasm_put(Dst, 9660);
2177 } else { 2177 } else {
2178 dasm_put(Dst, 9676); 2178 dasm_put(Dst, 9666);
2179 } 2179 }
2180 if (!cmov) { 2180 if (!cmov) {
2181 dasm_put(Dst, 14129); 2181 dasm_put(Dst, 14119);
2182 } 2182 }
2183 } 2183 }
2184 if (op == BC_FORI) { 2184 if (op == BC_FORI) {
2185 dasm_put(Dst, 14135, -BCBIAS_J*4); 2185 dasm_put(Dst, 14125, -BCBIAS_J*4);
2186 } else if (op == BC_JFORI) { 2186 } else if (op == BC_JFORI) {
2187 dasm_put(Dst, 14145, -BCBIAS_J*4, BC_JLOOP); 2187 dasm_put(Dst, 14135, -BCBIAS_J*4, BC_JLOOP);
2188 } else if (op == BC_IFORL) { 2188 } else if (op == BC_IFORL) {
2189 dasm_put(Dst, 14159, -BCBIAS_J*4); 2189 dasm_put(Dst, 14149, -BCBIAS_J*4);
2190 } else { 2190 } else {
2191 dasm_put(Dst, 14155, BC_JLOOP); 2191 dasm_put(Dst, 14145, BC_JLOOP);
2192 } 2192 }
2193 dasm_put(Dst, 9705); 2193 dasm_put(Dst, 9695);
2194 if (sse) { 2194 if (sse) {
2195 dasm_put(Dst, 14169); 2195 dasm_put(Dst, 14159);
2196 } 2196 }
2197 break; 2197 break;
2198 2198
2199 case BC_ITERL: 2199 case BC_ITERL:
2200#if LJ_HASJIT 2200#if LJ_HASJIT
2201 dasm_put(Dst, 13988, HOTCOUNT_PCMASK, GG_DISP2HOT); 2201 dasm_put(Dst, 13978, HOTCOUNT_PCMASK, GG_DISP2HOT);
2202#endif 2202#endif
2203 break; 2203 break;
2204 2204
@@ -2207,33 +2207,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2207 break; 2207 break;
2208#endif 2208#endif
2209 case BC_IITERL: 2209 case BC_IITERL:
2210 dasm_put(Dst, 14180, LJ_TNIL); 2210 dasm_put(Dst, 14170, LJ_TNIL);
2211 if (op == BC_JITERL) { 2211 if (op == BC_JITERL) {
2212 dasm_put(Dst, 14195, BC_JLOOP); 2212 dasm_put(Dst, 14185, BC_JLOOP);
2213 } else { 2213 } else {
2214 dasm_put(Dst, 14209, -BCBIAS_J*4); 2214 dasm_put(Dst, 14199, -BCBIAS_J*4);
2215 } 2215 }
2216 dasm_put(Dst, 10146); 2216 dasm_put(Dst, 10136);
2217 break; 2217 break;
2218 2218
2219 case BC_LOOP: 2219 case BC_LOOP:
2220#if LJ_HASJIT 2220#if LJ_HASJIT
2221 dasm_put(Dst, 13988, HOTCOUNT_PCMASK, GG_DISP2HOT); 2221 dasm_put(Dst, 13978, HOTCOUNT_PCMASK, GG_DISP2HOT);
2222#endif 2222#endif
2223 break; 2223 break;
2224 2224
2225 case BC_ILOOP: 2225 case BC_ILOOP:
2226 dasm_put(Dst, 9707); 2226 dasm_put(Dst, 9697);
2227 break; 2227 break;
2228 2228
2229 case BC_JLOOP: 2229 case BC_JLOOP:
2230#if LJ_HASJIT 2230#if LJ_HASJIT
2231 dasm_put(Dst, 14225, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2231 dasm_put(Dst, 14215, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2232#endif 2232#endif
2233 break; 2233 break;
2234 2234
2235 case BC_JMP: 2235 case BC_JMP:
2236 dasm_put(Dst, 14266, -BCBIAS_J*4); 2236 dasm_put(Dst, 14256, -BCBIAS_J*4);
2237 break; 2237 break;
2238 2238
2239 /* -- Function headers -------------------------------------------------- */ 2239 /* -- Function headers -------------------------------------------------- */
@@ -2247,7 +2247,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2247 2247
2248 case BC_FUNCF: 2248 case BC_FUNCF:
2249#if LJ_HASJIT 2249#if LJ_HASJIT
2250 dasm_put(Dst, 14292, HOTCOUNT_PCMASK, GG_DISP2HOT); 2250 dasm_put(Dst, 14282, HOTCOUNT_PCMASK, GG_DISP2HOT);
2251#endif 2251#endif
2252 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2252 case BC_FUNCV: /* NYI: compiled vararg functions. */
2253 break; 2253 break;
@@ -2257,47 +2257,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2257 break; 2257 break;
2258#endif 2258#endif
2259 case BC_IFUNCF: 2259 case BC_IFUNCF:
2260 dasm_put(Dst, 14313, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2260 dasm_put(Dst, 14303, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2261 if (op == BC_JFUNCF) { 2261 if (op == BC_JFUNCF) {
2262 dasm_put(Dst, 14344, BC_JLOOP); 2262 dasm_put(Dst, 14334, BC_JLOOP);
2263 } else { 2263 } else {
2264 dasm_put(Dst, 9707); 2264 dasm_put(Dst, 9697);
2265 } 2265 }
2266 dasm_put(Dst, 14353, LJ_TNIL); 2266 dasm_put(Dst, 14343, LJ_TNIL);
2267 break; 2267 break;
2268 2268
2269 case BC_JFUNCV: 2269 case BC_JFUNCV:
2270#if !LJ_HASJIT 2270#if !LJ_HASJIT
2271 break; 2271 break;
2272#endif 2272#endif
2273 dasm_put(Dst, 9024); 2273 dasm_put(Dst, 9014);
2274 break; /* NYI: compiled vararg functions. */ 2274 break; /* NYI: compiled vararg functions. */
2275 2275
2276 case BC_IFUNCV: 2276 case BC_IFUNCV:
2277 dasm_put(Dst, 14375, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2277 dasm_put(Dst, 14365, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2278 if (op == BC_JFUNCV) { 2278 if (op == BC_JFUNCV) {
2279 dasm_put(Dst, 14344, BC_JLOOP); 2279 dasm_put(Dst, 14334, BC_JLOOP);
2280 } else { 2280 } else {
2281 dasm_put(Dst, 14472, -4+PC2PROTO(k)); 2281 dasm_put(Dst, 14462, -4+PC2PROTO(k));
2282 } 2282 }
2283 dasm_put(Dst, 14497, LJ_TNIL); 2283 dasm_put(Dst, 14487, LJ_TNIL);
2284 break; 2284 break;
2285 2285
2286 case BC_FUNCC: 2286 case BC_FUNCC:
2287 case BC_FUNCCW: 2287 case BC_FUNCCW:
2288 dasm_put(Dst, 14519, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2288 dasm_put(Dst, 14509, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2289 if (op == BC_FUNCC) { 2289 if (op == BC_FUNCC) {
2290 dasm_put(Dst, 14549); 2290 dasm_put(Dst, 14539);
2291 } else { 2291 } else {
2292 dasm_put(Dst, 14553); 2292 dasm_put(Dst, 14543);
2293 } 2293 }
2294 dasm_put(Dst, 14561, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2294 dasm_put(Dst, 14551, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2295 if (op == BC_FUNCC) { 2295 if (op == BC_FUNCC) {
2296 dasm_put(Dst, 14571); 2296 dasm_put(Dst, 14561);
2297 } else { 2297 } else {
2298 dasm_put(Dst, 14576, DISPATCH_GL(wrapf)); 2298 dasm_put(Dst, 14566, DISPATCH_GL(wrapf));
2299 } 2299 }
2300 dasm_put(Dst, 14582, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2300 dasm_put(Dst, 14572, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2301 break; 2301 break;
2302 2302
2303 /* ---------------------------------------------------------------------- */ 2303 /* ---------------------------------------------------------------------- */
@@ -2325,7 +2325,7 @@ static int build_backend(BuildCtx *ctx)
2325 2325
2326 build_subroutines(ctx, cmov, sse); 2326 build_subroutines(ctx, cmov, sse);
2327 2327
2328 dasm_put(Dst, 14608); 2328 dasm_put(Dst, 14598);
2329 for (op = 0; op < BC__MAX; op++) 2329 for (op = 0; op < BC__MAX; op++)
2330 build_ins(ctx, (BCOp)op, op, cmov, sse); 2330 build_ins(ctx, (BCOp)op, op, cmov, sse);
2331 2331
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
diff --git a/src/buildvm_x86.dasc b/src/buildvm_x86.dasc
index 268aa5d4..4a0bbeab 100644
--- a/src/buildvm_x86.dasc
+++ b/src/buildvm_x86.dasc
@@ -3074,14 +3074,12 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
3074 |6: 3074 |6:
3075 | je <5 // x^1 ==> x 3075 | je <5 // x^1 ==> x
3076 | jb >7 3076 | jb >7
3077 | push RDa 3077 | neg eax
3078 | call <1
3078 | sseconst_1 xmm1, RDa 3079 | sseconst_1 xmm1, RDa
3079 | divsd xmm1, xmm0 3080 | divsd xmm1, xmm0
3080 | pop RDa
3081 | movaps xmm0, xmm1 3081 | movaps xmm0, xmm1
3082 | neg eax 3082 | ret
3083 | cmp eax, 1; je <5 // x^-1 ==> 1/x
3084 | jmp <1 // x^-i ==> (1/x)^i
3085 |7: 3083 |7:
3086 | sseconst_1 xmm0, RDa 3084 | sseconst_1 xmm0, RDa
3087 | ret 3085 | ret
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h
index 7c5e1bc0..4e687076 100644
--- a/src/buildvm_x86.h
+++ b/src/buildvm_x86.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[15861] = { 15static const unsigned char build_actionlist[15851] = {
16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141, 16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141,
17 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36, 17 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,
18 20,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,15, 18 20,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,15,
@@ -477,307 +477,307 @@ static const unsigned char build_actionlist[15861] = {
477 252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244, 477 252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,
478 1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232, 478 1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,
479 15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252, 479 15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,
480 242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,80,184,0,0,252, 480 242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,252,247,216,232,
481 240,63,102,15,110,200,102,15,112,201,81,252,242,15,94,200,88,15,40,193,252, 481 244,1,184,0,0,252,240,63,102,15,110,200,102,15,112,201,81,252,242,15,94,200,
482 247,216,131,252,248,1,15,132,244,5,252,233,244,1,248,7,184,0,0,252,240,63, 482 15,40,193,195,248,7,184,0,0,252,240,63,102,15,110,192,102,15,112,192,81,195,
483 102,15,110,192,102,15,112,192,81,195,248,8,252,242,15,17,76,36,12,252,242, 483 248,8,252,242,15,17,76,36,12,252,242,15,17,68,36,4,131,124,36,12,0,15,133,
484 15,17,68,36,4,131,124,36,12,0,15,133,244,247,139,68,36,16,209,224,61,0,0, 484 244,247,139,68,36,16,209,224,61,0,0,224,252,255,15,132,244,248,248,1,131,
485 224,252,255,15,132,244,248,248,1,255,131,124,36,4,0,15,133,244,247,139,68, 485 124,36,4,0,15,133,244,247,255,139,68,36,8,209,224,15,132,244,250,61,0,0,224,
486 36,8,209,224,15,132,244,250,61,0,0,224,252,255,15,132,244,251,248,1,221,68, 486 252,255,15,132,244,251,248,1,221,68,36,12,221,68,36,4,217,252,241,217,192,
487 36,12,221,68,36,4,217,252,241,217,192,217,252,252,220,252,233,217,201,217, 487 217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,
488 252,240,217,232,222,193,217,252,253,221,217,221,92,36,4,252,242,15,16,68, 488 217,221,92,36,4,252,242,15,16,68,36,4,195,248,9,184,0,0,252,240,63,102,15,
489 36,4,195,248,9,184,0,0,252,240,63,102,15,110,208,102,15,112,210,81,102,15, 489 110,208,102,15,112,210,81,102,15,46,194,15,132,244,247,15,40,193,248,1,195,
490 46,194,15,132,244,247,15,40,193,248,1,195,248,2,102,15,252,239,210,102,15, 490 248,2,102,15,252,239,210,102,15,118,210,102,15,115,210,1,102,15,84,194,184,
491 118,210,102,15,115,210,1,102,15,84,194,184,0,0,252,240,63,102,15,110,208, 491 0,0,252,240,63,102,15,110,208,102,15,112,210,81,102,15,46,194,15,132,244,
492 102,15,112,210,81,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,136, 492 1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,184,
493 196,15,146,208,48,224,15,133,244,1,248,3,184,0,0,252,240,127,102,15,110,192, 493 0,0,252,240,127,102,15,110,192,102,15,112,192,81,195,248,4,102,15,80,193,
494 102,15,112,192,81,195,248,4,102,15,80,193,133,192,15,133,244,3,255,15,87, 494 133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,
495 192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,154,255, 495 3,255,15,87,192,195,248,154,255,139,68,36,12,252,242,15,16,68,36,4,131,252,
496 139,68,36,12,252,242,15,16,68,36,4,131,252,248,1,15,132,244,247,15,135,244, 496 248,1,15,132,244,247,15,135,244,248,232,244,83,252,233,244,253,248,1,232,
497 248,232,244,83,252,233,244,253,248,1,232,244,85,252,233,244,253,248,2,131, 497 244,85,252,233,244,253,248,2,131,252,248,3,15,132,244,247,15,135,244,248,
498 252,248,3,15,132,244,247,15,135,244,248,232,244,105,255,252,233,244,253,248, 498 232,244,105,255,252,233,244,253,248,1,252,242,15,81,192,248,7,252,242,15,
499 1,252,242,15,81,192,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,2,221, 499 17,68,36,4,221,68,36,4,195,248,2,221,68,36,4,131,252,248,5,15,130,244,89,
500 68,36,4,131,252,248,5,15,130,244,89,15,132,244,150,248,2,131,252,248,7,15, 500 15,132,244,150,248,2,131,252,248,7,15,132,244,247,15,135,244,248,217,252,
501 132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,217, 501 237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,
502 232,217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,15,135,244, 502 252,248,9,15,132,244,247,15,135,244,248,255,217,252,236,217,201,217,252,241,
503 248,255,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131, 503 195,248,1,217,252,254,195,248,2,131,252,248,11,15,132,244,247,15,135,244,
504 252,248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242, 504 255,217,252,255,195,248,1,217,252,242,221,216,195,255,139,68,36,12,221,68,
505 221,216,195,255,139,68,36,12,221,68,36,4,131,252,248,1,15,130,244,83,15,132, 505 36,4,131,252,248,1,15,130,244,83,15,132,244,85,131,252,248,3,15,130,244,105,
506 244,85,131,252,248,3,15,130,244,105,15,135,244,248,217,252,250,195,248,2, 506 15,135,244,248,217,252,250,195,248,2,131,252,248,5,15,130,244,89,15,132,244,
507 131,252,248,5,15,130,244,89,15,132,244,150,131,252,248,7,15,132,244,247,15, 507 150,131,252,248,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,
508 135,244,248,217,252,237,217,201,217,252,241,195,248,1,217,232,217,201,217, 508 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132,
509 252,241,195,248,2,131,252,248,9,15,132,244,247,255,15,135,244,248,217,252, 509 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,
510 236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,248,11,15, 510 252,254,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255,
511 132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216,195, 511 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,155,255,139,68,36,
512 255,248,9,204,255,248,155,255,139,68,36,20,252,242,15,16,68,36,4,252,242, 512 20,252,242,15,16,68,36,4,252,242,15,16,76,36,12,131,252,248,1,15,132,244,
513 15,16,76,36,12,131,252,248,1,15,132,244,247,15,135,244,248,252,242,15,88, 513 247,15,135,244,248,252,242,15,88,193,248,7,252,242,15,17,68,36,4,221,68,36,
514 193,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,1,252,242,15,92,193,252, 514 4,195,248,1,252,242,15,92,193,252,233,244,7,248,2,131,252,248,3,15,132,244,
515 233,244,7,248,2,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15,89, 515 247,15,135,244,248,252,242,15,89,193,252,233,244,7,248,1,252,242,15,94,193,
516 193,252,233,244,7,248,1,252,242,15,94,193,252,233,244,7,248,2,131,252,248, 516 252,233,244,7,248,2,131,252,248,5,15,132,244,247,255,15,135,244,248,232,244,
517 5,15,132,244,247,255,15,135,244,248,232,244,149,252,233,244,7,248,1,90,232, 517 149,252,233,244,7,248,1,90,232,244,108,82,252,233,244,7,248,2,131,252,248,
518 244,108,82,252,233,244,7,248,2,131,252,248,7,15,132,244,247,15,135,244,248, 518 7,15,132,244,247,15,135,244,248,184,0,0,0,128,102,15,110,200,102,15,112,201,
519 184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,233,244,7,248, 519 81,15,87,193,252,233,244,7,248,1,102,15,252,239,201,102,15,118,201,102,15,
520 1,102,15,252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,252,233,244, 520 115,209,1,15,84,193,252,233,244,7,248,2,255,131,252,248,9,15,135,244,248,
521 7,248,2,255,131,252,248,9,15,135,244,248,221,68,36,4,221,68,36,12,15,132, 521 221,68,36,4,221,68,36,12,15,132,244,247,217,252,243,195,248,1,217,201,217,
522 244,247,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252, 522 252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,252,
523 248,11,15,132,244,247,15,135,244,255,252,242,15,93,193,252,233,244,7,248, 523 242,15,93,193,252,233,244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204,
524 1,252,242,15,95,193,252,233,244,7,248,9,204,255,139,68,36,20,221,68,36,4, 524 255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,
525 221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193,195,248, 525 135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,
526 1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248,222,201, 526 244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131,252,248,
527 195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,149,15,132,244,108, 527 5,15,130,244,149,15,132,244,108,131,252,248,7,15,132,244,247,15,135,244,248,
528 131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195,248,1, 528 255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15,
529 221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217, 529 132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,221,
530 252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15, 530 217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,233,
531 132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219, 531 219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,223,
532 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244, 532 224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,225,
533 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133, 533 223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,156,
534 244,248,217,201,248,2,221,216,195,255,248,156,156,90,137,209,129,252,242, 534 156,90,137,209,129,252,242,0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,
535 0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,247,139,68,36,4,87,83,15, 535 247,139,68,36,4,87,83,15,162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,
536 162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248,1,195,248,157, 536 12,91,95,248,1,195,248,157,255,85,137,229,83,137,203,43,163,233,255,137,163,
537 255,85,137,229,83,137,203,43,163,233,255,137,163,233,255,15,182,139,233,131, 537 233,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1,139,132,253,139,
538 252,233,1,15,136,244,248,248,1,139,132,253,139,233,137,4,140,131,252,233, 538 233,137,4,140,131,252,233,1,15,137,244,1,248,2,139,139,233,139,147,233,252,
539 1,15,137,244,1,248,2,139,139,233,139,147,233,252,255,147,233,137,131,233, 539 255,147,233,137,131,233,137,147,233,128,187,233,1,15,130,244,253,15,132,244,
540 137,147,233,128,187,233,1,15,130,244,253,15,132,244,252,221,155,233,252,233, 540 252,221,155,233,252,233,244,253,248,6,255,217,155,233,248,7,255,41,163,233,
541 244,253,248,6,255,217,155,233,248,7,255,41,163,233,255,139,93,252,252,201, 541 255,139,93,252,252,201,195,255,249,255,129,124,253,202,4,239,15,135,244,41,
542 195,255,249,255,129,124,253,202,4,239,15,135,244,41,129,124,253,194,4,239, 542 129,124,253,194,4,239,15,135,244,41,255,252,242,15,16,4,194,131,198,4,102,
543 15,135,244,41,255,252,242,15,16,4,194,131,198,4,102,15,46,4,202,255,221,4, 543 15,46,4,202,255,221,4,202,221,4,194,131,198,4,255,223,252,233,221,216,255,
544 202,221,4,194,131,198,4,255,223,252,233,221,216,255,218,252,233,223,224,158, 544 218,252,233,223,224,158,255,15,134,244,248,255,15,131,244,248,255,248,1,15,
545 255,15,134,244,248,255,15,131,244,248,255,248,1,15,183,70,252,254,141,180, 545 183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,
546 253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 546 198,4,193,232,16,252,255,36,171,255,139,108,194,4,131,198,4,129,252,253,239,
547 36,171,255,139,108,194,4,131,198,4,129,252,253,239,15,135,244,251,129,124, 547 15,135,244,251,129,124,253,202,4,239,15,135,244,251,255,252,242,15,16,4,194,
548 253,202,4,239,15,135,244,251,255,252,242,15,16,4,194,102,15,46,4,202,255, 548 102,15,46,4,202,255,221,4,202,221,4,194,255,15,138,244,248,15,133,244,248,
549 221,4,202,221,4,194,255,15,138,244,248,15,133,244,248,255,15,138,244,248, 549 255,15,138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,
550 15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,255, 550 134,233,248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,248,
551 248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,248,5,255,129,252,253, 551 5,255,129,252,253,239,15,132,244,46,129,124,253,202,4,239,15,132,244,46,255,
552 239,15,132,244,46,129,124,253,202,4,239,15,132,244,46,255,57,108,202,4,15, 552 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,
553 133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,132, 553 57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,
554 244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244,2,252, 554 15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,
555 246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244, 555 0,0,255,252,233,244,45,255,248,3,129,252,253,239,15,133,244,2,252,233,244,
556 45,255,248,3,129,252,253,239,15,133,244,2,252,233,244,46,255,252,247,208, 556 46,255,252,247,208,139,108,202,4,131,198,4,129,252,253,239,15,133,244,249,
557 139,108,202,4,131,198,4,129,252,253,239,15,133,244,249,139,12,202,59,12,135, 557 139,12,202,59,12,135,255,139,108,202,4,131,198,4,129,252,253,239,15,135,244,
558 255,139,108,202,4,131,198,4,129,252,253,239,15,135,244,249,255,252,242,15, 558 249,255,252,242,15,16,4,199,102,15,46,4,202,255,221,4,202,221,4,199,255,252,
559 16,4,199,102,15,46,4,202,255,221,4,202,221,4,199,255,252,247,208,139,108, 559 247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,252,254,
560 202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,252,254,141,180,253,134, 560 141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
561 233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171, 561 252,255,36,171,248,3,129,252,253,239,15,133,244,2,252,233,244,46,255,15,132,
562 248,3,129,252,253,239,15,133,244,2,252,233,244,46,255,15,132,244,248,129, 562 244,248,129,252,253,239,15,132,244,46,15,183,70,252,254,141,180,253,134,233,
563 252,253,239,15,132,244,46,15,183,70,252,254,141,180,253,134,233,248,2,139, 563 248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,
564 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,194, 564 139,108,194,4,131,198,4,129,252,253,239,255,15,131,244,247,255,15,130,244,
565 4,131,198,4,129,252,253,239,255,15,131,244,247,255,15,130,244,247,255,137, 565 247,255,137,108,202,4,139,44,194,137,44,202,255,15,183,70,252,254,141,180,
566 108,202,4,139,44,194,137,44,202,255,15,183,70,252,254,141,180,253,134,233, 566 253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
567 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, 567 36,171,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,15,182,204,
568 139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,15,182,204,15,182,232, 568 15,182,232,131,198,4,193,232,16,252,255,36,171,255,49,252,237,129,124,253,
569 131,198,4,193,232,16,252,255,36,171,255,49,252,237,129,124,253,194,4,239, 569 194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4,
570 129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16, 570 193,232,16,252,255,36,171,255,129,124,253,194,4,239,15,135,244,49,255,252,
571 252,255,36,171,255,129,124,253,194,4,239,15,135,244,49,255,252,242,15,16, 571 242,15,16,4,194,184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,
572 4,194,184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,242,15, 572 252,242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,
573 17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133, 573 4,239,15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,1,
574 244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,1,252,242,15,17, 574 252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,
575 4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,15,182,232,131, 575 15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,124,253,194,4,239,
576 198,4,193,232,16,252,255,36,171,248,2,129,124,253,194,4,239,15,133,244,51, 576 15,133,244,51,139,12,194,137,213,232,251,1,19,255,252,242,15,42,192,137,252,
577 139,12,194,137,213,232,251,1,19,255,252,242,15,42,192,137,252,234,255,137, 577 234,255,137,4,36,137,252,234,219,4,36,255,15,182,78,252,253,252,233,244,1,
578 4,36,137,252,234,219,4,36,255,15,182,78,252,253,252,233,244,1,255,15,182, 578 255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,135,244,47,
579 252,236,15,182,192,255,129,124,253,252,234,4,239,15,135,244,47,255,252,242, 579 255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,4,252,234,220,4,199,
580 15,16,4,252,234,252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124, 580 255,129,124,253,252,234,4,239,15,135,244,48,255,252,242,15,16,4,199,252,242,
581 253,252,234,4,239,15,135,244,48,255,252,242,15,16,4,199,252,242,15,88,4,252, 581 15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,
582 234,255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135,244, 582 15,135,244,50,129,124,253,194,4,239,15,135,244,50,255,252,242,15,16,4,252,
583 50,129,124,253,194,4,239,15,135,244,50,255,252,242,15,16,4,252,234,252,242, 583 234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,252,242,15,16,4,252,
584 15,88,4,194,255,221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242, 584 234,252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4,
585 15,92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4,199,252,242, 585 199,252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16,
586 15,92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234, 586 4,252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,252,242,15,
587 252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252, 587 16,4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199,255,252,242,
588 234,252,242,15,89,4,199,255,221,4,252,234,220,12,199,255,252,242,15,16,4, 588 15,16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252,234,255,252,
589 199,252,242,15,89,4,252,234,255,221,4,199,220,12,252,234,255,252,242,15,16, 589 242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,
590 4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15, 590 252,242,15,16,4,252,234,252,242,15,94,4,199,255,221,4,252,234,220,52,199,
591 16,4,252,234,252,242,15,94,4,199,255,221,4,252,234,220,52,199,255,252,242, 591 255,252,242,15,16,4,199,252,242,15,94,4,252,234,255,221,4,199,220,52,252,
592 15,16,4,199,252,242,15,94,4,252,234,255,221,4,199,220,52,252,234,255,252, 592 234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,
593 242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,194,255, 593 52,194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221,4,252,234,
594 252,242,15,16,4,252,234,252,242,15,16,12,199,255,221,4,252,234,221,4,199, 594 221,4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255,221,4,199,
595 255,252,242,15,16,4,199,252,242,15,16,12,252,234,255,221,4,199,221,4,252, 595 221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,
596 234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252,234,221, 596 252,234,221,4,194,255,248,158,232,244,149,255,252,233,244,158,255,232,244,
597 4,194,255,248,158,232,244,149,255,252,233,244,158,255,232,244,108,255,15, 597 108,255,15,182,252,236,15,182,192,141,12,194,41,232,137,76,36,4,137,68,36,
598 182,252,236,15,182,192,141,12,194,41,232,137,76,36,4,137,68,36,8,248,33,139, 598 8,248,33,139,108,36,48,137,44,36,137,149,233,137,116,36,24,232,251,1,26,139,
599 108,36,48,137,44,36,137,149,233,137,116,36,24,232,251,1,26,139,149,233,133, 599 149,233,133,192,15,133,244,42,15,182,110,252,255,15,182,78,252,253,139,68,
600 192,15,133,244,42,15,182,110,252,255,15,182,78,252,253,139,68,252,234,4,139, 600 252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,15,182,204,15,182,
601 44,252,234,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,131,198,4, 601 232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,4,135,199,68,
602 193,232,16,252,255,36,171,255,252,247,208,139,4,135,199,68,202,4,237,137, 602 202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
603 4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, 603 255,36,171,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,255,223,70,
604 15,191,192,252,242,15,42,192,252,242,15,17,4,202,255,223,70,252,254,221,28, 604 252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17,4,202,255,221,4,
605 202,255,252,242,15,16,4,199,252,242,15,17,4,202,255,221,4,199,221,28,202, 605 199,221,28,202,255,252,247,208,137,68,202,4,139,6,15,182,204,15,182,232,131,
606 255,252,247,208,137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232, 606 198,4,193,232,16,252,255,36,171,255,141,76,202,12,141,68,194,4,189,237,137,
607 16,252,255,36,171,255,141,76,202,12,141,68,194,4,189,237,137,105,252,248, 607 105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139,6,15,182,204,15,
608 248,1,137,41,131,193,8,57,193,15,134,244,1,139,6,15,182,204,15,182,232,131, 608 182,232,131,198,4,193,232,16,252,255,36,171,255,139,106,252,248,139,172,253,
609 198,4,193,232,16,252,255,36,171,255,139,106,252,248,139,172,253,133,233,139, 609 133,233,139,173,233,139,69,4,139,109,0,137,68,202,4,137,44,202,139,6,15,182,
610 173,233,139,69,4,139,109,0,137,68,202,4,137,44,202,139,6,15,182,204,15,182, 610 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,106,252,248,139,
611 232,131,198,4,193,232,16,252,255,36,171,255,139,106,252,248,139,172,253,141, 611 172,253,141,233,128,189,233,0,139,173,233,139,12,194,139,68,194,4,137,77,
612 233,128,189,233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15, 612 0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244,248,248,1,139,6,
613 132,244,247,252,246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15, 613 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,232,239,
614 182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,232,239,129,252,248, 614 129,252,248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,135,213,141,
615 239,15,134,244,1,252,246,129,233,235,15,132,244,1,135,213,141,139,233,255, 615 139,233,255,232,251,1,27,137,252,234,252,233,244,1,255,252,247,208,139,106,
616 232,251,1,27,137,252,234,252,233,244,1,255,252,247,208,139,106,252,248,139, 616 252,248,139,172,253,141,233,139,12,135,139,133,233,137,8,199,64,4,237,252,
617 172,253,141,233,139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233, 617 246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,
618 235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16, 618 4,193,232,16,252,255,36,171,248,2,252,246,129,233,235,15,132,244,1,128,189,
619 252,255,36,171,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132, 619 233,0,15,132,244,1,137,213,137,194,141,139,233,232,251,1,27,137,252,234,252,
620 244,1,137,213,137,194,141,139,233,232,251,1,27,137,252,234,252,233,244,1, 620 233,244,1,255,139,106,252,248,255,252,242,15,16,4,199,255,139,172,253,141,
621 255,139,106,252,248,255,252,242,15,16,4,199,255,139,172,253,141,233,139,141, 621 233,139,141,233,255,252,242,15,17,1,255,221,25,255,252,247,208,139,106,252,
622 233,255,252,242,15,17,1,255,221,25,255,252,247,208,139,106,252,248,139,172, 622 248,139,172,253,141,233,139,141,233,137,65,4,139,6,15,182,204,15,182,232,
623 253,141,233,139,141,233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193, 623 131,198,4,193,232,16,252,255,36,171,255,141,180,253,134,233,139,108,36,48,
624 232,16,252,255,36,171,255,141,180,253,134,233,139,108,36,48,131,189,233,0, 624 131,189,233,0,15,132,244,247,137,149,233,141,20,202,137,252,233,232,251,1,
625 15,132,244,247,137,149,233,141,20,202,137,252,233,232,251,1,28,139,149,233, 625 28,139,149,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
626 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, 626 255,36,171,255,252,247,208,139,74,252,248,139,4,135,139,108,36,48,137,76,
627 252,247,208,139,74,252,248,139,4,135,139,108,36,48,137,76,36,8,137,68,36, 627 36,8,137,68,36,4,137,44,36,137,149,233,137,116,36,24,232,251,1,29,139,149,
628 4,137,44,36,137,149,233,137,116,36,24,232,251,1,29,139,149,233,15,182,78, 628 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,
629 252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4, 629 232,131,198,4,193,232,16,252,255,36,171,255,139,108,36,48,137,149,233,139,
630 193,232,16,252,255,36,171,255,139,108,36,48,137,149,233,139,139,233,59,139, 630 139,233,59,139,233,137,116,36,24,15,131,244,251,248,1,137,193,37,252,255,
631 233,137,116,36,24,15,131,244,251,248,1,137,193,37,252,255,7,0,0,193,252,233, 631 7,0,0,193,252,233,11,137,76,36,8,61,252,255,7,0,0,15,132,244,249,248,2,137,
632 11,137,76,36,8,61,252,255,7,0,0,15,132,244,249,248,2,137,44,36,137,68,36, 632 44,36,137,68,36,4,232,251,1,30,139,149,233,15,182,78,252,253,137,4,202,199,
633 4,232,251,1,30,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139, 633 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
634 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,184,1,8, 634 171,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,232,251,1,31,15,183,
635 0,0,252,233,244,2,248,5,137,252,233,232,251,1,31,15,183,70,252,254,252,233, 635 70,252,254,252,233,244,1,255,252,247,208,139,108,36,48,139,139,233,137,116,
636 244,1,255,252,247,208,139,108,36,48,139,139,233,137,116,36,24,59,139,233, 636 36,24,59,139,233,137,149,233,15,131,244,249,248,2,139,20,135,137,252,233,
637 137,149,233,15,131,244,249,248,2,139,20,135,137,252,233,232,251,1,32,139, 637 232,251,1,32,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,
638 149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15, 638 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,137,252,
639 182,232,131,198,4,193,232,16,252,255,36,171,248,3,137,252,233,232,251,1,31, 639 233,232,251,1,31,15,183,70,252,254,252,247,208,252,233,244,2,255,252,247,
640 15,183,70,252,254,252,247,208,252,233,244,2,255,252,247,208,139,106,252,248, 640 208,139,106,252,248,139,173,233,139,4,135,252,233,244,159,255,252,247,208,
641 139,173,233,139,4,135,252,233,244,159,255,252,247,208,139,106,252,248,139, 641 139,106,252,248,139,173,233,139,4,135,252,233,244,160,255,15,182,252,236,
642 173,233,139,4,135,252,233,244,160,255,15,182,252,236,15,182,192,129,124,253, 642 15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,129,124,
643 252,234,4,239,15,133,244,36,139,44,252,234,129,124,253,194,4,239,15,135,244, 643 253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252,242,15,45,192,252,
644 251,255,252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46, 644 242,15,42,200,102,15,46,193,255,221,4,194,219,20,36,219,4,36,255,15,133,244,
645 193,255,221,4,194,219,20,36,219,4,36,255,15,133,244,36,59,133,233,15,131, 645 36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132,
646 244,36,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,139,40,139,64, 646 244,248,139,40,139,64,4,137,44,202,137,68,202,4,248,1,139,6,15,182,204,15,
647 4,137,44,202,137,68,202,4,248,1,139,6,15,182,204,15,182,232,131,198,4,193, 647 182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,0,15,132,244,
648 232,16,252,255,36,171,248,2,131,189,233,0,15,132,244,249,139,141,233,252, 648 249,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252,253,248,3,
649 246,129,233,235,15,132,244,36,15,182,78,252,253,248,3,255,199,68,202,4,237, 649 255,199,68,202,4,237,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,
650 252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,36,139,4,194,252,233, 650 36,139,4,194,252,233,244,159,255,15,182,252,236,15,182,192,252,247,208,139,
651 244,159,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,253,252, 651 4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,159,139,
652 234,4,239,15,133,244,34,139,44,252,234,248,159,139,141,233,35,136,233,105, 652 141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,
653 201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233,15,133, 653 250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,70,
654 244,250,129,121,253,4,239,15,132,244,251,15,182,70,252,253,139,41,139,73, 654 252,253,139,41,139,73,4,137,44,194,137,76,194,4,248,2,255,139,6,15,182,204,
655 4,137,44,194,137,76,194,4,248,2,255,139,6,15,182,204,15,182,232,131,198,4, 655 15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,15,182,70,252,253,199,
656 193,232,16,252,255,36,171,248,3,15,182,70,252,253,199,68,194,4,237,252,233, 656 68,194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,
657 244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,233,133,201,15, 657 141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,
658 132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,34,255,15,182,252, 658 34,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,35,
659 236,15,182,192,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,59, 659 139,44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,
660 133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248, 660 239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4,248,1,139,6,15,
661 139,40,139,64,4,137,44,202,137,68,202,4,248,1,139,6,15,182,204,15,182,232, 661 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,
662 131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,0,15,132,244,249,139, 662 0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244,35,255,15,182,
663 141,233,252,246,129,233,235,15,132,244,35,255,15,182,78,252,253,248,3,199, 663 78,252,253,248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,
664 68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,253,252, 664 192,129,124,253,252,234,4,239,15,133,244,39,139,44,252,234,129,124,253,194,
665 234,4,239,15,133,244,39,139,44,252,234,129,124,253,194,4,239,15,135,244,251, 665 4,239,15,135,244,251,255,15,133,244,39,59,133,233,15,131,244,39,193,224,3,
666 255,15,133,244,39,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253, 666 3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,
667 4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108, 667 244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,
668 202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193, 668 182,232,131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,
669 232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252, 669 1,139,141,233,255,252,246,129,233,235,15,132,244,39,15,182,78,252,253,252,
670 246,129,233,235,15,132,244,39,15,182,78,252,253,252,233,244,1,248,5,129,124, 670 233,244,1,248,5,129,124,253,194,4,239,15,133,244,39,139,4,194,252,233,244,
671 253,194,4,239,15,133,244,39,139,4,194,252,233,244,160,248,7,128,165,233,235, 671 160,248,7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,
672 139,139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15, 672 253,252,233,244,2,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,
673 182,252,236,15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15, 673 124,253,252,234,4,239,15,133,244,37,139,44,252,234,248,160,139,141,233,35,
674 133,244,37,139,44,252,234,248,160,139,141,233,35,136,233,105,201,239,198, 674 136,233,105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,
675 133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133, 675 244,251,57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,
676 244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15, 676 255,252,246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194,
677 133,244,253,248,3,15,182,70,252,253,139,108,194,4,139,4,194,137,105,4,137, 677 4,139,4,194,137,105,4,137,1,139,6,15,182,204,15,182,232,131,198,4,193,232,
678 1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,131, 678 16,252,255,36,171,248,4,131,189,233,0,15,132,244,2,137,76,36,16,139,141,233,
679 189,233,0,15,132,244,2,137,76,36,16,139,141,233,252,246,129,233,235,15,132, 679 252,246,129,233,235,15,132,244,37,139,76,36,16,252,233,244,2,248,5,139,137,
680 244,37,139,76,36,16,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1, 680 233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,
681 255,139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37, 681 233,235,15,132,244,37,248,6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,
682 248,6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68,36,16,137,108,36, 682 68,36,16,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,
683 4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1, 683 116,36,24,232,251,1,33,139,149,233,139,108,36,12,137,193,252,233,244,2,248,
684 33,139,149,233,139,108,36,12,137,193,252,233,244,2,248,7,128,165,233,235, 684 7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,255,15,
685 139,131,233,137,171,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182, 685 182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139,44,252,
686 192,129,124,253,252,234,4,239,15,133,244,38,139,44,252,234,59,133,233,15, 686 234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,132,
687 131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252, 687 244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,
688 246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137, 688 12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
689 8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,131, 689 255,36,171,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,
690 189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,38, 690 235,15,132,244,38,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,
691 15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,139,233,137,171, 691 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,
692 233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,36,16,139,60, 692 36,16,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,
693 199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248, 693 133,244,253,248,2,139,68,36,20,131,232,1,15,132,244,250,1,252,248,59,133,
694 2,139,68,36,20,131,232,1,15,132,244,250,1,252,248,59,133,233,15,135,244,251, 694 233,15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,
695 41,252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,105,4,131,193,8,137, 695 105,4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,
696 111,4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,16,139,6,15,182,204, 696 36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
697 15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,137,108,36,4,139,108, 697 5,137,108,36,4,139,108,36,48,137,149,233,137,68,36,8,137,44,36,137,116,36,
698 36,48,137,149,233,137,68,36,8,137,44,36,137,116,36,24,232,251,1,34,139,149, 698 24,232,251,1,34,139,149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,
699 233,15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,233, 699 165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,
700 137,171,233,137,133,233,252,233,244,2,255,3,68,36,20,255,129,124,253,202, 700 20,255,129,124,253,202,4,239,139,44,202,15,133,244,52,141,84,202,8,137,114,
701 4,239,139,44,202,15,133,244,52,141,84,202,8,137,114,252,252,139,181,233,139, 701 252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,
702 14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,141,76,202,8,137, 702 171,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,
703 215,139,105,252,248,129,121,253,252,252,239,15,133,244,28,248,53,139,114, 703 244,28,248,53,139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,
704 252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,68,36,20, 704 252,248,137,68,36,20,131,232,1,15,132,244,249,248,2,139,41,137,47,139,105,
705 131,232,1,15,132,244,249,248,2,139,41,137,47,139,105,4,131,193,8,137,111, 705 4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248,
706 4,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,20,128, 706 3,139,68,36,20,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,
707 189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205, 707 252,233,15,182,205,131,198,4,252,255,36,171,248,5,255,252,247,198,237,15,
708 131,198,4,252,255,36,171,248,5,255,252,247,198,237,15,133,244,4,15,182,78, 708 133,244,4,15,182,78,252,253,252,247,209,141,12,202,139,121,252,248,139,191,
709 252,253,252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252, 709 233,139,191,233,252,233,244,4,248,7,129,252,238,239,252,247,198,237,15,133,
710 233,244,4,248,7,129,252,238,239,252,247,198,237,15,133,244,254,41,252,242, 710 244,254,41,252,242,137,215,139,114,252,252,252,233,244,1,248,8,129,198,239,
711 137,215,139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255, 711 252,233,244,1,255,141,76,202,8,139,105,232,139,65,252,236,137,41,137,65,4,
712 141,76,202,8,139,105,232,139,65,252,236,137,41,137,65,4,139,105,252,240,139, 712 139,105,252,240,139,65,252,244,137,105,8,137,65,12,139,105,224,139,65,228,
713 65,252,244,137,105,8,137,65,12,139,105,224,139,65,228,137,105,252,248,137, 713 137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,133,244,28,137,
714 65,252,252,129,252,248,239,184,237,15,133,244,28,137,202,137,114,252,252, 714 202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,
715 139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,255, 715 4,252,255,36,171,255,137,124,36,16,137,92,36,20,139,108,202,252,240,139,68,
716 137,124,36,16,137,92,36,20,139,108,202,252,240,139,68,202,252,248,139,157, 716 202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216,15,131,244,251,
717 233,131,198,4,139,189,233,248,1,57,216,15,131,244,251,129,124,253,199,4,239, 717 129,124,253,199,4,239,15,132,244,250,255,252,242,15,42,192,255,219,68,202,
718 15,132,244,250,255,252,242,15,42,192,255,219,68,202,252,248,255,139,108,199, 718 252,248,255,139,108,199,4,137,108,202,12,139,44,199,137,108,202,8,131,192,
719 4,137,108,202,12,139,44,199,137,108,202,8,131,192,1,255,137,68,202,252,248, 719 1,255,137,68,202,252,248,248,2,15,183,70,252,254,141,180,253,134,233,248,
720 248,2,15,183,70,252,254,141,180,253,134,233,248,3,139,92,36,20,139,124,36, 720 3,139,92,36,20,139,124,36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,
721 16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4, 721 16,252,255,36,171,248,4,131,192,1,255,137,68,202,252,248,255,252,233,244,
722 131,192,1,255,137,68,202,252,248,255,252,233,244,1,248,5,41,216,248,6,59, 722 1,248,5,41,216,248,6,59,133,233,15,135,244,3,105,252,248,239,3,189,233,129,
723 133,233,15,135,244,3,105,252,248,239,3,189,233,129,191,233,239,15,132,244, 723 191,233,239,15,132,244,253,141,92,24,1,139,175,233,139,135,233,137,44,202,
724 253,141,92,24,1,139,175,233,139,135,233,137,44,202,137,68,202,4,139,175,233, 724 137,68,202,4,139,175,233,139,135,233,137,108,202,8,137,68,202,12,137,92,202,
725 139,135,233,137,108,202,8,137,68,202,12,137,92,202,252,248,252,233,244,2, 725 252,248,252,233,244,2,248,7,255,131,192,1,252,233,244,6,255,129,124,253,202,
726 248,7,255,131,192,1,252,233,244,6,255,129,124,253,202,252,236,239,15,133, 726 252,236,239,15,133,244,251,139,108,202,232,129,124,253,202,252,244,239,15,
727 244,251,139,108,202,232,129,124,253,202,252,244,239,15,133,244,251,129,124, 727 133,244,251,129,124,253,202,252,252,239,15,133,244,251,128,189,233,235,15,
728 253,202,252,252,239,15,133,244,251,128,189,233,235,15,133,244,251,141,180, 728 133,244,251,141,180,253,134,233,199,68,202,252,248,0,0,0,0,248,1,139,6,15,
729 253,134,233,199,68,202,252,248,0,0,0,0,248,1,139,6,15,182,204,15,182,232, 729 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,198,70,252,252,
730 131,198,4,193,232,16,252,255,36,171,248,5,198,70,252,252,235,141,180,253, 730 235,141,180,253,134,233,198,6,235,252,233,244,1,255,15,182,252,236,15,182,
731 134,233,198,6,235,252,233,244,1,255,15,182,252,236,15,182,192,137,124,36, 731 192,137,124,36,16,141,188,253,194,233,141,12,202,43,122,252,252,133,252,237,
732 16,141,188,253,194,233,141,12,202,43,122,252,252,133,252,237,15,132,244,251, 732 15,132,244,251,141,108,252,233,252,248,57,215,15,131,244,248,248,1,139,71,
733 141,108,252,233,252,248,57,215,15,131,244,248,248,1,139,71,252,248,137,1, 733 252,248,137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,252,233,15,131,
734 139,71,252,252,131,199,8,137,65,4,131,193,8,57,252,233,15,131,244,249,57, 734 244,249,57,215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,
735 215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248, 735 244,2,248,3,139,124,36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
736 3,139,124,36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 736 252,255,36,171,248,5,199,68,36,20,1,0,0,0,137,208,41,252,248,15,134,244,3,
737 36,171,248,5,199,68,36,20,1,0,0,0,137,208,41,252,248,15,134,244,3,137,197, 737 137,197,193,252,237,3,131,197,1,137,108,36,20,139,108,36,48,1,200,59,133,
738 193,252,237,3,131,197,1,137,108,36,20,139,108,36,48,1,200,59,133,233,15,135, 738 233,15,135,244,253,248,6,255,139,71,252,248,137,1,139,71,252,252,131,199,
739 244,253,248,6,255,139,71,252,248,137,1,139,71,252,252,131,199,8,137,65,4, 739 8,137,65,4,131,193,8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,
740 131,193,8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233, 740 137,141,233,137,116,36,24,41,215,139,84,36,20,131,252,234,1,137,252,233,232,
741 137,116,36,24,41,215,139,84,36,20,131,252,234,1,137,252,233,232,251,1,0,139, 741 251,1,0,139,149,233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248,
742 149,233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248,1,139,114,252, 742 1,139,114,252,252,137,68,36,20,252,247,198,237,15,133,244,253,255,248,13,
743 252,137,68,36,20,252,247,198,237,15,133,244,253,255,248,13,137,215,131,232, 743 137,215,131,232,1,15,132,244,249,248,2,139,44,15,137,111,252,248,139,108,
744 1,15,132,244,249,248,2,139,44,15,137,111,252,248,139,108,15,4,137,111,252, 744 15,4,137,111,252,252,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,20,
745 252,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,20,15,182,110,252,255, 745 15,182,110,252,255,248,5,57,197,15,135,244,252,255,139,108,10,4,137,106,252,
746 248,5,57,197,15,135,244,252,255,139,108,10,4,137,106,252,252,139,44,10,137, 746 252,139,44,10,137,106,252,248,255,248,5,56,70,252,255,15,135,244,252,255,
747 106,252,248,255,248,5,56,70,252,255,15,135,244,252,255,15,182,78,252,253, 747 15,182,78,252,253,252,247,209,141,20,202,139,122,252,248,139,191,233,139,
748 252,247,209,141,20,202,139,122,252,248,139,191,233,139,191,233,139,6,15,182, 748 191,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
749 204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,6,255,199,71,252,252, 749 6,255,199,71,252,252,237,131,199,8,255,199,68,194,252,244,237,255,131,192,
750 237,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248, 750 1,252,233,244,5,248,7,141,174,233,252,247,197,237,15,133,244,14,41,252,234,
751 7,141,174,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255, 751 255,1,252,233,255,137,252,245,209,252,237,129,229,239,102,131,172,253,43,
752 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,141, 752 233,1,15,132,244,141,255,141,12,202,255,129,121,253,4,239,15,135,244,54,129,
753 255,141,12,202,255,129,121,253,4,239,15,135,244,54,129,121,253,12,239,15, 753 121,253,12,239,15,135,244,54,255,139,105,20,255,129,252,253,239,15,135,244,
754 135,244,54,255,139,105,20,255,129,252,253,239,15,135,244,54,255,252,242,15, 754 54,255,252,242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,
755 16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237, 755 15,17,1,133,252,237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,
756 15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65, 756 1,252,242,15,17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,
757 24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244, 757 252,237,15,136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,
758 247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,70,252,254, 758 15,183,70,252,254,255,15,131,244,248,141,180,253,134,233,255,141,180,253,
759 255,15,131,244,248,141,180,253,134,233,255,141,180,253,134,233,15,183,70, 759 134,233,15,183,70,252,254,15,131,245,255,15,130,244,248,141,180,253,134,233,
760 252,254,15,131,245,255,15,130,244,248,141,180,253,134,233,255,248,3,102,15, 760 255,248,3,102,15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,
761 46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,132,244, 761 239,15,132,244,247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,
762 247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,255,141,180,253, 762 255,141,180,253,134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,
763 134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,139, 763 233,139,4,129,139,128,233,139,108,36,48,137,147,233,137,171,233,252,255,224,
764 128,233,139,108,36,48,137,147,233,137,171,233,252,255,224,255,141,180,253, 764 255,141,180,253,134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
765 134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, 765 252,255,36,171,255,137,252,245,209,252,237,129,229,239,102,131,172,253,43,
766 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,143, 766 233,1,15,132,244,143,255,139,190,233,139,108,36,48,141,12,202,59,141,233,
767 255,139,190,233,139,108,36,48,141,12,202,59,141,233,15,135,244,23,15,182, 767 15,135,244,23,15,182,142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,
768 142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255, 768 254,252,233,245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,
769 248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2, 769 244,3,252,233,244,2,255,141,44,197,237,141,4,194,139,122,252,248,137,104,
770 255,141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252, 770 252,252,137,120,252,248,139,108,36,48,141,12,200,59,141,233,15,135,244,22,
771 248,139,108,36,48,141,12,200,59,141,233,15,135,244,22,137,209,137,194,15, 771 137,209,137,194,15,182,174,233,133,252,237,15,132,244,248,248,1,131,193,8,
772 182,174,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244, 772 57,209,15,131,244,249,139,121,252,248,137,56,139,121,252,252,137,120,4,131,
773 249,139,121,252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252, 773 192,8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,
774 252,237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204, 774 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,248,3,
775 15,182,232,131,198,4,193,232,16,252,255,36,171,255,248,3,199,64,4,237,131, 775 199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,
776 192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,139,189, 776 252,248,139,189,233,139,108,36,48,141,68,194,252,248,137,149,233,141,136,
777 233,139,108,36,48,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137, 777 233,59,141,233,137,133,233,255,137,44,36,255,137,124,36,4,137,44,36,255,15,
778 133,233,255,137,44,36,255,137,124,36,4,137,44,36,255,15,135,244,21,199,131, 778 135,244,21,199,131,233,237,255,252,255,215,255,252,255,147,233,255,199,131,
779 233,237,255,252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233, 779 233,237,139,149,233,141,12,194,252,247,217,3,141,233,139,114,252,252,252,
780 141,12,194,252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0 780 233,244,12,255,254,0
781}; 781};
782 782
783enum { 783enum {
@@ -1555,47 +1555,47 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1555 } 1555 }
1556 dasm_put(Dst, 9534); 1556 dasm_put(Dst, 9534);
1557 dasm_put(Dst, 9619); 1557 dasm_put(Dst, 9619);
1558 dasm_put(Dst, 9750); 1558 dasm_put(Dst, 9749);
1559 dasm_put(Dst, 9949); 1559 dasm_put(Dst, 9955);
1560#if LJ_HASJIT 1560#if LJ_HASJIT
1561 if (sse) { 1561 if (sse) {
1562 dasm_put(Dst, 9972); 1562 dasm_put(Dst, 9962);
1563 dasm_put(Dst, 10029); 1563 dasm_put(Dst, 10019);
1564 dasm_put(Dst, 10120); 1564 dasm_put(Dst, 10110);
1565 } else { 1565 } else {
1566 dasm_put(Dst, 10162); 1566 dasm_put(Dst, 10152);
1567 dasm_put(Dst, 10254); 1567 dasm_put(Dst, 10244);
1568 } 1568 }
1569 dasm_put(Dst, 10300); 1569 dasm_put(Dst, 10290);
1570#endif 1570#endif
1571 dasm_put(Dst, 10304); 1571 dasm_put(Dst, 10294);
1572 if (sse) { 1572 if (sse) {
1573 dasm_put(Dst, 10307); 1573 dasm_put(Dst, 10297);
1574 dasm_put(Dst, 10412); 1574 dasm_put(Dst, 10402);
1575 dasm_put(Dst, 10495); 1575 dasm_put(Dst, 10485);
1576 } else { 1576 } else {
1577 dasm_put(Dst, 10567); 1577 dasm_put(Dst, 10557);
1578 dasm_put(Dst, 10650); 1578 dasm_put(Dst, 10640);
1579 if (cmov) { 1579 if (cmov) {
1580 dasm_put(Dst, 10705); 1580 dasm_put(Dst, 10695);
1581 } else { 1581 } else {
1582 dasm_put(Dst, 10724); 1582 dasm_put(Dst, 10714);
1583 } 1583 }
1584 dasm_put(Dst, 10300); 1584 dasm_put(Dst, 10290);
1585 } 1585 }
1586 dasm_put(Dst, 10765); 1586 dasm_put(Dst, 10755);
1587#if LJ_HASFFI 1587#if LJ_HASFFI
1588#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 1588#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1589 dasm_put(Dst, 10821, DtE(->spadj)); 1589 dasm_put(Dst, 10811, DtE(->spadj));
1590#if LJ_TARGET_WINDOWS 1590#if LJ_TARGET_WINDOWS
1591 dasm_put(Dst, 10831, DtE(->spadj)); 1591 dasm_put(Dst, 10821, DtE(->spadj));
1592#endif 1592#endif
1593 dasm_put(Dst, 10835, DtE(->nsp), offsetof(CCallState, stack), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->func), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->resx87), DtE(->fpr[0].d[0])); 1593 dasm_put(Dst, 10825, DtE(->nsp), offsetof(CCallState, stack), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->func), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->resx87), DtE(->fpr[0].d[0]));
1594 dasm_put(Dst, 10905, DtE(->fpr[0].f[0])); 1594 dasm_put(Dst, 10895, DtE(->fpr[0].f[0]));
1595#if LJ_TARGET_WINDOWS 1595#if LJ_TARGET_WINDOWS
1596 dasm_put(Dst, 10911, DtE(->spadj)); 1596 dasm_put(Dst, 10901, DtE(->spadj));
1597#endif 1597#endif
1598 dasm_put(Dst, 10915); 1598 dasm_put(Dst, 10905);
1599#endif 1599#endif
1600} 1600}
1601 1601
@@ -1603,7 +1603,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1603static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1603static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1604{ 1604{
1605 int vk = 0; 1605 int vk = 0;
1606 dasm_put(Dst, 10922, defop); 1606 dasm_put(Dst, 10912, defop);
1607 1607
1608 switch (op) { 1608 switch (op) {
1609 1609
@@ -1612,57 +1612,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1612 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1612 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1613 1613
1614 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1614 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1615 dasm_put(Dst, 10924, LJ_TISNUM, LJ_TISNUM); 1615 dasm_put(Dst, 10914, LJ_TISNUM, LJ_TISNUM);
1616 if (sse) { 1616 if (sse) {
1617 dasm_put(Dst, 10945); 1617 dasm_put(Dst, 10935);
1618 } else { 1618 } else {
1619 dasm_put(Dst, 10960); 1619 dasm_put(Dst, 10950);
1620 if (cmov) { 1620 if (cmov) {
1621 dasm_put(Dst, 10970); 1621 dasm_put(Dst, 10960);
1622 } else { 1622 } else {
1623 dasm_put(Dst, 10976); 1623 dasm_put(Dst, 10966);
1624 } 1624 }
1625 } 1625 }
1626 switch (op) { 1626 switch (op) {
1627 case BC_ISLT: 1627 case BC_ISLT:
1628 dasm_put(Dst, 10983); 1628 dasm_put(Dst, 10973);
1629 break; 1629 break;
1630 case BC_ISGE: 1630 case BC_ISGE:
1631 dasm_put(Dst, 10115); 1631 dasm_put(Dst, 10105);
1632 break; 1632 break;
1633 case BC_ISLE: 1633 case BC_ISLE:
1634 dasm_put(Dst, 6241); 1634 dasm_put(Dst, 6241);
1635 break; 1635 break;
1636 case BC_ISGT: 1636 case BC_ISGT:
1637 dasm_put(Dst, 10988); 1637 dasm_put(Dst, 10978);
1638 break; 1638 break;
1639 default: break; /* Shut up GCC. */ 1639 default: break; /* Shut up GCC. */
1640 } 1640 }
1641 dasm_put(Dst, 10993, -BCBIAS_J*4); 1641 dasm_put(Dst, 10983, -BCBIAS_J*4);
1642 break; 1642 break;
1643 1643
1644 case BC_ISEQV: case BC_ISNEV: 1644 case BC_ISEQV: case BC_ISNEV:
1645 vk = op == BC_ISEQV; 1645 vk = op == BC_ISEQV;
1646 dasm_put(Dst, 11026, LJ_TISNUM, LJ_TISNUM); 1646 dasm_put(Dst, 11016, LJ_TISNUM, LJ_TISNUM);
1647 if (sse) { 1647 if (sse) {
1648 dasm_put(Dst, 11052); 1648 dasm_put(Dst, 11042);
1649 } else { 1649 } else {
1650 dasm_put(Dst, 11064); 1650 dasm_put(Dst, 11054);
1651 if (cmov) { 1651 if (cmov) {
1652 dasm_put(Dst, 10970); 1652 dasm_put(Dst, 10960);
1653 } else { 1653 } else {
1654 dasm_put(Dst, 10976); 1654 dasm_put(Dst, 10966);
1655 } 1655 }
1656 } 1656 }
1657 iseqne_fp: 1657 iseqne_fp:
1658 if (vk) { 1658 if (vk) {
1659 dasm_put(Dst, 11071); 1659 dasm_put(Dst, 11061);
1660 } else { 1660 } else {
1661 dasm_put(Dst, 11080); 1661 dasm_put(Dst, 11070);
1662 } 1662 }
1663 iseqne_end: 1663 iseqne_end:
1664 if (vk) { 1664 if (vk) {
1665 dasm_put(Dst, 11089, -BCBIAS_J*4); 1665 dasm_put(Dst, 11079, -BCBIAS_J*4);
1666 if (!LJ_HASFFI) { 1666 if (!LJ_HASFFI) {
1667 dasm_put(Dst, 4654); 1667 dasm_put(Dst, 4654);
1668 } 1668 }
@@ -1670,597 +1670,597 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1670 if (!LJ_HASFFI) { 1670 if (!LJ_HASFFI) {
1671 dasm_put(Dst, 4654); 1671 dasm_put(Dst, 4654);
1672 } 1672 }
1673 dasm_put(Dst, 11104, -BCBIAS_J*4); 1673 dasm_put(Dst, 11094, -BCBIAS_J*4);
1674 } 1674 }
1675 dasm_put(Dst, 11007); 1675 dasm_put(Dst, 10997);
1676 if (op == BC_ISEQV || op == BC_ISNEV) { 1676 if (op == BC_ISEQV || op == BC_ISNEV) {
1677 dasm_put(Dst, 11119); 1677 dasm_put(Dst, 11109);
1678 if (LJ_HASFFI) { 1678 if (LJ_HASFFI) {
1679 dasm_put(Dst, 11122, LJ_TCDATA, LJ_TCDATA); 1679 dasm_put(Dst, 11112, LJ_TCDATA, LJ_TCDATA);
1680 } 1680 }
1681 dasm_put(Dst, 11141, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1681 dasm_put(Dst, 11131, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1682 if (vk) { 1682 if (vk) {
1683 dasm_put(Dst, 11197); 1683 dasm_put(Dst, 11187);
1684 } else { 1684 } else {
1685 dasm_put(Dst, 11201); 1685 dasm_put(Dst, 11191);
1686 } 1686 }
1687 dasm_put(Dst, 11207); 1687 dasm_put(Dst, 11197);
1688 } else if (LJ_HASFFI) { 1688 } else if (LJ_HASFFI) {
1689 dasm_put(Dst, 11212, LJ_TCDATA); 1689 dasm_put(Dst, 11202, LJ_TCDATA);
1690 } 1690 }
1691 break; 1691 break;
1692 case BC_ISEQS: case BC_ISNES: 1692 case BC_ISEQS: case BC_ISNES:
1693 vk = op == BC_ISEQS; 1693 vk = op == BC_ISEQS;
1694 dasm_put(Dst, 11227, LJ_TSTR); 1694 dasm_put(Dst, 11217, LJ_TSTR);
1695 iseqne_test: 1695 iseqne_test:
1696 if (vk) { 1696 if (vk) {
1697 dasm_put(Dst, 11075); 1697 dasm_put(Dst, 11065);
1698 } else { 1698 } else {
1699 dasm_put(Dst, 2863); 1699 dasm_put(Dst, 2863);
1700 } 1700 }
1701 goto iseqne_end; 1701 goto iseqne_end;
1702 case BC_ISEQN: case BC_ISNEN: 1702 case BC_ISEQN: case BC_ISNEN:
1703 vk = op == BC_ISEQN; 1703 vk = op == BC_ISEQN;
1704 dasm_put(Dst, 11252, LJ_TISNUM); 1704 dasm_put(Dst, 11242, LJ_TISNUM);
1705 if (sse) { 1705 if (sse) {
1706 dasm_put(Dst, 11268); 1706 dasm_put(Dst, 11258);
1707 } else { 1707 } else {
1708 dasm_put(Dst, 11280); 1708 dasm_put(Dst, 11270);
1709 if (cmov) { 1709 if (cmov) {
1710 dasm_put(Dst, 10970); 1710 dasm_put(Dst, 10960);
1711 } else { 1711 } else {
1712 dasm_put(Dst, 10976); 1712 dasm_put(Dst, 10966);
1713 } 1713 }
1714 } 1714 }
1715 goto iseqne_fp; 1715 goto iseqne_fp;
1716 case BC_ISEQP: case BC_ISNEP: 1716 case BC_ISEQP: case BC_ISNEP:
1717 vk = op == BC_ISEQP; 1717 vk = op == BC_ISEQP;
1718 dasm_put(Dst, 11287); 1718 dasm_put(Dst, 11277);
1719 if (!LJ_HASFFI) goto iseqne_test; 1719 if (!LJ_HASFFI) goto iseqne_test;
1720 if (vk) { 1720 if (vk) {
1721 dasm_put(Dst, 11300, -BCBIAS_J*4, LJ_TCDATA); 1721 dasm_put(Dst, 11290, -BCBIAS_J*4, LJ_TCDATA);
1722 } else { 1722 } else {
1723 dasm_put(Dst, 11349, LJ_TCDATA, -BCBIAS_J*4); 1723 dasm_put(Dst, 11339, LJ_TCDATA, -BCBIAS_J*4);
1724 } 1724 }
1725 break; 1725 break;
1726 1726
1727 /* -- Unary test and copy ops ------------------------------------------- */ 1727 /* -- Unary test and copy ops ------------------------------------------- */
1728 1728
1729 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1729 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1730 dasm_put(Dst, 11392, LJ_TISTRUECOND); 1730 dasm_put(Dst, 11382, LJ_TISTRUECOND);
1731 if (op == BC_IST || op == BC_ISTC) { 1731 if (op == BC_IST || op == BC_ISTC) {
1732 dasm_put(Dst, 11404); 1732 dasm_put(Dst, 11394);
1733 } else { 1733 } else {
1734 dasm_put(Dst, 11409); 1734 dasm_put(Dst, 11399);
1735 } 1735 }
1736 if (op == BC_ISTC || op == BC_ISFC) { 1736 if (op == BC_ISTC || op == BC_ISFC) {
1737 dasm_put(Dst, 11414); 1737 dasm_put(Dst, 11404);
1738 } 1738 }
1739 dasm_put(Dst, 11425, -BCBIAS_J*4); 1739 dasm_put(Dst, 11415, -BCBIAS_J*4);
1740 break; 1740 break;
1741 1741
1742 /* -- Unary ops --------------------------------------------------------- */ 1742 /* -- Unary ops --------------------------------------------------------- */
1743 1743
1744 case BC_MOV: 1744 case BC_MOV:
1745 dasm_put(Dst, 11456); 1745 dasm_put(Dst, 11446);
1746 break; 1746 break;
1747 case BC_NOT: 1747 case BC_NOT:
1748 dasm_put(Dst, 11489, LJ_TISTRUECOND, LJ_TTRUE); 1748 dasm_put(Dst, 11479, LJ_TISTRUECOND, LJ_TTRUE);
1749 break; 1749 break;
1750 case BC_UNM: 1750 case BC_UNM:
1751 dasm_put(Dst, 11524, LJ_TISNUM); 1751 dasm_put(Dst, 11514, LJ_TISNUM);
1752 if (sse) { 1752 if (sse) {
1753 dasm_put(Dst, 11535); 1753 dasm_put(Dst, 11525);
1754 } else { 1754 } else {
1755 dasm_put(Dst, 11565); 1755 dasm_put(Dst, 11555);
1756 } 1756 }
1757 dasm_put(Dst, 11007); 1757 dasm_put(Dst, 10997);
1758 break; 1758 break;
1759 case BC_LEN: 1759 case BC_LEN:
1760 dasm_put(Dst, 11574, LJ_TSTR); 1760 dasm_put(Dst, 11564, LJ_TSTR);
1761 if (sse) { 1761 if (sse) {
1762 dasm_put(Dst, 11588, Dt5(->len)); 1762 dasm_put(Dst, 11578, Dt5(->len));
1763 } else { 1763 } else {
1764 dasm_put(Dst, 11606, Dt5(->len)); 1764 dasm_put(Dst, 11596, Dt5(->len));
1765 } 1765 }
1766 dasm_put(Dst, 11615, LJ_TTAB); 1766 dasm_put(Dst, 11605, LJ_TTAB);
1767 if (sse) { 1767 if (sse) {
1768 dasm_put(Dst, 11655); 1768 dasm_put(Dst, 11645);
1769 } else { 1769 } else {
1770 dasm_put(Dst, 11664); 1770 dasm_put(Dst, 11654);
1771 } 1771 }
1772 dasm_put(Dst, 11674); 1772 dasm_put(Dst, 11664);
1773 break; 1773 break;
1774 1774
1775 /* -- Binary ops -------------------------------------------------------- */ 1775 /* -- Binary ops -------------------------------------------------------- */
1776 1776
1777 1777
1778 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1778 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1779 dasm_put(Dst, 11684); 1779 dasm_put(Dst, 11674);
1780 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1780 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1781 switch (vk) { 1781 switch (vk) {
1782 case 0: 1782 case 0:
1783 dasm_put(Dst, 11692, LJ_TISNUM); 1783 dasm_put(Dst, 11682, LJ_TISNUM);
1784 if (sse) { 1784 if (sse) {
1785 dasm_put(Dst, 11704); 1785 dasm_put(Dst, 11694);
1786 } else { 1786 } else {
1787 dasm_put(Dst, 11718); 1787 dasm_put(Dst, 11708);
1788 } 1788 }
1789 break; 1789 break;
1790 case 1: 1790 case 1:
1791 dasm_put(Dst, 11726, LJ_TISNUM); 1791 dasm_put(Dst, 11716, LJ_TISNUM);
1792 if (sse) { 1792 if (sse) {
1793 dasm_put(Dst, 11738); 1793 dasm_put(Dst, 11728);
1794 } else { 1794 } else {
1795 dasm_put(Dst, 11752); 1795 dasm_put(Dst, 11742);
1796 } 1796 }
1797 break; 1797 break;
1798 default: 1798 default:
1799 dasm_put(Dst, 11760, LJ_TISNUM, LJ_TISNUM); 1799 dasm_put(Dst, 11750, LJ_TISNUM, LJ_TISNUM);
1800 if (sse) { 1800 if (sse) {
1801 dasm_put(Dst, 11782); 1801 dasm_put(Dst, 11772);
1802 } else { 1802 } else {
1803 dasm_put(Dst, 11796); 1803 dasm_put(Dst, 11786);
1804 } 1804 }
1805 break; 1805 break;
1806 } 1806 }
1807 if (sse) { 1807 if (sse) {
1808 dasm_put(Dst, 11558); 1808 dasm_put(Dst, 11548);
1809 } else { 1809 } else {
1810 dasm_put(Dst, 11570); 1810 dasm_put(Dst, 11560);
1811 } 1811 }
1812 dasm_put(Dst, 11007); 1812 dasm_put(Dst, 10997);
1813 break; 1813 break;
1814 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1814 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1815 dasm_put(Dst, 11684); 1815 dasm_put(Dst, 11674);
1816 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1816 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1817 switch (vk) { 1817 switch (vk) {
1818 case 0: 1818 case 0:
1819 dasm_put(Dst, 11692, LJ_TISNUM); 1819 dasm_put(Dst, 11682, LJ_TISNUM);
1820 if (sse) { 1820 if (sse) {
1821 dasm_put(Dst, 11804); 1821 dasm_put(Dst, 11794);
1822 } else { 1822 } else {
1823 dasm_put(Dst, 11818); 1823 dasm_put(Dst, 11808);
1824 } 1824 }
1825 break; 1825 break;
1826 case 1: 1826 case 1:
1827 dasm_put(Dst, 11726, LJ_TISNUM); 1827 dasm_put(Dst, 11716, LJ_TISNUM);
1828 if (sse) { 1828 if (sse) {
1829 dasm_put(Dst, 11826); 1829 dasm_put(Dst, 11816);
1830 } else { 1830 } else {
1831 dasm_put(Dst, 11840); 1831 dasm_put(Dst, 11830);
1832 } 1832 }
1833 break; 1833 break;
1834 default: 1834 default:
1835 dasm_put(Dst, 11760, LJ_TISNUM, LJ_TISNUM); 1835 dasm_put(Dst, 11750, LJ_TISNUM, LJ_TISNUM);
1836 if (sse) { 1836 if (sse) {
1837 dasm_put(Dst, 11848); 1837 dasm_put(Dst, 11838);
1838 } else { 1838 } else {
1839 dasm_put(Dst, 11862); 1839 dasm_put(Dst, 11852);
1840 } 1840 }
1841 break; 1841 break;
1842 } 1842 }
1843 if (sse) { 1843 if (sse) {
1844 dasm_put(Dst, 11558); 1844 dasm_put(Dst, 11548);
1845 } else { 1845 } else {
1846 dasm_put(Dst, 11570); 1846 dasm_put(Dst, 11560);
1847 } 1847 }
1848 dasm_put(Dst, 11007); 1848 dasm_put(Dst, 10997);
1849 break; 1849 break;
1850 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1850 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1851 dasm_put(Dst, 11684); 1851 dasm_put(Dst, 11674);
1852 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1852 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1853 switch (vk) { 1853 switch (vk) {
1854 case 0: 1854 case 0:
1855 dasm_put(Dst, 11692, LJ_TISNUM); 1855 dasm_put(Dst, 11682, LJ_TISNUM);
1856 if (sse) { 1856 if (sse) {
1857 dasm_put(Dst, 11870); 1857 dasm_put(Dst, 11860);
1858 } else { 1858 } else {
1859 dasm_put(Dst, 11884); 1859 dasm_put(Dst, 11874);
1860 } 1860 }
1861 break; 1861 break;
1862 case 1: 1862 case 1:
1863 dasm_put(Dst, 11726, LJ_TISNUM); 1863 dasm_put(Dst, 11716, LJ_TISNUM);
1864 if (sse) { 1864 if (sse) {
1865 dasm_put(Dst, 11892); 1865 dasm_put(Dst, 11882);
1866 } else { 1866 } else {
1867 dasm_put(Dst, 11906); 1867 dasm_put(Dst, 11896);
1868 } 1868 }
1869 break; 1869 break;
1870 default: 1870 default:
1871 dasm_put(Dst, 11760, LJ_TISNUM, LJ_TISNUM); 1871 dasm_put(Dst, 11750, LJ_TISNUM, LJ_TISNUM);
1872 if (sse) { 1872 if (sse) {
1873 dasm_put(Dst, 11914); 1873 dasm_put(Dst, 11904);
1874 } else { 1874 } else {
1875 dasm_put(Dst, 11928); 1875 dasm_put(Dst, 11918);
1876 } 1876 }
1877 break; 1877 break;
1878 } 1878 }
1879 if (sse) { 1879 if (sse) {
1880 dasm_put(Dst, 11558); 1880 dasm_put(Dst, 11548);
1881 } else { 1881 } else {
1882 dasm_put(Dst, 11570); 1882 dasm_put(Dst, 11560);
1883 } 1883 }
1884 dasm_put(Dst, 11007); 1884 dasm_put(Dst, 10997);
1885 break; 1885 break;
1886 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1886 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1887 dasm_put(Dst, 11684); 1887 dasm_put(Dst, 11674);
1888 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1888 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1889 switch (vk) { 1889 switch (vk) {
1890 case 0: 1890 case 0:
1891 dasm_put(Dst, 11692, LJ_TISNUM); 1891 dasm_put(Dst, 11682, LJ_TISNUM);
1892 if (sse) { 1892 if (sse) {
1893 dasm_put(Dst, 11936); 1893 dasm_put(Dst, 11926);
1894 } else { 1894 } else {
1895 dasm_put(Dst, 11950); 1895 dasm_put(Dst, 11940);
1896 } 1896 }
1897 break; 1897 break;
1898 case 1: 1898 case 1:
1899 dasm_put(Dst, 11726, LJ_TISNUM); 1899 dasm_put(Dst, 11716, LJ_TISNUM);
1900 if (sse) { 1900 if (sse) {
1901 dasm_put(Dst, 11958); 1901 dasm_put(Dst, 11948);
1902 } else { 1902 } else {
1903 dasm_put(Dst, 11972); 1903 dasm_put(Dst, 11962);
1904 } 1904 }
1905 break; 1905 break;
1906 default: 1906 default:
1907 dasm_put(Dst, 11760, LJ_TISNUM, LJ_TISNUM); 1907 dasm_put(Dst, 11750, LJ_TISNUM, LJ_TISNUM);
1908 if (sse) { 1908 if (sse) {
1909 dasm_put(Dst, 11980); 1909 dasm_put(Dst, 11970);
1910 } else { 1910 } else {
1911 dasm_put(Dst, 11994); 1911 dasm_put(Dst, 11984);
1912 } 1912 }
1913 break; 1913 break;
1914 } 1914 }
1915 if (sse) { 1915 if (sse) {
1916 dasm_put(Dst, 11558); 1916 dasm_put(Dst, 11548);
1917 } else { 1917 } else {
1918 dasm_put(Dst, 11570); 1918 dasm_put(Dst, 11560);
1919 } 1919 }
1920 dasm_put(Dst, 11007); 1920 dasm_put(Dst, 10997);
1921 break; 1921 break;
1922 case BC_MODVN: 1922 case BC_MODVN:
1923 dasm_put(Dst, 11684); 1923 dasm_put(Dst, 11674);
1924 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1924 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1925 switch (vk) { 1925 switch (vk) {
1926 case 0: 1926 case 0:
1927 dasm_put(Dst, 11692, LJ_TISNUM); 1927 dasm_put(Dst, 11682, LJ_TISNUM);
1928 if (sse) { 1928 if (sse) {
1929 dasm_put(Dst, 12002); 1929 dasm_put(Dst, 11992);
1930 } else { 1930 } else {
1931 dasm_put(Dst, 12016); 1931 dasm_put(Dst, 12006);
1932 } 1932 }
1933 break; 1933 break;
1934 case 1: 1934 case 1:
1935 dasm_put(Dst, 11726, LJ_TISNUM); 1935 dasm_put(Dst, 11716, LJ_TISNUM);
1936 if (sse) { 1936 if (sse) {
1937 dasm_put(Dst, 12024); 1937 dasm_put(Dst, 12014);
1938 } else { 1938 } else {
1939 dasm_put(Dst, 12038); 1939 dasm_put(Dst, 12028);
1940 } 1940 }
1941 break; 1941 break;
1942 default: 1942 default:
1943 dasm_put(Dst, 11760, LJ_TISNUM, LJ_TISNUM); 1943 dasm_put(Dst, 11750, LJ_TISNUM, LJ_TISNUM);
1944 if (sse) { 1944 if (sse) {
1945 dasm_put(Dst, 12046); 1945 dasm_put(Dst, 12036);
1946 } else { 1946 } else {
1947 dasm_put(Dst, 12060); 1947 dasm_put(Dst, 12050);
1948 } 1948 }
1949 break; 1949 break;
1950 } 1950 }
1951 dasm_put(Dst, 12068); 1951 dasm_put(Dst, 12058);
1952 if (sse) { 1952 if (sse) {
1953 dasm_put(Dst, 11558); 1953 dasm_put(Dst, 11548);
1954 } else { 1954 } else {
1955 dasm_put(Dst, 11570); 1955 dasm_put(Dst, 11560);
1956 } 1956 }
1957 dasm_put(Dst, 11007); 1957 dasm_put(Dst, 10997);
1958 break; 1958 break;
1959 case BC_MODNV: case BC_MODVV: 1959 case BC_MODNV: case BC_MODVV:
1960 dasm_put(Dst, 11684); 1960 dasm_put(Dst, 11674);
1961 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1961 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1962 switch (vk) { 1962 switch (vk) {
1963 case 0: 1963 case 0:
1964 dasm_put(Dst, 11692, LJ_TISNUM); 1964 dasm_put(Dst, 11682, LJ_TISNUM);
1965 if (sse) { 1965 if (sse) {
1966 dasm_put(Dst, 12002); 1966 dasm_put(Dst, 11992);
1967 } else { 1967 } else {
1968 dasm_put(Dst, 12016); 1968 dasm_put(Dst, 12006);
1969 } 1969 }
1970 break; 1970 break;
1971 case 1: 1971 case 1:
1972 dasm_put(Dst, 11726, LJ_TISNUM); 1972 dasm_put(Dst, 11716, LJ_TISNUM);
1973 if (sse) { 1973 if (sse) {
1974 dasm_put(Dst, 12024); 1974 dasm_put(Dst, 12014);
1975 } else { 1975 } else {
1976 dasm_put(Dst, 12038); 1976 dasm_put(Dst, 12028);
1977 } 1977 }
1978 break; 1978 break;
1979 default: 1979 default:
1980 dasm_put(Dst, 11760, LJ_TISNUM, LJ_TISNUM); 1980 dasm_put(Dst, 11750, LJ_TISNUM, LJ_TISNUM);
1981 if (sse) { 1981 if (sse) {
1982 dasm_put(Dst, 12046); 1982 dasm_put(Dst, 12036);
1983 } else { 1983 } else {
1984 dasm_put(Dst, 12060); 1984 dasm_put(Dst, 12050);
1985 } 1985 }
1986 break; 1986 break;
1987 } 1987 }
1988 dasm_put(Dst, 12074); 1988 dasm_put(Dst, 12064);
1989 break; 1989 break;
1990 case BC_POW: 1990 case BC_POW:
1991 dasm_put(Dst, 11684); 1991 dasm_put(Dst, 11674);
1992 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1992 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1993 switch (vk) { 1993 switch (vk) {
1994 case 0: 1994 case 0:
1995 dasm_put(Dst, 11692, LJ_TISNUM); 1995 dasm_put(Dst, 11682, LJ_TISNUM);
1996 if (sse) { 1996 if (sse) {
1997 dasm_put(Dst, 12002); 1997 dasm_put(Dst, 11992);
1998 } else { 1998 } else {
1999 dasm_put(Dst, 12016); 1999 dasm_put(Dst, 12006);
2000 } 2000 }
2001 break; 2001 break;
2002 case 1: 2002 case 1:
2003 dasm_put(Dst, 11726, LJ_TISNUM); 2003 dasm_put(Dst, 11716, LJ_TISNUM);
2004 if (sse) { 2004 if (sse) {
2005 dasm_put(Dst, 12024); 2005 dasm_put(Dst, 12014);
2006 } else { 2006 } else {
2007 dasm_put(Dst, 12038); 2007 dasm_put(Dst, 12028);
2008 } 2008 }
2009 break; 2009 break;
2010 default: 2010 default:
2011 dasm_put(Dst, 11760, LJ_TISNUM, LJ_TISNUM); 2011 dasm_put(Dst, 11750, LJ_TISNUM, LJ_TISNUM);
2012 if (sse) { 2012 if (sse) {
2013 dasm_put(Dst, 12046); 2013 dasm_put(Dst, 12036);
2014 } else { 2014 } else {
2015 dasm_put(Dst, 12060); 2015 dasm_put(Dst, 12050);
2016 } 2016 }
2017 break; 2017 break;
2018 } 2018 }
2019 dasm_put(Dst, 12079); 2019 dasm_put(Dst, 12069);
2020 if (sse) { 2020 if (sse) {
2021 dasm_put(Dst, 11558); 2021 dasm_put(Dst, 11548);
2022 } else { 2022 } else {
2023 dasm_put(Dst, 11570); 2023 dasm_put(Dst, 11560);
2024 } 2024 }
2025 dasm_put(Dst, 11007); 2025 dasm_put(Dst, 10997);
2026 break; 2026 break;
2027 2027
2028 case BC_CAT: 2028 case BC_CAT:
2029 dasm_put(Dst, 12083, Dt1(->base), Dt1(->base)); 2029 dasm_put(Dst, 12073, Dt1(->base), Dt1(->base));
2030 break; 2030 break;
2031 2031
2032 /* -- Constant ops ------------------------------------------------------ */ 2032 /* -- Constant ops ------------------------------------------------------ */
2033 2033
2034 case BC_KSTR: 2034 case BC_KSTR:
2035 dasm_put(Dst, 12177, LJ_TSTR); 2035 dasm_put(Dst, 12167, LJ_TSTR);
2036 break; 2036 break;
2037 case BC_KCDATA: 2037 case BC_KCDATA:
2038#if LJ_HASFFI 2038#if LJ_HASFFI
2039 dasm_put(Dst, 12177, LJ_TCDATA); 2039 dasm_put(Dst, 12167, LJ_TCDATA);
2040#endif 2040#endif
2041 break; 2041 break;
2042 case BC_KSHORT: 2042 case BC_KSHORT:
2043 if (sse) { 2043 if (sse) {
2044 dasm_put(Dst, 12210); 2044 dasm_put(Dst, 12200);
2045 } else { 2045 } else {
2046 dasm_put(Dst, 12225); 2046 dasm_put(Dst, 12215);
2047 } 2047 }
2048 dasm_put(Dst, 11007); 2048 dasm_put(Dst, 10997);
2049 break; 2049 break;
2050 case BC_KNUM: 2050 case BC_KNUM:
2051 if (sse) { 2051 if (sse) {
2052 dasm_put(Dst, 12233); 2052 dasm_put(Dst, 12223);
2053 } else { 2053 } else {
2054 dasm_put(Dst, 12246); 2054 dasm_put(Dst, 12236);
2055 } 2055 }
2056 dasm_put(Dst, 11007); 2056 dasm_put(Dst, 10997);
2057 break; 2057 break;
2058 case BC_KPRI: 2058 case BC_KPRI:
2059 dasm_put(Dst, 12253); 2059 dasm_put(Dst, 12243);
2060 break; 2060 break;
2061 case BC_KNIL: 2061 case BC_KNIL:
2062 dasm_put(Dst, 12279, LJ_TNIL); 2062 dasm_put(Dst, 12269, LJ_TNIL);
2063 break; 2063 break;
2064 2064
2065 /* -- Upvalue and function ops ------------------------------------------ */ 2065 /* -- Upvalue and function ops ------------------------------------------ */
2066 2066
2067 case BC_UGET: 2067 case BC_UGET:
2068 dasm_put(Dst, 12325, offsetof(GCfuncL, uvptr), DtA(->v)); 2068 dasm_put(Dst, 12315, offsetof(GCfuncL, uvptr), DtA(->v));
2069 break; 2069 break;
2070 case BC_USETV: 2070 case BC_USETV:
2071#define TV2MARKOFS \ 2071#define TV2MARKOFS \
2072 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2072 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2073 dasm_put(Dst, 12369, 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); 2073 dasm_put(Dst, 12359, 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);
2074 dasm_put(Dst, 12459); 2074 dasm_put(Dst, 12449);
2075 break; 2075 break;
2076#undef TV2MARKOFS 2076#undef TV2MARKOFS
2077 case BC_USETS: 2077 case BC_USETS:
2078 dasm_put(Dst, 12471, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 2078 dasm_put(Dst, 12461, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
2079 break; 2079 break;
2080 case BC_USETN: 2080 case BC_USETN:
2081 dasm_put(Dst, 12562); 2081 dasm_put(Dst, 12552);
2082 if (sse) { 2082 if (sse) {
2083 dasm_put(Dst, 12567); 2083 dasm_put(Dst, 12557);
2084 } else { 2084 } else {
2085 dasm_put(Dst, 11283); 2085 dasm_put(Dst, 11273);
2086 } 2086 }
2087 dasm_put(Dst, 12574, offsetof(GCfuncL, uvptr), DtA(->v)); 2087 dasm_put(Dst, 12564, offsetof(GCfuncL, uvptr), DtA(->v));
2088 if (sse) { 2088 if (sse) {
2089 dasm_put(Dst, 12583); 2089 dasm_put(Dst, 12573);
2090 } else { 2090 } else {
2091 dasm_put(Dst, 12589); 2091 dasm_put(Dst, 12579);
2092 } 2092 }
2093 dasm_put(Dst, 11007); 2093 dasm_put(Dst, 10997);
2094 break; 2094 break;
2095 case BC_USETP: 2095 case BC_USETP:
2096 dasm_put(Dst, 12592, offsetof(GCfuncL, uvptr), DtA(->v)); 2096 dasm_put(Dst, 12582, offsetof(GCfuncL, uvptr), DtA(->v));
2097 break; 2097 break;
2098 case BC_UCLO: 2098 case BC_UCLO:
2099 dasm_put(Dst, 12629, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2099 dasm_put(Dst, 12619, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2100 break; 2100 break;
2101 2101
2102 case BC_FNEW: 2102 case BC_FNEW:
2103 dasm_put(Dst, 12683, Dt1(->base), Dt1(->base), LJ_TFUNC); 2103 dasm_put(Dst, 12673, Dt1(->base), Dt1(->base), LJ_TFUNC);
2104 break; 2104 break;
2105 2105
2106 /* -- Table ops --------------------------------------------------------- */ 2106 /* -- Table ops --------------------------------------------------------- */
2107 2107
2108 case BC_TNEW: 2108 case BC_TNEW:
2109 dasm_put(Dst, 12754, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2109 dasm_put(Dst, 12744, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2110 break; 2110 break;
2111 case BC_TDUP: 2111 case BC_TDUP:
2112 dasm_put(Dst, 12880, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2112 dasm_put(Dst, 12870, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2113 break; 2113 break;
2114 2114
2115 case BC_GGET: 2115 case BC_GGET:
2116 dasm_put(Dst, 12972, Dt7(->env)); 2116 dasm_put(Dst, 12962, Dt7(->env));
2117 break; 2117 break;
2118 case BC_GSET: 2118 case BC_GSET:
2119 dasm_put(Dst, 12990, Dt7(->env)); 2119 dasm_put(Dst, 12980, Dt7(->env));
2120 break; 2120 break;
2121 2121
2122 case BC_TGETV: 2122 case BC_TGETV:
2123 dasm_put(Dst, 13008, LJ_TTAB, LJ_TISNUM); 2123 dasm_put(Dst, 12998, LJ_TTAB, LJ_TISNUM);
2124 if (sse) { 2124 if (sse) {
2125 dasm_put(Dst, 13041); 2125 dasm_put(Dst, 13031);
2126 } else { 2126 } else {
2127 dasm_put(Dst, 13062); 2127 dasm_put(Dst, 13052);
2128 if (cmov) { 2128 if (cmov) {
2129 dasm_put(Dst, 10970); 2129 dasm_put(Dst, 10960);
2130 } else { 2130 } else {
2131 dasm_put(Dst, 10976); 2131 dasm_put(Dst, 10966);
2132 } 2132 }
2133 dasm_put(Dst, 2573); 2133 dasm_put(Dst, 2573);
2134 } 2134 }
2135 dasm_put(Dst, 13072, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2135 dasm_put(Dst, 13062, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2136 dasm_put(Dst, 13160, LJ_TNIL, LJ_TSTR); 2136 dasm_put(Dst, 13150, LJ_TNIL, LJ_TSTR);
2137 break; 2137 break;
2138 case BC_TGETS: 2138 case BC_TGETS:
2139 dasm_put(Dst, 13189, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2139 dasm_put(Dst, 13179, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2140 dasm_put(Dst, 13277, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2140 dasm_put(Dst, 13267, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2141 break; 2141 break;
2142 case BC_TGETB: 2142 case BC_TGETB:
2143 dasm_put(Dst, 13347, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2143 dasm_put(Dst, 13337, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2144 dasm_put(Dst, 13446, LJ_TNIL); 2144 dasm_put(Dst, 13436, LJ_TNIL);
2145 break; 2145 break;
2146 2146
2147 case BC_TSETV: 2147 case BC_TSETV:
2148 dasm_put(Dst, 13463, LJ_TTAB, LJ_TISNUM); 2148 dasm_put(Dst, 13453, LJ_TTAB, LJ_TISNUM);
2149 if (sse) { 2149 if (sse) {
2150 dasm_put(Dst, 13041); 2150 dasm_put(Dst, 13031);
2151 } else { 2151 } else {
2152 dasm_put(Dst, 13062); 2152 dasm_put(Dst, 13052);
2153 if (cmov) { 2153 if (cmov) {
2154 dasm_put(Dst, 10970); 2154 dasm_put(Dst, 10960);
2155 } else { 2155 } else {
2156 dasm_put(Dst, 10976); 2156 dasm_put(Dst, 10966);
2157 } 2157 }
2158 dasm_put(Dst, 2573); 2158 dasm_put(Dst, 2573);
2159 } 2159 }
2160 dasm_put(Dst, 13496, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 2160 dasm_put(Dst, 13486, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
2161 dasm_put(Dst, 13579, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2161 dasm_put(Dst, 13569, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2162 break; 2162 break;
2163 case BC_TSETS: 2163 case BC_TSETS:
2164 dasm_put(Dst, 13641, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2164 dasm_put(Dst, 13631, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2165 dasm_put(Dst, 13716, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2165 dasm_put(Dst, 13706, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2166 dasm_put(Dst, 13808, 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)); 2166 dasm_put(Dst, 13798, 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));
2167 break; 2167 break;
2168 case BC_TSETB: 2168 case BC_TSETB:
2169 dasm_put(Dst, 13904, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2169 dasm_put(Dst, 13894, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2170 dasm_put(Dst, 14002, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2170 dasm_put(Dst, 13992, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2171 break; 2171 break;
2172 2172
2173 case BC_TSETM: 2173 case BC_TSETM:
2174 dasm_put(Dst, 14048, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2174 dasm_put(Dst, 14038, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2175 dasm_put(Dst, 14197, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2175 dasm_put(Dst, 14187, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2176 break; 2176 break;
2177 2177
2178 /* -- Calls and vararg handling ----------------------------------------- */ 2178 /* -- Calls and vararg handling ----------------------------------------- */
2179 2179
2180 case BC_CALL: case BC_CALLM: 2180 case BC_CALL: case BC_CALLM:
2181 dasm_put(Dst, 11688); 2181 dasm_put(Dst, 11678);
2182 if (op == BC_CALLM) { 2182 if (op == BC_CALLM) {
2183 dasm_put(Dst, 14215); 2183 dasm_put(Dst, 14205);
2184 } 2184 }
2185 dasm_put(Dst, 14220, LJ_TFUNC, Dt7(->pc)); 2185 dasm_put(Dst, 14210, LJ_TFUNC, Dt7(->pc));
2186 break; 2186 break;
2187 2187
2188 case BC_CALLMT: 2188 case BC_CALLMT:
2189 dasm_put(Dst, 14215); 2189 dasm_put(Dst, 14205);
2190 break; 2190 break;
2191 case BC_CALLT: 2191 case BC_CALLT:
2192 dasm_put(Dst, 14261, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2192 dasm_put(Dst, 14251, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2193 dasm_put(Dst, 14379, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2193 dasm_put(Dst, 14369, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2194 break; 2194 break;
2195 2195
2196 case BC_ITERC: 2196 case BC_ITERC:
2197 dasm_put(Dst, 14449, LJ_TFUNC, 2+1, Dt7(->pc)); 2197 dasm_put(Dst, 14439, LJ_TFUNC, 2+1, Dt7(->pc));
2198 break; 2198 break;
2199 2199
2200 case BC_ITERN: 2200 case BC_ITERN:
2201#if LJ_HASJIT 2201#if LJ_HASJIT
2202#endif 2202#endif
2203 dasm_put(Dst, 14529, Dt6(->asize), Dt6(->array), LJ_TNIL); 2203 dasm_put(Dst, 14519, Dt6(->asize), Dt6(->array), LJ_TNIL);
2204 if (sse) { 2204 if (sse) {
2205 dasm_put(Dst, 14575); 2205 dasm_put(Dst, 14565);
2206 } else { 2206 } else {
2207 dasm_put(Dst, 14581); 2207 dasm_put(Dst, 14571);
2208 } 2208 }
2209 dasm_put(Dst, 14587); 2209 dasm_put(Dst, 14577);
2210 if (sse) { 2210 if (sse) {
2211 dasm_put(Dst, 11558); 2211 dasm_put(Dst, 11548);
2212 } else { 2212 } else {
2213 dasm_put(Dst, 11570); 2213 dasm_put(Dst, 11560);
2214 } 2214 }
2215 dasm_put(Dst, 14606, -BCBIAS_J*4); 2215 dasm_put(Dst, 14596, -BCBIAS_J*4);
2216 if (!sse) { 2216 if (!sse) {
2217 dasm_put(Dst, 14657); 2217 dasm_put(Dst, 14647);
2218 } 2218 }
2219 dasm_put(Dst, 14663, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it)); 2219 dasm_put(Dst, 14653, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it));
2220 dasm_put(Dst, 14738); 2220 dasm_put(Dst, 14728);
2221 break; 2221 break;
2222 2222
2223 case BC_ISNEXT: 2223 case BC_ISNEXT:
2224 dasm_put(Dst, 14746, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2224 dasm_put(Dst, 14736, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2225 break; 2225 break;
2226 2226
2227 case BC_VARG: 2227 case BC_VARG:
2228 dasm_put(Dst, 14845, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2228 dasm_put(Dst, 14835, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2229 dasm_put(Dst, 15009, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2229 dasm_put(Dst, 14999, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2230 break; 2230 break;
2231 2231
2232 /* -- Returns ----------------------------------------------------------- */ 2232 /* -- Returns ----------------------------------------------------------- */
2233 2233
2234 case BC_RETM: 2234 case BC_RETM:
2235 dasm_put(Dst, 14215); 2235 dasm_put(Dst, 14205);
2236 break; 2236 break;
2237 2237
2238 case BC_RET: case BC_RET0: case BC_RET1: 2238 case BC_RET: case BC_RET0: case BC_RET1:
2239 if (op != BC_RET0) { 2239 if (op != BC_RET0) {
2240 dasm_put(Dst, 15080); 2240 dasm_put(Dst, 15070);
2241 } 2241 }
2242 dasm_put(Dst, 15084, FRAME_TYPE); 2242 dasm_put(Dst, 15074, FRAME_TYPE);
2243 switch (op) { 2243 switch (op) {
2244 case BC_RET: 2244 case BC_RET:
2245 dasm_put(Dst, 15103); 2245 dasm_put(Dst, 15093);
2246 break; 2246 break;
2247 case BC_RET1: 2247 case BC_RET1:
2248 dasm_put(Dst, 15161); 2248 dasm_put(Dst, 15151);
2249 /* fallthrough */ 2249 /* fallthrough */
2250 case BC_RET0: 2250 case BC_RET0:
2251 dasm_put(Dst, 15177); 2251 dasm_put(Dst, 15167);
2252 default: 2252 default:
2253 break; 2253 break;
2254 } 2254 }
2255 dasm_put(Dst, 15188, Dt7(->pc), PC2PROTO(k)); 2255 dasm_put(Dst, 15178, Dt7(->pc), PC2PROTO(k));
2256 if (op == BC_RET) { 2256 if (op == BC_RET) {
2257 dasm_put(Dst, 15230, LJ_TNIL); 2257 dasm_put(Dst, 15220, LJ_TNIL);
2258 } else { 2258 } else {
2259 dasm_put(Dst, 15239, LJ_TNIL); 2259 dasm_put(Dst, 15229, LJ_TNIL);
2260 } 2260 }
2261 dasm_put(Dst, 15246, -FRAME_VARG, FRAME_TYPEP); 2261 dasm_put(Dst, 15236, -FRAME_VARG, FRAME_TYPEP);
2262 if (op != BC_RET0) { 2262 if (op != BC_RET0) {
2263 dasm_put(Dst, 15270); 2263 dasm_put(Dst, 15260);
2264 } 2264 }
2265 dasm_put(Dst, 4738); 2265 dasm_put(Dst, 4738);
2266 break; 2266 break;
@@ -2270,7 +2270,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2270 2270
2271 case BC_FORL: 2271 case BC_FORL:
2272#if LJ_HASJIT 2272#if LJ_HASJIT
2273 dasm_put(Dst, 15274, HOTCOUNT_PCMASK, GG_DISP2HOT); 2273 dasm_put(Dst, 15264, HOTCOUNT_PCMASK, GG_DISP2HOT);
2274#endif 2274#endif
2275 break; 2275 break;
2276 2276
@@ -2282,57 +2282,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2282 case BC_FORI: 2282 case BC_FORI:
2283 case BC_IFORL: 2283 case BC_IFORL:
2284 vk = (op == BC_IFORL || op == BC_JFORL); 2284 vk = (op == BC_IFORL || op == BC_JFORL);
2285 dasm_put(Dst, 15295); 2285 dasm_put(Dst, 15285);
2286 if (!vk) { 2286 if (!vk) {
2287 dasm_put(Dst, 15299, LJ_TISNUM, LJ_TISNUM); 2287 dasm_put(Dst, 15289, LJ_TISNUM, LJ_TISNUM);
2288 } 2288 }
2289 dasm_put(Dst, 15318); 2289 dasm_put(Dst, 15308);
2290 if (!vk) { 2290 if (!vk) {
2291 dasm_put(Dst, 15322, LJ_TISNUM); 2291 dasm_put(Dst, 15312, LJ_TISNUM);
2292 } 2292 }
2293 if (sse) { 2293 if (sse) {
2294 dasm_put(Dst, 15331); 2294 dasm_put(Dst, 15321);
2295 if (vk) { 2295 if (vk) {
2296 dasm_put(Dst, 15343); 2296 dasm_put(Dst, 15333);
2297 } else { 2297 } else {
2298 dasm_put(Dst, 15362); 2298 dasm_put(Dst, 15352);
2299 } 2299 }
2300 dasm_put(Dst, 15367); 2300 dasm_put(Dst, 15357);
2301 } else { 2301 } else {
2302 dasm_put(Dst, 15380); 2302 dasm_put(Dst, 15370);
2303 if (vk) { 2303 if (vk) {
2304 dasm_put(Dst, 15386); 2304 dasm_put(Dst, 15376);
2305 } else { 2305 } else {
2306 dasm_put(Dst, 15402); 2306 dasm_put(Dst, 15392);
2307 } 2307 }
2308 dasm_put(Dst, 15410); 2308 dasm_put(Dst, 15400);
2309 if (cmov) { 2309 if (cmov) {
2310 dasm_put(Dst, 10970); 2310 dasm_put(Dst, 10960);
2311 } else { 2311 } else {
2312 dasm_put(Dst, 10976); 2312 dasm_put(Dst, 10966);
2313 } 2313 }
2314 if (!cmov) { 2314 if (!cmov) {
2315 dasm_put(Dst, 15415); 2315 dasm_put(Dst, 15405);
2316 } 2316 }
2317 } 2317 }
2318 if (op == BC_FORI) { 2318 if (op == BC_FORI) {
2319 dasm_put(Dst, 15421, -BCBIAS_J*4); 2319 dasm_put(Dst, 15411, -BCBIAS_J*4);
2320 } else if (op == BC_JFORI) { 2320 } else if (op == BC_JFORI) {
2321 dasm_put(Dst, 15431, -BCBIAS_J*4, BC_JLOOP); 2321 dasm_put(Dst, 15421, -BCBIAS_J*4, BC_JLOOP);
2322 } else if (op == BC_IFORL) { 2322 } else if (op == BC_IFORL) {
2323 dasm_put(Dst, 15445, -BCBIAS_J*4); 2323 dasm_put(Dst, 15435, -BCBIAS_J*4);
2324 } else { 2324 } else {
2325 dasm_put(Dst, 15441, BC_JLOOP); 2325 dasm_put(Dst, 15431, BC_JLOOP);
2326 } 2326 }
2327 dasm_put(Dst, 11005); 2327 dasm_put(Dst, 10995);
2328 if (sse) { 2328 if (sse) {
2329 dasm_put(Dst, 15455); 2329 dasm_put(Dst, 15445);
2330 } 2330 }
2331 break; 2331 break;
2332 2332
2333 case BC_ITERL: 2333 case BC_ITERL:
2334#if LJ_HASJIT 2334#if LJ_HASJIT
2335 dasm_put(Dst, 15274, HOTCOUNT_PCMASK, GG_DISP2HOT); 2335 dasm_put(Dst, 15264, HOTCOUNT_PCMASK, GG_DISP2HOT);
2336#endif 2336#endif
2337 break; 2337 break;
2338 2338
@@ -2341,33 +2341,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2341 break; 2341 break;
2342#endif 2342#endif
2343 case BC_IITERL: 2343 case BC_IITERL:
2344 dasm_put(Dst, 15466, LJ_TNIL); 2344 dasm_put(Dst, 15456, LJ_TNIL);
2345 if (op == BC_JITERL) { 2345 if (op == BC_JITERL) {
2346 dasm_put(Dst, 15481, BC_JLOOP); 2346 dasm_put(Dst, 15471, BC_JLOOP);
2347 } else { 2347 } else {
2348 dasm_put(Dst, 15495, -BCBIAS_J*4); 2348 dasm_put(Dst, 15485, -BCBIAS_J*4);
2349 } 2349 }
2350 dasm_put(Dst, 11435); 2350 dasm_put(Dst, 11425);
2351 break; 2351 break;
2352 2352
2353 case BC_LOOP: 2353 case BC_LOOP:
2354#if LJ_HASJIT 2354#if LJ_HASJIT
2355 dasm_put(Dst, 15274, HOTCOUNT_PCMASK, GG_DISP2HOT); 2355 dasm_put(Dst, 15264, HOTCOUNT_PCMASK, GG_DISP2HOT);
2356#endif 2356#endif
2357 break; 2357 break;
2358 2358
2359 case BC_ILOOP: 2359 case BC_ILOOP:
2360 dasm_put(Dst, 11007); 2360 dasm_put(Dst, 10997);
2361 break; 2361 break;
2362 2362
2363 case BC_JLOOP: 2363 case BC_JLOOP:
2364#if LJ_HASJIT 2364#if LJ_HASJIT
2365 dasm_put(Dst, 15511, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2365 dasm_put(Dst, 15501, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2366#endif 2366#endif
2367 break; 2367 break;
2368 2368
2369 case BC_JMP: 2369 case BC_JMP:
2370 dasm_put(Dst, 15534, -BCBIAS_J*4); 2370 dasm_put(Dst, 15524, -BCBIAS_J*4);
2371 break; 2371 break;
2372 2372
2373 /* -- Function headers -------------------------------------------------- */ 2373 /* -- Function headers -------------------------------------------------- */
@@ -2381,7 +2381,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2381 2381
2382 case BC_FUNCF: 2382 case BC_FUNCF:
2383#if LJ_HASJIT 2383#if LJ_HASJIT
2384 dasm_put(Dst, 15558, HOTCOUNT_PCMASK, GG_DISP2HOT); 2384 dasm_put(Dst, 15548, HOTCOUNT_PCMASK, GG_DISP2HOT);
2385#endif 2385#endif
2386 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2386 case BC_FUNCV: /* NYI: compiled vararg functions. */
2387 break; 2387 break;
@@ -2391,47 +2391,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2391 break; 2391 break;
2392#endif 2392#endif
2393 case BC_IFUNCF: 2393 case BC_IFUNCF:
2394 dasm_put(Dst, 15579, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2394 dasm_put(Dst, 15569, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2395 if (op == BC_JFUNCF) { 2395 if (op == BC_JFUNCF) {
2396 dasm_put(Dst, 15609, BC_JLOOP); 2396 dasm_put(Dst, 15599, BC_JLOOP);
2397 } else { 2397 } else {
2398 dasm_put(Dst, 11007); 2398 dasm_put(Dst, 10997);
2399 } 2399 }
2400 dasm_put(Dst, 15618, LJ_TNIL); 2400 dasm_put(Dst, 15608, LJ_TNIL);
2401 break; 2401 break;
2402 2402
2403 case BC_JFUNCV: 2403 case BC_JFUNCV:
2404#if !LJ_HASJIT 2404#if !LJ_HASJIT
2405 break; 2405 break;
2406#endif 2406#endif
2407 dasm_put(Dst, 10302); 2407 dasm_put(Dst, 10292);
2408 break; /* NYI: compiled vararg functions. */ 2408 break; /* NYI: compiled vararg functions. */
2409 2409
2410 case BC_IFUNCV: 2410 case BC_IFUNCV:
2411 dasm_put(Dst, 15640, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2411 dasm_put(Dst, 15630, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2412 if (op == BC_JFUNCV) { 2412 if (op == BC_JFUNCV) {
2413 dasm_put(Dst, 15609, BC_JLOOP); 2413 dasm_put(Dst, 15599, BC_JLOOP);
2414 } else { 2414 } else {
2415 dasm_put(Dst, 15731, -4+PC2PROTO(k)); 2415 dasm_put(Dst, 15721, -4+PC2PROTO(k));
2416 } 2416 }
2417 dasm_put(Dst, 15753, LJ_TNIL); 2417 dasm_put(Dst, 15743, LJ_TNIL);
2418 break; 2418 break;
2419 2419
2420 case BC_FUNCC: 2420 case BC_FUNCC:
2421 case BC_FUNCCW: 2421 case BC_FUNCCW:
2422 dasm_put(Dst, 15775, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2422 dasm_put(Dst, 15765, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2423 if (op == BC_FUNCC) { 2423 if (op == BC_FUNCC) {
2424 dasm_put(Dst, 15804); 2424 dasm_put(Dst, 15794);
2425 } else { 2425 } else {
2426 dasm_put(Dst, 15808); 2426 dasm_put(Dst, 15798);
2427 } 2427 }
2428 dasm_put(Dst, 15816, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2428 dasm_put(Dst, 15806, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2429 if (op == BC_FUNCC) { 2429 if (op == BC_FUNCC) {
2430 dasm_put(Dst, 15825); 2430 dasm_put(Dst, 15815);
2431 } else { 2431 } else {
2432 dasm_put(Dst, 15829, DISPATCH_GL(wrapf)); 2432 dasm_put(Dst, 15819, DISPATCH_GL(wrapf));
2433 } 2433 }
2434 dasm_put(Dst, 15834, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2434 dasm_put(Dst, 15824, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2435 break; 2435 break;
2436 2436
2437 /* ---------------------------------------------------------------------- */ 2437 /* ---------------------------------------------------------------------- */
@@ -2459,7 +2459,7 @@ static int build_backend(BuildCtx *ctx)
2459 2459
2460 build_subroutines(ctx, cmov, sse); 2460 build_subroutines(ctx, cmov, sse);
2461 2461
2462 dasm_put(Dst, 15859); 2462 dasm_put(Dst, 15849);
2463 for (op = 0; op < BC__MAX; op++) 2463 for (op = 0; op < BC__MAX; op++)
2464 build_ins(ctx, (BCOp)op, op, cmov, sse); 2464 build_ins(ctx, (BCOp)op, op, cmov, sse);
2465 2465