summaryrefslogtreecommitdiff
path: root/src/buildvm_x64win.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x64win.h')
-rw-r--r--src/buildvm_x64win.h1126
1 files changed, 564 insertions, 562 deletions
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h
index 78835bb9..7876c9b3 100644
--- a/src/buildvm_x64win.h
+++ b/src/buildvm_x64win.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[14001] = { 15static const unsigned char build_actionlist[14016] = {
16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, 16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72,
17 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, 17 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,
18 36,84,252,247,198,237,15,132,244,13,248,14,252,247,198,237,15,132,244,10, 18 36,84,252,247,198,237,15,132,244,13,248,14,252,247,198,237,15,132,244,10,
@@ -383,280 +383,281 @@ static const unsigned char build_actionlist[14001] = {
383 233,102,68,15,111,153,233,102,68,15,111,145,233,102,68,15,111,137,233,102, 383 233,102,68,15,111,153,233,102,68,15,111,145,233,102,68,15,111,137,233,102,
384 68,15,111,129,233,102,15,111,185,233,72,137,204,102,15,111,49,76,139,124, 384 68,15,111,129,233,102,15,111,185,233,72,137,204,102,15,111,49,76,139,124,
385 36,16,76,139,116,36,24,76,139,108,36,32,76,139,100,36,80,133,192,15,136,244, 385 36,16,76,139,116,36,24,76,139,108,36,32,76,139,100,36,80,133,192,15,136,244,
386 248,137,68,36,84,139,122,252,248,139,191,233,139,191,233,199,131,233,0,0, 386 249,137,68,36,84,139,122,252,248,139,191,233,139,191,233,199,131,233,0,0,
387 0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 387 0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,129,
388 255,36,252,235,248,2,252,247,216,137,252,233,137,194,232,251,1,24,255,248, 388 252,253,239,15,130,244,248,255,139,68,36,84,248,2,252,255,36,252,235,248,
389 82,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255, 389 3,252,247,216,137,252,233,137,194,232,251,1,24,255,248,82,255,217,124,36,
390 252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8, 390 4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,
391 195,255,248,145,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15, 391 36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,145,72,
392 110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208, 392 184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,
393 252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,72,15, 393 102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,
394 110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,193,248, 394 252,242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,
395 1,195,248,84,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102, 395 15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,84,255,
396 37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4, 396 217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255,252,251,
397 139,68,36,8,195,255,248,146,72,184,237,237,102,72,15,110,208,72,184,237,237, 397 102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,
398 102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102, 398 248,146,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,
399 15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237, 399 15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,
400 102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92,200,15, 400 15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,208,
401 40,193,248,1,195,248,104,255,217,124,36,4,137,68,36,8,102,184,0,12,102,11, 401 252,242,15,194,193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,
402 68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8, 402 248,104,255,217,124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,
403 195,255,248,147,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15, 403 68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,147,
404 110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208, 404 72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,
405 15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72,15,110, 405 102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,
406 216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15, 406 15,88,203,252,242,15,92,203,72,184,237,237,102,72,15,110,216,252,242,15,194,
407 40,193,248,1,195,248,148,255,15,40,232,252,242,15,94,193,72,184,237,237,102, 407 193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,1,195,248,
408 72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84,226,102, 408 148,255,15,40,232,252,242,15,94,193,72,184,237,237,102,72,15,110,208,72,184,
409 15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242,15,92,227, 409 237,237,102,72,15,110,216,15,40,224,102,15,84,226,102,15,46,220,15,134,244,
410 102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196,1,102,15, 410 247,102,15,85,208,252,242,15,88,227,252,242,15,92,227,102,15,86,226,72,184,
411 84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15,92,193,195, 411 237,237,102,72,15,110,208,252,242,15,194,196,1,102,15,84,194,252,242,15,92,
412 248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,193,216,252, 412 224,15,40,197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,
413 241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137, 413 200,15,40,197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,
414 68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,233,195,255, 414 102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,
415 248,88,217,252,234,222,201,248,149,217,84,36,8,129,124,36,8,0,0,128,127,15, 415 36,6,217,252,252,217,108,36,4,222,201,222,252,233,195,255,248,88,217,252,
416 132,244,247,129,124,36,8,0,0,128,252,255,15,132,244,248,248,150,217,192,217, 416 234,222,201,248,149,217,84,36,8,129,124,36,8,0,0,128,127,15,132,244,247,129,
417 252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217, 417 124,36,8,0,0,128,252,255,15,132,244,248,248,150,217,192,217,252,252,220,252,
418 248,1,195,248,2,221,216,217,252,238,195,255,248,107,255,248,151,252,242,15, 418 233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,
419 45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138,244,255,248, 419 2,221,216,217,252,238,195,255,248,107,255,248,151,252,242,15,45,193,252,242,
420 152,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,252,242, 420 15,42,208,102,15,46,202,15,133,244,254,15,138,244,255,248,152,131,252,248,
421 15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251,15,40,200,248, 421 1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,
422 3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255,252,242,15,89, 422 252,233,244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,
423 200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15,132,244,5,15, 423 192,209,232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,
424 130,244,253,80,72,184,237,237,102,72,15,110,200,252,242,15,94,200,88,15,40, 424 3,248,4,252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,80,
425 193,252,247,216,131,252,248,1,15,132,244,5,252,233,244,1,248,7,72,184,237, 425 72,184,237,237,102,72,15,110,200,252,242,15,94,200,88,15,40,193,252,247,216,
426 237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209,224,72,193,192,12, 426 131,252,248,1,15,132,244,5,252,233,244,1,248,7,72,184,237,237,102,72,15,110,
427 72,61,252,254,15,0,0,15,132,244,248,255,102,72,15,126,192,72,209,224,15,132, 427 192,195,248,8,102,72,15,126,200,72,209,224,72,193,192,12,72,61,252,254,15,
428 244,250,72,193,192,12,72,61,252,254,15,0,0,15,132,244,251,252,242,15,17,76, 428 0,0,15,132,244,248,255,102,72,15,126,192,72,209,224,15,132,244,250,72,193,
429 36,16,252,242,15,17,68,36,8,221,68,36,16,221,68,36,8,217,252,241,217,192, 429 192,12,72,61,252,254,15,0,0,15,132,244,251,252,242,15,17,76,36,16,252,242,
430 217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221, 430 15,17,68,36,8,221,68,36,16,221,68,36,8,217,252,241,217,192,217,252,252,220,
431 217,221,92,36,8,252,242,15,16,68,36,8,195,248,9,72,184,237,237,102,72,15, 431 252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,221,92,36,
432 110,208,102,15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237, 432 8,252,242,15,16,68,36,8,195,248,9,72,184,237,237,102,72,15,110,208,102,15,
433 237,102,72,15,110,208,102,15,84,194,72,184,237,237,102,72,15,110,208,102, 433 46,194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,
434 15,46,194,15,132,244,1,102,15,80,193,15,87,192,136,196,15,146,208,48,224, 434 110,208,102,15,84,194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,
435 15,133,244,1,248,3,72,184,237,237,255,102,72,15,110,192,195,248,4,102,15, 435 244,1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,
436 80,193,133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15, 436 3,72,184,237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,
437 132,244,3,15,87,192,195,248,153,255,131,252,250,1,15,130,244,82,15,132,244, 437 133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,
438 84,131,252,250,3,15,130,244,104,15,135,244,248,252,242,15,81,192,195,248, 438 195,248,153,255,131,252,250,1,15,130,244,82,15,132,244,84,131,252,250,3,15,
439 2,252,242,15,17,68,36,8,221,68,36,8,131,252,250,5,15,135,244,248,88,15,132, 439 130,244,104,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,
440 244,247,232,244,88,80,252,233,244,253,248,1,232,244,149,255,80,252,233,244, 440 8,221,68,36,8,131,252,250,5,15,135,244,248,88,15,132,244,247,232,244,88,80,
441 253,248,2,131,252,250,7,15,132,244,247,15,135,244,248,217,252,237,217,201, 441 252,233,244,253,248,1,232,244,149,255,80,252,233,244,253,248,2,131,252,250,
442 217,252,241,252,233,244,253,248,1,217,232,217,201,217,252,241,252,233,244, 442 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,
443 253,248,2,131,252,250,9,15,132,244,247,15,135,244,248,217,252,236,217,201, 443 253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,250,9,
444 217,252,241,252,233,244,253,248,1,255,217,252,254,252,233,244,253,248,2,131, 444 15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,
445 252,250,11,15,132,244,247,15,135,244,255,217,252,255,252,233,244,253,248, 445 253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,250,11,15,132,244,
446 1,217,252,242,221,216,248,7,221,92,36,8,252,242,15,16,68,36,8,195,255,139, 446 247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,
447 84,36,12,221,68,36,4,131,252,250,1,15,130,244,82,15,132,244,84,131,252,250, 447 248,7,221,92,36,8,252,242,15,16,68,36,8,195,255,139,84,36,12,221,68,36,4,
448 3,15,130,244,104,15,135,244,248,217,252,250,195,248,2,131,252,250,5,15,130, 448 131,252,250,1,15,130,244,82,15,132,244,84,131,252,250,3,15,130,244,104,15,
449 244,88,15,132,244,149,131,252,250,7,15,132,244,247,15,135,244,248,217,252, 449 135,244,248,217,252,250,195,248,2,131,252,250,5,15,130,244,88,15,132,244,
450 237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131, 450 149,131,252,250,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,
451 252,250,9,15,132,244,247,255,15,135,244,248,217,252,236,217,201,217,252,241, 451 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,250,9,15,132,
452 195,248,1,217,252,254,195,248,2,131,252,250,11,15,132,244,247,15,135,244, 452 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,
453 255,217,252,255,195,248,1,217,252,242,221,216,195,255,248,9,204,248,154,255, 453 252,254,195,248,2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,
454 65,131,252,248,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248, 454 195,248,1,217,252,242,221,216,195,255,248,9,204,248,154,255,65,131,252,248,
455 1,252,242,15,92,193,195,248,2,65,131,252,248,3,15,132,244,247,15,135,244, 455 1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92,
456 248,252,242,15,89,193,195,248,1,252,242,15,94,193,195,248,2,65,131,252,248, 456 193,195,248,2,65,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15,89,
457 5,15,130,244,148,15,132,244,107,65,131,252,248,7,15,132,244,247,15,135,244, 457 193,195,248,1,252,242,15,94,193,195,248,2,65,131,252,248,5,15,130,244,148,
458 248,72,184,237,237,255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237, 458 15,132,244,107,65,131,252,248,7,15,132,244,247,15,135,244,248,72,184,237,
459 102,72,15,110,200,15,84,193,195,248,2,65,131,252,248,9,15,135,244,248,252, 459 237,255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,
460 242,15,17,68,36,8,252,242,15,17,76,36,16,221,68,36,8,221,68,36,16,15,132, 460 200,15,84,193,195,248,2,65,131,252,248,9,15,135,244,248,252,242,15,17,68,
461 244,247,217,252,243,248,7,221,92,36,8,252,242,15,16,68,36,8,195,248,1,217, 461 36,8,252,242,15,17,76,36,16,221,68,36,8,221,68,36,16,15,132,244,247,217,252,
462 201,217,252,253,221,217,252,233,244,7,248,2,65,131,252,248,11,15,132,244, 462 243,248,7,221,92,36,8,252,242,15,16,68,36,8,195,248,1,217,201,217,252,253,
463 247,15,135,244,255,252,242,15,93,193,195,248,1,252,242,15,95,193,195,248, 463 221,217,252,233,244,7,248,2,65,131,252,248,11,15,132,244,247,15,135,244,255,
464 9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244, 464 252,242,15,93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68,36,
465 247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3, 465 20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,
466 15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131, 466 193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,
467 252,248,5,15,130,244,148,15,132,244,107,131,252,248,7,15,132,244,247,15,135, 467 248,222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,148,
468 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248, 468 15,132,244,107,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,
469 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253, 469 224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,
470 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252, 470 244,248,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,
471 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225, 471 248,11,15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,
472 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221, 472 248,1,219,252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,
473 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248, 473 132,244,248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,
474 155,137,200,86,72,137,214,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91, 474 15,133,244,248,217,201,248,2,221,216,195,255,248,155,137,200,86,72,137,214,
475 94,195,255,129,124,253,202,4,239,15,135,244,41,129,124,253,194,4,239,15,135, 475 83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,94,195,255,129,124,253,202,
476 244,41,255,252,242,15,16,4,194,131,198,4,102,15,46,4,202,255,221,4,202,221, 476 4,239,15,135,244,41,129,124,253,194,4,239,15,135,244,41,255,252,242,15,16,
477 4,194,131,198,4,255,223,252,233,221,216,255,218,252,233,223,224,158,255,15, 477 4,194,131,198,4,102,15,46,4,202,255,221,4,202,221,4,194,131,198,4,255,223,
478 134,244,248,255,15,131,244,248,255,248,1,15,183,70,252,254,141,180,253,134, 478 252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,248,255,15,131,
479 233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, 479 244,248,255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,
480 235,255,139,108,194,4,131,198,4,129,252,253,239,15,135,244,251,129,124,253, 480 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,108,194,4,
481 202,4,239,15,135,244,251,255,252,242,15,16,4,194,102,15,46,4,202,255,221, 481 131,198,4,129,252,253,239,15,135,244,251,129,124,253,202,4,239,15,135,244,
482 4,202,221,4,194,255,15,138,244,248,15,133,244,248,255,15,138,244,248,15,132, 482 251,255,252,242,15,16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,15,
483 244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,255,248,2,15, 483 138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,15,
484 183,70,252,254,141,180,253,134,233,248,1,255,248,5,57,108,202,4,15,133,244, 484 183,70,252,254,141,180,253,134,233,248,2,255,248,2,15,183,70,252,254,141,
485 2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129, 485 180,253,134,233,248,1,255,248,5,57,108,202,4,15,133,244,2,129,252,253,239,
486 252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133, 486 15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,
487 233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,45,255, 487 135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,
488 72,252,247,208,131,198,4,129,124,253,202,4,239,15,133,244,248,139,12,202, 488 244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,45,255,72,252,247,208,
489 59,12,135,255,131,198,4,129,124,253,202,4,239,15,135,244,248,255,252,242, 489 131,198,4,129,124,253,202,4,239,15,133,244,248,139,12,202,59,12,135,255,131,
490 15,16,4,199,102,15,46,4,202,255,221,4,202,221,4,199,255,72,252,247,208,131, 490 198,4,129,124,253,202,4,239,15,135,244,248,255,252,242,15,16,4,199,102,15,
491 198,4,57,68,202,4,255,139,108,194,4,131,198,4,129,252,253,239,255,15,131, 491 46,4,202,255,221,4,202,221,4,199,255,72,252,247,208,131,198,4,57,68,202,4,
492 244,247,255,15,130,244,247,255,137,108,202,4,139,44,194,137,44,202,255,15, 492 255,139,108,194,4,131,198,4,129,252,253,239,255,15,131,244,247,255,15,130,
493 183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131, 493 244,247,255,137,108,202,4,139,44,194,137,44,202,255,15,183,70,252,254,141,
494 198,4,193,232,16,252,255,36,252,235,255,139,108,194,4,139,4,194,137,108,202, 494 180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
495 4,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, 495 255,36,252,235,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,
496 235,255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6, 496 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,49,252,
497 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,129,124, 497 237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,
498 253,194,4,239,15,135,244,48,255,252,242,15,16,4,194,72,184,237,237,102,72, 498 232,131,198,4,193,232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,
499 15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,202, 499 135,244,48,255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,
500 255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,15,87,192,252,242, 500 193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,
501 15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202, 501 194,4,239,15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,
502 255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248, 502 1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,
503 2,129,124,253,194,4,239,15,133,244,50,139,12,194,137,213,232,251,1,18,255, 503 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194,
504 252,242,15,42,192,137,252,234,255,15,182,78,252,253,252,233,244,1,255,15, 504 4,239,15,133,244,50,139,12,194,137,213,232,251,1,18,255,252,242,15,42,192,
505 182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,135,244,46,255,252, 505 137,252,234,255,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,
506 242,15,16,4,252,234,252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129, 506 192,255,129,124,253,252,234,4,239,15,135,244,46,255,252,242,15,16,4,252,234,
507 124,253,252,234,4,239,15,135,244,47,255,252,242,15,16,4,199,252,242,15,88, 507 252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,4,
508 4,252,234,255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135, 508 239,15,135,244,47,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,221,
509 244,49,129,124,253,194,4,239,15,135,244,49,255,252,242,15,16,4,252,234,252, 509 4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253,
510 242,15,88,4,194,255,221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252, 510 194,4,239,15,135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,
511 242,15,92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4,199,252, 511 221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,
512 242,15,92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16,4,252, 512 221,4,252,234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,
513 234,252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,252,242,15,16,4, 513 255,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,
514 252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199,255,252,242,15,16, 514 194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,252,242,15,89,
515 4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252,234,255,252,242,15, 515 4,199,255,221,4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,
516 16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242, 516 4,252,234,255,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,
517 15,16,4,252,234,252,242,15,94,4,199,255,221,4,252,234,220,52,199,255,252, 517 15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,
518 242,15,16,4,199,252,242,15,94,4,252,234,255,221,4,199,220,52,252,234,255, 518 242,15,94,4,199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,
519 252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,194, 519 242,15,94,4,252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,
520 255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221,4,252,234,221,4, 520 234,252,242,15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,
521 199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255,221,4,199,221,4, 521 252,234,252,242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,
522 252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252,234, 522 4,199,252,242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,
523 221,4,194,255,248,156,232,244,148,255,252,233,244,156,255,232,244,107,255, 523 16,4,252,234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,156,
524 15,182,252,236,15,182,192,139,76,36,96,137,145,233,141,20,194,65,137,192, 524 232,244,148,255,252,233,244,156,255,232,244,107,255,15,182,252,236,15,182,
525 65,41,232,248,33,137,205,137,116,36,100,232,251,1,25,139,149,233,133,192, 525 192,139,76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,248,33,137,205,
526 15,133,244,42,15,182,110,252,255,15,182,78,252,253,139,68,252,234,4,139,44, 526 137,116,36,100,232,251,1,25,139,149,233,133,192,15,133,244,42,15,182,110,
527 252,234,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193, 527 252,255,15,182,78,252,253,139,68,252,234,4,139,44,252,234,137,68,202,4,137,
528 232,16,252,255,36,252,235,255,72,252,247,208,139,4,135,199,68,202,4,237,137, 528 44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
529 4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, 529 255,72,252,247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204,
530 255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,255,223,70,252,254,221, 530 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,15,191,192,252,242,
531 28,202,255,252,242,15,16,4,199,252,242,15,17,4,202,255,221,4,199,221,28,202, 531 15,42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,15,
532 255,72,252,247,208,137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193, 532 16,4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,72,252,247,208,
533 232,16,252,255,36,252,235,255,141,76,202,12,141,68,194,4,189,237,137,105, 533 137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
534 252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139,6,15,182,204,15,182, 534 252,235,255,141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,
535 232,131,198,4,193,232,16,252,255,36,252,235,255,139,106,252,248,139,172,253, 535 41,131,193,8,57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,
536 133,233,139,173,233,139,69,4,139,109,0,137,68,202,4,137,44,202,139,6,15,182, 536 232,16,252,255,36,252,235,255,139,106,252,248,139,172,253,133,233,139,173,
537 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,106,252,248, 537 233,139,69,4,139,109,0,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,
538 139,172,253,141,233,128,189,233,0,139,173,233,139,12,194,139,68,194,4,137, 538 131,198,4,193,232,16,252,255,36,252,235,255,139,106,252,248,139,172,253,141,
539 77,0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244,248,248,1,139, 539 233,128,189,233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,
540 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129, 540 132,244,247,252,246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,
541 232,239,129,252,248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,135, 541 182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,232,239,129,252,
542 213,141,139,233,255,232,251,1,26,137,252,234,252,233,244,1,255,72,252,247, 542 248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,135,213,141,139,233,
543 208,139,106,252,248,139,172,253,141,233,139,12,135,139,133,233,137,8,199, 543 255,232,251,1,26,137,252,234,252,233,244,1,255,72,252,247,208,139,106,252,
544 64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182, 544 248,139,172,253,141,233,139,12,135,139,133,233,137,8,199,64,4,237,252,246,
545 232,131,198,4,193,232,16,252,255,36,252,235,248,2,252,246,129,233,235,15, 545 133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,
546 132,244,1,128,189,233,0,15,132,244,1,137,213,137,194,141,139,233,232,251, 546 232,16,252,255,36,252,235,248,2,252,246,129,233,235,15,132,244,1,128,189,
547 1,26,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,15,16,4,199, 547 233,0,15,132,244,1,137,213,137,194,141,139,233,232,251,1,26,137,252,234,252,
548 255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,25,255,72, 548 233,244,1,255,139,106,252,248,255,252,242,15,16,4,199,255,139,172,253,141,
549 252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,65,4,139, 549 233,139,141,233,255,252,242,15,17,1,255,221,25,255,72,252,247,208,139,106,
550 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,141,180, 550 252,248,139,172,253,141,233,139,141,233,137,65,4,139,6,15,182,204,15,182,
551 253,134,233,139,108,36,96,131,189,233,0,15,132,244,247,137,149,233,141,20, 551 232,131,198,4,193,232,16,252,255,36,252,235,255,141,180,253,134,233,139,108,
552 202,137,252,233,232,251,1,27,139,149,233,248,1,139,6,15,182,204,15,182,232, 552 36,96,131,189,233,0,15,132,244,247,137,149,233,141,20,202,137,252,233,232,
553 131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,108,36,96, 553 251,1,27,139,149,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,
554 137,149,233,68,139,66,252,248,139,20,135,137,252,233,137,116,36,100,232,251, 554 16,252,255,36,252,235,255,72,252,247,208,139,108,36,96,137,149,233,68,139,
555 1,28,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182, 555 66,252,248,139,20,135,137,252,233,137,116,36,100,232,251,1,28,139,149,233,
556 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,76,36,96,137, 556 15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,
557 145,233,248,1,65,137,192,37,252,255,7,0,0,65,193,232,11,61,252,255,7,0,0, 557 131,198,4,193,232,16,252,255,36,252,235,255,139,76,36,96,137,145,233,248,
558 15,132,244,249,248,2,137,194,139,131,233,137,205,59,131,233,137,116,36,100, 558 1,65,137,192,37,252,255,7,0,0,65,193,232,11,61,252,255,7,0,0,15,132,244,249,
559 15,131,244,251,232,251,1,29,139,149,233,15,182,78,252,253,137,4,202,199,68, 559 248,2,137,194,139,131,233,137,205,59,131,233,137,116,36,100,15,131,244,251,
560 202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, 560 232,251,1,29,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,
561 235,248,3,184,1,8,0,0,252,233,244,2,248,5,232,251,1,30,15,183,70,252,254, 561 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,184,
562 137,252,233,252,233,244,1,255,72,252,247,208,139,108,36,96,139,139,233,137, 562 1,8,0,0,252,233,244,2,248,5,232,251,1,30,15,183,70,252,254,137,252,233,252,
563 116,36,100,59,139,233,137,149,233,15,131,244,249,248,2,139,20,135,137,252, 563 233,244,1,255,72,252,247,208,139,108,36,96,139,139,233,137,116,36,100,59,
564 233,232,251,1,31,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237, 564 139,233,137,149,233,15,131,244,249,248,2,139,20,135,137,252,233,232,251,1,
565 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3, 565 31,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,
566 137,252,233,232,251,1,30,15,183,70,252,254,72,252,247,208,252,233,244,2,255, 566 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,137,252,233,
567 72,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,157,255, 567 232,251,1,30,15,183,70,252,254,72,252,247,208,252,233,244,2,255,72,252,247,
568 72,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,158,255, 568 208,139,106,252,248,139,173,233,139,4,135,252,233,244,157,255,72,252,247,
569 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,44, 569 208,139,106,252,248,139,173,233,139,4,135,252,233,244,158,255,15,182,252,
570 252,234,129,124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252, 570 236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,129,
571 242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244,36,59,133,233, 571 124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252,242,15,45,192,
572 15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,248,1, 572 252,242,15,42,200,102,15,46,193,255,15,133,244,36,59,133,233,15,131,244,36,
573 139,40,139,64,4,137,44,202,137,68,202,4,139,6,15,182,204,15,182,232,131,198, 573 193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,248,1,139,40,139,64,
574 4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,1,139,141, 574 4,137,44,202,137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
575 233,252,246,129,233,235,15,132,244,36,15,182,78,252,253,252,233,244,1,248, 575 252,255,36,252,235,248,2,131,189,233,0,15,132,244,1,139,141,233,252,246,129,
576 5,255,129,124,253,194,4,239,15,133,244,36,139,4,194,252,233,244,157,255,15, 576 233,235,15,132,244,36,15,182,78,252,253,252,233,244,1,248,5,255,129,124,253,
577 182,252,236,15,182,192,72,252,247,208,139,4,135,129,124,253,252,234,4,239, 577 194,4,239,15,133,244,36,139,4,194,252,233,244,157,255,15,182,252,236,15,182,
578 15,133,244,34,139,44,252,234,248,157,139,141,233,35,136,233,105,201,239,3, 578 192,72,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,
579 141,233,248,1,129,185,233,239,15,133,244,250,57,129,233,15,133,244,250,129, 579 44,252,234,248,157,139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,
580 121,253,4,239,15,132,244,251,15,182,70,252,253,139,41,139,73,4,137,44,194, 580 185,233,239,15,133,244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,
581 248,2,255,137,76,194,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 581 132,244,251,15,182,70,252,253,139,41,139,73,4,137,44,194,248,2,255,137,76,
582 255,36,252,235,248,3,15,182,70,252,253,185,237,252,233,244,2,248,4,139,137, 582 194,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
583 233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129, 583 248,3,15,182,70,252,253,185,237,252,233,244,2,248,4,139,137,233,133,201,15,
584 233,235,15,133,244,3,252,233,244,34,255,15,182,252,236,15,182,192,129,124, 584 133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,
585 253,252,234,4,239,15,133,244,35,139,44,252,234,59,133,233,15,131,244,35,193, 585 244,3,252,233,244,34,255,15,182,252,236,15,182,192,129,124,253,252,234,4,
586 224,3,3,133,233,129,120,253,4,239,15,132,244,248,248,1,139,40,139,64,4,137, 586 239,15,133,244,35,139,44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,
587 44,202,137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 587 233,129,120,253,4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,
588 255,36,252,235,248,2,131,189,233,0,15,132,244,1,139,141,233,252,246,129,233, 588 68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
589 235,15,132,244,35,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239, 589 235,248,2,131,189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,
590 15,133,244,39,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255,15, 590 244,35,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,
591 133,244,39,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239, 591 39,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255,15,133,244,39,
592 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202, 592 59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,
593 4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232, 593 249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,
594 16,252,255,36,252,235,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252, 594 137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
595 246,129,233,235,15,132,244,39,15,182,78,252,253,252,233,244,1,248,5,129,124, 595 36,252,235,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,
596 253,194,4,239,15,133,244,39,139,4,194,252,233,244,158,248,7,128,165,233,235, 596 235,15,132,244,39,15,182,78,252,253,252,233,244,1,248,5,129,124,253,194,4,
597 139,139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15, 597 239,15,133,244,39,139,4,194,252,233,244,158,248,7,128,165,233,235,139,139,
598 182,252,236,15,182,192,72,252,247,208,139,4,135,129,124,253,252,234,4,239, 598 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182,252,
599 15,133,244,37,139,44,252,234,248,158,139,141,233,35,136,233,105,201,239,198, 599 236,15,182,192,72,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,
600 133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133, 600 244,37,139,44,252,234,248,158,139,141,233,35,136,233,105,201,239,198,133,
601 244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15, 601 233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,
602 133,244,253,248,3,15,182,70,252,253,139,108,194,4,139,4,194,137,105,4,137, 602 251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,
603 1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248, 603 244,253,248,3,15,182,70,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139,
604 4,131,189,233,0,15,132,244,2,137,76,36,80,139,141,233,252,246,129,233,235, 604 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,131,
605 15,132,244,37,139,76,36,80,252,233,244,2,248,5,139,137,233,133,201,15,133, 605 189,233,0,15,132,244,2,137,76,36,80,139,141,233,252,246,129,233,235,15,132,
606 244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244, 606 244,37,139,76,36,80,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,
607 37,248,6,137,68,36,80,199,68,36,84,237,137,108,36,32,139,76,36,96,137,145, 607 255,139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37,
608 233,76,141,68,36,80,137,252,234,137,205,137,116,36,100,232,251,1,32,139,149, 608 248,6,137,68,36,80,199,68,36,84,237,137,108,36,32,139,76,36,96,137,145,233,
609 233,139,108,36,32,137,193,252,233,244,2,248,7,128,165,233,235,139,131,233, 609 76,141,68,36,80,137,252,234,137,205,137,116,36,100,232,251,1,32,139,149,233,
610 137,171,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124, 610 139,108,36,32,137,193,252,233,244,2,248,7,128,165,233,235,139,131,233,137,
611 253,252,234,4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193, 611 171,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,
612 224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235, 612 252,234,4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,
613 15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182, 613 3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,
614 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189,233, 614 133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,
615 0,15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,38,15,182,78, 615 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189,233,0,15,
616 252,253,252,233,244,1,248,7,128,165,233,235,139,139,233,137,171,233,137,141, 616 132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,38,15,182,78,252,
617 233,15,182,78,252,253,252,233,244,2,255,137,124,36,80,255,252,242,15,45,60, 617 253,252,233,244,1,248,7,128,165,233,235,139,139,233,137,171,233,137,141,233,
618 199,255,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,244,253, 618 15,182,78,252,253,252,233,244,2,255,137,124,36,80,255,252,242,15,45,60,199,
619 248,2,139,68,36,84,131,232,1,15,132,244,250,1,252,248,59,133,233,15,131,244, 619 255,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,
620 251,41,252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,105,4,131,193, 620 2,139,68,36,84,131,232,1,15,132,244,250,1,252,248,59,133,233,15,131,244,251,
621 8,137,111,4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,80,139,6,15, 621 41,252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,105,4,131,193,8,137,
622 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,139,76,36, 622 111,4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,80,139,6,15,182,204,
623 96,137,145,233,137,252,234,65,137,192,137,205,137,116,36,100,232,251,1,33, 623 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,139,76,36,96,137,
624 139,149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139, 624 145,233,137,252,234,65,137,192,137,205,137,116,36,100,232,251,1,33,139,149,
625 131,233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,84,255,129,124, 625 233,15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,233,
626 253,202,4,239,139,44,202,15,133,244,51,141,84,202,8,137,114,252,252,139,181, 626 137,171,233,137,133,233,252,233,244,2,255,3,68,36,84,255,129,124,253,202,
627 233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,141, 627 4,239,139,44,202,15,133,244,51,141,84,202,8,137,114,252,252,139,181,233,139,
628 76,202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,28,248, 628 14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,141,76,202,
629 52,139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137, 629 8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,28,248,52,139,
630 68,36,84,131,232,1,15,132,244,249,248,2,139,41,137,47,139,105,4,137,111,4, 630 114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,68,36,
631 131,199,8,131,193,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36, 631 84,131,232,1,15,132,244,249,248,2,139,41,137,47,139,105,4,137,111,4,131,199,
632 84,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15, 632 8,131,193,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,84,128,
633 182,205,131,198,4,252,255,36,252,235,248,5,255,252,247,198,237,15,133,244, 633 189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,
634 4,15,182,78,252,253,72,252,247,209,141,12,202,139,121,252,248,139,191,233, 634 131,198,4,252,255,36,252,235,248,5,255,252,247,198,237,15,133,244,4,15,182,
635 139,191,233,252,233,244,4,248,7,15,139,244,1,131,230,252,248,41,252,242,137, 635 78,252,253,72,252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,
636 215,139,114,252,252,252,233,244,1,255,141,76,202,8,139,105,232,139,65,252, 636 233,252,233,244,4,248,7,15,139,244,1,131,230,252,248,41,252,242,137,215,139,
637 236,137,41,137,65,4,139,105,252,240,139,65,252,244,137,105,8,137,65,12,139, 637 114,252,252,252,233,244,1,255,141,76,202,8,139,105,232,139,65,252,236,137,
638 105,224,139,65,228,137,105,252,248,137,65,252,252,129,252,248,239,184,237, 638 41,137,65,4,139,105,252,240,139,65,252,244,137,105,8,137,65,12,139,105,224,
639 15,133,244,28,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15, 639 139,65,228,137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,133,
640 182,205,131,198,4,252,255,36,252,235,255,15,182,252,236,139,66,252,248,141, 640 244,28,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,
641 12,202,139,128,233,15,182,128,233,137,124,36,80,141,188,253,194,233,43,122, 641 131,198,4,252,255,36,252,235,255,15,182,252,236,139,66,252,248,141,12,202,
642 252,252,133,252,237,15,132,244,251,141,108,252,233,252,248,57,215,15,131, 642 139,128,233,15,182,128,233,137,124,36,80,141,188,253,194,233,43,122,252,252,
643 244,248,248,1,139,71,252,248,137,1,139,71,252,252,131,199,8,137,65,4,131, 643 133,252,237,15,132,244,251,141,108,252,233,252,248,57,215,15,131,244,248,
644 193,8,57,252,233,15,131,244,249,57,215,15,130,244,1,248,2,199,65,4,237,131, 644 248,1,139,71,252,248,137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,
645 193,8,57,252,233,15,130,244,2,248,3,139,124,36,80,139,6,15,182,204,15,182, 645 252,233,15,131,244,249,57,215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,
646 232,131,198,4,193,232,16,252,255,36,252,235,248,5,199,68,36,84,1,0,0,0,137, 646 252,233,15,130,244,2,248,3,139,124,36,80,139,6,15,182,204,15,182,232,131,
647 208,41,252,248,15,134,244,3,255,137,197,193,252,237,3,131,197,1,137,108,36, 647 198,4,193,232,16,252,255,36,252,235,248,5,199,68,36,84,1,0,0,0,137,208,41,
648 84,139,108,36,96,1,200,59,133,233,15,135,244,253,248,6,139,71,252,248,137, 648 252,248,15,134,244,3,255,137,197,193,252,237,3,131,197,1,137,108,36,84,139,
649 1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,215,15,130,244,6,252,233, 649 108,36,96,1,200,59,133,233,15,135,244,253,248,6,139,71,252,248,137,1,139,
650 244,3,248,7,137,149,233,137,141,233,137,116,36,100,41,215,139,84,36,84,131, 650 71,252,252,131,199,8,137,65,4,131,193,8,57,215,15,130,244,6,252,233,244,3,
651 252,234,1,137,252,233,232,251,1,0,139,149,233,139,141,233,1,215,252,233,244, 651 248,7,137,149,233,137,141,233,137,116,36,100,41,215,139,84,36,84,131,252,
652 6,255,193,225,3,255,248,1,139,114,252,252,137,68,36,84,252,247,198,237,15, 652 234,1,137,252,233,232,251,1,0,139,149,233,139,141,233,1,215,252,233,244,6,
653 133,244,253,255,248,13,137,215,131,232,1,15,132,244,249,248,2,139,44,15,137, 653 255,193,225,3,255,248,1,139,114,252,252,137,68,36,84,252,247,198,237,15,133,
654 111,252,248,139,108,15,4,137,111,252,252,131,199,8,131,232,1,15,133,244,2, 654 244,253,255,248,13,137,215,131,232,1,15,132,244,249,248,2,139,44,15,137,111,
655 248,3,139,68,36,84,15,182,110,252,255,248,5,57,197,15,135,244,252,255,139, 655 252,248,139,108,15,4,137,111,252,252,131,199,8,131,232,1,15,133,244,2,248,
656 108,10,4,137,106,252,252,139,44,10,137,106,252,248,255,248,5,56,70,252,255, 656 3,139,68,36,84,15,182,110,252,255,248,5,57,197,15,135,244,252,255,139,108,
657 15,135,244,252,255,15,182,78,252,253,72,252,247,209,141,20,202,139,122,252, 657 10,4,137,106,252,252,139,44,10,137,106,252,248,255,248,5,56,70,252,255,15,
658 248,139,191,233,139,191,233,139,6,15,182,204,15,182,232,131,198,4,193,232, 658 135,244,252,255,15,182,78,252,253,72,252,247,209,141,20,202,139,122,252,248,
659 16,252,255,36,252,235,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194, 659 139,191,233,139,191,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
660 252,255,36,252,235,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194,
660 252,244,237,255,131,192,1,252,233,244,5,248,7,15,139,244,14,131,230,252,248, 661 252,244,237,255,131,192,1,252,233,244,5,248,7,15,139,244,14,131,230,252,248,
661 41,252,242,255,1,252,241,255,137,252,245,209,252,237,129,229,239,102,131, 662 41,252,242,255,1,252,241,255,137,252,245,209,252,237,129,229,239,102,131,
662 172,253,43,233,1,15,132,244,140,255,141,12,202,255,129,121,253,4,239,15,135, 663 172,253,43,233,1,15,132,244,140,255,141,12,202,255,129,121,253,4,239,15,135,
@@ -1370,58 +1371,59 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1370#endif 1371#endif
1371 dasm_put(Dst, 7505); 1372 dasm_put(Dst, 7505);
1372#if LJ_HASJIT 1373#if LJ_HASJIT
1373 dasm_put(Dst, 7508, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1374 dasm_put(Dst, 7508, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1375 dasm_put(Dst, 7650);
1374#endif 1376#endif
1375 dasm_put(Dst, 7661); 1377 dasm_put(Dst, 7676);
1376 if (!sse) { 1378 if (!sse) {
1377 dasm_put(Dst, 7664); 1379 dasm_put(Dst, 7679);
1378 } 1380 }
1379 dasm_put(Dst, 7709, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1381 dasm_put(Dst, 7724, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1380 if (!sse) { 1382 if (!sse) {
1381 dasm_put(Dst, 7795); 1383 dasm_put(Dst, 7810);
1382 } 1384 }
1383 dasm_put(Dst, 7840, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); 1385 dasm_put(Dst, 7855, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32));
1384 if (!sse) { 1386 if (!sse) {
1385 dasm_put(Dst, 7926); 1387 dasm_put(Dst, 7941);
1386 } 1388 }
1387 dasm_put(Dst, 7965, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1389 dasm_put(Dst, 7980, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1388 if (sse) { 1390 if (sse) {
1389 dasm_put(Dst, 8054, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1391 dasm_put(Dst, 8069, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1390 } else { 1392 } else {
1391 dasm_put(Dst, 8168); 1393 dasm_put(Dst, 8183);
1392 } 1394 }
1393 dasm_put(Dst, 8215); 1395 dasm_put(Dst, 8230);
1394 if (!sse) { 1396 if (!sse) {
1395 } else { 1397 } else {
1396 dasm_put(Dst, 8289); 1398 dasm_put(Dst, 8304);
1397 } 1399 }
1398 dasm_put(Dst, 8292); 1400 dasm_put(Dst, 8307);
1399 dasm_put(Dst, 8377, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1401 dasm_put(Dst, 8392, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1400 dasm_put(Dst, 8478, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); 1402 dasm_put(Dst, 8493, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32));
1401 dasm_put(Dst, 8646); 1403 dasm_put(Dst, 8661);
1402 if (sse) { 1404 if (sse) {
1403 dasm_put(Dst, 8687); 1405 dasm_put(Dst, 8702);
1404 dasm_put(Dst, 8757); 1406 dasm_put(Dst, 8772);
1405 dasm_put(Dst, 8830); 1407 dasm_put(Dst, 8845);
1406 } else { 1408 } else {
1407 dasm_put(Dst, 8880); 1409 dasm_put(Dst, 8895);
1408 dasm_put(Dst, 8972); 1410 dasm_put(Dst, 8987);
1409 } 1411 }
1410 dasm_put(Dst, 9018); 1412 dasm_put(Dst, 9033);
1411 if (sse) { 1413 if (sse) {
1412 dasm_put(Dst, 9024, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1414 dasm_put(Dst, 9039, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1413 dasm_put(Dst, 9113, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1415 dasm_put(Dst, 9128, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1414 } else { 1416 } else {
1415 dasm_put(Dst, 9237); 1417 dasm_put(Dst, 9252);
1416 dasm_put(Dst, 9320); 1418 dasm_put(Dst, 9335);
1417 if (cmov) { 1419 if (cmov) {
1418 dasm_put(Dst, 9375); 1420 dasm_put(Dst, 9390);
1419 } else { 1421 } else {
1420 dasm_put(Dst, 9394); 1422 dasm_put(Dst, 9409);
1421 } 1423 }
1422 dasm_put(Dst, 9233); 1424 dasm_put(Dst, 9248);
1423 } 1425 }
1424 dasm_put(Dst, 9435); 1426 dasm_put(Dst, 9450);
1425} 1427}
1426 1428
1427/* Generate the code for a single instruction. */ 1429/* Generate the code for a single instruction. */
@@ -1437,595 +1439,595 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1437 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1439 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1438 1440
1439 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1441 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1440 dasm_put(Dst, 9461, LJ_TISNUM, LJ_TISNUM); 1442 dasm_put(Dst, 9476, LJ_TISNUM, LJ_TISNUM);
1441 if (sse) { 1443 if (sse) {
1442 dasm_put(Dst, 9482);
1443 } else {
1444 dasm_put(Dst, 9497); 1444 dasm_put(Dst, 9497);
1445 } else {
1446 dasm_put(Dst, 9512);
1445 if (cmov) { 1447 if (cmov) {
1446 dasm_put(Dst, 9507); 1448 dasm_put(Dst, 9522);
1447 } else { 1449 } else {
1448 dasm_put(Dst, 9513); 1450 dasm_put(Dst, 9528);
1449 } 1451 }
1450 } 1452 }
1451 switch (op) { 1453 switch (op) {
1452 case BC_ISLT: 1454 case BC_ISLT:
1453 dasm_put(Dst, 9520); 1455 dasm_put(Dst, 9535);
1454 break; 1456 break;
1455 case BC_ISGE: 1457 case BC_ISGE:
1456 dasm_put(Dst, 9315); 1458 dasm_put(Dst, 9330);
1457 break; 1459 break;
1458 case BC_ISLE: 1460 case BC_ISLE:
1459 dasm_put(Dst, 5900); 1461 dasm_put(Dst, 5900);
1460 break; 1462 break;
1461 case BC_ISGT: 1463 case BC_ISGT:
1462 dasm_put(Dst, 9525); 1464 dasm_put(Dst, 9540);
1463 break; 1465 break;
1464 default: break; /* Shut up GCC. */ 1466 default: break; /* Shut up GCC. */
1465 } 1467 }
1466 dasm_put(Dst, 9530, -BCBIAS_J*4); 1468 dasm_put(Dst, 9545, -BCBIAS_J*4);
1467 break; 1469 break;
1468 1470
1469 case BC_ISEQV: case BC_ISNEV: 1471 case BC_ISEQV: case BC_ISNEV:
1470 vk = op == BC_ISEQV; 1472 vk = op == BC_ISEQV;
1471 dasm_put(Dst, 9564, LJ_TISNUM, LJ_TISNUM); 1473 dasm_put(Dst, 9579, LJ_TISNUM, LJ_TISNUM);
1472 if (sse) { 1474 if (sse) {
1473 dasm_put(Dst, 9590); 1475 dasm_put(Dst, 9605);
1474 } else { 1476 } else {
1475 dasm_put(Dst, 9602); 1477 dasm_put(Dst, 9617);
1476 if (cmov) { 1478 if (cmov) {
1477 dasm_put(Dst, 9507); 1479 dasm_put(Dst, 9522);
1478 } else { 1480 } else {
1479 dasm_put(Dst, 9513); 1481 dasm_put(Dst, 9528);
1480 } 1482 }
1481 } 1483 }
1482 iseqne_fp: 1484 iseqne_fp:
1483 if (vk) { 1485 if (vk) {
1484 dasm_put(Dst, 9609); 1486 dasm_put(Dst, 9624);
1485 } else { 1487 } else {
1486 dasm_put(Dst, 9618); 1488 dasm_put(Dst, 9633);
1487 } 1489 }
1488 iseqne_end: 1490 iseqne_end:
1489 if (vk) { 1491 if (vk) {
1490 dasm_put(Dst, 9627, -BCBIAS_J*4);
1491 } else {
1492 dasm_put(Dst, 9642, -BCBIAS_J*4); 1492 dasm_put(Dst, 9642, -BCBIAS_J*4);
1493 } else {
1494 dasm_put(Dst, 9657, -BCBIAS_J*4);
1493 } 1495 }
1494 dasm_put(Dst, 9544); 1496 dasm_put(Dst, 9559);
1495 if (op == BC_ISEQV || op == BC_ISNEV) { 1497 if (op == BC_ISEQV || op == BC_ISNEV) {
1496 dasm_put(Dst, 9657, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1498 dasm_put(Dst, 9672, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1497 if (vk) { 1499 if (vk) {
1498 dasm_put(Dst, 9715); 1500 dasm_put(Dst, 9730);
1499 } else { 1501 } else {
1500 dasm_put(Dst, 9719); 1502 dasm_put(Dst, 9734);
1501 } 1503 }
1502 dasm_put(Dst, 9725); 1504 dasm_put(Dst, 9740);
1503 } 1505 }
1504 break; 1506 break;
1505 case BC_ISEQS: case BC_ISNES: 1507 case BC_ISEQS: case BC_ISNES:
1506 vk = op == BC_ISEQS; 1508 vk = op == BC_ISEQS;
1507 dasm_put(Dst, 9730, LJ_TSTR); 1509 dasm_put(Dst, 9745, LJ_TSTR);
1508 iseqne_test: 1510 iseqne_test:
1509 if (vk) { 1511 if (vk) {
1510 dasm_put(Dst, 9613); 1512 dasm_put(Dst, 9628);
1511 } else { 1513 } else {
1512 dasm_put(Dst, 2802); 1514 dasm_put(Dst, 2802);
1513 } 1515 }
1514 goto iseqne_end; 1516 goto iseqne_end;
1515 case BC_ISEQN: case BC_ISNEN: 1517 case BC_ISEQN: case BC_ISNEN:
1516 vk = op == BC_ISEQN; 1518 vk = op == BC_ISEQN;
1517 dasm_put(Dst, 9754, LJ_TISNUM); 1519 dasm_put(Dst, 9769, LJ_TISNUM);
1518 if (sse) { 1520 if (sse) {
1519 dasm_put(Dst, 9768); 1521 dasm_put(Dst, 9783);
1520 } else { 1522 } else {
1521 dasm_put(Dst, 9780); 1523 dasm_put(Dst, 9795);
1522 if (cmov) { 1524 if (cmov) {
1523 dasm_put(Dst, 9507); 1525 dasm_put(Dst, 9522);
1524 } else { 1526 } else {
1525 dasm_put(Dst, 9513); 1527 dasm_put(Dst, 9528);
1526 } 1528 }
1527 } 1529 }
1528 goto iseqne_fp; 1530 goto iseqne_fp;
1529 case BC_ISEQP: case BC_ISNEP: 1531 case BC_ISEQP: case BC_ISNEP:
1530 vk = op == BC_ISEQP; 1532 vk = op == BC_ISEQP;
1531 dasm_put(Dst, 9787); 1533 dasm_put(Dst, 9802);
1532 goto iseqne_test; 1534 goto iseqne_test;
1533 1535
1534 /* -- Unary test and copy ops ------------------------------------------- */ 1536 /* -- Unary test and copy ops ------------------------------------------- */
1535 1537
1536 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1538 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1537 dasm_put(Dst, 9799, LJ_TISTRUECOND); 1539 dasm_put(Dst, 9814, LJ_TISTRUECOND);
1538 if (op == BC_IST || op == BC_ISTC) { 1540 if (op == BC_IST || op == BC_ISTC) {
1539 dasm_put(Dst, 9811); 1541 dasm_put(Dst, 9826);
1540 } else { 1542 } else {
1541 dasm_put(Dst, 9816); 1543 dasm_put(Dst, 9831);
1542 } 1544 }
1543 if (op == BC_ISTC || op == BC_ISFC) { 1545 if (op == BC_ISTC || op == BC_ISFC) {
1544 dasm_put(Dst, 9821); 1546 dasm_put(Dst, 9836);
1545 } 1547 }
1546 dasm_put(Dst, 9832, -BCBIAS_J*4); 1548 dasm_put(Dst, 9847, -BCBIAS_J*4);
1547 break; 1549 break;
1548 1550
1549 /* -- Unary ops --------------------------------------------------------- */ 1551 /* -- Unary ops --------------------------------------------------------- */
1550 1552
1551 case BC_MOV: 1553 case BC_MOV:
1552 dasm_put(Dst, 9864); 1554 dasm_put(Dst, 9879);
1553 break; 1555 break;
1554 case BC_NOT: 1556 case BC_NOT:
1555 dasm_put(Dst, 9898, LJ_TISTRUECOND, LJ_TTRUE); 1557 dasm_put(Dst, 9913, LJ_TISTRUECOND, LJ_TTRUE);
1556 break; 1558 break;
1557 case BC_UNM: 1559 case BC_UNM:
1558 dasm_put(Dst, 9934, LJ_TISNUM); 1560 dasm_put(Dst, 9949, LJ_TISNUM);
1559 if (sse) { 1561 if (sse) {
1560 dasm_put(Dst, 9945, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1562 dasm_put(Dst, 9960, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1561 } else { 1563 } else {
1562 dasm_put(Dst, 9970); 1564 dasm_put(Dst, 9985);
1563 } 1565 }
1564 dasm_put(Dst, 9544); 1566 dasm_put(Dst, 9559);
1565 break; 1567 break;
1566 case BC_LEN: 1568 case BC_LEN:
1567 dasm_put(Dst, 9979, LJ_TSTR); 1569 dasm_put(Dst, 9994, LJ_TSTR);
1568 if (sse) { 1570 if (sse) {
1569 dasm_put(Dst, 9993, Dt5(->len)); 1571 dasm_put(Dst, 10008, Dt5(->len));
1570 } else { 1572 } else {
1571 dasm_put(Dst, 10011, Dt5(->len)); 1573 dasm_put(Dst, 10026, Dt5(->len));
1572 } 1574 }
1573 dasm_put(Dst, 10020, LJ_TTAB); 1575 dasm_put(Dst, 10035, LJ_TTAB);
1574 if (sse) { 1576 if (sse) {
1575 dasm_put(Dst, 10061); 1577 dasm_put(Dst, 10076);
1576 } else { 1578 } else {
1577 } 1579 }
1578 dasm_put(Dst, 10070); 1580 dasm_put(Dst, 10085);
1579 break; 1581 break;
1580 1582
1581 /* -- Binary ops -------------------------------------------------------- */ 1583 /* -- Binary ops -------------------------------------------------------- */
1582 1584
1583 1585
1584 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1586 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1585 dasm_put(Dst, 10080); 1587 dasm_put(Dst, 10095);
1586 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1588 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1587 switch (vk) { 1589 switch (vk) {
1588 case 0: 1590 case 0:
1589 dasm_put(Dst, 10088, LJ_TISNUM); 1591 dasm_put(Dst, 10103, LJ_TISNUM);
1590 if (sse) { 1592 if (sse) {
1591 dasm_put(Dst, 10100); 1593 dasm_put(Dst, 10115);
1592 } else { 1594 } else {
1593 dasm_put(Dst, 10114); 1595 dasm_put(Dst, 10129);
1594 } 1596 }
1595 break; 1597 break;
1596 case 1: 1598 case 1:
1597 dasm_put(Dst, 10122, LJ_TISNUM); 1599 dasm_put(Dst, 10137, LJ_TISNUM);
1598 if (sse) { 1600 if (sse) {
1599 dasm_put(Dst, 10134); 1601 dasm_put(Dst, 10149);
1600 } else { 1602 } else {
1601 dasm_put(Dst, 10148); 1603 dasm_put(Dst, 10163);
1602 } 1604 }
1603 break; 1605 break;
1604 default: 1606 default:
1605 dasm_put(Dst, 10156, LJ_TISNUM, LJ_TISNUM); 1607 dasm_put(Dst, 10171, LJ_TISNUM, LJ_TISNUM);
1606 if (sse) { 1608 if (sse) {
1607 dasm_put(Dst, 10178); 1609 dasm_put(Dst, 10193);
1608 } else { 1610 } else {
1609 dasm_put(Dst, 10192); 1611 dasm_put(Dst, 10207);
1610 } 1612 }
1611 break; 1613 break;
1612 } 1614 }
1613 if (sse) { 1615 if (sse) {
1614 dasm_put(Dst, 9963); 1616 dasm_put(Dst, 9978);
1615 } else { 1617 } else {
1616 dasm_put(Dst, 9975); 1618 dasm_put(Dst, 9990);
1617 } 1619 }
1618 dasm_put(Dst, 9544); 1620 dasm_put(Dst, 9559);
1619 break; 1621 break;
1620 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1622 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1621 dasm_put(Dst, 10080); 1623 dasm_put(Dst, 10095);
1622 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1624 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1623 switch (vk) { 1625 switch (vk) {
1624 case 0: 1626 case 0:
1625 dasm_put(Dst, 10088, LJ_TISNUM); 1627 dasm_put(Dst, 10103, LJ_TISNUM);
1626 if (sse) { 1628 if (sse) {
1627 dasm_put(Dst, 10200); 1629 dasm_put(Dst, 10215);
1628 } else { 1630 } else {
1629 dasm_put(Dst, 10214); 1631 dasm_put(Dst, 10229);
1630 } 1632 }
1631 break; 1633 break;
1632 case 1: 1634 case 1:
1633 dasm_put(Dst, 10122, LJ_TISNUM); 1635 dasm_put(Dst, 10137, LJ_TISNUM);
1634 if (sse) { 1636 if (sse) {
1635 dasm_put(Dst, 10222); 1637 dasm_put(Dst, 10237);
1636 } else { 1638 } else {
1637 dasm_put(Dst, 10236); 1639 dasm_put(Dst, 10251);
1638 } 1640 }
1639 break; 1641 break;
1640 default: 1642 default:
1641 dasm_put(Dst, 10156, LJ_TISNUM, LJ_TISNUM); 1643 dasm_put(Dst, 10171, LJ_TISNUM, LJ_TISNUM);
1642 if (sse) { 1644 if (sse) {
1643 dasm_put(Dst, 10244); 1645 dasm_put(Dst, 10259);
1644 } else { 1646 } else {
1645 dasm_put(Dst, 10258); 1647 dasm_put(Dst, 10273);
1646 } 1648 }
1647 break; 1649 break;
1648 } 1650 }
1649 if (sse) { 1651 if (sse) {
1650 dasm_put(Dst, 9963); 1652 dasm_put(Dst, 9978);
1651 } else { 1653 } else {
1652 dasm_put(Dst, 9975); 1654 dasm_put(Dst, 9990);
1653 } 1655 }
1654 dasm_put(Dst, 9544); 1656 dasm_put(Dst, 9559);
1655 break; 1657 break;
1656 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1658 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1657 dasm_put(Dst, 10080); 1659 dasm_put(Dst, 10095);
1658 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1660 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1659 switch (vk) { 1661 switch (vk) {
1660 case 0: 1662 case 0:
1661 dasm_put(Dst, 10088, LJ_TISNUM); 1663 dasm_put(Dst, 10103, LJ_TISNUM);
1662 if (sse) { 1664 if (sse) {
1663 dasm_put(Dst, 10266); 1665 dasm_put(Dst, 10281);
1664 } else { 1666 } else {
1665 dasm_put(Dst, 10280); 1667 dasm_put(Dst, 10295);
1666 } 1668 }
1667 break; 1669 break;
1668 case 1: 1670 case 1:
1669 dasm_put(Dst, 10122, LJ_TISNUM); 1671 dasm_put(Dst, 10137, LJ_TISNUM);
1670 if (sse) { 1672 if (sse) {
1671 dasm_put(Dst, 10288); 1673 dasm_put(Dst, 10303);
1672 } else { 1674 } else {
1673 dasm_put(Dst, 10302); 1675 dasm_put(Dst, 10317);
1674 } 1676 }
1675 break; 1677 break;
1676 default: 1678 default:
1677 dasm_put(Dst, 10156, LJ_TISNUM, LJ_TISNUM); 1679 dasm_put(Dst, 10171, LJ_TISNUM, LJ_TISNUM);
1678 if (sse) { 1680 if (sse) {
1679 dasm_put(Dst, 10310); 1681 dasm_put(Dst, 10325);
1680 } else { 1682 } else {
1681 dasm_put(Dst, 10324); 1683 dasm_put(Dst, 10339);
1682 } 1684 }
1683 break; 1685 break;
1684 } 1686 }
1685 if (sse) { 1687 if (sse) {
1686 dasm_put(Dst, 9963); 1688 dasm_put(Dst, 9978);
1687 } else { 1689 } else {
1688 dasm_put(Dst, 9975); 1690 dasm_put(Dst, 9990);
1689 } 1691 }
1690 dasm_put(Dst, 9544); 1692 dasm_put(Dst, 9559);
1691 break; 1693 break;
1692 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1694 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1693 dasm_put(Dst, 10080); 1695 dasm_put(Dst, 10095);
1694 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1696 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1695 switch (vk) { 1697 switch (vk) {
1696 case 0: 1698 case 0:
1697 dasm_put(Dst, 10088, LJ_TISNUM); 1699 dasm_put(Dst, 10103, LJ_TISNUM);
1698 if (sse) { 1700 if (sse) {
1699 dasm_put(Dst, 10332); 1701 dasm_put(Dst, 10347);
1700 } else { 1702 } else {
1701 dasm_put(Dst, 10346); 1703 dasm_put(Dst, 10361);
1702 } 1704 }
1703 break; 1705 break;
1704 case 1: 1706 case 1:
1705 dasm_put(Dst, 10122, LJ_TISNUM); 1707 dasm_put(Dst, 10137, LJ_TISNUM);
1706 if (sse) { 1708 if (sse) {
1707 dasm_put(Dst, 10354); 1709 dasm_put(Dst, 10369);
1708 } else { 1710 } else {
1709 dasm_put(Dst, 10368); 1711 dasm_put(Dst, 10383);
1710 } 1712 }
1711 break; 1713 break;
1712 default: 1714 default:
1713 dasm_put(Dst, 10156, LJ_TISNUM, LJ_TISNUM); 1715 dasm_put(Dst, 10171, LJ_TISNUM, LJ_TISNUM);
1714 if (sse) { 1716 if (sse) {
1715 dasm_put(Dst, 10376); 1717 dasm_put(Dst, 10391);
1716 } else { 1718 } else {
1717 dasm_put(Dst, 10390); 1719 dasm_put(Dst, 10405);
1718 } 1720 }
1719 break; 1721 break;
1720 } 1722 }
1721 if (sse) { 1723 if (sse) {
1722 dasm_put(Dst, 9963); 1724 dasm_put(Dst, 9978);
1723 } else { 1725 } else {
1724 dasm_put(Dst, 9975); 1726 dasm_put(Dst, 9990);
1725 } 1727 }
1726 dasm_put(Dst, 9544); 1728 dasm_put(Dst, 9559);
1727 break; 1729 break;
1728 case BC_MODVN: 1730 case BC_MODVN:
1729 dasm_put(Dst, 10080); 1731 dasm_put(Dst, 10095);
1730 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1732 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1731 switch (vk) { 1733 switch (vk) {
1732 case 0: 1734 case 0:
1733 dasm_put(Dst, 10088, LJ_TISNUM); 1735 dasm_put(Dst, 10103, LJ_TISNUM);
1734 if (sse) { 1736 if (sse) {
1735 dasm_put(Dst, 10398); 1737 dasm_put(Dst, 10413);
1736 } else { 1738 } else {
1737 dasm_put(Dst, 10412); 1739 dasm_put(Dst, 10427);
1738 } 1740 }
1739 break; 1741 break;
1740 case 1: 1742 case 1:
1741 dasm_put(Dst, 10122, LJ_TISNUM); 1743 dasm_put(Dst, 10137, LJ_TISNUM);
1742 if (sse) { 1744 if (sse) {
1743 dasm_put(Dst, 10420); 1745 dasm_put(Dst, 10435);
1744 } else { 1746 } else {
1745 dasm_put(Dst, 10434); 1747 dasm_put(Dst, 10449);
1746 } 1748 }
1747 break; 1749 break;
1748 default: 1750 default:
1749 dasm_put(Dst, 10156, LJ_TISNUM, LJ_TISNUM); 1751 dasm_put(Dst, 10171, LJ_TISNUM, LJ_TISNUM);
1750 if (sse) { 1752 if (sse) {
1751 dasm_put(Dst, 10442); 1753 dasm_put(Dst, 10457);
1752 } else { 1754 } else {
1753 dasm_put(Dst, 10456); 1755 dasm_put(Dst, 10471);
1754 } 1756 }
1755 break; 1757 break;
1756 } 1758 }
1757 dasm_put(Dst, 10464); 1759 dasm_put(Dst, 10479);
1758 if (sse) { 1760 if (sse) {
1759 dasm_put(Dst, 9963); 1761 dasm_put(Dst, 9978);
1760 } else { 1762 } else {
1761 dasm_put(Dst, 9975); 1763 dasm_put(Dst, 9990);
1762 } 1764 }
1763 dasm_put(Dst, 9544); 1765 dasm_put(Dst, 9559);
1764 break; 1766 break;
1765 case BC_MODNV: case BC_MODVV: 1767 case BC_MODNV: case BC_MODVV:
1766 dasm_put(Dst, 10080); 1768 dasm_put(Dst, 10095);
1767 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1769 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1768 switch (vk) { 1770 switch (vk) {
1769 case 0: 1771 case 0:
1770 dasm_put(Dst, 10088, LJ_TISNUM); 1772 dasm_put(Dst, 10103, LJ_TISNUM);
1771 if (sse) { 1773 if (sse) {
1772 dasm_put(Dst, 10398); 1774 dasm_put(Dst, 10413);
1773 } else { 1775 } else {
1774 dasm_put(Dst, 10412); 1776 dasm_put(Dst, 10427);
1775 } 1777 }
1776 break; 1778 break;
1777 case 1: 1779 case 1:
1778 dasm_put(Dst, 10122, LJ_TISNUM); 1780 dasm_put(Dst, 10137, LJ_TISNUM);
1779 if (sse) { 1781 if (sse) {
1780 dasm_put(Dst, 10420); 1782 dasm_put(Dst, 10435);
1781 } else { 1783 } else {
1782 dasm_put(Dst, 10434); 1784 dasm_put(Dst, 10449);
1783 } 1785 }
1784 break; 1786 break;
1785 default: 1787 default:
1786 dasm_put(Dst, 10156, LJ_TISNUM, LJ_TISNUM); 1788 dasm_put(Dst, 10171, LJ_TISNUM, LJ_TISNUM);
1787 if (sse) { 1789 if (sse) {
1788 dasm_put(Dst, 10442); 1790 dasm_put(Dst, 10457);
1789 } else { 1791 } else {
1790 dasm_put(Dst, 10456); 1792 dasm_put(Dst, 10471);
1791 } 1793 }
1792 break; 1794 break;
1793 } 1795 }
1794 dasm_put(Dst, 10470); 1796 dasm_put(Dst, 10485);
1795 break; 1797 break;
1796 case BC_POW: 1798 case BC_POW:
1797 dasm_put(Dst, 10080); 1799 dasm_put(Dst, 10095);
1798 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1800 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1799 switch (vk) { 1801 switch (vk) {
1800 case 0: 1802 case 0:
1801 dasm_put(Dst, 10088, LJ_TISNUM); 1803 dasm_put(Dst, 10103, LJ_TISNUM);
1802 if (sse) { 1804 if (sse) {
1803 dasm_put(Dst, 10398); 1805 dasm_put(Dst, 10413);
1804 } else { 1806 } else {
1805 dasm_put(Dst, 10412); 1807 dasm_put(Dst, 10427);
1806 } 1808 }
1807 break; 1809 break;
1808 case 1: 1810 case 1:
1809 dasm_put(Dst, 10122, LJ_TISNUM); 1811 dasm_put(Dst, 10137, LJ_TISNUM);
1810 if (sse) { 1812 if (sse) {
1811 dasm_put(Dst, 10420); 1813 dasm_put(Dst, 10435);
1812 } else { 1814 } else {
1813 dasm_put(Dst, 10434); 1815 dasm_put(Dst, 10449);
1814 } 1816 }
1815 break; 1817 break;
1816 default: 1818 default:
1817 dasm_put(Dst, 10156, LJ_TISNUM, LJ_TISNUM); 1819 dasm_put(Dst, 10171, LJ_TISNUM, LJ_TISNUM);
1818 if (sse) { 1820 if (sse) {
1819 dasm_put(Dst, 10442); 1821 dasm_put(Dst, 10457);
1820 } else { 1822 } else {
1821 dasm_put(Dst, 10456); 1823 dasm_put(Dst, 10471);
1822 } 1824 }
1823 break; 1825 break;
1824 } 1826 }
1825 dasm_put(Dst, 10475); 1827 dasm_put(Dst, 10490);
1826 if (sse) { 1828 if (sse) {
1827 dasm_put(Dst, 9963); 1829 dasm_put(Dst, 9978);
1828 } else { 1830 } else {
1829 dasm_put(Dst, 9975); 1831 dasm_put(Dst, 9990);
1830 } 1832 }
1831 dasm_put(Dst, 9544); 1833 dasm_put(Dst, 9559);
1832 break; 1834 break;
1833 1835
1834 case BC_CAT: 1836 case BC_CAT:
1835 dasm_put(Dst, 10479, Dt1(->base), Dt1(->base)); 1837 dasm_put(Dst, 10494, Dt1(->base), Dt1(->base));
1836 break; 1838 break;
1837 1839
1838 /* -- Constant ops ------------------------------------------------------ */ 1840 /* -- Constant ops ------------------------------------------------------ */
1839 1841
1840 case BC_KSTR: 1842 case BC_KSTR:
1841 dasm_put(Dst, 10569, LJ_TSTR); 1843 dasm_put(Dst, 10584, LJ_TSTR);
1842 break; 1844 break;
1843 case BC_KSHORT: 1845 case BC_KSHORT:
1844 if (sse) { 1846 if (sse) {
1845 dasm_put(Dst, 10604);
1846 } else {
1847 dasm_put(Dst, 10619); 1847 dasm_put(Dst, 10619);
1848 } else {
1849 dasm_put(Dst, 10634);
1848 } 1850 }
1849 dasm_put(Dst, 9544); 1851 dasm_put(Dst, 9559);
1850 break; 1852 break;
1851 case BC_KNUM: 1853 case BC_KNUM:
1852 if (sse) { 1854 if (sse) {
1853 dasm_put(Dst, 10627); 1855 dasm_put(Dst, 10642);
1854 } else { 1856 } else {
1855 dasm_put(Dst, 10640); 1857 dasm_put(Dst, 10655);
1856 } 1858 }
1857 dasm_put(Dst, 9544); 1859 dasm_put(Dst, 9559);
1858 break; 1860 break;
1859 case BC_KPRI: 1861 case BC_KPRI:
1860 dasm_put(Dst, 10647); 1862 dasm_put(Dst, 10662);
1861 break; 1863 break;
1862 case BC_KNIL: 1864 case BC_KNIL:
1863 dasm_put(Dst, 10675, LJ_TNIL); 1865 dasm_put(Dst, 10690, LJ_TNIL);
1864 break; 1866 break;
1865 1867
1866 /* -- Upvalue and function ops ------------------------------------------ */ 1868 /* -- Upvalue and function ops ------------------------------------------ */
1867 1869
1868 case BC_UGET: 1870 case BC_UGET:
1869 dasm_put(Dst, 10722, offsetof(GCfuncL, uvptr), DtA(->v)); 1871 dasm_put(Dst, 10737, offsetof(GCfuncL, uvptr), DtA(->v));
1870 break; 1872 break;
1871 case BC_USETV: 1873 case BC_USETV:
1872#define TV2MARKOFS \ 1874#define TV2MARKOFS \
1873 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 1875 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1874 dasm_put(Dst, 10767, 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); 1876 dasm_put(Dst, 10782, 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);
1875 dasm_put(Dst, 10858); 1877 dasm_put(Dst, 10873);
1876 break; 1878 break;
1877#undef TV2MARKOFS 1879#undef TV2MARKOFS
1878 case BC_USETS: 1880 case BC_USETS:
1879 dasm_put(Dst, 10870, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 1881 dasm_put(Dst, 10885, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1880 break; 1882 break;
1881 case BC_USETN: 1883 case BC_USETN:
1882 dasm_put(Dst, 10963); 1884 dasm_put(Dst, 10978);
1883 if (sse) { 1885 if (sse) {
1884 dasm_put(Dst, 10968); 1886 dasm_put(Dst, 10983);
1885 } else { 1887 } else {
1886 dasm_put(Dst, 9783); 1888 dasm_put(Dst, 9798);
1887 } 1889 }
1888 dasm_put(Dst, 10975, offsetof(GCfuncL, uvptr), DtA(->v)); 1890 dasm_put(Dst, 10990, offsetof(GCfuncL, uvptr), DtA(->v));
1889 if (sse) { 1891 if (sse) {
1890 dasm_put(Dst, 10984); 1892 dasm_put(Dst, 10999);
1891 } else { 1893 } else {
1892 dasm_put(Dst, 10990); 1894 dasm_put(Dst, 11005);
1893 } 1895 }
1894 dasm_put(Dst, 9544); 1896 dasm_put(Dst, 9559);
1895 break; 1897 break;
1896 case BC_USETP: 1898 case BC_USETP:
1897 dasm_put(Dst, 10993, offsetof(GCfuncL, uvptr), DtA(->v)); 1899 dasm_put(Dst, 11008, offsetof(GCfuncL, uvptr), DtA(->v));
1898 break; 1900 break;
1899 case BC_UCLO: 1901 case BC_UCLO:
1900 dasm_put(Dst, 11032, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 1902 dasm_put(Dst, 11047, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
1901 break; 1903 break;
1902 1904
1903 case BC_FNEW: 1905 case BC_FNEW:
1904 dasm_put(Dst, 11087, Dt1(->base), Dt1(->base), LJ_TFUNC); 1906 dasm_put(Dst, 11102, Dt1(->base), Dt1(->base), LJ_TFUNC);
1905 break; 1907 break;
1906 1908
1907 /* -- Table ops --------------------------------------------------------- */ 1909 /* -- Table ops --------------------------------------------------------- */
1908 1910
1909 case BC_TNEW: 1911 case BC_TNEW:
1910 dasm_put(Dst, 11153, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 1912 dasm_put(Dst, 11168, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
1911 break; 1913 break;
1912 case BC_TDUP: 1914 case BC_TDUP:
1913 dasm_put(Dst, 11274, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 1915 dasm_put(Dst, 11289, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
1914 break; 1916 break;
1915 1917
1916 case BC_GGET: 1918 case BC_GGET:
1917 dasm_put(Dst, 11369, Dt7(->env)); 1919 dasm_put(Dst, 11384, Dt7(->env));
1918 break; 1920 break;
1919 case BC_GSET: 1921 case BC_GSET:
1920 dasm_put(Dst, 11388, Dt7(->env)); 1922 dasm_put(Dst, 11403, Dt7(->env));
1921 break; 1923 break;
1922 1924
1923 case BC_TGETV: 1925 case BC_TGETV:
1924 dasm_put(Dst, 11407, LJ_TTAB, LJ_TISNUM); 1926 dasm_put(Dst, 11422, LJ_TTAB, LJ_TISNUM);
1925 if (sse) { 1927 if (sse) {
1926 dasm_put(Dst, 11440); 1928 dasm_put(Dst, 11455);
1927 } else { 1929 } else {
1928 } 1930 }
1929 dasm_put(Dst, 11461, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1931 dasm_put(Dst, 11476, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1930 dasm_put(Dst, 11554, LJ_TSTR); 1932 dasm_put(Dst, 11569, LJ_TSTR);
1931 break; 1933 break;
1932 case BC_TGETS: 1934 case BC_TGETS:
1933 dasm_put(Dst, 11572, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 1935 dasm_put(Dst, 11587, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
1934 dasm_put(Dst, 11657, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1936 dasm_put(Dst, 11672, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1935 break; 1937 break;
1936 case BC_TGETB: 1938 case BC_TGETB:
1937 dasm_put(Dst, 11729, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1939 dasm_put(Dst, 11744, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1938 dasm_put(Dst, 10070); 1940 dasm_put(Dst, 10085);
1939 break; 1941 break;
1940 1942
1941 case BC_TSETV: 1943 case BC_TSETV:
1942 dasm_put(Dst, 11829, LJ_TTAB, LJ_TISNUM); 1944 dasm_put(Dst, 11844, LJ_TTAB, LJ_TISNUM);
1943 if (sse) { 1945 if (sse) {
1944 dasm_put(Dst, 11440); 1946 dasm_put(Dst, 11455);
1945 } else { 1947 } else {
1946 } 1948 }
1947 dasm_put(Dst, 11862, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 1949 dasm_put(Dst, 11877, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
1948 dasm_put(Dst, 11946, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1950 dasm_put(Dst, 11961, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1949 break; 1951 break;
1950 case BC_TSETS: 1952 case BC_TSETS:
1951 dasm_put(Dst, 12008, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 1953 dasm_put(Dst, 12023, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
1952 dasm_put(Dst, 12084, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 1954 dasm_put(Dst, 12099, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
1953 dasm_put(Dst, 12177, 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)); 1955 dasm_put(Dst, 12192, 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));
1954 break; 1956 break;
1955 case BC_TSETB: 1957 case BC_TSETB:
1956 dasm_put(Dst, 12268, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 1958 dasm_put(Dst, 12283, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
1957 dasm_put(Dst, 12367, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1959 dasm_put(Dst, 12382, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1958 break; 1960 break;
1959 1961
1960 case BC_TSETM: 1962 case BC_TSETM:
1961 dasm_put(Dst, 12413); 1963 dasm_put(Dst, 12428);
1962 if (sse) { 1964 if (sse) {
1963 dasm_put(Dst, 12418); 1965 dasm_put(Dst, 12433);
1964 } else { 1966 } else {
1965 } 1967 }
1966 dasm_put(Dst, 12425, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 1968 dasm_put(Dst, 12440, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
1967 dasm_put(Dst, 12565, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1969 dasm_put(Dst, 12580, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1968 break; 1970 break;
1969 1971
1970 /* -- Calls and vararg handling ----------------------------------------- */ 1972 /* -- Calls and vararg handling ----------------------------------------- */
1971 1973
1972 case BC_CALL: case BC_CALLM: 1974 case BC_CALL: case BC_CALLM:
1973 dasm_put(Dst, 10084); 1975 dasm_put(Dst, 10099);
1974 if (op == BC_CALLM) { 1976 if (op == BC_CALLM) {
1975 dasm_put(Dst, 12583); 1977 dasm_put(Dst, 12598);
1976 } 1978 }
1977 dasm_put(Dst, 12588, LJ_TFUNC, Dt7(->pc)); 1979 dasm_put(Dst, 12603, LJ_TFUNC, Dt7(->pc));
1978 break; 1980 break;
1979 1981
1980 case BC_CALLMT: 1982 case BC_CALLMT:
1981 dasm_put(Dst, 12583); 1983 dasm_put(Dst, 12598);
1982 break; 1984 break;
1983 case BC_CALLT: 1985 case BC_CALLT:
1984 dasm_put(Dst, 12630, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 1986 dasm_put(Dst, 12645, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
1985 dasm_put(Dst, 12749, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); 1987 dasm_put(Dst, 12764, FRAME_TYPE, Dt7(->pc), PC2PROTO(k));
1986 break; 1988 break;
1987 1989
1988 case BC_ITERC: 1990 case BC_ITERC:
1989 dasm_put(Dst, 12807, LJ_TFUNC, 2+1, Dt7(->pc)); 1991 dasm_put(Dst, 12822, LJ_TFUNC, 2+1, Dt7(->pc));
1990 break; 1992 break;
1991 1993
1992 case BC_VARG: 1994 case BC_VARG:
1993 dasm_put(Dst, 12888, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); 1995 dasm_put(Dst, 12903, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL);
1994 dasm_put(Dst, 13033, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 1996 dasm_put(Dst, 13048, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
1995 break; 1997 break;
1996 1998
1997 /* -- Returns ----------------------------------------------------------- */ 1999 /* -- Returns ----------------------------------------------------------- */
1998 2000
1999 case BC_RETM: 2001 case BC_RETM:
2000 dasm_put(Dst, 12583); 2002 dasm_put(Dst, 12598);
2001 break; 2003 break;
2002 2004
2003 case BC_RET: case BC_RET0: case BC_RET1: 2005 case BC_RET: case BC_RET0: case BC_RET1:
2004 if (op != BC_RET0) { 2006 if (op != BC_RET0) {
2005 dasm_put(Dst, 13132); 2007 dasm_put(Dst, 13147);
2006 } 2008 }
2007 dasm_put(Dst, 13136, FRAME_TYPE); 2009 dasm_put(Dst, 13151, FRAME_TYPE);
2008 switch (op) { 2010 switch (op) {
2009 case BC_RET: 2011 case BC_RET:
2010 dasm_put(Dst, 13155); 2012 dasm_put(Dst, 13170);
2011 break; 2013 break;
2012 case BC_RET1: 2014 case BC_RET1:
2013 dasm_put(Dst, 13213); 2015 dasm_put(Dst, 13228);
2014 /* fallthrough */ 2016 /* fallthrough */
2015 case BC_RET0: 2017 case BC_RET0:
2016 dasm_put(Dst, 13229); 2018 dasm_put(Dst, 13244);
2017 default: 2019 default:
2018 break; 2020 break;
2019 } 2021 }
2020 dasm_put(Dst, 13240, Dt7(->pc), PC2PROTO(k)); 2022 dasm_put(Dst, 13255, Dt7(->pc), PC2PROTO(k));
2021 if (op == BC_RET) { 2023 if (op == BC_RET) {
2022 dasm_put(Dst, 13284, LJ_TNIL); 2024 dasm_put(Dst, 13299, LJ_TNIL);
2023 } else { 2025 } else {
2024 dasm_put(Dst, 13293, LJ_TNIL); 2026 dasm_put(Dst, 13308, LJ_TNIL);
2025 } 2027 }
2026 dasm_put(Dst, 13300); 2028 dasm_put(Dst, 13315);
2027 if (op != BC_RET0) { 2029 if (op != BC_RET0) {
2028 dasm_put(Dst, 13321); 2030 dasm_put(Dst, 13336);
2029 } 2031 }
2030 dasm_put(Dst, 4570); 2032 dasm_put(Dst, 4570);
2031 break; 2033 break;
@@ -2035,7 +2037,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2035 2037
2036 case BC_FORL: 2038 case BC_FORL:
2037#if LJ_HASJIT 2039#if LJ_HASJIT
2038 dasm_put(Dst, 13325, HOTCOUNT_PCMASK, GG_DISP2HOT); 2040 dasm_put(Dst, 13340, HOTCOUNT_PCMASK, GG_DISP2HOT);
2039#endif 2041#endif
2040 break; 2042 break;
2041 2043
@@ -2047,57 +2049,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2047 case BC_FORI: 2049 case BC_FORI:
2048 case BC_IFORL: 2050 case BC_IFORL:
2049 vk = (op == BC_IFORL || op == BC_JFORL); 2051 vk = (op == BC_IFORL || op == BC_JFORL);
2050 dasm_put(Dst, 13346); 2052 dasm_put(Dst, 13361);
2051 if (!vk) { 2053 if (!vk) {
2052 dasm_put(Dst, 13350, LJ_TISNUM, LJ_TISNUM); 2054 dasm_put(Dst, 13365, LJ_TISNUM, LJ_TISNUM);
2053 } 2055 }
2054 dasm_put(Dst, 13369); 2056 dasm_put(Dst, 13384);
2055 if (!vk) { 2057 if (!vk) {
2056 dasm_put(Dst, 13373, LJ_TISNUM); 2058 dasm_put(Dst, 13388, LJ_TISNUM);
2057 } 2059 }
2058 if (sse) { 2060 if (sse) {
2059 dasm_put(Dst, 13382); 2061 dasm_put(Dst, 13397);
2060 if (vk) { 2062 if (vk) {
2061 dasm_put(Dst, 13394); 2063 dasm_put(Dst, 13409);
2062 } else { 2064 } else {
2063 dasm_put(Dst, 13413); 2065 dasm_put(Dst, 13428);
2064 } 2066 }
2065 dasm_put(Dst, 13418); 2067 dasm_put(Dst, 13433);
2066 } else { 2068 } else {
2067 dasm_put(Dst, 13431); 2069 dasm_put(Dst, 13446);
2068 if (vk) { 2070 if (vk) {
2069 dasm_put(Dst, 13437); 2071 dasm_put(Dst, 13452);
2070 } else { 2072 } else {
2071 dasm_put(Dst, 13453); 2073 dasm_put(Dst, 13468);
2072 } 2074 }
2073 dasm_put(Dst, 13461); 2075 dasm_put(Dst, 13476);
2074 if (cmov) { 2076 if (cmov) {
2075 dasm_put(Dst, 9507); 2077 dasm_put(Dst, 9522);
2076 } else { 2078 } else {
2077 dasm_put(Dst, 9513); 2079 dasm_put(Dst, 9528);
2078 } 2080 }
2079 if (!cmov) { 2081 if (!cmov) {
2080 dasm_put(Dst, 13466); 2082 dasm_put(Dst, 13481);
2081 } 2083 }
2082 } 2084 }
2083 if (op == BC_FORI) { 2085 if (op == BC_FORI) {
2084 dasm_put(Dst, 13472, -BCBIAS_J*4); 2086 dasm_put(Dst, 13487, -BCBIAS_J*4);
2085 } else if (op == BC_JFORI) { 2087 } else if (op == BC_JFORI) {
2086 dasm_put(Dst, 13482, -BCBIAS_J*4, BC_JLOOP); 2088 dasm_put(Dst, 13497, -BCBIAS_J*4, BC_JLOOP);
2087 } else if (op == BC_IFORL) { 2089 } else if (op == BC_IFORL) {
2088 dasm_put(Dst, 13496, -BCBIAS_J*4); 2090 dasm_put(Dst, 13511, -BCBIAS_J*4);
2089 } else { 2091 } else {
2090 dasm_put(Dst, 13492, BC_JLOOP); 2092 dasm_put(Dst, 13507, BC_JLOOP);
2091 } 2093 }
2092 dasm_put(Dst, 9542); 2094 dasm_put(Dst, 9557);
2093 if (sse) { 2095 if (sse) {
2094 dasm_put(Dst, 13506); 2096 dasm_put(Dst, 13521);
2095 } 2097 }
2096 break; 2098 break;
2097 2099
2098 case BC_ITERL: 2100 case BC_ITERL:
2099#if LJ_HASJIT 2101#if LJ_HASJIT
2100 dasm_put(Dst, 13325, HOTCOUNT_PCMASK, GG_DISP2HOT); 2102 dasm_put(Dst, 13340, HOTCOUNT_PCMASK, GG_DISP2HOT);
2101#endif 2103#endif
2102 break; 2104 break;
2103 2105
@@ -2106,33 +2108,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2106 break; 2108 break;
2107#endif 2109#endif
2108 case BC_IITERL: 2110 case BC_IITERL:
2109 dasm_put(Dst, 13517, LJ_TNIL); 2111 dasm_put(Dst, 13532, LJ_TNIL);
2110 if (op == BC_JITERL) { 2112 if (op == BC_JITERL) {
2111 dasm_put(Dst, 13532, BC_JLOOP); 2113 dasm_put(Dst, 13547, BC_JLOOP);
2112 } else { 2114 } else {
2113 dasm_put(Dst, 13546, -BCBIAS_J*4); 2115 dasm_put(Dst, 13561, -BCBIAS_J*4);
2114 } 2116 }
2115 dasm_put(Dst, 9842); 2117 dasm_put(Dst, 9857);
2116 break; 2118 break;
2117 2119
2118 case BC_LOOP: 2120 case BC_LOOP:
2119#if LJ_HASJIT 2121#if LJ_HASJIT
2120 dasm_put(Dst, 13325, HOTCOUNT_PCMASK, GG_DISP2HOT); 2122 dasm_put(Dst, 13340, HOTCOUNT_PCMASK, GG_DISP2HOT);
2121#endif 2123#endif
2122 break; 2124 break;
2123 2125
2124 case BC_ILOOP: 2126 case BC_ILOOP:
2125 dasm_put(Dst, 9544); 2127 dasm_put(Dst, 9559);
2126 break; 2128 break;
2127 2129
2128 case BC_JLOOP: 2130 case BC_JLOOP:
2129#if LJ_HASJIT 2131#if LJ_HASJIT
2130 dasm_put(Dst, 13562, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16); 2132 dasm_put(Dst, 13577, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16);
2131#endif 2133#endif
2132 break; 2134 break;
2133 2135
2134 case BC_JMP: 2136 case BC_JMP:
2135 dasm_put(Dst, 13671, -BCBIAS_J*4); 2137 dasm_put(Dst, 13686, -BCBIAS_J*4);
2136 break; 2138 break;
2137 2139
2138 /* -- Function headers -------------------------------------------------- */ 2140 /* -- Function headers -------------------------------------------------- */
@@ -2146,7 +2148,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2146 2148
2147 case BC_FUNCF: 2149 case BC_FUNCF:
2148#if LJ_HASJIT 2150#if LJ_HASJIT
2149 dasm_put(Dst, 13696, HOTCOUNT_PCMASK, GG_DISP2HOT); 2151 dasm_put(Dst, 13711, HOTCOUNT_PCMASK, GG_DISP2HOT);
2150#endif 2152#endif
2151 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2153 case BC_FUNCV: /* NYI: compiled vararg functions. */
2152 break; 2154 break;
@@ -2156,47 +2158,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2156 break; 2158 break;
2157#endif 2159#endif
2158 case BC_IFUNCF: 2160 case BC_IFUNCF:
2159 dasm_put(Dst, 13717, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2161 dasm_put(Dst, 13732, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2160 if (op == BC_JFUNCF) { 2162 if (op == BC_JFUNCF) {
2161 dasm_put(Dst, 13747, BC_JLOOP); 2163 dasm_put(Dst, 13762, BC_JLOOP);
2162 } else { 2164 } else {
2163 dasm_put(Dst, 9544); 2165 dasm_put(Dst, 9559);
2164 } 2166 }
2165 dasm_put(Dst, 13756, LJ_TNIL); 2167 dasm_put(Dst, 13771, LJ_TNIL);
2166 break; 2168 break;
2167 2169
2168 case BC_JFUNCV: 2170 case BC_JFUNCV:
2169#if !LJ_HASJIT 2171#if !LJ_HASJIT
2170 break; 2172 break;
2171#endif 2173#endif
2172 dasm_put(Dst, 9235); 2174 dasm_put(Dst, 9250);
2173 break; /* NYI: compiled vararg functions. */ 2175 break; /* NYI: compiled vararg functions. */
2174 2176
2175 case BC_IFUNCV: 2177 case BC_IFUNCV:
2176 dasm_put(Dst, 13778, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2178 dasm_put(Dst, 13793, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2177 if (op == BC_JFUNCV) { 2179 if (op == BC_JFUNCV) {
2178 dasm_put(Dst, 13747, BC_JLOOP); 2180 dasm_put(Dst, 13762, BC_JLOOP);
2179 } else { 2181 } else {
2180 dasm_put(Dst, 13869, -4+PC2PROTO(k)); 2182 dasm_put(Dst, 13884, -4+PC2PROTO(k));
2181 } 2183 }
2182 dasm_put(Dst, 13892, LJ_TNIL); 2184 dasm_put(Dst, 13907, LJ_TNIL);
2183 break; 2185 break;
2184 2186
2185 case BC_FUNCC: 2187 case BC_FUNCC:
2186 case BC_FUNCCW: 2188 case BC_FUNCCW:
2187 dasm_put(Dst, 13914, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2189 dasm_put(Dst, 13929, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2188 if (op == BC_FUNCC) { 2190 if (op == BC_FUNCC) {
2189 dasm_put(Dst, 13944); 2191 dasm_put(Dst, 13959);
2190 } else { 2192 } else {
2191 dasm_put(Dst, 13948); 2193 dasm_put(Dst, 13963);
2192 } 2194 }
2193 dasm_put(Dst, 13956, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2195 dasm_put(Dst, 13971, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2194 if (op == BC_FUNCC) { 2196 if (op == BC_FUNCC) {
2195 dasm_put(Dst, 13965); 2197 dasm_put(Dst, 13980);
2196 } else { 2198 } else {
2197 dasm_put(Dst, 13969, DISPATCH_GL(wrapf)); 2199 dasm_put(Dst, 13984, DISPATCH_GL(wrapf));
2198 } 2200 }
2199 dasm_put(Dst, 13974, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2201 dasm_put(Dst, 13989, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2200 break; 2202 break;
2201 2203
2202 /* ---------------------------------------------------------------------- */ 2204 /* ---------------------------------------------------------------------- */
@@ -2224,7 +2226,7 @@ static int build_backend(BuildCtx *ctx)
2224 2226
2225 build_subroutines(ctx, cmov, sse); 2227 build_subroutines(ctx, cmov, sse);
2226 2228
2227 dasm_put(Dst, 13999); 2229 dasm_put(Dst, 14014);
2228 for (op = 0; op < BC__MAX; op++) 2230 for (op = 0; op < BC__MAX; op++)
2229 build_ins(ctx, (BCOp)op, op, cmov, sse); 2231 build_ins(ctx, (BCOp)op, op, cmov, sse);
2230 2232