summaryrefslogtreecommitdiff
path: root/src/buildvm_x86.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/buildvm_x86.h1025
1 files changed, 514 insertions, 511 deletions
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h
index dc7e64c6..cc1ac38d 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[15151] = { 15static const unsigned char build_actionlist[15167] = {
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,
@@ -399,187 +399,188 @@ static const unsigned char build_actionlist[15151] = {
399 139,133,233,41,208,193,232,3,131,192,1,139,108,36,16,85,195,248,136,255,15, 399 139,133,233,41,208,193,232,3,131,192,1,139,108,36,16,85,195,248,136,255,15,
400 182,131,233,168,235,15,133,244,251,168,235,15,133,244,247,168,235,15,132, 400 182,131,233,168,235,15,133,244,251,168,235,15,133,244,247,168,235,15,132,
401 244,247,252,255,139,233,252,233,244,247,255,248,137,15,182,131,233,168,235, 401 244,247,252,255,139,233,252,233,244,247,255,248,137,15,182,131,233,168,235,
402 15,133,244,251,168,235,15,132,244,251,252,255,139,233,15,132,244,247,168, 402 15,133,244,251,252,233,244,247,248,138,15,182,131,233,168,235,15,133,244,
403 235,15,132,244,251,248,1,139,108,36,48,137,149,233,137,252,242,137,252,233, 403 251,168,235,15,132,244,251,252,255,139,233,15,132,244,247,168,235,15,132,
404 232,251,1,20,248,3,139,149,233,248,4,15,182,78,252,253,248,5,255,15,182,110, 404 244,251,248,1,255,139,108,36,48,137,149,233,137,252,242,137,252,233,232,251,
405 252,252,15,183,70,252,254,252,255,164,253,171,233,248,138,131,198,4,139,77, 405 1,20,248,3,139,149,233,248,4,15,182,78,252,253,248,5,15,182,110,252,252,15,
406 232,137,76,36,20,252,233,244,4,248,139,255,139,106,252,248,139,173,233,15, 406 183,70,252,254,252,255,164,253,171,233,248,139,131,198,4,139,77,232,137,76,
407 182,133,233,141,4,194,139,108,36,48,137,149,233,137,133,233,137,252,242,141, 407 36,20,252,233,244,4,248,140,255,139,106,252,248,139,173,233,15,182,133,233,
408 139,233,137,171,233,137,116,36,24,232,251,1,21,252,233,244,3,255,248,140, 408 141,4,194,139,108,36,48,137,149,233,137,133,233,137,252,242,141,139,233,137,
409 255,199,131,233,0,0,0,0,252,233,244,247,255,248,141,255,137,171,233,248,1, 409 171,233,137,116,36,24,232,251,1,21,252,233,244,3,255,248,141,255,199,131,
410 255,141,68,194,252,248,139,108,36,48,137,149,233,137,133,233,137,252,242, 410 233,0,0,0,0,252,233,244,247,255,248,142,255,137,171,233,248,1,255,141,68,
411 137,252,233,137,116,36,24,232,251,1,22,199,68,36,24,0,0,0,0,139,149,233,137, 411 194,252,248,139,108,36,48,137,149,233,137,133,233,137,252,242,137,252,233,
412 193,139,133,233,41,208,137,205,15,182,78,252,253,193,232,3,131,192,1,252, 412 137,116,36,24,232,251,1,22,199,68,36,24,0,0,0,0,139,149,233,137,193,139,133,
413 255,229,248,142,255,85,141,108,36,12,85,83,82,81,80,15,182,69,252,252,138, 413 233,41,208,137,205,15,182,78,252,253,193,232,3,131,192,1,252,255,229,248,
414 101,252,248,137,125,252,252,137,117,252,248,139,93,0,139,139,233,199,131, 414 143,255,85,141,108,36,12,85,83,82,81,80,15,182,69,252,252,138,101,252,248,
415 233,237,137,131,233,137,139,233,129,252,236,239,252,247,131,233,237,15,132, 415 137,125,252,252,137,117,252,248,139,93,0,139,139,233,199,131,233,237,137,
416 244,247,252,242,15,17,125,216,252,242,15,17,117,208,252,242,15,17,109,200, 416 131,233,137,139,233,129,252,236,239,252,247,131,233,237,15,132,244,247,252,
417 252,242,15,17,101,192,252,242,15,17,93,184,252,242,15,17,85,176,252,242,15, 417 242,15,17,125,216,252,242,15,17,117,208,252,242,15,17,109,200,252,242,15,
418 17,77,168,252,242,15,17,69,160,248,1,139,171,233,139,147,233,137,171,233, 418 17,101,192,252,242,15,17,93,184,252,242,15,17,85,176,252,242,15,17,77,168,
419 137,149,233,141,84,36,16,141,139,233,232,251,1,23,137,196,139,149,233,139, 419 252,242,15,17,69,160,248,1,139,171,233,139,147,233,137,171,233,137,149,233,
420 116,36,24,137,108,36,48,255,248,143,255,139,122,252,248,139,191,233,139,191, 420 141,84,36,16,141,139,233,232,251,1,23,137,196,139,149,233,139,116,36,24,137,
421 233,199,131,233,0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198, 421 108,36,48,255,248,144,255,139,122,252,248,139,191,233,139,191,233,199,131,
422 4,193,232,16,252,255,36,171,255,248,82,255,217,124,36,4,137,68,36,8,102,184, 422 233,0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,
423 0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217, 423 16,252,255,36,171,255,248,82,255,217,124,36,4,137,68,36,8,102,184,0,4,102,
424 252,252,217,108,36,4,139,68,36,8,195,255,248,144,102,15,252,239,210,102,15, 424 11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,
425 118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15, 425 217,108,36,4,139,68,36,8,195,255,248,145,102,15,252,239,210,102,15,118,210,
426 40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15, 426 102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,
427 88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240,63,102,15,110,208, 427 102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,
428 102,15,112,210,81,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15, 428 252,242,15,92,203,102,15,86,202,184,0,0,252,240,63,102,15,110,208,102,15,
429 40,193,248,1,195,248,84,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68, 429 112,210,81,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,193,
430 36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217, 430 248,1,195,248,84,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,
431 108,36,4,139,68,36,8,195,255,248,145,102,15,252,239,210,102,15,118,210,102, 431 102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,
432 15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102, 432 4,139,68,36,8,195,255,248,146,102,15,252,239,210,102,15,118,210,102,15,115,
433 15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252, 433 210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,
434 242,15,92,203,102,15,86,202,184,0,0,252,240,191,102,15,110,208,102,15,112, 434 202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,
435 210,81,252,242,15,194,193,6,102,15,84,194,252,242,15,92,200,15,40,193,248, 435 15,92,203,102,15,86,202,184,0,0,252,240,191,102,15,110,208,102,15,112,210,
436 1,195,248,104,255,217,124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102, 436 81,252,242,15,194,193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,
437 137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248, 437 248,104,255,217,124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,
438 146,102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102, 438 68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,147,
439 15,110,216,102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134, 439 102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,
440 244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,184,0, 440 216,102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,
441 0,252,240,63,102,15,110,216,102,15,112,219,81,252,242,15,194,193,1,102,15, 441 102,15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,184,0,0,252,240,
442 84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,1,195,248,147,255,15, 442 63,102,15,110,216,102,15,112,219,81,252,242,15,194,193,1,102,15,84,195,252,
443 40,232,252,242,15,94,193,102,15,252,239,210,102,15,118,210,102,15,115,210, 443 242,15,92,200,102,15,86,202,15,40,193,248,1,195,248,148,255,15,40,232,252,
444 1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,224,102,15,84,226, 444 242,15,94,193,102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,
445 102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242,15,92, 445 48,67,102,15,110,216,102,15,112,219,81,15,40,224,102,15,84,226,102,15,46,
446 227,102,15,86,226,184,0,0,252,240,63,102,15,110,208,102,15,112,210,81,252, 446 220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242,15,92,227,102,
447 242,15,194,196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89, 447 15,86,226,184,0,0,252,240,63,102,15,110,208,102,15,112,210,81,252,242,15,
448 204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92, 448 194,196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,
449 193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102, 449 242,15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,
450 37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4, 450 255,217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,
451 222,201,222,252,233,195,255,248,88,217,252,234,222,201,248,148,217,84,36, 451 255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,
452 4,129,124,36,4,0,0,128,127,15,132,244,247,129,124,36,4,0,0,128,252,255,15, 452 222,252,233,195,255,248,88,217,252,234,222,201,248,149,217,84,36,4,129,124,
453 132,244,248,248,149,217,192,217,252,252,220,252,233,217,201,217,252,240,217, 453 36,4,0,0,128,127,15,132,244,247,129,124,36,4,0,0,128,252,255,15,132,244,248,
454 232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195,255, 454 248,150,217,192,217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,
455 248,107,219,84,36,4,219,68,36,4,255,223,252,233,255,221,252,233,223,224,158, 455 217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195,255,248,107,219,
456 255,15,133,244,254,15,138,244,255,221,216,139,68,36,4,131,252,248,1,15,142, 456 84,36,4,219,68,36,4,255,223,252,233,255,221,252,233,223,224,158,255,15,133,
457 244,252,248,1,169,1,0,0,0,15,133,244,248,216,200,209,232,252,233,244,1,248, 457 244,254,15,138,244,255,221,216,139,68,36,4,131,252,248,1,15,142,244,252,248,
458 2,209,232,15,132,244,251,217,192,248,3,216,200,209,232,15,132,244,250,15, 458 1,169,1,0,0,0,15,133,244,248,216,200,209,232,252,233,244,1,248,2,209,232,
459 131,244,3,220,201,252,233,244,3,248,4,255,222,201,248,5,195,248,6,15,132, 459 15,132,244,251,217,192,248,3,216,200,209,232,15,132,244,250,15,131,244,3,
460 244,5,15,130,244,253,217,232,222,252,241,252,247,216,131,252,248,1,15,132, 460 220,201,252,233,244,3,248,4,255,222,201,248,5,195,248,6,15,132,244,5,15,130,
461 244,5,252,233,244,1,248,7,221,216,217,232,195,248,8,217,84,36,4,217,201,217, 461 244,253,217,232,222,252,241,252,247,216,131,252,248,1,15,132,244,5,252,233,
462 84,36,8,139,68,36,4,209,224,61,0,0,0,252,255,15,132,244,248,139,68,36,8,209, 462 244,1,248,7,221,216,217,232,195,248,8,217,84,36,4,217,201,217,84,36,8,139,
463 224,15,132,244,250,61,0,0,0,252,255,15,132,244,250,217,252,241,252,233,244, 463 68,36,4,209,224,61,0,0,0,252,255,15,132,244,248,139,68,36,8,209,224,15,132,
464 149,248,9,255,217,232,255,223,252,234,255,221,252,234,223,224,158,255,15, 464 244,250,61,0,0,0,252,255,15,132,244,250,217,252,241,252,233,244,150,248,9,
465 132,244,247,217,201,248,1,221,216,195,248,2,217,225,217,232,255,15,132,244, 465 255,217,232,255,223,252,234,255,221,252,234,223,224,158,255,15,132,244,247,
466 249,221,216,217,225,217,252,238,184,0,0,0,0,15,146,208,209,200,51,68,36,4, 466 217,201,248,1,221,216,195,248,2,217,225,217,232,255,15,132,244,249,221,216,
467 15,137,244,249,217,201,248,3,221,217,217,225,195,248,4,131,124,36,4,0,15, 467 217,225,217,252,238,184,0,0,0,0,15,146,208,209,200,51,68,36,4,15,137,244,
468 141,244,3,221,216,221,216,133,192,15,132,244,251,217,252,238,195,248,5,199, 468 249,217,201,248,3,221,217,217,225,195,248,4,131,124,36,4,0,15,141,244,3,221,
469 68,36,4,0,0,128,127,217,68,36,4,195,255,248,107,255,248,150,252,242,15,45, 469 216,221,216,133,192,15,132,244,251,217,252,238,195,248,5,199,68,36,4,0,0,
470 193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138,244,255,248,151, 470 128,127,217,68,36,4,195,255,248,107,255,248,151,252,242,15,45,193,252,242,
471 131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15, 471 15,42,208,102,15,46,202,15,133,244,254,15,138,244,255,248,152,131,252,248,
472 89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251,15,40,200,248,3, 472 1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,
473 252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255,252,242,15,89,200, 473 252,233,244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,
474 252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,130, 474 192,209,232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,
475 244,253,80,184,0,0,252,240,63,102,15,110,200,102,15,112,201,81,252,242,15, 475 3,248,4,252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,80,
476 94,200,88,15,40,193,252,247,216,131,252,248,1,15,132,244,5,252,233,244,1, 476 184,0,0,252,240,63,102,15,110,200,102,15,112,201,81,252,242,15,94,200,88,
477 248,7,184,0,0,252,240,63,102,15,110,192,102,15,112,192,81,195,248,8,252,242, 477 15,40,193,252,247,216,131,252,248,1,15,132,244,5,252,233,244,1,248,7,184,
478 15,17,76,36,12,252,242,15,17,68,36,4,131,124,36,12,0,15,133,244,247,139,68, 478 0,0,252,240,63,102,15,110,192,102,15,112,192,81,195,248,8,252,242,15,17,76,
479 36,16,209,224,61,0,0,224,252,255,15,132,244,248,248,1,255,131,124,36,4,0, 479 36,12,252,242,15,17,68,36,4,131,124,36,12,0,15,133,244,247,139,68,36,16,209,
480 15,133,244,247,139,68,36,8,209,224,15,132,244,250,61,0,0,224,252,255,15,132, 480 224,61,0,0,224,252,255,15,132,244,248,248,1,255,131,124,36,4,0,15,133,244,
481 244,251,248,1,221,68,36,12,221,68,36,4,217,252,241,217,192,217,252,252,220, 481 247,139,68,36,8,209,224,15,132,244,250,61,0,0,224,252,255,15,132,244,251,
482 252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,221,92,36, 482 248,1,221,68,36,12,221,68,36,4,217,252,241,217,192,217,252,252,220,252,233,
483 4,252,242,15,16,68,36,4,195,248,9,184,0,0,252,240,63,102,15,110,208,102,15, 483 217,201,217,252,240,217,232,222,193,217,252,253,221,217,221,92,36,4,252,242,
484 112,210,81,102,15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,102,15, 484 15,16,68,36,4,195,248,9,184,0,0,252,240,63,102,15,110,208,102,15,112,210,
485 252,239,210,102,15,118,210,102,15,115,210,1,102,15,84,194,184,0,0,252,240, 485 81,102,15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,102,15,252,239,
486 63,102,15,110,208,102,15,112,210,81,102,15,46,194,15,132,244,1,102,15,80, 486 210,102,15,118,210,102,15,115,210,1,102,15,84,194,184,0,0,252,240,63,102,
487 193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,184,0,0,252,240, 487 15,110,208,102,15,112,210,81,102,15,46,194,15,132,244,1,102,15,80,193,15,
488 127,102,15,110,192,102,15,112,192,81,195,248,4,102,15,80,193,133,192,15,133, 488 87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,184,0,0,252,240,127,102,
489 244,3,255,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192, 489 15,110,192,102,15,112,192,81,195,248,4,102,15,80,193,133,192,15,133,244,3,
490 195,248,152,255,139,68,36,12,252,242,15,16,68,36,4,131,252,248,1,15,132,244, 490 255,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,
491 247,15,135,244,248,232,244,82,252,233,244,253,248,1,232,244,84,252,233,244, 491 248,153,255,139,68,36,12,252,242,15,16,68,36,4,131,252,248,1,15,132,244,247,
492 253,248,2,131,252,248,3,15,132,244,247,15,135,244,248,232,244,104,255,252, 492 15,135,244,248,232,244,82,252,233,244,253,248,1,232,244,84,252,233,244,253,
493 233,244,253,248,1,252,242,15,81,192,248,7,252,242,15,17,68,36,4,221,68,36, 493 248,2,131,252,248,3,15,132,244,247,15,135,244,248,232,244,104,255,252,233,
494 4,195,248,2,221,68,36,4,131,252,248,5,15,130,244,88,15,132,244,148,248,2, 494 244,253,248,1,252,242,15,81,192,248,7,252,242,15,17,68,36,4,221,68,36,4,195,
495 131,252,248,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241, 495 248,2,221,68,36,4,131,252,248,5,15,130,244,88,15,132,244,149,248,2,131,252,
496 195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132,244, 496 248,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,
497 247,15,135,244,248,255,217,252,236,217,201,217,252,241,195,248,1,217,252, 497 1,217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,15,135,
498 254,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255,195, 498 244,248,255,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,
499 248,1,217,252,242,221,216,195,255,139,68,36,12,221,68,36,4,131,252,248,1,
500 15,130,244,82,15,132,244,84,131,252,248,3,15,130,244,104,15,135,244,248,217,
501 252,250,195,248,2,131,252,248,5,15,130,244,88,15,132,244,148,131,252,248,
502 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,
503 217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,255,15,
504 135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,
505 2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217, 499 2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,
506 252,242,221,216,195,255,248,9,204,248,153,255,139,68,36,20,252,242,15,16, 500 252,242,221,216,195,255,139,68,36,12,221,68,36,4,131,252,248,1,15,130,244,
507 68,36,4,252,242,15,16,76,36,12,131,252,248,1,15,132,244,247,15,135,244,248, 501 82,15,132,244,84,131,252,248,3,15,130,244,104,15,135,244,248,217,252,250,
508 252,242,15,88,193,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,1,252,242, 502 195,248,2,131,252,248,5,15,130,244,88,15,132,244,149,131,252,248,7,15,132,
509 15,92,193,252,233,244,7,248,2,131,252,248,3,15,132,244,247,15,135,244,248, 503 244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,217,232,
510 252,242,15,89,193,252,233,244,7,248,1,252,242,15,94,193,252,233,244,7,248, 504 217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,255,15,135,244,
511 2,131,252,248,5,15,132,244,247,255,15,135,244,248,232,244,147,252,233,244, 505 248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,
512 7,248,1,90,232,244,107,82,252,233,244,7,248,2,131,252,248,7,15,132,244,247, 506 248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,
513 15,135,244,248,184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252, 507 216,195,255,248,9,204,248,154,255,139,68,36,20,252,242,15,16,68,36,4,252,
514 233,244,7,248,1,102,15,252,239,201,102,15,118,201,102,15,115,209,1,15,84, 508 242,15,16,76,36,12,131,252,248,1,15,132,244,247,15,135,244,248,252,242,15,
515 193,252,233,244,7,248,2,255,131,252,248,9,15,135,244,248,221,68,36,4,221, 509 88,193,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,1,252,242,15,92,193,
516 68,36,12,15,132,244,247,217,252,243,195,248,1,217,201,217,252,253,221,217, 510 252,233,244,7,248,2,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15,
517 195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,252,242,15,93,193, 511 89,193,252,233,244,7,248,1,252,242,15,94,193,252,233,244,7,248,2,131,252,
518 252,233,244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204,255,139,68, 512 248,5,15,132,244,247,255,15,135,244,248,232,244,148,252,233,244,7,248,1,90,
519 36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248, 513 232,244,107,82,252,233,244,7,248,2,131,252,248,7,15,132,244,247,15,135,244,
520 222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135, 514 248,184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,233,244,
521 244,248,222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244, 515 7,248,1,102,15,252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,252,
522 147,15,132,244,107,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216, 516 233,244,7,248,2,255,131,252,248,9,15,135,244,248,221,68,36,4,221,68,36,12,
523 217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247, 517 15,132,244,247,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,
524 15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248, 518 2,131,252,248,11,15,132,244,247,15,135,244,255,252,242,15,93,193,252,233,
525 2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,233,219,209,221, 519 244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204,255,139,68,36,20,221,
526 217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,223,224,252,246, 520 68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193,
527 196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,225,223,224,252, 521 195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248,
528 246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,154,156,90,137, 522 222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,148,15,132,
529 209,129,252,242,0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,247,139,68, 523 244,107,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195,
530 36,4,87,83,15,162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248, 524 248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,
531 1,195,255,249,255,129,124,253,202,4,239,15,135,244,41,129,124,253,194,4,239, 525 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,
532 15,135,244,41,255,252,242,15,16,4,194,131,198,4,102,15,46,4,202,255,221,4, 526 15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,
533 202,221,4,194,131,198,4,255,223,252,233,221,216,255,218,252,233,223,224,158, 527 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,
534 255,15,134,244,248,255,15,131,244,248,255,248,1,15,183,70,252,254,141,180, 528 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,
535 253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 529 244,248,217,201,248,2,221,216,195,255,248,155,156,90,137,209,129,252,242,
536 36,171,255,139,108,194,4,131,198,4,129,252,253,239,15,135,244,251,129,124, 530 0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,247,139,68,36,4,87,83,15,
537 253,202,4,239,15,135,244,251,255,252,242,15,16,4,194,102,15,46,4,202,255, 531 162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248,1,195,255,249,
538 221,4,202,221,4,194,255,15,138,244,248,15,133,244,248,255,15,138,244,248, 532 255,129,124,253,202,4,239,15,135,244,41,129,124,253,194,4,239,15,135,244,
539 15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,255, 533 41,255,252,242,15,16,4,194,131,198,4,102,15,46,4,202,255,221,4,202,221,4,
540 248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,248,5,57,108,202,4, 534 194,131,198,4,255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,
541 15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15, 535 134,244,248,255,15,131,244,248,255,248,1,15,183,70,252,254,141,180,253,134,
542 132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244, 536 233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,
543 2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252, 537 255,139,108,194,4,131,198,4,129,252,253,239,15,135,244,251,129,124,253,202,
544 233,244,45,255,252,247,208,131,198,4,129,124,253,202,4,239,15,133,244,248, 538 4,239,15,135,244,251,255,252,242,15,16,4,194,102,15,46,4,202,255,221,4,202,
545 139,12,202,59,12,135,255,131,198,4,129,124,253,202,4,239,15,135,244,248,255, 539 221,4,194,255,15,138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,
546 252,242,15,16,4,199,102,15,46,4,202,255,221,4,202,221,4,199,255,252,247,208, 540 247,255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,255,248,2,15,183,
547 131,198,4,57,68,202,4,255,139,108,194,4,131,198,4,129,252,253,239,255,15, 541 70,252,254,141,180,253,134,233,248,1,255,248,5,57,108,202,4,15,133,244,2,
548 131,244,247,255,15,130,244,247,255,137,108,202,4,139,44,194,137,44,202,255, 542 129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129,
549 15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131, 543 252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133,
550 198,4,193,232,16,252,255,36,171,255,139,108,194,4,139,4,194,137,108,202,4, 544 233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,45,255,
551 137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171, 545 252,247,208,131,198,4,129,124,253,202,4,239,15,133,244,248,139,12,202,59,
552 255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182, 546 12,135,255,131,198,4,129,124,253,202,4,239,15,135,244,248,255,252,242,15,
553 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,129,124,253,194,4, 547 16,4,199,102,15,46,4,202,255,221,4,202,221,4,199,255,252,247,208,131,198,
554 239,15,135,244,48,255,252,242,15,16,4,194,184,0,0,0,128,102,15,110,200,102, 548 4,57,68,202,4,255,139,108,194,4,131,198,4,129,252,253,239,255,15,131,244,
555 15,112,201,81,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28, 549 247,255,15,130,244,247,255,137,108,202,4,139,44,194,137,44,202,255,15,183,
556 202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,15,87,192,252, 550 70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,
557 242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28, 551 4,193,232,16,252,255,36,171,255,139,108,194,4,139,4,194,137,108,202,4,137,
558 202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, 552 4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,
559 2,129,124,253,194,4,239,15,133,244,50,139,12,194,137,213,232,251,1,18,255, 553 49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,
560 252,242,15,42,192,137,252,234,255,137,4,36,137,252,234,219,4,36,255,15,182, 554 15,182,232,131,198,4,193,232,16,252,255,36,171,255,129,124,253,194,4,239,
561 78,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252, 555 15,135,244,48,255,252,242,15,16,4,194,184,0,0,0,128,102,15,110,200,102,15,
562 234,4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255, 556 112,201,81,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,202,
563 221,4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,135,244,47,255,252, 557 255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,15,87,192,252,242,
564 242,15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,129, 558 15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,
565 124,253,252,234,4,239,15,135,244,49,129,124,253,194,4,239,15,135,244,49,255, 559 255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,
566 252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255, 560 129,124,253,194,4,239,15,133,244,50,139,12,194,137,213,232,251,1,18,255,252,
567 252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,234,220,36,199, 561 242,15,42,192,137,252,234,255,137,4,36,137,252,234,219,4,36,255,15,182,78,
568 255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,199,220,36,252, 562 252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,
569 234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,4,252,234,220, 563 4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,
570 36,194,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,4,252,234, 564 4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,135,244,47,255,252,242,
571 220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,221,4,199, 565 15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124,
572 220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,255,221,4, 566 253,252,234,4,239,15,135,244,49,129,124,253,194,4,239,15,135,244,49,255,252,
573 252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4,199,255,221, 567 242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,252,
574 4,252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94,4,252,234,255, 568 242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,
575 221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194, 569 252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,
576 255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,242,15,16,12, 570 255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,
577 199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252,242,15,16,12, 571 194,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,
578 252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15, 572 12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,
579 16,12,194,255,221,4,252,234,221,4,194,255,248,155,232,244,147,255,252,233, 573 12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,
580 244,155,255,232,244,107,255,15,182,252,236,15,182,192,141,12,194,41,232,137, 574 234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4,199,255,221,4,
581 76,36,4,137,68,36,8,248,33,139,108,36,48,137,44,36,137,149,233,137,116,36, 575 252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94,4,252,234,255,221,
582 24,232,251,1,24,139,149,233,133,192,15,133,244,42,15,182,110,252,255,15,182, 576 4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,
577 221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,
578 255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,
579 234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,
580 12,194,255,221,4,252,234,221,4,194,255,248,156,232,244,148,255,252,233,244,
581 156,255,232,244,107,255,15,182,252,236,15,182,192,141,12,194,41,232,137,76,
582 36,4,137,68,36,8,248,33,139,108,36,48,137,44,36,137,149,233,137,116,36,24,
583 232,251,1,24,139,149,233,133,192,15,133,244,42,15,182,110,252,255,15,182,
583 78,252,253,139,68,252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,6, 584 78,252,253,139,68,252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,
584 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,208, 585 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,
585 139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198, 586 139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,
@@ -620,8 +621,8 @@ static const unsigned char build_actionlist[15151] = {
620 252,233,232,251,1,30,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4, 621 252,233,232,251,1,30,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,
621 237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3, 622 237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,
622 137,252,233,232,251,1,29,15,183,70,252,254,252,247,208,252,233,244,2,255, 623 137,252,233,232,251,1,29,15,183,70,252,254,252,247,208,252,233,244,2,255,
623 252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,156,255,252, 624 252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,157,255,252,
624 247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,157,255,15,182, 625 247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,158,255,15,182,
625 252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,44,252,234, 626 252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,
626 129,124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252,242,15,45, 627 129,124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252,242,15,45,
627 192,252,242,15,42,200,102,15,46,193,255,221,4,194,219,20,36,219,4,36,255, 628 192,252,242,15,42,200,102,15,46,193,255,221,4,194,219,20,36,219,4,36,255,
@@ -630,8 +631,8 @@ static const unsigned char build_actionlist[15151] = {
630 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233, 631 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,
631 0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252, 632 0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252,
632 253,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,36,139,4,194, 633 253,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,36,139,4,194,
633 252,233,244,156,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124, 634 252,233,244,157,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,
634 253,252,234,4,239,15,133,244,34,139,44,252,234,248,156,139,141,233,35,136, 635 253,252,234,4,239,15,133,244,34,139,44,252,234,248,157,139,141,233,35,136,
635 233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233, 636 233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233,
636 15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,70,252,253,139,41, 637 15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,70,252,253,139,41,
637 139,73,4,137,44,194,248,2,255,137,76,194,4,139,6,15,182,204,15,182,232,131, 638 139,73,4,137,44,194,248,2,255,137,76,194,4,139,6,15,182,204,15,182,232,131,
@@ -649,10 +650,10 @@ static const unsigned char build_actionlist[15151] = {
649 2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131, 650 2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,
650 198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139,141, 651 198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139,141,
651 233,255,252,246,129,233,235,15,132,244,39,15,182,78,252,253,252,233,244,1, 652 233,255,252,246,129,233,235,15,132,244,39,15,182,78,252,253,252,233,244,1,
652 248,5,129,124,253,194,4,239,15,133,244,39,139,4,194,252,233,244,157,248,7, 653 248,5,129,124,253,194,4,239,15,133,244,39,139,4,194,252,233,244,158,248,7,
653 128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252, 654 128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252,
654 233,244,2,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,253, 655 233,244,2,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,253,
655 252,234,4,239,15,133,244,37,139,44,252,234,248,157,139,141,233,35,136,233, 656 252,234,4,239,15,133,244,37,139,44,252,234,248,158,139,141,233,35,136,233,
656 105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251, 657 105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,
657 57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,252, 658 57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,
658 246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194,4,139, 659 246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194,4,139,
@@ -716,7 +717,7 @@ static const unsigned char build_actionlist[15151] = {
716 248,6,255,199,71,252,252,237,131,199,8,255,199,68,194,252,244,237,255,131, 717 248,6,255,199,71,252,252,237,131,199,8,255,199,68,194,252,244,237,255,131,
717 192,1,252,233,244,5,248,7,15,139,244,14,131,230,252,248,41,252,242,255,1, 718 192,1,252,233,244,5,248,7,15,139,244,14,131,230,252,248,41,252,242,255,1,
718 252,241,255,137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1, 719 252,241,255,137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,
719 15,132,244,139,255,141,12,202,255,129,121,253,4,239,15,135,244,53,129,121, 720 15,132,244,140,255,141,12,202,255,129,121,253,4,239,15,135,244,53,129,121,
720 253,12,239,15,135,244,53,255,139,105,20,255,129,252,253,239,15,135,244,53, 721 253,12,239,15,135,244,53,255,139,105,20,255,129,252,253,239,15,135,244,53,
721 255,252,242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15, 722 255,252,242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,
722 17,1,133,252,237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248, 723 17,1,133,252,237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,
@@ -874,7 +875,8 @@ enum {
874 GLOB_ff_bit_rol, 875 GLOB_ff_bit_rol,
875 GLOB_ff_bit_ror, 876 GLOB_ff_bit_ror,
876 GLOB_vm_record, 877 GLOB_vm_record,
877 GLOB_vm_hook, 878 GLOB_vm_rethook,
879 GLOB_vm_inshook,
878 GLOB_cont_hook, 880 GLOB_cont_hook,
879 GLOB_vm_hotloop, 881 GLOB_vm_hotloop,
880 GLOB_vm_callhook, 882 GLOB_vm_callhook,
@@ -1025,7 +1027,8 @@ static const char *const globnames[] = {
1025 "ff_bit_rol", 1027 "ff_bit_rol",
1026 "ff_bit_ror", 1028 "ff_bit_ror",
1027 "vm_record", 1029 "vm_record",
1028 "vm_hook", 1030 "vm_rethook",
1031 "vm_inshook",
1029 "cont_hook", 1032 "cont_hook",
1030 "vm_hotloop", 1033 "vm_hotloop",
1031 "vm_callhook", 1034 "vm_callhook",
@@ -1431,106 +1434,106 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1431#if LJ_HASJIT 1434#if LJ_HASJIT
1432 dasm_put(Dst, 7963, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1435 dasm_put(Dst, 7963, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1433#endif 1436#endif
1434 dasm_put(Dst, 7994, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE, Dt1(->base), Dt1(->base)); 1437 dasm_put(Dst, 7994, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1435 dasm_put(Dst, 8060, GG_DISP2STATIC); 1438 dasm_put(Dst, 8045, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1436#if LJ_HASJIT 1439#if LJ_HASJIT
1437 dasm_put(Dst, 8095, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1440 dasm_put(Dst, 8111, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1438#endif 1441#endif
1439 dasm_put(Dst, 8141); 1442 dasm_put(Dst, 8157);
1440#if LJ_HASJIT 1443#if LJ_HASJIT
1441 dasm_put(Dst, 8144, DISPATCH_J(L)); 1444 dasm_put(Dst, 8160, DISPATCH_J(L));
1442#endif 1445#endif
1443 dasm_put(Dst, 8156); 1446 dasm_put(Dst, 8172);
1444#if LJ_HASJIT 1447#if LJ_HASJIT
1445 dasm_put(Dst, 8159, DISPATCH_J(L)); 1448 dasm_put(Dst, 8175, DISPATCH_J(L));
1446#endif 1449#endif
1447 dasm_put(Dst, 8165, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 1450 dasm_put(Dst, 8181, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
1448#if LJ_HASJIT 1451#if LJ_HASJIT
1449 dasm_put(Dst, 8231, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, DISPATCH_J(flags), JIT_F_SSE2, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), Dt1(->base), GG_DISP2J, Dt1(->base)); 1452 dasm_put(Dst, 8247, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, DISPATCH_J(flags), JIT_F_SSE2, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), Dt1(->base), GG_DISP2J, Dt1(->base));
1450#endif 1453#endif
1451 dasm_put(Dst, 8374); 1454 dasm_put(Dst, 8390);
1452#if LJ_HASJIT 1455#if LJ_HASJIT
1453 dasm_put(Dst, 8377, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1456 dasm_put(Dst, 8393, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1454#endif 1457#endif
1455 dasm_put(Dst, 8417); 1458 dasm_put(Dst, 8433);
1456 if (!sse) { 1459 if (!sse) {
1457 dasm_put(Dst, 8420); 1460 dasm_put(Dst, 8436);
1458 } 1461 }
1459 dasm_put(Dst, 8465); 1462 dasm_put(Dst, 8481);
1460 if (!sse) { 1463 if (!sse) {
1461 dasm_put(Dst, 8567); 1464 dasm_put(Dst, 8583);
1462 } 1465 }
1463 dasm_put(Dst, 8612); 1466 dasm_put(Dst, 8628);
1464 if (!sse) { 1467 if (!sse) {
1465 dasm_put(Dst, 8714); 1468 dasm_put(Dst, 8730);
1466 } 1469 }
1467 dasm_put(Dst, 8753); 1470 dasm_put(Dst, 8769);
1468 if (sse) { 1471 if (sse) {
1469 dasm_put(Dst, 8858); 1472 dasm_put(Dst, 8874);
1470 } else { 1473 } else {
1471 dasm_put(Dst, 8988); 1474 dasm_put(Dst, 9004);
1472 } 1475 }
1473 dasm_put(Dst, 9035); 1476 dasm_put(Dst, 9051);
1474 if (!sse) { 1477 if (!sse) {
1475 dasm_put(Dst, 9109); 1478 dasm_put(Dst, 9125);
1476 if (cmov) { 1479 if (cmov) {
1477 dasm_put(Dst, 9120); 1480 dasm_put(Dst, 9136);
1478 } else { 1481 } else {
1479 dasm_put(Dst, 9124); 1482 dasm_put(Dst, 9140);
1480 } 1483 }
1481 dasm_put(Dst, 9131); 1484 dasm_put(Dst, 9147);
1482 dasm_put(Dst, 9205); 1485 dasm_put(Dst, 9221);
1483 dasm_put(Dst, 9305); 1486 dasm_put(Dst, 9321);
1484 if (cmov) { 1487 if (cmov) {
1485 dasm_put(Dst, 9308); 1488 dasm_put(Dst, 9324);
1486 } else { 1489 } else {
1487 dasm_put(Dst, 9312); 1490 dasm_put(Dst, 9328);
1488 } 1491 }
1489 dasm_put(Dst, 9319); 1492 dasm_put(Dst, 9335);
1490 if (cmov) { 1493 if (cmov) {
1491 dasm_put(Dst, 9120); 1494 dasm_put(Dst, 9136);
1492 } else { 1495 } else {
1493 dasm_put(Dst, 9124); 1496 dasm_put(Dst, 9140);
1494 } 1497 }
1495 dasm_put(Dst, 9337); 1498 dasm_put(Dst, 9353);
1496 } else { 1499 } else {
1497 dasm_put(Dst, 9416); 1500 dasm_put(Dst, 9432);
1498 } 1501 }
1499 dasm_put(Dst, 9419); 1502 dasm_put(Dst, 9435);
1500 dasm_put(Dst, 9504); 1503 dasm_put(Dst, 9520);
1501 dasm_put(Dst, 9635); 1504 dasm_put(Dst, 9651);
1502 dasm_put(Dst, 9834); 1505 dasm_put(Dst, 9850);
1503 if (sse) { 1506 if (sse) {
1504 dasm_put(Dst, 9857); 1507 dasm_put(Dst, 9873);
1505 dasm_put(Dst, 9914); 1508 dasm_put(Dst, 9930);
1506 dasm_put(Dst, 10005); 1509 dasm_put(Dst, 10021);
1507 } else { 1510 } else {
1508 dasm_put(Dst, 10047); 1511 dasm_put(Dst, 10063);
1509 dasm_put(Dst, 10139); 1512 dasm_put(Dst, 10155);
1510 } 1513 }
1511 dasm_put(Dst, 10185); 1514 dasm_put(Dst, 10201);
1512 if (sse) { 1515 if (sse) {
1513 dasm_put(Dst, 10191); 1516 dasm_put(Dst, 10207);
1514 dasm_put(Dst, 10296); 1517 dasm_put(Dst, 10312);
1515 dasm_put(Dst, 10379); 1518 dasm_put(Dst, 10395);
1516 } else { 1519 } else {
1517 dasm_put(Dst, 10451); 1520 dasm_put(Dst, 10467);
1518 dasm_put(Dst, 10534); 1521 dasm_put(Dst, 10550);
1519 if (cmov) { 1522 if (cmov) {
1520 dasm_put(Dst, 10589); 1523 dasm_put(Dst, 10605);
1521 } else { 1524 } else {
1522 dasm_put(Dst, 10608); 1525 dasm_put(Dst, 10624);
1523 } 1526 }
1524 dasm_put(Dst, 10447); 1527 dasm_put(Dst, 10463);
1525 } 1528 }
1526 dasm_put(Dst, 10649); 1529 dasm_put(Dst, 10665);
1527} 1530}
1528 1531
1529/* Generate the code for a single instruction. */ 1532/* Generate the code for a single instruction. */
1530static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1533static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1531{ 1534{
1532 int vk = 0; 1535 int vk = 0;
1533 dasm_put(Dst, 10703, defop); 1536 dasm_put(Dst, 10719, defop);
1534 1537
1535 switch (op) { 1538 switch (op) {
1536 1539
@@ -1539,617 +1542,617 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1539 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1542 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1540 1543
1541 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1544 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1542 dasm_put(Dst, 10705, LJ_TISNUM, LJ_TISNUM); 1545 dasm_put(Dst, 10721, LJ_TISNUM, LJ_TISNUM);
1543 if (sse) { 1546 if (sse) {
1544 dasm_put(Dst, 10726); 1547 dasm_put(Dst, 10742);
1545 } else { 1548 } else {
1546 dasm_put(Dst, 10741); 1549 dasm_put(Dst, 10757);
1547 if (cmov) { 1550 if (cmov) {
1548 dasm_put(Dst, 10751); 1551 dasm_put(Dst, 10767);
1549 } else { 1552 } else {
1550 dasm_put(Dst, 10757); 1553 dasm_put(Dst, 10773);
1551 } 1554 }
1552 } 1555 }
1553 switch (op) { 1556 switch (op) {
1554 case BC_ISLT: 1557 case BC_ISLT:
1555 dasm_put(Dst, 10764); 1558 dasm_put(Dst, 10780);
1556 break; 1559 break;
1557 case BC_ISGE: 1560 case BC_ISGE:
1558 dasm_put(Dst, 10000); 1561 dasm_put(Dst, 10016);
1559 break; 1562 break;
1560 case BC_ISLE: 1563 case BC_ISLE:
1561 dasm_put(Dst, 6179); 1564 dasm_put(Dst, 6179);
1562 break; 1565 break;
1563 case BC_ISGT: 1566 case BC_ISGT:
1564 dasm_put(Dst, 10769); 1567 dasm_put(Dst, 10785);
1565 break; 1568 break;
1566 default: break; /* Shut up GCC. */ 1569 default: break; /* Shut up GCC. */
1567 } 1570 }
1568 dasm_put(Dst, 10774, -BCBIAS_J*4); 1571 dasm_put(Dst, 10790, -BCBIAS_J*4);
1569 break; 1572 break;
1570 1573
1571 case BC_ISEQV: case BC_ISNEV: 1574 case BC_ISEQV: case BC_ISNEV:
1572 vk = op == BC_ISEQV; 1575 vk = op == BC_ISEQV;
1573 dasm_put(Dst, 10807, LJ_TISNUM, LJ_TISNUM); 1576 dasm_put(Dst, 10823, LJ_TISNUM, LJ_TISNUM);
1574 if (sse) { 1577 if (sse) {
1575 dasm_put(Dst, 10833); 1578 dasm_put(Dst, 10849);
1576 } else { 1579 } else {
1577 dasm_put(Dst, 10845); 1580 dasm_put(Dst, 10861);
1578 if (cmov) { 1581 if (cmov) {
1579 dasm_put(Dst, 10751); 1582 dasm_put(Dst, 10767);
1580 } else { 1583 } else {
1581 dasm_put(Dst, 10757); 1584 dasm_put(Dst, 10773);
1582 } 1585 }
1583 } 1586 }
1584 iseqne_fp: 1587 iseqne_fp:
1585 if (vk) { 1588 if (vk) {
1586 dasm_put(Dst, 10852); 1589 dasm_put(Dst, 10868);
1587 } else { 1590 } else {
1588 dasm_put(Dst, 10861); 1591 dasm_put(Dst, 10877);
1589 } 1592 }
1590 iseqne_end: 1593 iseqne_end:
1591 if (vk) { 1594 if (vk) {
1592 dasm_put(Dst, 10870, -BCBIAS_J*4); 1595 dasm_put(Dst, 10886, -BCBIAS_J*4);
1593 } else { 1596 } else {
1594 dasm_put(Dst, 10885, -BCBIAS_J*4); 1597 dasm_put(Dst, 10901, -BCBIAS_J*4);
1595 } 1598 }
1596 dasm_put(Dst, 8398); 1599 dasm_put(Dst, 8414);
1597 if (op == BC_ISEQV || op == BC_ISNEV) { 1600 if (op == BC_ISEQV || op == BC_ISNEV) {
1598 dasm_put(Dst, 10900, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1601 dasm_put(Dst, 10916, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1599 if (vk) { 1602 if (vk) {
1600 dasm_put(Dst, 10958); 1603 dasm_put(Dst, 10974);
1601 } else { 1604 } else {
1602 dasm_put(Dst, 10962); 1605 dasm_put(Dst, 10978);
1603 } 1606 }
1604 dasm_put(Dst, 10968); 1607 dasm_put(Dst, 10984);
1605 } 1608 }
1606 break; 1609 break;
1607 case BC_ISEQS: case BC_ISNES: 1610 case BC_ISEQS: case BC_ISNES:
1608 vk = op == BC_ISEQS; 1611 vk = op == BC_ISEQS;
1609 dasm_put(Dst, 10973, LJ_TSTR); 1612 dasm_put(Dst, 10989, LJ_TSTR);
1610 iseqne_test: 1613 iseqne_test:
1611 if (vk) { 1614 if (vk) {
1612 dasm_put(Dst, 10856); 1615 dasm_put(Dst, 10872);
1613 } else { 1616 } else {
1614 dasm_put(Dst, 2809); 1617 dasm_put(Dst, 2809);
1615 } 1618 }
1616 goto iseqne_end; 1619 goto iseqne_end;
1617 case BC_ISEQN: case BC_ISNEN: 1620 case BC_ISEQN: case BC_ISNEN:
1618 vk = op == BC_ISEQN; 1621 vk = op == BC_ISEQN;
1619 dasm_put(Dst, 10996, LJ_TISNUM); 1622 dasm_put(Dst, 11012, LJ_TISNUM);
1620 if (sse) { 1623 if (sse) {
1621 dasm_put(Dst, 11010); 1624 dasm_put(Dst, 11026);
1622 } else { 1625 } else {
1623 dasm_put(Dst, 11022); 1626 dasm_put(Dst, 11038);
1624 if (cmov) { 1627 if (cmov) {
1625 dasm_put(Dst, 10751); 1628 dasm_put(Dst, 10767);
1626 } else { 1629 } else {
1627 dasm_put(Dst, 10757); 1630 dasm_put(Dst, 10773);
1628 } 1631 }
1629 } 1632 }
1630 goto iseqne_fp; 1633 goto iseqne_fp;
1631 case BC_ISEQP: case BC_ISNEP: 1634 case BC_ISEQP: case BC_ISNEP:
1632 vk = op == BC_ISEQP; 1635 vk = op == BC_ISEQP;
1633 dasm_put(Dst, 11029); 1636 dasm_put(Dst, 11045);
1634 goto iseqne_test; 1637 goto iseqne_test;
1635 1638
1636 /* -- Unary test and copy ops ------------------------------------------- */ 1639 /* -- Unary test and copy ops ------------------------------------------- */
1637 1640
1638 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1641 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1639 dasm_put(Dst, 11040, LJ_TISTRUECOND); 1642 dasm_put(Dst, 11056, LJ_TISTRUECOND);
1640 if (op == BC_IST || op == BC_ISTC) { 1643 if (op == BC_IST || op == BC_ISTC) {
1641 dasm_put(Dst, 11052); 1644 dasm_put(Dst, 11068);
1642 } else { 1645 } else {
1643 dasm_put(Dst, 11057); 1646 dasm_put(Dst, 11073);
1644 } 1647 }
1645 if (op == BC_ISTC || op == BC_ISFC) { 1648 if (op == BC_ISTC || op == BC_ISFC) {
1646 dasm_put(Dst, 11062); 1649 dasm_put(Dst, 11078);
1647 } 1650 }
1648 dasm_put(Dst, 11073, -BCBIAS_J*4); 1651 dasm_put(Dst, 11089, -BCBIAS_J*4);
1649 break; 1652 break;
1650 1653
1651 /* -- Unary ops --------------------------------------------------------- */ 1654 /* -- Unary ops --------------------------------------------------------- */
1652 1655
1653 case BC_MOV: 1656 case BC_MOV:
1654 dasm_put(Dst, 11104); 1657 dasm_put(Dst, 11120);
1655 break; 1658 break;
1656 case BC_NOT: 1659 case BC_NOT:
1657 dasm_put(Dst, 11137, LJ_TISTRUECOND, LJ_TTRUE); 1660 dasm_put(Dst, 11153, LJ_TISTRUECOND, LJ_TTRUE);
1658 break; 1661 break;
1659 case BC_UNM: 1662 case BC_UNM:
1660 dasm_put(Dst, 11172, LJ_TISNUM); 1663 dasm_put(Dst, 11188, LJ_TISNUM);
1661 if (sse) { 1664 if (sse) {
1662 dasm_put(Dst, 11183); 1665 dasm_put(Dst, 11199);
1663 } else { 1666 } else {
1664 dasm_put(Dst, 11213); 1667 dasm_put(Dst, 11229);
1665 } 1668 }
1666 dasm_put(Dst, 8398); 1669 dasm_put(Dst, 8414);
1667 break; 1670 break;
1668 case BC_LEN: 1671 case BC_LEN:
1669 dasm_put(Dst, 11222, LJ_TSTR); 1672 dasm_put(Dst, 11238, LJ_TSTR);
1670 if (sse) { 1673 if (sse) {
1671 dasm_put(Dst, 11236, Dt5(->len)); 1674 dasm_put(Dst, 11252, Dt5(->len));
1672 } else { 1675 } else {
1673 dasm_put(Dst, 11254, Dt5(->len)); 1676 dasm_put(Dst, 11270, Dt5(->len));
1674 } 1677 }
1675 dasm_put(Dst, 11263, LJ_TTAB); 1678 dasm_put(Dst, 11279, LJ_TTAB);
1676 if (sse) { 1679 if (sse) {
1677 dasm_put(Dst, 11303); 1680 dasm_put(Dst, 11319);
1678 } else { 1681 } else {
1679 dasm_put(Dst, 11312); 1682 dasm_put(Dst, 11328);
1680 } 1683 }
1681 dasm_put(Dst, 11322); 1684 dasm_put(Dst, 11338);
1682 break; 1685 break;
1683 1686
1684 /* -- Binary ops -------------------------------------------------------- */ 1687 /* -- Binary ops -------------------------------------------------------- */
1685 1688
1686 1689
1687 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1690 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1688 dasm_put(Dst, 11332); 1691 dasm_put(Dst, 11348);
1689 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1692 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1690 switch (vk) { 1693 switch (vk) {
1691 case 0: 1694 case 0:
1692 dasm_put(Dst, 11340, LJ_TISNUM); 1695 dasm_put(Dst, 11356, LJ_TISNUM);
1693 if (sse) { 1696 if (sse) {
1694 dasm_put(Dst, 11352); 1697 dasm_put(Dst, 11368);
1695 } else { 1698 } else {
1696 dasm_put(Dst, 11366); 1699 dasm_put(Dst, 11382);
1697 } 1700 }
1698 break; 1701 break;
1699 case 1: 1702 case 1:
1700 dasm_put(Dst, 11374, LJ_TISNUM); 1703 dasm_put(Dst, 11390, LJ_TISNUM);
1701 if (sse) { 1704 if (sse) {
1702 dasm_put(Dst, 11386); 1705 dasm_put(Dst, 11402);
1703 } else { 1706 } else {
1704 dasm_put(Dst, 11400); 1707 dasm_put(Dst, 11416);
1705 } 1708 }
1706 break; 1709 break;
1707 default: 1710 default:
1708 dasm_put(Dst, 11408, LJ_TISNUM, LJ_TISNUM); 1711 dasm_put(Dst, 11424, LJ_TISNUM, LJ_TISNUM);
1709 if (sse) { 1712 if (sse) {
1710 dasm_put(Dst, 11430); 1713 dasm_put(Dst, 11446);
1711 } else { 1714 } else {
1712 dasm_put(Dst, 11444); 1715 dasm_put(Dst, 11460);
1713 } 1716 }
1714 break; 1717 break;
1715 } 1718 }
1716 if (sse) { 1719 if (sse) {
1717 dasm_put(Dst, 11206); 1720 dasm_put(Dst, 11222);
1718 } else { 1721 } else {
1719 dasm_put(Dst, 11218); 1722 dasm_put(Dst, 11234);
1720 } 1723 }
1721 dasm_put(Dst, 8398); 1724 dasm_put(Dst, 8414);
1722 break; 1725 break;
1723 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1726 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1724 dasm_put(Dst, 11332); 1727 dasm_put(Dst, 11348);
1725 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1728 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1726 switch (vk) { 1729 switch (vk) {
1727 case 0: 1730 case 0:
1728 dasm_put(Dst, 11340, LJ_TISNUM); 1731 dasm_put(Dst, 11356, LJ_TISNUM);
1729 if (sse) { 1732 if (sse) {
1730 dasm_put(Dst, 11452); 1733 dasm_put(Dst, 11468);
1731 } else { 1734 } else {
1732 dasm_put(Dst, 11466); 1735 dasm_put(Dst, 11482);
1733 } 1736 }
1734 break; 1737 break;
1735 case 1: 1738 case 1:
1736 dasm_put(Dst, 11374, LJ_TISNUM); 1739 dasm_put(Dst, 11390, LJ_TISNUM);
1737 if (sse) { 1740 if (sse) {
1738 dasm_put(Dst, 11474); 1741 dasm_put(Dst, 11490);
1739 } else { 1742 } else {
1740 dasm_put(Dst, 11488); 1743 dasm_put(Dst, 11504);
1741 } 1744 }
1742 break; 1745 break;
1743 default: 1746 default:
1744 dasm_put(Dst, 11408, LJ_TISNUM, LJ_TISNUM); 1747 dasm_put(Dst, 11424, LJ_TISNUM, LJ_TISNUM);
1745 if (sse) { 1748 if (sse) {
1746 dasm_put(Dst, 11496); 1749 dasm_put(Dst, 11512);
1747 } else { 1750 } else {
1748 dasm_put(Dst, 11510); 1751 dasm_put(Dst, 11526);
1749 } 1752 }
1750 break; 1753 break;
1751 } 1754 }
1752 if (sse) { 1755 if (sse) {
1753 dasm_put(Dst, 11206); 1756 dasm_put(Dst, 11222);
1754 } else { 1757 } else {
1755 dasm_put(Dst, 11218); 1758 dasm_put(Dst, 11234);
1756 } 1759 }
1757 dasm_put(Dst, 8398); 1760 dasm_put(Dst, 8414);
1758 break; 1761 break;
1759 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1762 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1760 dasm_put(Dst, 11332); 1763 dasm_put(Dst, 11348);
1761 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1764 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1762 switch (vk) { 1765 switch (vk) {
1763 case 0: 1766 case 0:
1764 dasm_put(Dst, 11340, LJ_TISNUM); 1767 dasm_put(Dst, 11356, LJ_TISNUM);
1765 if (sse) { 1768 if (sse) {
1766 dasm_put(Dst, 11518); 1769 dasm_put(Dst, 11534);
1767 } else { 1770 } else {
1768 dasm_put(Dst, 11532); 1771 dasm_put(Dst, 11548);
1769 } 1772 }
1770 break; 1773 break;
1771 case 1: 1774 case 1:
1772 dasm_put(Dst, 11374, LJ_TISNUM); 1775 dasm_put(Dst, 11390, LJ_TISNUM);
1773 if (sse) { 1776 if (sse) {
1774 dasm_put(Dst, 11540); 1777 dasm_put(Dst, 11556);
1775 } else { 1778 } else {
1776 dasm_put(Dst, 11554); 1779 dasm_put(Dst, 11570);
1777 } 1780 }
1778 break; 1781 break;
1779 default: 1782 default:
1780 dasm_put(Dst, 11408, LJ_TISNUM, LJ_TISNUM); 1783 dasm_put(Dst, 11424, LJ_TISNUM, LJ_TISNUM);
1781 if (sse) { 1784 if (sse) {
1782 dasm_put(Dst, 11562); 1785 dasm_put(Dst, 11578);
1783 } else { 1786 } else {
1784 dasm_put(Dst, 11576); 1787 dasm_put(Dst, 11592);
1785 } 1788 }
1786 break; 1789 break;
1787 } 1790 }
1788 if (sse) { 1791 if (sse) {
1789 dasm_put(Dst, 11206); 1792 dasm_put(Dst, 11222);
1790 } else { 1793 } else {
1791 dasm_put(Dst, 11218); 1794 dasm_put(Dst, 11234);
1792 } 1795 }
1793 dasm_put(Dst, 8398); 1796 dasm_put(Dst, 8414);
1794 break; 1797 break;
1795 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1798 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1796 dasm_put(Dst, 11332); 1799 dasm_put(Dst, 11348);
1797 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1800 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1798 switch (vk) { 1801 switch (vk) {
1799 case 0: 1802 case 0:
1800 dasm_put(Dst, 11340, LJ_TISNUM); 1803 dasm_put(Dst, 11356, LJ_TISNUM);
1801 if (sse) { 1804 if (sse) {
1802 dasm_put(Dst, 11584); 1805 dasm_put(Dst, 11600);
1803 } else { 1806 } else {
1804 dasm_put(Dst, 11598); 1807 dasm_put(Dst, 11614);
1805 } 1808 }
1806 break; 1809 break;
1807 case 1: 1810 case 1:
1808 dasm_put(Dst, 11374, LJ_TISNUM); 1811 dasm_put(Dst, 11390, LJ_TISNUM);
1809 if (sse) { 1812 if (sse) {
1810 dasm_put(Dst, 11606); 1813 dasm_put(Dst, 11622);
1811 } else { 1814 } else {
1812 dasm_put(Dst, 11620); 1815 dasm_put(Dst, 11636);
1813 } 1816 }
1814 break; 1817 break;
1815 default: 1818 default:
1816 dasm_put(Dst, 11408, LJ_TISNUM, LJ_TISNUM); 1819 dasm_put(Dst, 11424, LJ_TISNUM, LJ_TISNUM);
1817 if (sse) { 1820 if (sse) {
1818 dasm_put(Dst, 11628); 1821 dasm_put(Dst, 11644);
1819 } else { 1822 } else {
1820 dasm_put(Dst, 11642); 1823 dasm_put(Dst, 11658);
1821 } 1824 }
1822 break; 1825 break;
1823 } 1826 }
1824 if (sse) { 1827 if (sse) {
1825 dasm_put(Dst, 11206); 1828 dasm_put(Dst, 11222);
1826 } else { 1829 } else {
1827 dasm_put(Dst, 11218); 1830 dasm_put(Dst, 11234);
1828 } 1831 }
1829 dasm_put(Dst, 8398); 1832 dasm_put(Dst, 8414);
1830 break; 1833 break;
1831 case BC_MODVN: 1834 case BC_MODVN:
1832 dasm_put(Dst, 11332); 1835 dasm_put(Dst, 11348);
1833 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1836 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1834 switch (vk) { 1837 switch (vk) {
1835 case 0: 1838 case 0:
1836 dasm_put(Dst, 11340, LJ_TISNUM); 1839 dasm_put(Dst, 11356, LJ_TISNUM);
1837 if (sse) { 1840 if (sse) {
1838 dasm_put(Dst, 11650); 1841 dasm_put(Dst, 11666);
1839 } else { 1842 } else {
1840 dasm_put(Dst, 11664); 1843 dasm_put(Dst, 11680);
1841 } 1844 }
1842 break; 1845 break;
1843 case 1: 1846 case 1:
1844 dasm_put(Dst, 11374, LJ_TISNUM); 1847 dasm_put(Dst, 11390, LJ_TISNUM);
1845 if (sse) { 1848 if (sse) {
1846 dasm_put(Dst, 11672); 1849 dasm_put(Dst, 11688);
1847 } else { 1850 } else {
1848 dasm_put(Dst, 11686); 1851 dasm_put(Dst, 11702);
1849 } 1852 }
1850 break; 1853 break;
1851 default: 1854 default:
1852 dasm_put(Dst, 11408, LJ_TISNUM, LJ_TISNUM); 1855 dasm_put(Dst, 11424, LJ_TISNUM, LJ_TISNUM);
1853 if (sse) { 1856 if (sse) {
1854 dasm_put(Dst, 11694); 1857 dasm_put(Dst, 11710);
1855 } else { 1858 } else {
1856 dasm_put(Dst, 11708); 1859 dasm_put(Dst, 11724);
1857 } 1860 }
1858 break; 1861 break;
1859 } 1862 }
1860 dasm_put(Dst, 11716); 1863 dasm_put(Dst, 11732);
1861 if (sse) { 1864 if (sse) {
1862 dasm_put(Dst, 11206); 1865 dasm_put(Dst, 11222);
1863 } else { 1866 } else {
1864 dasm_put(Dst, 11218); 1867 dasm_put(Dst, 11234);
1865 } 1868 }
1866 dasm_put(Dst, 8398); 1869 dasm_put(Dst, 8414);
1867 break; 1870 break;
1868 case BC_MODNV: case BC_MODVV: 1871 case BC_MODNV: case BC_MODVV:
1869 dasm_put(Dst, 11332); 1872 dasm_put(Dst, 11348);
1870 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1873 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1871 switch (vk) { 1874 switch (vk) {
1872 case 0: 1875 case 0:
1873 dasm_put(Dst, 11340, LJ_TISNUM); 1876 dasm_put(Dst, 11356, LJ_TISNUM);
1874 if (sse) { 1877 if (sse) {
1875 dasm_put(Dst, 11650); 1878 dasm_put(Dst, 11666);
1876 } else { 1879 } else {
1877 dasm_put(Dst, 11664); 1880 dasm_put(Dst, 11680);
1878 } 1881 }
1879 break; 1882 break;
1880 case 1: 1883 case 1:
1881 dasm_put(Dst, 11374, LJ_TISNUM); 1884 dasm_put(Dst, 11390, LJ_TISNUM);
1882 if (sse) { 1885 if (sse) {
1883 dasm_put(Dst, 11672); 1886 dasm_put(Dst, 11688);
1884 } else { 1887 } else {
1885 dasm_put(Dst, 11686); 1888 dasm_put(Dst, 11702);
1886 } 1889 }
1887 break; 1890 break;
1888 default: 1891 default:
1889 dasm_put(Dst, 11408, LJ_TISNUM, LJ_TISNUM); 1892 dasm_put(Dst, 11424, LJ_TISNUM, LJ_TISNUM);
1890 if (sse) { 1893 if (sse) {
1891 dasm_put(Dst, 11694); 1894 dasm_put(Dst, 11710);
1892 } else { 1895 } else {
1893 dasm_put(Dst, 11708); 1896 dasm_put(Dst, 11724);
1894 } 1897 }
1895 break; 1898 break;
1896 } 1899 }
1897 dasm_put(Dst, 11722); 1900 dasm_put(Dst, 11738);
1898 break; 1901 break;
1899 case BC_POW: 1902 case BC_POW:
1900 dasm_put(Dst, 11332); 1903 dasm_put(Dst, 11348);
1901 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1904 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1902 switch (vk) { 1905 switch (vk) {
1903 case 0: 1906 case 0:
1904 dasm_put(Dst, 11340, LJ_TISNUM); 1907 dasm_put(Dst, 11356, LJ_TISNUM);
1905 if (sse) { 1908 if (sse) {
1906 dasm_put(Dst, 11650); 1909 dasm_put(Dst, 11666);
1907 } else { 1910 } else {
1908 dasm_put(Dst, 11664); 1911 dasm_put(Dst, 11680);
1909 } 1912 }
1910 break; 1913 break;
1911 case 1: 1914 case 1:
1912 dasm_put(Dst, 11374, LJ_TISNUM); 1915 dasm_put(Dst, 11390, LJ_TISNUM);
1913 if (sse) { 1916 if (sse) {
1914 dasm_put(Dst, 11672); 1917 dasm_put(Dst, 11688);
1915 } else { 1918 } else {
1916 dasm_put(Dst, 11686); 1919 dasm_put(Dst, 11702);
1917 } 1920 }
1918 break; 1921 break;
1919 default: 1922 default:
1920 dasm_put(Dst, 11408, LJ_TISNUM, LJ_TISNUM); 1923 dasm_put(Dst, 11424, LJ_TISNUM, LJ_TISNUM);
1921 if (sse) { 1924 if (sse) {
1922 dasm_put(Dst, 11694); 1925 dasm_put(Dst, 11710);
1923 } else { 1926 } else {
1924 dasm_put(Dst, 11708); 1927 dasm_put(Dst, 11724);
1925 } 1928 }
1926 break; 1929 break;
1927 } 1930 }
1928 dasm_put(Dst, 11727); 1931 dasm_put(Dst, 11743);
1929 if (sse) { 1932 if (sse) {
1930 dasm_put(Dst, 11206); 1933 dasm_put(Dst, 11222);
1931 } else { 1934 } else {
1932 dasm_put(Dst, 11218); 1935 dasm_put(Dst, 11234);
1933 } 1936 }
1934 dasm_put(Dst, 8398); 1937 dasm_put(Dst, 8414);
1935 break; 1938 break;
1936 1939
1937 case BC_CAT: 1940 case BC_CAT:
1938 dasm_put(Dst, 11731, Dt1(->base), Dt1(->base)); 1941 dasm_put(Dst, 11747, Dt1(->base), Dt1(->base));
1939 break; 1942 break;
1940 1943
1941 /* -- Constant ops ------------------------------------------------------ */ 1944 /* -- Constant ops ------------------------------------------------------ */
1942 1945
1943 case BC_KSTR: 1946 case BC_KSTR:
1944 dasm_put(Dst, 11825, LJ_TSTR); 1947 dasm_put(Dst, 11841, LJ_TSTR);
1945 break; 1948 break;
1946 case BC_KSHORT: 1949 case BC_KSHORT:
1947 if (sse) { 1950 if (sse) {
1948 dasm_put(Dst, 11858); 1951 dasm_put(Dst, 11874);
1949 } else { 1952 } else {
1950 dasm_put(Dst, 11873); 1953 dasm_put(Dst, 11889);
1951 } 1954 }
1952 dasm_put(Dst, 8398); 1955 dasm_put(Dst, 8414);
1953 break; 1956 break;
1954 case BC_KNUM: 1957 case BC_KNUM:
1955 if (sse) { 1958 if (sse) {
1956 dasm_put(Dst, 11881); 1959 dasm_put(Dst, 11897);
1957 } else { 1960 } else {
1958 dasm_put(Dst, 11894); 1961 dasm_put(Dst, 11910);
1959 } 1962 }
1960 dasm_put(Dst, 8398); 1963 dasm_put(Dst, 8414);
1961 break; 1964 break;
1962 case BC_KPRI: 1965 case BC_KPRI:
1963 dasm_put(Dst, 11901); 1966 dasm_put(Dst, 11917);
1964 break; 1967 break;
1965 case BC_KNIL: 1968 case BC_KNIL:
1966 dasm_put(Dst, 11927, LJ_TNIL); 1969 dasm_put(Dst, 11943, LJ_TNIL);
1967 break; 1970 break;
1968 1971
1969 /* -- Upvalue and function ops ------------------------------------------ */ 1972 /* -- Upvalue and function ops ------------------------------------------ */
1970 1973
1971 case BC_UGET: 1974 case BC_UGET:
1972 dasm_put(Dst, 11973, offsetof(GCfuncL, uvptr), DtA(->v)); 1975 dasm_put(Dst, 11989, offsetof(GCfuncL, uvptr), DtA(->v));
1973 break; 1976 break;
1974 case BC_USETV: 1977 case BC_USETV:
1975#define TV2MARKOFS \ 1978#define TV2MARKOFS \
1976 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 1979 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1977 dasm_put(Dst, 12017, 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); 1980 dasm_put(Dst, 12033, 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);
1978 dasm_put(Dst, 12107); 1981 dasm_put(Dst, 12123);
1979 break; 1982 break;
1980#undef TV2MARKOFS 1983#undef TV2MARKOFS
1981 case BC_USETS: 1984 case BC_USETS:
1982 dasm_put(Dst, 12119, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 1985 dasm_put(Dst, 12135, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1983 break; 1986 break;
1984 case BC_USETN: 1987 case BC_USETN:
1985 dasm_put(Dst, 12210); 1988 dasm_put(Dst, 12226);
1986 if (sse) { 1989 if (sse) {
1987 dasm_put(Dst, 12215); 1990 dasm_put(Dst, 12231);
1988 } else { 1991 } else {
1989 dasm_put(Dst, 11025); 1992 dasm_put(Dst, 11041);
1990 } 1993 }
1991 dasm_put(Dst, 12222, offsetof(GCfuncL, uvptr), DtA(->v)); 1994 dasm_put(Dst, 12238, offsetof(GCfuncL, uvptr), DtA(->v));
1992 if (sse) { 1995 if (sse) {
1993 dasm_put(Dst, 12231); 1996 dasm_put(Dst, 12247);
1994 } else { 1997 } else {
1995 dasm_put(Dst, 12237); 1998 dasm_put(Dst, 12253);
1996 } 1999 }
1997 dasm_put(Dst, 8398); 2000 dasm_put(Dst, 8414);
1998 break; 2001 break;
1999 case BC_USETP: 2002 case BC_USETP:
2000 dasm_put(Dst, 12240, offsetof(GCfuncL, uvptr), DtA(->v)); 2003 dasm_put(Dst, 12256, offsetof(GCfuncL, uvptr), DtA(->v));
2001 break; 2004 break;
2002 case BC_UCLO: 2005 case BC_UCLO:
2003 dasm_put(Dst, 12277, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2006 dasm_put(Dst, 12293, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2004 break; 2007 break;
2005 2008
2006 case BC_FNEW: 2009 case BC_FNEW:
2007 dasm_put(Dst, 12331, Dt1(->base), Dt1(->base), LJ_TFUNC); 2010 dasm_put(Dst, 12347, Dt1(->base), Dt1(->base), LJ_TFUNC);
2008 break; 2011 break;
2009 2012
2010 /* -- Table ops --------------------------------------------------------- */ 2013 /* -- Table ops --------------------------------------------------------- */
2011 2014
2012 case BC_TNEW: 2015 case BC_TNEW:
2013 dasm_put(Dst, 12402, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2016 dasm_put(Dst, 12418, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2014 break; 2017 break;
2015 case BC_TDUP: 2018 case BC_TDUP:
2016 dasm_put(Dst, 12523, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2019 dasm_put(Dst, 12539, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2017 break; 2020 break;
2018 2021
2019 case BC_GGET: 2022 case BC_GGET:
2020 dasm_put(Dst, 12615, Dt7(->env)); 2023 dasm_put(Dst, 12631, Dt7(->env));
2021 break; 2024 break;
2022 case BC_GSET: 2025 case BC_GSET:
2023 dasm_put(Dst, 12633, Dt7(->env)); 2026 dasm_put(Dst, 12649, Dt7(->env));
2024 break; 2027 break;
2025 2028
2026 case BC_TGETV: 2029 case BC_TGETV:
2027 dasm_put(Dst, 12651, LJ_TTAB, LJ_TISNUM); 2030 dasm_put(Dst, 12667, LJ_TTAB, LJ_TISNUM);
2028 if (sse) { 2031 if (sse) {
2029 dasm_put(Dst, 12684); 2032 dasm_put(Dst, 12700);
2030 } else { 2033 } else {
2031 dasm_put(Dst, 12705); 2034 dasm_put(Dst, 12721);
2032 if (cmov) { 2035 if (cmov) {
2033 dasm_put(Dst, 10751); 2036 dasm_put(Dst, 10767);
2034 } else { 2037 } else {
2035 dasm_put(Dst, 10757); 2038 dasm_put(Dst, 10773);
2036 } 2039 }
2037 dasm_put(Dst, 2522); 2040 dasm_put(Dst, 2522);
2038 } 2041 }
2039 dasm_put(Dst, 12715, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2042 dasm_put(Dst, 12731, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2040 dasm_put(Dst, 12807, LJ_TSTR); 2043 dasm_put(Dst, 12823, LJ_TSTR);
2041 break; 2044 break;
2042 case BC_TGETS: 2045 case BC_TGETS:
2043 dasm_put(Dst, 12825, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2046 dasm_put(Dst, 12841, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2044 dasm_put(Dst, 12909, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2047 dasm_put(Dst, 12925, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2045 break; 2048 break;
2046 case BC_TGETB: 2049 case BC_TGETB:
2047 dasm_put(Dst, 12980, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2050 dasm_put(Dst, 12996, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2048 dasm_put(Dst, 11322); 2051 dasm_put(Dst, 11338);
2049 break; 2052 break;
2050 2053
2051 case BC_TSETV: 2054 case BC_TSETV:
2052 dasm_put(Dst, 13079, LJ_TTAB, LJ_TISNUM); 2055 dasm_put(Dst, 13095, LJ_TTAB, LJ_TISNUM);
2053 if (sse) { 2056 if (sse) {
2054 dasm_put(Dst, 12684); 2057 dasm_put(Dst, 12700);
2055 } else { 2058 } else {
2056 dasm_put(Dst, 12705); 2059 dasm_put(Dst, 12721);
2057 if (cmov) { 2060 if (cmov) {
2058 dasm_put(Dst, 10751); 2061 dasm_put(Dst, 10767);
2059 } else { 2062 } else {
2060 dasm_put(Dst, 10757); 2063 dasm_put(Dst, 10773);
2061 } 2064 }
2062 dasm_put(Dst, 2522); 2065 dasm_put(Dst, 2522);
2063 } 2066 }
2064 dasm_put(Dst, 13112, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 2067 dasm_put(Dst, 13128, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
2065 dasm_put(Dst, 13195, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2068 dasm_put(Dst, 13211, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2066 break; 2069 break;
2067 case BC_TSETS: 2070 case BC_TSETS:
2068 dasm_put(Dst, 13257, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2071 dasm_put(Dst, 13273, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2069 dasm_put(Dst, 13332, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2072 dasm_put(Dst, 13348, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2070 dasm_put(Dst, 13424, 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)); 2073 dasm_put(Dst, 13440, 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));
2071 break; 2074 break;
2072 case BC_TSETB: 2075 case BC_TSETB:
2073 dasm_put(Dst, 13520, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2076 dasm_put(Dst, 13536, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2074 dasm_put(Dst, 13618, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2077 dasm_put(Dst, 13634, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2075 break; 2078 break;
2076 2079
2077 case BC_TSETM: 2080 case BC_TSETM:
2078 dasm_put(Dst, 13664); 2081 dasm_put(Dst, 13680);
2079 if (sse) { 2082 if (sse) {
2080 dasm_put(Dst, 12215); 2083 dasm_put(Dst, 12231);
2081 } else { 2084 } else {
2082 dasm_put(Dst, 13669); 2085 dasm_put(Dst, 13685);
2083 } 2086 }
2084 dasm_put(Dst, 13677, Dt6(->marked), LJ_GC_BLACK); 2087 dasm_put(Dst, 13693, Dt6(->marked), LJ_GC_BLACK);
2085 if (sse) { 2088 if (sse) {
2086 dasm_put(Dst, 13702); 2089 dasm_put(Dst, 13718);
2087 } else { 2090 } else {
2088 dasm_put(Dst, 13709); 2091 dasm_put(Dst, 13725);
2089 } 2092 }
2090 dasm_put(Dst, 13714, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain)); 2093 dasm_put(Dst, 13730, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain));
2091 dasm_put(Dst, 13842, Dt6(->gclist)); 2094 dasm_put(Dst, 13858, Dt6(->gclist));
2092 break; 2095 break;
2093 2096
2094 /* -- Calls and vararg handling ----------------------------------------- */ 2097 /* -- Calls and vararg handling ----------------------------------------- */
2095 2098
2096 case BC_CALL: case BC_CALLM: 2099 case BC_CALL: case BC_CALLM:
2097 dasm_put(Dst, 11336); 2100 dasm_put(Dst, 11352);
2098 if (op == BC_CALLM) { 2101 if (op == BC_CALLM) {
2099 dasm_put(Dst, 13850); 2102 dasm_put(Dst, 13866);
2100 } 2103 }
2101 dasm_put(Dst, 13855, LJ_TFUNC, Dt7(->pc)); 2104 dasm_put(Dst, 13871, LJ_TFUNC, Dt7(->pc));
2102 break; 2105 break;
2103 2106
2104 case BC_CALLMT: 2107 case BC_CALLMT:
2105 dasm_put(Dst, 13850); 2108 dasm_put(Dst, 13866);
2106 break; 2109 break;
2107 case BC_CALLT: 2110 case BC_CALLT:
2108 dasm_put(Dst, 13896, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2111 dasm_put(Dst, 13912, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2109 dasm_put(Dst, 14014, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); 2112 dasm_put(Dst, 14030, FRAME_TYPE, Dt7(->pc), PC2PROTO(k));
2110 break; 2113 break;
2111 2114
2112 case BC_ITERC: 2115 case BC_ITERC:
2113 dasm_put(Dst, 14071, LJ_TFUNC, 2+1, Dt7(->pc)); 2116 dasm_put(Dst, 14087, LJ_TFUNC, 2+1, Dt7(->pc));
2114 break; 2117 break;
2115 2118
2116 case BC_VARG: 2119 case BC_VARG:
2117 dasm_put(Dst, 14151, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); 2120 dasm_put(Dst, 14167, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL);
2118 dasm_put(Dst, 14295, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2121 dasm_put(Dst, 14311, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2119 break; 2122 break;
2120 2123
2121 /* -- Returns ----------------------------------------------------------- */ 2124 /* -- Returns ----------------------------------------------------------- */
2122 2125
2123 case BC_RETM: 2126 case BC_RETM:
2124 dasm_put(Dst, 13850); 2127 dasm_put(Dst, 13866);
2125 break; 2128 break;
2126 2129
2127 case BC_RET: case BC_RET0: case BC_RET1: 2130 case BC_RET: case BC_RET0: case BC_RET1:
2128 if (op != BC_RET0) { 2131 if (op != BC_RET0) {
2129 dasm_put(Dst, 14394); 2132 dasm_put(Dst, 14410);
2130 } 2133 }
2131 dasm_put(Dst, 14398, FRAME_TYPE); 2134 dasm_put(Dst, 14414, FRAME_TYPE);
2132 switch (op) { 2135 switch (op) {
2133 case BC_RET: 2136 case BC_RET:
2134 dasm_put(Dst, 14417); 2137 dasm_put(Dst, 14433);
2135 break; 2138 break;
2136 case BC_RET1: 2139 case BC_RET1:
2137 dasm_put(Dst, 14475); 2140 dasm_put(Dst, 14491);
2138 /* fallthrough */ 2141 /* fallthrough */
2139 case BC_RET0: 2142 case BC_RET0:
2140 dasm_put(Dst, 14491); 2143 dasm_put(Dst, 14507);
2141 default: 2144 default:
2142 break; 2145 break;
2143 } 2146 }
2144 dasm_put(Dst, 14502, Dt7(->pc), PC2PROTO(k)); 2147 dasm_put(Dst, 14518, Dt7(->pc), PC2PROTO(k));
2145 if (op == BC_RET) { 2148 if (op == BC_RET) {
2146 dasm_put(Dst, 14544, LJ_TNIL); 2149 dasm_put(Dst, 14560, LJ_TNIL);
2147 } else { 2150 } else {
2148 dasm_put(Dst, 14553, LJ_TNIL); 2151 dasm_put(Dst, 14569, LJ_TNIL);
2149 } 2152 }
2150 dasm_put(Dst, 14560); 2153 dasm_put(Dst, 14576);
2151 if (op != BC_RET0) { 2154 if (op != BC_RET0) {
2152 dasm_put(Dst, 14581); 2155 dasm_put(Dst, 14597);
2153 } 2156 }
2154 dasm_put(Dst, 4678); 2157 dasm_put(Dst, 4678);
2155 break; 2158 break;
@@ -2159,7 +2162,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2159 2162
2160 case BC_FORL: 2163 case BC_FORL:
2161#if LJ_HASJIT 2164#if LJ_HASJIT
2162 dasm_put(Dst, 14585, HOTCOUNT_PCMASK, GG_DISP2HOT); 2165 dasm_put(Dst, 14601, HOTCOUNT_PCMASK, GG_DISP2HOT);
2163#endif 2166#endif
2164 break; 2167 break;
2165 2168
@@ -2171,57 +2174,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2171 case BC_FORI: 2174 case BC_FORI:
2172 case BC_IFORL: 2175 case BC_IFORL:
2173 vk = (op == BC_IFORL || op == BC_JFORL); 2176 vk = (op == BC_IFORL || op == BC_JFORL);
2174 dasm_put(Dst, 14606); 2177 dasm_put(Dst, 14622);
2175 if (!vk) { 2178 if (!vk) {
2176 dasm_put(Dst, 14610, LJ_TISNUM, LJ_TISNUM); 2179 dasm_put(Dst, 14626, LJ_TISNUM, LJ_TISNUM);
2177 } 2180 }
2178 dasm_put(Dst, 14629); 2181 dasm_put(Dst, 14645);
2179 if (!vk) { 2182 if (!vk) {
2180 dasm_put(Dst, 14633, LJ_TISNUM); 2183 dasm_put(Dst, 14649, LJ_TISNUM);
2181 } 2184 }
2182 if (sse) { 2185 if (sse) {
2183 dasm_put(Dst, 14642); 2186 dasm_put(Dst, 14658);
2184 if (vk) { 2187 if (vk) {
2185 dasm_put(Dst, 14654); 2188 dasm_put(Dst, 14670);
2186 } else { 2189 } else {
2187 dasm_put(Dst, 14673); 2190 dasm_put(Dst, 14689);
2188 } 2191 }
2189 dasm_put(Dst, 14678); 2192 dasm_put(Dst, 14694);
2190 } else { 2193 } else {
2191 dasm_put(Dst, 14691); 2194 dasm_put(Dst, 14707);
2192 if (vk) { 2195 if (vk) {
2193 dasm_put(Dst, 14697);
2194 } else {
2195 dasm_put(Dst, 14713); 2196 dasm_put(Dst, 14713);
2197 } else {
2198 dasm_put(Dst, 14729);
2196 } 2199 }
2197 dasm_put(Dst, 14721); 2200 dasm_put(Dst, 14737);
2198 if (cmov) { 2201 if (cmov) {
2199 dasm_put(Dst, 10751); 2202 dasm_put(Dst, 10767);
2200 } else { 2203 } else {
2201 dasm_put(Dst, 10757); 2204 dasm_put(Dst, 10773);
2202 } 2205 }
2203 if (!cmov) { 2206 if (!cmov) {
2204 dasm_put(Dst, 14726); 2207 dasm_put(Dst, 14742);
2205 } 2208 }
2206 } 2209 }
2207 if (op == BC_FORI) { 2210 if (op == BC_FORI) {
2208 dasm_put(Dst, 14732, -BCBIAS_J*4); 2211 dasm_put(Dst, 14748, -BCBIAS_J*4);
2209 } else if (op == BC_JFORI) { 2212 } else if (op == BC_JFORI) {
2210 dasm_put(Dst, 14742, -BCBIAS_J*4, BC_JLOOP); 2213 dasm_put(Dst, 14758, -BCBIAS_J*4, BC_JLOOP);
2211 } else if (op == BC_IFORL) { 2214 } else if (op == BC_IFORL) {
2212 dasm_put(Dst, 14756, -BCBIAS_J*4); 2215 dasm_put(Dst, 14772, -BCBIAS_J*4);
2213 } else { 2216 } else {
2214 dasm_put(Dst, 14752, BC_JLOOP); 2217 dasm_put(Dst, 14768, BC_JLOOP);
2215 } 2218 }
2216 dasm_put(Dst, 10786); 2219 dasm_put(Dst, 10802);
2217 if (sse) { 2220 if (sse) {
2218 dasm_put(Dst, 14766); 2221 dasm_put(Dst, 14782);
2219 } 2222 }
2220 break; 2223 break;
2221 2224
2222 case BC_ITERL: 2225 case BC_ITERL:
2223#if LJ_HASJIT 2226#if LJ_HASJIT
2224 dasm_put(Dst, 14585, HOTCOUNT_PCMASK, GG_DISP2HOT); 2227 dasm_put(Dst, 14601, HOTCOUNT_PCMASK, GG_DISP2HOT);
2225#endif 2228#endif
2226 break; 2229 break;
2227 2230
@@ -2230,33 +2233,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2230 break; 2233 break;
2231#endif 2234#endif
2232 case BC_IITERL: 2235 case BC_IITERL:
2233 dasm_put(Dst, 14777, LJ_TNIL); 2236 dasm_put(Dst, 14793, LJ_TNIL);
2234 if (op == BC_JITERL) { 2237 if (op == BC_JITERL) {
2235 dasm_put(Dst, 14792, BC_JLOOP); 2238 dasm_put(Dst, 14808, BC_JLOOP);
2236 } else { 2239 } else {
2237 dasm_put(Dst, 14806, -BCBIAS_J*4); 2240 dasm_put(Dst, 14822, -BCBIAS_J*4);
2238 } 2241 }
2239 dasm_put(Dst, 11083); 2242 dasm_put(Dst, 11099);
2240 break; 2243 break;
2241 2244
2242 case BC_LOOP: 2245 case BC_LOOP:
2243#if LJ_HASJIT 2246#if LJ_HASJIT
2244 dasm_put(Dst, 14585, HOTCOUNT_PCMASK, GG_DISP2HOT); 2247 dasm_put(Dst, 14601, HOTCOUNT_PCMASK, GG_DISP2HOT);
2245#endif 2248#endif
2246 break; 2249 break;
2247 2250
2248 case BC_ILOOP: 2251 case BC_ILOOP:
2249 dasm_put(Dst, 8398); 2252 dasm_put(Dst, 8414);
2250 break; 2253 break;
2251 2254
2252 case BC_JLOOP: 2255 case BC_JLOOP:
2253#if LJ_HASJIT 2256#if LJ_HASJIT
2254 dasm_put(Dst, 14822, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2257 dasm_put(Dst, 14838, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2255#endif 2258#endif
2256 break; 2259 break;
2257 2260
2258 case BC_JMP: 2261 case BC_JMP:
2259 dasm_put(Dst, 14845, -BCBIAS_J*4); 2262 dasm_put(Dst, 14861, -BCBIAS_J*4);
2260 break; 2263 break;
2261 2264
2262 /* -- Function headers -------------------------------------------------- */ 2265 /* -- Function headers -------------------------------------------------- */
@@ -2279,47 +2282,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2279 break; 2282 break;
2280#endif 2283#endif
2281 case BC_IFUNCF: 2284 case BC_IFUNCF:
2282 dasm_put(Dst, 14869, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2285 dasm_put(Dst, 14885, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2283 if (op == BC_JFUNCF) { 2286 if (op == BC_JFUNCF) {
2284 dasm_put(Dst, 14899, BC_JLOOP); 2287 dasm_put(Dst, 14915, BC_JLOOP);
2285 } else { 2288 } else {
2286 dasm_put(Dst, 8398); 2289 dasm_put(Dst, 8414);
2287 } 2290 }
2288 dasm_put(Dst, 14908, LJ_TNIL); 2291 dasm_put(Dst, 14924, LJ_TNIL);
2289 break; 2292 break;
2290 2293
2291 case BC_JFUNCV: 2294 case BC_JFUNCV:
2292#if !LJ_HASJIT 2295#if !LJ_HASJIT
2293 break; 2296 break;
2294#endif 2297#endif
2295 dasm_put(Dst, 10449); 2298 dasm_put(Dst, 10465);
2296 break; /* NYI: compiled vararg functions. */ 2299 break; /* NYI: compiled vararg functions. */
2297 2300
2298 case BC_IFUNCV: 2301 case BC_IFUNCV:
2299 dasm_put(Dst, 14930, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2302 dasm_put(Dst, 14946, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2300 if (op == BC_JFUNCV) { 2303 if (op == BC_JFUNCV) {
2301 dasm_put(Dst, 14899, BC_JLOOP); 2304 dasm_put(Dst, 14915, BC_JLOOP);
2302 } else { 2305 } else {
2303 dasm_put(Dst, 15021, -4+PC2PROTO(k)); 2306 dasm_put(Dst, 15037, -4+PC2PROTO(k));
2304 } 2307 }
2305 dasm_put(Dst, 15043, LJ_TNIL); 2308 dasm_put(Dst, 15059, LJ_TNIL);
2306 break; 2309 break;
2307 2310
2308 case BC_FUNCC: 2311 case BC_FUNCC:
2309 case BC_FUNCCW: 2312 case BC_FUNCCW:
2310 dasm_put(Dst, 15065, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2313 dasm_put(Dst, 15081, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2311 if (op == BC_FUNCC) { 2314 if (op == BC_FUNCC) {
2312 dasm_put(Dst, 15094); 2315 dasm_put(Dst, 15110);
2313 } else { 2316 } else {
2314 dasm_put(Dst, 15098); 2317 dasm_put(Dst, 15114);
2315 } 2318 }
2316 dasm_put(Dst, 15106, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2319 dasm_put(Dst, 15122, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2317 if (op == BC_FUNCC) { 2320 if (op == BC_FUNCC) {
2318 dasm_put(Dst, 15115); 2321 dasm_put(Dst, 15131);
2319 } else { 2322 } else {
2320 dasm_put(Dst, 15119, DISPATCH_GL(wrapf)); 2323 dasm_put(Dst, 15135, DISPATCH_GL(wrapf));
2321 } 2324 }
2322 dasm_put(Dst, 15124, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2325 dasm_put(Dst, 15140, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2323 break; 2326 break;
2324 2327
2325 /* ---------------------------------------------------------------------- */ 2328 /* ---------------------------------------------------------------------- */
@@ -2347,7 +2350,7 @@ static int build_backend(BuildCtx *ctx)
2347 2350
2348 build_subroutines(ctx, cmov, sse); 2351 build_subroutines(ctx, cmov, sse);
2349 2352
2350 dasm_put(Dst, 15149); 2353 dasm_put(Dst, 15165);
2351 for (op = 0; op < BC__MAX; op++) 2354 for (op = 0; op < BC__MAX; op++)
2352 build_ins(ctx, (BCOp)op, op, cmov, sse); 2355 build_ins(ctx, (BCOp)op, op, cmov, sse);
2353 2356