summaryrefslogtreecommitdiff
path: root/src/buildvm_x64win.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x64win.h')
-rw-r--r--src/buildvm_x64win.h884
1 files changed, 446 insertions, 438 deletions
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h
index b0c90b81..de65f400 100644
--- a/src/buildvm_x64win.h
+++ b/src/buildvm_x64win.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[13802] = { 15static const unsigned char build_actionlist[13976] = {
16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, 16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72,
17 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, 17 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,
18 36,84,252,247,198,237,15,132,244,13,248,14,252,247,198,237,15,132,244,10, 18 36,84,252,247,198,237,15,132,244,13,248,14,252,247,198,237,15,132,244,10,
@@ -377,138 +377,142 @@ static const unsigned char build_actionlist[13802] = {
377 117,176,252,242,15,17,109,168,252,242,15,17,101,160,252,242,15,17,93,152, 377 117,176,252,242,15,17,109,168,252,242,15,17,101,160,252,242,15,17,93,152,
378 252,242,15,17,85,144,252,242,15,17,77,136,252,242,15,17,69,128,139,171,233, 378 252,242,15,17,85,144,252,242,15,17,77,136,252,242,15,17,69,128,139,171,233,
379 139,147,233,72,137,171,233,137,149,233,72,141,148,253,36,233,141,139,233, 379 139,147,233,72,137,171,233,137,149,233,72,141,148,253,36,233,141,139,233,
380 232,251,1,23,72,139,141,233,72,129,225,239,72,137,204,137,108,36,96,133,192, 380 232,251,1,23,72,139,141,233,72,129,225,239,137,169,233,139,149,233,139,177,
381 15,133,244,247,139,149,233,139,116,36,100,255,248,144,255,139,122,252,248, 381 233,252,233,244,247,255,248,144,255,49,192,72,141,140,253,36,233,248,1,102,
382 139,191,233,139,191,233,199,131,233,0,0,0,0,199,131,233,237,139,6,15,182, 382 68,15,111,185,233,102,68,15,111,177,233,102,68,15,111,169,233,102,68,15,111,
383 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,1,137,252,233, 383 161,233,102,68,15,111,153,233,102,68,15,111,145,233,102,68,15,111,137,233,
384 137,194,232,251,1,24,255,248,82,255,217,124,36,4,137,68,36,8,102,184,0,4, 384 102,68,15,111,129,233,102,15,111,185,233,72,137,204,102,15,111,49,76,139,
385 102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252, 385 124,36,16,76,139,116,36,24,76,139,108,36,32,76,139,100,36,80,133,192,15,133,
386 252,217,108,36,4,139,68,36,8,195,255,248,145,72,184,237,237,102,72,15,110, 386 244,248,139,122,252,248,139,191,233,139,191,233,199,131,233,0,0,0,0,199,131,
387 208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217, 387 233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
388 15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86, 388 248,2,137,252,233,137,194,232,251,1,24,255,248,82,255,217,124,36,4,137,68,
389 202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252, 389 36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,
390 242,15,92,200,15,40,193,248,1,195,248,84,255,217,124,36,4,137,68,36,8,102, 390 108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,145,72,184,237,
391 184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36, 391 237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,
392 6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,146,72,184,237,237,102, 392 202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,
393 72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102, 393 15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,
394 15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203, 394 1,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,84,255,217,124,
395 102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15, 395 36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,
396 84,194,252,242,15,92,200,15,40,193,248,1,195,248,104,255,217,124,36,4,137, 396 68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,146,
397 68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252, 397 72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,
398 252,217,108,36,4,139,68,36,8,195,255,248,147,72,184,237,237,102,72,15,110, 398 102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,
399 208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217, 399 252,242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,
400 15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203, 400 15,194,193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,104,
401 72,184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242, 401 255,217,124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,
402 15,92,200,102,15,86,202,15,40,193,248,1,195,248,148,255,15,40,232,252,242, 402 217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,147,72,184,
403 15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216, 403 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,
404 15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242, 404 15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,
405 15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208, 405 88,203,252,242,15,92,203,72,184,237,237,102,72,15,110,216,252,242,15,194,
406 252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15, 406 193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,1,195,248,
407 89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15, 407 148,255,15,40,232,252,242,15,94,193,72,184,237,237,102,72,15,110,208,72,184,
408 92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36, 408 237,237,102,72,15,110,216,15,40,224,102,15,84,226,102,15,46,220,15,134,244,
409 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108, 409 247,102,15,85,208,252,242,15,88,227,252,242,15,92,227,102,15,86,226,72,184,
410 36,4,222,201,222,252,233,195,255,248,88,217,252,234,222,201,248,149,217,84, 410 237,237,102,72,15,110,208,252,242,15,194,196,1,102,15,84,194,252,242,15,92,
411 36,8,129,124,36,8,0,0,128,127,15,132,244,247,129,124,36,8,0,0,128,252,255, 411 224,15,40,197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,
412 15,132,244,248,248,150,217,192,217,252,252,220,252,233,217,201,217,252,240, 412 200,15,40,197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,
413 217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195, 413 102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,
414 255,248,107,255,248,151,252,242,15,45,193,252,242,15,42,208,102,15,46,202, 414 36,6,217,252,252,217,108,36,4,222,201,222,252,233,195,255,248,88,217,252,
415 15,133,244,254,15,138,244,255,248,152,131,252,248,1,15,142,244,252,248,1, 415 234,222,201,248,149,217,84,36,8,129,124,36,8,0,0,128,127,15,132,244,247,129,
416 169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2, 416 124,36,8,0,0,128,252,255,15,132,244,248,248,150,217,192,217,252,252,220,252,
417 209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244, 417 233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,
418 250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89, 418 2,221,216,217,252,238,195,255,248,107,255,248,151,252,242,15,45,193,252,242,
419 193,248,5,195,248,6,15,132,244,5,15,130,244,253,80,72,184,237,237,102,72, 419 15,42,208,102,15,46,202,15,133,244,254,15,138,244,255,248,152,131,252,248,
420 15,110,200,252,242,15,94,200,88,15,40,193,252,247,216,131,252,248,1,15,132, 420 1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,
421 244,5,252,233,244,1,248,7,72,184,237,237,102,72,15,110,192,195,248,8,102, 421 252,233,244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,
422 72,15,126,200,72,209,224,72,193,192,12,72,61,252,254,15,0,0,15,132,244,248, 422 192,209,232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,
423 255,102,72,15,126,192,72,209,224,15,132,244,250,72,193,192,12,72,61,252,254, 423 3,248,4,252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,80,
424 15,0,0,15,132,244,251,252,242,15,17,76,36,16,252,242,15,17,68,36,8,221,68, 424 72,184,237,237,102,72,15,110,200,252,242,15,94,200,88,15,40,193,252,247,216,
425 36,16,221,68,36,8,217,252,241,217,192,217,252,252,220,252,233,217,201,217, 425 131,252,248,1,15,132,244,5,252,233,244,1,248,7,72,184,237,237,102,72,15,110,
426 252,240,217,232,222,193,217,252,253,221,217,221,92,36,8,252,242,15,16,68, 426 192,195,248,8,102,72,15,126,200,72,209,224,72,193,192,12,72,61,252,254,15,
427 36,8,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244, 427 0,0,15,132,244,248,255,102,72,15,126,192,72,209,224,15,132,244,250,72,193,
428 247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110,208,102,15,84, 428 192,12,72,61,252,254,15,0,0,15,132,244,251,252,242,15,17,76,36,16,252,242,
429 194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,102,15,80, 429 15,17,68,36,8,221,68,36,16,221,68,36,8,217,252,241,217,192,217,252,252,220,
430 193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,237,237, 430 252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,221,92,36,
431 255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87, 431 8,252,242,15,16,68,36,8,195,248,9,72,184,237,237,102,72,15,110,208,102,15,
432 192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,153,255, 432 46,194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,
433 110,208,102,15,84,194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,
434 244,1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,
435 3,72,184,237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,
436 133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,
437 195,248,153,255,131,252,250,1,15,130,244,82,15,132,244,84,131,252,250,3,15,
438 130,244,104,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,
439 8,221,68,36,8,131,252,250,5,15,135,244,248,88,15,132,244,247,232,244,88,80,
440 252,233,244,253,248,1,232,244,149,255,80,252,233,244,253,248,2,131,252,250,
441 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,
442 253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,250,9,
443 15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,
444 253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,250,11,15,132,244,
445 247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,
446 248,7,221,92,36,8,252,242,15,16,68,36,8,195,255,139,84,36,12,221,68,36,4,
433 131,252,250,1,15,130,244,82,15,132,244,84,131,252,250,3,15,130,244,104,15, 447 131,252,250,1,15,130,244,82,15,132,244,84,131,252,250,3,15,130,244,104,15,
434 135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,8,221,68,36,8, 448 135,244,248,217,252,250,195,248,2,131,252,250,5,15,130,244,88,15,132,244,
435 131,252,250,5,15,135,244,248,88,15,132,244,247,232,244,88,80,252,233,244, 449 149,131,252,250,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,
436 253,248,1,232,244,149,255,80,252,233,244,253,248,2,131,252,250,7,15,132,244, 450 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,250,9,15,132,
437 247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,253,248,1, 451 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,
438 217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,250,9,15,132,244, 452 252,254,195,248,2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,
439 247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,253,248,1, 453 195,248,1,217,252,242,221,216,195,255,248,9,204,248,154,255,65,131,252,248,
440 255,217,252,254,252,233,244,253,248,2,131,252,250,11,15,132,244,247,15,135, 454 1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92,
441 244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,248,7,221,92, 455 193,195,248,2,65,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15,89,
442 36,8,252,242,15,16,68,36,8,195,255,139,84,36,12,221,68,36,4,131,252,250,1, 456 193,195,248,1,252,242,15,94,193,195,248,2,65,131,252,248,5,15,130,244,148,
443 15,130,244,82,15,132,244,84,131,252,250,3,15,130,244,104,15,135,244,248,217, 457 15,132,244,107,65,131,252,248,7,15,132,244,247,15,135,244,248,72,184,237,
444 252,250,195,248,2,131,252,250,5,15,130,244,88,15,132,244,149,131,252,250, 458 237,255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,
445 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1, 459 200,15,84,193,195,248,2,65,131,252,248,9,15,135,244,248,252,242,15,17,68,
446 217,232,217,201,217,252,241,195,248,2,131,252,250,9,15,132,244,247,255,15, 460 36,8,252,242,15,17,76,36,16,221,68,36,8,221,68,36,16,15,132,244,247,217,252,
447 135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248, 461 243,248,7,221,92,36,8,252,242,15,16,68,36,8,195,248,1,217,201,217,252,253,
448 2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217, 462 221,217,252,233,244,7,248,2,65,131,252,248,11,15,132,244,247,15,135,244,255,
449 252,242,221,216,195,255,248,9,204,248,154,255,65,131,252,248,1,15,132,244, 463 252,242,15,93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68,36,
450 247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92,193,195,248, 464 20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,
451 2,65,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15,89,193,195,248, 465 193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,
452 1,252,242,15,94,193,195,248,2,65,131,252,248,5,15,130,244,148,15,132,244, 466 248,222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,148,
453 107,65,131,252,248,7,15,132,244,247,15,135,244,248,72,184,237,237,255,102, 467 15,132,244,107,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,
454 72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15,84, 468 224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,
455 193,195,248,2,65,131,252,248,9,15,135,244,248,252,242,15,17,68,36,8,252,242, 469 244,248,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,
456 15,17,76,36,16,221,68,36,8,221,68,36,16,15,132,244,247,217,252,243,248,7, 470 248,11,15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,
457 221,92,36,8,252,242,15,16,68,36,8,195,248,1,217,201,217,252,253,221,217,252, 471 248,1,219,252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,
458 233,244,7,248,2,65,131,252,248,11,15,132,244,247,15,135,244,255,252,242,15, 472 132,244,248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,
459 93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68,36,20,221,68, 473 15,133,244,248,217,201,248,2,221,216,195,255,248,155,137,200,86,72,137,214,
460 36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193,195, 474 83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,94,195,255,129,124,253,202,
461 248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248,222, 475 4,239,15,135,244,41,129,124,253,194,4,239,15,135,244,41,255,252,242,15,16,
462 201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,148,15,132,244, 476 4,194,131,198,4,102,15,46,4,202,255,221,4,202,221,4,194,131,198,4,255,223,
463 107,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195,248, 477 252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,248,255,15,131,
464 1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217, 478 244,248,255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,
465 252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15, 479 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,108,194,4,
466 132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219, 480 131,198,4,129,252,253,239,15,135,244,251,129,124,253,202,4,239,15,135,244,
467 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244, 481 251,255,252,242,15,16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,15,
468 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133, 482 138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,15,
469 244,248,217,201,248,2,221,216,195,255,248,155,137,200,86,72,137,214,83,15, 483 183,70,252,254,141,180,253,134,233,248,2,255,248,2,15,183,70,252,254,141,
470 162,137,6,137,94,4,137,78,8,137,86,12,91,94,195,255,129,124,253,202,4,239, 484 180,253,134,233,248,1,255,248,5,57,108,202,4,15,133,244,2,129,252,253,239,
471 15,135,244,41,129,124,253,194,4,239,15,135,244,41,255,252,242,15,16,4,194, 485 15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,
472 131,198,4,102,15,46,4,202,255,221,4,202,221,4,194,131,198,4,255,223,252,233, 486 135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,
473 221,216,255,218,252,233,223,224,158,255,15,134,244,248,255,15,131,244,248, 487 244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,45,255,72,252,247,208,
474 255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15, 488 131,198,4,129,124,253,202,4,239,15,133,244,248,139,12,202,59,12,135,255,131,
475 182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,108,194,4,131,198, 489 198,4,129,124,253,202,4,239,15,135,244,248,255,252,242,15,16,4,199,102,15,
476 4,129,252,253,239,15,135,244,251,129,124,253,202,4,239,15,135,244,251,255, 490 46,4,202,255,221,4,202,221,4,199,255,72,252,247,208,131,198,4,57,68,202,4,
477 252,242,15,16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,15,138,244, 491 255,139,108,194,4,131,198,4,129,252,253,239,255,15,131,244,247,255,15,130,
478 248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,15,183,70, 492 244,247,255,137,108,202,4,139,44,194,137,44,202,255,15,183,70,252,254,141,
479 252,254,141,180,253,134,233,248,2,255,248,2,15,183,70,252,254,141,180,253, 493 180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
480 134,233,248,1,255,248,5,57,108,202,4,15,133,244,2,129,252,253,239,15,131, 494 255,36,252,235,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,
481 244,1,139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244, 495 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,49,252,
482 2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255, 496 237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,
483 49,252,237,255,189,1,0,0,0,255,252,233,244,45,255,72,252,247,208,131,198, 497 232,131,198,4,193,232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,
484 4,129,124,253,202,4,239,15,133,244,248,139,12,202,59,12,135,255,131,198,4, 498 135,244,48,255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,
485 129,124,253,202,4,239,15,135,244,248,255,252,242,15,16,4,199,102,15,46,4, 499 193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,
486 202,255,221,4,202,221,4,199,255,72,252,247,208,131,198,4,57,68,202,4,255, 500 194,4,239,15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,
487 139,108,194,4,131,198,4,129,252,253,239,255,15,131,244,247,255,15,130,244, 501 1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,
488 247,255,137,108,202,4,139,44,194,137,44,202,255,15,183,70,252,254,141,180, 502 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194,
489 253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 503 4,239,15,133,244,50,139,12,194,137,213,232,251,1,18,255,252,242,15,42,192,
490 36,252,235,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,15,182, 504 137,252,234,255,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,
491 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,49,252,237,129, 505 192,255,129,124,253,252,234,4,239,15,135,244,46,255,252,242,15,16,4,252,234,
492 124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131, 506 252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,4,
493 198,4,193,232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,135,244, 507 239,15,135,244,47,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,221,
494 48,255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252, 508 4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253,
495 242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239, 509 194,4,239,15,135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,
496 15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,1,252,242, 510 221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,
497 15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,15,182, 511 221,4,252,234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,
498 232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194,4,239,15, 512 255,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,
499 133,244,50,139,12,194,137,213,232,251,1,18,255,252,242,15,42,192,137,252, 513 194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,252,242,15,89,
500 234,255,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255, 514 4,199,255,221,4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,
501 129,124,253,252,234,4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242, 515 4,252,234,255,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,
502 15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,
503 135,244,47,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,
504 220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253,194,
505 4,239,15,135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,
506 4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,
507 4,252,234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,
508 221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,
509 255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,252,242,15,89,4,
510 199,255,221,4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,
511 252,234,255,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,
512 15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252, 516 15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,
513 242,15,94,4,199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252, 517 242,15,94,4,199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,
514 242,15,94,4,252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252, 518 242,15,94,4,252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,
@@ -667,22 +671,26 @@ static const unsigned char build_actionlist[13802] = {
667 12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,41, 671 12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,41,
668 137,105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,252,252, 672 137,105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,252,252,
669 137,65,252,248,255,139,139,233,139,4,193,72,139,128,233,139,108,36,96,137, 673 137,65,252,248,255,139,139,233,139,4,193,72,139,128,233,139,108,36,96,137,
670 147,233,137,171,233,252,255,224,255,141,180,253,134,233,139,6,15,182,204, 674 147,233,137,171,233,76,137,100,36,80,76,137,108,36,32,76,137,116,36,24,76,
671 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,190,233,139,108, 675 137,124,36,16,72,137,225,72,129,252,236,239,102,15,127,49,102,15,127,185,
672 36,96,141,12,202,59,141,233,15,135,244,23,15,182,142,233,57,200,15,134,244, 676 233,102,68,15,127,129,233,102,68,15,127,137,233,102,68,15,127,145,233,102,
673 249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194,252,252, 677 68,15,127,153,233,102,68,15,127,161,233,102,68,15,127,169,233,102,68,15,127,
674 237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,141,4, 678 177,233,102,68,15,127,185,233,252,255,224,255,141,180,253,134,233,139,6,15,
675 194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,36,96,141,12, 679 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,190,233,
676 200,59,141,233,15,135,244,22,137,209,137,194,15,182,174,233,133,252,237,15, 680 139,108,36,96,141,12,202,59,141,233,15,135,244,23,15,182,142,233,57,200,15,
677 132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137,56, 681 134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194,
678 139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133, 682 252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,
679 244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193,232, 683 141,4,194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,36,96,141,
680 16,252,255,36,252,235,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133, 684 12,200,59,141,233,15,135,244,22,137,209,137,194,15,182,174,233,133,252,237,
681 244,3,252,233,244,2,255,139,106,252,248,72,139,189,233,139,108,36,96,141, 685 15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137,
682 68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233,255,137,252, 686 56,139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,
683 233,255,72,137,252,250,137,252,233,255,15,135,244,21,199,131,233,237,255, 687 133,244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193,
684 252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194, 688 232,16,252,255,36,252,235,255,248,3,199,64,4,237,131,192,8,131,252,237,1,
685 252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0 689 15,133,244,3,252,233,244,2,255,139,106,252,248,72,139,189,233,139,108,36,
690 96,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233,255,
691 137,252,233,255,72,137,252,250,137,252,233,255,15,135,244,21,199,131,233,
692 237,255,252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233,141,
693 12,194,252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0
686}; 694};
687 695
688enum { 696enum {
@@ -1357,62 +1365,62 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1357#endif 1365#endif
1358 dasm_put(Dst, 7251, Dt1(->base), Dt1(->top)); 1366 dasm_put(Dst, 7251, Dt1(->base), Dt1(->top));
1359#if LJ_HASJIT 1367#if LJ_HASJIT
1360 dasm_put(Dst, 7282, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, Dt1(->base)); 1368 dasm_put(Dst, 7282, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
1361#endif 1369#endif
1362 dasm_put(Dst, 7512); 1370 dasm_put(Dst, 7505);
1363#if LJ_HASJIT 1371#if LJ_HASJIT
1364 dasm_put(Dst, 7515, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1372 dasm_put(Dst, 7508, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1365#endif 1373#endif
1366 dasm_put(Dst, 7567); 1374 dasm_put(Dst, 7656);
1367 if (!sse) { 1375 if (!sse) {
1368 dasm_put(Dst, 7570); 1376 dasm_put(Dst, 7659);
1369 } 1377 }
1370 dasm_put(Dst, 7615, (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)); 1378 dasm_put(Dst, 7704, (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));
1371 if (!sse) { 1379 if (!sse) {
1372 dasm_put(Dst, 7701); 1380 dasm_put(Dst, 7790);
1373 } 1381 }
1374 dasm_put(Dst, 7746, (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)); 1382 dasm_put(Dst, 7835, (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));
1375 if (!sse) { 1383 if (!sse) {
1376 dasm_put(Dst, 7832); 1384 dasm_put(Dst, 7921);
1377 } 1385 }
1378 dasm_put(Dst, 7871, (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)); 1386 dasm_put(Dst, 7960, (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));
1379 if (sse) { 1387 if (sse) {
1380 dasm_put(Dst, 7960, (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, 8049, (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 } else { 1389 } else {
1382 dasm_put(Dst, 8074); 1390 dasm_put(Dst, 8163);
1383 } 1391 }
1384 dasm_put(Dst, 8121); 1392 dasm_put(Dst, 8210);
1385 if (!sse) { 1393 if (!sse) {
1386 } else { 1394 } else {
1387 dasm_put(Dst, 8195); 1395 dasm_put(Dst, 8284);
1388 } 1396 }
1389 dasm_put(Dst, 8198); 1397 dasm_put(Dst, 8287);
1390 dasm_put(Dst, 8283, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1398 dasm_put(Dst, 8372, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1391 dasm_put(Dst, 8384, (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)); 1399 dasm_put(Dst, 8473, (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));
1392 dasm_put(Dst, 8552); 1400 dasm_put(Dst, 8641);
1393 if (sse) { 1401 if (sse) {
1394 dasm_put(Dst, 8593); 1402 dasm_put(Dst, 8682);
1395 dasm_put(Dst, 8663); 1403 dasm_put(Dst, 8752);
1396 dasm_put(Dst, 8736); 1404 dasm_put(Dst, 8825);
1397 } else { 1405 } else {
1398 dasm_put(Dst, 8786); 1406 dasm_put(Dst, 8875);
1399 dasm_put(Dst, 8878); 1407 dasm_put(Dst, 8967);
1400 } 1408 }
1401 dasm_put(Dst, 8924); 1409 dasm_put(Dst, 9013);
1402 if (sse) { 1410 if (sse) {
1403 dasm_put(Dst, 8930, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1411 dasm_put(Dst, 9019, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1404 dasm_put(Dst, 9019, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1412 dasm_put(Dst, 9108, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1405 } else { 1413 } else {
1406 dasm_put(Dst, 9143); 1414 dasm_put(Dst, 9232);
1407 dasm_put(Dst, 9226); 1415 dasm_put(Dst, 9315);
1408 if (cmov) { 1416 if (cmov) {
1409 dasm_put(Dst, 9281); 1417 dasm_put(Dst, 9370);
1410 } else { 1418 } else {
1411 dasm_put(Dst, 9300); 1419 dasm_put(Dst, 9389);
1412 } 1420 }
1413 dasm_put(Dst, 9139); 1421 dasm_put(Dst, 9228);
1414 } 1422 }
1415 dasm_put(Dst, 9341); 1423 dasm_put(Dst, 9430);
1416} 1424}
1417 1425
1418/* Generate the code for a single instruction. */ 1426/* Generate the code for a single instruction. */
@@ -1428,600 +1436,600 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1428 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1436 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1429 1437
1430 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1438 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1431 dasm_put(Dst, 9367, LJ_TISNUM, LJ_TISNUM); 1439 dasm_put(Dst, 9456, LJ_TISNUM, LJ_TISNUM);
1432 if (sse) { 1440 if (sse) {
1433 dasm_put(Dst, 9388); 1441 dasm_put(Dst, 9477);
1434 } else { 1442 } else {
1435 dasm_put(Dst, 9403); 1443 dasm_put(Dst, 9492);
1436 if (cmov) { 1444 if (cmov) {
1437 dasm_put(Dst, 9413); 1445 dasm_put(Dst, 9502);
1438 } else { 1446 } else {
1439 dasm_put(Dst, 9419); 1447 dasm_put(Dst, 9508);
1440 } 1448 }
1441 } 1449 }
1442 switch (op) { 1450 switch (op) {
1443 case BC_ISLT: 1451 case BC_ISLT:
1444 dasm_put(Dst, 9426); 1452 dasm_put(Dst, 9515);
1445 break; 1453 break;
1446 case BC_ISGE: 1454 case BC_ISGE:
1447 dasm_put(Dst, 9221); 1455 dasm_put(Dst, 9310);
1448 break; 1456 break;
1449 case BC_ISLE: 1457 case BC_ISLE:
1450 dasm_put(Dst, 5900); 1458 dasm_put(Dst, 5900);
1451 break; 1459 break;
1452 case BC_ISGT: 1460 case BC_ISGT:
1453 dasm_put(Dst, 9431); 1461 dasm_put(Dst, 9520);
1454 break; 1462 break;
1455 default: break; /* Shut up GCC. */ 1463 default: break; /* Shut up GCC. */
1456 } 1464 }
1457 dasm_put(Dst, 9436, -BCBIAS_J*4); 1465 dasm_put(Dst, 9525, -BCBIAS_J*4);
1458 break; 1466 break;
1459 1467
1460 case BC_ISEQV: case BC_ISNEV: 1468 case BC_ISEQV: case BC_ISNEV:
1461 vk = op == BC_ISEQV; 1469 vk = op == BC_ISEQV;
1462 dasm_put(Dst, 9470, LJ_TISNUM, LJ_TISNUM); 1470 dasm_put(Dst, 9559, LJ_TISNUM, LJ_TISNUM);
1463 if (sse) { 1471 if (sse) {
1464 dasm_put(Dst, 9496); 1472 dasm_put(Dst, 9585);
1465 } else { 1473 } else {
1466 dasm_put(Dst, 9508); 1474 dasm_put(Dst, 9597);
1467 if (cmov) { 1475 if (cmov) {
1468 dasm_put(Dst, 9413); 1476 dasm_put(Dst, 9502);
1469 } else { 1477 } else {
1470 dasm_put(Dst, 9419); 1478 dasm_put(Dst, 9508);
1471 } 1479 }
1472 } 1480 }
1473 iseqne_fp: 1481 iseqne_fp:
1474 if (vk) { 1482 if (vk) {
1475 dasm_put(Dst, 9515); 1483 dasm_put(Dst, 9604);
1476 } else { 1484 } else {
1477 dasm_put(Dst, 9524); 1485 dasm_put(Dst, 9613);
1478 } 1486 }
1479 iseqne_end: 1487 iseqne_end:
1480 if (vk) { 1488 if (vk) {
1481 dasm_put(Dst, 9533, -BCBIAS_J*4); 1489 dasm_put(Dst, 9622, -BCBIAS_J*4);
1482 } else { 1490 } else {
1483 dasm_put(Dst, 9548, -BCBIAS_J*4); 1491 dasm_put(Dst, 9637, -BCBIAS_J*4);
1484 } 1492 }
1485 dasm_put(Dst, 9450); 1493 dasm_put(Dst, 9539);
1486 if (op == BC_ISEQV || op == BC_ISNEV) { 1494 if (op == BC_ISEQV || op == BC_ISNEV) {
1487 dasm_put(Dst, 9563, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1495 dasm_put(Dst, 9652, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1488 if (vk) { 1496 if (vk) {
1489 dasm_put(Dst, 9621); 1497 dasm_put(Dst, 9710);
1490 } else { 1498 } else {
1491 dasm_put(Dst, 9625); 1499 dasm_put(Dst, 9714);
1492 } 1500 }
1493 dasm_put(Dst, 9631); 1501 dasm_put(Dst, 9720);
1494 } 1502 }
1495 break; 1503 break;
1496 case BC_ISEQS: case BC_ISNES: 1504 case BC_ISEQS: case BC_ISNES:
1497 vk = op == BC_ISEQS; 1505 vk = op == BC_ISEQS;
1498 dasm_put(Dst, 9636, LJ_TSTR); 1506 dasm_put(Dst, 9725, LJ_TSTR);
1499 iseqne_test: 1507 iseqne_test:
1500 if (vk) { 1508 if (vk) {
1501 dasm_put(Dst, 9519); 1509 dasm_put(Dst, 9608);
1502 } else { 1510 } else {
1503 dasm_put(Dst, 2802); 1511 dasm_put(Dst, 2802);
1504 } 1512 }
1505 goto iseqne_end; 1513 goto iseqne_end;
1506 case BC_ISEQN: case BC_ISNEN: 1514 case BC_ISEQN: case BC_ISNEN:
1507 vk = op == BC_ISEQN; 1515 vk = op == BC_ISEQN;
1508 dasm_put(Dst, 9660, LJ_TISNUM); 1516 dasm_put(Dst, 9749, LJ_TISNUM);
1509 if (sse) { 1517 if (sse) {
1510 dasm_put(Dst, 9674); 1518 dasm_put(Dst, 9763);
1511 } else { 1519 } else {
1512 dasm_put(Dst, 9686); 1520 dasm_put(Dst, 9775);
1513 if (cmov) { 1521 if (cmov) {
1514 dasm_put(Dst, 9413); 1522 dasm_put(Dst, 9502);
1515 } else { 1523 } else {
1516 dasm_put(Dst, 9419); 1524 dasm_put(Dst, 9508);
1517 } 1525 }
1518 } 1526 }
1519 goto iseqne_fp; 1527 goto iseqne_fp;
1520 case BC_ISEQP: case BC_ISNEP: 1528 case BC_ISEQP: case BC_ISNEP:
1521 vk = op == BC_ISEQP; 1529 vk = op == BC_ISEQP;
1522 dasm_put(Dst, 9693); 1530 dasm_put(Dst, 9782);
1523 goto iseqne_test; 1531 goto iseqne_test;
1524 1532
1525 /* -- Unary test and copy ops ------------------------------------------- */ 1533 /* -- Unary test and copy ops ------------------------------------------- */
1526 1534
1527 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1535 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1528 dasm_put(Dst, 9705, LJ_TISTRUECOND); 1536 dasm_put(Dst, 9794, LJ_TISTRUECOND);
1529 if (op == BC_IST || op == BC_ISTC) { 1537 if (op == BC_IST || op == BC_ISTC) {
1530 dasm_put(Dst, 9717); 1538 dasm_put(Dst, 9806);
1531 } else { 1539 } else {
1532 dasm_put(Dst, 9722); 1540 dasm_put(Dst, 9811);
1533 } 1541 }
1534 if (op == BC_ISTC || op == BC_ISFC) { 1542 if (op == BC_ISTC || op == BC_ISFC) {
1535 dasm_put(Dst, 9727); 1543 dasm_put(Dst, 9816);
1536 } 1544 }
1537 dasm_put(Dst, 9738, -BCBIAS_J*4); 1545 dasm_put(Dst, 9827, -BCBIAS_J*4);
1538 break; 1546 break;
1539 1547
1540 /* -- Unary ops --------------------------------------------------------- */ 1548 /* -- Unary ops --------------------------------------------------------- */
1541 1549
1542 case BC_MOV: 1550 case BC_MOV:
1543 dasm_put(Dst, 9770); 1551 dasm_put(Dst, 9859);
1544 break; 1552 break;
1545 case BC_NOT: 1553 case BC_NOT:
1546 dasm_put(Dst, 9804, LJ_TISTRUECOND, LJ_TTRUE); 1554 dasm_put(Dst, 9893, LJ_TISTRUECOND, LJ_TTRUE);
1547 break; 1555 break;
1548 case BC_UNM: 1556 case BC_UNM:
1549 dasm_put(Dst, 9840, LJ_TISNUM); 1557 dasm_put(Dst, 9929, LJ_TISNUM);
1550 if (sse) { 1558 if (sse) {
1551 dasm_put(Dst, 9851, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1559 dasm_put(Dst, 9940, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1552 } else { 1560 } else {
1553 dasm_put(Dst, 9876); 1561 dasm_put(Dst, 9965);
1554 } 1562 }
1555 dasm_put(Dst, 9450); 1563 dasm_put(Dst, 9539);
1556 break; 1564 break;
1557 case BC_LEN: 1565 case BC_LEN:
1558 dasm_put(Dst, 9885, LJ_TSTR); 1566 dasm_put(Dst, 9974, LJ_TSTR);
1559 if (sse) { 1567 if (sse) {
1560 dasm_put(Dst, 9899, Dt5(->len)); 1568 dasm_put(Dst, 9988, Dt5(->len));
1561 } else { 1569 } else {
1562 dasm_put(Dst, 9917, Dt5(->len)); 1570 dasm_put(Dst, 10006, Dt5(->len));
1563 } 1571 }
1564 dasm_put(Dst, 9926, LJ_TTAB); 1572 dasm_put(Dst, 10015, LJ_TTAB);
1565 if (sse) { 1573 if (sse) {
1566 dasm_put(Dst, 9967); 1574 dasm_put(Dst, 10056);
1567 } else { 1575 } else {
1568 } 1576 }
1569 dasm_put(Dst, 9976); 1577 dasm_put(Dst, 10065);
1570 break; 1578 break;
1571 1579
1572 /* -- Binary ops -------------------------------------------------------- */ 1580 /* -- Binary ops -------------------------------------------------------- */
1573 1581
1574 1582
1575 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1583 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1576 dasm_put(Dst, 9986); 1584 dasm_put(Dst, 10075);
1577 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1585 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1578 switch (vk) { 1586 switch (vk) {
1579 case 0: 1587 case 0:
1580 dasm_put(Dst, 9994, LJ_TISNUM); 1588 dasm_put(Dst, 10083, LJ_TISNUM);
1581 if (sse) { 1589 if (sse) {
1582 dasm_put(Dst, 10006); 1590 dasm_put(Dst, 10095);
1583 } else { 1591 } else {
1584 dasm_put(Dst, 10020); 1592 dasm_put(Dst, 10109);
1585 } 1593 }
1586 break; 1594 break;
1587 case 1: 1595 case 1:
1588 dasm_put(Dst, 10028, LJ_TISNUM); 1596 dasm_put(Dst, 10117, LJ_TISNUM);
1589 if (sse) { 1597 if (sse) {
1590 dasm_put(Dst, 10040); 1598 dasm_put(Dst, 10129);
1591 } else { 1599 } else {
1592 dasm_put(Dst, 10054); 1600 dasm_put(Dst, 10143);
1593 } 1601 }
1594 break; 1602 break;
1595 default: 1603 default:
1596 dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM); 1604 dasm_put(Dst, 10151, LJ_TISNUM, LJ_TISNUM);
1597 if (sse) { 1605 if (sse) {
1598 dasm_put(Dst, 10084); 1606 dasm_put(Dst, 10173);
1599 } else { 1607 } else {
1600 dasm_put(Dst, 10098); 1608 dasm_put(Dst, 10187);
1601 } 1609 }
1602 break; 1610 break;
1603 } 1611 }
1604 if (sse) { 1612 if (sse) {
1605 dasm_put(Dst, 9869); 1613 dasm_put(Dst, 9958);
1606 } else { 1614 } else {
1607 dasm_put(Dst, 9881); 1615 dasm_put(Dst, 9970);
1608 } 1616 }
1609 dasm_put(Dst, 9450); 1617 dasm_put(Dst, 9539);
1610 break; 1618 break;
1611 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1619 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1612 dasm_put(Dst, 9986); 1620 dasm_put(Dst, 10075);
1613 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1621 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1614 switch (vk) { 1622 switch (vk) {
1615 case 0: 1623 case 0:
1616 dasm_put(Dst, 9994, LJ_TISNUM); 1624 dasm_put(Dst, 10083, LJ_TISNUM);
1617 if (sse) { 1625 if (sse) {
1618 dasm_put(Dst, 10106); 1626 dasm_put(Dst, 10195);
1619 } else { 1627 } else {
1620 dasm_put(Dst, 10120); 1628 dasm_put(Dst, 10209);
1621 } 1629 }
1622 break; 1630 break;
1623 case 1: 1631 case 1:
1624 dasm_put(Dst, 10028, LJ_TISNUM); 1632 dasm_put(Dst, 10117, LJ_TISNUM);
1625 if (sse) { 1633 if (sse) {
1626 dasm_put(Dst, 10128); 1634 dasm_put(Dst, 10217);
1627 } else { 1635 } else {
1628 dasm_put(Dst, 10142); 1636 dasm_put(Dst, 10231);
1629 } 1637 }
1630 break; 1638 break;
1631 default: 1639 default:
1632 dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM); 1640 dasm_put(Dst, 10151, LJ_TISNUM, LJ_TISNUM);
1633 if (sse) { 1641 if (sse) {
1634 dasm_put(Dst, 10150); 1642 dasm_put(Dst, 10239);
1635 } else { 1643 } else {
1636 dasm_put(Dst, 10164); 1644 dasm_put(Dst, 10253);
1637 } 1645 }
1638 break; 1646 break;
1639 } 1647 }
1640 if (sse) { 1648 if (sse) {
1641 dasm_put(Dst, 9869); 1649 dasm_put(Dst, 9958);
1642 } else { 1650 } else {
1643 dasm_put(Dst, 9881); 1651 dasm_put(Dst, 9970);
1644 } 1652 }
1645 dasm_put(Dst, 9450); 1653 dasm_put(Dst, 9539);
1646 break; 1654 break;
1647 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1655 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1648 dasm_put(Dst, 9986); 1656 dasm_put(Dst, 10075);
1649 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1657 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1650 switch (vk) { 1658 switch (vk) {
1651 case 0: 1659 case 0:
1652 dasm_put(Dst, 9994, LJ_TISNUM); 1660 dasm_put(Dst, 10083, LJ_TISNUM);
1653 if (sse) { 1661 if (sse) {
1654 dasm_put(Dst, 10172); 1662 dasm_put(Dst, 10261);
1655 } else { 1663 } else {
1656 dasm_put(Dst, 10186); 1664 dasm_put(Dst, 10275);
1657 } 1665 }
1658 break; 1666 break;
1659 case 1: 1667 case 1:
1660 dasm_put(Dst, 10028, LJ_TISNUM); 1668 dasm_put(Dst, 10117, LJ_TISNUM);
1661 if (sse) { 1669 if (sse) {
1662 dasm_put(Dst, 10194); 1670 dasm_put(Dst, 10283);
1663 } else { 1671 } else {
1664 dasm_put(Dst, 10208); 1672 dasm_put(Dst, 10297);
1665 } 1673 }
1666 break; 1674 break;
1667 default: 1675 default:
1668 dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM); 1676 dasm_put(Dst, 10151, LJ_TISNUM, LJ_TISNUM);
1669 if (sse) { 1677 if (sse) {
1670 dasm_put(Dst, 10216); 1678 dasm_put(Dst, 10305);
1671 } else { 1679 } else {
1672 dasm_put(Dst, 10230); 1680 dasm_put(Dst, 10319);
1673 } 1681 }
1674 break; 1682 break;
1675 } 1683 }
1676 if (sse) { 1684 if (sse) {
1677 dasm_put(Dst, 9869); 1685 dasm_put(Dst, 9958);
1678 } else { 1686 } else {
1679 dasm_put(Dst, 9881); 1687 dasm_put(Dst, 9970);
1680 } 1688 }
1681 dasm_put(Dst, 9450); 1689 dasm_put(Dst, 9539);
1682 break; 1690 break;
1683 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1691 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1684 dasm_put(Dst, 9986); 1692 dasm_put(Dst, 10075);
1685 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1693 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1686 switch (vk) { 1694 switch (vk) {
1687 case 0: 1695 case 0:
1688 dasm_put(Dst, 9994, LJ_TISNUM); 1696 dasm_put(Dst, 10083, LJ_TISNUM);
1689 if (sse) { 1697 if (sse) {
1690 dasm_put(Dst, 10238); 1698 dasm_put(Dst, 10327);
1691 } else { 1699 } else {
1692 dasm_put(Dst, 10252); 1700 dasm_put(Dst, 10341);
1693 } 1701 }
1694 break; 1702 break;
1695 case 1: 1703 case 1:
1696 dasm_put(Dst, 10028, LJ_TISNUM); 1704 dasm_put(Dst, 10117, LJ_TISNUM);
1697 if (sse) { 1705 if (sse) {
1698 dasm_put(Dst, 10260); 1706 dasm_put(Dst, 10349);
1699 } else { 1707 } else {
1700 dasm_put(Dst, 10274); 1708 dasm_put(Dst, 10363);
1701 } 1709 }
1702 break; 1710 break;
1703 default: 1711 default:
1704 dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM); 1712 dasm_put(Dst, 10151, LJ_TISNUM, LJ_TISNUM);
1705 if (sse) { 1713 if (sse) {
1706 dasm_put(Dst, 10282); 1714 dasm_put(Dst, 10371);
1707 } else { 1715 } else {
1708 dasm_put(Dst, 10296); 1716 dasm_put(Dst, 10385);
1709 } 1717 }
1710 break; 1718 break;
1711 } 1719 }
1712 if (sse) { 1720 if (sse) {
1713 dasm_put(Dst, 9869); 1721 dasm_put(Dst, 9958);
1714 } else { 1722 } else {
1715 dasm_put(Dst, 9881); 1723 dasm_put(Dst, 9970);
1716 } 1724 }
1717 dasm_put(Dst, 9450); 1725 dasm_put(Dst, 9539);
1718 break; 1726 break;
1719 case BC_MODVN: 1727 case BC_MODVN:
1720 dasm_put(Dst, 9986); 1728 dasm_put(Dst, 10075);
1721 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1729 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1722 switch (vk) { 1730 switch (vk) {
1723 case 0: 1731 case 0:
1724 dasm_put(Dst, 9994, LJ_TISNUM); 1732 dasm_put(Dst, 10083, LJ_TISNUM);
1725 if (sse) { 1733 if (sse) {
1726 dasm_put(Dst, 10304); 1734 dasm_put(Dst, 10393);
1727 } else { 1735 } else {
1728 dasm_put(Dst, 10318); 1736 dasm_put(Dst, 10407);
1729 } 1737 }
1730 break; 1738 break;
1731 case 1: 1739 case 1:
1732 dasm_put(Dst, 10028, LJ_TISNUM); 1740 dasm_put(Dst, 10117, LJ_TISNUM);
1733 if (sse) { 1741 if (sse) {
1734 dasm_put(Dst, 10326); 1742 dasm_put(Dst, 10415);
1735 } else { 1743 } else {
1736 dasm_put(Dst, 10340); 1744 dasm_put(Dst, 10429);
1737 } 1745 }
1738 break; 1746 break;
1739 default: 1747 default:
1740 dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM); 1748 dasm_put(Dst, 10151, LJ_TISNUM, LJ_TISNUM);
1741 if (sse) { 1749 if (sse) {
1742 dasm_put(Dst, 10348); 1750 dasm_put(Dst, 10437);
1743 } else { 1751 } else {
1744 dasm_put(Dst, 10362); 1752 dasm_put(Dst, 10451);
1745 } 1753 }
1746 break; 1754 break;
1747 } 1755 }
1748 dasm_put(Dst, 10370); 1756 dasm_put(Dst, 10459);
1749 if (sse) { 1757 if (sse) {
1750 dasm_put(Dst, 9869); 1758 dasm_put(Dst, 9958);
1751 } else { 1759 } else {
1752 dasm_put(Dst, 9881); 1760 dasm_put(Dst, 9970);
1753 } 1761 }
1754 dasm_put(Dst, 9450); 1762 dasm_put(Dst, 9539);
1755 break; 1763 break;
1756 case BC_MODNV: case BC_MODVV: 1764 case BC_MODNV: case BC_MODVV:
1757 dasm_put(Dst, 9986); 1765 dasm_put(Dst, 10075);
1758 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1766 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1759 switch (vk) { 1767 switch (vk) {
1760 case 0: 1768 case 0:
1761 dasm_put(Dst, 9994, LJ_TISNUM); 1769 dasm_put(Dst, 10083, LJ_TISNUM);
1762 if (sse) { 1770 if (sse) {
1763 dasm_put(Dst, 10304); 1771 dasm_put(Dst, 10393);
1764 } else { 1772 } else {
1765 dasm_put(Dst, 10318); 1773 dasm_put(Dst, 10407);
1766 } 1774 }
1767 break; 1775 break;
1768 case 1: 1776 case 1:
1769 dasm_put(Dst, 10028, LJ_TISNUM); 1777 dasm_put(Dst, 10117, LJ_TISNUM);
1770 if (sse) { 1778 if (sse) {
1771 dasm_put(Dst, 10326); 1779 dasm_put(Dst, 10415);
1772 } else { 1780 } else {
1773 dasm_put(Dst, 10340); 1781 dasm_put(Dst, 10429);
1774 } 1782 }
1775 break; 1783 break;
1776 default: 1784 default:
1777 dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM); 1785 dasm_put(Dst, 10151, LJ_TISNUM, LJ_TISNUM);
1778 if (sse) { 1786 if (sse) {
1779 dasm_put(Dst, 10348); 1787 dasm_put(Dst, 10437);
1780 } else { 1788 } else {
1781 dasm_put(Dst, 10362); 1789 dasm_put(Dst, 10451);
1782 } 1790 }
1783 break; 1791 break;
1784 } 1792 }
1785 dasm_put(Dst, 10376); 1793 dasm_put(Dst, 10465);
1786 break; 1794 break;
1787 case BC_POW: 1795 case BC_POW:
1788 dasm_put(Dst, 9986); 1796 dasm_put(Dst, 10075);
1789 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1797 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1790 switch (vk) { 1798 switch (vk) {
1791 case 0: 1799 case 0:
1792 dasm_put(Dst, 9994, LJ_TISNUM); 1800 dasm_put(Dst, 10083, LJ_TISNUM);
1793 if (sse) { 1801 if (sse) {
1794 dasm_put(Dst, 10304); 1802 dasm_put(Dst, 10393);
1795 } else { 1803 } else {
1796 dasm_put(Dst, 10318); 1804 dasm_put(Dst, 10407);
1797 } 1805 }
1798 break; 1806 break;
1799 case 1: 1807 case 1:
1800 dasm_put(Dst, 10028, LJ_TISNUM); 1808 dasm_put(Dst, 10117, LJ_TISNUM);
1801 if (sse) { 1809 if (sse) {
1802 dasm_put(Dst, 10326); 1810 dasm_put(Dst, 10415);
1803 } else { 1811 } else {
1804 dasm_put(Dst, 10340); 1812 dasm_put(Dst, 10429);
1805 } 1813 }
1806 break; 1814 break;
1807 default: 1815 default:
1808 dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM); 1816 dasm_put(Dst, 10151, LJ_TISNUM, LJ_TISNUM);
1809 if (sse) { 1817 if (sse) {
1810 dasm_put(Dst, 10348); 1818 dasm_put(Dst, 10437);
1811 } else { 1819 } else {
1812 dasm_put(Dst, 10362); 1820 dasm_put(Dst, 10451);
1813 } 1821 }
1814 break; 1822 break;
1815 } 1823 }
1816 dasm_put(Dst, 10381); 1824 dasm_put(Dst, 10470);
1817 if (sse) { 1825 if (sse) {
1818 dasm_put(Dst, 9869); 1826 dasm_put(Dst, 9958);
1819 } else { 1827 } else {
1820 dasm_put(Dst, 9881); 1828 dasm_put(Dst, 9970);
1821 } 1829 }
1822 dasm_put(Dst, 9450); 1830 dasm_put(Dst, 9539);
1823 break; 1831 break;
1824 1832
1825 case BC_CAT: 1833 case BC_CAT:
1826 dasm_put(Dst, 10385, Dt1(->base), Dt1(->base)); 1834 dasm_put(Dst, 10474, Dt1(->base), Dt1(->base));
1827 break; 1835 break;
1828 1836
1829 /* -- Constant ops ------------------------------------------------------ */ 1837 /* -- Constant ops ------------------------------------------------------ */
1830 1838
1831 case BC_KSTR: 1839 case BC_KSTR:
1832 dasm_put(Dst, 10475, LJ_TSTR); 1840 dasm_put(Dst, 10564, LJ_TSTR);
1833 break; 1841 break;
1834 case BC_KSHORT: 1842 case BC_KSHORT:
1835 if (sse) { 1843 if (sse) {
1836 dasm_put(Dst, 10510); 1844 dasm_put(Dst, 10599);
1837 } else { 1845 } else {
1838 dasm_put(Dst, 10525); 1846 dasm_put(Dst, 10614);
1839 } 1847 }
1840 dasm_put(Dst, 9450); 1848 dasm_put(Dst, 9539);
1841 break; 1849 break;
1842 case BC_KNUM: 1850 case BC_KNUM:
1843 if (sse) { 1851 if (sse) {
1844 dasm_put(Dst, 10533); 1852 dasm_put(Dst, 10622);
1845 } else { 1853 } else {
1846 dasm_put(Dst, 10546); 1854 dasm_put(Dst, 10635);
1847 } 1855 }
1848 dasm_put(Dst, 9450); 1856 dasm_put(Dst, 9539);
1849 break; 1857 break;
1850 case BC_KPRI: 1858 case BC_KPRI:
1851 dasm_put(Dst, 10553); 1859 dasm_put(Dst, 10642);
1852 break; 1860 break;
1853 case BC_KNIL: 1861 case BC_KNIL:
1854 dasm_put(Dst, 10581, LJ_TNIL); 1862 dasm_put(Dst, 10670, LJ_TNIL);
1855 break; 1863 break;
1856 1864
1857 /* -- Upvalue and function ops ------------------------------------------ */ 1865 /* -- Upvalue and function ops ------------------------------------------ */
1858 1866
1859 case BC_UGET: 1867 case BC_UGET:
1860 dasm_put(Dst, 10628, offsetof(GCfuncL, uvptr), DtA(->v)); 1868 dasm_put(Dst, 10717, offsetof(GCfuncL, uvptr), DtA(->v));
1861 break; 1869 break;
1862 case BC_USETV: 1870 case BC_USETV:
1863#define TV2MARKOFS \ 1871#define TV2MARKOFS \
1864 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 1872 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1865 dasm_put(Dst, 10673, 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); 1873 dasm_put(Dst, 10762, 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);
1866 dasm_put(Dst, 10764); 1874 dasm_put(Dst, 10853);
1867 break; 1875 break;
1868#undef TV2MARKOFS 1876#undef TV2MARKOFS
1869 case BC_USETS: 1877 case BC_USETS:
1870 dasm_put(Dst, 10776, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 1878 dasm_put(Dst, 10865, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1871 break; 1879 break;
1872 case BC_USETN: 1880 case BC_USETN:
1873 dasm_put(Dst, 10869); 1881 dasm_put(Dst, 10958);
1874 if (sse) { 1882 if (sse) {
1875 dasm_put(Dst, 10874); 1883 dasm_put(Dst, 10963);
1876 } else { 1884 } else {
1877 dasm_put(Dst, 9689); 1885 dasm_put(Dst, 9778);
1878 } 1886 }
1879 dasm_put(Dst, 10881, offsetof(GCfuncL, uvptr), DtA(->v)); 1887 dasm_put(Dst, 10970, offsetof(GCfuncL, uvptr), DtA(->v));
1880 if (sse) { 1888 if (sse) {
1881 dasm_put(Dst, 10890); 1889 dasm_put(Dst, 10979);
1882 } else { 1890 } else {
1883 dasm_put(Dst, 10896); 1891 dasm_put(Dst, 10985);
1884 } 1892 }
1885 dasm_put(Dst, 9450); 1893 dasm_put(Dst, 9539);
1886 break; 1894 break;
1887 case BC_USETP: 1895 case BC_USETP:
1888 dasm_put(Dst, 10899, offsetof(GCfuncL, uvptr), DtA(->v)); 1896 dasm_put(Dst, 10988, offsetof(GCfuncL, uvptr), DtA(->v));
1889 break; 1897 break;
1890 case BC_UCLO: 1898 case BC_UCLO:
1891 dasm_put(Dst, 10938, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 1899 dasm_put(Dst, 11027, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
1892 break; 1900 break;
1893 1901
1894 case BC_FNEW: 1902 case BC_FNEW:
1895 dasm_put(Dst, 10993, Dt1(->base), Dt1(->base), LJ_TFUNC); 1903 dasm_put(Dst, 11082, Dt1(->base), Dt1(->base), LJ_TFUNC);
1896 break; 1904 break;
1897 1905
1898 /* -- Table ops --------------------------------------------------------- */ 1906 /* -- Table ops --------------------------------------------------------- */
1899 1907
1900 case BC_TNEW: 1908 case BC_TNEW:
1901 dasm_put(Dst, 11059, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 1909 dasm_put(Dst, 11148, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
1902 break; 1910 break;
1903 case BC_TDUP: 1911 case BC_TDUP:
1904 dasm_put(Dst, 11180, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 1912 dasm_put(Dst, 11269, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
1905 break; 1913 break;
1906 1914
1907 case BC_GGET: 1915 case BC_GGET:
1908 dasm_put(Dst, 11275, Dt7(->env)); 1916 dasm_put(Dst, 11364, Dt7(->env));
1909 break; 1917 break;
1910 case BC_GSET: 1918 case BC_GSET:
1911 dasm_put(Dst, 11294, Dt7(->env)); 1919 dasm_put(Dst, 11383, Dt7(->env));
1912 break; 1920 break;
1913 1921
1914 case BC_TGETV: 1922 case BC_TGETV:
1915 dasm_put(Dst, 11313, LJ_TTAB, LJ_TISNUM); 1923 dasm_put(Dst, 11402, LJ_TTAB, LJ_TISNUM);
1916 if (sse) { 1924 if (sse) {
1917 dasm_put(Dst, 11346); 1925 dasm_put(Dst, 11435);
1918 } else { 1926 } else {
1919 } 1927 }
1920 dasm_put(Dst, 11367, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1928 dasm_put(Dst, 11456, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1921 dasm_put(Dst, 11460, LJ_TSTR); 1929 dasm_put(Dst, 11549, LJ_TSTR);
1922 break; 1930 break;
1923 case BC_TGETS: 1931 case BC_TGETS:
1924 dasm_put(Dst, 11478, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 1932 dasm_put(Dst, 11567, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
1925 dasm_put(Dst, 11563, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1933 dasm_put(Dst, 11652, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1926 break; 1934 break;
1927 case BC_TGETB: 1935 case BC_TGETB:
1928 dasm_put(Dst, 11635, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1936 dasm_put(Dst, 11724, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1929 dasm_put(Dst, 9976); 1937 dasm_put(Dst, 10065);
1930 break; 1938 break;
1931 1939
1932 case BC_TSETV: 1940 case BC_TSETV:
1933 dasm_put(Dst, 11735, LJ_TTAB, LJ_TISNUM); 1941 dasm_put(Dst, 11824, LJ_TTAB, LJ_TISNUM);
1934 if (sse) { 1942 if (sse) {
1935 dasm_put(Dst, 11346); 1943 dasm_put(Dst, 11435);
1936 } else { 1944 } else {
1937 } 1945 }
1938 dasm_put(Dst, 11768, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 1946 dasm_put(Dst, 11857, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
1939 dasm_put(Dst, 11852, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1947 dasm_put(Dst, 11941, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1940 break; 1948 break;
1941 case BC_TSETS: 1949 case BC_TSETS:
1942 dasm_put(Dst, 11914, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 1950 dasm_put(Dst, 12003, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
1943 dasm_put(Dst, 11990, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 1951 dasm_put(Dst, 12079, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
1944 dasm_put(Dst, 12083, 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)); 1952 dasm_put(Dst, 12172, 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));
1945 break; 1953 break;
1946 case BC_TSETB: 1954 case BC_TSETB:
1947 dasm_put(Dst, 12174, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 1955 dasm_put(Dst, 12263, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
1948 dasm_put(Dst, 12273, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1956 dasm_put(Dst, 12362, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1949 break; 1957 break;
1950 1958
1951 case BC_TSETM: 1959 case BC_TSETM:
1952 dasm_put(Dst, 12319); 1960 dasm_put(Dst, 12408);
1953 if (sse) { 1961 if (sse) {
1954 dasm_put(Dst, 10874); 1962 dasm_put(Dst, 10963);
1955 } else { 1963 } else {
1956 } 1964 }
1957 dasm_put(Dst, 12324, Dt6(->marked), LJ_GC_BLACK); 1965 dasm_put(Dst, 12413, Dt6(->marked), LJ_GC_BLACK);
1958 if (sse) { 1966 if (sse) {
1959 dasm_put(Dst, 12349); 1967 dasm_put(Dst, 12438);
1960 } else { 1968 } else {
1961 } 1969 }
1962 dasm_put(Dst, 12356, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain)); 1970 dasm_put(Dst, 12445, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain));
1963 dasm_put(Dst, 12482, Dt6(->gclist)); 1971 dasm_put(Dst, 12571, Dt6(->gclist));
1964 break; 1972 break;
1965 1973
1966 /* -- Calls and vararg handling ----------------------------------------- */ 1974 /* -- Calls and vararg handling ----------------------------------------- */
1967 1975
1968 case BC_CALL: case BC_CALLM: 1976 case BC_CALL: case BC_CALLM:
1969 dasm_put(Dst, 9990); 1977 dasm_put(Dst, 10079);
1970 if (op == BC_CALLM) { 1978 if (op == BC_CALLM) {
1971 dasm_put(Dst, 12490); 1979 dasm_put(Dst, 12579);
1972 } 1980 }
1973 dasm_put(Dst, 12495, LJ_TFUNC, Dt7(->pc)); 1981 dasm_put(Dst, 12584, LJ_TFUNC, Dt7(->pc));
1974 break; 1982 break;
1975 1983
1976 case BC_CALLMT: 1984 case BC_CALLMT:
1977 dasm_put(Dst, 12490); 1985 dasm_put(Dst, 12579);
1978 break; 1986 break;
1979 case BC_CALLT: 1987 case BC_CALLT:
1980 dasm_put(Dst, 12537, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 1988 dasm_put(Dst, 12626, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
1981 dasm_put(Dst, 12656, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); 1989 dasm_put(Dst, 12745, FRAME_TYPE, Dt7(->pc), PC2PROTO(k));
1982 break; 1990 break;
1983 1991
1984 case BC_ITERC: 1992 case BC_ITERC:
1985 dasm_put(Dst, 12714, LJ_TFUNC, 2+1, Dt7(->pc)); 1993 dasm_put(Dst, 12803, LJ_TFUNC, 2+1, Dt7(->pc));
1986 break; 1994 break;
1987 1995
1988 case BC_VARG: 1996 case BC_VARG:
1989 dasm_put(Dst, 12795, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); 1997 dasm_put(Dst, 12884, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL);
1990 dasm_put(Dst, 12940, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 1998 dasm_put(Dst, 13029, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
1991 break; 1999 break;
1992 2000
1993 /* -- Returns ----------------------------------------------------------- */ 2001 /* -- Returns ----------------------------------------------------------- */
1994 2002
1995 case BC_RETM: 2003 case BC_RETM:
1996 dasm_put(Dst, 12490); 2004 dasm_put(Dst, 12579);
1997 break; 2005 break;
1998 2006
1999 case BC_RET: case BC_RET0: case BC_RET1: 2007 case BC_RET: case BC_RET0: case BC_RET1:
2000 if (op != BC_RET0) { 2008 if (op != BC_RET0) {
2001 dasm_put(Dst, 13039); 2009 dasm_put(Dst, 13128);
2002 } 2010 }
2003 dasm_put(Dst, 13043, FRAME_TYPE); 2011 dasm_put(Dst, 13132, FRAME_TYPE);
2004 switch (op) { 2012 switch (op) {
2005 case BC_RET: 2013 case BC_RET:
2006 dasm_put(Dst, 13062); 2014 dasm_put(Dst, 13151);
2007 break; 2015 break;
2008 case BC_RET1: 2016 case BC_RET1:
2009 dasm_put(Dst, 13120); 2017 dasm_put(Dst, 13209);
2010 /* fallthrough */ 2018 /* fallthrough */
2011 case BC_RET0: 2019 case BC_RET0:
2012 dasm_put(Dst, 13136); 2020 dasm_put(Dst, 13225);
2013 default: 2021 default:
2014 break; 2022 break;
2015 } 2023 }
2016 dasm_put(Dst, 13147, Dt7(->pc), PC2PROTO(k)); 2024 dasm_put(Dst, 13236, Dt7(->pc), PC2PROTO(k));
2017 if (op == BC_RET) { 2025 if (op == BC_RET) {
2018 dasm_put(Dst, 13191, LJ_TNIL); 2026 dasm_put(Dst, 13280, LJ_TNIL);
2019 } else { 2027 } else {
2020 dasm_put(Dst, 13200, LJ_TNIL); 2028 dasm_put(Dst, 13289, LJ_TNIL);
2021 } 2029 }
2022 dasm_put(Dst, 13207); 2030 dasm_put(Dst, 13296);
2023 if (op != BC_RET0) { 2031 if (op != BC_RET0) {
2024 dasm_put(Dst, 13228); 2032 dasm_put(Dst, 13317);
2025 } 2033 }
2026 dasm_put(Dst, 4570); 2034 dasm_put(Dst, 4570);
2027 break; 2035 break;
@@ -2031,7 +2039,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2031 2039
2032 case BC_FORL: 2040 case BC_FORL:
2033#if LJ_HASJIT 2041#if LJ_HASJIT
2034 dasm_put(Dst, 13232, HOTCOUNT_PCMASK, GG_DISP2HOT); 2042 dasm_put(Dst, 13321, HOTCOUNT_PCMASK, GG_DISP2HOT);
2035#endif 2043#endif
2036 break; 2044 break;
2037 2045
@@ -2043,57 +2051,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2043 case BC_FORI: 2051 case BC_FORI:
2044 case BC_IFORL: 2052 case BC_IFORL:
2045 vk = (op == BC_IFORL || op == BC_JFORL); 2053 vk = (op == BC_IFORL || op == BC_JFORL);
2046 dasm_put(Dst, 13253); 2054 dasm_put(Dst, 13342);
2047 if (!vk) { 2055 if (!vk) {
2048 dasm_put(Dst, 13257, LJ_TISNUM, LJ_TISNUM); 2056 dasm_put(Dst, 13346, LJ_TISNUM, LJ_TISNUM);
2049 } 2057 }
2050 dasm_put(Dst, 13276); 2058 dasm_put(Dst, 13365);
2051 if (!vk) { 2059 if (!vk) {
2052 dasm_put(Dst, 13280, LJ_TISNUM); 2060 dasm_put(Dst, 13369, LJ_TISNUM);
2053 } 2061 }
2054 if (sse) { 2062 if (sse) {
2055 dasm_put(Dst, 13289); 2063 dasm_put(Dst, 13378);
2056 if (vk) { 2064 if (vk) {
2057 dasm_put(Dst, 13301); 2065 dasm_put(Dst, 13390);
2058 } else { 2066 } else {
2059 dasm_put(Dst, 13320); 2067 dasm_put(Dst, 13409);
2060 } 2068 }
2061 dasm_put(Dst, 13325); 2069 dasm_put(Dst, 13414);
2062 } else { 2070 } else {
2063 dasm_put(Dst, 13338); 2071 dasm_put(Dst, 13427);
2064 if (vk) { 2072 if (vk) {
2065 dasm_put(Dst, 13344); 2073 dasm_put(Dst, 13433);
2066 } else { 2074 } else {
2067 dasm_put(Dst, 13360); 2075 dasm_put(Dst, 13449);
2068 } 2076 }
2069 dasm_put(Dst, 13368); 2077 dasm_put(Dst, 13457);
2070 if (cmov) { 2078 if (cmov) {
2071 dasm_put(Dst, 9413); 2079 dasm_put(Dst, 9502);
2072 } else { 2080 } else {
2073 dasm_put(Dst, 9419); 2081 dasm_put(Dst, 9508);
2074 } 2082 }
2075 if (!cmov) { 2083 if (!cmov) {
2076 dasm_put(Dst, 13373); 2084 dasm_put(Dst, 13462);
2077 } 2085 }
2078 } 2086 }
2079 if (op == BC_FORI) { 2087 if (op == BC_FORI) {
2080 dasm_put(Dst, 13379, -BCBIAS_J*4); 2088 dasm_put(Dst, 13468, -BCBIAS_J*4);
2081 } else if (op == BC_JFORI) { 2089 } else if (op == BC_JFORI) {
2082 dasm_put(Dst, 13389, -BCBIAS_J*4, BC_JLOOP); 2090 dasm_put(Dst, 13478, -BCBIAS_J*4, BC_JLOOP);
2083 } else if (op == BC_IFORL) { 2091 } else if (op == BC_IFORL) {
2084 dasm_put(Dst, 13403, -BCBIAS_J*4); 2092 dasm_put(Dst, 13492, -BCBIAS_J*4);
2085 } else { 2093 } else {
2086 dasm_put(Dst, 13399, BC_JLOOP); 2094 dasm_put(Dst, 13488, BC_JLOOP);
2087 } 2095 }
2088 dasm_put(Dst, 9448); 2096 dasm_put(Dst, 9537);
2089 if (sse) { 2097 if (sse) {
2090 dasm_put(Dst, 13413); 2098 dasm_put(Dst, 13502);
2091 } 2099 }
2092 break; 2100 break;
2093 2101
2094 case BC_ITERL: 2102 case BC_ITERL:
2095#if LJ_HASJIT 2103#if LJ_HASJIT
2096 dasm_put(Dst, 13232, HOTCOUNT_PCMASK, GG_DISP2HOT); 2104 dasm_put(Dst, 13321, HOTCOUNT_PCMASK, GG_DISP2HOT);
2097#endif 2105#endif
2098 break; 2106 break;
2099 2107
@@ -2102,33 +2110,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2102 break; 2110 break;
2103#endif 2111#endif
2104 case BC_IITERL: 2112 case BC_IITERL:
2105 dasm_put(Dst, 13424, LJ_TNIL); 2113 dasm_put(Dst, 13513, LJ_TNIL);
2106 if (op == BC_JITERL) { 2114 if (op == BC_JITERL) {
2107 dasm_put(Dst, 13439, BC_JLOOP); 2115 dasm_put(Dst, 13528, BC_JLOOP);
2108 } else { 2116 } else {
2109 dasm_put(Dst, 13453, -BCBIAS_J*4); 2117 dasm_put(Dst, 13542, -BCBIAS_J*4);
2110 } 2118 }
2111 dasm_put(Dst, 9748); 2119 dasm_put(Dst, 9837);
2112 break; 2120 break;
2113 2121
2114 case BC_LOOP: 2122 case BC_LOOP:
2115#if LJ_HASJIT 2123#if LJ_HASJIT
2116 dasm_put(Dst, 13232, HOTCOUNT_PCMASK, GG_DISP2HOT); 2124 dasm_put(Dst, 13321, HOTCOUNT_PCMASK, GG_DISP2HOT);
2117#endif 2125#endif
2118 break; 2126 break;
2119 2127
2120 case BC_ILOOP: 2128 case BC_ILOOP:
2121 dasm_put(Dst, 9450); 2129 dasm_put(Dst, 9539);
2122 break; 2130 break;
2123 2131
2124 case BC_JLOOP: 2132 case BC_JLOOP:
2125#if LJ_HASJIT 2133#if LJ_HASJIT
2126 dasm_put(Dst, 13469, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2134 dasm_put(Dst, 13558, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16);
2127#endif 2135#endif
2128 break; 2136 break;
2129 2137
2130 case BC_JMP: 2138 case BC_JMP:
2131 dasm_put(Dst, 13493, -BCBIAS_J*4); 2139 dasm_put(Dst, 13667, -BCBIAS_J*4);
2132 break; 2140 break;
2133 2141
2134 /* -- Function headers -------------------------------------------------- */ 2142 /* -- Function headers -------------------------------------------------- */
@@ -2151,47 +2159,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2151 break; 2159 break;
2152#endif 2160#endif
2153 case BC_IFUNCF: 2161 case BC_IFUNCF:
2154 dasm_put(Dst, 13518, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2162 dasm_put(Dst, 13692, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2155 if (op == BC_JFUNCF) { 2163 if (op == BC_JFUNCF) {
2156 dasm_put(Dst, 13548, BC_JLOOP); 2164 dasm_put(Dst, 13722, BC_JLOOP);
2157 } else { 2165 } else {
2158 dasm_put(Dst, 9450); 2166 dasm_put(Dst, 9539);
2159 } 2167 }
2160 dasm_put(Dst, 13557, LJ_TNIL); 2168 dasm_put(Dst, 13731, LJ_TNIL);
2161 break; 2169 break;
2162 2170
2163 case BC_JFUNCV: 2171 case BC_JFUNCV:
2164#if !LJ_HASJIT 2172#if !LJ_HASJIT
2165 break; 2173 break;
2166#endif 2174#endif
2167 dasm_put(Dst, 9141); 2175 dasm_put(Dst, 9230);
2168 break; /* NYI: compiled vararg functions. */ 2176 break; /* NYI: compiled vararg functions. */
2169 2177
2170 case BC_IFUNCV: 2178 case BC_IFUNCV:
2171 dasm_put(Dst, 13579, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2179 dasm_put(Dst, 13753, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2172 if (op == BC_JFUNCV) { 2180 if (op == BC_JFUNCV) {
2173 dasm_put(Dst, 13548, BC_JLOOP); 2181 dasm_put(Dst, 13722, BC_JLOOP);
2174 } else { 2182 } else {
2175 dasm_put(Dst, 13670, -4+PC2PROTO(k)); 2183 dasm_put(Dst, 13844, -4+PC2PROTO(k));
2176 } 2184 }
2177 dasm_put(Dst, 13693, LJ_TNIL); 2185 dasm_put(Dst, 13867, LJ_TNIL);
2178 break; 2186 break;
2179 2187
2180 case BC_FUNCC: 2188 case BC_FUNCC:
2181 case BC_FUNCCW: 2189 case BC_FUNCCW:
2182 dasm_put(Dst, 13715, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2190 dasm_put(Dst, 13889, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2183 if (op == BC_FUNCC) { 2191 if (op == BC_FUNCC) {
2184 dasm_put(Dst, 13745); 2192 dasm_put(Dst, 13919);
2185 } else { 2193 } else {
2186 dasm_put(Dst, 13749); 2194 dasm_put(Dst, 13923);
2187 } 2195 }
2188 dasm_put(Dst, 13757, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2196 dasm_put(Dst, 13931, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2189 if (op == BC_FUNCC) { 2197 if (op == BC_FUNCC) {
2190 dasm_put(Dst, 13766); 2198 dasm_put(Dst, 13940);
2191 } else { 2199 } else {
2192 dasm_put(Dst, 13770, DISPATCH_GL(wrapf)); 2200 dasm_put(Dst, 13944, DISPATCH_GL(wrapf));
2193 } 2201 }
2194 dasm_put(Dst, 13775, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2202 dasm_put(Dst, 13949, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2195 break; 2203 break;
2196 2204
2197 /* ---------------------------------------------------------------------- */ 2205 /* ---------------------------------------------------------------------- */
@@ -2219,7 +2227,7 @@ static int build_backend(BuildCtx *ctx)
2219 2227
2220 build_subroutines(ctx, cmov, sse); 2228 build_subroutines(ctx, cmov, sse);
2221 2229
2222 dasm_put(Dst, 13800); 2230 dasm_put(Dst, 13974);
2223 for (op = 0; op < BC__MAX; op++) 2231 for (op = 0; op < BC__MAX; op++)
2224 build_ins(ctx, (BCOp)op, op, cmov, sse); 2232 build_ins(ctx, (BCOp)op, op, cmov, sse);
2225 2233