summaryrefslogtreecommitdiff
path: root/src/buildvm_x64.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x64.h')
-rw-r--r--src/buildvm_x64.h1208
1 files changed, 604 insertions, 604 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h
index 747253fd..6a15006b 100644
--- a/src/buildvm_x64.h
+++ b/src/buildvm_x64.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[14067] = { 15static const unsigned char build_actionlist[14075] = {
16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141, 16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141,
17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4, 17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4,
18 252,247,195,237,15,132,244,13,248,14,252,247,195,237,15,132,244,10,65,199, 18 252,247,195,237,15,132,244,13,248,14,252,247,195,237,15,132,244,10,65,199,
@@ -377,322 +377,322 @@ static const unsigned char build_actionlist[14067] = {
377 15,17,69,192,252,242,15,17,125,184,252,242,15,17,117,176,252,242,15,17,109, 377 15,17,69,192,252,242,15,17,125,184,252,242,15,17,117,176,252,242,15,17,109,
378 168,252,242,15,17,101,160,252,242,15,17,93,152,252,242,15,17,85,144,252,242, 378 168,252,242,15,17,101,160,252,242,15,17,93,152,252,242,15,17,85,144,252,242,
379 15,17,77,136,252,242,15,17,69,128,65,139,174,233,65,139,150,233,73,137,174, 379 15,17,77,136,252,242,15,17,69,128,65,139,174,233,65,139,150,233,73,137,174,
380 233,137,149,233,72,137,230,65,141,190,233,232,251,1,23,72,139,141,233,72, 380 233,65,199,134,233,0,0,0,0,137,149,233,72,137,230,65,141,190,233,232,251,
381 129,225,239,72,137,204,137,169,233,139,149,233,139,153,233,252,233,244,247, 381 1,23,72,139,141,233,72,129,225,239,72,137,204,137,169,233,139,149,233,139,
382 255,248,144,255,72,131,196,16,248,1,76,139,108,36,8,76,139,36,36,133,192, 382 153,233,252,233,244,247,255,248,144,255,72,131,196,16,248,1,76,139,108,36,
383 15,136,244,249,137,68,36,4,68,139,122,252,248,69,139,191,233,69,139,191,233, 383 8,76,139,36,36,133,192,15,136,244,249,137,68,36,4,68,139,122,252,248,69,139,
384 65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,182,204,15,182,232,131, 384 191,233,69,139,191,233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,
385 195,4,193,232,16,129,252,253,239,15,130,244,248,139,68,36,4,248,2,65,252, 385 182,204,15,182,232,131,195,4,193,232,16,129,252,253,239,15,130,244,248,139,
386 255,36,252,238,248,3,252,247,216,137,252,239,137,198,232,251,1,24,255,248, 386 68,36,4,248,2,65,252,255,36,252,238,248,3,252,247,216,137,252,239,137,198,
387 82,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255, 387 232,251,1,24,255,248,82,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,
388 252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8, 388 36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,
389 195,255,248,145,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15, 389 108,36,4,139,68,36,8,195,255,248,145,72,184,237,237,102,72,15,110,208,72,
390 110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208, 390 184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,
391 252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,72,15, 391 244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,
392 110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,193,248, 392 184,237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,
393 1,195,248,84,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102, 393 15,92,200,15,40,193,248,1,195,248,84,255,217,124,36,4,137,68,36,8,102,184,
394 37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4, 394 0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,
395 139,68,36,8,195,255,248,146,72,184,237,237,102,72,15,110,208,72,184,237,237, 395 252,252,217,108,36,4,139,68,36,8,195,255,248,146,72,184,237,237,102,72,15,
396 102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102, 396 110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,
397 15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237, 397 217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,
398 102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92,200,15, 398 15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,
399 40,193,248,1,195,248,104,255,217,124,36,4,137,68,36,8,102,184,0,12,102,11, 399 194,252,242,15,92,200,15,40,193,248,1,195,248,104,255,217,124,36,4,137,68,
400 68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8, 400 36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,
401 195,255,248,147,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15, 401 217,108,36,4,139,68,36,8,195,255,248,147,72,184,237,237,102,72,15,110,208,
402 110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208, 402 72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,
403 15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72,15,110, 403 134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,
404 216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15, 404 184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,
405 40,193,248,1,195,248,148,255,15,40,232,252,242,15,94,193,72,184,237,237,102, 405 15,92,200,102,15,86,202,15,40,193,248,1,195,248,148,255,15,40,232,252,242,
406 72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84,226,102, 406 15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,
407 15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242,15,92,227, 407 15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,
408 102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196,1,102,15, 408 15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,
409 84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15,92,193,195, 409 252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,
410 248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,193,216,252, 410 89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,
411 241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137, 411 92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,
412 68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,233,195,255, 412 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,
413 248,88,217,252,234,222,201,248,149,217,84,36,252,248,129,124,36,252,248,0, 413 36,4,222,201,222,252,233,195,255,248,88,217,252,234,222,201,248,149,217,84,
414 0,128,127,15,132,244,247,129,124,36,252,248,0,0,128,252,255,15,132,244,248, 414 36,252,248,129,124,36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248,
415 248,150,217,192,217,252,252,220,252,233,217,201,217,252,240,217,232,222,193, 415 0,0,128,252,255,15,132,244,248,248,150,217,192,217,252,252,220,252,233,217,
416 217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195,255,248,107,255, 416 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,
417 248,151,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254, 417 217,252,238,195,255,248,107,255,248,151,252,242,15,45,193,252,242,15,42,208,
418 15,138,244,255,248,152,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15, 418 102,15,46,202,15,133,244,254,15,138,244,255,248,152,131,252,248,1,15,142,
419 133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132, 419 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,
420 244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244, 420 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,
421 3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248, 421 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,
422 6,15,132,244,5,15,130,244,253,80,72,184,237,237,102,72,15,110,200,252,242, 422 252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,80,72,184,237,
423 15,94,200,88,15,40,193,252,247,216,131,252,248,1,15,132,244,5,252,233,244, 423 237,102,72,15,110,200,252,242,15,94,200,88,15,40,193,252,247,216,131,252,
424 1,248,7,72,184,237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209, 424 248,1,15,132,244,5,252,233,244,1,248,7,72,184,237,237,102,72,15,110,192,195,
425 224,72,193,192,12,72,61,252,254,15,0,0,15,132,244,248,255,102,72,15,126,192, 425 248,8,102,72,15,126,200,72,209,224,72,193,192,12,72,61,252,254,15,0,0,15,
426 72,209,224,15,132,244,250,72,193,192,12,72,61,252,254,15,0,0,15,132,244,251, 426 132,244,248,255,102,72,15,126,192,72,209,224,15,132,244,250,72,193,192,12,
427 252,242,15,17,76,36,252,240,252,242,15,17,68,36,252,248,221,68,36,252,240, 427 72,61,252,254,15,0,0,15,132,244,251,252,242,15,17,76,36,252,240,252,242,15,
428 221,68,36,252,248,217,252,241,217,192,217,252,252,220,252,233,217,201,217, 428 17,68,36,252,248,221,68,36,252,240,221,68,36,252,248,217,252,241,217,192,
429 252,240,217,232,222,193,217,252,253,221,217,221,92,36,252,248,252,242,15, 429 217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,
430 16,68,36,252,248,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46,194, 430 217,221,92,36,252,248,252,242,15,16,68,36,252,248,195,248,9,72,184,237,237,
431 15,132,244,247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110,208, 431 102,72,15,110,208,102,15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,
432 102,15,84,194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1, 432 72,184,237,237,102,72,15,110,208,102,15,84,194,72,184,237,237,102,72,15,110,
433 102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184, 433 208,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,136,196,15,146,208,
434 237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244, 434 48,224,15,133,244,1,248,3,72,184,237,237,255,102,72,15,110,192,195,248,4,
435 3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248, 435 102,15,80,193,133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,133,
436 153,255,131,252,255,1,15,130,244,82,15,132,244,84,131,252,255,3,15,130,244, 436 192,15,132,244,3,15,87,192,195,248,153,255,131,252,255,1,15,130,244,82,15,
437 104,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252,248, 437 132,244,84,131,252,255,3,15,130,244,104,15,135,244,248,252,242,15,81,192,
438 221,68,36,252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244,88, 438 195,248,2,252,242,15,17,68,36,252,248,221,68,36,252,248,131,252,255,5,15,
439 252,233,244,253,248,1,232,244,149,255,252,233,244,253,248,2,131,252,255,7, 439 135,244,248,15,132,244,247,232,244,88,252,233,244,253,248,1,232,244,149,255,
440 15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244, 440 252,233,244,253,248,2,131,252,255,7,15,132,244,247,15,135,244,248,217,252,
441 253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9, 441 237,217,201,217,252,241,252,233,244,253,248,1,217,232,217,201,217,252,241,
442 15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244, 442 252,233,244,253,248,2,131,252,255,9,15,132,244,247,15,135,244,248,217,252,
443 253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244, 443 236,217,201,217,252,241,252,233,244,253,248,1,255,217,252,254,252,233,244,
444 247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216, 444 253,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,252,255,252,233,
445 248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12, 445 244,253,248,1,217,252,242,221,216,248,7,221,92,36,252,248,252,242,15,16,68,
446 221,68,36,4,131,252,255,1,15,130,244,82,15,132,244,84,131,252,255,3,15,130, 446 36,252,248,195,255,139,124,36,12,221,68,36,4,131,252,255,1,15,130,244,82,
447 244,104,15,135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,88, 447 15,132,244,84,131,252,255,3,15,130,244,104,15,135,244,248,217,252,250,195,
448 15,132,244,149,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217, 448 248,2,131,252,255,5,15,130,244,88,15,132,244,149,131,252,255,7,15,132,244,
449 201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255, 449 247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,217,232,217,
450 9,15,132,244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248, 450 201,217,252,241,195,248,2,131,252,255,9,15,132,244,247,255,15,135,244,248,
451 1,217,252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217, 451 217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,255,
452 252,255,195,248,1,217,252,242,221,216,195,255,248,9,204,248,154,255,131,252, 452 11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216,
453 255,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15, 453 195,255,248,9,204,248,154,255,131,252,255,1,15,132,244,247,15,135,244,248,
454 92,193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15,89, 454 252,242,15,88,193,195,248,1,252,242,15,92,193,195,248,2,131,252,255,3,15,
455 193,195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,148,15, 455 132,244,247,15,135,244,248,252,242,15,89,193,195,248,1,252,242,15,94,193,
456 132,244,107,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237,255, 456 195,248,2,131,252,255,5,15,130,244,148,15,132,244,107,131,252,255,7,15,132,
457 102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15, 457 244,247,15,135,244,248,72,184,237,237,255,102,72,15,110,200,15,87,193,195,
458 84,193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252,248, 458 248,1,72,184,237,237,102,72,15,110,200,15,84,193,195,248,2,131,252,255,9,
459 252,242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132,244, 459 15,135,244,248,252,242,15,17,68,36,252,248,252,242,15,17,76,36,252,240,221,
460 247,217,252,243,248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,248, 460 68,36,252,248,221,68,36,252,240,15,132,244,247,217,252,243,248,7,221,92,36,
461 1,217,201,217,252,253,221,217,252,233,244,7,248,2,131,252,255,11,15,132,244, 461 252,248,252,242,15,16,68,36,252,248,195,248,1,217,201,217,252,253,221,217,
462 247,15,135,244,255,252,242,15,93,193,195,248,1,252,242,15,95,193,195,248, 462 252,233,244,7,248,2,131,252,255,11,15,132,244,247,15,135,244,255,252,242,
463 9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244, 463 15,93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68,36,20,221,
464 247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3, 464 68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193,
465 15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131, 465 195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248,
466 252,248,5,15,130,244,148,15,132,244,107,131,252,248,7,15,132,244,247,15,135, 466 222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,148,15,132,
467 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248, 467 244,107,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195,
468 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253, 468 248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,
469 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252, 469 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,
470 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225, 470 15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,
471 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221, 471 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,
472 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248, 472 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,
473 155,137,252,248,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,195,255,129, 473 244,248,217,201,248,2,221,216,195,255,248,155,137,252,248,83,15,162,137,6,
474 124,253,202,4,239,15,135,244,41,129,124,253,194,4,239,15,135,244,41,255,252, 474 137,94,4,137,78,8,137,86,12,91,195,255,129,124,253,202,4,239,15,135,244,41,
475 242,15,16,4,194,131,195,4,102,15,46,4,202,255,221,4,202,221,4,194,131,195, 475 129,124,253,194,4,239,15,135,244,41,255,252,242,15,16,4,194,131,195,4,102,
476 4,255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,248, 476 15,46,4,202,255,221,4,202,221,4,194,131,195,4,255,223,252,233,221,216,255,
477 255,15,131,244,248,255,248,1,15,183,67,252,254,141,156,253,131,233,248,2, 477 218,252,233,223,224,158,255,15,134,244,248,255,15,131,244,248,255,248,1,15,
478 183,67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131,
479 195,4,193,232,16,65,252,255,36,252,238,255,139,108,194,4,131,195,4,129,252,
480 253,239,15,135,244,251,129,124,253,202,4,239,15,135,244,251,255,252,242,15,
481 16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,15,138,244,248,15,133,
482 244,248,255,15,138,244,248,15,132,244,247,255,248,1,15,183,67,252,254,141,
483 156,253,131,233,248,2,255,248,2,15,183,67,252,254,141,156,253,131,233,248,
484 1,255,248,5,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,
485 202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,
486 133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,
487 255,189,1,0,0,0,255,252,233,244,45,255,72,252,247,208,131,195,4,129,124,253,
488 202,4,239,15,133,244,248,139,12,202,65,59,12,135,255,131,195,4,129,124,253,
489 202,4,239,15,135,244,248,255,252,242,65,15,16,4,199,102,15,46,4,202,255,221,
490 4,202,65,221,4,199,255,72,252,247,208,131,195,4,57,68,202,4,255,139,108,194,
491 4,131,195,4,129,252,253,239,255,15,131,244,247,255,15,130,244,247,255,137,
492 108,202,4,139,44,194,137,44,202,255,15,183,67,252,254,141,156,253,131,233,
493 248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
494 238,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,3,15,182,204,
495 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,49,252,237,129,
496 124,253,194,4,239,129,213,239,137,108,202,4,139,3,15,182,204,15,182,232,131,
497 195,4,193,232,16,65,252,255,36,252,238,255,129,124,253,194,4,239,15,135,244,
498 48,255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,
499 242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,
500 15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,1,252,242,
501 15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,3,15,182,204,15,182,
502 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,124,253,194,4,239,
503 15,133,244,50,139,60,194,137,213,232,251,1,18,255,252,242,15,42,192,137,252,
504 234,255,15,182,75,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,
505 129,124,253,252,234,4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242,
506 65,15,88,4,199,255,221,4,252,234,65,220,4,199,255,129,124,253,252,234,4,239,
507 15,135,244,47,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221,
508 4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253,
509 194,4,239,15,135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,
510 221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,
511 255,221,4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,
512 4,252,234,255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,
513 242,15,92,4,194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,
514 252,242,65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15,
515 16,4,199,252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252,
516 242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,
517 252,242,15,16,4,252,234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52,
518 199,255,252,242,65,15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220,
519 52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,
520 234,220,52,194,255,252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221,
521 4,252,234,65,221,4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234,
522 255,65,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,
523 12,194,255,221,4,252,234,221,4,194,255,248,156,232,244,148,255,252,233,244,
524 156,255,232,244,107,255,15,182,252,236,15,182,192,139,124,36,24,137,151,233,
525 141,52,194,137,194,41,252,234,248,33,137,252,253,137,92,36,28,232,251,1,25,
526 139,149,233,133,192,15,133,244,42,15,182,107,252,255,15,182,75,252,253,139,
527 68,252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,3,15,182,204,15,182,
528 232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,65,139,
529 4,135,199,68,202,4,237,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,
530 232,16,65,252,255,36,252,238,255,15,191,192,252,242,15,42,192,252,242,15,
531 17,4,202,255,223,67,252,254,221,28,202,255,252,242,65,15,16,4,199,252,242,
532 15,17,4,202,255,65,221,4,199,221,28,202,255,72,252,247,208,137,68,202,4,139,
533 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,
534 76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,
535 193,15,134,244,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
536 255,36,252,238,255,139,106,252,248,139,172,253,133,233,139,173,233,139,69,
537 4,139,109,0,137,68,202,4,137,44,202,139,3,15,182,204,15,182,232,131,195,4,
538 193,232,16,65,252,255,36,252,238,255,139,106,252,248,139,172,253,141,233,
539 128,189,233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,
540 244,247,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,
541 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,232,239,129,252,
542 248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,137,252,238,137,213,
543 65,141,190,233,255,232,251,1,26,137,252,234,252,233,244,1,255,72,252,247,
544 208,139,106,252,248,139,172,253,141,233,65,139,12,135,139,133,233,137,8,199,
545 64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,
546 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,252,246,129,233,235,
547 15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,198,65,141,190,233,232,
548 251,1,26,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,65,15,
549 16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,
550 25,255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,
551 65,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,
552 255,141,156,253,131,233,139,108,36,24,131,189,233,0,15,132,244,247,137,149,
553 233,141,52,202,137,252,239,232,251,1,27,139,149,233,248,1,139,3,15,182,204,
554 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,
555 139,108,36,24,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137,92,
556 36,28,232,251,1,28,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,
478 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255, 557 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,
479 139,108,194,4,131,195,4,129,252,253,239,15,135,244,251,129,124,253,202,4, 558 139,124,36,24,137,151,233,248,1,137,194,37,252,255,7,0,0,193,252,234,11,61,
480 239,15,135,244,251,255,252,242,15,16,4,194,102,15,46,4,202,255,221,4,202, 559 252,255,7,0,0,15,132,244,249,248,2,137,198,65,139,134,233,137,252,253,65,
481 221,4,194,255,15,138,244,248,15,133,244,248,255,15,138,244,248,15,132,244, 560 59,134,233,137,92,36,28,15,131,244,251,232,251,1,29,139,149,233,15,182,75,
482 247,255,248,1,15,183,67,252,254,141,156,253,131,233,248,2,255,248,2,15,183, 561 252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,
483 67,252,254,141,156,253,131,233,248,1,255,248,5,57,108,202,4,15,133,244,2, 562 193,232,16,65,252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,232,
484 129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129, 563 251,1,30,15,183,67,252,254,137,252,239,252,233,244,1,255,72,252,247,208,139,
485 252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133, 564 108,36,24,65,139,142,233,137,92,36,28,65,59,142,233,137,149,233,15,131,244,
486 233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,45,255, 565 249,248,2,65,139,52,135,137,252,239,232,251,1,31,139,149,233,15,182,75,252,
487 72,252,247,208,131,195,4,129,124,253,202,4,239,15,133,244,248,139,12,202, 566 253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,
488 65,59,12,135,255,131,195,4,129,124,253,202,4,239,15,135,244,248,255,252,242, 567 232,16,65,252,255,36,252,238,248,3,137,252,239,232,251,1,30,15,183,67,252,
489 65,15,16,4,199,102,15,46,4,202,255,221,4,202,65,221,4,199,255,72,252,247, 568 254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,
490 208,131,195,4,57,68,202,4,255,139,108,194,4,131,195,4,129,252,253,239,255, 569 233,65,139,4,135,252,233,244,157,255,72,252,247,208,139,106,252,248,139,173,
491 15,131,244,247,255,15,130,244,247,255,137,108,202,4,139,44,194,137,44,202, 570 233,65,139,4,135,252,233,244,158,255,15,182,252,236,15,182,192,129,124,253,
492 255,15,183,67,252,254,141,156,253,131,233,248,1,139,3,15,182,204,15,182,232, 571 252,234,4,239,15,133,244,36,139,44,252,234,129,124,253,194,4,239,15,135,244,
493 131,195,4,193,232,16,65,252,255,36,252,238,255,139,108,194,4,139,4,194,137, 572 251,255,252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,
494 108,202,4,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, 573 193,255,15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,
495 255,36,252,238,255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202, 574 253,4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,
496 4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238, 575 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,
497 255,129,124,253,194,4,239,15,135,244,48,255,252,242,15,16,4,194,72,184,237, 576 131,189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,36,
498 237,102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224, 577 15,182,75,252,253,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,
499 221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,15,87,192, 578 36,139,4,194,252,233,244,157,255,15,182,252,236,15,182,192,72,252,247,208,
500 252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221, 579 65,139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,157,
501 28,202,255,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 580 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,
502 252,238,248,2,129,124,253,194,4,239,15,133,244,50,139,60,194,137,213,232, 581 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,
503 251,1,18,255,252,242,15,42,192,137,252,234,255,15,182,75,252,253,252,233, 582 67,252,253,139,41,139,73,4,137,44,194,248,2,255,137,76,194,4,139,3,15,182,
504 244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,135, 583 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,15,182,67,
505 244,46,255,252,242,15,16,4,252,234,252,242,65,15,88,4,199,255,221,4,252,234, 584 252,253,185,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,
506 65,220,4,199,255,129,124,253,252,234,4,239,15,135,244,47,255,252,242,65,15, 585 5,139,141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,
507 16,4,199,252,242,15,88,4,252,234,255,65,221,4,199,220,4,252,234,255,129,124, 586 244,34,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,
508 253,252,234,4,239,15,135,244,49,129,124,253,194,4,239,15,135,244,49,255,252, 587 35,139,44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,
509 242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,252, 588 4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,3,
510 242,15,16,4,252,234,252,242,65,15,92,4,199,255,221,4,252,234,65,220,36,199, 589 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,
511 255,252,242,65,15,16,4,199,252,242,15,92,4,252,234,255,65,221,4,199,220,36, 590 189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,35,255,
512 252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,4,252,234, 591 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,44,
513 220,36,194,255,252,242,15,16,4,252,234,252,242,65,15,89,4,199,255,221,4,252, 592 252,234,129,124,253,194,4,239,15,135,244,251,255,15,133,244,39,59,133,233,
514 234,65,220,12,199,255,252,242,65,15,16,4,199,252,242,15,89,4,252,234,255, 593 15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,
515 65,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194, 594 252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,
516 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,65,15,94,
517 4,199,255,221,4,252,234,65,220,52,199,255,252,242,65,15,16,4,199,252,242,
518 15,94,4,252,234,255,65,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,
519 252,242,15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,
520 234,252,242,65,15,16,12,199,255,221,4,252,234,65,221,4,199,255,252,242,65,
521 15,16,4,199,252,242,15,16,12,252,234,255,65,221,4,199,221,4,252,234,255,252,
522 242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,
523 248,156,232,244,148,255,252,233,244,156,255,232,244,107,255,15,182,252,236,
524 15,182,192,139,124,36,24,137,151,233,141,52,194,137,194,41,252,234,248,33,
525 137,252,253,137,92,36,28,232,251,1,25,139,149,233,133,192,15,133,244,42,15,
526 182,107,252,255,15,182,75,252,253,139,68,252,234,4,139,44,252,234,137,68,
527 202,4,137,44,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
528 255,36,252,238,255,72,252,247,208,65,139,4,135,199,68,202,4,237,137,4,202,
529 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,
530 15,191,192,252,242,15,42,192,252,242,15,17,4,202,255,223,67,252,254,221,28,
531 202,255,252,242,65,15,16,4,199,252,242,15,17,4,202,255,65,221,4,199,221,28,
532 202,255,72,252,247,208,137,68,202,4,139,3,15,182,204,15,182,232,131,195,4,
533 193,232,16,65,252,255,36,252,238,255,141,76,202,12,141,68,194,4,189,237,137,
534 105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139,3,15,182,204,15,
535 182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,106,252,248,139,
536 172,253,133,233,139,173,233,139,69,4,139,109,0,137,68,202,4,137,44,202,139,
537 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,
538 106,252,248,139,172,253,141,233,128,189,233,0,139,173,233,139,12,194,139,
539 68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244,
540 248,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
541 252,238,248,2,129,232,239,129,252,248,239,15,134,244,1,252,246,129,233,235,
542 15,132,244,1,137,252,238,137,213,65,141,190,233,255,232,251,1,26,137,252,
543 234,252,233,244,1,255,72,252,247,208,139,106,252,248,139,172,253,141,233,
544 65,139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,
545 248,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
546 252,238,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,
547 137,213,137,198,65,141,190,233,232,251,1,26,137,252,234,252,233,244,1,255,
548 139,106,252,248,255,252,242,65,15,16,4,199,255,139,172,253,141,233,139,141,
549 233,255,252,242,15,17,1,255,221,25,255,72,252,247,208,139,106,252,248,139,
550 172,253,141,233,139,141,233,137,65,4,139,3,15,182,204,15,182,232,131,195,
551 4,193,232,16,65,252,255,36,252,238,255,141,156,253,131,233,139,108,36,24,
552 131,189,233,0,15,132,244,247,137,149,233,141,52,202,137,252,239,232,251,1,
553 27,139,149,233,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
554 252,255,36,252,238,255,72,252,247,208,139,108,36,24,137,149,233,139,82,252,
555 248,65,139,52,135,137,252,239,137,92,36,28,232,251,1,28,139,149,233,15,182,
556 75,252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,
557 4,193,232,16,65,252,255,36,252,238,255,139,124,36,24,137,151,233,248,1,137,
558 194,37,252,255,7,0,0,193,252,234,11,61,252,255,7,0,0,15,132,244,249,248,2,
559 137,198,65,139,134,233,137,252,253,65,59,134,233,137,92,36,28,15,131,244,
560 251,232,251,1,29,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,
561 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,
562 3,184,1,8,0,0,252,233,244,2,248,5,232,251,1,30,15,183,67,252,254,137,252,
563 239,252,233,244,1,255,72,252,247,208,139,108,36,24,65,139,142,233,137,92,
564 36,28,65,59,142,233,137,149,233,15,131,244,249,248,2,65,139,52,135,137,252,
565 239,232,251,1,31,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,
566 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,
567 3,137,252,239,232,251,1,30,15,183,67,252,254,72,252,247,208,252,233,244,2,
568 255,72,252,247,208,139,106,252,248,139,173,233,65,139,4,135,252,233,244,157,
569 255,72,252,247,208,139,106,252,248,139,173,233,65,139,4,135,252,233,244,158,
570 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,
571 44,252,234,129,124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252,
572 242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244,36,59,133,233,
573 15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,248,1,
574 139,40,139,64,4,137,44,202,137,68,202,4,139,3,15,182,204,15,182,232,131,195,
575 4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,1,139,141,
576 233,252,246,129,233,235,15,132,244,36,15,182,75,252,253,252,233,244,1,248,
577 5,255,129,124,253,194,4,239,15,133,244,36,139,4,194,252,233,244,157,255,15,
578 182,252,236,15,182,192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,
579 239,15,133,244,34,139,44,252,234,248,157,139,141,233,35,136,233,105,201,239,
580 3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233,15,133,244,250,
581 129,121,253,4,239,15,132,244,251,15,182,67,252,253,139,41,139,73,4,137,44,
582 194,248,2,255,137,76,194,4,139,3,15,182,204,15,182,232,131,195,4,193,232,
583 16,65,252,255,36,252,238,248,3,15,182,67,252,253,185,237,252,233,244,2,248,
584 4,139,137,233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,
585 252,246,129,233,235,15,133,244,3,252,233,244,34,255,15,182,252,236,15,182,
586 192,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,59,133,233,15,
587 131,244,35,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,248,1,139,
588 40,139,64,4,137,44,202,137,68,202,4,139,3,15,182,204,15,182,232,131,195,4,
589 193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,1,139,141,
590 233,252,246,129,233,235,15,132,244,35,255,15,182,252,236,15,182,192,129,124,
591 253,252,234,4,239,15,133,244,39,139,44,252,234,129,124,253,194,4,239,15,135,
592 244,251,255,15,133,244,39,59,133,233,15,131,244,39,193,224,3,3,133,233,129,
593 120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,
594 2,139,108,202,4,139,12,202,137,104,4,137,8,139,3,15,182,204,15,182,232,131,
595 195,4,193,232,16,65,252,255,36,252,238,248,3,131,189,233,0,15,132,244,1,139,
596 141,233,255,252,246,129,233,235,15,132,244,39,15,182,75,252,253,252,233,244,
597 1,248,5,129,124,253,194,4,239,15,133,244,39,139,4,194,252,233,244,158,248,
598 7,128,165,233,235,65,139,142,233,65,137,174,233,137,141,233,15,182,75,252,
599 253,252,233,244,2,255,15,182,252,236,15,182,192,72,252,247,208,65,139,4,135,
600 129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,248,158,139,141,233,
601 35,136,233,105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,
602 244,251,57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,
603 255,252,246,133,233,235,15,133,244,253,248,3,15,182,67,252,253,139,108,194,
604 4,139,4,194,137,105,4,137,1,139,3,15,182,204,15,182,232,131,195,4,193,232,
605 16,65,252,255,36,252,238,248,4,131,189,233,0,15,132,244,2,137,12,36,139,141,
606 233,252,246,129,233,235,15,132,244,37,139,12,36,252,233,244,2,248,5,139,137,
607 233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,
608 233,235,15,132,244,37,248,6,137,4,36,199,68,36,4,237,137,108,36,8,139,124,
609 36,24,137,151,233,72,141,20,36,137,252,238,137,252,253,137,92,36,28,232,251,
610 1,32,139,149,233,139,108,36,8,137,193,252,233,244,2,248,7,128,165,233,235,
611 65,139,134,233,65,137,174,233,137,133,233,252,233,244,3,255,15,182,252,236,
612 15,182,192,129,124,253,252,234,4,239,15,133,244,38,139,44,252,234,59,133,
613 233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,
614 1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,
615 4,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, 595 4,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
616 238,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235, 596 238,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,235,
617 15,132,244,38,15,182,75,252,253,252,233,244,1,248,7,128,165,233,235,65,139, 597 15,132,244,39,15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4,239,
618 142,233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,68, 598 15,133,244,39,139,4,194,252,233,244,158,248,7,128,165,233,235,65,139,142,
619 137,60,36,255,252,242,69,15,45,60,199,255,248,1,141,12,202,139,105,252,248, 599 233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,15,182,
620 252,246,133,233,235,15,133,244,253,248,2,139,68,36,4,131,232,1,15,132,244, 600 252,236,15,182,192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,239,
621 250,68,1,252,248,59,133,233,15,131,244,251,68,41,252,248,65,193,231,3,68, 601 15,133,244,37,139,44,252,234,248,158,139,141,233,35,136,233,105,201,239,198,
622 3,189,233,248,3,139,41,65,137,47,139,105,4,131,193,8,65,137,111,4,65,131, 602 133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,
623 199,8,131,232,1,15,133,244,3,248,4,68,139,60,36,139,3,15,182,204,15,182,232, 603 244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,
624 131,195,4,193,232,16,65,252,255,36,252,238,248,5,139,124,36,24,137,151,233, 604 133,244,253,248,3,15,182,67,252,253,139,108,194,4,139,4,194,137,105,4,137,
625 137,252,238,137,194,137,252,253,137,92,36,28,232,251,1,33,139,149,233,15, 605 1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,
626 182,75,252,253,252,233,244,1,248,7,255,128,165,233,235,65,139,134,233,65, 606 248,4,131,189,233,0,15,132,244,2,137,12,36,139,141,233,252,246,129,233,235,
627 137,174,233,137,133,233,252,233,244,2,255,3,68,36,4,255,129,124,253,202,4, 607 15,132,244,37,139,12,36,252,233,244,2,248,5,139,137,233,133,201,15,133,244,
628 239,139,44,202,15,133,244,51,141,84,202,8,137,90,252,252,139,157,233,139, 608 1,255,139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37,
629 11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,255,141,76,202, 609 248,6,137,4,36,199,68,36,4,237,137,108,36,8,139,124,36,24,137,151,233,72,
630 8,65,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,28,248,52, 610 141,20,36,137,252,238,137,252,253,137,92,36,28,232,251,1,32,139,149,233,139,
631 139,90,252,252,252,247,195,237,15,133,244,253,248,1,137,106,252,248,137,68, 611 108,36,8,137,193,252,233,244,2,248,7,128,165,233,235,65,139,134,233,65,137,
632 36,4,131,232,1,15,132,244,249,248,2,139,41,65,137,47,139,105,4,65,137,111, 612 174,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,
633 4,65,131,199,8,131,193,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139, 613 252,234,4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,
634 68,36,4,128,189,233,1,15,135,244,251,248,4,139,157,233,139,11,15,182,252, 614 3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,
635 233,15,182,205,131,195,4,65,252,255,36,252,238,248,5,255,252,247,195,237, 615 133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,3,15,182,204,
636 15,133,244,4,15,182,75,252,253,72,252,247,209,141,12,202,68,139,121,252,248, 616 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,189,233,0,
637 69,139,191,233,69,139,191,233,252,233,244,4,248,7,15,139,244,1,131,227,252, 617 15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,38,15,182,75,
638 248,41,218,65,137,215,139,90,252,252,252,233,244,1,255,141,76,202,8,139,105, 618 252,253,252,233,244,1,248,7,128,165,233,235,65,139,142,233,65,137,174,233,
639 232,139,65,252,236,137,41,137,65,4,139,105,252,240,139,65,252,244,137,105, 619 137,141,233,15,182,75,252,253,252,233,244,2,255,68,137,60,36,255,252,242,
640 8,137,65,12,139,105,224,139,65,228,137,105,252,248,137,65,252,252,129,252, 620 69,15,45,60,199,255,248,1,141,12,202,139,105,252,248,252,246,133,233,235,
641 248,239,184,237,15,133,244,28,137,202,137,90,252,252,139,157,233,139,11,15, 621 15,133,244,253,248,2,139,68,36,4,131,232,1,15,132,244,250,68,1,252,248,59,
642 182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,255,15,182,252,236, 622 133,233,15,131,244,251,68,41,252,248,65,193,231,3,68,3,189,233,248,3,139,
643 139,66,252,248,141,12,202,139,128,233,15,182,128,233,68,137,60,36,68,141, 623 41,65,137,47,139,105,4,131,193,8,65,137,111,4,65,131,199,8,131,232,1,15,133,
644 188,253,194,233,68,43,122,252,252,133,252,237,15,132,244,251,141,108,252, 624 244,3,248,4,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,
645 233,252,248,65,57,215,15,131,244,248,248,1,65,139,71,252,248,137,1,65,139, 625 65,252,255,36,252,238,248,5,139,124,36,24,137,151,233,137,252,238,137,194,
646 71,252,252,65,131,199,8,137,65,4,131,193,8,57,252,233,15,131,244,249,65,57, 626 137,252,253,137,92,36,28,232,251,1,33,139,149,233,15,182,75,252,253,252,233,
647 215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248, 627 244,1,248,7,255,128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,
648 3,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255, 628 252,233,244,2,255,3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244,
649 36,252,238,248,5,199,68,36,4,1,0,0,0,137,208,68,41,252,248,15,134,244,3,255, 629 51,141,84,202,8,137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,
650 137,197,193,252,237,3,131,197,1,137,108,36,4,139,108,36,24,1,200,59,133,233, 630 131,195,4,65,252,255,36,252,238,255,141,76,202,8,65,137,215,139,105,252,248,
651 15,135,244,253,248,6,65,139,71,252,248,137,1,65,139,71,252,252,65,131,199, 631 129,121,253,252,252,239,15,133,244,28,248,52,139,90,252,252,252,247,195,237,
652 8,137,65,4,131,193,8,65,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233, 632 15,133,244,253,248,1,137,106,252,248,137,68,36,4,131,232,1,15,132,244,249,
653 137,141,233,137,92,36,28,65,41,215,139,116,36,4,131,252,238,1,137,252,239, 633 248,2,139,41,65,137,47,139,105,4,65,137,111,4,65,131,199,8,131,193,8,131,
654 232,251,1,0,139,149,233,139,141,233,65,1,215,252,233,244,6,255,193,225,3, 634 232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,4,128,189,233,1,15,135,
655 255,248,1,139,90,252,252,137,68,36,4,252,247,195,237,15,133,244,253,255,248, 635 244,251,248,4,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,
656 13,65,137,215,131,232,1,15,132,244,249,248,2,65,139,44,15,65,137,111,252, 636 255,36,252,238,248,5,255,252,247,195,237,15,133,244,4,15,182,75,252,253,72,
657 248,65,139,108,15,4,65,137,111,252,252,65,131,199,8,131,232,1,15,133,244, 637 252,247,209,141,12,202,68,139,121,252,248,69,139,191,233,69,139,191,233,252,
658 2,248,3,139,68,36,4,15,182,107,252,255,248,5,57,197,15,135,244,252,255,139, 638 233,244,4,248,7,15,139,244,1,131,227,252,248,41,218,65,137,215,139,90,252,
659 108,10,4,137,106,252,252,139,44,10,137,106,252,248,255,248,5,56,67,252,255, 639 252,252,233,244,1,255,141,76,202,8,139,105,232,139,65,252,236,137,41,137,
660 15,135,244,252,255,15,182,75,252,253,72,252,247,209,141,20,202,68,139,122, 640 65,4,139,105,252,240,139,65,252,244,137,105,8,137,65,12,139,105,224,139,65,
661 252,248,69,139,191,233,69,139,191,233,139,3,15,182,204,15,182,232,131,195, 641 228,137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,133,244,28,
662 4,193,232,16,65,252,255,36,252,238,248,6,255,65,199,71,252,252,237,65,131, 642 137,202,137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,
663 199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,7,15,139, 643 4,65,252,255,36,252,238,255,15,182,252,236,139,66,252,248,141,12,202,139,
664 244,14,131,227,252,248,41,218,255,1,217,255,137,221,209,252,237,129,229,239, 644 128,233,15,182,128,233,68,137,60,36,68,141,188,253,194,233,68,43,122,252,
665 102,65,131,172,253,46,233,1,15,132,244,140,255,141,12,202,255,129,121,253, 645 252,133,252,237,15,132,244,251,141,108,252,233,252,248,65,57,215,15,131,244,
666 4,239,15,135,244,53,129,121,253,12,239,15,135,244,53,255,139,105,20,255,129, 646 248,248,1,65,139,71,252,248,137,1,65,139,71,252,252,65,131,199,8,137,65,4,
667 252,253,239,15,135,244,53,255,252,242,15,16,1,252,242,15,16,73,8,255,252, 647 131,193,8,57,252,233,15,131,244,249,65,57,215,15,130,244,1,248,2,199,65,4,
668 242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,15,140,244, 648 237,131,193,8,57,252,233,15,130,244,2,248,3,68,139,60,36,139,3,15,182,204,
669 249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,220, 649 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5,199,68,36,4,1,
670 65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140,244, 650 0,0,0,137,208,68,41,252,248,15,134,244,3,255,137,197,193,252,237,3,131,197,
671 247,255,217,201,248,1,255,15,183,67,252,254,255,15,131,244,248,141,156,253, 651 1,137,108,36,4,139,108,36,24,1,200,59,133,233,15,135,244,253,248,6,65,139,
672 131,233,255,141,156,253,131,233,15,183,67,252,254,15,131,245,255,15,130,244, 652 71,252,248,137,1,65,139,71,252,252,65,131,199,8,137,65,4,131,193,8,65,57,
673 248,141,156,253,131,233,255,248,3,102,15,46,193,252,233,244,1,255,141,12, 653 215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,92,36,28,
674 202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,41,137, 654 65,41,215,139,116,36,4,131,252,238,1,137,252,239,232,251,1,0,139,149,233,
675 105,252,248,252,233,245,255,141,156,253,131,233,139,1,137,105,252,252,137, 655 139,141,233,65,1,215,252,233,244,6,255,193,225,3,255,248,1,139,90,252,252,
676 65,252,248,255,65,139,142,233,139,4,193,72,139,128,233,139,108,36,24,65,137, 656 137,68,36,4,252,247,195,237,15,133,244,253,255,248,13,65,137,215,131,232,
677 150,233,65,137,174,233,76,137,36,36,76,137,108,36,8,72,131,252,236,16,252, 657 1,15,132,244,249,248,2,65,139,44,15,65,137,111,252,248,65,139,108,15,4,65,
678 255,224,255,141,156,253,131,233,139,3,15,182,204,15,182,232,131,195,4,193, 658 137,111,252,252,65,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,4,15,
679 232,16,65,252,255,36,252,238,255,137,221,209,252,237,129,229,239,102,65,131, 659 182,107,252,255,248,5,57,197,15,135,244,252,255,139,108,10,4,137,106,252,
680 172,253,46,233,1,15,132,244,142,255,68,139,187,233,139,108,36,24,141,12,202, 660 252,139,44,10,137,106,252,248,255,248,5,56,67,252,255,15,135,244,252,255,
681 59,141,233,15,135,244,23,15,182,139,233,57,200,15,134,244,249,248,2,255,15, 661 15,182,75,252,253,72,252,247,209,141,20,202,68,139,122,252,248,69,139,191,
682 183,67,252,254,252,233,245,255,248,3,199,68,194,252,252,237,131,192,1,57, 662 233,69,139,191,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
683 200,15,134,244,3,252,233,244,2,255,141,44,197,237,141,4,194,68,139,122,252, 663 255,36,252,238,248,6,255,65,199,71,252,252,237,65,131,199,8,255,199,68,194,
684 248,137,104,252,252,68,137,120,252,248,139,108,36,24,141,12,200,59,141,233, 664 252,244,237,255,131,192,1,252,233,244,5,248,7,15,139,244,14,131,227,252,248,
685 15,135,244,22,137,209,137,194,15,182,171,233,133,252,237,15,132,244,248,248, 665 41,218,255,1,217,255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,
686 1,131,193,8,57,209,15,131,244,249,68,139,121,252,248,68,137,56,68,139,121, 666 233,1,15,132,244,140,255,141,12,202,255,129,121,253,4,239,15,135,244,53,129,
687 252,252,68,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,244, 667 121,253,12,239,15,135,244,53,255,139,105,20,255,129,252,253,239,15,135,244,
688 1,248,2,255,68,139,187,233,139,3,15,182,204,15,182,232,131,195,4,193,232, 668 53,255,252,242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,
689 16,65,252,255,36,252,238,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15, 669 15,17,1,133,252,237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,
690 133,244,3,252,233,244,2,255,139,106,252,248,76,139,189,233,139,108,36,24, 670 1,252,242,15,17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,
691 141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233,255,137, 671 252,237,15,136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,
692 252,239,255,76,137,252,254,137,252,239,255,15,135,244,21,65,199,134,233,237, 672 15,183,67,252,254,255,15,131,244,248,141,156,253,131,233,255,141,156,253,
693 255,65,252,255,215,255,65,252,255,150,233,255,65,199,134,233,237,139,149, 673 131,233,15,183,67,252,254,15,131,245,255,15,130,244,248,141,156,253,131,233,
694 233,141,12,194,252,247,217,3,141,233,139,90,252,252,252,233,244,12,255,254, 674 255,248,3,102,15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,
695 0 675 239,15,132,244,247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,
676 255,141,156,253,131,233,139,1,137,105,252,252,137,65,252,248,255,65,139,142,
677 233,139,4,193,72,139,128,233,139,108,36,24,65,137,150,233,65,137,174,233,
678 76,137,36,36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156,253,
679 131,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
680 238,255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,1,15,132,
681 244,142,255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15,135,244,
682 23,15,182,139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254,252,233,
683 245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,
684 244,2,255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252,252,68,
685 137,120,252,248,139,108,36,24,141,12,200,59,141,233,15,135,244,22,137,209,
686 137,194,15,182,171,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,
687 15,131,244,249,68,139,121,252,248,68,137,56,68,139,121,252,252,68,137,120,
688 4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,68,139,
689 187,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
690 238,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233,244,
691 2,255,139,106,252,248,76,139,189,233,139,108,36,24,141,68,194,252,248,137,
692 149,233,141,136,233,59,141,233,137,133,233,255,137,252,239,255,76,137,252,
693 254,137,252,239,255,15,135,244,21,65,199,134,233,237,255,65,252,255,215,255,
694 65,252,255,150,233,255,65,199,134,233,237,139,149,233,141,12,194,252,247,
695 217,3,141,233,139,90,252,252,252,233,244,12,255,254,0
696}; 696};
697 697
698enum { 698enum {
@@ -1367,62 +1367,62 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1367#endif 1367#endif
1368 dasm_put(Dst, 7296, Dt1(->base), Dt1(->top)); 1368 dasm_put(Dst, 7296, Dt1(->base), Dt1(->top));
1369#if LJ_HASJIT 1369#if LJ_HASJIT
1370 dasm_put(Dst, 7327, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); 1370 dasm_put(Dst, 7327, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
1371#endif 1371#endif
1372 dasm_put(Dst, 7558); 1372 dasm_put(Dst, 7566);
1373#if LJ_HASJIT 1373#if LJ_HASJIT
1374 dasm_put(Dst, 7561, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1374 dasm_put(Dst, 7569, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1375#endif 1375#endif
1376 dasm_put(Dst, 7661); 1376 dasm_put(Dst, 7669);
1377 if (!sse) { 1377 if (!sse) {
1378 dasm_put(Dst, 7664); 1378 dasm_put(Dst, 7672);
1379 } 1379 }
1380 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)); 1380 dasm_put(Dst, 7717, (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 if (!sse) { 1381 if (!sse) {
1382 dasm_put(Dst, 7795); 1382 dasm_put(Dst, 7803);
1383 } 1383 }
1384 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)); 1384 dasm_put(Dst, 7848, (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 if (!sse) { 1385 if (!sse) {
1386 dasm_put(Dst, 7926); 1386 dasm_put(Dst, 7934);
1387 } 1387 }
1388 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)); 1388 dasm_put(Dst, 7973, (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 if (sse) { 1389 if (sse) {
1390 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)); 1390 dasm_put(Dst, 8062, (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 } else { 1391 } else {
1392 dasm_put(Dst, 8168); 1392 dasm_put(Dst, 8176);
1393 } 1393 }
1394 dasm_put(Dst, 8215); 1394 dasm_put(Dst, 8223);
1395 if (!sse) { 1395 if (!sse) {
1396 } else { 1396 } else {
1397 dasm_put(Dst, 8292); 1397 dasm_put(Dst, 8300);
1398 } 1398 }
1399 dasm_put(Dst, 8295); 1399 dasm_put(Dst, 8303);
1400 dasm_put(Dst, 8380, (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, 8388, (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, 8481, (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, 8489, (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, 8655); 1402 dasm_put(Dst, 8663);
1403 if (sse) { 1403 if (sse) {
1404 dasm_put(Dst, 8696); 1404 dasm_put(Dst, 8704);
1405 dasm_put(Dst, 8766); 1405 dasm_put(Dst, 8774);
1406 dasm_put(Dst, 8838); 1406 dasm_put(Dst, 8846);
1407 } else { 1407 } else {
1408 dasm_put(Dst, 8890); 1408 dasm_put(Dst, 8898);
1409 dasm_put(Dst, 8982); 1409 dasm_put(Dst, 8990);
1410 } 1410 }
1411 dasm_put(Dst, 9028); 1411 dasm_put(Dst, 9036);
1412 if (sse) { 1412 if (sse) {
1413 dasm_put(Dst, 9034, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1413 dasm_put(Dst, 9042, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1414 dasm_put(Dst, 9119, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1414 dasm_put(Dst, 9127, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1415 } else { 1415 } else {
1416 dasm_put(Dst, 9247); 1416 dasm_put(Dst, 9255);
1417 dasm_put(Dst, 9330); 1417 dasm_put(Dst, 9338);
1418 if (cmov) { 1418 if (cmov) {
1419 dasm_put(Dst, 9385); 1419 dasm_put(Dst, 9393);
1420 } else { 1420 } else {
1421 dasm_put(Dst, 9404); 1421 dasm_put(Dst, 9412);
1422 } 1422 }
1423 dasm_put(Dst, 9243); 1423 dasm_put(Dst, 9251);
1424 } 1424 }
1425 dasm_put(Dst, 9445); 1425 dasm_put(Dst, 9453);
1426} 1426}
1427 1427
1428/* Generate the code for a single instruction. */ 1428/* Generate the code for a single instruction. */
@@ -1438,595 +1438,595 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1438 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1438 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1439 1439
1440 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1440 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1441 dasm_put(Dst, 9467, LJ_TISNUM, LJ_TISNUM); 1441 dasm_put(Dst, 9475, LJ_TISNUM, LJ_TISNUM);
1442 if (sse) { 1442 if (sse) {
1443 dasm_put(Dst, 9488); 1443 dasm_put(Dst, 9496);
1444 } else { 1444 } else {
1445 dasm_put(Dst, 9503); 1445 dasm_put(Dst, 9511);
1446 if (cmov) { 1446 if (cmov) {
1447 dasm_put(Dst, 9513); 1447 dasm_put(Dst, 9521);
1448 } else { 1448 } else {
1449 dasm_put(Dst, 9519); 1449 dasm_put(Dst, 9527);
1450 } 1450 }
1451 } 1451 }
1452 switch (op) { 1452 switch (op) {
1453 case BC_ISLT: 1453 case BC_ISLT:
1454 dasm_put(Dst, 9526); 1454 dasm_put(Dst, 9534);
1455 break; 1455 break;
1456 case BC_ISGE: 1456 case BC_ISGE:
1457 dasm_put(Dst, 9325); 1457 dasm_put(Dst, 9333);
1458 break; 1458 break;
1459 case BC_ISLE: 1459 case BC_ISLE:
1460 dasm_put(Dst, 5942); 1460 dasm_put(Dst, 5942);
1461 break; 1461 break;
1462 case BC_ISGT: 1462 case BC_ISGT:
1463 dasm_put(Dst, 9531); 1463 dasm_put(Dst, 9539);
1464 break; 1464 break;
1465 default: break; /* Shut up GCC. */ 1465 default: break; /* Shut up GCC. */
1466 } 1466 }
1467 dasm_put(Dst, 9536, -BCBIAS_J*4); 1467 dasm_put(Dst, 9544, -BCBIAS_J*4);
1468 break; 1468 break;
1469 1469
1470 case BC_ISEQV: case BC_ISNEV: 1470 case BC_ISEQV: case BC_ISNEV:
1471 vk = op == BC_ISEQV; 1471 vk = op == BC_ISEQV;
1472 dasm_put(Dst, 9571, LJ_TISNUM, LJ_TISNUM); 1472 dasm_put(Dst, 9579, LJ_TISNUM, LJ_TISNUM);
1473 if (sse) { 1473 if (sse) {
1474 dasm_put(Dst, 9597); 1474 dasm_put(Dst, 9605);
1475 } else { 1475 } else {
1476 dasm_put(Dst, 9609); 1476 dasm_put(Dst, 9617);
1477 if (cmov) { 1477 if (cmov) {
1478 dasm_put(Dst, 9513); 1478 dasm_put(Dst, 9521);
1479 } else { 1479 } else {
1480 dasm_put(Dst, 9519); 1480 dasm_put(Dst, 9527);
1481 } 1481 }
1482 } 1482 }
1483 iseqne_fp: 1483 iseqne_fp:
1484 if (vk) { 1484 if (vk) {
1485 dasm_put(Dst, 9616); 1485 dasm_put(Dst, 9624);
1486 } else { 1486 } else {
1487 dasm_put(Dst, 9625); 1487 dasm_put(Dst, 9633);
1488 } 1488 }
1489 iseqne_end: 1489 iseqne_end:
1490 if (vk) { 1490 if (vk) {
1491 dasm_put(Dst, 9634, -BCBIAS_J*4); 1491 dasm_put(Dst, 9642, -BCBIAS_J*4);
1492 } else { 1492 } else {
1493 dasm_put(Dst, 9649, -BCBIAS_J*4); 1493 dasm_put(Dst, 9657, -BCBIAS_J*4);
1494 } 1494 }
1495 dasm_put(Dst, 9550); 1495 dasm_put(Dst, 9558);
1496 if (op == BC_ISEQV || op == BC_ISNEV) { 1496 if (op == BC_ISEQV || op == BC_ISNEV) {
1497 dasm_put(Dst, 9664, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1497 dasm_put(Dst, 9672, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1498 if (vk) { 1498 if (vk) {
1499 dasm_put(Dst, 9722); 1499 dasm_put(Dst, 9730);
1500 } else { 1500 } else {
1501 dasm_put(Dst, 9726); 1501 dasm_put(Dst, 9734);
1502 } 1502 }
1503 dasm_put(Dst, 9732); 1503 dasm_put(Dst, 9740);
1504 } 1504 }
1505 break; 1505 break;
1506 case BC_ISEQS: case BC_ISNES: 1506 case BC_ISEQS: case BC_ISNES:
1507 vk = op == BC_ISEQS; 1507 vk = op == BC_ISEQS;
1508 dasm_put(Dst, 9737, LJ_TSTR); 1508 dasm_put(Dst, 9745, LJ_TSTR);
1509 iseqne_test: 1509 iseqne_test:
1510 if (vk) { 1510 if (vk) {
1511 dasm_put(Dst, 9620); 1511 dasm_put(Dst, 9628);
1512 } else { 1512 } else {
1513 dasm_put(Dst, 2833); 1513 dasm_put(Dst, 2833);
1514 } 1514 }
1515 goto iseqne_end; 1515 goto iseqne_end;
1516 case BC_ISEQN: case BC_ISNEN: 1516 case BC_ISEQN: case BC_ISNEN:
1517 vk = op == BC_ISEQN; 1517 vk = op == BC_ISEQN;
1518 dasm_put(Dst, 9762, LJ_TISNUM); 1518 dasm_put(Dst, 9770, LJ_TISNUM);
1519 if (sse) { 1519 if (sse) {
1520 dasm_put(Dst, 9776); 1520 dasm_put(Dst, 9784);
1521 } else { 1521 } else {
1522 dasm_put(Dst, 9789); 1522 dasm_put(Dst, 9797);
1523 if (cmov) { 1523 if (cmov) {
1524 dasm_put(Dst, 9513); 1524 dasm_put(Dst, 9521);
1525 } else { 1525 } else {
1526 dasm_put(Dst, 9519); 1526 dasm_put(Dst, 9527);
1527 } 1527 }
1528 } 1528 }
1529 goto iseqne_fp; 1529 goto iseqne_fp;
1530 case BC_ISEQP: case BC_ISNEP: 1530 case BC_ISEQP: case BC_ISNEP:
1531 vk = op == BC_ISEQP; 1531 vk = op == BC_ISEQP;
1532 dasm_put(Dst, 9797); 1532 dasm_put(Dst, 9805);
1533 goto iseqne_test; 1533 goto iseqne_test;
1534 1534
1535 /* -- Unary test and copy ops ------------------------------------------- */ 1535 /* -- Unary test and copy ops ------------------------------------------- */
1536 1536
1537 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1537 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1538 dasm_put(Dst, 9809, LJ_TISTRUECOND); 1538 dasm_put(Dst, 9817, LJ_TISTRUECOND);
1539 if (op == BC_IST || op == BC_ISTC) { 1539 if (op == BC_IST || op == BC_ISTC) {
1540 dasm_put(Dst, 9821); 1540 dasm_put(Dst, 9829);
1541 } else { 1541 } else {
1542 dasm_put(Dst, 9826); 1542 dasm_put(Dst, 9834);
1543 } 1543 }
1544 if (op == BC_ISTC || op == BC_ISFC) { 1544 if (op == BC_ISTC || op == BC_ISFC) {
1545 dasm_put(Dst, 9831); 1545 dasm_put(Dst, 9839);
1546 } 1546 }
1547 dasm_put(Dst, 9842, -BCBIAS_J*4); 1547 dasm_put(Dst, 9850, -BCBIAS_J*4);
1548 break; 1548 break;
1549 1549
1550 /* -- Unary ops --------------------------------------------------------- */ 1550 /* -- Unary ops --------------------------------------------------------- */
1551 1551
1552 case BC_MOV: 1552 case BC_MOV:
1553 dasm_put(Dst, 9875); 1553 dasm_put(Dst, 9883);
1554 break; 1554 break;
1555 case BC_NOT: 1555 case BC_NOT:
1556 dasm_put(Dst, 9910, LJ_TISTRUECOND, LJ_TTRUE); 1556 dasm_put(Dst, 9918, LJ_TISTRUECOND, LJ_TTRUE);
1557 break; 1557 break;
1558 case BC_UNM: 1558 case BC_UNM:
1559 dasm_put(Dst, 9947, LJ_TISNUM); 1559 dasm_put(Dst, 9955, LJ_TISNUM);
1560 if (sse) { 1560 if (sse) {
1561 dasm_put(Dst, 9958, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1561 dasm_put(Dst, 9966, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1562 } else { 1562 } else {
1563 dasm_put(Dst, 9983); 1563 dasm_put(Dst, 9991);
1564 } 1564 }
1565 dasm_put(Dst, 9550); 1565 dasm_put(Dst, 9558);
1566 break; 1566 break;
1567 case BC_LEN: 1567 case BC_LEN:
1568 dasm_put(Dst, 9992, LJ_TSTR); 1568 dasm_put(Dst, 10000, LJ_TSTR);
1569 if (sse) { 1569 if (sse) {
1570 dasm_put(Dst, 10006, Dt5(->len)); 1570 dasm_put(Dst, 10014, Dt5(->len));
1571 } else { 1571 } else {
1572 dasm_put(Dst, 10024, Dt5(->len)); 1572 dasm_put(Dst, 10032, Dt5(->len));
1573 } 1573 }
1574 dasm_put(Dst, 10033, LJ_TTAB); 1574 dasm_put(Dst, 10041, LJ_TTAB);
1575 if (sse) { 1575 if (sse) {
1576 dasm_put(Dst, 10075); 1576 dasm_put(Dst, 10083);
1577 } else { 1577 } else {
1578 } 1578 }
1579 dasm_put(Dst, 10084); 1579 dasm_put(Dst, 10092);
1580 break; 1580 break;
1581 1581
1582 /* -- Binary ops -------------------------------------------------------- */ 1582 /* -- Binary ops -------------------------------------------------------- */
1583 1583
1584 1584
1585 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1585 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1586 dasm_put(Dst, 10094); 1586 dasm_put(Dst, 10102);
1587 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1587 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1588 switch (vk) { 1588 switch (vk) {
1589 case 0: 1589 case 0:
1590 dasm_put(Dst, 10102, LJ_TISNUM); 1590 dasm_put(Dst, 10110, LJ_TISNUM);
1591 if (sse) { 1591 if (sse) {
1592 dasm_put(Dst, 10114); 1592 dasm_put(Dst, 10122);
1593 } else { 1593 } else {
1594 dasm_put(Dst, 10129); 1594 dasm_put(Dst, 10137);
1595 } 1595 }
1596 break; 1596 break;
1597 case 1: 1597 case 1:
1598 dasm_put(Dst, 10138, LJ_TISNUM); 1598 dasm_put(Dst, 10146, LJ_TISNUM);
1599 if (sse) { 1599 if (sse) {
1600 dasm_put(Dst, 10150); 1600 dasm_put(Dst, 10158);
1601 } else { 1601 } else {
1602 dasm_put(Dst, 10165); 1602 dasm_put(Dst, 10173);
1603 } 1603 }
1604 break; 1604 break;
1605 default: 1605 default:
1606 dasm_put(Dst, 10174, LJ_TISNUM, LJ_TISNUM); 1606 dasm_put(Dst, 10182, LJ_TISNUM, LJ_TISNUM);
1607 if (sse) { 1607 if (sse) {
1608 dasm_put(Dst, 10196); 1608 dasm_put(Dst, 10204);
1609 } else { 1609 } else {
1610 dasm_put(Dst, 10210); 1610 dasm_put(Dst, 10218);
1611 } 1611 }
1612 break; 1612 break;
1613 } 1613 }
1614 if (sse) { 1614 if (sse) {
1615 dasm_put(Dst, 9976); 1615 dasm_put(Dst, 9984);
1616 } else { 1616 } else {
1617 dasm_put(Dst, 9988); 1617 dasm_put(Dst, 9996);
1618 } 1618 }
1619 dasm_put(Dst, 9550); 1619 dasm_put(Dst, 9558);
1620 break; 1620 break;
1621 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1621 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1622 dasm_put(Dst, 10094); 1622 dasm_put(Dst, 10102);
1623 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1623 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1624 switch (vk) { 1624 switch (vk) {
1625 case 0: 1625 case 0:
1626 dasm_put(Dst, 10102, LJ_TISNUM); 1626 dasm_put(Dst, 10110, LJ_TISNUM);
1627 if (sse) { 1627 if (sse) {
1628 dasm_put(Dst, 10218); 1628 dasm_put(Dst, 10226);
1629 } else { 1629 } else {
1630 dasm_put(Dst, 10233); 1630 dasm_put(Dst, 10241);
1631 } 1631 }
1632 break; 1632 break;
1633 case 1: 1633 case 1:
1634 dasm_put(Dst, 10138, LJ_TISNUM); 1634 dasm_put(Dst, 10146, LJ_TISNUM);
1635 if (sse) { 1635 if (sse) {
1636 dasm_put(Dst, 10242); 1636 dasm_put(Dst, 10250);
1637 } else { 1637 } else {
1638 dasm_put(Dst, 10257); 1638 dasm_put(Dst, 10265);
1639 } 1639 }
1640 break; 1640 break;
1641 default: 1641 default:
1642 dasm_put(Dst, 10174, LJ_TISNUM, LJ_TISNUM); 1642 dasm_put(Dst, 10182, LJ_TISNUM, LJ_TISNUM);
1643 if (sse) { 1643 if (sse) {
1644 dasm_put(Dst, 10266); 1644 dasm_put(Dst, 10274);
1645 } else { 1645 } else {
1646 dasm_put(Dst, 10280); 1646 dasm_put(Dst, 10288);
1647 } 1647 }
1648 break; 1648 break;
1649 } 1649 }
1650 if (sse) { 1650 if (sse) {
1651 dasm_put(Dst, 9976); 1651 dasm_put(Dst, 9984);
1652 } else { 1652 } else {
1653 dasm_put(Dst, 9988); 1653 dasm_put(Dst, 9996);
1654 } 1654 }
1655 dasm_put(Dst, 9550); 1655 dasm_put(Dst, 9558);
1656 break; 1656 break;
1657 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1657 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1658 dasm_put(Dst, 10094); 1658 dasm_put(Dst, 10102);
1659 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1659 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1660 switch (vk) { 1660 switch (vk) {
1661 case 0: 1661 case 0:
1662 dasm_put(Dst, 10102, LJ_TISNUM); 1662 dasm_put(Dst, 10110, LJ_TISNUM);
1663 if (sse) { 1663 if (sse) {
1664 dasm_put(Dst, 10288); 1664 dasm_put(Dst, 10296);
1665 } else { 1665 } else {
1666 dasm_put(Dst, 10303); 1666 dasm_put(Dst, 10311);
1667 } 1667 }
1668 break; 1668 break;
1669 case 1: 1669 case 1:
1670 dasm_put(Dst, 10138, LJ_TISNUM); 1670 dasm_put(Dst, 10146, LJ_TISNUM);
1671 if (sse) { 1671 if (sse) {
1672 dasm_put(Dst, 10312); 1672 dasm_put(Dst, 10320);
1673 } else { 1673 } else {
1674 dasm_put(Dst, 10327); 1674 dasm_put(Dst, 10335);
1675 } 1675 }
1676 break; 1676 break;
1677 default: 1677 default:
1678 dasm_put(Dst, 10174, LJ_TISNUM, LJ_TISNUM); 1678 dasm_put(Dst, 10182, LJ_TISNUM, LJ_TISNUM);
1679 if (sse) { 1679 if (sse) {
1680 dasm_put(Dst, 10336); 1680 dasm_put(Dst, 10344);
1681 } else { 1681 } else {
1682 dasm_put(Dst, 10350); 1682 dasm_put(Dst, 10358);
1683 } 1683 }
1684 break; 1684 break;
1685 } 1685 }
1686 if (sse) { 1686 if (sse) {
1687 dasm_put(Dst, 9976); 1687 dasm_put(Dst, 9984);
1688 } else { 1688 } else {
1689 dasm_put(Dst, 9988); 1689 dasm_put(Dst, 9996);
1690 } 1690 }
1691 dasm_put(Dst, 9550); 1691 dasm_put(Dst, 9558);
1692 break; 1692 break;
1693 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1693 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1694 dasm_put(Dst, 10094); 1694 dasm_put(Dst, 10102);
1695 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1695 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1696 switch (vk) { 1696 switch (vk) {
1697 case 0: 1697 case 0:
1698 dasm_put(Dst, 10102, LJ_TISNUM); 1698 dasm_put(Dst, 10110, LJ_TISNUM);
1699 if (sse) { 1699 if (sse) {
1700 dasm_put(Dst, 10358); 1700 dasm_put(Dst, 10366);
1701 } else { 1701 } else {
1702 dasm_put(Dst, 10373); 1702 dasm_put(Dst, 10381);
1703 } 1703 }
1704 break; 1704 break;
1705 case 1: 1705 case 1:
1706 dasm_put(Dst, 10138, LJ_TISNUM); 1706 dasm_put(Dst, 10146, LJ_TISNUM);
1707 if (sse) { 1707 if (sse) {
1708 dasm_put(Dst, 10382); 1708 dasm_put(Dst, 10390);
1709 } else { 1709 } else {
1710 dasm_put(Dst, 10397); 1710 dasm_put(Dst, 10405);
1711 } 1711 }
1712 break; 1712 break;
1713 default: 1713 default:
1714 dasm_put(Dst, 10174, LJ_TISNUM, LJ_TISNUM); 1714 dasm_put(Dst, 10182, LJ_TISNUM, LJ_TISNUM);
1715 if (sse) { 1715 if (sse) {
1716 dasm_put(Dst, 10406); 1716 dasm_put(Dst, 10414);
1717 } else { 1717 } else {
1718 dasm_put(Dst, 10420); 1718 dasm_put(Dst, 10428);
1719 } 1719 }
1720 break; 1720 break;
1721 } 1721 }
1722 if (sse) { 1722 if (sse) {
1723 dasm_put(Dst, 9976); 1723 dasm_put(Dst, 9984);
1724 } else { 1724 } else {
1725 dasm_put(Dst, 9988); 1725 dasm_put(Dst, 9996);
1726 } 1726 }
1727 dasm_put(Dst, 9550); 1727 dasm_put(Dst, 9558);
1728 break; 1728 break;
1729 case BC_MODVN: 1729 case BC_MODVN:
1730 dasm_put(Dst, 10094); 1730 dasm_put(Dst, 10102);
1731 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1731 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1732 switch (vk) { 1732 switch (vk) {
1733 case 0: 1733 case 0:
1734 dasm_put(Dst, 10102, LJ_TISNUM); 1734 dasm_put(Dst, 10110, LJ_TISNUM);
1735 if (sse) { 1735 if (sse) {
1736 dasm_put(Dst, 10428); 1736 dasm_put(Dst, 10436);
1737 } else { 1737 } else {
1738 dasm_put(Dst, 10443); 1738 dasm_put(Dst, 10451);
1739 } 1739 }
1740 break; 1740 break;
1741 case 1: 1741 case 1:
1742 dasm_put(Dst, 10138, LJ_TISNUM); 1742 dasm_put(Dst, 10146, LJ_TISNUM);
1743 if (sse) { 1743 if (sse) {
1744 dasm_put(Dst, 10452); 1744 dasm_put(Dst, 10460);
1745 } else { 1745 } else {
1746 dasm_put(Dst, 10467); 1746 dasm_put(Dst, 10475);
1747 } 1747 }
1748 break; 1748 break;
1749 default: 1749 default:
1750 dasm_put(Dst, 10174, LJ_TISNUM, LJ_TISNUM); 1750 dasm_put(Dst, 10182, LJ_TISNUM, LJ_TISNUM);
1751 if (sse) { 1751 if (sse) {
1752 dasm_put(Dst, 10476); 1752 dasm_put(Dst, 10484);
1753 } else { 1753 } else {
1754 dasm_put(Dst, 10490); 1754 dasm_put(Dst, 10498);
1755 } 1755 }
1756 break; 1756 break;
1757 } 1757 }
1758 dasm_put(Dst, 10498); 1758 dasm_put(Dst, 10506);
1759 if (sse) { 1759 if (sse) {
1760 dasm_put(Dst, 9976); 1760 dasm_put(Dst, 9984);
1761 } else { 1761 } else {
1762 dasm_put(Dst, 9988); 1762 dasm_put(Dst, 9996);
1763 } 1763 }
1764 dasm_put(Dst, 9550); 1764 dasm_put(Dst, 9558);
1765 break; 1765 break;
1766 case BC_MODNV: case BC_MODVV: 1766 case BC_MODNV: case BC_MODVV:
1767 dasm_put(Dst, 10094); 1767 dasm_put(Dst, 10102);
1768 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1768 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1769 switch (vk) { 1769 switch (vk) {
1770 case 0: 1770 case 0:
1771 dasm_put(Dst, 10102, LJ_TISNUM); 1771 dasm_put(Dst, 10110, LJ_TISNUM);
1772 if (sse) { 1772 if (sse) {
1773 dasm_put(Dst, 10428); 1773 dasm_put(Dst, 10436);
1774 } else { 1774 } else {
1775 dasm_put(Dst, 10443); 1775 dasm_put(Dst, 10451);
1776 } 1776 }
1777 break; 1777 break;
1778 case 1: 1778 case 1:
1779 dasm_put(Dst, 10138, LJ_TISNUM); 1779 dasm_put(Dst, 10146, LJ_TISNUM);
1780 if (sse) { 1780 if (sse) {
1781 dasm_put(Dst, 10452); 1781 dasm_put(Dst, 10460);
1782 } else { 1782 } else {
1783 dasm_put(Dst, 10467); 1783 dasm_put(Dst, 10475);
1784 } 1784 }
1785 break; 1785 break;
1786 default: 1786 default:
1787 dasm_put(Dst, 10174, LJ_TISNUM, LJ_TISNUM); 1787 dasm_put(Dst, 10182, LJ_TISNUM, LJ_TISNUM);
1788 if (sse) { 1788 if (sse) {
1789 dasm_put(Dst, 10476); 1789 dasm_put(Dst, 10484);
1790 } else { 1790 } else {
1791 dasm_put(Dst, 10490); 1791 dasm_put(Dst, 10498);
1792 } 1792 }
1793 break; 1793 break;
1794 } 1794 }
1795 dasm_put(Dst, 10504); 1795 dasm_put(Dst, 10512);
1796 break; 1796 break;
1797 case BC_POW: 1797 case BC_POW:
1798 dasm_put(Dst, 10094); 1798 dasm_put(Dst, 10102);
1799 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1799 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1800 switch (vk) { 1800 switch (vk) {
1801 case 0: 1801 case 0:
1802 dasm_put(Dst, 10102, LJ_TISNUM); 1802 dasm_put(Dst, 10110, LJ_TISNUM);
1803 if (sse) { 1803 if (sse) {
1804 dasm_put(Dst, 10428); 1804 dasm_put(Dst, 10436);
1805 } else { 1805 } else {
1806 dasm_put(Dst, 10443); 1806 dasm_put(Dst, 10451);
1807 } 1807 }
1808 break; 1808 break;
1809 case 1: 1809 case 1:
1810 dasm_put(Dst, 10138, LJ_TISNUM); 1810 dasm_put(Dst, 10146, LJ_TISNUM);
1811 if (sse) { 1811 if (sse) {
1812 dasm_put(Dst, 10452); 1812 dasm_put(Dst, 10460);
1813 } else { 1813 } else {
1814 dasm_put(Dst, 10467); 1814 dasm_put(Dst, 10475);
1815 } 1815 }
1816 break; 1816 break;
1817 default: 1817 default:
1818 dasm_put(Dst, 10174, LJ_TISNUM, LJ_TISNUM); 1818 dasm_put(Dst, 10182, LJ_TISNUM, LJ_TISNUM);
1819 if (sse) { 1819 if (sse) {
1820 dasm_put(Dst, 10476); 1820 dasm_put(Dst, 10484);
1821 } else { 1821 } else {
1822 dasm_put(Dst, 10490); 1822 dasm_put(Dst, 10498);
1823 } 1823 }
1824 break; 1824 break;
1825 } 1825 }
1826 dasm_put(Dst, 10509); 1826 dasm_put(Dst, 10517);
1827 if (sse) { 1827 if (sse) {
1828 dasm_put(Dst, 9976); 1828 dasm_put(Dst, 9984);
1829 } else { 1829 } else {
1830 dasm_put(Dst, 9988); 1830 dasm_put(Dst, 9996);
1831 } 1831 }
1832 dasm_put(Dst, 9550); 1832 dasm_put(Dst, 9558);
1833 break; 1833 break;
1834 1834
1835 case BC_CAT: 1835 case BC_CAT:
1836 dasm_put(Dst, 10513, Dt1(->base), Dt1(->base)); 1836 dasm_put(Dst, 10521, Dt1(->base), Dt1(->base));
1837 break; 1837 break;
1838 1838
1839 /* -- Constant ops ------------------------------------------------------ */ 1839 /* -- Constant ops ------------------------------------------------------ */
1840 1840
1841 case BC_KSTR: 1841 case BC_KSTR:
1842 dasm_put(Dst, 10604, LJ_TSTR); 1842 dasm_put(Dst, 10612, LJ_TSTR);
1843 break; 1843 break;
1844 case BC_KSHORT: 1844 case BC_KSHORT:
1845 if (sse) { 1845 if (sse) {
1846 dasm_put(Dst, 10641); 1846 dasm_put(Dst, 10649);
1847 } else { 1847 } else {
1848 dasm_put(Dst, 10656); 1848 dasm_put(Dst, 10664);
1849 } 1849 }
1850 dasm_put(Dst, 9550); 1850 dasm_put(Dst, 9558);
1851 break; 1851 break;
1852 case BC_KNUM: 1852 case BC_KNUM:
1853 if (sse) { 1853 if (sse) {
1854 dasm_put(Dst, 10664); 1854 dasm_put(Dst, 10672);
1855 } else { 1855 } else {
1856 dasm_put(Dst, 10678); 1856 dasm_put(Dst, 10686);
1857 } 1857 }
1858 dasm_put(Dst, 9550); 1858 dasm_put(Dst, 9558);
1859 break; 1859 break;
1860 case BC_KPRI: 1860 case BC_KPRI:
1861 dasm_put(Dst, 10686); 1861 dasm_put(Dst, 10694);
1862 break; 1862 break;
1863 case BC_KNIL: 1863 case BC_KNIL:
1864 dasm_put(Dst, 10715, LJ_TNIL); 1864 dasm_put(Dst, 10723, LJ_TNIL);
1865 break; 1865 break;
1866 1866
1867 /* -- Upvalue and function ops ------------------------------------------ */ 1867 /* -- Upvalue and function ops ------------------------------------------ */
1868 1868
1869 case BC_UGET: 1869 case BC_UGET:
1870 dasm_put(Dst, 10763, offsetof(GCfuncL, uvptr), DtA(->v)); 1870 dasm_put(Dst, 10771, offsetof(GCfuncL, uvptr), DtA(->v));
1871 break; 1871 break;
1872 case BC_USETV: 1872 case BC_USETV:
1873#define TV2MARKOFS \ 1873#define TV2MARKOFS \
1874 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 1874 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1875 dasm_put(Dst, 10809, 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, 10817, 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, 10905); 1876 dasm_put(Dst, 10913);
1877 break; 1877 break;
1878#undef TV2MARKOFS 1878#undef TV2MARKOFS
1879 case BC_USETS: 1879 case BC_USETS:
1880 dasm_put(Dst, 10917, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 1880 dasm_put(Dst, 10925, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1881 break; 1881 break;
1882 case BC_USETN: 1882 case BC_USETN:
1883 dasm_put(Dst, 11013); 1883 dasm_put(Dst, 11021);
1884 if (sse) { 1884 if (sse) {
1885 dasm_put(Dst, 11018); 1885 dasm_put(Dst, 11026);
1886 } else { 1886 } else {
1887 dasm_put(Dst, 9792); 1887 dasm_put(Dst, 9800);
1888 } 1888 }
1889 dasm_put(Dst, 11026, offsetof(GCfuncL, uvptr), DtA(->v)); 1889 dasm_put(Dst, 11034, offsetof(GCfuncL, uvptr), DtA(->v));
1890 if (sse) { 1890 if (sse) {
1891 dasm_put(Dst, 11035); 1891 dasm_put(Dst, 11043);
1892 } else { 1892 } else {
1893 dasm_put(Dst, 11041); 1893 dasm_put(Dst, 11049);
1894 } 1894 }
1895 dasm_put(Dst, 9550); 1895 dasm_put(Dst, 9558);
1896 break; 1896 break;
1897 case BC_USETP: 1897 case BC_USETP:
1898 dasm_put(Dst, 11044, offsetof(GCfuncL, uvptr), DtA(->v)); 1898 dasm_put(Dst, 11052, offsetof(GCfuncL, uvptr), DtA(->v));
1899 break; 1899 break;
1900 case BC_UCLO: 1900 case BC_UCLO:
1901 dasm_put(Dst, 11084, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 1901 dasm_put(Dst, 11092, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
1902 break; 1902 break;
1903 1903
1904 case BC_FNEW: 1904 case BC_FNEW:
1905 dasm_put(Dst, 11140, Dt1(->base), Dt1(->base), LJ_TFUNC); 1905 dasm_put(Dst, 11148, Dt1(->base), Dt1(->base), LJ_TFUNC);
1906 break; 1906 break;
1907 1907
1908 /* -- Table ops --------------------------------------------------------- */ 1908 /* -- Table ops --------------------------------------------------------- */
1909 1909
1910 case BC_TNEW: 1910 case BC_TNEW:
1911 dasm_put(Dst, 11207, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 1911 dasm_put(Dst, 11215, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
1912 break; 1912 break;
1913 case BC_TDUP: 1913 case BC_TDUP:
1914 dasm_put(Dst, 11331, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 1914 dasm_put(Dst, 11339, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
1915 break; 1915 break;
1916 1916
1917 case BC_GGET: 1917 case BC_GGET:
1918 dasm_put(Dst, 11430, Dt7(->env)); 1918 dasm_put(Dst, 11438, Dt7(->env));
1919 break; 1919 break;
1920 case BC_GSET: 1920 case BC_GSET:
1921 dasm_put(Dst, 11450, Dt7(->env)); 1921 dasm_put(Dst, 11458, Dt7(->env));
1922 break; 1922 break;
1923 1923
1924 case BC_TGETV: 1924 case BC_TGETV:
1925 dasm_put(Dst, 11470, LJ_TTAB, LJ_TISNUM); 1925 dasm_put(Dst, 11478, LJ_TTAB, LJ_TISNUM);
1926 if (sse) { 1926 if (sse) {
1927 dasm_put(Dst, 11503); 1927 dasm_put(Dst, 11511);
1928 } else { 1928 } else {
1929 } 1929 }
1930 dasm_put(Dst, 11524, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1930 dasm_put(Dst, 11532, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1931 dasm_put(Dst, 11618, LJ_TSTR); 1931 dasm_put(Dst, 11626, LJ_TSTR);
1932 break; 1932 break;
1933 case BC_TGETS: 1933 case BC_TGETS:
1934 dasm_put(Dst, 11636, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 1934 dasm_put(Dst, 11644, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
1935 dasm_put(Dst, 11722, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1935 dasm_put(Dst, 11730, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1936 break; 1936 break;
1937 case BC_TGETB: 1937 case BC_TGETB:
1938 dasm_put(Dst, 11795, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1938 dasm_put(Dst, 11803, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1939 dasm_put(Dst, 10084); 1939 dasm_put(Dst, 10092);
1940 break; 1940 break;
1941 1941
1942 case BC_TSETV: 1942 case BC_TSETV:
1943 dasm_put(Dst, 11896, LJ_TTAB, LJ_TISNUM); 1943 dasm_put(Dst, 11904, LJ_TTAB, LJ_TISNUM);
1944 if (sse) { 1944 if (sse) {
1945 dasm_put(Dst, 11503); 1945 dasm_put(Dst, 11511);
1946 } else { 1946 } else {
1947 } 1947 }
1948 dasm_put(Dst, 11929, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 1948 dasm_put(Dst, 11937, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
1949 dasm_put(Dst, 12014, 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 dasm_put(Dst, 12022, 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 break; 1950 break;
1951 case BC_TSETS: 1951 case BC_TSETS:
1952 dasm_put(Dst, 12078, 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, 12086, 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, 12155, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 1953 dasm_put(Dst, 12163, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
1954 dasm_put(Dst, 12247, 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 dasm_put(Dst, 12255, 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 break; 1955 break;
1956 case BC_TSETB: 1956 case BC_TSETB:
1957 dasm_put(Dst, 12339, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 1957 dasm_put(Dst, 12347, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
1958 dasm_put(Dst, 12439, 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 dasm_put(Dst, 12447, 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 break; 1959 break;
1960 1960
1961 case BC_TSETM: 1961 case BC_TSETM:
1962 dasm_put(Dst, 12487); 1962 dasm_put(Dst, 12495);
1963 if (sse) { 1963 if (sse) {
1964 dasm_put(Dst, 12492); 1964 dasm_put(Dst, 12500);
1965 } else { 1965 } else {
1966 } 1966 }
1967 dasm_put(Dst, 12500, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 1967 dasm_put(Dst, 12508, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
1968 dasm_put(Dst, 12648, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1968 dasm_put(Dst, 12656, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1969 break; 1969 break;
1970 1970
1971 /* -- Calls and vararg handling ----------------------------------------- */ 1971 /* -- Calls and vararg handling ----------------------------------------- */
1972 1972
1973 case BC_CALL: case BC_CALLM: 1973 case BC_CALL: case BC_CALLM:
1974 dasm_put(Dst, 10098); 1974 dasm_put(Dst, 10106);
1975 if (op == BC_CALLM) { 1975 if (op == BC_CALLM) {
1976 dasm_put(Dst, 12668); 1976 dasm_put(Dst, 12676);
1977 } 1977 }
1978 dasm_put(Dst, 12673, LJ_TFUNC, Dt7(->pc)); 1978 dasm_put(Dst, 12681, LJ_TFUNC, Dt7(->pc));
1979 break; 1979 break;
1980 1980
1981 case BC_CALLMT: 1981 case BC_CALLMT:
1982 dasm_put(Dst, 12668); 1982 dasm_put(Dst, 12676);
1983 break; 1983 break;
1984 case BC_CALLT: 1984 case BC_CALLT:
1985 dasm_put(Dst, 12716, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 1985 dasm_put(Dst, 12724, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
1986 dasm_put(Dst, 12840, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); 1986 dasm_put(Dst, 12848, FRAME_TYPE, Dt7(->pc), PC2PROTO(k));
1987 break; 1987 break;
1988 1988
1989 case BC_ITERC: 1989 case BC_ITERC:
1990 dasm_put(Dst, 12901, LJ_TFUNC, 2+1, Dt7(->pc)); 1990 dasm_put(Dst, 12909, LJ_TFUNC, 2+1, Dt7(->pc));
1991 break; 1991 break;
1992 1992
1993 case BC_VARG: 1993 case BC_VARG:
1994 dasm_put(Dst, 12983, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); 1994 dasm_put(Dst, 12991, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL);
1995 dasm_put(Dst, 13137, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 1995 dasm_put(Dst, 13145, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
1996 break; 1996 break;
1997 1997
1998 /* -- Returns ----------------------------------------------------------- */ 1998 /* -- Returns ----------------------------------------------------------- */
1999 1999
2000 case BC_RETM: 2000 case BC_RETM:
2001 dasm_put(Dst, 12668); 2001 dasm_put(Dst, 12676);
2002 break; 2002 break;
2003 2003
2004 case BC_RET: case BC_RET0: case BC_RET1: 2004 case BC_RET: case BC_RET0: case BC_RET1:
2005 if (op != BC_RET0) { 2005 if (op != BC_RET0) {
2006 dasm_put(Dst, 13242); 2006 dasm_put(Dst, 13250);
2007 } 2007 }
2008 dasm_put(Dst, 13246, FRAME_TYPE); 2008 dasm_put(Dst, 13254, FRAME_TYPE);
2009 switch (op) { 2009 switch (op) {
2010 case BC_RET: 2010 case BC_RET:
2011 dasm_put(Dst, 13265); 2011 dasm_put(Dst, 13273);
2012 break; 2012 break;
2013 case BC_RET1: 2013 case BC_RET1:
2014 dasm_put(Dst, 13329); 2014 dasm_put(Dst, 13337);
2015 /* fallthrough */ 2015 /* fallthrough */
2016 case BC_RET0: 2016 case BC_RET0:
2017 dasm_put(Dst, 13345); 2017 dasm_put(Dst, 13353);
2018 default: 2018 default:
2019 break; 2019 break;
2020 } 2020 }
2021 dasm_put(Dst, 13356, Dt7(->pc), PC2PROTO(k)); 2021 dasm_put(Dst, 13364, Dt7(->pc), PC2PROTO(k));
2022 if (op == BC_RET) { 2022 if (op == BC_RET) {
2023 dasm_put(Dst, 13404, LJ_TNIL); 2023 dasm_put(Dst, 13412, LJ_TNIL);
2024 } else { 2024 } else {
2025 dasm_put(Dst, 13415, LJ_TNIL); 2025 dasm_put(Dst, 13423, LJ_TNIL);
2026 } 2026 }
2027 dasm_put(Dst, 13422); 2027 dasm_put(Dst, 13430);
2028 if (op != BC_RET0) { 2028 if (op != BC_RET0) {
2029 dasm_put(Dst, 13442); 2029 dasm_put(Dst, 13450);
2030 } 2030 }
2031 dasm_put(Dst, 4596); 2031 dasm_put(Dst, 4596);
2032 break; 2032 break;
@@ -2036,7 +2036,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2036 2036
2037 case BC_FORL: 2037 case BC_FORL:
2038#if LJ_HASJIT 2038#if LJ_HASJIT
2039 dasm_put(Dst, 13445, HOTCOUNT_PCMASK, GG_DISP2HOT); 2039 dasm_put(Dst, 13453, HOTCOUNT_PCMASK, GG_DISP2HOT);
2040#endif 2040#endif
2041 break; 2041 break;
2042 2042
@@ -2048,57 +2048,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2048 case BC_FORI: 2048 case BC_FORI:
2049 case BC_IFORL: 2049 case BC_IFORL:
2050 vk = (op == BC_IFORL || op == BC_JFORL); 2050 vk = (op == BC_IFORL || op == BC_JFORL);
2051 dasm_put(Dst, 13466); 2051 dasm_put(Dst, 13474);
2052 if (!vk) { 2052 if (!vk) {
2053 dasm_put(Dst, 13470, LJ_TISNUM, LJ_TISNUM); 2053 dasm_put(Dst, 13478, LJ_TISNUM, LJ_TISNUM);
2054 } 2054 }
2055 dasm_put(Dst, 13489); 2055 dasm_put(Dst, 13497);
2056 if (!vk) { 2056 if (!vk) {
2057 dasm_put(Dst, 13493, LJ_TISNUM); 2057 dasm_put(Dst, 13501, LJ_TISNUM);
2058 } 2058 }
2059 if (sse) { 2059 if (sse) {
2060 dasm_put(Dst, 13502); 2060 dasm_put(Dst, 13510);
2061 if (vk) { 2061 if (vk) {
2062 dasm_put(Dst, 13514); 2062 dasm_put(Dst, 13522);
2063 } else { 2063 } else {
2064 dasm_put(Dst, 13533); 2064 dasm_put(Dst, 13541);
2065 } 2065 }
2066 dasm_put(Dst, 13538); 2066 dasm_put(Dst, 13546);
2067 } else { 2067 } else {
2068 dasm_put(Dst, 13551); 2068 dasm_put(Dst, 13559);
2069 if (vk) { 2069 if (vk) {
2070 dasm_put(Dst, 13557); 2070 dasm_put(Dst, 13565);
2071 } else { 2071 } else {
2072 dasm_put(Dst, 13573); 2072 dasm_put(Dst, 13581);
2073 } 2073 }
2074 dasm_put(Dst, 13581); 2074 dasm_put(Dst, 13589);
2075 if (cmov) { 2075 if (cmov) {
2076 dasm_put(Dst, 9513); 2076 dasm_put(Dst, 9521);
2077 } else { 2077 } else {
2078 dasm_put(Dst, 9519); 2078 dasm_put(Dst, 9527);
2079 } 2079 }
2080 if (!cmov) { 2080 if (!cmov) {
2081 dasm_put(Dst, 13586); 2081 dasm_put(Dst, 13594);
2082 } 2082 }
2083 } 2083 }
2084 if (op == BC_FORI) { 2084 if (op == BC_FORI) {
2085 dasm_put(Dst, 13592, -BCBIAS_J*4); 2085 dasm_put(Dst, 13600, -BCBIAS_J*4);
2086 } else if (op == BC_JFORI) { 2086 } else if (op == BC_JFORI) {
2087 dasm_put(Dst, 13602, -BCBIAS_J*4, BC_JLOOP); 2087 dasm_put(Dst, 13610, -BCBIAS_J*4, BC_JLOOP);
2088 } else if (op == BC_IFORL) { 2088 } else if (op == BC_IFORL) {
2089 dasm_put(Dst, 13616, -BCBIAS_J*4); 2089 dasm_put(Dst, 13624, -BCBIAS_J*4);
2090 } else { 2090 } else {
2091 dasm_put(Dst, 13612, BC_JLOOP); 2091 dasm_put(Dst, 13620, BC_JLOOP);
2092 } 2092 }
2093 dasm_put(Dst, 9548); 2093 dasm_put(Dst, 9556);
2094 if (sse) { 2094 if (sse) {
2095 dasm_put(Dst, 13626); 2095 dasm_put(Dst, 13634);
2096 } 2096 }
2097 break; 2097 break;
2098 2098
2099 case BC_ITERL: 2099 case BC_ITERL:
2100#if LJ_HASJIT 2100#if LJ_HASJIT
2101 dasm_put(Dst, 13445, HOTCOUNT_PCMASK, GG_DISP2HOT); 2101 dasm_put(Dst, 13453, HOTCOUNT_PCMASK, GG_DISP2HOT);
2102#endif 2102#endif
2103 break; 2103 break;
2104 2104
@@ -2107,33 +2107,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2107 break; 2107 break;
2108#endif 2108#endif
2109 case BC_IITERL: 2109 case BC_IITERL:
2110 dasm_put(Dst, 13637, LJ_TNIL); 2110 dasm_put(Dst, 13645, LJ_TNIL);
2111 if (op == BC_JITERL) { 2111 if (op == BC_JITERL) {
2112 dasm_put(Dst, 13652, BC_JLOOP); 2112 dasm_put(Dst, 13660, BC_JLOOP);
2113 } else { 2113 } else {
2114 dasm_put(Dst, 13666, -BCBIAS_J*4); 2114 dasm_put(Dst, 13674, -BCBIAS_J*4);
2115 } 2115 }
2116 dasm_put(Dst, 9852); 2116 dasm_put(Dst, 9860);
2117 break; 2117 break;
2118 2118
2119 case BC_LOOP: 2119 case BC_LOOP:
2120#if LJ_HASJIT 2120#if LJ_HASJIT
2121 dasm_put(Dst, 13445, HOTCOUNT_PCMASK, GG_DISP2HOT); 2121 dasm_put(Dst, 13453, HOTCOUNT_PCMASK, GG_DISP2HOT);
2122#endif 2122#endif
2123 break; 2123 break;
2124 2124
2125 case BC_ILOOP: 2125 case BC_ILOOP:
2126 dasm_put(Dst, 9550); 2126 dasm_put(Dst, 9558);
2127 break; 2127 break;
2128 2128
2129 case BC_JLOOP: 2129 case BC_JLOOP:
2130#if LJ_HASJIT 2130#if LJ_HASJIT
2131 dasm_put(Dst, 13682, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2131 dasm_put(Dst, 13690, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2132#endif 2132#endif
2133 break; 2133 break;
2134 2134
2135 case BC_JMP: 2135 case BC_JMP:
2136 dasm_put(Dst, 13723, -BCBIAS_J*4); 2136 dasm_put(Dst, 13731, -BCBIAS_J*4);
2137 break; 2137 break;
2138 2138
2139 /* -- Function headers -------------------------------------------------- */ 2139 /* -- Function headers -------------------------------------------------- */
@@ -2147,7 +2147,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2147 2147
2148 case BC_FUNCF: 2148 case BC_FUNCF:
2149#if LJ_HASJIT 2149#if LJ_HASJIT
2150 dasm_put(Dst, 13749, HOTCOUNT_PCMASK, GG_DISP2HOT); 2150 dasm_put(Dst, 13757, HOTCOUNT_PCMASK, GG_DISP2HOT);
2151#endif 2151#endif
2152 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2152 case BC_FUNCV: /* NYI: compiled vararg functions. */
2153 break; 2153 break;
@@ -2157,47 +2157,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2157 break; 2157 break;
2158#endif 2158#endif
2159 case BC_IFUNCF: 2159 case BC_IFUNCF:
2160 dasm_put(Dst, 13770, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2160 dasm_put(Dst, 13778, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2161 if (op == BC_JFUNCF) { 2161 if (op == BC_JFUNCF) {
2162 dasm_put(Dst, 13801, BC_JLOOP); 2162 dasm_put(Dst, 13809, BC_JLOOP);
2163 } else { 2163 } else {
2164 dasm_put(Dst, 9550); 2164 dasm_put(Dst, 9558);
2165 } 2165 }
2166 dasm_put(Dst, 13810, LJ_TNIL); 2166 dasm_put(Dst, 13818, LJ_TNIL);
2167 break; 2167 break;
2168 2168
2169 case BC_JFUNCV: 2169 case BC_JFUNCV:
2170#if !LJ_HASJIT 2170#if !LJ_HASJIT
2171 break; 2171 break;
2172#endif 2172#endif
2173 dasm_put(Dst, 9245); 2173 dasm_put(Dst, 9253);
2174 break; /* NYI: compiled vararg functions. */ 2174 break; /* NYI: compiled vararg functions. */
2175 2175
2176 case BC_IFUNCV: 2176 case BC_IFUNCV:
2177 dasm_put(Dst, 13832, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2177 dasm_put(Dst, 13840, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2178 if (op == BC_JFUNCV) { 2178 if (op == BC_JFUNCV) {
2179 dasm_put(Dst, 13801, BC_JLOOP); 2179 dasm_put(Dst, 13809, BC_JLOOP);
2180 } else { 2180 } else {
2181 dasm_put(Dst, 13929, -4+PC2PROTO(k)); 2181 dasm_put(Dst, 13937, -4+PC2PROTO(k));
2182 } 2182 }
2183 dasm_put(Dst, 13954, LJ_TNIL); 2183 dasm_put(Dst, 13962, LJ_TNIL);
2184 break; 2184 break;
2185 2185
2186 case BC_FUNCC: 2186 case BC_FUNCC:
2187 case BC_FUNCCW: 2187 case BC_FUNCCW:
2188 dasm_put(Dst, 13976, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2188 dasm_put(Dst, 13984, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2189 if (op == BC_FUNCC) { 2189 if (op == BC_FUNCC) {
2190 dasm_put(Dst, 14006); 2190 dasm_put(Dst, 14014);
2191 } else { 2191 } else {
2192 dasm_put(Dst, 14010); 2192 dasm_put(Dst, 14018);
2193 } 2193 }
2194 dasm_put(Dst, 14018, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2194 dasm_put(Dst, 14026, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2195 if (op == BC_FUNCC) { 2195 if (op == BC_FUNCC) {
2196 dasm_put(Dst, 14028); 2196 dasm_put(Dst, 14036);
2197 } else { 2197 } else {
2198 dasm_put(Dst, 14033, DISPATCH_GL(wrapf)); 2198 dasm_put(Dst, 14041, DISPATCH_GL(wrapf));
2199 } 2199 }
2200 dasm_put(Dst, 14039, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2200 dasm_put(Dst, 14047, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2201 break; 2201 break;
2202 2202
2203 /* ---------------------------------------------------------------------- */ 2203 /* ---------------------------------------------------------------------- */
@@ -2225,7 +2225,7 @@ static int build_backend(BuildCtx *ctx)
2225 2225
2226 build_subroutines(ctx, cmov, sse); 2226 build_subroutines(ctx, cmov, sse);
2227 2227
2228 dasm_put(Dst, 14065); 2228 dasm_put(Dst, 14073);
2229 for (op = 0; op < BC__MAX; op++) 2229 for (op = 0; op < BC__MAX; op++)
2230 build_ins(ctx, (BCOp)op, op, cmov, sse); 2230 build_ins(ctx, (BCOp)op, op, cmov, sse);
2231 2231