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