summaryrefslogtreecommitdiff
path: root/src/buildvm_x86.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x86.h')
-rw-r--r--src/buildvm_x86.h1266
1 files changed, 633 insertions, 633 deletions
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h
index a88848fe..fec4d3f9 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[15203] = { 15static const unsigned char build_actionlist[15217] = {
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,252,247,198,237,15,132,244,10,199, 18 20,252,247,198,237,15,132,244,13,248,14,252,247,198,237,15,132,244,10,199,
@@ -418,334 +418,334 @@ static const unsigned char build_actionlist[15203] = {
418 15,17,85,176,252,242,15,17,77,168,252,242,15,17,69,160,139,171,233,139,147, 418 15,17,85,176,252,242,15,17,77,168,252,242,15,17,69,160,139,171,233,139,147,
419 233,137,171,233,137,149,233,141,84,36,16,141,139,233,232,251,1,23,139,141, 419 233,137,171,233,137,149,233,141,84,36,16,141,139,233,232,251,1,23,139,141,
420 233,129,225,239,137,204,137,169,233,139,149,233,139,177,233,255,248,144,255, 420 233,129,225,239,137,204,137,169,233,139,149,233,139,177,233,255,248,144,255,
421 133,192,15,136,244,248,137,68,36,20,139,122,252,248,139,191,233,139,191,233, 421 133,192,15,136,244,249,137,68,36,20,139,122,252,248,139,191,233,139,191,233,
422 199,131,233,0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,4, 422 199,131,233,0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,4,
423 193,232,16,252,255,36,171,248,2,252,247,216,137,252,233,137,194,232,251,1, 423 193,232,16,129,252,253,239,15,130,244,248,139,68,36,20,248,2,252,255,36,171,
424 24,255,248,82,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102, 424 248,3,252,247,216,137,252,233,137,194,232,251,1,24,255,248,82,255,217,124,
425 37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4, 425 36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,
426 139,68,36,8,195,255,248,145,102,15,252,239,210,102,15,118,210,102,15,115, 426 68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,145,
427 210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84, 427 102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,
428 202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242, 428 216,102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,
429 15,92,203,102,15,86,202,184,0,0,252,240,63,102,15,110,208,102,15,112,210, 429 102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,
430 81,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195, 430 240,63,102,15,110,208,102,15,112,210,81,252,242,15,194,193,1,102,15,84,194,
431 248,84,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37,252, 431 252,242,15,92,200,15,40,193,248,1,195,248,84,255,217,124,36,4,137,68,36,8,
432 255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68, 432 102,184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,
433 36,8,195,255,248,146,102,15,252,239,210,102,15,118,210,102,15,115,210,1,184, 433 36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,146,102,15,252,239,
434 0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202,102,15, 434 210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,
435 46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102, 435 219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,
436 15,86,202,184,0,0,252,240,191,102,15,110,208,102,15,112,210,81,252,242,15, 436 252,242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240,191,102,
437 194,193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,104,255, 437 15,110,208,102,15,112,210,81,252,242,15,194,193,6,102,15,84,194,252,242,15,
438 217,124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217, 438 92,200,15,40,193,248,1,195,248,104,255,217,124,36,4,137,68,36,8,102,184,0,
439 108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,147,102,15,252, 439 12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,
440 239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102, 440 68,36,8,195,255,248,147,102,15,252,239,210,102,15,118,210,102,15,115,210,
441 15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15, 441 1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202,
442 85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,184,0,0,252,240,63,102, 442 102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,
443 15,110,216,102,15,112,219,81,252,242,15,194,193,1,102,15,84,195,252,242,15, 443 242,15,92,203,184,0,0,252,240,63,102,15,110,216,102,15,112,219,81,252,242,
444 92,200,102,15,86,202,15,40,193,248,1,195,248,148,255,15,40,232,252,242,15, 444 15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,
445 94,193,102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102, 445 1,195,248,148,255,15,40,232,252,242,15,94,193,102,15,252,239,210,102,15,118,
446 15,110,216,102,15,112,219,81,15,40,224,102,15,84,226,102,15,46,220,15,134, 446 210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,
447 244,247,102,15,85,208,252,242,15,88,227,252,242,15,92,227,102,15,86,226,184, 447 224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,
448 0,0,252,240,63,102,15,110,208,102,15,112,210,81,252,242,15,194,196,1,102, 448 227,252,242,15,92,227,102,15,86,226,184,0,0,252,240,63,102,15,110,208,102,
449 15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15,92,193, 449 15,112,210,81,252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,15,40,
450 195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,193,216, 450 197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,
451 252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102, 451 197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,
452 137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,233,195, 452 4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,
453 255,248,88,217,252,234,222,201,248,149,217,84,36,4,129,124,36,4,0,0,128,127, 453 252,252,217,108,36,4,222,201,222,252,233,195,255,248,88,217,252,234,222,201,
454 15,132,244,247,129,124,36,4,0,0,128,252,255,15,132,244,248,248,150,217,192, 454 248,149,217,84,36,4,129,124,36,4,0,0,128,127,15,132,244,247,129,124,36,4,
455 217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221, 455 0,0,128,252,255,15,132,244,248,248,150,217,192,217,252,252,220,252,233,217,
456 217,248,1,195,248,2,221,216,217,252,238,195,255,248,107,219,84,36,4,219,68, 456 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,
457 36,4,255,223,252,233,255,221,252,233,223,224,158,255,15,133,244,254,15,138, 457 217,252,238,195,255,248,107,219,84,36,4,219,68,36,4,255,223,252,233,255,221,
458 244,255,221,216,139,68,36,4,131,252,248,1,15,142,244,252,248,1,169,1,0,0, 458 252,233,223,224,158,255,15,133,244,254,15,138,244,255,221,216,139,68,36,4,
459 0,15,133,244,248,216,200,209,232,252,233,244,1,248,2,209,232,15,132,244,251, 459 131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,216,200,209,
460 217,192,248,3,216,200,209,232,15,132,244,250,15,131,244,3,220,201,252,233, 460 232,252,233,244,1,248,2,209,232,15,132,244,251,217,192,248,3,216,200,209,
461 244,3,248,4,255,222,201,248,5,195,248,6,15,132,244,5,15,130,244,253,217,232, 461 232,15,132,244,250,15,131,244,3,220,201,252,233,244,3,248,4,255,222,201,248,
462 222,252,241,252,247,216,131,252,248,1,15,132,244,5,252,233,244,1,248,7,221, 462 5,195,248,6,15,132,244,5,15,130,244,253,217,232,222,252,241,252,247,216,131,
463 216,217,232,195,248,8,217,84,36,4,217,201,217,84,36,8,139,68,36,4,209,224, 463 252,248,1,15,132,244,5,252,233,244,1,248,7,221,216,217,232,195,248,8,217,
464 61,0,0,0,252,255,15,132,244,248,139,68,36,8,209,224,15,132,244,250,61,0,0, 464 84,36,4,217,201,217,84,36,8,139,68,36,4,209,224,61,0,0,0,252,255,15,132,244,
465 0,252,255,15,132,244,250,217,252,241,252,233,244,150,248,9,255,217,232,255, 465 248,139,68,36,8,209,224,15,132,244,250,61,0,0,0,252,255,15,132,244,250,217,
466 223,252,234,255,221,252,234,223,224,158,255,15,132,244,247,217,201,248,1, 466 252,241,252,233,244,150,248,9,255,217,232,255,223,252,234,255,221,252,234,
467 221,216,195,248,2,217,225,217,232,255,15,132,244,249,221,216,217,225,217, 467 223,224,158,255,15,132,244,247,217,201,248,1,221,216,195,248,2,217,225,217,
468 252,238,184,0,0,0,0,15,146,208,209,200,51,68,36,4,15,137,244,249,217,201, 468 232,255,15,132,244,249,221,216,217,225,217,252,238,184,0,0,0,0,15,146,208,
469 248,3,221,217,217,225,195,248,4,131,124,36,4,0,15,141,244,3,221,216,221,216, 469 209,200,51,68,36,4,15,137,244,249,217,201,248,3,221,217,217,225,195,248,4,
470 133,192,15,132,244,251,217,252,238,195,248,5,199,68,36,4,0,0,128,127,217, 470 131,124,36,4,0,15,141,244,3,221,216,221,216,133,192,15,132,244,251,217,252,
471 68,36,4,195,255,248,107,255,248,151,252,242,15,45,193,252,242,15,42,208,102, 471 238,195,248,5,199,68,36,4,0,0,128,127,217,68,36,4,195,255,248,107,255,248,
472 15,46,202,15,133,244,254,15,138,244,255,248,152,131,252,248,1,15,142,244, 472 151,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138,
473 252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244, 473 244,255,248,152,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,
474 1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232, 474 248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251,
475 15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252, 475 15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255,
476 242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,80,184,0,0,252, 476 252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15,
477 240,63,102,15,110,200,102,15,112,201,81,252,242,15,94,200,88,15,40,193,252, 477 132,244,5,15,130,244,253,80,184,0,0,252,240,63,102,15,110,200,102,15,112,
478 247,216,131,252,248,1,15,132,244,5,252,233,244,1,248,7,184,0,0,252,240,63, 478 201,81,252,242,15,94,200,88,15,40,193,252,247,216,131,252,248,1,15,132,244,
479 102,15,110,192,102,15,112,192,81,195,248,8,252,242,15,17,76,36,12,252,242, 479 5,252,233,244,1,248,7,184,0,0,252,240,63,102,15,110,192,102,15,112,192,81,
480 15,17,68,36,4,131,124,36,12,0,15,133,244,247,139,68,36,16,209,224,61,0,0, 480 195,248,8,252,242,15,17,76,36,12,252,242,15,17,68,36,4,131,124,36,12,0,15,
481 224,252,255,15,132,244,248,248,1,255,131,124,36,4,0,15,133,244,247,139,68, 481 133,244,247,139,68,36,16,209,224,61,0,0,224,252,255,15,132,244,248,248,1,
482 36,8,209,224,15,132,244,250,61,0,0,224,252,255,15,132,244,251,248,1,221,68, 482 255,131,124,36,4,0,15,133,244,247,139,68,36,8,209,224,15,132,244,250,61,0,
483 36,12,221,68,36,4,217,252,241,217,192,217,252,252,220,252,233,217,201,217, 483 0,224,252,255,15,132,244,251,248,1,221,68,36,12,221,68,36,4,217,252,241,217,
484 252,240,217,232,222,193,217,252,253,221,217,221,92,36,4,252,242,15,16,68, 484 192,217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,
485 36,4,195,248,9,184,0,0,252,240,63,102,15,110,208,102,15,112,210,81,102,15, 485 221,217,221,92,36,4,252,242,15,16,68,36,4,195,248,9,184,0,0,252,240,63,102,
486 46,194,15,132,244,247,15,40,193,248,1,195,248,2,102,15,252,239,210,102,15, 486 15,110,208,102,15,112,210,81,102,15,46,194,15,132,244,247,15,40,193,248,1,
487 118,210,102,15,115,210,1,102,15,84,194,184,0,0,252,240,63,102,15,110,208, 487 195,248,2,102,15,252,239,210,102,15,118,210,102,15,115,210,1,102,15,84,194,
488 102,15,112,210,81,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,136, 488 184,0,0,252,240,63,102,15,110,208,102,15,112,210,81,102,15,46,194,15,132,
489 196,15,146,208,48,224,15,133,244,1,248,3,184,0,0,252,240,127,102,15,110,192, 489 244,1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,
490 102,15,112,192,81,195,248,4,102,15,80,193,133,192,15,133,244,3,255,15,87, 490 3,184,0,0,252,240,127,102,15,110,192,102,15,112,192,81,195,248,4,102,15,80,
491 192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,153,255, 491 193,133,192,15,133,244,3,255,15,87,192,195,248,5,102,15,80,193,133,192,15,
492 139,68,36,12,252,242,15,16,68,36,4,131,252,248,1,15,132,244,247,15,135,244, 492 132,244,3,15,87,192,195,248,153,255,139,68,36,12,252,242,15,16,68,36,4,131,
493 248,232,244,82,252,233,244,253,248,1,232,244,84,252,233,244,253,248,2,131, 493 252,248,1,15,132,244,247,15,135,244,248,232,244,82,252,233,244,253,248,1,
494 252,248,3,15,132,244,247,15,135,244,248,232,244,104,255,252,233,244,253,248, 494 232,244,84,252,233,244,253,248,2,131,252,248,3,15,132,244,247,15,135,244,
495 1,252,242,15,81,192,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,2,221, 495 248,232,244,104,255,252,233,244,253,248,1,252,242,15,81,192,248,7,252,242,
496 68,36,4,131,252,248,5,15,130,244,88,15,132,244,149,248,2,131,252,248,7,15, 496 15,17,68,36,4,221,68,36,4,195,248,2,221,68,36,4,131,252,248,5,15,130,244,
497 132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,217, 497 88,15,132,244,149,248,2,131,252,248,7,15,132,244,247,15,135,244,248,217,252,
498 232,217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,15,135,244, 498 237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,
499 248,255,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131, 499 252,248,9,15,132,244,247,15,135,244,248,255,217,252,236,217,201,217,252,241,
500 252,248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242, 500 195,248,1,217,252,254,195,248,2,131,252,248,11,15,132,244,247,15,135,244,
501 221,216,195,255,139,68,36,12,221,68,36,4,131,252,248,1,15,130,244,82,15,132, 501 255,217,252,255,195,248,1,217,252,242,221,216,195,255,139,68,36,12,221,68,
502 244,84,131,252,248,3,15,130,244,104,15,135,244,248,217,252,250,195,248,2, 502 36,4,131,252,248,1,15,130,244,82,15,132,244,84,131,252,248,3,15,130,244,104,
503 131,252,248,5,15,130,244,88,15,132,244,149,131,252,248,7,15,132,244,247,15, 503 15,135,244,248,217,252,250,195,248,2,131,252,248,5,15,130,244,88,15,132,244,
504 135,244,248,217,252,237,217,201,217,252,241,195,248,1,217,232,217,201,217, 504 149,131,252,248,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,
505 252,241,195,248,2,131,252,248,9,15,132,244,247,255,15,135,244,248,217,252, 505 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132,
506 236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,248,11,15, 506 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,
507 132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216,195, 507 252,254,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255,
508 255,248,9,204,248,154,255,139,68,36,20,252,242,15,16,68,36,4,252,242,15,16, 508 195,248,1,217,252,242,221,216,195,255,248,9,204,248,154,255,139,68,36,20,
509 76,36,12,131,252,248,1,15,132,244,247,15,135,244,248,252,242,15,88,193,248, 509 252,242,15,16,68,36,4,252,242,15,16,76,36,12,131,252,248,1,15,132,244,247,
510 7,252,242,15,17,68,36,4,221,68,36,4,195,248,1,252,242,15,92,193,252,233,244, 510 15,135,244,248,252,242,15,88,193,248,7,252,242,15,17,68,36,4,221,68,36,4,
511 7,248,2,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15,89,193,252, 511 195,248,1,252,242,15,92,193,252,233,244,7,248,2,131,252,248,3,15,132,244,
512 233,244,7,248,1,252,242,15,94,193,252,233,244,7,248,2,131,252,248,5,15,132, 512 247,15,135,244,248,252,242,15,89,193,252,233,244,7,248,1,252,242,15,94,193,
513 244,247,255,15,135,244,248,232,244,148,252,233,244,7,248,1,90,232,244,107, 513 252,233,244,7,248,2,131,252,248,5,15,132,244,247,255,15,135,244,248,232,244,
514 82,252,233,244,7,248,2,131,252,248,7,15,132,244,247,15,135,244,248,184,0, 514 148,252,233,244,7,248,1,90,232,244,107,82,252,233,244,7,248,2,131,252,248,
515 0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,233,244,7,248,1,102, 515 7,15,132,244,247,15,135,244,248,184,0,0,0,128,102,15,110,200,102,15,112,201,
516 15,252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,252,233,244,7,248, 516 81,15,87,193,252,233,244,7,248,1,102,15,252,239,201,102,15,118,201,102,15,
517 2,255,131,252,248,9,15,135,244,248,221,68,36,4,221,68,36,12,15,132,244,247, 517 115,209,1,15,84,193,252,233,244,7,248,2,255,131,252,248,9,15,135,244,248,
518 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11, 518 221,68,36,4,221,68,36,12,15,132,244,247,217,252,243,195,248,1,217,201,217,
519 15,132,244,247,15,135,244,255,252,242,15,93,193,252,233,244,7,248,1,252,242, 519 252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,252,
520 15,95,193,252,233,244,7,248,9,204,255,139,68,36,20,221,68,36,4,221,68,36, 520 242,15,93,193,252,233,244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204,
521 12,131,252,248,1,15,132,244,247,15,135,244,248,222,193,195,248,1,222,252, 521 255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,
522 233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248,222,201,195,248, 522 135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,
523 1,222,252,249,195,248,2,131,252,248,5,15,130,244,148,15,132,244,107,131,252, 523 244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131,252,248,
524 248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195,248,1,221,216, 524 5,15,130,244,148,15,132,244,107,131,252,248,7,15,132,244,247,15,135,244,248,
525 217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217,252,243, 525 255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15,
526 195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15,132,244, 526 132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,221,
527 247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,252,233, 527 217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,233,
528 218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,248,217, 528 219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,223,
529 201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,244,248, 529 224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,225,
530 217,201,248,2,221,216,195,255,248,155,156,90,137,209,129,252,242,0,0,32,0, 530 223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,155,
531 82,157,156,90,49,192,57,209,15,132,244,247,139,68,36,4,87,83,15,162,139,124, 531 156,90,137,209,129,252,242,0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,
532 36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248,1,195,255,249,255,129,124, 532 247,139,68,36,4,87,83,15,162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,
533 253,202,4,239,15,135,244,41,129,124,253,194,4,239,15,135,244,41,255,252,242, 533 12,91,95,248,1,195,255,249,255,129,124,253,202,4,239,15,135,244,41,129,124,
534 15,16,4,194,131,198,4,102,15,46,4,202,255,221,4,202,221,4,194,131,198,4,255, 534 253,194,4,239,15,135,244,41,255,252,242,15,16,4,194,131,198,4,102,15,46,4,
535 223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,248,255,15, 535 202,255,221,4,202,221,4,194,131,198,4,255,223,252,233,221,216,255,218,252,
536 131,244,248,255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15, 536 233,223,224,158,255,15,134,244,248,255,15,131,244,248,255,248,1,15,183,70,
537 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,194,4, 537 252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,
538 131,198,4,129,252,253,239,15,135,244,251,129,124,253,202,4,239,15,135,244, 538 232,16,252,255,36,171,255,139,108,194,4,131,198,4,129,252,253,239,15,135,
539 251,255,252,242,15,16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,15, 539 244,251,129,124,253,202,4,239,15,135,244,251,255,252,242,15,16,4,194,102,
540 138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,15, 540 15,46,4,202,255,221,4,202,221,4,194,255,15,138,244,248,15,133,244,248,255,
541 183,70,252,254,141,180,253,134,233,248,2,255,248,2,15,183,70,252,254,141, 541 15,138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,
542 180,253,134,233,248,1,255,248,5,57,108,202,4,15,133,244,2,129,252,253,239, 542 233,248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,248,5,
543 15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15, 543 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,
544 135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133, 544 57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,
545 244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,45,255,252,247,208,131, 545 15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,
546 198,4,129,124,253,202,4,239,15,133,244,248,139,12,202,59,12,135,255,131,198, 546 0,0,255,252,233,244,45,255,252,247,208,131,198,4,129,124,253,202,4,239,15,
547 4,129,124,253,202,4,239,15,135,244,248,255,252,242,15,16,4,199,102,15,46, 547 133,244,248,139,12,202,59,12,135,255,131,198,4,129,124,253,202,4,239,15,135,
548 4,202,255,221,4,202,221,4,199,255,252,247,208,131,198,4,57,68,202,4,255,139, 548 244,248,255,252,242,15,16,4,199,102,15,46,4,202,255,221,4,202,221,4,199,255,
549 108,194,4,131,198,4,129,252,253,239,255,15,131,244,247,255,15,130,244,247, 549 252,247,208,131,198,4,57,68,202,4,255,139,108,194,4,131,198,4,129,252,253,
550 255,137,108,202,4,139,44,194,137,44,202,255,15,183,70,252,254,141,180,253, 550 239,255,15,131,244,247,255,15,130,244,247,255,137,108,202,4,139,44,194,137,
551 134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 551 44,202,255,15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15,
552 171,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,15,182,204, 552 182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,194,4,139,4,194,137,
553 15,182,232,131,198,4,193,232,16,252,255,36,171,255,49,252,237,129,124,253, 553 108,202,4,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
554 194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4, 554 255,36,171,255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,
555 193,232,16,252,255,36,171,255,129,124,253,194,4,239,15,135,244,48,255,252, 555 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,129,124,
556 242,15,16,4,194,184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193, 556 253,194,4,239,15,135,244,48,255,252,242,15,16,4,194,184,0,0,0,128,102,15,
557 252,242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194, 557 110,200,102,15,112,201,81,15,87,193,252,242,15,17,4,202,255,221,4,194,217,
558 4,239,15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,1, 558 224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,15,
559 252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204, 559 87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,
560 15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,124,253,194,4,239, 560 1,221,28,202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
561 15,133,244,50,139,12,194,137,213,232,251,1,18,255,252,242,15,42,192,137,252, 561 36,171,248,2,129,124,253,194,4,239,15,133,244,50,139,12,194,137,213,232,251,
562 234,255,137,4,36,137,252,234,219,4,36,255,15,182,78,252,253,252,233,244,1, 562 1,18,255,252,242,15,42,192,137,252,234,255,137,4,36,137,252,234,219,4,36,
563 255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,135,244,46, 563 255,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129,
564 255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,4,252,234,220,4,199, 564 124,253,252,234,4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242,15,
565 255,129,124,253,252,234,4,239,15,135,244,47,255,252,242,15,16,4,199,252,242, 565 88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,135,
566 15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239, 566 244,47,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,
567 15,135,244,49,129,124,253,194,4,239,15,135,244,49,255,252,242,15,16,4,252, 567 4,252,234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253,194,4,239,
568 234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,252,242,15,16,4,252, 568 15,135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,
569 234,252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4, 569 234,220,4,194,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,
570 199,252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16, 570 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,
571 4,252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,252,242,15, 571 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,
572 16,4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199,255,252,242, 572 4,252,234,220,36,194,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,
573 15,16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252,234,255,252, 573 221,4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,
574 242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255, 574 255,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,
575 252,242,15,16,4,252,234,252,242,15,94,4,199,255,221,4,252,234,220,52,199, 575 194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,
576 255,252,242,15,16,4,199,252,242,15,94,4,252,234,255,221,4,199,220,52,252, 576 4,199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94,
577 234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220, 577 4,252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242,
578 52,194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221,4,252,234, 578 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,
579 221,4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255,221,4,199, 579 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252,
580 221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4, 580 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252,
581 252,234,221,4,194,255,248,156,232,244,148,255,252,233,244,156,255,232,244, 581 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,156,232,244,
582 107,255,15,182,252,236,15,182,192,141,12,194,41,232,137,76,36,4,137,68,36, 582 148,255,252,233,244,156,255,232,244,107,255,15,182,252,236,15,182,192,141,
583 8,248,33,139,108,36,48,137,44,36,137,149,233,137,116,36,24,232,251,1,25,139, 583 12,194,41,232,137,76,36,4,137,68,36,8,248,33,139,108,36,48,137,44,36,137,
584 149,233,133,192,15,133,244,42,15,182,110,252,255,15,182,78,252,253,139,68, 584 149,233,137,116,36,24,232,251,1,25,139,149,233,133,192,15,133,244,42,15,182,
585 252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,15,182,204,15,182, 585 110,252,255,15,182,78,252,253,139,68,252,234,4,139,44,252,234,137,68,202,
586 232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,4,135,199,68, 586 4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
587 202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 587 171,255,252,247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204,
588 255,36,171,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,255,223,70, 588 15,182,232,131,198,4,193,232,16,252,255,36,171,255,15,191,192,252,242,15,
589 252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17,4,202,255,221,4, 589 42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,15,16,
590 199,221,28,202,255,252,247,208,137,68,202,4,139,6,15,182,204,15,182,232,131, 590 4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,252,247,208,137,68,
591 198,4,193,232,16,252,255,36,171,255,141,76,202,12,141,68,194,4,189,237,137, 591 202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,
592 105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139,6,15,182,204,15, 592 141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,
593 182,232,131,198,4,193,232,16,252,255,36,171,255,139,106,252,248,139,172,253, 593 57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
594 133,233,139,173,233,139,69,4,139,109,0,137,68,202,4,137,44,202,139,6,15,182, 594 255,36,171,255,139,106,252,248,139,172,253,133,233,139,173,233,139,69,4,139,
595 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,106,252,248,139, 595 109,0,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,
596 172,253,141,233,128,189,233,0,139,173,233,139,12,194,139,68,194,4,137,77, 596 16,252,255,36,171,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,
597 0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244,248,248,1,139,6, 597 173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,
598 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,232,239, 598 133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,
599 129,252,248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,135,213,141, 599 232,16,252,255,36,171,248,2,129,232,239,129,252,248,239,15,134,244,1,252,
600 139,233,255,232,251,1,26,137,252,234,252,233,244,1,255,252,247,208,139,106, 600 246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1,26,137,252,
601 252,248,139,172,253,141,233,139,12,135,139,133,233,137,8,199,64,4,237,252, 601 234,252,233,244,1,255,252,247,208,139,106,252,248,139,172,253,141,233,139,
602 246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198, 602 12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,
603 4,193,232,16,252,255,36,171,248,2,252,246,129,233,235,15,132,244,1,128,189, 603 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
604 233,0,15,132,244,1,137,213,137,194,141,139,233,232,251,1,26,137,252,234,252, 604 2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,
605 233,244,1,255,139,106,252,248,255,252,242,15,16,4,199,255,139,172,253,141, 605 194,141,139,233,232,251,1,26,137,252,234,252,233,244,1,255,139,106,252,248,
606 233,139,141,233,255,252,242,15,17,1,255,221,25,255,252,247,208,139,106,252, 606 255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,
607 248,139,172,253,141,233,139,141,233,137,65,4,139,6,15,182,204,15,182,232, 607 17,1,255,221,25,255,252,247,208,139,106,252,248,139,172,253,141,233,139,141,
608 131,198,4,193,232,16,252,255,36,171,255,141,180,253,134,233,139,108,36,48, 608 233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
609 131,189,233,0,15,132,244,247,137,149,233,141,20,202,137,252,233,232,251,1, 609 171,255,141,180,253,134,233,139,108,36,48,131,189,233,0,15,132,244,247,137,
610 27,139,149,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 610 149,233,141,20,202,137,252,233,232,251,1,27,139,149,233,248,1,139,6,15,182,
611 255,36,171,255,252,247,208,139,74,252,248,139,4,135,139,108,36,48,137,76, 611 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,74,
612 36,8,137,68,36,4,137,44,36,137,149,233,137,116,36,24,232,251,1,28,139,149, 612 252,248,139,4,135,139,108,36,48,137,76,36,8,137,68,36,4,137,44,36,137,149,
613 233,137,116,36,24,232,251,1,28,139,149,233,15,182,78,252,253,137,4,202,199,
614 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
615 171,255,137,197,37,252,255,7,0,0,193,252,237,11,61,252,255,7,0,0,15,132,244,
616 249,248,2,137,108,36,8,139,108,36,48,137,68,36,4,137,116,36,24,139,131,233,
617 137,44,36,59,131,233,137,149,233,15,131,244,251,248,1,232,251,1,29,139,149,
613 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182, 618 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,
614 232,131,198,4,193,232,16,252,255,36,171,255,137,197,37,252,255,7,0,0,193, 619 232,131,198,4,193,232,16,252,255,36,171,248,3,184,1,8,0,0,252,233,244,2,248,
615 252,237,11,61,252,255,7,0,0,15,132,244,249,248,2,137,108,36,8,139,108,36, 620 5,137,252,233,232,251,1,30,252,233,244,1,255,252,247,208,139,108,36,48,139,
616 48,137,68,36,4,137,116,36,24,139,131,233,137,44,36,59,131,233,137,149,233, 621 139,233,137,116,36,24,59,139,233,137,149,233,15,131,244,249,248,2,139,20,
617 15,131,244,251,248,1,232,251,1,29,139,149,233,15,182,78,252,253,137,4,202, 622 135,137,252,233,232,251,1,31,139,149,233,15,182,78,252,253,137,4,202,199,
618 199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 623 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
619 36,171,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,232,251,1,30,252, 624 171,248,3,137,252,233,232,251,1,30,15,183,70,252,254,252,247,208,252,233,
620 233,244,1,255,252,247,208,139,108,36,48,139,139,233,137,116,36,24,59,139, 625 244,2,255,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,157,
621 233,137,149,233,15,131,244,249,248,2,139,20,135,137,252,233,232,251,1,31, 626 255,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,158,255,
622 139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204, 627 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,44,
623 15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,137,252,233,232,251, 628 252,234,129,124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252,
624 1,30,15,183,70,252,254,252,247,208,252,233,244,2,255,252,247,208,139,106, 629 242,15,45,192,252,242,15,42,200,102,15,46,193,255,221,4,194,219,20,36,219,
625 252,248,139,173,233,139,4,135,252,233,244,157,255,252,247,208,139,106,252, 630 4,36,255,15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,
626 248,139,173,233,139,4,135,252,233,244,158,255,15,182,252,236,15,182,192,129, 631 253,4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,
627 124,253,252,234,4,239,15,133,244,36,139,44,252,234,129,124,253,194,4,239, 632 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,
628 15,135,244,251,255,252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200, 633 233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,
629 102,15,46,193,255,221,4,194,219,20,36,219,4,36,255,15,133,244,36,59,133,233, 634 252,253,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,36,139,4,
630 15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,248,1, 635 194,252,233,244,157,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,
631 139,40,139,64,4,137,44,202,137,68,202,4,139,6,15,182,204,15,182,232,131,198, 636 124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,157,139,141,233,35,
632 4,193,232,16,252,255,36,171,248,2,131,189,233,0,15,132,244,1,139,141,233, 637 136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,
633 252,246,129,233,235,15,132,244,36,15,182,78,252,253,252,233,244,1,248,5,255, 638 233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,70,252,253,139,
634 129,124,253,194,4,239,15,133,244,36,139,4,194,252,233,244,157,255,15,182, 639 41,139,73,4,137,44,194,248,2,255,137,76,194,4,139,6,15,182,204,15,182,232,
635 252,236,15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133, 640 131,198,4,193,232,16,252,255,36,171,248,3,15,182,70,252,253,185,237,252,233,
636 244,34,139,44,252,234,248,157,139,141,233,35,136,233,105,201,239,3,141,233, 641 244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,
637 248,1,129,185,233,239,15,133,244,250,57,129,233,15,133,244,250,129,121,253, 642 132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,34,255,15,182,252,
638 4,239,15,132,244,251,15,182,70,252,253,139,41,139,73,4,137,44,194,248,2,255, 643 236,15,182,192,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,59,
639 137,76,194,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 644 133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,
640 171,248,3,15,182,70,252,253,185,237,252,233,244,2,248,4,139,137,233,133,201, 645 248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,6,15,182,204,15,182,232,
641 15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,233,235,15, 646 131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,0,15,132,244,1,139,
642 133,244,3,252,233,244,34,255,15,182,252,236,15,182,192,129,124,253,252,234, 647 141,233,252,246,129,233,235,15,132,244,35,255,15,182,252,236,15,182,192,129,
643 4,239,15,133,244,35,139,44,252,234,59,133,233,15,131,244,35,193,224,3,3,133, 648 124,253,252,234,4,239,15,133,244,39,139,44,252,234,129,124,253,194,4,239,
644 233,129,120,253,4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137, 649 15,135,244,251,255,15,133,244,39,59,133,233,15,131,244,39,193,224,3,3,133,
645 68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,
646 248,2,131,189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,
647 35,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,
648 139,44,252,234,129,124,253,194,4,239,15,135,244,251,255,15,133,244,39,59,
649 133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,
650 248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,
651 104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,
652 248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,235,15,132,
653 244,39,15,182,78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,
654 244,39,139,4,194,252,233,244,158,248,7,128,165,233,235,139,139,233,137,171,
655 233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,
656 192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,
657 252,234,248,158,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,
658 248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,
659 4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,
660 182,70,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139,6,15,182,204,15,
661 182,232,131,198,4,193,232,16,252,255,36,171,248,4,131,189,233,0,15,132,244,
662 2,137,76,36,16,139,141,233,252,246,129,233,235,15,132,244,37,139,76,36,16,
663 252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,
664 201,15,132,244,252,252,246,129,233,235,15,132,244,37,248,6,137,68,36,16,199,
665 68,36,20,237,137,108,36,12,141,68,36,16,137,108,36,4,139,108,36,48,137,68,
666 36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,32,139,149,233,139,108,
667 36,12,137,193,252,233,244,2,248,7,128,165,233,235,139,131,233,137,171,233,
668 137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,234,
669 4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,
670 233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244, 650 233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,
671 253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182, 651 253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,
672 232,131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1, 652 232,131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,
673 255,139,141,233,252,246,129,233,235,15,132,244,38,15,182,78,252,253,252,233, 653 139,141,233,255,252,246,129,233,235,15,132,244,39,15,182,78,252,253,252,233,
674 244,1,248,7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78, 654 244,1,248,5,129,124,253,194,4,239,15,133,244,39,139,4,194,252,233,244,158,
675 252,253,252,233,244,2,255,137,124,36,16,255,252,242,15,45,60,199,255,221, 655 248,7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,
676 4,199,219,92,36,12,139,124,36,12,255,248,1,141,12,202,139,105,252,248,252, 656 252,233,244,2,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,
677 246,133,233,235,15,133,244,253,248,2,139,68,36,20,131,232,1,15,132,244,250, 657 253,252,234,4,239,15,133,244,37,139,44,252,234,248,158,139,141,233,35,136,
678 1,252,248,59,133,233,15,131,244,251,41,252,248,193,231,3,3,189,233,248,3, 658 233,105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,
679 139,41,137,47,139,105,4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244, 659 251,57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,
680 3,248,4,139,124,36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 660 252,246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194,4,
681 255,36,171,248,5,137,108,36,4,139,108,36,48,137,149,233,137,68,36,8,137,44, 661 139,4,194,137,105,4,137,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
682 36,137,116,36,24,232,251,1,33,139,149,233,15,182,78,252,253,252,233,244,1, 662 252,255,36,171,248,4,131,189,233,0,15,132,244,2,137,76,36,16,139,141,233,
683 248,7,255,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244, 663 252,246,129,233,235,15,132,244,37,139,76,36,16,252,233,244,2,248,5,139,137,
684 2,255,3,68,36,20,255,129,124,253,202,4,239,139,44,202,15,133,244,51,141,84, 664 233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,
685 202,8,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198, 665 233,235,15,132,244,37,248,6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,
686 4,252,255,36,171,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252, 666 68,36,16,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,
687 252,239,15,133,244,28,248,52,139,114,252,252,252,247,198,237,15,133,244,253, 667 116,36,24,232,251,1,32,139,149,233,139,108,36,12,137,193,252,233,244,2,248,
688 248,1,137,106,252,248,137,68,36,20,131,232,1,15,132,244,249,248,2,139,41, 668 7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,255,15,
689 137,47,139,105,4,137,111,4,131,199,8,131,193,8,131,232,1,15,133,244,2,139, 669 182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139,44,252,
690 106,252,248,248,3,139,68,36,20,128,189,233,1,15,135,244,251,248,4,139,181, 670 234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,132,
691 233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,248,5,255,252, 671 244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,
692 247,198,237,15,133,244,4,15,182,78,252,253,252,247,209,141,12,202,139,121, 672 12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
693 252,248,139,191,233,139,191,233,252,233,244,4,248,7,15,139,244,1,131,230, 673 255,36,171,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,
694 252,248,41,252,242,137,215,139,114,252,252,252,233,244,1,255,141,76,202,8, 674 235,15,132,244,38,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,
695 139,105,232,139,65,252,236,137,41,137,65,4,139,105,252,240,139,65,252,244, 675 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,
696 137,105,8,137,65,12,139,105,224,139,65,228,137,105,252,248,137,65,252,252, 676 36,16,255,252,242,15,45,60,199,255,221,4,199,219,92,36,12,139,124,36,12,255,
697 129,252,248,239,184,237,15,133,244,28,137,202,137,114,252,252,139,181,233, 677 248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,2,
698 139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,15,182,252, 678 139,68,36,20,131,232,1,15,132,244,250,1,252,248,59,133,233,15,131,244,251,
699 236,139,66,252,248,141,12,202,139,128,233,15,182,128,233,137,124,36,16,141, 679 41,252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,105,4,131,193,8,137,
700 188,253,194,233,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233, 680 111,4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,16,139,6,15,182,204,
701 252,248,57,215,15,131,244,248,248,1,139,71,252,248,137,1,139,71,252,252,131, 681 15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,137,108,36,4,139,108,
702 199,8,137,65,4,131,193,8,57,252,233,15,131,244,249,57,215,15,130,244,1,248, 682 36,48,137,149,233,137,68,36,8,137,44,36,137,116,36,24,232,251,1,33,139,149,
703 2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248,3,139,124,36,16,139, 683 233,15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,233,
704 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,199,68, 684 137,171,233,137,133,233,252,233,244,2,255,3,68,36,20,255,129,124,253,202,
705 36,20,1,0,0,0,137,208,41,252,248,15,134,244,3,255,137,197,193,252,237,3,131, 685 4,239,139,44,202,15,133,244,51,141,84,202,8,137,114,252,252,139,181,233,139,
706 197,1,137,108,36,20,139,108,36,48,1,200,59,133,233,15,135,244,253,248,6,139, 686 14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,141,76,202,8,137,
707 71,252,248,137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,215,15,130, 687 215,139,105,252,248,129,121,253,252,252,239,15,133,244,28,248,52,139,114,
708 244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,116,36,24,41,215,139, 688 252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,68,36,20,
709 84,36,20,131,252,234,1,137,252,233,232,251,1,0,139,149,233,139,141,233,1, 689 131,232,1,15,132,244,249,248,2,139,41,137,47,139,105,4,137,111,4,131,199,
710 215,252,233,244,6,255,193,225,3,255,248,1,139,114,252,252,137,68,36,20,252, 690 8,131,193,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,20,128,
711 247,198,237,15,133,244,253,255,248,13,137,215,131,232,1,15,132,244,249,248, 691 189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,
712 2,139,44,15,137,111,252,248,139,108,15,4,137,111,252,252,131,199,8,131,232, 692 131,198,4,252,255,36,171,248,5,255,252,247,198,237,15,133,244,4,15,182,78,
713 1,15,133,244,2,248,3,139,68,36,20,15,182,110,252,255,248,5,57,197,15,135, 693 252,253,252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252,
714 244,252,255,139,108,10,4,137,106,252,252,139,44,10,137,106,252,248,255,248, 694 233,244,4,248,7,15,139,244,1,131,230,252,248,41,252,242,137,215,139,114,252,
715 5,56,70,252,255,15,135,244,252,255,15,182,78,252,253,252,247,209,141,20,202, 695 252,252,233,244,1,255,141,76,202,8,139,105,232,139,65,252,236,137,41,137,
716 139,122,252,248,139,191,233,139,191,233,139,6,15,182,204,15,182,232,131,198, 696 65,4,139,105,252,240,139,65,252,244,137,105,8,137,65,12,139,105,224,139,65,
717 4,193,232,16,252,255,36,171,248,6,255,199,71,252,252,237,131,199,8,255,199, 697 228,137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,133,244,28,
718 68,194,252,244,237,255,131,192,1,252,233,244,5,248,7,15,139,244,14,131,230, 698 137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,
719 252,248,41,252,242,255,1,252,241,255,137,252,245,209,252,237,129,229,239, 699 198,4,252,255,36,171,255,15,182,252,236,139,66,252,248,141,12,202,139,128,
720 102,131,172,253,43,233,1,15,132,244,140,255,141,12,202,255,129,121,253,4, 700 233,15,182,128,233,137,124,36,16,141,188,253,194,233,43,122,252,252,133,252,
721 239,15,135,244,53,129,121,253,12,239,15,135,244,53,255,139,105,20,255,129, 701 237,15,132,244,251,141,108,252,233,252,248,57,215,15,131,244,248,248,1,139,
722 252,253,239,15,135,244,53,255,252,242,15,16,1,252,242,15,16,73,8,255,252, 702 71,252,248,137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,252,233,15,
723 242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,15,140,244, 703 131,244,249,57,215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,
724 249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,220, 704 130,244,2,248,3,139,124,36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,
725 65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140,244, 705 16,252,255,36,171,248,5,199,68,36,20,1,0,0,0,137,208,41,252,248,15,134,244,
726 247,255,217,201,248,1,255,15,183,70,252,254,255,15,131,244,248,141,180,253, 706 3,255,137,197,193,252,237,3,131,197,1,137,108,36,20,139,108,36,48,1,200,59,
727 134,233,255,141,180,253,134,233,15,183,70,252,254,15,131,245,255,15,130,244, 707 133,233,15,135,244,253,248,6,139,71,252,248,137,1,139,71,252,252,131,199,
728 248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1,255,141,12, 708 8,137,65,4,131,193,8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,
729 202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,41,137, 709 137,141,233,137,116,36,24,41,215,139,84,36,20,131,252,234,1,137,252,233,232,
730 105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,252,252,137, 710 251,1,0,139,149,233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248,
731 65,252,248,255,139,139,233,139,4,129,139,128,233,139,108,36,48,137,147,233, 711 1,139,114,252,252,137,68,36,20,252,247,198,237,15,133,244,253,255,248,13,
732 137,171,233,252,255,224,255,141,180,253,134,233,139,6,15,182,204,15,182,232, 712 137,215,131,232,1,15,132,244,249,248,2,139,44,15,137,111,252,248,139,108,
733 131,198,4,193,232,16,252,255,36,171,255,137,252,245,209,252,237,129,229,239, 713 15,4,137,111,252,252,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,20,
734 102,131,172,253,43,233,1,15,132,244,142,255,139,190,233,139,108,36,48,141, 714 15,182,110,252,255,248,5,57,197,15,135,244,252,255,139,108,10,4,137,106,252,
735 12,202,59,141,233,15,135,244,23,15,182,142,233,57,200,15,134,244,249,248, 715 252,139,44,10,137,106,252,248,255,248,5,56,70,252,255,15,135,244,252,255,
736 2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194,252,252,237,131, 716 15,182,78,252,253,252,247,209,141,20,202,139,122,252,248,139,191,233,139,
737 192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,141,4,194,139, 717 191,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
738 122,252,248,137,104,252,252,137,120,252,248,139,108,36,48,141,12,200,59,141, 718 6,255,199,71,252,252,237,131,199,8,255,199,68,194,252,244,237,255,131,192,
739 233,15,135,244,22,137,209,137,194,15,182,174,233,133,252,237,15,132,244,248, 719 1,252,233,244,5,248,7,15,139,244,14,131,230,252,248,41,252,242,255,1,252,
740 248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137,56,139,121,252, 720 241,255,137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,
741 252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,244,1,248, 721 244,140,255,141,12,202,255,129,121,253,4,239,15,135,244,53,129,121,253,12,
742 2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 722 239,15,135,244,53,255,139,105,20,255,129,252,253,239,15,135,244,53,255,252,
743 36,171,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233, 723 242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,
744 244,2,255,139,106,252,248,139,189,233,139,108,36,48,141,68,194,252,248,137, 724 252,237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,
745 149,233,141,136,233,59,141,233,137,133,233,255,137,44,36,255,137,124,36,4, 725 15,17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,
746 137,44,36,255,15,135,244,21,199,131,233,237,255,252,255,215,255,252,255,147, 726 15,136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,
747 233,255,199,131,233,237,139,149,233,141,12,194,252,247,217,3,141,233,139, 727 70,252,254,255,15,131,244,248,141,180,253,134,233,255,141,180,253,134,233,
748 114,252,252,252,233,244,12,255,254,0 728 15,183,70,252,254,15,131,245,255,15,130,244,248,141,180,253,134,233,255,248,
729 3,102,15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,
730 132,244,247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,255,141,
731 180,253,134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,
732 4,129,139,128,233,139,108,36,48,137,147,233,137,171,233,252,255,224,255,141,
733 180,253,134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
734 36,171,255,137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,
735 132,244,142,255,139,190,233,139,108,36,48,141,12,202,59,141,233,15,135,244,
736 23,15,182,142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,
737 245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,
738 244,2,255,141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,
739 252,248,139,108,36,48,141,12,200,59,141,233,15,135,244,22,137,209,137,194,
740 15,182,174,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244,
741 249,139,121,252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252,
742 252,237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204,
743 15,182,232,131,198,4,193,232,16,252,255,36,171,255,248,3,199,64,4,237,131,
744 192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,139,189,
745 233,139,108,36,48,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,
746 133,233,255,137,44,36,255,137,124,36,4,137,44,36,255,15,135,244,21,199,131,
747 233,237,255,252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233,
748 141,12,194,252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0
749}; 749};
750 750
751enum { 751enum {
@@ -1459,87 +1459,87 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1459#endif 1459#endif
1460 dasm_put(Dst, 8383); 1460 dasm_put(Dst, 8383);
1461#if LJ_HASJIT 1461#if LJ_HASJIT
1462 dasm_put(Dst, 8386, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1462 dasm_put(Dst, 8386, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1463#endif 1463#endif
1464 dasm_put(Dst, 8450); 1464 dasm_put(Dst, 8464);
1465 if (!sse) { 1465 if (!sse) {
1466 dasm_put(Dst, 8453); 1466 dasm_put(Dst, 8467);
1467 } 1467 }
1468 dasm_put(Dst, 8498); 1468 dasm_put(Dst, 8512);
1469 if (!sse) { 1469 if (!sse) {
1470 dasm_put(Dst, 8600); 1470 dasm_put(Dst, 8614);
1471 } 1471 }
1472 dasm_put(Dst, 8645); 1472 dasm_put(Dst, 8659);
1473 if (!sse) { 1473 if (!sse) {
1474 dasm_put(Dst, 8747); 1474 dasm_put(Dst, 8761);
1475 } 1475 }
1476 dasm_put(Dst, 8786); 1476 dasm_put(Dst, 8800);
1477 if (sse) { 1477 if (sse) {
1478 dasm_put(Dst, 8891); 1478 dasm_put(Dst, 8905);
1479 } else { 1479 } else {
1480 dasm_put(Dst, 9021); 1480 dasm_put(Dst, 9035);
1481 } 1481 }
1482 dasm_put(Dst, 9068); 1482 dasm_put(Dst, 9082);
1483 if (!sse) { 1483 if (!sse) {
1484 dasm_put(Dst, 9142); 1484 dasm_put(Dst, 9156);
1485 if (cmov) { 1485 if (cmov) {
1486 dasm_put(Dst, 9153); 1486 dasm_put(Dst, 9167);
1487 } else { 1487 } else {
1488 dasm_put(Dst, 9157); 1488 dasm_put(Dst, 9171);
1489 } 1489 }
1490 dasm_put(Dst, 9164); 1490 dasm_put(Dst, 9178);
1491 dasm_put(Dst, 9238); 1491 dasm_put(Dst, 9252);
1492 dasm_put(Dst, 9338); 1492 dasm_put(Dst, 9352);
1493 if (cmov) { 1493 if (cmov) {
1494 dasm_put(Dst, 9341); 1494 dasm_put(Dst, 9355);
1495 } else { 1495 } else {
1496 dasm_put(Dst, 9345); 1496 dasm_put(Dst, 9359);
1497 } 1497 }
1498 dasm_put(Dst, 9352); 1498 dasm_put(Dst, 9366);
1499 if (cmov) { 1499 if (cmov) {
1500 dasm_put(Dst, 9153); 1500 dasm_put(Dst, 9167);
1501 } else { 1501 } else {
1502 dasm_put(Dst, 9157); 1502 dasm_put(Dst, 9171);
1503 } 1503 }
1504 dasm_put(Dst, 9370); 1504 dasm_put(Dst, 9384);
1505 } else { 1505 } else {
1506 dasm_put(Dst, 9449); 1506 dasm_put(Dst, 9463);
1507 } 1507 }
1508 dasm_put(Dst, 9452); 1508 dasm_put(Dst, 9466);
1509 dasm_put(Dst, 9537); 1509 dasm_put(Dst, 9551);
1510 dasm_put(Dst, 9668); 1510 dasm_put(Dst, 9682);
1511 dasm_put(Dst, 9867); 1511 dasm_put(Dst, 9881);
1512 if (sse) { 1512 if (sse) {
1513 dasm_put(Dst, 9890); 1513 dasm_put(Dst, 9904);
1514 dasm_put(Dst, 9947); 1514 dasm_put(Dst, 9961);
1515 dasm_put(Dst, 10038); 1515 dasm_put(Dst, 10052);
1516 } else { 1516 } else {
1517 dasm_put(Dst, 10080); 1517 dasm_put(Dst, 10094);
1518 dasm_put(Dst, 10172); 1518 dasm_put(Dst, 10186);
1519 } 1519 }
1520 dasm_put(Dst, 10218); 1520 dasm_put(Dst, 10232);
1521 if (sse) { 1521 if (sse) {
1522 dasm_put(Dst, 10224); 1522 dasm_put(Dst, 10238);
1523 dasm_put(Dst, 10329); 1523 dasm_put(Dst, 10343);
1524 dasm_put(Dst, 10412); 1524 dasm_put(Dst, 10426);
1525 } else { 1525 } else {
1526 dasm_put(Dst, 10484); 1526 dasm_put(Dst, 10498);
1527 dasm_put(Dst, 10567); 1527 dasm_put(Dst, 10581);
1528 if (cmov) { 1528 if (cmov) {
1529 dasm_put(Dst, 10622); 1529 dasm_put(Dst, 10636);
1530 } else { 1530 } else {
1531 dasm_put(Dst, 10641); 1531 dasm_put(Dst, 10655);
1532 } 1532 }
1533 dasm_put(Dst, 10480); 1533 dasm_put(Dst, 10494);
1534 } 1534 }
1535 dasm_put(Dst, 10682); 1535 dasm_put(Dst, 10696);
1536} 1536}
1537 1537
1538/* Generate the code for a single instruction. */ 1538/* Generate the code for a single instruction. */
1539static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1539static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1540{ 1540{
1541 int vk = 0; 1541 int vk = 0;
1542 dasm_put(Dst, 10736, defop); 1542 dasm_put(Dst, 10750, defop);
1543 1543
1544 switch (op) { 1544 switch (op) {
1545 1545
@@ -1548,611 +1548,611 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1548 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1548 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1549 1549
1550 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1550 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1551 dasm_put(Dst, 10738, LJ_TISNUM, LJ_TISNUM); 1551 dasm_put(Dst, 10752, LJ_TISNUM, LJ_TISNUM);
1552 if (sse) { 1552 if (sse) {
1553 dasm_put(Dst, 10759); 1553 dasm_put(Dst, 10773);
1554 } else { 1554 } else {
1555 dasm_put(Dst, 10774); 1555 dasm_put(Dst, 10788);
1556 if (cmov) { 1556 if (cmov) {
1557 dasm_put(Dst, 10784); 1557 dasm_put(Dst, 10798);
1558 } else { 1558 } else {
1559 dasm_put(Dst, 10790); 1559 dasm_put(Dst, 10804);
1560 } 1560 }
1561 } 1561 }
1562 switch (op) { 1562 switch (op) {
1563 case BC_ISLT: 1563 case BC_ISLT:
1564 dasm_put(Dst, 10797); 1564 dasm_put(Dst, 10811);
1565 break; 1565 break;
1566 case BC_ISGE: 1566 case BC_ISGE:
1567 dasm_put(Dst, 10033); 1567 dasm_put(Dst, 10047);
1568 break; 1568 break;
1569 case BC_ISLE: 1569 case BC_ISLE:
1570 dasm_put(Dst, 6181); 1570 dasm_put(Dst, 6181);
1571 break; 1571 break;
1572 case BC_ISGT: 1572 case BC_ISGT:
1573 dasm_put(Dst, 10802); 1573 dasm_put(Dst, 10816);
1574 break; 1574 break;
1575 default: break; /* Shut up GCC. */ 1575 default: break; /* Shut up GCC. */
1576 } 1576 }
1577 dasm_put(Dst, 10807, -BCBIAS_J*4); 1577 dasm_put(Dst, 10821, -BCBIAS_J*4);
1578 break; 1578 break;
1579 1579
1580 case BC_ISEQV: case BC_ISNEV: 1580 case BC_ISEQV: case BC_ISNEV:
1581 vk = op == BC_ISEQV; 1581 vk = op == BC_ISEQV;
1582 dasm_put(Dst, 10840, LJ_TISNUM, LJ_TISNUM); 1582 dasm_put(Dst, 10854, LJ_TISNUM, LJ_TISNUM);
1583 if (sse) { 1583 if (sse) {
1584 dasm_put(Dst, 10866); 1584 dasm_put(Dst, 10880);
1585 } else { 1585 } else {
1586 dasm_put(Dst, 10878); 1586 dasm_put(Dst, 10892);
1587 if (cmov) { 1587 if (cmov) {
1588 dasm_put(Dst, 10784); 1588 dasm_put(Dst, 10798);
1589 } else { 1589 } else {
1590 dasm_put(Dst, 10790); 1590 dasm_put(Dst, 10804);
1591 } 1591 }
1592 } 1592 }
1593 iseqne_fp: 1593 iseqne_fp:
1594 if (vk) { 1594 if (vk) {
1595 dasm_put(Dst, 10885); 1595 dasm_put(Dst, 10899);
1596 } else { 1596 } else {
1597 dasm_put(Dst, 10894); 1597 dasm_put(Dst, 10908);
1598 } 1598 }
1599 iseqne_end: 1599 iseqne_end:
1600 if (vk) { 1600 if (vk) {
1601 dasm_put(Dst, 10903, -BCBIAS_J*4); 1601 dasm_put(Dst, 10917, -BCBIAS_J*4);
1602 } else { 1602 } else {
1603 dasm_put(Dst, 10918, -BCBIAS_J*4); 1603 dasm_put(Dst, 10932, -BCBIAS_J*4);
1604 } 1604 }
1605 dasm_put(Dst, 10821); 1605 dasm_put(Dst, 10835);
1606 if (op == BC_ISEQV || op == BC_ISNEV) { 1606 if (op == BC_ISEQV || op == BC_ISNEV) {
1607 dasm_put(Dst, 10933, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1607 dasm_put(Dst, 10947, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1608 if (vk) { 1608 if (vk) {
1609 dasm_put(Dst, 10991); 1609 dasm_put(Dst, 11005);
1610 } else { 1610 } else {
1611 dasm_put(Dst, 10995); 1611 dasm_put(Dst, 11009);
1612 } 1612 }
1613 dasm_put(Dst, 11001); 1613 dasm_put(Dst, 11015);
1614 } 1614 }
1615 break; 1615 break;
1616 case BC_ISEQS: case BC_ISNES: 1616 case BC_ISEQS: case BC_ISNES:
1617 vk = op == BC_ISEQS; 1617 vk = op == BC_ISEQS;
1618 dasm_put(Dst, 11006, LJ_TSTR); 1618 dasm_put(Dst, 11020, LJ_TSTR);
1619 iseqne_test: 1619 iseqne_test:
1620 if (vk) { 1620 if (vk) {
1621 dasm_put(Dst, 10889); 1621 dasm_put(Dst, 10903);
1622 } else { 1622 } else {
1623 dasm_put(Dst, 2811); 1623 dasm_put(Dst, 2811);
1624 } 1624 }
1625 goto iseqne_end; 1625 goto iseqne_end;
1626 case BC_ISEQN: case BC_ISNEN: 1626 case BC_ISEQN: case BC_ISNEN:
1627 vk = op == BC_ISEQN; 1627 vk = op == BC_ISEQN;
1628 dasm_put(Dst, 11029, LJ_TISNUM); 1628 dasm_put(Dst, 11043, LJ_TISNUM);
1629 if (sse) { 1629 if (sse) {
1630 dasm_put(Dst, 11043); 1630 dasm_put(Dst, 11057);
1631 } else { 1631 } else {
1632 dasm_put(Dst, 11055); 1632 dasm_put(Dst, 11069);
1633 if (cmov) { 1633 if (cmov) {
1634 dasm_put(Dst, 10784); 1634 dasm_put(Dst, 10798);
1635 } else { 1635 } else {
1636 dasm_put(Dst, 10790); 1636 dasm_put(Dst, 10804);
1637 } 1637 }
1638 } 1638 }
1639 goto iseqne_fp; 1639 goto iseqne_fp;
1640 case BC_ISEQP: case BC_ISNEP: 1640 case BC_ISEQP: case BC_ISNEP:
1641 vk = op == BC_ISEQP; 1641 vk = op == BC_ISEQP;
1642 dasm_put(Dst, 11062); 1642 dasm_put(Dst, 11076);
1643 goto iseqne_test; 1643 goto iseqne_test;
1644 1644
1645 /* -- Unary test and copy ops ------------------------------------------- */ 1645 /* -- Unary test and copy ops ------------------------------------------- */
1646 1646
1647 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1647 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1648 dasm_put(Dst, 11073, LJ_TISTRUECOND); 1648 dasm_put(Dst, 11087, LJ_TISTRUECOND);
1649 if (op == BC_IST || op == BC_ISTC) { 1649 if (op == BC_IST || op == BC_ISTC) {
1650 dasm_put(Dst, 11085); 1650 dasm_put(Dst, 11099);
1651 } else { 1651 } else {
1652 dasm_put(Dst, 11090); 1652 dasm_put(Dst, 11104);
1653 } 1653 }
1654 if (op == BC_ISTC || op == BC_ISFC) { 1654 if (op == BC_ISTC || op == BC_ISFC) {
1655 dasm_put(Dst, 11095); 1655 dasm_put(Dst, 11109);
1656 } 1656 }
1657 dasm_put(Dst, 11106, -BCBIAS_J*4); 1657 dasm_put(Dst, 11120, -BCBIAS_J*4);
1658 break; 1658 break;
1659 1659
1660 /* -- Unary ops --------------------------------------------------------- */ 1660 /* -- Unary ops --------------------------------------------------------- */
1661 1661
1662 case BC_MOV: 1662 case BC_MOV:
1663 dasm_put(Dst, 11137); 1663 dasm_put(Dst, 11151);
1664 break; 1664 break;
1665 case BC_NOT: 1665 case BC_NOT:
1666 dasm_put(Dst, 11170, LJ_TISTRUECOND, LJ_TTRUE); 1666 dasm_put(Dst, 11184, LJ_TISTRUECOND, LJ_TTRUE);
1667 break; 1667 break;
1668 case BC_UNM: 1668 case BC_UNM:
1669 dasm_put(Dst, 11205, LJ_TISNUM); 1669 dasm_put(Dst, 11219, LJ_TISNUM);
1670 if (sse) { 1670 if (sse) {
1671 dasm_put(Dst, 11216); 1671 dasm_put(Dst, 11230);
1672 } else { 1672 } else {
1673 dasm_put(Dst, 11246); 1673 dasm_put(Dst, 11260);
1674 } 1674 }
1675 dasm_put(Dst, 10821); 1675 dasm_put(Dst, 10835);
1676 break; 1676 break;
1677 case BC_LEN: 1677 case BC_LEN:
1678 dasm_put(Dst, 11255, LJ_TSTR); 1678 dasm_put(Dst, 11269, LJ_TSTR);
1679 if (sse) { 1679 if (sse) {
1680 dasm_put(Dst, 11269, Dt5(->len)); 1680 dasm_put(Dst, 11283, Dt5(->len));
1681 } else { 1681 } else {
1682 dasm_put(Dst, 11287, Dt5(->len)); 1682 dasm_put(Dst, 11301, Dt5(->len));
1683 } 1683 }
1684 dasm_put(Dst, 11296, LJ_TTAB); 1684 dasm_put(Dst, 11310, LJ_TTAB);
1685 if (sse) { 1685 if (sse) {
1686 dasm_put(Dst, 11336); 1686 dasm_put(Dst, 11350);
1687 } else { 1687 } else {
1688 dasm_put(Dst, 11345); 1688 dasm_put(Dst, 11359);
1689 } 1689 }
1690 dasm_put(Dst, 11355); 1690 dasm_put(Dst, 11369);
1691 break; 1691 break;
1692 1692
1693 /* -- Binary ops -------------------------------------------------------- */ 1693 /* -- Binary ops -------------------------------------------------------- */
1694 1694
1695 1695
1696 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1696 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1697 dasm_put(Dst, 11365); 1697 dasm_put(Dst, 11379);
1698 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1698 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1699 switch (vk) { 1699 switch (vk) {
1700 case 0: 1700 case 0:
1701 dasm_put(Dst, 11373, LJ_TISNUM); 1701 dasm_put(Dst, 11387, LJ_TISNUM);
1702 if (sse) { 1702 if (sse) {
1703 dasm_put(Dst, 11385);
1704 } else {
1705 dasm_put(Dst, 11399); 1703 dasm_put(Dst, 11399);
1704 } else {
1705 dasm_put(Dst, 11413);
1706 } 1706 }
1707 break; 1707 break;
1708 case 1: 1708 case 1:
1709 dasm_put(Dst, 11407, LJ_TISNUM); 1709 dasm_put(Dst, 11421, LJ_TISNUM);
1710 if (sse) { 1710 if (sse) {
1711 dasm_put(Dst, 11419);
1712 } else {
1713 dasm_put(Dst, 11433); 1711 dasm_put(Dst, 11433);
1712 } else {
1713 dasm_put(Dst, 11447);
1714 } 1714 }
1715 break; 1715 break;
1716 default: 1716 default:
1717 dasm_put(Dst, 11441, LJ_TISNUM, LJ_TISNUM); 1717 dasm_put(Dst, 11455, LJ_TISNUM, LJ_TISNUM);
1718 if (sse) { 1718 if (sse) {
1719 dasm_put(Dst, 11463);
1720 } else {
1721 dasm_put(Dst, 11477); 1719 dasm_put(Dst, 11477);
1720 } else {
1721 dasm_put(Dst, 11491);
1722 } 1722 }
1723 break; 1723 break;
1724 } 1724 }
1725 if (sse) { 1725 if (sse) {
1726 dasm_put(Dst, 11239); 1726 dasm_put(Dst, 11253);
1727 } else { 1727 } else {
1728 dasm_put(Dst, 11251); 1728 dasm_put(Dst, 11265);
1729 } 1729 }
1730 dasm_put(Dst, 10821); 1730 dasm_put(Dst, 10835);
1731 break; 1731 break;
1732 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1732 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1733 dasm_put(Dst, 11365); 1733 dasm_put(Dst, 11379);
1734 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1734 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1735 switch (vk) { 1735 switch (vk) {
1736 case 0: 1736 case 0:
1737 dasm_put(Dst, 11373, LJ_TISNUM); 1737 dasm_put(Dst, 11387, LJ_TISNUM);
1738 if (sse) { 1738 if (sse) {
1739 dasm_put(Dst, 11485);
1740 } else {
1741 dasm_put(Dst, 11499); 1739 dasm_put(Dst, 11499);
1740 } else {
1741 dasm_put(Dst, 11513);
1742 } 1742 }
1743 break; 1743 break;
1744 case 1: 1744 case 1:
1745 dasm_put(Dst, 11407, LJ_TISNUM); 1745 dasm_put(Dst, 11421, LJ_TISNUM);
1746 if (sse) { 1746 if (sse) {
1747 dasm_put(Dst, 11507);
1748 } else {
1749 dasm_put(Dst, 11521); 1747 dasm_put(Dst, 11521);
1748 } else {
1749 dasm_put(Dst, 11535);
1750 } 1750 }
1751 break; 1751 break;
1752 default: 1752 default:
1753 dasm_put(Dst, 11441, LJ_TISNUM, LJ_TISNUM); 1753 dasm_put(Dst, 11455, LJ_TISNUM, LJ_TISNUM);
1754 if (sse) { 1754 if (sse) {
1755 dasm_put(Dst, 11529);
1756 } else {
1757 dasm_put(Dst, 11543); 1755 dasm_put(Dst, 11543);
1756 } else {
1757 dasm_put(Dst, 11557);
1758 } 1758 }
1759 break; 1759 break;
1760 } 1760 }
1761 if (sse) { 1761 if (sse) {
1762 dasm_put(Dst, 11239); 1762 dasm_put(Dst, 11253);
1763 } else { 1763 } else {
1764 dasm_put(Dst, 11251); 1764 dasm_put(Dst, 11265);
1765 } 1765 }
1766 dasm_put(Dst, 10821); 1766 dasm_put(Dst, 10835);
1767 break; 1767 break;
1768 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1768 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1769 dasm_put(Dst, 11365); 1769 dasm_put(Dst, 11379);
1770 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1770 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1771 switch (vk) { 1771 switch (vk) {
1772 case 0: 1772 case 0:
1773 dasm_put(Dst, 11373, LJ_TISNUM); 1773 dasm_put(Dst, 11387, LJ_TISNUM);
1774 if (sse) { 1774 if (sse) {
1775 dasm_put(Dst, 11551);
1776 } else {
1777 dasm_put(Dst, 11565); 1775 dasm_put(Dst, 11565);
1776 } else {
1777 dasm_put(Dst, 11579);
1778 } 1778 }
1779 break; 1779 break;
1780 case 1: 1780 case 1:
1781 dasm_put(Dst, 11407, LJ_TISNUM); 1781 dasm_put(Dst, 11421, LJ_TISNUM);
1782 if (sse) { 1782 if (sse) {
1783 dasm_put(Dst, 11573);
1784 } else {
1785 dasm_put(Dst, 11587); 1783 dasm_put(Dst, 11587);
1784 } else {
1785 dasm_put(Dst, 11601);
1786 } 1786 }
1787 break; 1787 break;
1788 default: 1788 default:
1789 dasm_put(Dst, 11441, LJ_TISNUM, LJ_TISNUM); 1789 dasm_put(Dst, 11455, LJ_TISNUM, LJ_TISNUM);
1790 if (sse) { 1790 if (sse) {
1791 dasm_put(Dst, 11595);
1792 } else {
1793 dasm_put(Dst, 11609); 1791 dasm_put(Dst, 11609);
1792 } else {
1793 dasm_put(Dst, 11623);
1794 } 1794 }
1795 break; 1795 break;
1796 } 1796 }
1797 if (sse) { 1797 if (sse) {
1798 dasm_put(Dst, 11239); 1798 dasm_put(Dst, 11253);
1799 } else { 1799 } else {
1800 dasm_put(Dst, 11251); 1800 dasm_put(Dst, 11265);
1801 } 1801 }
1802 dasm_put(Dst, 10821); 1802 dasm_put(Dst, 10835);
1803 break; 1803 break;
1804 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1804 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1805 dasm_put(Dst, 11365); 1805 dasm_put(Dst, 11379);
1806 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1806 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1807 switch (vk) { 1807 switch (vk) {
1808 case 0: 1808 case 0:
1809 dasm_put(Dst, 11373, LJ_TISNUM); 1809 dasm_put(Dst, 11387, LJ_TISNUM);
1810 if (sse) { 1810 if (sse) {
1811 dasm_put(Dst, 11617);
1812 } else {
1813 dasm_put(Dst, 11631); 1811 dasm_put(Dst, 11631);
1812 } else {
1813 dasm_put(Dst, 11645);
1814 } 1814 }
1815 break; 1815 break;
1816 case 1: 1816 case 1:
1817 dasm_put(Dst, 11407, LJ_TISNUM); 1817 dasm_put(Dst, 11421, LJ_TISNUM);
1818 if (sse) { 1818 if (sse) {
1819 dasm_put(Dst, 11639);
1820 } else {
1821 dasm_put(Dst, 11653); 1819 dasm_put(Dst, 11653);
1820 } else {
1821 dasm_put(Dst, 11667);
1822 } 1822 }
1823 break; 1823 break;
1824 default: 1824 default:
1825 dasm_put(Dst, 11441, LJ_TISNUM, LJ_TISNUM); 1825 dasm_put(Dst, 11455, LJ_TISNUM, LJ_TISNUM);
1826 if (sse) { 1826 if (sse) {
1827 dasm_put(Dst, 11661);
1828 } else {
1829 dasm_put(Dst, 11675); 1827 dasm_put(Dst, 11675);
1828 } else {
1829 dasm_put(Dst, 11689);
1830 } 1830 }
1831 break; 1831 break;
1832 } 1832 }
1833 if (sse) { 1833 if (sse) {
1834 dasm_put(Dst, 11239); 1834 dasm_put(Dst, 11253);
1835 } else { 1835 } else {
1836 dasm_put(Dst, 11251); 1836 dasm_put(Dst, 11265);
1837 } 1837 }
1838 dasm_put(Dst, 10821); 1838 dasm_put(Dst, 10835);
1839 break; 1839 break;
1840 case BC_MODVN: 1840 case BC_MODVN:
1841 dasm_put(Dst, 11365); 1841 dasm_put(Dst, 11379);
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, 11373, LJ_TISNUM); 1845 dasm_put(Dst, 11387, LJ_TISNUM);
1846 if (sse) { 1846 if (sse) {
1847 dasm_put(Dst, 11683);
1848 } else {
1849 dasm_put(Dst, 11697); 1847 dasm_put(Dst, 11697);
1848 } else {
1849 dasm_put(Dst, 11711);
1850 } 1850 }
1851 break; 1851 break;
1852 case 1: 1852 case 1:
1853 dasm_put(Dst, 11407, LJ_TISNUM); 1853 dasm_put(Dst, 11421, LJ_TISNUM);
1854 if (sse) { 1854 if (sse) {
1855 dasm_put(Dst, 11705);
1856 } else {
1857 dasm_put(Dst, 11719); 1855 dasm_put(Dst, 11719);
1856 } else {
1857 dasm_put(Dst, 11733);
1858 } 1858 }
1859 break; 1859 break;
1860 default: 1860 default:
1861 dasm_put(Dst, 11441, LJ_TISNUM, LJ_TISNUM); 1861 dasm_put(Dst, 11455, LJ_TISNUM, LJ_TISNUM);
1862 if (sse) { 1862 if (sse) {
1863 dasm_put(Dst, 11727);
1864 } else {
1865 dasm_put(Dst, 11741); 1863 dasm_put(Dst, 11741);
1864 } else {
1865 dasm_put(Dst, 11755);
1866 } 1866 }
1867 break; 1867 break;
1868 } 1868 }
1869 dasm_put(Dst, 11749); 1869 dasm_put(Dst, 11763);
1870 if (sse) { 1870 if (sse) {
1871 dasm_put(Dst, 11239); 1871 dasm_put(Dst, 11253);
1872 } else { 1872 } else {
1873 dasm_put(Dst, 11251); 1873 dasm_put(Dst, 11265);
1874 } 1874 }
1875 dasm_put(Dst, 10821); 1875 dasm_put(Dst, 10835);
1876 break; 1876 break;
1877 case BC_MODNV: case BC_MODVV: 1877 case BC_MODNV: case BC_MODVV:
1878 dasm_put(Dst, 11365); 1878 dasm_put(Dst, 11379);
1879 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1879 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1880 switch (vk) { 1880 switch (vk) {
1881 case 0: 1881 case 0:
1882 dasm_put(Dst, 11373, LJ_TISNUM); 1882 dasm_put(Dst, 11387, LJ_TISNUM);
1883 if (sse) { 1883 if (sse) {
1884 dasm_put(Dst, 11683);
1885 } else {
1886 dasm_put(Dst, 11697); 1884 dasm_put(Dst, 11697);
1885 } else {
1886 dasm_put(Dst, 11711);
1887 } 1887 }
1888 break; 1888 break;
1889 case 1: 1889 case 1:
1890 dasm_put(Dst, 11407, LJ_TISNUM); 1890 dasm_put(Dst, 11421, LJ_TISNUM);
1891 if (sse) { 1891 if (sse) {
1892 dasm_put(Dst, 11705);
1893 } else {
1894 dasm_put(Dst, 11719); 1892 dasm_put(Dst, 11719);
1893 } else {
1894 dasm_put(Dst, 11733);
1895 } 1895 }
1896 break; 1896 break;
1897 default: 1897 default:
1898 dasm_put(Dst, 11441, LJ_TISNUM, LJ_TISNUM); 1898 dasm_put(Dst, 11455, LJ_TISNUM, LJ_TISNUM);
1899 if (sse) { 1899 if (sse) {
1900 dasm_put(Dst, 11727);
1901 } else {
1902 dasm_put(Dst, 11741); 1900 dasm_put(Dst, 11741);
1901 } else {
1902 dasm_put(Dst, 11755);
1903 } 1903 }
1904 break; 1904 break;
1905 } 1905 }
1906 dasm_put(Dst, 11755); 1906 dasm_put(Dst, 11769);
1907 break; 1907 break;
1908 case BC_POW: 1908 case BC_POW:
1909 dasm_put(Dst, 11365); 1909 dasm_put(Dst, 11379);
1910 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1910 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1911 switch (vk) { 1911 switch (vk) {
1912 case 0: 1912 case 0:
1913 dasm_put(Dst, 11373, LJ_TISNUM); 1913 dasm_put(Dst, 11387, LJ_TISNUM);
1914 if (sse) { 1914 if (sse) {
1915 dasm_put(Dst, 11683);
1916 } else {
1917 dasm_put(Dst, 11697); 1915 dasm_put(Dst, 11697);
1916 } else {
1917 dasm_put(Dst, 11711);
1918 } 1918 }
1919 break; 1919 break;
1920 case 1: 1920 case 1:
1921 dasm_put(Dst, 11407, LJ_TISNUM); 1921 dasm_put(Dst, 11421, LJ_TISNUM);
1922 if (sse) { 1922 if (sse) {
1923 dasm_put(Dst, 11705);
1924 } else {
1925 dasm_put(Dst, 11719); 1923 dasm_put(Dst, 11719);
1924 } else {
1925 dasm_put(Dst, 11733);
1926 } 1926 }
1927 break; 1927 break;
1928 default: 1928 default:
1929 dasm_put(Dst, 11441, LJ_TISNUM, LJ_TISNUM); 1929 dasm_put(Dst, 11455, LJ_TISNUM, LJ_TISNUM);
1930 if (sse) { 1930 if (sse) {
1931 dasm_put(Dst, 11727);
1932 } else {
1933 dasm_put(Dst, 11741); 1931 dasm_put(Dst, 11741);
1932 } else {
1933 dasm_put(Dst, 11755);
1934 } 1934 }
1935 break; 1935 break;
1936 } 1936 }
1937 dasm_put(Dst, 11760); 1937 dasm_put(Dst, 11774);
1938 if (sse) { 1938 if (sse) {
1939 dasm_put(Dst, 11239); 1939 dasm_put(Dst, 11253);
1940 } else { 1940 } else {
1941 dasm_put(Dst, 11251); 1941 dasm_put(Dst, 11265);
1942 } 1942 }
1943 dasm_put(Dst, 10821); 1943 dasm_put(Dst, 10835);
1944 break; 1944 break;
1945 1945
1946 case BC_CAT: 1946 case BC_CAT:
1947 dasm_put(Dst, 11764, Dt1(->base), Dt1(->base)); 1947 dasm_put(Dst, 11778, Dt1(->base), Dt1(->base));
1948 break; 1948 break;
1949 1949
1950 /* -- Constant ops ------------------------------------------------------ */ 1950 /* -- Constant ops ------------------------------------------------------ */
1951 1951
1952 case BC_KSTR: 1952 case BC_KSTR:
1953 dasm_put(Dst, 11858, LJ_TSTR); 1953 dasm_put(Dst, 11872, LJ_TSTR);
1954 break; 1954 break;
1955 case BC_KSHORT: 1955 case BC_KSHORT:
1956 if (sse) { 1956 if (sse) {
1957 dasm_put(Dst, 11891); 1957 dasm_put(Dst, 11905);
1958 } else { 1958 } else {
1959 dasm_put(Dst, 11906); 1959 dasm_put(Dst, 11920);
1960 } 1960 }
1961 dasm_put(Dst, 10821); 1961 dasm_put(Dst, 10835);
1962 break; 1962 break;
1963 case BC_KNUM: 1963 case BC_KNUM:
1964 if (sse) { 1964 if (sse) {
1965 dasm_put(Dst, 11914); 1965 dasm_put(Dst, 11928);
1966 } else { 1966 } else {
1967 dasm_put(Dst, 11927); 1967 dasm_put(Dst, 11941);
1968 } 1968 }
1969 dasm_put(Dst, 10821); 1969 dasm_put(Dst, 10835);
1970 break; 1970 break;
1971 case BC_KPRI: 1971 case BC_KPRI:
1972 dasm_put(Dst, 11934); 1972 dasm_put(Dst, 11948);
1973 break; 1973 break;
1974 case BC_KNIL: 1974 case BC_KNIL:
1975 dasm_put(Dst, 11960, LJ_TNIL); 1975 dasm_put(Dst, 11974, LJ_TNIL);
1976 break; 1976 break;
1977 1977
1978 /* -- Upvalue and function ops ------------------------------------------ */ 1978 /* -- Upvalue and function ops ------------------------------------------ */
1979 1979
1980 case BC_UGET: 1980 case BC_UGET:
1981 dasm_put(Dst, 12006, offsetof(GCfuncL, uvptr), DtA(->v)); 1981 dasm_put(Dst, 12020, offsetof(GCfuncL, uvptr), DtA(->v));
1982 break; 1982 break;
1983 case BC_USETV: 1983 case BC_USETV:
1984#define TV2MARKOFS \ 1984#define TV2MARKOFS \
1985 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 1985 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1986 dasm_put(Dst, 12050, 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); 1986 dasm_put(Dst, 12064, 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);
1987 dasm_put(Dst, 12140); 1987 dasm_put(Dst, 12154);
1988 break; 1988 break;
1989#undef TV2MARKOFS 1989#undef TV2MARKOFS
1990 case BC_USETS: 1990 case BC_USETS:
1991 dasm_put(Dst, 12152, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 1991 dasm_put(Dst, 12166, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1992 break; 1992 break;
1993 case BC_USETN: 1993 case BC_USETN:
1994 dasm_put(Dst, 12243); 1994 dasm_put(Dst, 12257);
1995 if (sse) { 1995 if (sse) {
1996 dasm_put(Dst, 12248); 1996 dasm_put(Dst, 12262);
1997 } else { 1997 } else {
1998 dasm_put(Dst, 11058); 1998 dasm_put(Dst, 11072);
1999 } 1999 }
2000 dasm_put(Dst, 12255, offsetof(GCfuncL, uvptr), DtA(->v)); 2000 dasm_put(Dst, 12269, offsetof(GCfuncL, uvptr), DtA(->v));
2001 if (sse) { 2001 if (sse) {
2002 dasm_put(Dst, 12264); 2002 dasm_put(Dst, 12278);
2003 } else { 2003 } else {
2004 dasm_put(Dst, 12270); 2004 dasm_put(Dst, 12284);
2005 } 2005 }
2006 dasm_put(Dst, 10821); 2006 dasm_put(Dst, 10835);
2007 break; 2007 break;
2008 case BC_USETP: 2008 case BC_USETP:
2009 dasm_put(Dst, 12273, offsetof(GCfuncL, uvptr), DtA(->v)); 2009 dasm_put(Dst, 12287, offsetof(GCfuncL, uvptr), DtA(->v));
2010 break; 2010 break;
2011 case BC_UCLO: 2011 case BC_UCLO:
2012 dasm_put(Dst, 12310, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2012 dasm_put(Dst, 12324, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2013 break; 2013 break;
2014 2014
2015 case BC_FNEW: 2015 case BC_FNEW:
2016 dasm_put(Dst, 12364, Dt1(->base), Dt1(->base), LJ_TFUNC); 2016 dasm_put(Dst, 12378, Dt1(->base), Dt1(->base), LJ_TFUNC);
2017 break; 2017 break;
2018 2018
2019 /* -- Table ops --------------------------------------------------------- */ 2019 /* -- Table ops --------------------------------------------------------- */
2020 2020
2021 case BC_TNEW: 2021 case BC_TNEW:
2022 dasm_put(Dst, 12435, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2022 dasm_put(Dst, 12449, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2023 break; 2023 break;
2024 case BC_TDUP: 2024 case BC_TDUP:
2025 dasm_put(Dst, 12556, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2025 dasm_put(Dst, 12570, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2026 break; 2026 break;
2027 2027
2028 case BC_GGET: 2028 case BC_GGET:
2029 dasm_put(Dst, 12648, Dt7(->env)); 2029 dasm_put(Dst, 12662, Dt7(->env));
2030 break; 2030 break;
2031 case BC_GSET: 2031 case BC_GSET:
2032 dasm_put(Dst, 12666, Dt7(->env)); 2032 dasm_put(Dst, 12680, Dt7(->env));
2033 break; 2033 break;
2034 2034
2035 case BC_TGETV: 2035 case BC_TGETV:
2036 dasm_put(Dst, 12684, LJ_TTAB, LJ_TISNUM); 2036 dasm_put(Dst, 12698, LJ_TTAB, LJ_TISNUM);
2037 if (sse) { 2037 if (sse) {
2038 dasm_put(Dst, 12717); 2038 dasm_put(Dst, 12731);
2039 } else { 2039 } else {
2040 dasm_put(Dst, 12738); 2040 dasm_put(Dst, 12752);
2041 if (cmov) { 2041 if (cmov) {
2042 dasm_put(Dst, 10784); 2042 dasm_put(Dst, 10798);
2043 } else { 2043 } else {
2044 dasm_put(Dst, 10790); 2044 dasm_put(Dst, 10804);
2045 } 2045 }
2046 dasm_put(Dst, 2524); 2046 dasm_put(Dst, 2524);
2047 } 2047 }
2048 dasm_put(Dst, 12748, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2048 dasm_put(Dst, 12762, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2049 dasm_put(Dst, 12840, LJ_TSTR); 2049 dasm_put(Dst, 12854, LJ_TSTR);
2050 break; 2050 break;
2051 case BC_TGETS: 2051 case BC_TGETS:
2052 dasm_put(Dst, 12858, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2052 dasm_put(Dst, 12872, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2053 dasm_put(Dst, 12942, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2053 dasm_put(Dst, 12956, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2054 break; 2054 break;
2055 case BC_TGETB: 2055 case BC_TGETB:
2056 dasm_put(Dst, 13013, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2056 dasm_put(Dst, 13027, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2057 dasm_put(Dst, 11355); 2057 dasm_put(Dst, 11369);
2058 break; 2058 break;
2059 2059
2060 case BC_TSETV: 2060 case BC_TSETV:
2061 dasm_put(Dst, 13112, LJ_TTAB, LJ_TISNUM); 2061 dasm_put(Dst, 13126, LJ_TTAB, LJ_TISNUM);
2062 if (sse) { 2062 if (sse) {
2063 dasm_put(Dst, 12717); 2063 dasm_put(Dst, 12731);
2064 } else { 2064 } else {
2065 dasm_put(Dst, 12738); 2065 dasm_put(Dst, 12752);
2066 if (cmov) { 2066 if (cmov) {
2067 dasm_put(Dst, 10784); 2067 dasm_put(Dst, 10798);
2068 } else { 2068 } else {
2069 dasm_put(Dst, 10790); 2069 dasm_put(Dst, 10804);
2070 } 2070 }
2071 dasm_put(Dst, 2524); 2071 dasm_put(Dst, 2524);
2072 } 2072 }
2073 dasm_put(Dst, 13145, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 2073 dasm_put(Dst, 13159, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
2074 dasm_put(Dst, 13228, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2074 dasm_put(Dst, 13242, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2075 break; 2075 break;
2076 case BC_TSETS: 2076 case BC_TSETS:
2077 dasm_put(Dst, 13290, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2077 dasm_put(Dst, 13304, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2078 dasm_put(Dst, 13365, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2078 dasm_put(Dst, 13379, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2079 dasm_put(Dst, 13457, 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)); 2079 dasm_put(Dst, 13471, 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));
2080 break; 2080 break;
2081 case BC_TSETB: 2081 case BC_TSETB:
2082 dasm_put(Dst, 13553, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2082 dasm_put(Dst, 13567, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2083 dasm_put(Dst, 13651, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2083 dasm_put(Dst, 13665, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2084 break; 2084 break;
2085 2085
2086 case BC_TSETM: 2086 case BC_TSETM:
2087 dasm_put(Dst, 13697); 2087 dasm_put(Dst, 13711);
2088 if (sse) { 2088 if (sse) {
2089 dasm_put(Dst, 13702); 2089 dasm_put(Dst, 13716);
2090 } else { 2090 } else {
2091 dasm_put(Dst, 13709); 2091 dasm_put(Dst, 13723);
2092 } 2092 }
2093 dasm_put(Dst, 13721, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2093 dasm_put(Dst, 13735, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2094 dasm_put(Dst, 13863, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2094 dasm_put(Dst, 13877, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2095 break; 2095 break;
2096 2096
2097 /* -- Calls and vararg handling ----------------------------------------- */ 2097 /* -- Calls and vararg handling ----------------------------------------- */
2098 2098
2099 case BC_CALL: case BC_CALLM: 2099 case BC_CALL: case BC_CALLM:
2100 dasm_put(Dst, 11369); 2100 dasm_put(Dst, 11383);
2101 if (op == BC_CALLM) { 2101 if (op == BC_CALLM) {
2102 dasm_put(Dst, 13881); 2102 dasm_put(Dst, 13895);
2103 } 2103 }
2104 dasm_put(Dst, 13886, LJ_TFUNC, Dt7(->pc)); 2104 dasm_put(Dst, 13900, LJ_TFUNC, Dt7(->pc));
2105 break; 2105 break;
2106 2106
2107 case BC_CALLMT: 2107 case BC_CALLMT:
2108 dasm_put(Dst, 13881); 2108 dasm_put(Dst, 13895);
2109 break; 2109 break;
2110 case BC_CALLT: 2110 case BC_CALLT:
2111 dasm_put(Dst, 13927, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2111 dasm_put(Dst, 13941, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2112 dasm_put(Dst, 14045, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); 2112 dasm_put(Dst, 14059, FRAME_TYPE, Dt7(->pc), PC2PROTO(k));
2113 break; 2113 break;
2114 2114
2115 case BC_ITERC: 2115 case BC_ITERC:
2116 dasm_put(Dst, 14102, LJ_TFUNC, 2+1, Dt7(->pc)); 2116 dasm_put(Dst, 14116, LJ_TFUNC, 2+1, Dt7(->pc));
2117 break; 2117 break;
2118 2118
2119 case BC_VARG: 2119 case BC_VARG:
2120 dasm_put(Dst, 14182, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); 2120 dasm_put(Dst, 14196, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL);
2121 dasm_put(Dst, 14326, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2121 dasm_put(Dst, 14340, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2122 break; 2122 break;
2123 2123
2124 /* -- Returns ----------------------------------------------------------- */ 2124 /* -- Returns ----------------------------------------------------------- */
2125 2125
2126 case BC_RETM: 2126 case BC_RETM:
2127 dasm_put(Dst, 13881); 2127 dasm_put(Dst, 13895);
2128 break; 2128 break;
2129 2129
2130 case BC_RET: case BC_RET0: case BC_RET1: 2130 case BC_RET: case BC_RET0: case BC_RET1:
2131 if (op != BC_RET0) { 2131 if (op != BC_RET0) {
2132 dasm_put(Dst, 14425); 2132 dasm_put(Dst, 14439);
2133 } 2133 }
2134 dasm_put(Dst, 14429, FRAME_TYPE); 2134 dasm_put(Dst, 14443, FRAME_TYPE);
2135 switch (op) { 2135 switch (op) {
2136 case BC_RET: 2136 case BC_RET:
2137 dasm_put(Dst, 14448); 2137 dasm_put(Dst, 14462);
2138 break; 2138 break;
2139 case BC_RET1: 2139 case BC_RET1:
2140 dasm_put(Dst, 14506); 2140 dasm_put(Dst, 14520);
2141 /* fallthrough */ 2141 /* fallthrough */
2142 case BC_RET0: 2142 case BC_RET0:
2143 dasm_put(Dst, 14522); 2143 dasm_put(Dst, 14536);
2144 default: 2144 default:
2145 break; 2145 break;
2146 } 2146 }
2147 dasm_put(Dst, 14533, Dt7(->pc), PC2PROTO(k)); 2147 dasm_put(Dst, 14547, Dt7(->pc), PC2PROTO(k));
2148 if (op == BC_RET) { 2148 if (op == BC_RET) {
2149 dasm_put(Dst, 14575, LJ_TNIL); 2149 dasm_put(Dst, 14589, LJ_TNIL);
2150 } else { 2150 } else {
2151 dasm_put(Dst, 14584, LJ_TNIL); 2151 dasm_put(Dst, 14598, LJ_TNIL);
2152 } 2152 }
2153 dasm_put(Dst, 14591); 2153 dasm_put(Dst, 14605);
2154 if (op != BC_RET0) { 2154 if (op != BC_RET0) {
2155 dasm_put(Dst, 14612); 2155 dasm_put(Dst, 14626);
2156 } 2156 }
2157 dasm_put(Dst, 4680); 2157 dasm_put(Dst, 4680);
2158 break; 2158 break;
@@ -2162,7 +2162,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2162 2162
2163 case BC_FORL: 2163 case BC_FORL:
2164#if LJ_HASJIT 2164#if LJ_HASJIT
2165 dasm_put(Dst, 14616, HOTCOUNT_PCMASK, GG_DISP2HOT); 2165 dasm_put(Dst, 14630, HOTCOUNT_PCMASK, GG_DISP2HOT);
2166#endif 2166#endif
2167 break; 2167 break;
2168 2168
@@ -2174,57 +2174,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2174 case BC_FORI: 2174 case BC_FORI:
2175 case BC_IFORL: 2175 case BC_IFORL:
2176 vk = (op == BC_IFORL || op == BC_JFORL); 2176 vk = (op == BC_IFORL || op == BC_JFORL);
2177 dasm_put(Dst, 14637); 2177 dasm_put(Dst, 14651);
2178 if (!vk) { 2178 if (!vk) {
2179 dasm_put(Dst, 14641, LJ_TISNUM, LJ_TISNUM); 2179 dasm_put(Dst, 14655, LJ_TISNUM, LJ_TISNUM);
2180 } 2180 }
2181 dasm_put(Dst, 14660); 2181 dasm_put(Dst, 14674);
2182 if (!vk) { 2182 if (!vk) {
2183 dasm_put(Dst, 14664, LJ_TISNUM); 2183 dasm_put(Dst, 14678, LJ_TISNUM);
2184 } 2184 }
2185 if (sse) { 2185 if (sse) {
2186 dasm_put(Dst, 14673); 2186 dasm_put(Dst, 14687);
2187 if (vk) { 2187 if (vk) {
2188 dasm_put(Dst, 14685); 2188 dasm_put(Dst, 14699);
2189 } else { 2189 } else {
2190 dasm_put(Dst, 14704); 2190 dasm_put(Dst, 14718);
2191 } 2191 }
2192 dasm_put(Dst, 14709); 2192 dasm_put(Dst, 14723);
2193 } else { 2193 } else {
2194 dasm_put(Dst, 14722); 2194 dasm_put(Dst, 14736);
2195 if (vk) { 2195 if (vk) {
2196 dasm_put(Dst, 14728); 2196 dasm_put(Dst, 14742);
2197 } else { 2197 } else {
2198 dasm_put(Dst, 14744); 2198 dasm_put(Dst, 14758);
2199 } 2199 }
2200 dasm_put(Dst, 14752); 2200 dasm_put(Dst, 14766);
2201 if (cmov) { 2201 if (cmov) {
2202 dasm_put(Dst, 10784); 2202 dasm_put(Dst, 10798);
2203 } else { 2203 } else {
2204 dasm_put(Dst, 10790); 2204 dasm_put(Dst, 10804);
2205 } 2205 }
2206 if (!cmov) { 2206 if (!cmov) {
2207 dasm_put(Dst, 14757); 2207 dasm_put(Dst, 14771);
2208 } 2208 }
2209 } 2209 }
2210 if (op == BC_FORI) { 2210 if (op == BC_FORI) {
2211 dasm_put(Dst, 14763, -BCBIAS_J*4); 2211 dasm_put(Dst, 14777, -BCBIAS_J*4);
2212 } else if (op == BC_JFORI) { 2212 } else if (op == BC_JFORI) {
2213 dasm_put(Dst, 14773, -BCBIAS_J*4, BC_JLOOP); 2213 dasm_put(Dst, 14787, -BCBIAS_J*4, BC_JLOOP);
2214 } else if (op == BC_IFORL) { 2214 } else if (op == BC_IFORL) {
2215 dasm_put(Dst, 14787, -BCBIAS_J*4); 2215 dasm_put(Dst, 14801, -BCBIAS_J*4);
2216 } else { 2216 } else {
2217 dasm_put(Dst, 14783, BC_JLOOP); 2217 dasm_put(Dst, 14797, BC_JLOOP);
2218 } 2218 }
2219 dasm_put(Dst, 10819); 2219 dasm_put(Dst, 10833);
2220 if (sse) { 2220 if (sse) {
2221 dasm_put(Dst, 14797); 2221 dasm_put(Dst, 14811);
2222 } 2222 }
2223 break; 2223 break;
2224 2224
2225 case BC_ITERL: 2225 case BC_ITERL:
2226#if LJ_HASJIT 2226#if LJ_HASJIT
2227 dasm_put(Dst, 14616, HOTCOUNT_PCMASK, GG_DISP2HOT); 2227 dasm_put(Dst, 14630, HOTCOUNT_PCMASK, GG_DISP2HOT);
2228#endif 2228#endif
2229 break; 2229 break;
2230 2230
@@ -2233,33 +2233,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2233 break; 2233 break;
2234#endif 2234#endif
2235 case BC_IITERL: 2235 case BC_IITERL:
2236 dasm_put(Dst, 14808, LJ_TNIL); 2236 dasm_put(Dst, 14822, LJ_TNIL);
2237 if (op == BC_JITERL) { 2237 if (op == BC_JITERL) {
2238 dasm_put(Dst, 14823, BC_JLOOP); 2238 dasm_put(Dst, 14837, BC_JLOOP);
2239 } else { 2239 } else {
2240 dasm_put(Dst, 14837, -BCBIAS_J*4); 2240 dasm_put(Dst, 14851, -BCBIAS_J*4);
2241 } 2241 }
2242 dasm_put(Dst, 11116); 2242 dasm_put(Dst, 11130);
2243 break; 2243 break;
2244 2244
2245 case BC_LOOP: 2245 case BC_LOOP:
2246#if LJ_HASJIT 2246#if LJ_HASJIT
2247 dasm_put(Dst, 14616, HOTCOUNT_PCMASK, GG_DISP2HOT); 2247 dasm_put(Dst, 14630, HOTCOUNT_PCMASK, GG_DISP2HOT);
2248#endif 2248#endif
2249 break; 2249 break;
2250 2250
2251 case BC_ILOOP: 2251 case BC_ILOOP:
2252 dasm_put(Dst, 10821); 2252 dasm_put(Dst, 10835);
2253 break; 2253 break;
2254 2254
2255 case BC_JLOOP: 2255 case BC_JLOOP:
2256#if LJ_HASJIT 2256#if LJ_HASJIT
2257 dasm_put(Dst, 14853, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2257 dasm_put(Dst, 14867, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2258#endif 2258#endif
2259 break; 2259 break;
2260 2260
2261 case BC_JMP: 2261 case BC_JMP:
2262 dasm_put(Dst, 14876, -BCBIAS_J*4); 2262 dasm_put(Dst, 14890, -BCBIAS_J*4);
2263 break; 2263 break;
2264 2264
2265 /* -- Function headers -------------------------------------------------- */ 2265 /* -- Function headers -------------------------------------------------- */
@@ -2273,7 +2273,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2273 2273
2274 case BC_FUNCF: 2274 case BC_FUNCF:
2275#if LJ_HASJIT 2275#if LJ_HASJIT
2276 dasm_put(Dst, 14900, HOTCOUNT_PCMASK, GG_DISP2HOT); 2276 dasm_put(Dst, 14914, HOTCOUNT_PCMASK, GG_DISP2HOT);
2277#endif 2277#endif
2278 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2278 case BC_FUNCV: /* NYI: compiled vararg functions. */
2279 break; 2279 break;
@@ -2283,47 +2283,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2283 break; 2283 break;
2284#endif 2284#endif
2285 case BC_IFUNCF: 2285 case BC_IFUNCF:
2286 dasm_put(Dst, 14921, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2286 dasm_put(Dst, 14935, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2287 if (op == BC_JFUNCF) { 2287 if (op == BC_JFUNCF) {
2288 dasm_put(Dst, 14951, BC_JLOOP); 2288 dasm_put(Dst, 14965, BC_JLOOP);
2289 } else { 2289 } else {
2290 dasm_put(Dst, 10821); 2290 dasm_put(Dst, 10835);
2291 } 2291 }
2292 dasm_put(Dst, 14960, LJ_TNIL); 2292 dasm_put(Dst, 14974, LJ_TNIL);
2293 break; 2293 break;
2294 2294
2295 case BC_JFUNCV: 2295 case BC_JFUNCV:
2296#if !LJ_HASJIT 2296#if !LJ_HASJIT
2297 break; 2297 break;
2298#endif 2298#endif
2299 dasm_put(Dst, 10482); 2299 dasm_put(Dst, 10496);
2300 break; /* NYI: compiled vararg functions. */ 2300 break; /* NYI: compiled vararg functions. */
2301 2301
2302 case BC_IFUNCV: 2302 case BC_IFUNCV:
2303 dasm_put(Dst, 14982, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2303 dasm_put(Dst, 14996, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2304 if (op == BC_JFUNCV) { 2304 if (op == BC_JFUNCV) {
2305 dasm_put(Dst, 14951, BC_JLOOP); 2305 dasm_put(Dst, 14965, BC_JLOOP);
2306 } else { 2306 } else {
2307 dasm_put(Dst, 15073, -4+PC2PROTO(k)); 2307 dasm_put(Dst, 15087, -4+PC2PROTO(k));
2308 } 2308 }
2309 dasm_put(Dst, 15095, LJ_TNIL); 2309 dasm_put(Dst, 15109, LJ_TNIL);
2310 break; 2310 break;
2311 2311
2312 case BC_FUNCC: 2312 case BC_FUNCC:
2313 case BC_FUNCCW: 2313 case BC_FUNCCW:
2314 dasm_put(Dst, 15117, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2314 dasm_put(Dst, 15131, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2315 if (op == BC_FUNCC) { 2315 if (op == BC_FUNCC) {
2316 dasm_put(Dst, 15146); 2316 dasm_put(Dst, 15160);
2317 } else { 2317 } else {
2318 dasm_put(Dst, 15150); 2318 dasm_put(Dst, 15164);
2319 } 2319 }
2320 dasm_put(Dst, 15158, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2320 dasm_put(Dst, 15172, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2321 if (op == BC_FUNCC) { 2321 if (op == BC_FUNCC) {
2322 dasm_put(Dst, 15167); 2322 dasm_put(Dst, 15181);
2323 } else { 2323 } else {
2324 dasm_put(Dst, 15171, DISPATCH_GL(wrapf)); 2324 dasm_put(Dst, 15185, DISPATCH_GL(wrapf));
2325 } 2325 }
2326 dasm_put(Dst, 15176, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2326 dasm_put(Dst, 15190, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2327 break; 2327 break;
2328 2328
2329 /* ---------------------------------------------------------------------- */ 2329 /* ---------------------------------------------------------------------- */
@@ -2351,7 +2351,7 @@ static int build_backend(BuildCtx *ctx)
2351 2351
2352 build_subroutines(ctx, cmov, sse); 2352 build_subroutines(ctx, cmov, sse);
2353 2353
2354 dasm_put(Dst, 15201); 2354 dasm_put(Dst, 15215);
2355 for (op = 0; op < BC__MAX; op++) 2355 for (op = 0; op < BC__MAX; op++)
2356 build_ins(ctx, (BCOp)op, op, cmov, sse); 2356 build_ins(ctx, (BCOp)op, op, cmov, sse);
2357 2357