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.h1069
1 files changed, 540 insertions, 529 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h
index a9e093bf..ac2ee63e 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[13578] = { 15static const unsigned char build_actionlist[13665] = {
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,
@@ -359,249 +359,253 @@ static const unsigned char build_actionlist[13578] = {
359 149,233,137,222,137,252,239,232,251,1,20,248,3,139,149,233,248,4,15,182,75, 359 149,233,137,222,137,252,239,232,251,1,20,248,3,139,149,233,248,4,15,182,75,
360 252,253,248,5,255,15,182,107,252,252,15,183,67,252,254,65,252,255,164,253, 360 252,253,248,5,255,15,182,107,252,252,15,183,67,252,254,65,252,255,164,253,
361 252,238,233,248,138,131,195,4,139,77,232,137,76,36,4,252,233,244,4,248,139, 361 252,238,233,248,138,131,195,4,139,77,232,137,76,36,4,252,233,244,4,248,139,
362 255,204,255,248,140,255,248,141,255,248,142,255,68,139,122,252,248,69,139, 362 255,204,255,248,140,255,73,199,134,233,0,0,0,0,252,233,244,247,255,248,141,
363 191,233,69,139,191,233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15, 363 255,73,137,174,233,248,1,255,141,68,194,252,248,139,108,36,16,137,149,233,
364 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,248,82, 364 137,133,233,137,222,137,252,239,137,92,36,20,232,251,1,21,199,68,36,20,0,
365 255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252, 365 0,0,0,139,149,233,72,137,193,139,133,233,41,208,72,137,205,15,182,75,252,
366 247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195, 366 253,193,232,3,131,192,1,252,255,229,248,142,255,248,143,255,68,139,122,252,
367 255,248,143,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110, 367 248,69,139,191,233,69,139,191,233,65,199,134,233,0,0,0,0,65,199,134,233,237,
368 216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252, 368 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,
369 242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110, 369 248,82,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,
370 208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,193,248,1, 370 255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,
371 195,248,84,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37, 371 36,8,195,255,248,144,72,184,237,237,102,72,15,110,208,72,184,237,237,102,
372 252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,
373 68,36,8,195,255,248,144,72,184,237,237,102,72,15,110,208,72,184,237,237,102,
374 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15, 372 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,
375 85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102, 373 85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,
376 72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92,200,15,40, 374 72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,
377 193,248,1,195,248,104,255,217,124,36,4,137,68,36,8,102,184,0,12,102,11,68, 375 193,248,1,195,248,84,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,
378 36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195, 376 4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,
379 255,248,145,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110, 377 36,4,139,68,36,8,195,255,248,145,72,184,237,237,102,72,15,110,208,72,184,
380 216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,15, 378 237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,
381 40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72,15,110,216, 379 247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,
382 252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40, 380 237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92,
383 193,248,1,195,248,146,255,15,40,232,252,242,15,94,193,72,184,237,237,102, 381 200,15,40,193,248,1,195,248,104,255,217,124,36,4,137,68,36,8,102,184,0,12,
384 72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84,226,102, 382 102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,
385 15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242,15,92,227, 383 68,36,8,195,255,248,146,72,184,237,237,102,72,15,110,208,72,184,237,237,102,
386 102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196,1,102,15, 384 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,
387 84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15,92,193,195, 385 85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72,
388 248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,193,216,252, 386 15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,
389 241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137, 387 202,15,40,193,248,1,195,248,147,255,15,40,232,252,242,15,94,193,72,184,237,
390 68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,233,195,255, 388 237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84,
391 248,88,217,252,234,222,201,248,147,217,84,36,252,248,129,124,36,252,248,0, 389 226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242,
392 0,128,127,15,132,244,247,129,124,36,252,248,0,0,128,252,255,15,132,244,248, 390 15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196,
393 248,148,217,192,217,252,252,220,252,233,217,201,217,252,240,217,232,222,193, 391 1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15,
394 217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195,255,248,107,255, 392 92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,
395 248,149,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254, 393 193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,
396 15,138,244,255,248,150,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15, 394 247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,
397 133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132, 395 233,195,255,248,88,217,252,234,222,201,248,148,217,84,36,252,248,129,124,
398 244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244, 396 36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248,0,0,128,252,255,
399 3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248, 397 15,132,244,248,248,149,217,192,217,252,252,220,252,233,217,201,217,252,240,
400 6,15,132,244,5,15,130,244,253,80,72,184,237,237,102,72,15,110,200,252,242, 398 217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195,
401 15,94,200,88,15,40,193,252,247,216,131,252,248,1,15,132,244,5,252,233,244, 399 255,248,107,255,248,150,252,242,15,45,193,252,242,15,42,208,102,15,46,202,
402 1,248,7,72,184,237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209, 400 15,133,244,254,15,138,244,255,248,151,131,252,248,1,15,142,244,252,248,1,
403 224,72,193,192,12,72,61,252,254,15,0,0,15,132,244,248,255,102,72,15,126,192, 401 169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2,
404 72,209,224,15,132,244,250,72,193,192,12,72,61,252,254,15,0,0,15,132,244,251, 402 209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,
405 252,242,15,17,76,36,252,240,252,242,15,17,68,36,252,248,221,68,36,252,240, 403 250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,
406 221,68,36,252,248,217,252,241,217,192,217,252,252,220,252,233,217,201,217, 404 193,248,5,195,248,6,15,132,244,5,15,130,244,253,80,72,184,237,237,102,72,
407 252,240,217,232,222,193,217,252,253,221,217,221,92,36,252,248,252,242,15, 405 15,110,200,252,242,15,94,200,88,15,40,193,252,247,216,131,252,248,1,15,132,
408 16,68,36,252,248,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46,194, 406 244,5,252,233,244,1,248,7,72,184,237,237,102,72,15,110,192,195,248,8,102,
409 15,132,244,247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110,208, 407 72,15,126,200,72,209,224,72,193,192,12,72,61,252,254,15,0,0,15,132,244,248,
410 102,15,84,194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1, 408 255,102,72,15,126,192,72,209,224,15,132,244,250,72,193,192,12,72,61,252,254,
411 102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184, 409 15,0,0,15,132,244,251,252,242,15,17,76,36,252,240,252,242,15,17,68,36,252,
412 237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244, 410 248,221,68,36,252,240,221,68,36,252,248,217,252,241,217,192,217,252,252,220,
413 3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248, 411 252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,221,92,36,
414 151,255,131,252,255,1,15,130,244,82,15,132,244,84,131,252,255,3,15,130,244, 412 252,248,252,242,15,16,68,36,252,248,195,248,9,72,184,237,237,102,72,15,110,
415 104,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252,248, 413 208,102,15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237,237,
416 221,68,36,252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244,88, 414 102,72,15,110,208,102,15,84,194,72,184,237,237,102,72,15,110,208,102,15,46,
417 252,233,244,253,248,1,232,244,147,255,252,233,244,253,248,2,131,252,255,7, 415 194,15,132,244,1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,
418 15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244, 416 244,1,248,3,72,184,237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,
419 253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9, 417 133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,
420 15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244, 418 3,15,87,192,195,248,152,255,131,252,255,1,15,130,244,82,15,132,244,84,131,
421 253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244, 419 252,255,3,15,130,244,104,15,135,244,248,252,242,15,81,192,195,248,2,252,242,
422 247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216, 420 15,17,68,36,252,248,221,68,36,252,248,131,252,255,5,15,135,244,248,15,132,
423 248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12, 421 244,247,232,244,88,252,233,244,253,248,1,232,244,148,255,252,233,244,253,
424 221,68,36,4,131,252,255,1,15,130,244,82,15,132,244,84,131,252,255,3,15,130, 422 248,2,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,
425 244,104,15,135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,88, 423 252,241,252,233,244,253,248,1,217,232,217,201,217,252,241,252,233,244,253,
426 15,132,244,147,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217, 424 248,2,131,252,255,9,15,132,244,247,15,135,244,248,217,252,236,217,201,217,
427 201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255, 425 252,241,252,233,244,253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,
428 9,15,132,244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248, 426 255,11,15,132,244,247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,
429 1,217,252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217, 427 252,242,221,216,248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,255,
430 252,255,195,248,1,217,252,242,221,216,195,255,248,9,204,248,152,255,131,252, 428 139,124,36,12,221,68,36,4,131,252,255,1,15,130,244,82,15,132,244,84,131,252,
431 255,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15, 429 255,3,15,130,244,104,15,135,244,248,217,252,250,195,248,2,131,252,255,5,15,
432 92,193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15,89, 430 130,244,88,15,132,244,148,131,252,255,7,15,132,244,247,15,135,244,248,217,
433 193,195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,146,15, 431 252,237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,
434 132,244,107,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237,255, 432 2,131,252,255,9,15,132,244,247,255,15,135,244,248,217,252,236,217,201,217,
435 102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15, 433 252,241,195,248,1,217,252,254,195,248,2,131,252,255,11,15,132,244,247,15,
436 84,193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252,248, 434 135,244,255,217,252,255,195,248,1,217,252,242,221,216,195,255,248,9,204,248,
437 252,242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132,244, 435 153,255,131,252,255,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,
438 247,217,252,243,248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,248, 436 248,1,252,242,15,92,193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,
439 1,217,201,217,252,253,221,217,252,233,244,7,248,2,131,252,255,11,15,132,244, 437 248,252,242,15,89,193,195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,
440 247,15,135,244,255,252,242,15,93,193,195,248,1,252,242,15,95,193,195,248, 438 15,130,244,147,15,132,244,107,131,252,255,7,15,132,244,247,15,135,244,248,
441 9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244, 439 72,184,237,237,255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,
442 247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3, 440 72,15,110,200,15,84,193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,
443 15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131, 441 17,68,36,252,248,252,242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,
444 252,248,5,15,130,244,146,15,132,244,107,131,252,248,7,15,132,244,247,15,135, 442 252,240,15,132,244,247,217,252,243,248,7,221,92,36,252,248,252,242,15,16,
445 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248, 443 68,36,252,248,195,248,1,217,201,217,252,253,221,217,252,233,244,7,248,2,131,
446 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253, 444 252,255,11,15,132,244,247,15,135,244,255,252,242,15,93,193,195,248,1,252,
447 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252, 445 242,15,95,193,195,248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,
448 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225, 446 252,248,1,15,132,244,247,15,135,244,248,222,193,195,248,1,222,252,233,195,
449 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221, 447 248,2,131,252,248,3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,
450 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248, 448 249,195,248,2,131,252,248,5,15,130,244,147,15,132,244,107,131,252,248,7,15,
451 153,137,252,248,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,195,255,249, 449 132,244,247,15,135,244,248,255,221,216,217,224,195,248,1,221,216,217,225,
452 255,129,124,253,202,4,239,15,135,244,41,129,124,253,194,4,239,15,135,244, 450 195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217,252,243,195,248,
453 41,255,252,242,15,16,4,194,131,195,4,102,15,46,4,202,255,221,4,202,221,4, 451 1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15,
454 194,131,195,4,255,223,252,233,221,216,255,218,252,233,223,224,158,255,15, 452 135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,252,233,218,209,
455 134,244,248,255,15,131,244,248,255,248,1,15,183,67,252,254,141,156,253,131, 453 221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,248,217,201,248,
456 233,248,2,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 454 2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,244,248,217,201,
457 252,238,255,139,108,194,4,131,195,4,129,252,253,239,15,135,244,251,129,124, 455 248,2,221,216,195,255,248,154,137,252,248,83,15,162,137,6,137,94,4,137,78,
458 253,202,4,239,15,135,244,251,255,252,242,15,16,4,194,102,15,46,4,202,255, 456 8,137,86,12,91,195,255,249,255,129,124,253,202,4,239,15,135,244,41,129,124,
459 221,4,202,221,4,194,255,15,138,244,248,15,133,244,248,255,15,138,244,248, 457 253,194,4,239,15,135,244,41,255,252,242,15,16,4,194,131,195,4,102,15,46,4,
460 15,132,244,247,255,248,1,15,183,67,252,254,141,156,253,131,233,248,2,255, 458 202,255,221,4,202,221,4,194,131,195,4,255,223,252,233,221,216,255,218,252,
461 248,2,15,183,67,252,254,141,156,253,131,233,248,1,255,248,5,57,108,202,4, 459 233,223,224,158,255,15,134,244,248,255,15,131,244,248,255,248,1,15,183,67,
462 15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15, 460 252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131,195,4,193,
463 132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244, 461 232,16,65,252,255,36,252,238,255,139,108,194,4,131,195,4,129,252,253,239,
464 2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252, 462 15,135,244,251,129,124,253,202,4,239,15,135,244,251,255,252,242,15,16,4,194,
465 233,244,45,255,72,252,247,208,131,195,4,129,124,253,202,4,239,15,133,244, 463 102,15,46,4,202,255,221,4,202,221,4,194,255,15,138,244,248,15,133,244,248,
466 248,139,12,202,65,59,12,135,255,131,195,4,129,124,253,202,4,239,15,135,244, 464 255,15,138,244,248,15,132,244,247,255,248,1,15,183,67,252,254,141,156,253,
467 248,255,252,242,65,15,16,4,199,102,15,46,4,202,255,221,4,202,65,221,4,199, 465 131,233,248,2,255,248,2,15,183,67,252,254,141,156,253,131,233,248,1,255,248,
468 255,72,252,247,208,131,195,4,57,68,202,4,255,139,108,194,4,131,195,4,129, 466 5,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,
469 252,253,239,255,15,131,244,247,255,15,130,244,247,255,137,108,202,4,139,44, 467 194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,
470 194,137,44,202,255,15,183,67,252,254,141,156,253,131,233,248,1,139,3,15,182, 468 237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,
471 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,108,194, 469 1,0,0,0,255,252,233,244,45,255,72,252,247,208,131,195,4,129,124,253,202,4,
472 4,139,4,194,137,108,202,4,137,4,202,139,3,15,182,204,15,182,232,131,195,4, 470 239,15,133,244,248,139,12,202,65,59,12,135,255,131,195,4,129,124,253,202,
473 193,232,16,65,252,255,36,252,238,255,49,252,237,129,124,253,194,4,239,129, 471 4,239,15,135,244,248,255,252,242,65,15,16,4,199,102,15,46,4,202,255,221,4,
474 213,239,137,108,202,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, 472 202,65,221,4,199,255,72,252,247,208,131,195,4,57,68,202,4,255,139,108,194,
475 252,255,36,252,238,255,129,124,253,194,4,239,15,135,244,48,255,252,242,15, 473 4,131,195,4,129,252,253,239,255,15,131,244,247,255,15,130,244,247,255,137,
476 16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,242,15,17,4,202,255, 474 108,202,4,139,44,194,137,44,202,255,15,183,67,252,254,141,156,253,131,233,
477 221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139, 475 248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
478 4,194,255,15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219, 476 238,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,3,15,182,204,
479 128,233,248,1,221,28,202,255,139,3,15,182,204,15,182,232,131,195,4,193,232, 477 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,49,252,237,129,
480 16,65,252,255,36,252,238,248,2,129,124,253,194,4,239,15,133,244,50,139,60, 478 124,253,194,4,239,129,213,239,137,108,202,4,139,3,15,182,204,15,182,232,131,
481 194,137,213,232,251,1,18,255,252,242,15,42,192,137,252,234,255,15,182,75, 479 195,4,193,232,16,65,252,255,36,252,238,255,129,124,253,194,4,239,15,135,244,
482 252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234, 480 48,255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,
483 4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242,65,15,88,4,199,255, 481 242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,
484 221,4,252,234,65,220,4,199,255,129,124,253,252,234,4,239,15,135,244,47,255, 482 15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,1,252,242,
485 252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221,4,199,220,4,252, 483 15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,3,15,182,204,15,182,
486 234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253,194,4,239,15, 484 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,124,253,194,4,239,
487 135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252, 485 15,133,244,50,139,60,194,137,213,232,251,1,18,255,252,242,15,42,192,137,252,
488 234,220,4,194,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,255,221, 486 234,255,15,182,75,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,
489 4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,4,252,234, 487 129,124,253,252,234,4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242,
490 255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92, 488 65,15,88,4,199,255,221,4,252,234,65,220,4,199,255,129,124,253,252,234,4,239,
491 4,194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,252,242,65, 489 15,135,244,47,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221,
492 15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15,16,4,199,252, 490 4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253,
493 242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252,242,15,16,4,252, 491 194,4,239,15,135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,
494 234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4, 492 221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,
495 252,234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52,199,255,252,242, 493 255,221,4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,
496 65,15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220,52,252,234,255, 494 4,252,234,255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,
497 252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,194, 495 242,15,92,4,194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,
498 255,252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221,4,252,234,65, 496 252,242,65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15,
499 221,4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234,255,65,221, 497 16,4,199,252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252,
500 4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255, 498 242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,
501 221,4,252,234,221,4,194,255,248,154,232,244,146,255,252,233,244,154,255,232, 499 252,242,15,16,4,252,234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52,
502 244,107,255,15,182,252,236,15,182,192,139,124,36,16,137,151,233,141,52,194, 500 199,255,252,242,65,15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220,
503 137,194,41,252,234,248,33,137,252,253,137,92,36,20,232,251,1,21,139,149,233, 501 52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,
504 133,192,15,133,244,42,15,182,107,252,255,15,182,75,252,253,139,68,252,234, 502 234,220,52,194,255,252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221,
505 4,139,44,252,234,137,68,202,4,137,44,202,139,3,15,182,204,15,182,232,131, 503 4,252,234,65,221,4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234,
506 195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,65,139,4,135,199, 504 255,65,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,
507 68,202,4,237,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, 505 12,194,255,221,4,252,234,221,4,194,255,248,155,232,244,147,255,252,233,244,
508 252,255,36,252,238,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,255, 506 155,255,232,244,107,255,15,182,252,236,15,182,192,139,124,36,16,137,151,233,
509 223,67,252,254,221,28,202,255,252,242,65,15,16,4,199,252,242,15,17,4,202, 507 141,52,194,137,194,41,252,234,248,33,137,252,253,137,92,36,20,232,251,1,22,
510 255,65,221,4,199,221,28,202,255,72,252,247,208,137,68,202,4,139,3,15,182, 508 139,149,233,133,192,15,133,244,42,15,182,107,252,255,15,182,75,252,253,139,
511 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,76,202, 509 68,252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,3,15,182,204,15,182,
512 12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15, 510 232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,65,139,
513 134,244,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 511 4,135,199,68,202,4,237,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,
514 252,238,255,139,106,252,248,139,172,253,133,233,139,173,233,139,69,4,139, 512 232,16,65,252,255,36,252,238,255,15,191,192,252,242,15,42,192,252,242,15,
515 109,0,137,68,202,4,137,44,202,139,3,15,182,204,15,182,232,131,195,4,193,232, 513 17,4,202,255,223,67,252,254,221,28,202,255,252,242,65,15,16,4,199,252,242,
516 16,65,252,255,36,252,238,255,139,106,252,248,139,172,253,141,233,128,189, 514 15,17,4,202,255,65,221,4,199,221,28,202,255,72,252,247,208,137,68,202,4,139,
517 233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,
518 252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,131,
519 195,4,193,232,16,65,252,255,36,252,238,248,2,129,232,239,129,252,248,239,
520 15,134,244,1,252,246,129,233,235,15,132,244,1,137,252,238,137,213,65,141,
521 190,233,255,232,251,1,22,137,252,234,252,233,244,1,255,72,252,247,208,139,
522 106,252,248,139,172,253,141,233,65,139,12,135,139,133,233,137,8,199,64,4,
523 237,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,
524 131,195,4,193,232,16,65,252,255,36,252,238,248,2,252,246,129,233,235,15,132,
525 244,1,128,189,233,0,15,132,244,1,137,213,137,198,65,141,190,233,232,251,1,
526 22,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,65,15,16,4,199,
527 255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,25,255,72,
528 252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,65,4,139,
529 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141, 515 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,
530 156,253,131,233,139,108,36,16,131,189,233,0,15,132,244,247,137,149,233,141, 516 76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,
531 52,202,137,252,239,232,251,1,23,139,149,233,248,1,139,3,15,182,204,15,182, 517 193,15,134,244,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
532 232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,139,108, 518 255,36,252,238,255,139,106,252,248,139,172,253,133,233,139,173,233,139,69,
533 36,16,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137,92,36,20,232, 519 4,139,109,0,137,68,202,4,137,44,202,139,3,15,182,204,15,182,232,131,195,4,
534 251,1,24,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,139,3,15, 520 193,232,16,65,252,255,36,252,238,255,139,106,252,248,139,172,253,141,233,
535 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,124, 521 128,189,233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,
536 36,16,137,151,233,248,1,137,194,37,252,255,7,0,0,193,252,234,11,61,252,255, 522 244,247,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,
537 7,0,0,15,132,244,249,248,2,137,198,65,139,134,233,137,252,253,65,59,134,233, 523 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,232,239,129,252,
538 137,92,36,20,15,131,244,251,232,251,1,25,139,149,233,15,182,75,252,253,137, 524 248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,137,252,238,137,213,
539 4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, 525 65,141,190,233,255,232,251,1,23,137,252,234,252,233,244,1,255,72,252,247,
540 252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,232,251,1,26,15, 526 208,139,106,252,248,139,172,253,141,233,65,139,12,135,139,133,233,137,8,199,
541 183,67,252,254,137,252,239,252,233,244,1,255,72,252,247,208,139,108,36,16, 527 64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,
542 65,139,142,233,137,92,36,20,65,59,142,233,137,149,233,15,131,244,249,248, 528 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,252,246,129,233,235,
543 2,65,139,52,135,137,252,239,232,251,1,27,139,149,233,15,182,75,252,253,137, 529 15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,198,65,141,190,233,232,
544 4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, 530 251,1,23,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,65,15,
545 252,255,36,252,238,248,3,137,252,239,232,251,1,26,15,183,67,252,254,72,252, 531 16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,
546 247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,233,65,139, 532 25,255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,
547 4,135,252,233,244,155,255,72,252,247,208,139,106,252,248,139,173,233,65,139, 533 65,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,
548 4,135,252,233,244,156,255,15,182,252,236,15,182,192,129,124,253,252,234,4, 534 255,141,156,253,131,233,139,108,36,16,131,189,233,0,15,132,244,247,137,149,
549 239,15,133,244,36,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255, 535 233,141,52,202,137,252,239,232,251,1,24,139,149,233,248,1,139,3,15,182,204,
550 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255, 536 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,
551 15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4, 537 139,108,36,16,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137,92,
552 239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,3,15, 538 36,20,232,251,1,25,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,
553 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189, 539 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,
554 233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,36,15,182,75, 540 139,124,36,16,137,151,233,248,1,137,194,37,252,255,7,0,0,193,252,234,11,61,
555 252,253,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,36,139,4, 541 252,255,7,0,0,15,132,244,249,248,2,137,198,65,139,134,233,137,252,253,65,
556 194,252,233,244,155,255,15,182,252,236,15,182,192,72,252,247,208,65,139,4, 542 59,134,233,137,92,36,20,15,131,244,251,232,251,1,26,139,149,233,15,182,75,
557 135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,155,139,141, 543 252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,
558 233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250, 544 193,232,16,65,252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,232,
559 57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,67,252, 545 251,1,27,15,183,67,252,254,137,252,239,252,233,244,1,255,72,252,247,208,139,
560 253,139,41,139,73,4,137,44,194,248,2,255,137,76,194,4,139,3,15,182,204,15, 546 108,36,16,65,139,142,233,137,92,36,20,65,59,142,233,137,149,233,15,131,244,
561 182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,15,182,67,252,253, 547 249,248,2,65,139,52,135,137,252,239,232,251,1,28,139,149,233,15,182,75,252,
562 185,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141, 548 253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,
563 233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,34, 549 232,16,65,252,255,36,252,238,248,3,137,252,239,232,251,1,27,15,183,67,252,
564 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,35,139, 550 254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,
565 44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239, 551 233,65,139,4,135,252,233,244,156,255,72,252,247,208,139,106,252,248,139,173,
566 15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,3,15,182, 552 233,65,139,4,135,252,233,244,157,255,15,182,252,236,15,182,192,129,124,253,
567 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233, 553 252,234,4,239,15,133,244,36,139,44,252,234,129,124,253,194,4,239,15,135,244,
568 0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,35,255,15,182,252, 554 251,255,252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,
569 236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,44,252,234,129, 555 193,255,15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,
570 124,253,194,4,239,15,135,244,251,255,15,133,244,39,59,133,233,15,131,244, 556 253,4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,
571 39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133, 557 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,
572 233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139, 558 131,189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,36,
573 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3, 559 15,182,75,252,253,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,
574 131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,235,15,132,244, 560 36,139,4,194,252,233,244,156,255,15,182,252,236,15,182,192,72,252,247,208,
575 39,15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244, 561 65,139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,156,
576 39,139,4,194,252,233,244,156,248,7,128,165,233,235,65,139,142,233,65,137, 562 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,
577 174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,15,182,252,236,15, 563 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,
578 182,192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,239,15,133,244, 564 67,252,253,139,41,139,73,4,137,44,194,248,2,255,137,76,194,4,139,3,15,182,
579 37,139,44,252,234,248,156,139,141,233,35,136,233,105,201,239,198,133,233, 565 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,15,182,67,
580 0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,251, 566 252,253,185,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,
581 129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,244, 567 5,139,141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,
582 253,248,3,15,182,67,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139,3, 568 244,34,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,
583 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,4,131, 569 35,139,44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,
584 189,233,0,15,132,244,2,137,12,36,139,141,233,252,246,129,233,235,15,132,244, 570 4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,3,
585 37,139,12,36,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139, 571 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,
586 141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37,248,6,137, 572 189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,35,255,
587 4,36,199,68,36,4,237,137,108,36,24,139,124,36,16,137,151,233,72,141,20,36, 573 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,44,
588 137,252,238,137,252,253,137,92,36,20,232,251,1,28,139,149,233,139,108,36, 574 252,234,129,124,253,194,4,239,15,135,244,251,255,15,133,244,39,59,133,233,
589 24,137,193,252,233,244,2,248,7,128,165,233,235,65,139,134,233,65,137,174, 575 15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,
590 233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252, 576 252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,
591 234,4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,3, 577 4,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
592 3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133, 578 238,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,235,
593 244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,3,15,182,204,15, 579 15,132,244,39,15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4,239,
594 182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,189,233,0,15, 580 15,133,244,39,139,4,194,252,233,244,157,248,7,128,165,233,235,65,139,142,
595 132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,38,15,182,75,252, 581 233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,15,182,
596 253,252,233,244,1,248,7,128,165,233,235,65,139,142,233,65,137,174,233,137, 582 252,236,15,182,192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,239,
597 141,233,15,182,75,252,253,252,233,244,2,255,68,137,60,36,255,248,1,141,12, 583 15,133,244,37,139,44,252,234,248,157,139,141,233,35,136,233,105,201,239,198,
598 202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,2,139,68,36,4, 584 133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,
599 255,252,242,68,15,45,252,248,255,131,232,1,15,132,244,250,68,1,252,248,59, 585 244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,
600 133,233,15,131,244,251,68,41,252,248,65,193,231,3,68,3,189,233,248,3,139, 586 133,244,253,248,3,15,182,67,252,253,139,108,194,4,139,4,194,137,105,4,137,
587 1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,
588 248,4,131,189,233,0,15,132,244,2,137,12,36,139,141,233,252,246,129,233,235,
589 15,132,244,37,139,12,36,252,233,244,2,248,5,139,137,233,133,201,15,133,244,
590 1,255,139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37,
591 248,6,137,4,36,199,68,36,4,237,137,108,36,24,139,124,36,16,137,151,233,72,
592 141,20,36,137,252,238,137,252,253,137,92,36,20,232,251,1,29,139,149,233,139,
593 108,36,24,137,193,252,233,244,2,248,7,128,165,233,235,65,139,134,233,65,137,
594 174,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,
595 252,234,4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,
596 3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,
597 133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,3,15,182,204,
598 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,189,233,0,
599 15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,38,15,182,75,
600 252,253,252,233,244,1,248,7,128,165,233,235,65,139,142,233,65,137,174,233,
601 137,141,233,15,182,75,252,253,252,233,244,2,255,68,137,60,36,255,248,1,141,
602 12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,2,139,68,36,
603 4,255,252,242,68,15,45,252,248,255,131,232,1,15,132,244,250,68,1,252,248,
604 59,133,233,15,131,244,251,68,41,252,248,65,193,231,3,68,3,189,233,248,3,139,
601 41,65,137,47,139,105,4,131,193,8,65,137,111,4,65,131,199,8,131,232,1,15,133, 605 41,65,137,47,139,105,4,131,193,8,65,137,111,4,65,131,199,8,131,232,1,15,133,
602 244,3,248,4,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16, 606 244,3,248,4,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,
603 65,252,255,36,252,238,248,5,139,124,36,16,137,151,233,137,252,238,137,194, 607 65,252,255,36,252,238,248,5,139,124,36,16,137,151,233,137,252,238,137,194,
604 137,252,253,137,92,36,20,232,251,1,29,139,149,233,15,182,75,252,253,252,233, 608 137,252,253,137,92,36,20,232,251,1,30,139,149,233,15,182,75,252,253,252,233,
605 244,1,248,7,128,165,233,235,65,139,134,233,65,137,174,233,255,137,133,233, 609 244,1,248,7,128,165,233,235,65,139,134,233,65,137,174,233,255,137,133,233,
606 252,233,244,2,255,3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244, 610 252,233,244,2,255,3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244,
607 51,141,84,202,8,137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205, 611 51,141,84,202,8,137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,
@@ -803,6 +807,7 @@ enum {
803 GLOB_vm_hook, 807 GLOB_vm_hook,
804 GLOB_cont_hook, 808 GLOB_cont_hook,
805 GLOB_vm_hotloop, 809 GLOB_vm_hotloop,
810 GLOB_vm_callhook,
806 GLOB_vm_hotcall, 811 GLOB_vm_hotcall,
807 GLOB_vm_exit_handler, 812 GLOB_vm_exit_handler,
808 GLOB_vm_exit_interp, 813 GLOB_vm_exit_interp,
@@ -953,6 +958,7 @@ static const char *const globnames[] = {
953 "vm_hook", 958 "vm_hook",
954 "cont_hook", 959 "cont_hook",
955 "vm_hotloop", 960 "vm_hotloop",
961 "vm_callhook",
956 "vm_hotcall", 962 "vm_hotcall",
957 "vm_exit_handler", 963 "vm_exit_handler",
958 "vm_exit_interp", 964 "vm_exit_interp",
@@ -994,6 +1000,7 @@ static const char *const extnames[] = {
994 "lj_tab_len@4", 1000 "lj_tab_len@4",
995 "lj_gc_step@4", 1001 "lj_gc_step@4",
996 "lj_dispatch_ins@8", 1002 "lj_dispatch_ins@8",
1003 "lj_dispatch_call@8",
997 "lj_meta_cat", 1004 "lj_meta_cat",
998 "lj_gc_barrieruv@8", 1005 "lj_gc_barrieruv@8",
999 "lj_func_closeuv@8", 1006 "lj_func_closeuv@8",
@@ -1322,73 +1329,77 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1322#endif 1329#endif
1323 dasm_put(Dst, 7148); 1330 dasm_put(Dst, 7148);
1324#if LJ_HASJIT 1331#if LJ_HASJIT
1325 dasm_put(Dst, 7146); 1332 dasm_put(Dst, 7151, DISPATCH_J(L));
1333#endif
1334 dasm_put(Dst, 7164);
1335#if LJ_HASJIT
1336 dasm_put(Dst, 7167, DISPATCH_J(L));
1326#endif 1337#endif
1327 dasm_put(Dst, 7151); 1338 dasm_put(Dst, 7174, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
1328#if LJ_HASJIT 1339#if LJ_HASJIT
1329 dasm_put(Dst, 7146); 1340 dasm_put(Dst, 7146);
1330#endif 1341#endif
1331 dasm_put(Dst, 7154); 1342 dasm_put(Dst, 7241);
1332#if LJ_HASJIT 1343#if LJ_HASJIT
1333 dasm_put(Dst, 7157, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1344 dasm_put(Dst, 7244, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1334#endif 1345#endif
1335 dasm_put(Dst, 7204); 1346 dasm_put(Dst, 7291);
1336 if (!sse) { 1347 if (!sse) {
1337 dasm_put(Dst, 7207); 1348 dasm_put(Dst, 7294);
1338 } 1349 }
1339 dasm_put(Dst, 7252, (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)); 1350 dasm_put(Dst, 7339, (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));
1340 if (!sse) { 1351 if (!sse) {
1341 dasm_put(Dst, 7338); 1352 dasm_put(Dst, 7425);
1342 } 1353 }
1343 dasm_put(Dst, 7383, (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)); 1354 dasm_put(Dst, 7470, (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));
1344 if (!sse) { 1355 if (!sse) {
1345 dasm_put(Dst, 7469); 1356 dasm_put(Dst, 7556);
1346 } 1357 }
1347 dasm_put(Dst, 7508, (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)); 1358 dasm_put(Dst, 7595, (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));
1348 if (sse) { 1359 if (sse) {
1349 dasm_put(Dst, 7597, (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)); 1360 dasm_put(Dst, 7684, (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));
1350 } else { 1361 } else {
1351 dasm_put(Dst, 7711); 1362 dasm_put(Dst, 7798);
1352 } 1363 }
1353 dasm_put(Dst, 7758); 1364 dasm_put(Dst, 7845);
1354 if (!sse) { 1365 if (!sse) {
1355 } else { 1366 } else {
1356 dasm_put(Dst, 7835); 1367 dasm_put(Dst, 7922);
1357 } 1368 }
1358 dasm_put(Dst, 7838); 1369 dasm_put(Dst, 7925);
1359 dasm_put(Dst, 7923, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1370 dasm_put(Dst, 8010, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1360 dasm_put(Dst, 8024, (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)); 1371 dasm_put(Dst, 8111, (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));
1361 dasm_put(Dst, 8198); 1372 dasm_put(Dst, 8285);
1362 if (sse) { 1373 if (sse) {
1363 dasm_put(Dst, 8239); 1374 dasm_put(Dst, 8326);
1364 dasm_put(Dst, 8309); 1375 dasm_put(Dst, 8396);
1365 dasm_put(Dst, 8381); 1376 dasm_put(Dst, 8468);
1366 } else { 1377 } else {
1367 dasm_put(Dst, 8433); 1378 dasm_put(Dst, 8520);
1368 dasm_put(Dst, 8525); 1379 dasm_put(Dst, 8612);
1369 } 1380 }
1370 dasm_put(Dst, 8571); 1381 dasm_put(Dst, 8658);
1371 if (sse) { 1382 if (sse) {
1372 dasm_put(Dst, 8577, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1383 dasm_put(Dst, 8664, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1373 dasm_put(Dst, 8662, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1384 dasm_put(Dst, 8749, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1374 } else { 1385 } else {
1375 dasm_put(Dst, 8790); 1386 dasm_put(Dst, 8877);
1376 dasm_put(Dst, 8873); 1387 dasm_put(Dst, 8960);
1377 if (cmov) { 1388 if (cmov) {
1378 dasm_put(Dst, 8928); 1389 dasm_put(Dst, 9015);
1379 } else { 1390 } else {
1380 dasm_put(Dst, 8947); 1391 dasm_put(Dst, 9034);
1381 } 1392 }
1382 dasm_put(Dst, 8786); 1393 dasm_put(Dst, 8873);
1383 } 1394 }
1384 dasm_put(Dst, 8988); 1395 dasm_put(Dst, 9075);
1385} 1396}
1386 1397
1387/* Generate the code for a single instruction. */ 1398/* Generate the code for a single instruction. */
1388static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1399static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1389{ 1400{
1390 int vk = 0; 1401 int vk = 0;
1391 dasm_put(Dst, 9010, defop); 1402 dasm_put(Dst, 9097, defop);
1392 1403
1393 switch (op) { 1404 switch (op) {
1394 1405
@@ -1397,600 +1408,600 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1397 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1408 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1398 1409
1399 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1410 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1400 dasm_put(Dst, 9012, LJ_TISNUM, LJ_TISNUM); 1411 dasm_put(Dst, 9099, LJ_TISNUM, LJ_TISNUM);
1401 if (sse) { 1412 if (sse) {
1402 dasm_put(Dst, 9033); 1413 dasm_put(Dst, 9120);
1403 } else { 1414 } else {
1404 dasm_put(Dst, 9048); 1415 dasm_put(Dst, 9135);
1405 if (cmov) { 1416 if (cmov) {
1406 dasm_put(Dst, 9058); 1417 dasm_put(Dst, 9145);
1407 } else { 1418 } else {
1408 dasm_put(Dst, 9064); 1419 dasm_put(Dst, 9151);
1409 } 1420 }
1410 } 1421 }
1411 switch (op) { 1422 switch (op) {
1412 case BC_ISLT: 1423 case BC_ISLT:
1413 dasm_put(Dst, 9071); 1424 dasm_put(Dst, 9158);
1414 break; 1425 break;
1415 case BC_ISGE: 1426 case BC_ISGE:
1416 dasm_put(Dst, 8868); 1427 dasm_put(Dst, 8955);
1417 break; 1428 break;
1418 case BC_ISLE: 1429 case BC_ISLE:
1419 dasm_put(Dst, 5914); 1430 dasm_put(Dst, 5914);
1420 break; 1431 break;
1421 case BC_ISGT: 1432 case BC_ISGT:
1422 dasm_put(Dst, 9076); 1433 dasm_put(Dst, 9163);
1423 break; 1434 break;
1424 default: break; /* Shut up GCC. */ 1435 default: break; /* Shut up GCC. */
1425 } 1436 }
1426 dasm_put(Dst, 9081, -BCBIAS_J*4); 1437 dasm_put(Dst, 9168, -BCBIAS_J*4);
1427 break; 1438 break;
1428 1439
1429 case BC_ISEQV: case BC_ISNEV: 1440 case BC_ISEQV: case BC_ISNEV:
1430 vk = op == BC_ISEQV; 1441 vk = op == BC_ISEQV;
1431 dasm_put(Dst, 9116, LJ_TISNUM, LJ_TISNUM); 1442 dasm_put(Dst, 9203, LJ_TISNUM, LJ_TISNUM);
1432 if (sse) { 1443 if (sse) {
1433 dasm_put(Dst, 9142); 1444 dasm_put(Dst, 9229);
1434 } else { 1445 } else {
1435 dasm_put(Dst, 9154); 1446 dasm_put(Dst, 9241);
1436 if (cmov) { 1447 if (cmov) {
1437 dasm_put(Dst, 9058); 1448 dasm_put(Dst, 9145);
1438 } else { 1449 } else {
1439 dasm_put(Dst, 9064); 1450 dasm_put(Dst, 9151);
1440 } 1451 }
1441 } 1452 }
1442 iseqne_fp: 1453 iseqne_fp:
1443 if (vk) { 1454 if (vk) {
1444 dasm_put(Dst, 9161); 1455 dasm_put(Dst, 9248);
1445 } else { 1456 } else {
1446 dasm_put(Dst, 9170); 1457 dasm_put(Dst, 9257);
1447 } 1458 }
1448 iseqne_end: 1459 iseqne_end:
1449 if (vk) { 1460 if (vk) {
1450 dasm_put(Dst, 9179, -BCBIAS_J*4); 1461 dasm_put(Dst, 9266, -BCBIAS_J*4);
1451 } else { 1462 } else {
1452 dasm_put(Dst, 9194, -BCBIAS_J*4); 1463 dasm_put(Dst, 9281, -BCBIAS_J*4);
1453 } 1464 }
1454 dasm_put(Dst, 7183); 1465 dasm_put(Dst, 7270);
1455 if (op == BC_ISEQV || op == BC_ISNEV) { 1466 if (op == BC_ISEQV || op == BC_ISNEV) {
1456 dasm_put(Dst, 9209, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1467 dasm_put(Dst, 9296, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1457 if (vk) { 1468 if (vk) {
1458 dasm_put(Dst, 9267); 1469 dasm_put(Dst, 9354);
1459 } else { 1470 } else {
1460 dasm_put(Dst, 9271); 1471 dasm_put(Dst, 9358);
1461 } 1472 }
1462 dasm_put(Dst, 9277); 1473 dasm_put(Dst, 9364);
1463 } 1474 }
1464 break; 1475 break;
1465 case BC_ISEQS: case BC_ISNES: 1476 case BC_ISEQS: case BC_ISNES:
1466 vk = op == BC_ISEQS; 1477 vk = op == BC_ISEQS;
1467 dasm_put(Dst, 9282, LJ_TSTR); 1478 dasm_put(Dst, 9369, LJ_TSTR);
1468 iseqne_test: 1479 iseqne_test:
1469 if (vk) { 1480 if (vk) {
1470 dasm_put(Dst, 9165); 1481 dasm_put(Dst, 9252);
1471 } else { 1482 } else {
1472 dasm_put(Dst, 2805); 1483 dasm_put(Dst, 2805);
1473 } 1484 }
1474 goto iseqne_end; 1485 goto iseqne_end;
1475 case BC_ISEQN: case BC_ISNEN: 1486 case BC_ISEQN: case BC_ISNEN:
1476 vk = op == BC_ISEQN; 1487 vk = op == BC_ISEQN;
1477 dasm_put(Dst, 9307, LJ_TISNUM); 1488 dasm_put(Dst, 9394, LJ_TISNUM);
1478 if (sse) { 1489 if (sse) {
1479 dasm_put(Dst, 9321); 1490 dasm_put(Dst, 9408);
1480 } else { 1491 } else {
1481 dasm_put(Dst, 9334); 1492 dasm_put(Dst, 9421);
1482 if (cmov) { 1493 if (cmov) {
1483 dasm_put(Dst, 9058); 1494 dasm_put(Dst, 9145);
1484 } else { 1495 } else {
1485 dasm_put(Dst, 9064); 1496 dasm_put(Dst, 9151);
1486 } 1497 }
1487 } 1498 }
1488 goto iseqne_fp; 1499 goto iseqne_fp;
1489 case BC_ISEQP: case BC_ISNEP: 1500 case BC_ISEQP: case BC_ISNEP:
1490 vk = op == BC_ISEQP; 1501 vk = op == BC_ISEQP;
1491 dasm_put(Dst, 9342); 1502 dasm_put(Dst, 9429);
1492 goto iseqne_test; 1503 goto iseqne_test;
1493 1504
1494 /* -- Unary test and copy ops ------------------------------------------- */ 1505 /* -- Unary test and copy ops ------------------------------------------- */
1495 1506
1496 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1507 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1497 dasm_put(Dst, 9354, LJ_TISTRUECOND); 1508 dasm_put(Dst, 9441, LJ_TISTRUECOND);
1498 if (op == BC_IST || op == BC_ISTC) { 1509 if (op == BC_IST || op == BC_ISTC) {
1499 dasm_put(Dst, 9366); 1510 dasm_put(Dst, 9453);
1500 } else { 1511 } else {
1501 dasm_put(Dst, 9371); 1512 dasm_put(Dst, 9458);
1502 } 1513 }
1503 if (op == BC_ISTC || op == BC_ISFC) { 1514 if (op == BC_ISTC || op == BC_ISFC) {
1504 dasm_put(Dst, 9376); 1515 dasm_put(Dst, 9463);
1505 } 1516 }
1506 dasm_put(Dst, 9387, -BCBIAS_J*4); 1517 dasm_put(Dst, 9474, -BCBIAS_J*4);
1507 break; 1518 break;
1508 1519
1509 /* -- Unary ops --------------------------------------------------------- */ 1520 /* -- Unary ops --------------------------------------------------------- */
1510 1521
1511 case BC_MOV: 1522 case BC_MOV:
1512 dasm_put(Dst, 9420); 1523 dasm_put(Dst, 9507);
1513 break; 1524 break;
1514 case BC_NOT: 1525 case BC_NOT:
1515 dasm_put(Dst, 9455, LJ_TISTRUECOND, LJ_TTRUE); 1526 dasm_put(Dst, 9542, LJ_TISTRUECOND, LJ_TTRUE);
1516 break; 1527 break;
1517 case BC_UNM: 1528 case BC_UNM:
1518 dasm_put(Dst, 9492, LJ_TISNUM); 1529 dasm_put(Dst, 9579, LJ_TISNUM);
1519 if (sse) { 1530 if (sse) {
1520 dasm_put(Dst, 9503, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1531 dasm_put(Dst, 9590, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1521 } else { 1532 } else {
1522 dasm_put(Dst, 9528); 1533 dasm_put(Dst, 9615);
1523 } 1534 }
1524 dasm_put(Dst, 7183); 1535 dasm_put(Dst, 7270);
1525 break; 1536 break;
1526 case BC_LEN: 1537 case BC_LEN:
1527 dasm_put(Dst, 9537, LJ_TSTR); 1538 dasm_put(Dst, 9624, LJ_TSTR);
1528 if (sse) { 1539 if (sse) {
1529 dasm_put(Dst, 9551, Dt5(->len)); 1540 dasm_put(Dst, 9638, Dt5(->len));
1530 } else { 1541 } else {
1531 dasm_put(Dst, 9569, Dt5(->len)); 1542 dasm_put(Dst, 9656, Dt5(->len));
1532 } 1543 }
1533 dasm_put(Dst, 9578, LJ_TTAB); 1544 dasm_put(Dst, 9665, LJ_TTAB);
1534 if (sse) { 1545 if (sse) {
1535 dasm_put(Dst, 9620); 1546 dasm_put(Dst, 9707);
1536 } else { 1547 } else {
1537 } 1548 }
1538 dasm_put(Dst, 9629); 1549 dasm_put(Dst, 9716);
1539 break; 1550 break;
1540 1551
1541 /* -- Binary ops -------------------------------------------------------- */ 1552 /* -- Binary ops -------------------------------------------------------- */
1542 1553
1543 1554
1544 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1555 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1545 dasm_put(Dst, 9639); 1556 dasm_put(Dst, 9726);
1546 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1557 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1547 switch (vk) { 1558 switch (vk) {
1548 case 0: 1559 case 0:
1549 dasm_put(Dst, 9647, LJ_TISNUM); 1560 dasm_put(Dst, 9734, LJ_TISNUM);
1550 if (sse) { 1561 if (sse) {
1551 dasm_put(Dst, 9659); 1562 dasm_put(Dst, 9746);
1552 } else { 1563 } else {
1553 dasm_put(Dst, 9674); 1564 dasm_put(Dst, 9761);
1554 } 1565 }
1555 break; 1566 break;
1556 case 1: 1567 case 1:
1557 dasm_put(Dst, 9683, LJ_TISNUM); 1568 dasm_put(Dst, 9770, LJ_TISNUM);
1558 if (sse) { 1569 if (sse) {
1559 dasm_put(Dst, 9695); 1570 dasm_put(Dst, 9782);
1560 } else { 1571 } else {
1561 dasm_put(Dst, 9710); 1572 dasm_put(Dst, 9797);
1562 } 1573 }
1563 break; 1574 break;
1564 default: 1575 default:
1565 dasm_put(Dst, 9719, LJ_TISNUM, LJ_TISNUM); 1576 dasm_put(Dst, 9806, LJ_TISNUM, LJ_TISNUM);
1566 if (sse) { 1577 if (sse) {
1567 dasm_put(Dst, 9741); 1578 dasm_put(Dst, 9828);
1568 } else { 1579 } else {
1569 dasm_put(Dst, 9755); 1580 dasm_put(Dst, 9842);
1570 } 1581 }
1571 break; 1582 break;
1572 } 1583 }
1573 if (sse) { 1584 if (sse) {
1574 dasm_put(Dst, 9521); 1585 dasm_put(Dst, 9608);
1575 } else { 1586 } else {
1576 dasm_put(Dst, 9533); 1587 dasm_put(Dst, 9620);
1577 } 1588 }
1578 dasm_put(Dst, 7183); 1589 dasm_put(Dst, 7270);
1579 break; 1590 break;
1580 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1591 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1581 dasm_put(Dst, 9639); 1592 dasm_put(Dst, 9726);
1582 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1593 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1583 switch (vk) { 1594 switch (vk) {
1584 case 0: 1595 case 0:
1585 dasm_put(Dst, 9647, LJ_TISNUM); 1596 dasm_put(Dst, 9734, LJ_TISNUM);
1586 if (sse) { 1597 if (sse) {
1587 dasm_put(Dst, 9763); 1598 dasm_put(Dst, 9850);
1588 } else { 1599 } else {
1589 dasm_put(Dst, 9778); 1600 dasm_put(Dst, 9865);
1590 } 1601 }
1591 break; 1602 break;
1592 case 1: 1603 case 1:
1593 dasm_put(Dst, 9683, LJ_TISNUM); 1604 dasm_put(Dst, 9770, LJ_TISNUM);
1594 if (sse) { 1605 if (sse) {
1595 dasm_put(Dst, 9787); 1606 dasm_put(Dst, 9874);
1596 } else { 1607 } else {
1597 dasm_put(Dst, 9802); 1608 dasm_put(Dst, 9889);
1598 } 1609 }
1599 break; 1610 break;
1600 default: 1611 default:
1601 dasm_put(Dst, 9719, LJ_TISNUM, LJ_TISNUM); 1612 dasm_put(Dst, 9806, LJ_TISNUM, LJ_TISNUM);
1602 if (sse) { 1613 if (sse) {
1603 dasm_put(Dst, 9811); 1614 dasm_put(Dst, 9898);
1604 } else { 1615 } else {
1605 dasm_put(Dst, 9825); 1616 dasm_put(Dst, 9912);
1606 } 1617 }
1607 break; 1618 break;
1608 } 1619 }
1609 if (sse) { 1620 if (sse) {
1610 dasm_put(Dst, 9521); 1621 dasm_put(Dst, 9608);
1611 } else { 1622 } else {
1612 dasm_put(Dst, 9533); 1623 dasm_put(Dst, 9620);
1613 } 1624 }
1614 dasm_put(Dst, 7183); 1625 dasm_put(Dst, 7270);
1615 break; 1626 break;
1616 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1627 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1617 dasm_put(Dst, 9639); 1628 dasm_put(Dst, 9726);
1618 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1629 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1619 switch (vk) { 1630 switch (vk) {
1620 case 0: 1631 case 0:
1621 dasm_put(Dst, 9647, LJ_TISNUM); 1632 dasm_put(Dst, 9734, LJ_TISNUM);
1622 if (sse) { 1633 if (sse) {
1623 dasm_put(Dst, 9833); 1634 dasm_put(Dst, 9920);
1624 } else { 1635 } else {
1625 dasm_put(Dst, 9848); 1636 dasm_put(Dst, 9935);
1626 } 1637 }
1627 break; 1638 break;
1628 case 1: 1639 case 1:
1629 dasm_put(Dst, 9683, LJ_TISNUM); 1640 dasm_put(Dst, 9770, LJ_TISNUM);
1630 if (sse) { 1641 if (sse) {
1631 dasm_put(Dst, 9857); 1642 dasm_put(Dst, 9944);
1632 } else { 1643 } else {
1633 dasm_put(Dst, 9872); 1644 dasm_put(Dst, 9959);
1634 } 1645 }
1635 break; 1646 break;
1636 default: 1647 default:
1637 dasm_put(Dst, 9719, LJ_TISNUM, LJ_TISNUM); 1648 dasm_put(Dst, 9806, LJ_TISNUM, LJ_TISNUM);
1638 if (sse) { 1649 if (sse) {
1639 dasm_put(Dst, 9881); 1650 dasm_put(Dst, 9968);
1640 } else { 1651 } else {
1641 dasm_put(Dst, 9895); 1652 dasm_put(Dst, 9982);
1642 } 1653 }
1643 break; 1654 break;
1644 } 1655 }
1645 if (sse) { 1656 if (sse) {
1646 dasm_put(Dst, 9521); 1657 dasm_put(Dst, 9608);
1647 } else { 1658 } else {
1648 dasm_put(Dst, 9533); 1659 dasm_put(Dst, 9620);
1649 } 1660 }
1650 dasm_put(Dst, 7183); 1661 dasm_put(Dst, 7270);
1651 break; 1662 break;
1652 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1663 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1653 dasm_put(Dst, 9639); 1664 dasm_put(Dst, 9726);
1654 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1665 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1655 switch (vk) { 1666 switch (vk) {
1656 case 0: 1667 case 0:
1657 dasm_put(Dst, 9647, LJ_TISNUM); 1668 dasm_put(Dst, 9734, LJ_TISNUM);
1658 if (sse) { 1669 if (sse) {
1659 dasm_put(Dst, 9903); 1670 dasm_put(Dst, 9990);
1660 } else { 1671 } else {
1661 dasm_put(Dst, 9918); 1672 dasm_put(Dst, 10005);
1662 } 1673 }
1663 break; 1674 break;
1664 case 1: 1675 case 1:
1665 dasm_put(Dst, 9683, LJ_TISNUM); 1676 dasm_put(Dst, 9770, LJ_TISNUM);
1666 if (sse) { 1677 if (sse) {
1667 dasm_put(Dst, 9927); 1678 dasm_put(Dst, 10014);
1668 } else { 1679 } else {
1669 dasm_put(Dst, 9942); 1680 dasm_put(Dst, 10029);
1670 } 1681 }
1671 break; 1682 break;
1672 default: 1683 default:
1673 dasm_put(Dst, 9719, LJ_TISNUM, LJ_TISNUM); 1684 dasm_put(Dst, 9806, LJ_TISNUM, LJ_TISNUM);
1674 if (sse) { 1685 if (sse) {
1675 dasm_put(Dst, 9951); 1686 dasm_put(Dst, 10038);
1676 } else { 1687 } else {
1677 dasm_put(Dst, 9965); 1688 dasm_put(Dst, 10052);
1678 } 1689 }
1679 break; 1690 break;
1680 } 1691 }
1681 if (sse) { 1692 if (sse) {
1682 dasm_put(Dst, 9521); 1693 dasm_put(Dst, 9608);
1683 } else { 1694 } else {
1684 dasm_put(Dst, 9533); 1695 dasm_put(Dst, 9620);
1685 } 1696 }
1686 dasm_put(Dst, 7183); 1697 dasm_put(Dst, 7270);
1687 break; 1698 break;
1688 case BC_MODVN: 1699 case BC_MODVN:
1689 dasm_put(Dst, 9639); 1700 dasm_put(Dst, 9726);
1690 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1701 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1691 switch (vk) { 1702 switch (vk) {
1692 case 0: 1703 case 0:
1693 dasm_put(Dst, 9647, LJ_TISNUM); 1704 dasm_put(Dst, 9734, LJ_TISNUM);
1694 if (sse) { 1705 if (sse) {
1695 dasm_put(Dst, 9973); 1706 dasm_put(Dst, 10060);
1696 } else { 1707 } else {
1697 dasm_put(Dst, 9988); 1708 dasm_put(Dst, 10075);
1698 } 1709 }
1699 break; 1710 break;
1700 case 1: 1711 case 1:
1701 dasm_put(Dst, 9683, LJ_TISNUM); 1712 dasm_put(Dst, 9770, LJ_TISNUM);
1702 if (sse) { 1713 if (sse) {
1703 dasm_put(Dst, 9997); 1714 dasm_put(Dst, 10084);
1704 } else { 1715 } else {
1705 dasm_put(Dst, 10012); 1716 dasm_put(Dst, 10099);
1706 } 1717 }
1707 break; 1718 break;
1708 default: 1719 default:
1709 dasm_put(Dst, 9719, LJ_TISNUM, LJ_TISNUM); 1720 dasm_put(Dst, 9806, LJ_TISNUM, LJ_TISNUM);
1710 if (sse) { 1721 if (sse) {
1711 dasm_put(Dst, 10021); 1722 dasm_put(Dst, 10108);
1712 } else { 1723 } else {
1713 dasm_put(Dst, 10035); 1724 dasm_put(Dst, 10122);
1714 } 1725 }
1715 break; 1726 break;
1716 } 1727 }
1717 dasm_put(Dst, 10043); 1728 dasm_put(Dst, 10130);
1718 if (sse) { 1729 if (sse) {
1719 dasm_put(Dst, 9521); 1730 dasm_put(Dst, 9608);
1720 } else { 1731 } else {
1721 dasm_put(Dst, 9533); 1732 dasm_put(Dst, 9620);
1722 } 1733 }
1723 dasm_put(Dst, 7183); 1734 dasm_put(Dst, 7270);
1724 break; 1735 break;
1725 case BC_MODNV: case BC_MODVV: 1736 case BC_MODNV: case BC_MODVV:
1726 dasm_put(Dst, 9639); 1737 dasm_put(Dst, 9726);
1727 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1738 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1728 switch (vk) { 1739 switch (vk) {
1729 case 0: 1740 case 0:
1730 dasm_put(Dst, 9647, LJ_TISNUM); 1741 dasm_put(Dst, 9734, LJ_TISNUM);
1731 if (sse) { 1742 if (sse) {
1732 dasm_put(Dst, 9973); 1743 dasm_put(Dst, 10060);
1733 } else { 1744 } else {
1734 dasm_put(Dst, 9988); 1745 dasm_put(Dst, 10075);
1735 } 1746 }
1736 break; 1747 break;
1737 case 1: 1748 case 1:
1738 dasm_put(Dst, 9683, LJ_TISNUM); 1749 dasm_put(Dst, 9770, LJ_TISNUM);
1739 if (sse) { 1750 if (sse) {
1740 dasm_put(Dst, 9997); 1751 dasm_put(Dst, 10084);
1741 } else { 1752 } else {
1742 dasm_put(Dst, 10012); 1753 dasm_put(Dst, 10099);
1743 } 1754 }
1744 break; 1755 break;
1745 default: 1756 default:
1746 dasm_put(Dst, 9719, LJ_TISNUM, LJ_TISNUM); 1757 dasm_put(Dst, 9806, LJ_TISNUM, LJ_TISNUM);
1747 if (sse) { 1758 if (sse) {
1748 dasm_put(Dst, 10021); 1759 dasm_put(Dst, 10108);
1749 } else { 1760 } else {
1750 dasm_put(Dst, 10035); 1761 dasm_put(Dst, 10122);
1751 } 1762 }
1752 break; 1763 break;
1753 } 1764 }
1754 dasm_put(Dst, 10049); 1765 dasm_put(Dst, 10136);
1755 break; 1766 break;
1756 case BC_POW: 1767 case BC_POW:
1757 dasm_put(Dst, 9639); 1768 dasm_put(Dst, 9726);
1758 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1769 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1759 switch (vk) { 1770 switch (vk) {
1760 case 0: 1771 case 0:
1761 dasm_put(Dst, 9647, LJ_TISNUM); 1772 dasm_put(Dst, 9734, LJ_TISNUM);
1762 if (sse) { 1773 if (sse) {
1763 dasm_put(Dst, 9973); 1774 dasm_put(Dst, 10060);
1764 } else { 1775 } else {
1765 dasm_put(Dst, 9988); 1776 dasm_put(Dst, 10075);
1766 } 1777 }
1767 break; 1778 break;
1768 case 1: 1779 case 1:
1769 dasm_put(Dst, 9683, LJ_TISNUM); 1780 dasm_put(Dst, 9770, LJ_TISNUM);
1770 if (sse) { 1781 if (sse) {
1771 dasm_put(Dst, 9997); 1782 dasm_put(Dst, 10084);
1772 } else { 1783 } else {
1773 dasm_put(Dst, 10012); 1784 dasm_put(Dst, 10099);
1774 } 1785 }
1775 break; 1786 break;
1776 default: 1787 default:
1777 dasm_put(Dst, 9719, LJ_TISNUM, LJ_TISNUM); 1788 dasm_put(Dst, 9806, LJ_TISNUM, LJ_TISNUM);
1778 if (sse) { 1789 if (sse) {
1779 dasm_put(Dst, 10021); 1790 dasm_put(Dst, 10108);
1780 } else { 1791 } else {
1781 dasm_put(Dst, 10035); 1792 dasm_put(Dst, 10122);
1782 } 1793 }
1783 break; 1794 break;
1784 } 1795 }
1785 dasm_put(Dst, 10054); 1796 dasm_put(Dst, 10141);
1786 if (sse) { 1797 if (sse) {
1787 dasm_put(Dst, 9521); 1798 dasm_put(Dst, 9608);
1788 } else { 1799 } else {
1789 dasm_put(Dst, 9533); 1800 dasm_put(Dst, 9620);
1790 } 1801 }
1791 dasm_put(Dst, 7183); 1802 dasm_put(Dst, 7270);
1792 break; 1803 break;
1793 1804
1794 case BC_CAT: 1805 case BC_CAT:
1795 dasm_put(Dst, 10058, Dt1(->base), Dt1(->base)); 1806 dasm_put(Dst, 10145, Dt1(->base), Dt1(->base));
1796 break; 1807 break;
1797 1808
1798 /* -- Constant ops ------------------------------------------------------ */ 1809 /* -- Constant ops ------------------------------------------------------ */
1799 1810
1800 case BC_KSTR: 1811 case BC_KSTR:
1801 dasm_put(Dst, 10149, LJ_TSTR); 1812 dasm_put(Dst, 10236, LJ_TSTR);
1802 break; 1813 break;
1803 case BC_KSHORT: 1814 case BC_KSHORT:
1804 if (sse) { 1815 if (sse) {
1805 dasm_put(Dst, 10186); 1816 dasm_put(Dst, 10273);
1806 } else { 1817 } else {
1807 dasm_put(Dst, 10201); 1818 dasm_put(Dst, 10288);
1808 } 1819 }
1809 dasm_put(Dst, 7183); 1820 dasm_put(Dst, 7270);
1810 break; 1821 break;
1811 case BC_KNUM: 1822 case BC_KNUM:
1812 if (sse) { 1823 if (sse) {
1813 dasm_put(Dst, 10209); 1824 dasm_put(Dst, 10296);
1814 } else { 1825 } else {
1815 dasm_put(Dst, 10223); 1826 dasm_put(Dst, 10310);
1816 } 1827 }
1817 dasm_put(Dst, 7183); 1828 dasm_put(Dst, 7270);
1818 break; 1829 break;
1819 case BC_KPRI: 1830 case BC_KPRI:
1820 dasm_put(Dst, 10231); 1831 dasm_put(Dst, 10318);
1821 break; 1832 break;
1822 case BC_KNIL: 1833 case BC_KNIL:
1823 dasm_put(Dst, 10260, LJ_TNIL); 1834 dasm_put(Dst, 10347, LJ_TNIL);
1824 break; 1835 break;
1825 1836
1826 /* -- Upvalue and function ops ------------------------------------------ */ 1837 /* -- Upvalue and function ops ------------------------------------------ */
1827 1838
1828 case BC_UGET: 1839 case BC_UGET:
1829 dasm_put(Dst, 10308, offsetof(GCfuncL, uvptr), DtA(->v)); 1840 dasm_put(Dst, 10395, offsetof(GCfuncL, uvptr), DtA(->v));
1830 break; 1841 break;
1831 case BC_USETV: 1842 case BC_USETV:
1832#define TV2MARKOFS \ 1843#define TV2MARKOFS \
1833 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 1844 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1834 dasm_put(Dst, 10354, 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); 1845 dasm_put(Dst, 10441, 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);
1835 dasm_put(Dst, 10450); 1846 dasm_put(Dst, 10537);
1836 break; 1847 break;
1837#undef TV2MARKOFS 1848#undef TV2MARKOFS
1838 case BC_USETS: 1849 case BC_USETS:
1839 dasm_put(Dst, 10462, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 1850 dasm_put(Dst, 10549, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1840 break; 1851 break;
1841 case BC_USETN: 1852 case BC_USETN:
1842 dasm_put(Dst, 10558); 1853 dasm_put(Dst, 10645);
1843 if (sse) { 1854 if (sse) {
1844 dasm_put(Dst, 10563); 1855 dasm_put(Dst, 10650);
1845 } else { 1856 } else {
1846 dasm_put(Dst, 9337); 1857 dasm_put(Dst, 9424);
1847 } 1858 }
1848 dasm_put(Dst, 10571, offsetof(GCfuncL, uvptr), DtA(->v)); 1859 dasm_put(Dst, 10658, offsetof(GCfuncL, uvptr), DtA(->v));
1849 if (sse) { 1860 if (sse) {
1850 dasm_put(Dst, 10580); 1861 dasm_put(Dst, 10667);
1851 } else { 1862 } else {
1852 dasm_put(Dst, 10586); 1863 dasm_put(Dst, 10673);
1853 } 1864 }
1854 dasm_put(Dst, 7183); 1865 dasm_put(Dst, 7270);
1855 break; 1866 break;
1856 case BC_USETP: 1867 case BC_USETP:
1857 dasm_put(Dst, 10589, offsetof(GCfuncL, uvptr), DtA(->v)); 1868 dasm_put(Dst, 10676, offsetof(GCfuncL, uvptr), DtA(->v));
1858 break; 1869 break;
1859 case BC_UCLO: 1870 case BC_UCLO:
1860 dasm_put(Dst, 10629, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 1871 dasm_put(Dst, 10716, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
1861 break; 1872 break;
1862 1873
1863 case BC_FNEW: 1874 case BC_FNEW:
1864 dasm_put(Dst, 10685, Dt1(->base), Dt1(->base), LJ_TFUNC); 1875 dasm_put(Dst, 10772, Dt1(->base), Dt1(->base), LJ_TFUNC);
1865 break; 1876 break;
1866 1877
1867 /* -- Table ops --------------------------------------------------------- */ 1878 /* -- Table ops --------------------------------------------------------- */
1868 1879
1869 case BC_TNEW: 1880 case BC_TNEW:
1870 dasm_put(Dst, 10752, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 1881 dasm_put(Dst, 10839, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
1871 break; 1882 break;
1872 case BC_TDUP: 1883 case BC_TDUP:
1873 dasm_put(Dst, 10876, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 1884 dasm_put(Dst, 10963, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
1874 break; 1885 break;
1875 1886
1876 case BC_GGET: 1887 case BC_GGET:
1877 dasm_put(Dst, 10975, Dt7(->env)); 1888 dasm_put(Dst, 11062, Dt7(->env));
1878 break; 1889 break;
1879 case BC_GSET: 1890 case BC_GSET:
1880 dasm_put(Dst, 10995, Dt7(->env)); 1891 dasm_put(Dst, 11082, Dt7(->env));
1881 break; 1892 break;
1882 1893
1883 case BC_TGETV: 1894 case BC_TGETV:
1884 dasm_put(Dst, 11015, LJ_TTAB, LJ_TISNUM); 1895 dasm_put(Dst, 11102, LJ_TTAB, LJ_TISNUM);
1885 if (sse) { 1896 if (sse) {
1886 dasm_put(Dst, 11048); 1897 dasm_put(Dst, 11135);
1887 } else { 1898 } else {
1888 } 1899 }
1889 dasm_put(Dst, 11069, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1900 dasm_put(Dst, 11156, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1890 dasm_put(Dst, 11163, LJ_TSTR); 1901 dasm_put(Dst, 11250, LJ_TSTR);
1891 break; 1902 break;
1892 case BC_TGETS: 1903 case BC_TGETS:
1893 dasm_put(Dst, 11181, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 1904 dasm_put(Dst, 11268, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
1894 dasm_put(Dst, 11267, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1905 dasm_put(Dst, 11354, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1895 break; 1906 break;
1896 case BC_TGETB: 1907 case BC_TGETB:
1897 dasm_put(Dst, 11340, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 1908 dasm_put(Dst, 11427, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
1898 dasm_put(Dst, 9629); 1909 dasm_put(Dst, 9716);
1899 break; 1910 break;
1900 1911
1901 case BC_TSETV: 1912 case BC_TSETV:
1902 dasm_put(Dst, 11441, LJ_TTAB, LJ_TISNUM); 1913 dasm_put(Dst, 11528, LJ_TTAB, LJ_TISNUM);
1903 if (sse) { 1914 if (sse) {
1904 dasm_put(Dst, 11048); 1915 dasm_put(Dst, 11135);
1905 } else { 1916 } else {
1906 } 1917 }
1907 dasm_put(Dst, 11474, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 1918 dasm_put(Dst, 11561, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
1908 dasm_put(Dst, 11559, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1919 dasm_put(Dst, 11646, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1909 break; 1920 break;
1910 case BC_TSETS: 1921 case BC_TSETS:
1911 dasm_put(Dst, 11623, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 1922 dasm_put(Dst, 11710, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
1912 dasm_put(Dst, 11700, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 1923 dasm_put(Dst, 11787, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
1913 dasm_put(Dst, 11792, 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)); 1924 dasm_put(Dst, 11879, 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));
1914 break; 1925 break;
1915 case BC_TSETB: 1926 case BC_TSETB:
1916 dasm_put(Dst, 11884, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 1927 dasm_put(Dst, 11971, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
1917 dasm_put(Dst, 11984, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1928 dasm_put(Dst, 12071, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1918 break; 1929 break;
1919 1930
1920 case BC_TSETM: 1931 case BC_TSETM:
1921 dasm_put(Dst, 12032); 1932 dasm_put(Dst, 12119);
1922 if (sse) { 1933 if (sse) {
1923 dasm_put(Dst, 10563); 1934 dasm_put(Dst, 10650);
1924 } else { 1935 } else {
1925 } 1936 }
1926 dasm_put(Dst, 12037, Dt6(->marked), LJ_GC_BLACK); 1937 dasm_put(Dst, 12124, Dt6(->marked), LJ_GC_BLACK);
1927 if (sse) { 1938 if (sse) {
1928 dasm_put(Dst, 12062); 1939 dasm_put(Dst, 12149);
1929 } else { 1940 } else {
1930 } 1941 }
1931 dasm_put(Dst, 12070, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain)); 1942 dasm_put(Dst, 12157, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain));
1932 dasm_put(Dst, 12206, Dt6(->gclist)); 1943 dasm_put(Dst, 12293, Dt6(->gclist));
1933 break; 1944 break;
1934 1945
1935 /* -- Calls and vararg handling ----------------------------------------- */ 1946 /* -- Calls and vararg handling ----------------------------------------- */
1936 1947
1937 case BC_CALL: case BC_CALLM: 1948 case BC_CALL: case BC_CALLM:
1938 dasm_put(Dst, 9643); 1949 dasm_put(Dst, 9730);
1939 if (op == BC_CALLM) { 1950 if (op == BC_CALLM) {
1940 dasm_put(Dst, 12214); 1951 dasm_put(Dst, 12301);
1941 } 1952 }
1942 dasm_put(Dst, 12219, LJ_TFUNC, Dt7(->pc)); 1953 dasm_put(Dst, 12306, LJ_TFUNC, Dt7(->pc));
1943 break; 1954 break;
1944 1955
1945 case BC_CALLMT: 1956 case BC_CALLMT:
1946 dasm_put(Dst, 12214); 1957 dasm_put(Dst, 12301);
1947 break; 1958 break;
1948 case BC_CALLT: 1959 case BC_CALLT:
1949 dasm_put(Dst, 12262, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 1960 dasm_put(Dst, 12349, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
1950 dasm_put(Dst, 12386, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); 1961 dasm_put(Dst, 12473, FRAME_TYPE, Dt7(->pc), PC2PROTO(k));
1951 break; 1962 break;
1952 1963
1953 case BC_ITERC: 1964 case BC_ITERC:
1954 dasm_put(Dst, 12447, LJ_TFUNC, 2+1, Dt7(->pc)); 1965 dasm_put(Dst, 12534, LJ_TFUNC, 2+1, Dt7(->pc));
1955 break; 1966 break;
1956 1967
1957 case BC_VARG: 1968 case BC_VARG:
1958 dasm_put(Dst, 12529, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); 1969 dasm_put(Dst, 12616, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL);
1959 dasm_put(Dst, 12683, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 1970 dasm_put(Dst, 12770, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
1960 break; 1971 break;
1961 1972
1962 /* -- Returns ----------------------------------------------------------- */ 1973 /* -- Returns ----------------------------------------------------------- */
1963 1974
1964 case BC_RETM: 1975 case BC_RETM:
1965 dasm_put(Dst, 12214); 1976 dasm_put(Dst, 12301);
1966 break; 1977 break;
1967 1978
1968 case BC_RET: case BC_RET0: case BC_RET1: 1979 case BC_RET: case BC_RET0: case BC_RET1:
1969 if (op != BC_RET0) { 1980 if (op != BC_RET0) {
1970 dasm_put(Dst, 12788); 1981 dasm_put(Dst, 12875);
1971 } 1982 }
1972 dasm_put(Dst, 12792, FRAME_TYPE); 1983 dasm_put(Dst, 12879, FRAME_TYPE);
1973 switch (op) { 1984 switch (op) {
1974 case BC_RET: 1985 case BC_RET:
1975 dasm_put(Dst, 12811); 1986 dasm_put(Dst, 12898);
1976 break; 1987 break;
1977 case BC_RET1: 1988 case BC_RET1:
1978 dasm_put(Dst, 12875); 1989 dasm_put(Dst, 12962);
1979 /* fallthrough */ 1990 /* fallthrough */
1980 case BC_RET0: 1991 case BC_RET0:
1981 dasm_put(Dst, 12891); 1992 dasm_put(Dst, 12978);
1982 default: 1993 default:
1983 break; 1994 break;
1984 } 1995 }
1985 dasm_put(Dst, 12902, Dt7(->pc), PC2PROTO(k)); 1996 dasm_put(Dst, 12989, Dt7(->pc), PC2PROTO(k));
1986 if (op == BC_RET) { 1997 if (op == BC_RET) {
1987 dasm_put(Dst, 12950, LJ_TNIL); 1998 dasm_put(Dst, 13037, LJ_TNIL);
1988 } else { 1999 } else {
1989 dasm_put(Dst, 12961, LJ_TNIL); 2000 dasm_put(Dst, 13048, LJ_TNIL);
1990 } 2001 }
1991 dasm_put(Dst, 12968); 2002 dasm_put(Dst, 13055);
1992 if (op != BC_RET0) { 2003 if (op != BC_RET0) {
1993 dasm_put(Dst, 12988); 2004 dasm_put(Dst, 13075);
1994 } 2005 }
1995 dasm_put(Dst, 4568); 2006 dasm_put(Dst, 4568);
1996 break; 2007 break;
@@ -2000,7 +2011,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2000 2011
2001 case BC_FORL: 2012 case BC_FORL:
2002#if LJ_HASJIT 2013#if LJ_HASJIT
2003 dasm_put(Dst, 12991, HOTCOUNT_PCMASK, GG_DISP2HOT); 2014 dasm_put(Dst, 13078, HOTCOUNT_PCMASK, GG_DISP2HOT);
2004#endif 2015#endif
2005 break; 2016 break;
2006 2017
@@ -2012,57 +2023,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2012 case BC_FORI: 2023 case BC_FORI:
2013 case BC_IFORL: 2024 case BC_IFORL:
2014 vk = (op == BC_IFORL || op == BC_JFORL); 2025 vk = (op == BC_IFORL || op == BC_JFORL);
2015 dasm_put(Dst, 13012); 2026 dasm_put(Dst, 13099);
2016 if (!vk) { 2027 if (!vk) {
2017 dasm_put(Dst, 13016, LJ_TISNUM, LJ_TISNUM); 2028 dasm_put(Dst, 13103, LJ_TISNUM, LJ_TISNUM);
2018 } 2029 }
2019 dasm_put(Dst, 13035); 2030 dasm_put(Dst, 13122);
2020 if (!vk) { 2031 if (!vk) {
2021 dasm_put(Dst, 13039, LJ_TISNUM); 2032 dasm_put(Dst, 13126, LJ_TISNUM);
2022 } 2033 }
2023 if (sse) { 2034 if (sse) {
2024 dasm_put(Dst, 13048); 2035 dasm_put(Dst, 13135);
2025 if (vk) { 2036 if (vk) {
2026 dasm_put(Dst, 13060); 2037 dasm_put(Dst, 13147);
2027 } else { 2038 } else {
2028 dasm_put(Dst, 13079); 2039 dasm_put(Dst, 13166);
2029 } 2040 }
2030 dasm_put(Dst, 13084); 2041 dasm_put(Dst, 13171);
2031 } else { 2042 } else {
2032 dasm_put(Dst, 13097); 2043 dasm_put(Dst, 13184);
2033 if (vk) { 2044 if (vk) {
2034 dasm_put(Dst, 13103); 2045 dasm_put(Dst, 13190);
2035 } else { 2046 } else {
2036 dasm_put(Dst, 13119); 2047 dasm_put(Dst, 13206);
2037 } 2048 }
2038 dasm_put(Dst, 13127); 2049 dasm_put(Dst, 13214);
2039 if (cmov) { 2050 if (cmov) {
2040 dasm_put(Dst, 9058); 2051 dasm_put(Dst, 9145);
2041 } else { 2052 } else {
2042 dasm_put(Dst, 9064); 2053 dasm_put(Dst, 9151);
2043 } 2054 }
2044 if (!cmov) { 2055 if (!cmov) {
2045 dasm_put(Dst, 13132); 2056 dasm_put(Dst, 13219);
2046 } 2057 }
2047 } 2058 }
2048 if (op == BC_FORI) { 2059 if (op == BC_FORI) {
2049 dasm_put(Dst, 13138, -BCBIAS_J*4); 2060 dasm_put(Dst, 13225, -BCBIAS_J*4);
2050 } else if (op == BC_JFORI) { 2061 } else if (op == BC_JFORI) {
2051 dasm_put(Dst, 13148, -BCBIAS_J*4, BC_JLOOP); 2062 dasm_put(Dst, 13235, -BCBIAS_J*4, BC_JLOOP);
2052 } else if (op == BC_IFORL) { 2063 } else if (op == BC_IFORL) {
2053 dasm_put(Dst, 13162, -BCBIAS_J*4); 2064 dasm_put(Dst, 13249, -BCBIAS_J*4);
2054 } else { 2065 } else {
2055 dasm_put(Dst, 13158, BC_JLOOP); 2066 dasm_put(Dst, 13245, BC_JLOOP);
2056 } 2067 }
2057 dasm_put(Dst, 9093); 2068 dasm_put(Dst, 9180);
2058 if (sse) { 2069 if (sse) {
2059 dasm_put(Dst, 13172); 2070 dasm_put(Dst, 13259);
2060 } 2071 }
2061 break; 2072 break;
2062 2073
2063 case BC_ITERL: 2074 case BC_ITERL:
2064#if LJ_HASJIT 2075#if LJ_HASJIT
2065 dasm_put(Dst, 12991, HOTCOUNT_PCMASK, GG_DISP2HOT); 2076 dasm_put(Dst, 13078, HOTCOUNT_PCMASK, GG_DISP2HOT);
2066#endif 2077#endif
2067 break; 2078 break;
2068 2079
@@ -2071,33 +2082,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2071 break; 2082 break;
2072#endif 2083#endif
2073 case BC_IITERL: 2084 case BC_IITERL:
2074 dasm_put(Dst, 13183, LJ_TNIL); 2085 dasm_put(Dst, 13270, LJ_TNIL);
2075 if (op == BC_JITERL) { 2086 if (op == BC_JITERL) {
2076 dasm_put(Dst, 13198, BC_JLOOP); 2087 dasm_put(Dst, 13285, BC_JLOOP);
2077 } else { 2088 } else {
2078 dasm_put(Dst, 13212, -BCBIAS_J*4); 2089 dasm_put(Dst, 13299, -BCBIAS_J*4);
2079 } 2090 }
2080 dasm_put(Dst, 9397); 2091 dasm_put(Dst, 9484);
2081 break; 2092 break;
2082 2093
2083 case BC_LOOP: 2094 case BC_LOOP:
2084#if LJ_HASJIT 2095#if LJ_HASJIT
2085 dasm_put(Dst, 12991, HOTCOUNT_PCMASK, GG_DISP2HOT); 2096 dasm_put(Dst, 13078, HOTCOUNT_PCMASK, GG_DISP2HOT);
2086#endif 2097#endif
2087 break; 2098 break;
2088 2099
2089 case BC_ILOOP: 2100 case BC_ILOOP:
2090 dasm_put(Dst, 7183); 2101 dasm_put(Dst, 7270);
2091 break; 2102 break;
2092 2103
2093 case BC_JLOOP: 2104 case BC_JLOOP:
2094#if LJ_HASJIT 2105#if LJ_HASJIT
2095 dasm_put(Dst, 13228, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2106 dasm_put(Dst, 13315, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2096#endif 2107#endif
2097 break; 2108 break;
2098 2109
2099 case BC_JMP: 2110 case BC_JMP:
2100 dasm_put(Dst, 13255, -BCBIAS_J*4); 2111 dasm_put(Dst, 13342, -BCBIAS_J*4);
2101 break; 2112 break;
2102 2113
2103 /* -- Function headers -------------------------------------------------- */ 2114 /* -- Function headers -------------------------------------------------- */
@@ -2120,13 +2131,13 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2120 break; 2131 break;
2121#endif 2132#endif
2122 case BC_IFUNCF: 2133 case BC_IFUNCF:
2123 dasm_put(Dst, 13281, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2134 dasm_put(Dst, 13368, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2124 if (op == BC_JFUNCF) { 2135 if (op == BC_JFUNCF) {
2125 dasm_put(Dst, 13312, BC_JLOOP); 2136 dasm_put(Dst, 13399, BC_JLOOP);
2126 } else { 2137 } else {
2127 dasm_put(Dst, 7183); 2138 dasm_put(Dst, 7270);
2128 } 2139 }
2129 dasm_put(Dst, 13321, LJ_TNIL); 2140 dasm_put(Dst, 13408, LJ_TNIL);
2130 break; 2141 break;
2131 2142
2132 case BC_JFUNCV: 2143 case BC_JFUNCV:
@@ -2137,30 +2148,30 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2137 break; /* NYI: compiled vararg functions. */ 2148 break; /* NYI: compiled vararg functions. */
2138 2149
2139 case BC_IFUNCV: 2150 case BC_IFUNCV:
2140 dasm_put(Dst, 13343, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2151 dasm_put(Dst, 13430, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2141 if (op == BC_JFUNCV) { 2152 if (op == BC_JFUNCV) {
2142 dasm_put(Dst, 13312, BC_JLOOP); 2153 dasm_put(Dst, 13399, BC_JLOOP);
2143 } else { 2154 } else {
2144 dasm_put(Dst, 13440, -4+PC2PROTO(k)); 2155 dasm_put(Dst, 13527, -4+PC2PROTO(k));
2145 } 2156 }
2146 dasm_put(Dst, 13465, LJ_TNIL); 2157 dasm_put(Dst, 13552, LJ_TNIL);
2147 break; 2158 break;
2148 2159
2149 case BC_FUNCC: 2160 case BC_FUNCC:
2150 case BC_FUNCCW: 2161 case BC_FUNCCW:
2151 dasm_put(Dst, 13487, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2162 dasm_put(Dst, 13574, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2152 if (op == BC_FUNCC) { 2163 if (op == BC_FUNCC) {
2153 dasm_put(Dst, 13517); 2164 dasm_put(Dst, 13604);
2154 } else { 2165 } else {
2155 dasm_put(Dst, 13521); 2166 dasm_put(Dst, 13608);
2156 } 2167 }
2157 dasm_put(Dst, 13529, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2168 dasm_put(Dst, 13616, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2158 if (op == BC_FUNCC) { 2169 if (op == BC_FUNCC) {
2159 dasm_put(Dst, 13539); 2170 dasm_put(Dst, 13626);
2160 } else { 2171 } else {
2161 dasm_put(Dst, 13544, DISPATCH_GL(wrapf)); 2172 dasm_put(Dst, 13631, DISPATCH_GL(wrapf));
2162 } 2173 }
2163 dasm_put(Dst, 13550, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2174 dasm_put(Dst, 13637, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2164 break; 2175 break;
2165 2176
2166 /* ---------------------------------------------------------------------- */ 2177 /* ---------------------------------------------------------------------- */
@@ -2188,7 +2199,7 @@ static int build_backend(BuildCtx *ctx)
2188 2199
2189 build_subroutines(ctx, cmov, sse); 2200 build_subroutines(ctx, cmov, sse);
2190 2201
2191 dasm_put(Dst, 13576); 2202 dasm_put(Dst, 13663);
2192 for (op = 0; op < BC__MAX; op++) 2203 for (op = 0; op < BC__MAX; op++)
2193 build_ins(ctx, (BCOp)op, op, cmov, sse); 2204 build_ins(ctx, (BCOp)op, op, cmov, sse);
2194 2205