diff options
Diffstat (limited to 'src/buildvm_x64.h')
-rw-r--r-- | src/buildvm_x64.h | 1341 |
1 files changed, 673 insertions, 668 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h index fe439c75..918e514a 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 |
15 | static const unsigned char build_actionlist[16015] = { | 15 | static const unsigned char build_actionlist[16103] = { |
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,129,252,243,239,252,247,195,237,15,133, | 18 | 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133, |
@@ -317,164 +317,169 @@ static const unsigned char build_actionlist[16015] = { | |||
317 | 248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,137,216,139, | 317 | 248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,137,216,139, |
318 | 92,36,4,252,233,244,121,248,130,129,252,248,239,15,130,244,61,129,122,253, | 318 | 92,36,4,252,233,244,121,248,130,129,252,248,239,15,130,244,61,129,122,253, |
319 | 4,239,15,133,244,61,137,213,139,58,232,251,1,21,137,252,234,255,137,197,252, | 319 | 4,239,15,133,244,61,137,213,139,58,232,251,1,21,137,252,234,255,137,197,252, |
320 | 233,244,69,255,252,242,15,42,192,252,233,244,70,255,248,131,129,122,253,4, | 320 | 233,244,69,255,252,242,15,42,192,252,233,244,70,255,248,131,129,252,248,239, |
321 | 239,255,15,133,244,247,139,42,252,233,244,87,248,1,15,135,244,61,255,252, | 321 | 15,130,244,61,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,87, |
322 | 242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126, | 322 | 248,1,15,135,244,61,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205, |
323 | 197,255,252,233,244,87,255,248,132,255,72,189,237,237,102,72,15,110,205,255, | 323 | 252,242,15,88,193,102,15,126,197,255,252,233,244,87,255,248,132,129,252,248, |
324 | 199,4,36,0,0,192,89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135, | 324 | 239,15,130,244,61,255,72,189,237,237,102,72,15,110,205,255,199,4,36,0,0,192, |
325 | 244,61,255,252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137, | 325 | 89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,61,255,252, |
326 | 68,36,4,141,68,194,252,240,248,1,57,208,15,134,244,87,129,120,253,4,239,255, | 326 | 242,15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,68,36,4,141,68, |
327 | 15,133,244,248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,133,255,15, | 327 | 194,252,240,248,1,57,208,15,134,244,87,129,120,253,4,239,255,15,133,244,248, |
328 | 131,244,133,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255, | 328 | 35,40,131,232,8,252,233,244,1,248,2,15,135,244,133,255,15,131,244,133,255, |
329 | 131,232,8,252,233,244,1,248,134,255,15,133,244,248,11,40,131,232,8,252,233, | 329 | 252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,131,232,8,252, |
330 | 244,1,248,2,15,135,244,133,255,252,242,15,16,0,252,242,15,88,193,102,15,126, | 330 | 233,244,1,248,134,129,252,248,239,15,130,244,61,255,15,133,244,248,11,40, |
331 | 193,9,205,255,131,232,8,252,233,244,1,248,135,255,15,133,244,248,51,40,131, | 331 | 131,232,8,252,233,244,1,248,2,15,135,244,133,255,252,242,15,16,0,252,242, |
332 | 232,8,252,233,244,1,248,2,15,135,244,133,255,252,242,15,16,0,252,242,15,88, | 332 | 15,88,193,102,15,126,193,9,205,255,131,232,8,252,233,244,1,248,135,129,252, |
333 | 193,102,15,126,193,49,205,255,131,232,8,252,233,244,1,248,136,129,122,253, | 333 | 248,239,15,130,244,61,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248, |
334 | 4,239,255,248,2,15,205,252,233,244,87,248,137,129,122,253,4,239,255,248,2, | 334 | 2,15,135,244,133,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49, |
335 | 252,247,213,255,248,87,252,242,15,42,197,252,233,244,70,255,248,133,139,68, | 335 | 205,255,131,232,8,252,233,244,1,248,136,129,252,248,239,15,130,244,61,129, |
336 | 36,4,252,233,244,61,255,248,138,129,122,253,4,239,255,248,2,129,122,253,12, | 336 | 122,253,4,239,255,248,2,15,205,252,233,244,87,248,137,129,252,248,239,15, |
337 | 130,244,61,129,122,253,4,239,255,248,2,252,247,213,255,248,87,252,242,15, | ||
338 | 42,197,252,233,244,70,255,248,133,139,68,36,4,252,233,244,61,255,248,138, | ||
339 | 129,252,248,239,15,130,244,61,129,122,253,4,239,255,248,2,129,122,253,12, | ||
337 | 239,15,133,244,61,139,74,8,255,248,138,129,252,248,239,15,130,244,61,129, | 340 | 239,15,133,244,61,139,74,8,255,248,138,129,252,248,239,15,130,244,61,129, |
338 | 122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16, | 341 | 122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16, |
339 | 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, | 342 | 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, |
340 | 242,15,88,202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,87,255, | 343 | 242,15,88,202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,87,255, |
341 | 248,139,129,122,253,4,239,255,248,139,129,252,248,239,15,130,244,61,129,122, | 344 | 248,139,129,252,248,239,15,130,244,61,129,122,253,4,239,255,248,139,129,252, |
342 | 253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,2, | 345 | 248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239, |
343 | 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, | 346 | 15,131,244,61,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15, |
344 | 242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,237,252,233,244,87, | 347 | 110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201, |
345 | 255,248,140,129,122,253,4,239,255,248,140,129,252,248,239,15,130,244,61,129, | 348 | 255,211,252,237,252,233,244,87,255,248,140,129,252,248,239,15,130,244,61, |
346 | 122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16, | 349 | 129,122,253,4,239,255,248,140,129,252,248,239,15,130,244,61,129,122,253,4, |
347 | 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, | 350 | 239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,2,252,242, |
348 | 242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,253,252,233,244,87, | 351 | 15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15, |
349 | 255,248,141,129,122,253,4,239,255,248,141,129,252,248,239,15,130,244,61,129, | 352 | 88,202,102,15,126,197,102,15,126,201,255,211,252,253,252,233,244,87,255,248, |
350 | 122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16, | 353 | 141,129,252,248,239,15,130,244,61,129,122,253,4,239,255,248,141,129,252,248, |
351 | 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, | 354 | 239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,15,131, |
352 | 242,15,88,202,102,15,126,197,102,15,126,201,255,211,197,252,233,244,87,255, | 355 | 244,61,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213, |
353 | 248,142,129,122,253,4,239,255,248,142,129,252,248,239,15,130,244,61,129,122, | 356 | 252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,211, |
354 | 253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,2, | 357 | 197,252,233,244,87,255,248,142,129,252,248,239,15,130,244,61,129,122,253, |
355 | 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, | 358 | 4,239,255,248,142,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131, |
356 | 242,15,88,202,102,15,126,197,102,15,126,201,255,211,205,252,233,244,87,248, | 359 | 244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,2,252,242,15,16,74, |
357 | 125,184,237,252,233,244,61,248,127,184,237,248,61,139,108,36,24,139,90,252, | 360 | 8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102, |
358 | 252,137,92,36,28,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139, | 361 | 15,126,197,102,15,126,201,255,211,205,252,233,244,87,248,125,184,237,252, |
359 | 66,252,248,59,141,233,15,135,244,251,137,252,239,252,255,144,233,139,149, | 362 | 233,244,61,248,127,184,237,248,61,139,108,36,24,139,90,252,252,137,92,36, |
360 | 233,133,192,15,143,244,76,248,1,255,139,141,233,41,209,193,252,233,3,133, | 363 | 28,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139,66,252,248, |
361 | 192,141,65,1,139,106,252,248,15,133,244,32,139,157,233,139,11,15,182,252, | 364 | 59,141,233,15,135,244,251,137,252,239,252,255,144,233,139,149,233,133,192, |
362 | 233,15,182,205,131,195,4,65,252,255,36,252,238,248,32,137,209,252,247,195, | 365 | 15,143,244,76,248,1,255,139,141,233,41,209,193,252,233,3,133,192,141,65,1, |
363 | 237,15,133,244,249,15,182,107,252,253,72,252,247,213,141,20,252,234,252,233, | 366 | 139,106,252,248,15,133,244,32,139,157,233,139,11,15,182,252,233,15,182,205, |
364 | 244,28,248,3,137,221,131,229,252,248,41,252,234,252,233,244,28,248,5,190, | 367 | 131,195,4,65,252,255,36,252,238,248,32,137,209,252,247,195,237,15,133,244, |
365 | 237,137,252,239,232,251,1,0,139,149,233,49,192,252,233,244,1,248,73,93,72, | 368 | 249,15,182,107,252,253,72,252,247,213,141,20,252,234,252,233,244,28,248,3, |
366 | 137,108,36,8,139,108,36,24,137,92,36,28,137,149,233,255,141,68,194,252,248, | 369 | 137,221,131,229,252,248,41,252,234,252,233,244,28,248,5,190,237,137,252,239, |
367 | 137,252,239,137,133,233,232,251,1,22,139,149,233,139,133,233,41,208,193,232, | 370 | 232,251,1,0,139,149,233,49,192,252,233,244,1,248,73,93,72,137,108,36,8,139, |
368 | 3,131,192,1,72,139,108,36,8,85,195,248,143,255,65,15,182,134,233,168,235, | 371 | 108,36,24,137,92,36,28,137,149,233,255,141,68,194,252,248,137,252,239,137, |
369 | 15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,65,252,255,142, | 372 | 133,233,232,251,1,22,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72, |
370 | 233,252,233,244,247,255,248,144,65,15,182,134,233,168,235,15,133,244,251, | 373 | 139,108,36,8,85,195,248,143,255,65,15,182,134,233,168,235,15,133,244,251, |
371 | 252,233,244,247,248,145,65,15,182,134,233,168,235,15,133,244,251,168,235, | 374 | 168,235,15,133,244,247,168,235,15,132,244,247,65,252,255,142,233,252,233, |
372 | 15,132,244,251,65,252,255,142,233,15,132,244,247,168,235,15,132,244,251,248, | 375 | 244,247,255,248,144,65,15,182,134,233,168,235,15,133,244,251,252,233,244, |
373 | 1,255,139,108,36,24,137,149,233,137,222,137,252,239,232,251,1,23,248,3,139, | 376 | 247,248,145,65,15,182,134,233,168,235,15,133,244,251,168,235,15,132,244,251, |
374 | 149,233,248,4,15,182,75,252,253,248,5,15,182,107,252,252,15,183,67,252,254, | 377 | 65,252,255,142,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108, |
375 | 65,252,255,164,253,252,238,233,248,146,131,195,4,139,77,232,137,76,36,4,252, | 378 | 36,24,137,149,233,137,222,137,252,239,232,251,1,23,248,3,139,149,233,248, |
376 | 233,244,4,248,147,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194, | 379 | 4,15,182,75,252,253,248,5,15,182,107,252,252,15,183,67,252,254,65,252,255, |
377 | 139,108,36,24,137,149,233,137,133,233,137,222,65,141,190,233,73,137,174,233, | 380 | 164,253,252,238,233,248,146,131,195,4,139,77,232,137,76,36,4,252,233,244, |
378 | 137,92,36,28,232,251,1,24,252,233,244,3,255,248,148,137,92,36,28,255,248, | 381 | 4,248,147,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108, |
379 | 149,255,137,92,36,28,131,203,1,248,1,255,141,68,194,252,248,139,108,36,24, | 382 | 36,24,137,149,233,137,133,233,137,222,65,141,190,233,73,137,174,233,137,92, |
380 | 137,149,233,137,133,233,137,222,137,252,239,232,251,1,25,199,68,36,28,0,0, | 383 | 36,28,232,251,1,24,252,233,244,3,255,248,148,137,92,36,28,255,248,149,255, |
381 | 0,0,255,131,227,252,254,255,139,149,233,72,137,193,139,133,233,41,208,72, | 384 | 137,92,36,28,131,203,1,248,1,255,141,68,194,252,248,139,108,36,24,137,149, |
382 | 137,205,15,182,75,252,253,193,232,3,131,192,1,252,255,229,248,150,255,65, | 385 | 233,137,133,233,137,222,137,252,239,232,251,1,25,199,68,36,28,0,0,0,0,255, |
383 | 85,65,84,65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80, | 386 | 131,227,252,254,255,139,149,233,72,137,193,139,133,233,41,208,72,137,205, |
384 | 15,182,69,252,248,138,101,252,240,76,137,125,252,248,76,137,117,252,240,68, | 387 | 15,182,75,252,253,193,232,3,131,192,1,252,255,229,248,150,255,65,85,65,84, |
385 | 139,117,0,65,139,142,233,65,199,134,233,237,65,137,134,233,65,137,142,233, | 388 | 65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69, |
386 | 72,129,252,236,239,72,131,197,128,252,242,68,15,17,125,252,248,252,242,68, | 389 | 252,248,138,101,252,240,76,137,125,252,248,76,137,117,252,240,68,139,117, |
387 | 15,17,117,252,240,252,242,68,15,17,109,232,252,242,68,15,17,101,224,252,242, | 390 | 0,65,139,142,233,65,199,134,233,237,65,137,134,233,65,137,142,233,72,129, |
388 | 68,15,17,93,216,252,242,68,15,17,85,208,252,242,68,15,17,77,200,252,242,68, | 391 | 252,236,239,72,131,197,128,252,242,68,15,17,125,252,248,252,242,68,15,17, |
389 | 15,17,69,192,252,242,15,17,125,184,252,242,15,17,117,176,252,242,15,17,109, | 392 | 117,252,240,252,242,68,15,17,109,232,252,242,68,15,17,101,224,252,242,68, |
390 | 168,252,242,15,17,101,160,252,242,15,17,93,152,252,242,15,17,85,144,252,242, | 393 | 15,17,93,216,252,242,68,15,17,85,208,252,242,68,15,17,77,200,252,242,68,15, |
391 | 15,17,77,136,252,242,15,17,69,128,65,139,174,233,65,139,150,233,73,137,174, | 394 | 17,69,192,252,242,15,17,125,184,252,242,15,17,117,176,252,242,15,17,109,168, |
392 | 233,65,199,134,233,0,0,0,0,137,149,233,72,137,230,65,141,190,233,232,251, | 395 | 252,242,15,17,101,160,252,242,15,17,93,152,252,242,15,17,85,144,252,242,15, |
393 | 1,26,72,139,141,233,72,129,225,239,72,137,204,137,169,233,139,149,233,139, | 396 | 17,77,136,252,242,15,17,69,128,65,139,174,233,65,139,150,233,73,137,174,233, |
394 | 153,233,252,233,244,247,255,248,151,255,72,131,196,16,248,1,76,139,108,36, | 397 | 65,199,134,233,0,0,0,0,137,149,233,72,137,230,65,141,190,233,232,251,1,26, |
395 | 8,76,139,36,36,133,192,15,136,244,249,137,68,36,4,68,139,122,252,248,69,139, | 398 | 72,139,141,233,72,129,225,239,72,137,204,137,169,233,139,149,233,139,153, |
396 | 191,233,69,139,191,233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15, | 399 | 233,252,233,244,247,255,248,151,255,72,131,196,16,248,1,76,139,108,36,8,76, |
397 | 182,204,15,182,232,131,195,4,193,232,16,129,252,253,239,15,130,244,248,139, | 400 | 139,36,36,133,192,15,136,244,249,137,68,36,4,68,139,122,252,248,69,139,191, |
398 | 68,36,4,248,2,65,252,255,36,252,238,248,3,252,247,216,137,252,239,137,198, | 401 | 233,69,139,191,233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,182, |
399 | 232,251,1,1,255,248,89,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68, | 402 | 204,15,182,232,131,195,4,193,232,16,129,252,253,239,15,130,244,248,139,68, |
400 | 36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217, | 403 | 36,4,248,2,65,252,255,36,252,238,248,3,252,247,216,137,252,239,137,198,232, |
401 | 108,36,4,139,68,36,8,195,255,248,152,72,184,237,237,102,72,15,110,208,72, | 404 | 251,1,1,255,248,89,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36, |
402 | 184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134, | ||
403 | 244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72, | ||
404 | 184,237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242, | ||
405 | 15,92,200,15,40,193,248,1,195,248,91,255,217,124,36,4,137,68,36,8,102,184, | ||
406 | 0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217, | ||
407 | 252,252,217,108,36,4,139,68,36,8,195,255,248,153,72,184,237,237,102,72,15, | ||
408 | 110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46, | ||
409 | 217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102, | ||
410 | 15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84, | ||
411 | 194,252,242,15,92,200,15,40,193,248,1,195,248,112,255,217,124,36,4,137,68, | ||
412 | 36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252, | ||
413 | 217,108,36,4,139,68,36,8,195,255,248,154,72,184,237,237,102,72,15,110,208, | ||
414 | 72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15, | ||
415 | 134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72, | ||
416 | 184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242, | ||
417 | 15,92,200,102,15,86,202,15,40,193,248,1,195,248,155,255,15,40,232,252,242, | ||
418 | 15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216, | ||
419 | 15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242, | ||
420 | 15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208, | ||
421 | 252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15, | ||
422 | 89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15, | ||
423 | 92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36, | ||
424 | 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108, | 405 | 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108, |
425 | 36,4,222,201,222,252,233,195,255,248,96,217,252,234,222,201,248,156,217,84, | 406 | 36,4,139,68,36,8,195,255,248,152,72,184,237,237,102,72,15,110,208,72,184, |
426 | 36,252,248,129,124,36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248, | 407 | 237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244, |
427 | 0,0,128,252,255,15,132,244,248,248,157,217,192,217,252,252,220,252,233,217, | 408 | 247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184, |
428 | 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216, | 409 | 237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92, |
429 | 217,252,238,195,255,248,115,255,248,158,252,242,15,45,193,252,242,15,42,208, | 410 | 200,15,40,193,248,1,195,248,91,255,217,124,36,4,137,68,36,8,102,184,0,8,102, |
430 | 102,15,46,202,15,133,244,254,15,138,244,255,248,159,131,252,248,1,15,142, | 411 | 11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252, |
431 | 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233, | 412 | 217,108,36,4,139,68,36,8,195,255,248,153,72,184,237,237,102,72,15,110,208, |
432 | 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209, | 413 | 72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15, |
433 | 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4, | 414 | 134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202, |
434 | 252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,252,247,216, | 415 | 72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242, |
435 | 232,244,1,72,184,237,237,102,72,15,110,200,252,242,15,94,200,15,40,193,195, | 416 | 15,92,200,15,40,193,248,1,195,248,112,255,217,124,36,4,137,68,36,8,102,184, |
436 | 248,7,72,184,237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209, | 417 | 0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4, |
437 | 224,72,193,192,12,72,61,252,254,15,0,0,15,132,244,248,102,72,15,126,192,72, | 418 | 139,68,36,8,195,255,248,154,72,184,237,237,102,72,15,110,208,72,184,237,237, |
438 | 209,224,15,132,244,250,255,72,193,192,12,72,61,252,254,15,0,0,15,132,244, | 419 | 102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102, |
439 | 251,252,242,15,17,76,36,252,240,252,242,15,17,68,36,252,248,221,68,36,252, | 420 | 15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102, |
440 | 240,221,68,36,252,248,217,252,241,217,192,217,252,252,220,252,233,217,201, | 421 | 72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15, |
441 | 217,252,240,217,232,222,193,217,252,253,221,217,221,92,36,252,248,252,242, | 422 | 86,202,15,40,193,248,1,195,248,155,255,15,40,232,252,242,15,94,193,72,184, |
442 | 15,16,68,36,252,248,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46, | 423 | 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102, |
443 | 194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110, | 424 | 15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252, |
444 | 208,102,15,84,194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244, | 425 | 242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194, |
445 | 1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72, | 426 | 196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242, |
446 | 184,237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133, | 427 | 15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255, |
447 | 244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195, | 428 | 217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255, |
448 | 248,160,255,131,252,255,1,15,130,244,89,15,132,244,91,131,252,255,3,15,130, | 429 | 252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222, |
449 | 244,112,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252, | 430 | 252,233,195,255,248,96,217,252,234,222,201,248,156,217,84,36,252,248,129, |
450 | 248,221,68,36,252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244, | 431 | 124,36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248,0,0,128,252, |
451 | 96,252,233,244,253,248,1,232,244,156,255,252,233,244,253,248,2,131,252,255, | 432 | 255,15,132,244,248,248,157,217,192,217,252,252,220,252,233,217,201,217,252, |
452 | 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244, | 433 | 240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238, |
453 | 253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9, | 434 | 195,255,248,115,255,248,158,252,242,15,45,193,252,242,15,42,208,102,15,46, |
454 | 15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244, | 435 | 202,15,133,244,254,15,138,244,255,248,159,131,252,248,1,15,142,244,252,248, |
455 | 253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244, | 436 | 1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,1,248, |
456 | 247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216, | 437 | 2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132, |
457 | 248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12, | 438 | 244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15, |
458 | 221,68,36,4,131,252,255,1,15,130,244,89,15,132,244,91,131,252,255,3,15,130, | 439 | 89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,252,247,216,232,244,1, |
459 | 244,112,15,135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,96, | 440 | 72,184,237,237,102,72,15,110,200,252,242,15,94,200,15,40,193,195,248,7,72, |
460 | 15,132,244,156,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217, | 441 | 184,237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209,224,72,193, |
461 | 201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255, | 442 | 192,12,72,61,252,254,15,0,0,15,132,244,248,102,72,15,126,192,72,209,224,15, |
462 | 9,15,132,244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248, | 443 | 132,244,250,255,72,193,192,12,72,61,252,254,15,0,0,15,132,244,251,252,242, |
463 | 1,217,252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217, | 444 | 15,17,76,36,252,240,252,242,15,17,68,36,252,248,221,68,36,252,240,221,68, |
464 | 252,255,195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,161,255,131, | 445 | 36,252,248,217,252,241,217,192,217,252,252,220,252,233,217,201,217,252,240, |
465 | 252,255,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242, | 446 | 217,232,222,193,217,252,253,221,217,221,92,36,252,248,252,242,15,16,68,36, |
466 | 15,92,193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15, | 447 | 252,248,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244, |
467 | 89,193,195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,155, | 448 | 247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110,208,102,15,84, |
468 | 15,132,244,115,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237, | 449 | 194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,102,15,80, |
469 | 255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200, | 450 | 193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,237,237, |
470 | 15,84,193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252, | 451 | 255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87, |
471 | 248,252,242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132, | 452 | 192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,160,255, |
472 | 244,247,217,252,243,248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195, | 453 | 131,252,255,1,15,130,244,89,15,132,244,91,131,252,255,3,15,130,244,112,15, |
473 | 248,1,217,201,217,252,253,221,217,252,233,244,7,248,2,131,252,255,11,15,132, | 454 | 135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252,248,221,68, |
474 | 244,247,15,135,244,255,252,242,15,93,193,195,248,1,252,242,15,95,193,195, | 455 | 36,252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244,96,252,233, |
475 | 248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132, | 456 | 244,253,248,1,232,244,156,255,252,233,244,253,248,2,131,252,255,7,15,132, |
476 | 244,247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248, | 457 | 244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,253,248, |
477 | 3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131, | 458 | 1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9,15,132, |
459 | 244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,253,248, | ||
460 | 1,255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244,247,15, | ||
461 | 135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,248,7,221, | ||
462 | 92,36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12,221,68,36, | ||
463 | 4,131,252,255,1,15,130,244,89,15,132,244,91,131,252,255,3,15,130,244,112, | ||
464 | 15,135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,96,15,132,244, | ||
465 | 156,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252, | ||
466 | 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255,9,15,132, | ||
467 | 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217, | ||
468 | 252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,252,255, | ||
469 | 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,161,255,131,252,255, | ||
470 | 1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92, | ||
471 | 193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15,89,193, | ||
472 | 195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,155,15,132, | ||
473 | 244,115,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237,255,102, | ||
474 | 72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15,84, | ||
475 | 193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252,248,252, | ||
476 | 242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132,244,247, | ||
477 | 217,252,243,248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,248,1, | ||
478 | 217,201,217,252,253,221,217,252,233,244,7,248,2,131,252,255,11,15,132,244, | ||
479 | 247,15,135,244,255,252,242,15,93,193,195,248,1,252,242,15,95,193,195,248, | ||
480 | 9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244, | ||
481 | 247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3, | ||
482 | 15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131, | ||
478 | 252,248,5,15,130,244,155,15,132,244,115,131,252,248,7,15,132,244,247,15,135, | 483 | 252,248,5,15,130,244,155,15,132,244,115,131,252,248,7,15,132,244,247,15,135, |
479 | 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248, | 484 | 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248, |
480 | 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253, | 485 | 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253, |
@@ -1528,320 +1533,320 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1528 | dasm_put(Dst, 6314); | 1533 | dasm_put(Dst, 6314); |
1529 | } else { | 1534 | } else { |
1530 | } | 1535 | } |
1531 | dasm_put(Dst, 6324, LJ_TISNUM); | 1536 | dasm_put(Dst, 6324, 1+1, LJ_TISNUM); |
1532 | if (LJ_DUALNUM) { | 1537 | if (LJ_DUALNUM) { |
1533 | dasm_put(Dst, 6332); | 1538 | dasm_put(Dst, 6340); |
1534 | } else { | 1539 | } else { |
1535 | dasm_put(Dst, 2291); | 1540 | dasm_put(Dst, 2291); |
1536 | } | 1541 | } |
1537 | if (sse) { | 1542 | if (sse) { |
1538 | dasm_put(Dst, 6349, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1543 | dasm_put(Dst, 6357, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1539 | } else { | 1544 | } else { |
1540 | } | 1545 | } |
1541 | dasm_put(Dst, 106); | 1546 | dasm_put(Dst, 106); |
1542 | if (LJ_DUALNUM || sse) { | 1547 | if (LJ_DUALNUM || sse) { |
1543 | if (!sse) { | 1548 | if (!sse) { |
1544 | } | 1549 | } |
1545 | dasm_put(Dst, 6373); | 1550 | dasm_put(Dst, 6381); |
1546 | } else { | 1551 | } else { |
1547 | } | 1552 | } |
1548 | dasm_put(Dst, 6378); | 1553 | dasm_put(Dst, 6386, 1+1); |
1549 | if (sse) { | 1554 | if (sse) { |
1550 | dasm_put(Dst, 6381, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1555 | dasm_put(Dst, 6397, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1551 | } else { | 1556 | } else { |
1552 | dasm_put(Dst, 6391); | 1557 | dasm_put(Dst, 6407); |
1553 | } | 1558 | } |
1554 | dasm_put(Dst, 2268, LJ_TISNUM); | 1559 | dasm_put(Dst, 2268, LJ_TISNUM); |
1555 | if (LJ_DUALNUM) { | 1560 | if (LJ_DUALNUM) { |
1556 | dasm_put(Dst, 6399); | 1561 | dasm_put(Dst, 6415); |
1557 | } else { | 1562 | } else { |
1558 | dasm_put(Dst, 2291); | 1563 | dasm_put(Dst, 2291); |
1559 | } | 1564 | } |
1560 | if (sse) { | 1565 | if (sse) { |
1561 | dasm_put(Dst, 6416); | 1566 | dasm_put(Dst, 6432); |
1562 | } else { | 1567 | } else { |
1563 | } | 1568 | } |
1564 | dasm_put(Dst, 6431, LJ_TISNUM); | 1569 | dasm_put(Dst, 6447, LJ_TISNUM); |
1565 | if (LJ_DUALNUM) { | 1570 | if (LJ_DUALNUM) { |
1566 | dasm_put(Dst, 6456); | 1571 | dasm_put(Dst, 6472); |
1567 | } else { | 1572 | } else { |
1568 | dasm_put(Dst, 6476); | 1573 | dasm_put(Dst, 6492); |
1569 | } | 1574 | } |
1570 | if (sse) { | 1575 | if (sse) { |
1571 | dasm_put(Dst, 6481); | 1576 | dasm_put(Dst, 6497); |
1572 | } else { | 1577 | } else { |
1573 | } | 1578 | } |
1574 | dasm_put(Dst, 6498); | 1579 | dasm_put(Dst, 6514, 1+1); |
1575 | if (sse) { | 1580 | if (sse) { |
1576 | dasm_put(Dst, 6381, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1581 | dasm_put(Dst, 6397, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1577 | } else { | 1582 | } else { |
1578 | dasm_put(Dst, 6391); | 1583 | dasm_put(Dst, 6407); |
1579 | } | 1584 | } |
1580 | dasm_put(Dst, 2268, LJ_TISNUM); | 1585 | dasm_put(Dst, 2268, LJ_TISNUM); |
1581 | if (LJ_DUALNUM) { | 1586 | if (LJ_DUALNUM) { |
1582 | dasm_put(Dst, 6399); | 1587 | dasm_put(Dst, 6415); |
1583 | } else { | 1588 | } else { |
1584 | dasm_put(Dst, 2291); | 1589 | dasm_put(Dst, 2291); |
1585 | } | 1590 | } |
1586 | if (sse) { | 1591 | if (sse) { |
1587 | dasm_put(Dst, 6416); | 1592 | dasm_put(Dst, 6432); |
1588 | } else { | 1593 | } else { |
1589 | } | 1594 | } |
1590 | dasm_put(Dst, 6431, LJ_TISNUM); | 1595 | dasm_put(Dst, 6447, LJ_TISNUM); |
1591 | if (LJ_DUALNUM) { | 1596 | if (LJ_DUALNUM) { |
1592 | dasm_put(Dst, 6508); | 1597 | dasm_put(Dst, 6532); |
1593 | } else { | 1598 | } else { |
1594 | dasm_put(Dst, 6476); | 1599 | dasm_put(Dst, 6492); |
1595 | } | 1600 | } |
1596 | if (sse) { | 1601 | if (sse) { |
1597 | dasm_put(Dst, 6528); | 1602 | dasm_put(Dst, 6552); |
1598 | } else { | 1603 | } else { |
1599 | } | 1604 | } |
1600 | dasm_put(Dst, 6545); | 1605 | dasm_put(Dst, 6569, 1+1); |
1601 | if (sse) { | 1606 | if (sse) { |
1602 | dasm_put(Dst, 6381, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1607 | dasm_put(Dst, 6397, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1603 | } else { | 1608 | } else { |
1604 | dasm_put(Dst, 6391); | 1609 | dasm_put(Dst, 6407); |
1605 | } | 1610 | } |
1606 | dasm_put(Dst, 2268, LJ_TISNUM); | 1611 | dasm_put(Dst, 2268, LJ_TISNUM); |
1607 | if (LJ_DUALNUM) { | 1612 | if (LJ_DUALNUM) { |
1608 | dasm_put(Dst, 6399); | 1613 | dasm_put(Dst, 6415); |
1609 | } else { | 1614 | } else { |
1610 | dasm_put(Dst, 2291); | 1615 | dasm_put(Dst, 2291); |
1611 | } | 1616 | } |
1612 | if (sse) { | 1617 | if (sse) { |
1613 | dasm_put(Dst, 6416); | 1618 | dasm_put(Dst, 6432); |
1614 | } else { | 1619 | } else { |
1615 | } | 1620 | } |
1616 | dasm_put(Dst, 6431, LJ_TISNUM); | 1621 | dasm_put(Dst, 6447, LJ_TISNUM); |
1617 | if (LJ_DUALNUM) { | 1622 | if (LJ_DUALNUM) { |
1618 | dasm_put(Dst, 6555); | 1623 | dasm_put(Dst, 6587); |
1619 | } else { | 1624 | } else { |
1620 | dasm_put(Dst, 6476); | 1625 | dasm_put(Dst, 6492); |
1621 | } | 1626 | } |
1622 | if (sse) { | 1627 | if (sse) { |
1623 | dasm_put(Dst, 6575); | 1628 | dasm_put(Dst, 6607); |
1624 | } else { | 1629 | } else { |
1625 | } | 1630 | } |
1626 | dasm_put(Dst, 6592, LJ_TISNUM); | 1631 | dasm_put(Dst, 6624, 1+1, LJ_TISNUM); |
1627 | if (LJ_DUALNUM) { | 1632 | if (LJ_DUALNUM) { |
1628 | dasm_put(Dst, 6399); | 1633 | dasm_put(Dst, 6415); |
1629 | } else { | 1634 | } else { |
1630 | dasm_put(Dst, 2291); | 1635 | dasm_put(Dst, 2291); |
1631 | } | 1636 | } |
1632 | if (sse) { | 1637 | if (sse) { |
1633 | dasm_put(Dst, 6349, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1638 | dasm_put(Dst, 6357, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1634 | } else { | 1639 | } else { |
1635 | } | 1640 | } |
1636 | dasm_put(Dst, 6607, LJ_TISNUM); | 1641 | dasm_put(Dst, 6647, 1+1, LJ_TISNUM); |
1637 | if (LJ_DUALNUM) { | 1642 | if (LJ_DUALNUM) { |
1638 | dasm_put(Dst, 6399); | 1643 | dasm_put(Dst, 6415); |
1639 | } else { | 1644 | } else { |
1640 | dasm_put(Dst, 2291); | 1645 | dasm_put(Dst, 2291); |
1641 | } | 1646 | } |
1642 | if (sse) { | 1647 | if (sse) { |
1643 | dasm_put(Dst, 6349, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1648 | dasm_put(Dst, 6357, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1644 | } else { | 1649 | } else { |
1645 | } | 1650 | } |
1646 | dasm_put(Dst, 6623); | 1651 | dasm_put(Dst, 6671); |
1647 | if (LJ_DUALNUM) { | 1652 | if (LJ_DUALNUM) { |
1648 | dasm_put(Dst, 6373); | 1653 | dasm_put(Dst, 6381); |
1649 | } else if (sse) { | 1654 | } else if (sse) { |
1650 | dasm_put(Dst, 6629); | 1655 | dasm_put(Dst, 6677); |
1651 | } else { | 1656 | } else { |
1652 | } | 1657 | } |
1653 | dasm_put(Dst, 6641); | 1658 | dasm_put(Dst, 6689); |
1654 | if (LJ_DUALNUM) { | 1659 | if (LJ_DUALNUM) { |
1655 | dasm_put(Dst, 6652, LJ_TISNUM); | 1660 | dasm_put(Dst, 6700, 1+1, LJ_TISNUM); |
1656 | if (LJ_DUALNUM) { | 1661 | if (LJ_DUALNUM) { |
1657 | dasm_put(Dst, 6399); | 1662 | dasm_put(Dst, 6415); |
1658 | } else { | 1663 | } else { |
1659 | dasm_put(Dst, 2291); | 1664 | dasm_put(Dst, 2291); |
1660 | } | 1665 | } |
1661 | if (sse) { | 1666 | if (sse) { |
1662 | dasm_put(Dst, 6349, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1667 | dasm_put(Dst, 6357, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1663 | } else { | 1668 | } else { |
1664 | } | 1669 | } |
1665 | dasm_put(Dst, 6660, LJ_TISNUM); | 1670 | dasm_put(Dst, 6716, LJ_TISNUM); |
1666 | } else if (sse) { | 1671 | } else if (sse) { |
1667 | dasm_put(Dst, 6675, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1672 | dasm_put(Dst, 6731, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1668 | } else { | 1673 | } else { |
1669 | } | 1674 | } |
1670 | dasm_put(Dst, 6742); | 1675 | dasm_put(Dst, 6798); |
1671 | if (LJ_DUALNUM) { | 1676 | if (LJ_DUALNUM) { |
1672 | dasm_put(Dst, 6749, LJ_TISNUM); | 1677 | dasm_put(Dst, 6805, 1+1, LJ_TISNUM); |
1673 | if (LJ_DUALNUM) { | 1678 | if (LJ_DUALNUM) { |
1674 | dasm_put(Dst, 6399); | 1679 | dasm_put(Dst, 6415); |
1675 | } else { | 1680 | } else { |
1676 | dasm_put(Dst, 2291); | 1681 | dasm_put(Dst, 2291); |
1677 | } | 1682 | } |
1678 | if (sse) { | 1683 | if (sse) { |
1679 | dasm_put(Dst, 6349, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1684 | dasm_put(Dst, 6357, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1680 | } else { | 1685 | } else { |
1681 | } | 1686 | } |
1682 | dasm_put(Dst, 6660, LJ_TISNUM); | 1687 | dasm_put(Dst, 6716, LJ_TISNUM); |
1683 | } else if (sse) { | 1688 | } else if (sse) { |
1684 | dasm_put(Dst, 6757, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1689 | dasm_put(Dst, 6821, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1685 | } else { | 1690 | } else { |
1686 | } | 1691 | } |
1687 | dasm_put(Dst, 6824); | 1692 | dasm_put(Dst, 6888); |
1688 | if (LJ_DUALNUM) { | 1693 | if (LJ_DUALNUM) { |
1689 | dasm_put(Dst, 6832, LJ_TISNUM); | 1694 | dasm_put(Dst, 6896, 1+1, LJ_TISNUM); |
1690 | if (LJ_DUALNUM) { | 1695 | if (LJ_DUALNUM) { |
1691 | dasm_put(Dst, 6399); | 1696 | dasm_put(Dst, 6415); |
1692 | } else { | 1697 | } else { |
1693 | dasm_put(Dst, 2291); | 1698 | dasm_put(Dst, 2291); |
1694 | } | 1699 | } |
1695 | if (sse) { | 1700 | if (sse) { |
1696 | dasm_put(Dst, 6349, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1701 | dasm_put(Dst, 6357, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1697 | } else { | 1702 | } else { |
1698 | } | 1703 | } |
1699 | dasm_put(Dst, 6660, LJ_TISNUM); | 1704 | dasm_put(Dst, 6716, LJ_TISNUM); |
1700 | } else if (sse) { | 1705 | } else if (sse) { |
1701 | dasm_put(Dst, 6840, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1706 | dasm_put(Dst, 6912, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1702 | } else { | 1707 | } else { |
1703 | } | 1708 | } |
1704 | dasm_put(Dst, 6907); | 1709 | dasm_put(Dst, 6979); |
1705 | if (LJ_DUALNUM) { | 1710 | if (LJ_DUALNUM) { |
1706 | dasm_put(Dst, 6915, LJ_TISNUM); | 1711 | dasm_put(Dst, 6987, 1+1, LJ_TISNUM); |
1707 | if (LJ_DUALNUM) { | 1712 | if (LJ_DUALNUM) { |
1708 | dasm_put(Dst, 6399); | 1713 | dasm_put(Dst, 6415); |
1709 | } else { | 1714 | } else { |
1710 | dasm_put(Dst, 2291); | 1715 | dasm_put(Dst, 2291); |
1711 | } | 1716 | } |
1712 | if (sse) { | 1717 | if (sse) { |
1713 | dasm_put(Dst, 6349, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1718 | dasm_put(Dst, 6357, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1714 | } else { | 1719 | } else { |
1715 | } | 1720 | } |
1716 | dasm_put(Dst, 6660, LJ_TISNUM); | 1721 | dasm_put(Dst, 6716, LJ_TISNUM); |
1717 | } else if (sse) { | 1722 | } else if (sse) { |
1718 | dasm_put(Dst, 6923, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1723 | dasm_put(Dst, 7003, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1719 | } else { | 1724 | } else { |
1720 | } | 1725 | } |
1721 | dasm_put(Dst, 6990); | 1726 | dasm_put(Dst, 7070); |
1722 | if (LJ_DUALNUM) { | 1727 | if (LJ_DUALNUM) { |
1723 | dasm_put(Dst, 6997, LJ_TISNUM); | 1728 | dasm_put(Dst, 7077, 1+1, LJ_TISNUM); |
1724 | if (LJ_DUALNUM) { | 1729 | if (LJ_DUALNUM) { |
1725 | dasm_put(Dst, 6399); | 1730 | dasm_put(Dst, 6415); |
1726 | } else { | 1731 | } else { |
1727 | dasm_put(Dst, 2291); | 1732 | dasm_put(Dst, 2291); |
1728 | } | 1733 | } |
1729 | if (sse) { | 1734 | if (sse) { |
1730 | dasm_put(Dst, 6349, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1735 | dasm_put(Dst, 6357, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1731 | } else { | 1736 | } else { |
1732 | } | 1737 | } |
1733 | dasm_put(Dst, 6660, LJ_TISNUM); | 1738 | dasm_put(Dst, 6716, LJ_TISNUM); |
1734 | } else if (sse) { | 1739 | } else if (sse) { |
1735 | dasm_put(Dst, 7005, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1740 | dasm_put(Dst, 7093, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1736 | } else { | 1741 | } else { |
1737 | } | 1742 | } |
1738 | dasm_put(Dst, 7072, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); | 1743 | dasm_put(Dst, 7160, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); |
1739 | dasm_put(Dst, 7148, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); | 1744 | dasm_put(Dst, 7236, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); |
1740 | dasm_put(Dst, 7275, Dt1(->top), Dt1(->base), Dt1(->top)); | 1745 | dasm_put(Dst, 7363, Dt1(->top), Dt1(->base), Dt1(->top)); |
1741 | #if LJ_HASJIT | 1746 | #if LJ_HASJIT |
1742 | dasm_put(Dst, 7314, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); | 1747 | dasm_put(Dst, 7402, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); |
1743 | #endif | 1748 | #endif |
1744 | dasm_put(Dst, 7347, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); | 1749 | dasm_put(Dst, 7435, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); |
1745 | dasm_put(Dst, 7401, Dt1(->base), Dt1(->base), GG_DISP2STATIC); | 1750 | dasm_put(Dst, 7489, Dt1(->base), Dt1(->base), GG_DISP2STATIC); |
1746 | #if LJ_HASJIT | 1751 | #if LJ_HASJIT |
1747 | dasm_put(Dst, 7468, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); | 1752 | dasm_put(Dst, 7556, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); |
1748 | #endif | 1753 | #endif |
1749 | dasm_put(Dst, 7515); | 1754 | dasm_put(Dst, 7603); |
1750 | #if LJ_HASJIT | 1755 | #if LJ_HASJIT |
1751 | dasm_put(Dst, 7342); | 1756 | dasm_put(Dst, 7430); |
1752 | #endif | 1757 | #endif |
1753 | dasm_put(Dst, 7522); | 1758 | dasm_put(Dst, 7610); |
1754 | #if LJ_HASJIT | 1759 | #if LJ_HASJIT |
1755 | dasm_put(Dst, 7525); | 1760 | dasm_put(Dst, 7613); |
1756 | #endif | 1761 | #endif |
1757 | dasm_put(Dst, 7535, Dt1(->base), Dt1(->top)); | 1762 | dasm_put(Dst, 7623, Dt1(->base), Dt1(->top)); |
1758 | #if LJ_HASJIT | 1763 | #if LJ_HASJIT |
1759 | dasm_put(Dst, 7568); | 1764 | dasm_put(Dst, 7656); |
1760 | #endif | 1765 | #endif |
1761 | dasm_put(Dst, 7573, Dt1(->base), Dt1(->top)); | 1766 | dasm_put(Dst, 7661, Dt1(->base), Dt1(->top)); |
1762 | #if LJ_HASJIT | 1767 | #if LJ_HASJIT |
1763 | dasm_put(Dst, 7604, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); | 1768 | dasm_put(Dst, 7692, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); |
1764 | #endif | 1769 | #endif |
1765 | dasm_put(Dst, 7843); | 1770 | dasm_put(Dst, 7931); |
1766 | #if LJ_HASJIT | 1771 | #if LJ_HASJIT |
1767 | dasm_put(Dst, 7846, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); | 1772 | dasm_put(Dst, 7934, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); |
1768 | #endif | 1773 | #endif |
1769 | dasm_put(Dst, 7946); | 1774 | dasm_put(Dst, 8034); |
1770 | if (!sse) { | 1775 | if (!sse) { |
1771 | dasm_put(Dst, 7949); | 1776 | dasm_put(Dst, 8037); |
1772 | } | 1777 | } |
1773 | dasm_put(Dst, 7994, (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)); | 1778 | dasm_put(Dst, 8082, (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)); |
1774 | if (!sse) { | 1779 | if (!sse) { |
1775 | dasm_put(Dst, 8080); | 1780 | dasm_put(Dst, 8168); |
1776 | } | 1781 | } |
1777 | dasm_put(Dst, 8125, (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)); | 1782 | dasm_put(Dst, 8213, (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)); |
1778 | if (!sse) { | 1783 | if (!sse) { |
1779 | dasm_put(Dst, 8211); | 1784 | dasm_put(Dst, 8299); |
1780 | } | 1785 | } |
1781 | dasm_put(Dst, 8250, (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)); | 1786 | dasm_put(Dst, 8338, (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)); |
1782 | if (sse) { | 1787 | if (sse) { |
1783 | dasm_put(Dst, 8339, (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)); | 1788 | dasm_put(Dst, 8427, (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)); |
1784 | } else { | 1789 | } else { |
1785 | dasm_put(Dst, 8453); | 1790 | dasm_put(Dst, 8541); |
1786 | } | 1791 | } |
1787 | dasm_put(Dst, 8500); | 1792 | dasm_put(Dst, 8588); |
1788 | if (!sse) { | 1793 | if (!sse) { |
1789 | } else { | 1794 | } else { |
1790 | dasm_put(Dst, 8577); | 1795 | dasm_put(Dst, 8665); |
1791 | } | 1796 | } |
1792 | dasm_put(Dst, 8580); | 1797 | dasm_put(Dst, 8668); |
1793 | dasm_put(Dst, 8665, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1798 | dasm_put(Dst, 8753, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1794 | dasm_put(Dst, 8768, (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)); | 1799 | dasm_put(Dst, 8856, (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)); |
1795 | dasm_put(Dst, 8930); | 1800 | dasm_put(Dst, 9018); |
1796 | #if LJ_HASJIT | 1801 | #if LJ_HASJIT |
1797 | if (sse) { | 1802 | if (sse) { |
1798 | dasm_put(Dst, 8971); | 1803 | dasm_put(Dst, 9059); |
1799 | dasm_put(Dst, 9041); | 1804 | dasm_put(Dst, 9129); |
1800 | dasm_put(Dst, 9113); | 1805 | dasm_put(Dst, 9201); |
1801 | } else { | 1806 | } else { |
1802 | dasm_put(Dst, 9165); | 1807 | dasm_put(Dst, 9253); |
1803 | dasm_put(Dst, 9257); | 1808 | dasm_put(Dst, 9345); |
1804 | } | 1809 | } |
1805 | dasm_put(Dst, 9303); | 1810 | dasm_put(Dst, 9391); |
1806 | #endif | 1811 | #endif |
1807 | dasm_put(Dst, 9307); | 1812 | dasm_put(Dst, 9395); |
1808 | if (sse) { | 1813 | if (sse) { |
1809 | dasm_put(Dst, 9310, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 1814 | dasm_put(Dst, 9398, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
1810 | dasm_put(Dst, 9395, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); | 1815 | dasm_put(Dst, 9483, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); |
1811 | } else { | 1816 | } else { |
1812 | dasm_put(Dst, 9523); | 1817 | dasm_put(Dst, 9611); |
1813 | dasm_put(Dst, 9606); | 1818 | dasm_put(Dst, 9694); |
1814 | if (cmov) { | 1819 | if (cmov) { |
1815 | dasm_put(Dst, 9661); | 1820 | dasm_put(Dst, 9749); |
1816 | } else { | 1821 | } else { |
1817 | dasm_put(Dst, 9680); | 1822 | dasm_put(Dst, 9768); |
1818 | } | 1823 | } |
1819 | dasm_put(Dst, 9303); | 1824 | dasm_put(Dst, 9391); |
1820 | } | 1825 | } |
1821 | dasm_put(Dst, 9721); | 1826 | dasm_put(Dst, 9809); |
1822 | #if LJ_HASFFI | 1827 | #if LJ_HASFFI |
1823 | #define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) | 1828 | #define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) |
1824 | dasm_put(Dst, 9745, DtE(->spadj)); | 1829 | dasm_put(Dst, 9833, DtE(->spadj)); |
1825 | #if LJ_TARGET_WINDOWS | 1830 | #if LJ_TARGET_WINDOWS |
1826 | #endif | 1831 | #endif |
1827 | dasm_put(Dst, 9761, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->fpr[0]), DtE(->fpr[1])); | 1832 | dasm_put(Dst, 9849, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->fpr[0]), DtE(->fpr[1])); |
1828 | dasm_put(Dst, 9840, DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->fpr[1])); | 1833 | dasm_put(Dst, 9928, DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->fpr[1])); |
1829 | #if LJ_TARGET_WINDOWS | 1834 | #if LJ_TARGET_WINDOWS |
1830 | #endif | 1835 | #endif |
1831 | dasm_put(Dst, 9895); | 1836 | dasm_put(Dst, 9983); |
1832 | #endif | 1837 | #endif |
1833 | dasm_put(Dst, 9903); | 1838 | dasm_put(Dst, 9991); |
1834 | #ifdef LUA_USE_ASSERT | 1839 | #ifdef LUA_USE_ASSERT |
1835 | dasm_put(Dst, 9305); | 1840 | dasm_put(Dst, 9393); |
1836 | #endif | 1841 | #endif |
1837 | dasm_put(Dst, 9305); | 1842 | dasm_put(Dst, 9393); |
1838 | } | 1843 | } |
1839 | 1844 | ||
1840 | /* Generate the code for a single instruction. */ | 1845 | /* Generate the code for a single instruction. */ |
1841 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | 1846 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) |
1842 | { | 1847 | { |
1843 | int vk = 0; | 1848 | int vk = 0; |
1844 | dasm_put(Dst, 9906, defop); | 1849 | dasm_put(Dst, 9994, defop); |
1845 | 1850 | ||
1846 | switch (op) { | 1851 | switch (op) { |
1847 | 1852 | ||
@@ -1852,145 +1857,145 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
1852 | 1857 | ||
1853 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: | 1858 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: |
1854 | if (LJ_DUALNUM) { | 1859 | if (LJ_DUALNUM) { |
1855 | dasm_put(Dst, 9908, LJ_TISNUM, LJ_TISNUM); | 1860 | dasm_put(Dst, 9996, LJ_TISNUM, LJ_TISNUM); |
1856 | switch (op) { | 1861 | switch (op) { |
1857 | case BC_ISLT: | 1862 | case BC_ISLT: |
1858 | dasm_put(Dst, 9938); | 1863 | dasm_put(Dst, 10026); |
1859 | break; | 1864 | break; |
1860 | case BC_ISGE: | 1865 | case BC_ISGE: |
1861 | dasm_put(Dst, 9943); | 1866 | dasm_put(Dst, 10031); |
1862 | break; | 1867 | break; |
1863 | case BC_ISLE: | 1868 | case BC_ISLE: |
1864 | dasm_put(Dst, 9948); | 1869 | dasm_put(Dst, 10036); |
1865 | break; | 1870 | break; |
1866 | case BC_ISGT: | 1871 | case BC_ISGT: |
1867 | dasm_put(Dst, 9953); | 1872 | dasm_put(Dst, 10041); |
1868 | break; | 1873 | break; |
1869 | default: break; /* Shut up GCC. */ | 1874 | default: break; /* Shut up GCC. */ |
1870 | } | 1875 | } |
1871 | dasm_put(Dst, 9958, -BCBIAS_J*4, LJ_TISNUM); | 1876 | dasm_put(Dst, 10046, -BCBIAS_J*4, LJ_TISNUM); |
1872 | if (sse) { | 1877 | if (sse) { |
1873 | dasm_put(Dst, 10013); | 1878 | dasm_put(Dst, 10101); |
1874 | } else { | 1879 | } else { |
1875 | dasm_put(Dst, 10024); | 1880 | dasm_put(Dst, 10112); |
1876 | } | 1881 | } |
1877 | dasm_put(Dst, 10035); | 1882 | dasm_put(Dst, 10123); |
1878 | if (sse) { | 1883 | if (sse) { |
1879 | dasm_put(Dst, 10042); | 1884 | dasm_put(Dst, 10130); |
1880 | switch (op) { | 1885 | switch (op) { |
1881 | case BC_ISLT: | 1886 | case BC_ISLT: |
1882 | dasm_put(Dst, 10062); | 1887 | dasm_put(Dst, 10150); |
1883 | break; | 1888 | break; |
1884 | case BC_ISGE: | 1889 | case BC_ISGE: |
1885 | dasm_put(Dst, 10067); | 1890 | dasm_put(Dst, 10155); |
1886 | break; | 1891 | break; |
1887 | case BC_ISLE: | 1892 | case BC_ISLE: |
1888 | dasm_put(Dst, 10072); | 1893 | dasm_put(Dst, 10160); |
1889 | break; | 1894 | break; |
1890 | case BC_ISGT: | 1895 | case BC_ISGT: |
1891 | dasm_put(Dst, 10077); | 1896 | dasm_put(Dst, 10165); |
1892 | break; | 1897 | break; |
1893 | default: break; /* Shut up GCC. */ | 1898 | default: break; /* Shut up GCC. */ |
1894 | } | 1899 | } |
1895 | dasm_put(Dst, 10082); | 1900 | dasm_put(Dst, 10170); |
1896 | } else { | 1901 | } else { |
1897 | dasm_put(Dst, 10087); | 1902 | dasm_put(Dst, 10175); |
1898 | } | 1903 | } |
1899 | } else { | 1904 | } else { |
1900 | dasm_put(Dst, 10095, LJ_TISNUM, LJ_TISNUM); | 1905 | dasm_put(Dst, 10183, LJ_TISNUM, LJ_TISNUM); |
1901 | } | 1906 | } |
1902 | if (sse) { | 1907 | if (sse) { |
1903 | dasm_put(Dst, 10116); | 1908 | dasm_put(Dst, 10204); |
1904 | } else { | 1909 | } else { |
1905 | dasm_put(Dst, 10137); | 1910 | dasm_put(Dst, 10225); |
1906 | if (cmov) { | 1911 | if (cmov) { |
1907 | dasm_put(Dst, 10153); | 1912 | dasm_put(Dst, 10241); |
1908 | } else { | 1913 | } else { |
1909 | dasm_put(Dst, 10159); | 1914 | dasm_put(Dst, 10247); |
1910 | } | 1915 | } |
1911 | } | 1916 | } |
1912 | if (LJ_DUALNUM) { | 1917 | if (LJ_DUALNUM) { |
1913 | switch (op) { | 1918 | switch (op) { |
1914 | case BC_ISLT: | 1919 | case BC_ISLT: |
1915 | dasm_put(Dst, 10062); | 1920 | dasm_put(Dst, 10150); |
1916 | break; | 1921 | break; |
1917 | case BC_ISGE: | 1922 | case BC_ISGE: |
1918 | dasm_put(Dst, 10067); | 1923 | dasm_put(Dst, 10155); |
1919 | break; | 1924 | break; |
1920 | case BC_ISLE: | 1925 | case BC_ISLE: |
1921 | dasm_put(Dst, 10072); | 1926 | dasm_put(Dst, 10160); |
1922 | break; | 1927 | break; |
1923 | case BC_ISGT: | 1928 | case BC_ISGT: |
1924 | dasm_put(Dst, 10077); | 1929 | dasm_put(Dst, 10165); |
1925 | break; | 1930 | break; |
1926 | default: break; /* Shut up GCC. */ | 1931 | default: break; /* Shut up GCC. */ |
1927 | } | 1932 | } |
1928 | dasm_put(Dst, 10082); | 1933 | dasm_put(Dst, 10170); |
1929 | } else { | 1934 | } else { |
1930 | switch (op) { | 1935 | switch (op) { |
1931 | case BC_ISLT: | 1936 | case BC_ISLT: |
1932 | dasm_put(Dst, 10166); | 1937 | dasm_put(Dst, 10254); |
1933 | break; | 1938 | break; |
1934 | case BC_ISGE: | 1939 | case BC_ISGE: |
1935 | dasm_put(Dst, 10171); | 1940 | dasm_put(Dst, 10259); |
1936 | break; | 1941 | break; |
1937 | case BC_ISLE: | 1942 | case BC_ISLE: |
1938 | dasm_put(Dst, 10176); | 1943 | dasm_put(Dst, 10264); |
1939 | break; | 1944 | break; |
1940 | case BC_ISGT: | 1945 | case BC_ISGT: |
1941 | dasm_put(Dst, 10181); | 1946 | dasm_put(Dst, 10269); |
1942 | break; | 1947 | break; |
1943 | default: break; /* Shut up GCC. */ | 1948 | default: break; /* Shut up GCC. */ |
1944 | } | 1949 | } |
1945 | dasm_put(Dst, 10186, -BCBIAS_J*4); | 1950 | dasm_put(Dst, 10274, -BCBIAS_J*4); |
1946 | } | 1951 | } |
1947 | break; | 1952 | break; |
1948 | 1953 | ||
1949 | case BC_ISEQV: case BC_ISNEV: | 1954 | case BC_ISEQV: case BC_ISNEV: |
1950 | vk = op == BC_ISEQV; | 1955 | vk = op == BC_ISEQV; |
1951 | dasm_put(Dst, 10219); | 1956 | dasm_put(Dst, 10307); |
1952 | if (LJ_DUALNUM) { | 1957 | if (LJ_DUALNUM) { |
1953 | dasm_put(Dst, 10227, LJ_TISNUM, LJ_TISNUM); | 1958 | dasm_put(Dst, 10315, LJ_TISNUM, LJ_TISNUM); |
1954 | if (vk) { | 1959 | if (vk) { |
1955 | dasm_put(Dst, 10252); | 1960 | dasm_put(Dst, 10340); |
1956 | } else { | 1961 | } else { |
1957 | dasm_put(Dst, 10257); | 1962 | dasm_put(Dst, 10345); |
1958 | } | 1963 | } |
1959 | dasm_put(Dst, 10262, -BCBIAS_J*4, LJ_TISNUM); | 1964 | dasm_put(Dst, 10350, -BCBIAS_J*4, LJ_TISNUM); |
1960 | if (sse) { | 1965 | if (sse) { |
1961 | dasm_put(Dst, 10315); | 1966 | dasm_put(Dst, 10403); |
1962 | } else { | 1967 | } else { |
1963 | dasm_put(Dst, 10322); | 1968 | dasm_put(Dst, 10410); |
1964 | } | 1969 | } |
1965 | dasm_put(Dst, 10326); | 1970 | dasm_put(Dst, 10414); |
1966 | if (sse) { | 1971 | if (sse) { |
1967 | dasm_put(Dst, 10337); | 1972 | dasm_put(Dst, 10425); |
1968 | } else { | 1973 | } else { |
1969 | dasm_put(Dst, 10349); | 1974 | dasm_put(Dst, 10437); |
1970 | } | 1975 | } |
1971 | dasm_put(Dst, 10356); | 1976 | dasm_put(Dst, 10444); |
1972 | } else { | 1977 | } else { |
1973 | dasm_put(Dst, 10361, LJ_TISNUM, LJ_TISNUM); | 1978 | dasm_put(Dst, 10449, LJ_TISNUM, LJ_TISNUM); |
1974 | } | 1979 | } |
1975 | if (sse) { | 1980 | if (sse) { |
1976 | dasm_put(Dst, 10380); | 1981 | dasm_put(Dst, 10468); |
1977 | } else { | 1982 | } else { |
1978 | dasm_put(Dst, 10398); | 1983 | dasm_put(Dst, 10486); |
1979 | if (cmov) { | 1984 | if (cmov) { |
1980 | dasm_put(Dst, 10153); | 1985 | dasm_put(Dst, 10241); |
1981 | } else { | 1986 | } else { |
1982 | dasm_put(Dst, 10159); | 1987 | dasm_put(Dst, 10247); |
1983 | } | 1988 | } |
1984 | } | 1989 | } |
1985 | iseqne_fp: | 1990 | iseqne_fp: |
1986 | if (vk) { | 1991 | if (vk) { |
1987 | dasm_put(Dst, 10411); | 1992 | dasm_put(Dst, 10499); |
1988 | } else { | 1993 | } else { |
1989 | dasm_put(Dst, 10420); | 1994 | dasm_put(Dst, 10508); |
1990 | } | 1995 | } |
1991 | iseqne_end: | 1996 | iseqne_end: |
1992 | if (vk) { | 1997 | if (vk) { |
1993 | dasm_put(Dst, 10429, -BCBIAS_J*4); | 1998 | dasm_put(Dst, 10517, -BCBIAS_J*4); |
1994 | if (!LJ_HASFFI) { | 1999 | if (!LJ_HASFFI) { |
1995 | dasm_put(Dst, 4655); | 2000 | dasm_put(Dst, 4655); |
1996 | } | 2001 | } |
@@ -1998,150 +2003,150 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
1998 | if (!LJ_HASFFI) { | 2003 | if (!LJ_HASFFI) { |
1999 | dasm_put(Dst, 4655); | 2004 | dasm_put(Dst, 4655); |
2000 | } | 2005 | } |
2001 | dasm_put(Dst, 10444, -BCBIAS_J*4); | 2006 | dasm_put(Dst, 10532, -BCBIAS_J*4); |
2002 | } | 2007 | } |
2003 | if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || | 2008 | if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || |
2004 | op == BC_ISEQN || op == BC_ISNEN)) { | 2009 | op == BC_ISEQN || op == BC_ISNEN)) { |
2005 | dasm_put(Dst, 10459); | 2010 | dasm_put(Dst, 10547); |
2006 | } else { | 2011 | } else { |
2007 | dasm_put(Dst, 10198); | 2012 | dasm_put(Dst, 10286); |
2008 | } | 2013 | } |
2009 | if (op == BC_ISEQV || op == BC_ISNEV) { | 2014 | if (op == BC_ISEQV || op == BC_ISNEV) { |
2010 | dasm_put(Dst, 10464); | 2015 | dasm_put(Dst, 10552); |
2011 | if (LJ_HASFFI) { | 2016 | if (LJ_HASFFI) { |
2012 | dasm_put(Dst, 10467, LJ_TCDATA, LJ_TCDATA); | 2017 | dasm_put(Dst, 10555, LJ_TCDATA, LJ_TCDATA); |
2013 | } | 2018 | } |
2014 | dasm_put(Dst, 10486, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); | 2019 | dasm_put(Dst, 10574, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); |
2015 | if (vk) { | 2020 | if (vk) { |
2016 | dasm_put(Dst, 10542); | 2021 | dasm_put(Dst, 10630); |
2017 | } else { | 2022 | } else { |
2018 | dasm_put(Dst, 10546); | 2023 | dasm_put(Dst, 10634); |
2019 | } | 2024 | } |
2020 | dasm_put(Dst, 10552); | 2025 | dasm_put(Dst, 10640); |
2021 | } else if (LJ_HASFFI) { | 2026 | } else if (LJ_HASFFI) { |
2022 | dasm_put(Dst, 10557, LJ_TCDATA); | 2027 | dasm_put(Dst, 10645, LJ_TCDATA); |
2023 | if (LJ_DUALNUM && vk) { | 2028 | if (LJ_DUALNUM && vk) { |
2024 | dasm_put(Dst, 10564); | 2029 | dasm_put(Dst, 10652); |
2025 | } else { | 2030 | } else { |
2026 | dasm_put(Dst, 10537); | 2031 | dasm_put(Dst, 10625); |
2027 | } | 2032 | } |
2028 | dasm_put(Dst, 10569); | 2033 | dasm_put(Dst, 10657); |
2029 | } | 2034 | } |
2030 | break; | 2035 | break; |
2031 | case BC_ISEQS: case BC_ISNES: | 2036 | case BC_ISEQS: case BC_ISNES: |
2032 | vk = op == BC_ISEQS; | 2037 | vk = op == BC_ISEQS; |
2033 | dasm_put(Dst, 10574, LJ_TSTR); | 2038 | dasm_put(Dst, 10662, LJ_TSTR); |
2034 | iseqne_test: | 2039 | iseqne_test: |
2035 | if (vk) { | 2040 | if (vk) { |
2036 | dasm_put(Dst, 10415); | 2041 | dasm_put(Dst, 10503); |
2037 | } else { | 2042 | } else { |
2038 | dasm_put(Dst, 814); | 2043 | dasm_put(Dst, 814); |
2039 | } | 2044 | } |
2040 | goto iseqne_end; | 2045 | goto iseqne_end; |
2041 | case BC_ISEQN: case BC_ISNEN: | 2046 | case BC_ISEQN: case BC_ISNEN: |
2042 | vk = op == BC_ISEQN; | 2047 | vk = op == BC_ISEQN; |
2043 | dasm_put(Dst, 10601); | 2048 | dasm_put(Dst, 10689); |
2044 | if (LJ_DUALNUM) { | 2049 | if (LJ_DUALNUM) { |
2045 | dasm_put(Dst, 10609, LJ_TISNUM, LJ_TISNUM); | 2050 | dasm_put(Dst, 10697, LJ_TISNUM, LJ_TISNUM); |
2046 | if (vk) { | 2051 | if (vk) { |
2047 | dasm_put(Dst, 10252); | 2052 | dasm_put(Dst, 10340); |
2048 | } else { | 2053 | } else { |
2049 | dasm_put(Dst, 10257); | 2054 | dasm_put(Dst, 10345); |
2050 | } | 2055 | } |
2051 | dasm_put(Dst, 10636, -BCBIAS_J*4, LJ_TISNUM); | 2056 | dasm_put(Dst, 10724, -BCBIAS_J*4, LJ_TISNUM); |
2052 | if (sse) { | 2057 | if (sse) { |
2053 | dasm_put(Dst, 10686); | 2058 | dasm_put(Dst, 10774); |
2054 | } else { | 2059 | } else { |
2055 | dasm_put(Dst, 10694); | 2060 | dasm_put(Dst, 10782); |
2056 | } | 2061 | } |
2057 | dasm_put(Dst, 10699); | 2062 | dasm_put(Dst, 10787); |
2058 | if (sse) { | 2063 | if (sse) { |
2059 | dasm_put(Dst, 10706); | 2064 | dasm_put(Dst, 10794); |
2060 | } else { | 2065 | } else { |
2061 | dasm_put(Dst, 10719); | 2066 | dasm_put(Dst, 10807); |
2062 | } | 2067 | } |
2063 | dasm_put(Dst, 10356); | 2068 | dasm_put(Dst, 10444); |
2064 | } else { | 2069 | } else { |
2065 | dasm_put(Dst, 10727, LJ_TISNUM); | 2070 | dasm_put(Dst, 10815, LJ_TISNUM); |
2066 | } | 2071 | } |
2067 | if (sse) { | 2072 | if (sse) { |
2068 | dasm_put(Dst, 10736); | 2073 | dasm_put(Dst, 10824); |
2069 | } else { | 2074 | } else { |
2070 | dasm_put(Dst, 10755); | 2075 | dasm_put(Dst, 10843); |
2071 | if (cmov) { | 2076 | if (cmov) { |
2072 | dasm_put(Dst, 10153); | 2077 | dasm_put(Dst, 10241); |
2073 | } else { | 2078 | } else { |
2074 | dasm_put(Dst, 10159); | 2079 | dasm_put(Dst, 10247); |
2075 | } | 2080 | } |
2076 | } | 2081 | } |
2077 | goto iseqne_fp; | 2082 | goto iseqne_fp; |
2078 | case BC_ISEQP: case BC_ISNEP: | 2083 | case BC_ISEQP: case BC_ISNEP: |
2079 | vk = op == BC_ISEQP; | 2084 | vk = op == BC_ISEQP; |
2080 | dasm_put(Dst, 10769); | 2085 | dasm_put(Dst, 10857); |
2081 | if (!LJ_HASFFI) goto iseqne_test; | 2086 | if (!LJ_HASFFI) goto iseqne_test; |
2082 | if (vk) { | 2087 | if (vk) { |
2083 | dasm_put(Dst, 10783, -BCBIAS_J*4, LJ_TCDATA); | 2088 | dasm_put(Dst, 10871, -BCBIAS_J*4, LJ_TCDATA); |
2084 | } else { | 2089 | } else { |
2085 | dasm_put(Dst, 10834, LJ_TCDATA, -BCBIAS_J*4); | 2090 | dasm_put(Dst, 10922, LJ_TCDATA, -BCBIAS_J*4); |
2086 | } | 2091 | } |
2087 | break; | 2092 | break; |
2088 | 2093 | ||
2089 | /* -- Unary test and copy ops ------------------------------------------- */ | 2094 | /* -- Unary test and copy ops ------------------------------------------- */ |
2090 | 2095 | ||
2091 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: | 2096 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: |
2092 | dasm_put(Dst, 10879, LJ_TISTRUECOND); | 2097 | dasm_put(Dst, 10967, LJ_TISTRUECOND); |
2093 | if (op == BC_IST || op == BC_ISTC) { | 2098 | if (op == BC_IST || op == BC_ISTC) { |
2094 | dasm_put(Dst, 10181); | 2099 | dasm_put(Dst, 10269); |
2095 | } else { | 2100 | } else { |
2096 | dasm_put(Dst, 10176); | 2101 | dasm_put(Dst, 10264); |
2097 | } | 2102 | } |
2098 | if (op == BC_ISTC || op == BC_ISFC) { | 2103 | if (op == BC_ISTC || op == BC_ISFC) { |
2099 | dasm_put(Dst, 10891); | 2104 | dasm_put(Dst, 10979); |
2100 | } | 2105 | } |
2101 | dasm_put(Dst, 10186, -BCBIAS_J*4); | 2106 | dasm_put(Dst, 10274, -BCBIAS_J*4); |
2102 | break; | 2107 | break; |
2103 | 2108 | ||
2104 | /* -- Unary ops --------------------------------------------------------- */ | 2109 | /* -- Unary ops --------------------------------------------------------- */ |
2105 | 2110 | ||
2106 | case BC_MOV: | 2111 | case BC_MOV: |
2107 | dasm_put(Dst, 10902); | 2112 | dasm_put(Dst, 10990); |
2108 | break; | 2113 | break; |
2109 | case BC_NOT: | 2114 | case BC_NOT: |
2110 | dasm_put(Dst, 10931, LJ_TISTRUECOND, LJ_TTRUE); | 2115 | dasm_put(Dst, 11019, LJ_TISTRUECOND, LJ_TTRUE); |
2111 | break; | 2116 | break; |
2112 | case BC_UNM: | 2117 | case BC_UNM: |
2113 | if (LJ_DUALNUM) { | 2118 | if (LJ_DUALNUM) { |
2114 | dasm_put(Dst, 10968, LJ_TISNUM, LJ_TISNUM); | 2119 | dasm_put(Dst, 11056, LJ_TISNUM, LJ_TISNUM); |
2115 | } else { | 2120 | } else { |
2116 | dasm_put(Dst, 11046, LJ_TISNUM); | 2121 | dasm_put(Dst, 11134, LJ_TISNUM); |
2117 | } | 2122 | } |
2118 | if (sse) { | 2123 | if (sse) { |
2119 | dasm_put(Dst, 11057, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 2124 | dasm_put(Dst, 11145, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
2120 | } else { | 2125 | } else { |
2121 | dasm_put(Dst, 11082); | 2126 | dasm_put(Dst, 11170); |
2122 | } | 2127 | } |
2123 | if (LJ_DUALNUM) { | 2128 | if (LJ_DUALNUM) { |
2124 | dasm_put(Dst, 10459); | 2129 | dasm_put(Dst, 10547); |
2125 | } else { | 2130 | } else { |
2126 | dasm_put(Dst, 10198); | 2131 | dasm_put(Dst, 10286); |
2127 | } | 2132 | } |
2128 | break; | 2133 | break; |
2129 | case BC_LEN: | 2134 | case BC_LEN: |
2130 | dasm_put(Dst, 11091, LJ_TSTR); | 2135 | dasm_put(Dst, 11179, LJ_TSTR); |
2131 | if (LJ_DUALNUM) { | 2136 | if (LJ_DUALNUM) { |
2132 | dasm_put(Dst, 11105, Dt5(->len), LJ_TISNUM); | 2137 | dasm_put(Dst, 11193, Dt5(->len), LJ_TISNUM); |
2133 | } else if (sse) { | 2138 | } else if (sse) { |
2134 | dasm_put(Dst, 11119, Dt5(->len)); | 2139 | dasm_put(Dst, 11207, Dt5(->len)); |
2135 | } else { | 2140 | } else { |
2136 | dasm_put(Dst, 11137, Dt5(->len)); | 2141 | dasm_put(Dst, 11225, Dt5(->len)); |
2137 | } | 2142 | } |
2138 | dasm_put(Dst, 11146, LJ_TTAB); | 2143 | dasm_put(Dst, 11234, LJ_TTAB); |
2139 | if (LJ_DUALNUM) { | 2144 | if (LJ_DUALNUM) { |
2140 | } else if (sse) { | 2145 | } else if (sse) { |
2141 | dasm_put(Dst, 11188); | 2146 | dasm_put(Dst, 11276); |
2142 | } else { | 2147 | } else { |
2143 | } | 2148 | } |
2144 | dasm_put(Dst, 11194); | 2149 | dasm_put(Dst, 11282); |
2145 | break; | 2150 | break; |
2146 | 2151 | ||
2147 | /* -- Binary ops -------------------------------------------------------- */ | 2152 | /* -- Binary ops -------------------------------------------------------- */ |
@@ -2149,603 +2154,603 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2149 | 2154 | ||
2150 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: | 2155 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: |
2151 | if (LJ_DUALNUM) { | 2156 | if (LJ_DUALNUM) { |
2152 | dasm_put(Dst, 11207); | 2157 | dasm_put(Dst, 11295); |
2153 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2158 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2154 | switch (vk) { | 2159 | switch (vk) { |
2155 | case 0: | 2160 | case 0: |
2156 | dasm_put(Dst, 11215, LJ_TISNUM, LJ_TISNUM); | 2161 | dasm_put(Dst, 11303, LJ_TISNUM, LJ_TISNUM); |
2157 | break; | 2162 | break; |
2158 | case 1: | 2163 | case 1: |
2159 | dasm_put(Dst, 11250, LJ_TISNUM, LJ_TISNUM); | 2164 | dasm_put(Dst, 11338, LJ_TISNUM, LJ_TISNUM); |
2160 | break; | 2165 | break; |
2161 | default: | 2166 | default: |
2162 | dasm_put(Dst, 11285, LJ_TISNUM, LJ_TISNUM); | 2167 | dasm_put(Dst, 11373, LJ_TISNUM, LJ_TISNUM); |
2163 | break; | 2168 | break; |
2164 | } | 2169 | } |
2165 | dasm_put(Dst, 11318, LJ_TISNUM); | 2170 | dasm_put(Dst, 11406, LJ_TISNUM); |
2166 | if (vk == 1) { | 2171 | if (vk == 1) { |
2167 | dasm_put(Dst, 11115); | 2172 | dasm_put(Dst, 11203); |
2168 | } else { | 2173 | } else { |
2169 | dasm_put(Dst, 10898); | 2174 | dasm_put(Dst, 10986); |
2170 | } | 2175 | } |
2171 | dasm_put(Dst, 10198); | 2176 | dasm_put(Dst, 10286); |
2172 | } else { | 2177 | } else { |
2173 | dasm_put(Dst, 11207); | 2178 | dasm_put(Dst, 11295); |
2174 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2179 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2175 | switch (vk) { | 2180 | switch (vk) { |
2176 | case 0: | 2181 | case 0: |
2177 | dasm_put(Dst, 11324, LJ_TISNUM); | 2182 | dasm_put(Dst, 11412, LJ_TISNUM); |
2178 | if (LJ_DUALNUM) { | 2183 | if (LJ_DUALNUM) { |
2179 | dasm_put(Dst, 11336, LJ_TISNUM); | 2184 | dasm_put(Dst, 11424, LJ_TISNUM); |
2180 | } | 2185 | } |
2181 | if (sse) { | 2186 | if (sse) { |
2182 | dasm_put(Dst, 11348); | 2187 | dasm_put(Dst, 11436); |
2183 | } else { | 2188 | } else { |
2184 | dasm_put(Dst, 11363); | 2189 | dasm_put(Dst, 11451); |
2185 | } | 2190 | } |
2186 | break; | 2191 | break; |
2187 | case 1: | 2192 | case 1: |
2188 | dasm_put(Dst, 11372, LJ_TISNUM); | 2193 | dasm_put(Dst, 11460, LJ_TISNUM); |
2189 | if (LJ_DUALNUM) { | 2194 | if (LJ_DUALNUM) { |
2190 | dasm_put(Dst, 11384, LJ_TISNUM); | 2195 | dasm_put(Dst, 11472, LJ_TISNUM); |
2191 | } | 2196 | } |
2192 | if (sse) { | 2197 | if (sse) { |
2193 | dasm_put(Dst, 11396); | 2198 | dasm_put(Dst, 11484); |
2194 | } else { | 2199 | } else { |
2195 | dasm_put(Dst, 11411); | 2200 | dasm_put(Dst, 11499); |
2196 | } | 2201 | } |
2197 | break; | 2202 | break; |
2198 | default: | 2203 | default: |
2199 | dasm_put(Dst, 11420, LJ_TISNUM, LJ_TISNUM); | 2204 | dasm_put(Dst, 11508, LJ_TISNUM, LJ_TISNUM); |
2200 | if (sse) { | 2205 | if (sse) { |
2201 | dasm_put(Dst, 11442); | 2206 | dasm_put(Dst, 11530); |
2202 | } else { | 2207 | } else { |
2203 | dasm_put(Dst, 11456); | 2208 | dasm_put(Dst, 11544); |
2204 | } | 2209 | } |
2205 | break; | 2210 | break; |
2206 | } | 2211 | } |
2207 | if (sse) { | 2212 | if (sse) { |
2208 | dasm_put(Dst, 11075); | 2213 | dasm_put(Dst, 11163); |
2209 | } else { | 2214 | } else { |
2210 | dasm_put(Dst, 11087); | 2215 | dasm_put(Dst, 11175); |
2211 | } | 2216 | } |
2212 | dasm_put(Dst, 10198); | 2217 | dasm_put(Dst, 10286); |
2213 | } | 2218 | } |
2214 | break; | 2219 | break; |
2215 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: | 2220 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: |
2216 | if (LJ_DUALNUM) { | 2221 | if (LJ_DUALNUM) { |
2217 | dasm_put(Dst, 11207); | 2222 | dasm_put(Dst, 11295); |
2218 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2223 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2219 | switch (vk) { | 2224 | switch (vk) { |
2220 | case 0: | 2225 | case 0: |
2221 | dasm_put(Dst, 11464, LJ_TISNUM, LJ_TISNUM); | 2226 | dasm_put(Dst, 11552, LJ_TISNUM, LJ_TISNUM); |
2222 | break; | 2227 | break; |
2223 | case 1: | 2228 | case 1: |
2224 | dasm_put(Dst, 11499, LJ_TISNUM, LJ_TISNUM); | 2229 | dasm_put(Dst, 11587, LJ_TISNUM, LJ_TISNUM); |
2225 | break; | 2230 | break; |
2226 | default: | 2231 | default: |
2227 | dasm_put(Dst, 11534, LJ_TISNUM, LJ_TISNUM); | 2232 | dasm_put(Dst, 11622, LJ_TISNUM, LJ_TISNUM); |
2228 | break; | 2233 | break; |
2229 | } | 2234 | } |
2230 | dasm_put(Dst, 11318, LJ_TISNUM); | 2235 | dasm_put(Dst, 11406, LJ_TISNUM); |
2231 | if (vk == 1) { | 2236 | if (vk == 1) { |
2232 | dasm_put(Dst, 11115); | 2237 | dasm_put(Dst, 11203); |
2233 | } else { | 2238 | } else { |
2234 | dasm_put(Dst, 10898); | 2239 | dasm_put(Dst, 10986); |
2235 | } | 2240 | } |
2236 | dasm_put(Dst, 10198); | 2241 | dasm_put(Dst, 10286); |
2237 | } else { | 2242 | } else { |
2238 | dasm_put(Dst, 11207); | 2243 | dasm_put(Dst, 11295); |
2239 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2244 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2240 | switch (vk) { | 2245 | switch (vk) { |
2241 | case 0: | 2246 | case 0: |
2242 | dasm_put(Dst, 11324, LJ_TISNUM); | 2247 | dasm_put(Dst, 11412, LJ_TISNUM); |
2243 | if (LJ_DUALNUM) { | 2248 | if (LJ_DUALNUM) { |
2244 | dasm_put(Dst, 11336, LJ_TISNUM); | 2249 | dasm_put(Dst, 11424, LJ_TISNUM); |
2245 | } | 2250 | } |
2246 | if (sse) { | 2251 | if (sse) { |
2247 | dasm_put(Dst, 11567); | 2252 | dasm_put(Dst, 11655); |
2248 | } else { | 2253 | } else { |
2249 | dasm_put(Dst, 11582); | 2254 | dasm_put(Dst, 11670); |
2250 | } | 2255 | } |
2251 | break; | 2256 | break; |
2252 | case 1: | 2257 | case 1: |
2253 | dasm_put(Dst, 11372, LJ_TISNUM); | 2258 | dasm_put(Dst, 11460, LJ_TISNUM); |
2254 | if (LJ_DUALNUM) { | 2259 | if (LJ_DUALNUM) { |
2255 | dasm_put(Dst, 11384, LJ_TISNUM); | 2260 | dasm_put(Dst, 11472, LJ_TISNUM); |
2256 | } | 2261 | } |
2257 | if (sse) { | 2262 | if (sse) { |
2258 | dasm_put(Dst, 11591); | 2263 | dasm_put(Dst, 11679); |
2259 | } else { | 2264 | } else { |
2260 | dasm_put(Dst, 11606); | 2265 | dasm_put(Dst, 11694); |
2261 | } | 2266 | } |
2262 | break; | 2267 | break; |
2263 | default: | 2268 | default: |
2264 | dasm_put(Dst, 11420, LJ_TISNUM, LJ_TISNUM); | 2269 | dasm_put(Dst, 11508, LJ_TISNUM, LJ_TISNUM); |
2265 | if (sse) { | 2270 | if (sse) { |
2266 | dasm_put(Dst, 11615); | 2271 | dasm_put(Dst, 11703); |
2267 | } else { | 2272 | } else { |
2268 | dasm_put(Dst, 11629); | 2273 | dasm_put(Dst, 11717); |
2269 | } | 2274 | } |
2270 | break; | 2275 | break; |
2271 | } | 2276 | } |
2272 | if (sse) { | 2277 | if (sse) { |
2273 | dasm_put(Dst, 11075); | 2278 | dasm_put(Dst, 11163); |
2274 | } else { | 2279 | } else { |
2275 | dasm_put(Dst, 11087); | 2280 | dasm_put(Dst, 11175); |
2276 | } | 2281 | } |
2277 | dasm_put(Dst, 10198); | 2282 | dasm_put(Dst, 10286); |
2278 | } | 2283 | } |
2279 | break; | 2284 | break; |
2280 | case BC_MULVN: case BC_MULNV: case BC_MULVV: | 2285 | case BC_MULVN: case BC_MULNV: case BC_MULVV: |
2281 | if (LJ_DUALNUM) { | 2286 | if (LJ_DUALNUM) { |
2282 | dasm_put(Dst, 11207); | 2287 | dasm_put(Dst, 11295); |
2283 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2288 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2284 | switch (vk) { | 2289 | switch (vk) { |
2285 | case 0: | 2290 | case 0: |
2286 | dasm_put(Dst, 11637, LJ_TISNUM, LJ_TISNUM); | 2291 | dasm_put(Dst, 11725, LJ_TISNUM, LJ_TISNUM); |
2287 | break; | 2292 | break; |
2288 | case 1: | 2293 | case 1: |
2289 | dasm_put(Dst, 11673, LJ_TISNUM, LJ_TISNUM); | 2294 | dasm_put(Dst, 11761, LJ_TISNUM, LJ_TISNUM); |
2290 | break; | 2295 | break; |
2291 | default: | 2296 | default: |
2292 | dasm_put(Dst, 11709, LJ_TISNUM, LJ_TISNUM); | 2297 | dasm_put(Dst, 11797, LJ_TISNUM, LJ_TISNUM); |
2293 | break; | 2298 | break; |
2294 | } | 2299 | } |
2295 | dasm_put(Dst, 11318, LJ_TISNUM); | 2300 | dasm_put(Dst, 11406, LJ_TISNUM); |
2296 | if (vk == 1) { | 2301 | if (vk == 1) { |
2297 | dasm_put(Dst, 11115); | 2302 | dasm_put(Dst, 11203); |
2298 | } else { | 2303 | } else { |
2299 | dasm_put(Dst, 10898); | 2304 | dasm_put(Dst, 10986); |
2300 | } | 2305 | } |
2301 | dasm_put(Dst, 10198); | 2306 | dasm_put(Dst, 10286); |
2302 | } else { | 2307 | } else { |
2303 | dasm_put(Dst, 11207); | 2308 | dasm_put(Dst, 11295); |
2304 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2309 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2305 | switch (vk) { | 2310 | switch (vk) { |
2306 | case 0: | 2311 | case 0: |
2307 | dasm_put(Dst, 11324, LJ_TISNUM); | 2312 | dasm_put(Dst, 11412, LJ_TISNUM); |
2308 | if (LJ_DUALNUM) { | 2313 | if (LJ_DUALNUM) { |
2309 | dasm_put(Dst, 11336, LJ_TISNUM); | 2314 | dasm_put(Dst, 11424, LJ_TISNUM); |
2310 | } | 2315 | } |
2311 | if (sse) { | 2316 | if (sse) { |
2312 | dasm_put(Dst, 11743); | 2317 | dasm_put(Dst, 11831); |
2313 | } else { | 2318 | } else { |
2314 | dasm_put(Dst, 11758); | 2319 | dasm_put(Dst, 11846); |
2315 | } | 2320 | } |
2316 | break; | 2321 | break; |
2317 | case 1: | 2322 | case 1: |
2318 | dasm_put(Dst, 11372, LJ_TISNUM); | 2323 | dasm_put(Dst, 11460, LJ_TISNUM); |
2319 | if (LJ_DUALNUM) { | 2324 | if (LJ_DUALNUM) { |
2320 | dasm_put(Dst, 11384, LJ_TISNUM); | 2325 | dasm_put(Dst, 11472, LJ_TISNUM); |
2321 | } | 2326 | } |
2322 | if (sse) { | 2327 | if (sse) { |
2323 | dasm_put(Dst, 11767); | 2328 | dasm_put(Dst, 11855); |
2324 | } else { | 2329 | } else { |
2325 | dasm_put(Dst, 11782); | 2330 | dasm_put(Dst, 11870); |
2326 | } | 2331 | } |
2327 | break; | 2332 | break; |
2328 | default: | 2333 | default: |
2329 | dasm_put(Dst, 11420, LJ_TISNUM, LJ_TISNUM); | 2334 | dasm_put(Dst, 11508, LJ_TISNUM, LJ_TISNUM); |
2330 | if (sse) { | 2335 | if (sse) { |
2331 | dasm_put(Dst, 11791); | 2336 | dasm_put(Dst, 11879); |
2332 | } else { | 2337 | } else { |
2333 | dasm_put(Dst, 11805); | 2338 | dasm_put(Dst, 11893); |
2334 | } | 2339 | } |
2335 | break; | 2340 | break; |
2336 | } | 2341 | } |
2337 | if (sse) { | 2342 | if (sse) { |
2338 | dasm_put(Dst, 11075); | 2343 | dasm_put(Dst, 11163); |
2339 | } else { | 2344 | } else { |
2340 | dasm_put(Dst, 11087); | 2345 | dasm_put(Dst, 11175); |
2341 | } | 2346 | } |
2342 | dasm_put(Dst, 10198); | 2347 | dasm_put(Dst, 10286); |
2343 | } | 2348 | } |
2344 | break; | 2349 | break; |
2345 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: | 2350 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: |
2346 | dasm_put(Dst, 11207); | 2351 | dasm_put(Dst, 11295); |
2347 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2352 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2348 | switch (vk) { | 2353 | switch (vk) { |
2349 | case 0: | 2354 | case 0: |
2350 | dasm_put(Dst, 11324, LJ_TISNUM); | 2355 | dasm_put(Dst, 11412, LJ_TISNUM); |
2351 | if (LJ_DUALNUM) { | 2356 | if (LJ_DUALNUM) { |
2352 | dasm_put(Dst, 11336, LJ_TISNUM); | 2357 | dasm_put(Dst, 11424, LJ_TISNUM); |
2353 | } | 2358 | } |
2354 | if (sse) { | 2359 | if (sse) { |
2355 | dasm_put(Dst, 11813); | 2360 | dasm_put(Dst, 11901); |
2356 | } else { | 2361 | } else { |
2357 | dasm_put(Dst, 11828); | 2362 | dasm_put(Dst, 11916); |
2358 | } | 2363 | } |
2359 | break; | 2364 | break; |
2360 | case 1: | 2365 | case 1: |
2361 | dasm_put(Dst, 11372, LJ_TISNUM); | 2366 | dasm_put(Dst, 11460, LJ_TISNUM); |
2362 | if (LJ_DUALNUM) { | 2367 | if (LJ_DUALNUM) { |
2363 | dasm_put(Dst, 11384, LJ_TISNUM); | 2368 | dasm_put(Dst, 11472, LJ_TISNUM); |
2364 | } | 2369 | } |
2365 | if (sse) { | 2370 | if (sse) { |
2366 | dasm_put(Dst, 11837); | 2371 | dasm_put(Dst, 11925); |
2367 | } else { | 2372 | } else { |
2368 | dasm_put(Dst, 11852); | 2373 | dasm_put(Dst, 11940); |
2369 | } | 2374 | } |
2370 | break; | 2375 | break; |
2371 | default: | 2376 | default: |
2372 | dasm_put(Dst, 11420, LJ_TISNUM, LJ_TISNUM); | 2377 | dasm_put(Dst, 11508, LJ_TISNUM, LJ_TISNUM); |
2373 | if (sse) { | 2378 | if (sse) { |
2374 | dasm_put(Dst, 11861); | 2379 | dasm_put(Dst, 11949); |
2375 | } else { | 2380 | } else { |
2376 | dasm_put(Dst, 11875); | 2381 | dasm_put(Dst, 11963); |
2377 | } | 2382 | } |
2378 | break; | 2383 | break; |
2379 | } | 2384 | } |
2380 | if (sse) { | 2385 | if (sse) { |
2381 | dasm_put(Dst, 11075); | 2386 | dasm_put(Dst, 11163); |
2382 | } else { | 2387 | } else { |
2383 | dasm_put(Dst, 11087); | 2388 | dasm_put(Dst, 11175); |
2384 | } | 2389 | } |
2385 | dasm_put(Dst, 10198); | 2390 | dasm_put(Dst, 10286); |
2386 | break; | 2391 | break; |
2387 | case BC_MODVN: | 2392 | case BC_MODVN: |
2388 | dasm_put(Dst, 11207); | 2393 | dasm_put(Dst, 11295); |
2389 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2394 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2390 | switch (vk) { | 2395 | switch (vk) { |
2391 | case 0: | 2396 | case 0: |
2392 | dasm_put(Dst, 11324, LJ_TISNUM); | 2397 | dasm_put(Dst, 11412, LJ_TISNUM); |
2393 | if (LJ_DUALNUM) { | 2398 | if (LJ_DUALNUM) { |
2394 | dasm_put(Dst, 11336, LJ_TISNUM); | 2399 | dasm_put(Dst, 11424, LJ_TISNUM); |
2395 | } | 2400 | } |
2396 | if (sse) { | 2401 | if (sse) { |
2397 | dasm_put(Dst, 11883); | 2402 | dasm_put(Dst, 11971); |
2398 | } else { | 2403 | } else { |
2399 | dasm_put(Dst, 11898); | 2404 | dasm_put(Dst, 11986); |
2400 | } | 2405 | } |
2401 | break; | 2406 | break; |
2402 | case 1: | 2407 | case 1: |
2403 | dasm_put(Dst, 11372, LJ_TISNUM); | 2408 | dasm_put(Dst, 11460, LJ_TISNUM); |
2404 | if (LJ_DUALNUM) { | 2409 | if (LJ_DUALNUM) { |
2405 | dasm_put(Dst, 11384, LJ_TISNUM); | 2410 | dasm_put(Dst, 11472, LJ_TISNUM); |
2406 | } | 2411 | } |
2407 | if (sse) { | 2412 | if (sse) { |
2408 | dasm_put(Dst, 11907); | 2413 | dasm_put(Dst, 11995); |
2409 | } else { | 2414 | } else { |
2410 | dasm_put(Dst, 11922); | 2415 | dasm_put(Dst, 12010); |
2411 | } | 2416 | } |
2412 | break; | 2417 | break; |
2413 | default: | 2418 | default: |
2414 | dasm_put(Dst, 11420, LJ_TISNUM, LJ_TISNUM); | 2419 | dasm_put(Dst, 11508, LJ_TISNUM, LJ_TISNUM); |
2415 | if (sse) { | 2420 | if (sse) { |
2416 | dasm_put(Dst, 11931); | 2421 | dasm_put(Dst, 12019); |
2417 | } else { | 2422 | } else { |
2418 | dasm_put(Dst, 11945); | 2423 | dasm_put(Dst, 12033); |
2419 | } | 2424 | } |
2420 | break; | 2425 | break; |
2421 | } | 2426 | } |
2422 | dasm_put(Dst, 11953); | 2427 | dasm_put(Dst, 12041); |
2423 | if (sse) { | 2428 | if (sse) { |
2424 | dasm_put(Dst, 11075); | 2429 | dasm_put(Dst, 11163); |
2425 | } else { | 2430 | } else { |
2426 | dasm_put(Dst, 11087); | 2431 | dasm_put(Dst, 11175); |
2427 | } | 2432 | } |
2428 | dasm_put(Dst, 10198); | 2433 | dasm_put(Dst, 10286); |
2429 | break; | 2434 | break; |
2430 | case BC_MODNV: case BC_MODVV: | 2435 | case BC_MODNV: case BC_MODVV: |
2431 | dasm_put(Dst, 11207); | 2436 | dasm_put(Dst, 11295); |
2432 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2437 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2433 | switch (vk) { | 2438 | switch (vk) { |
2434 | case 0: | 2439 | case 0: |
2435 | dasm_put(Dst, 11324, LJ_TISNUM); | 2440 | dasm_put(Dst, 11412, LJ_TISNUM); |
2436 | if (LJ_DUALNUM) { | 2441 | if (LJ_DUALNUM) { |
2437 | dasm_put(Dst, 11336, LJ_TISNUM); | 2442 | dasm_put(Dst, 11424, LJ_TISNUM); |
2438 | } | 2443 | } |
2439 | if (sse) { | 2444 | if (sse) { |
2440 | dasm_put(Dst, 11883); | 2445 | dasm_put(Dst, 11971); |
2441 | } else { | 2446 | } else { |
2442 | dasm_put(Dst, 11898); | 2447 | dasm_put(Dst, 11986); |
2443 | } | 2448 | } |
2444 | break; | 2449 | break; |
2445 | case 1: | 2450 | case 1: |
2446 | dasm_put(Dst, 11372, LJ_TISNUM); | 2451 | dasm_put(Dst, 11460, LJ_TISNUM); |
2447 | if (LJ_DUALNUM) { | 2452 | if (LJ_DUALNUM) { |
2448 | dasm_put(Dst, 11384, LJ_TISNUM); | 2453 | dasm_put(Dst, 11472, LJ_TISNUM); |
2449 | } | 2454 | } |
2450 | if (sse) { | 2455 | if (sse) { |
2451 | dasm_put(Dst, 11907); | 2456 | dasm_put(Dst, 11995); |
2452 | } else { | 2457 | } else { |
2453 | dasm_put(Dst, 11922); | 2458 | dasm_put(Dst, 12010); |
2454 | } | 2459 | } |
2455 | break; | 2460 | break; |
2456 | default: | 2461 | default: |
2457 | dasm_put(Dst, 11420, LJ_TISNUM, LJ_TISNUM); | 2462 | dasm_put(Dst, 11508, LJ_TISNUM, LJ_TISNUM); |
2458 | if (sse) { | 2463 | if (sse) { |
2459 | dasm_put(Dst, 11931); | 2464 | dasm_put(Dst, 12019); |
2460 | } else { | 2465 | } else { |
2461 | dasm_put(Dst, 11945); | 2466 | dasm_put(Dst, 12033); |
2462 | } | 2467 | } |
2463 | break; | 2468 | break; |
2464 | } | 2469 | } |
2465 | dasm_put(Dst, 11959); | 2470 | dasm_put(Dst, 12047); |
2466 | break; | 2471 | break; |
2467 | case BC_POW: | 2472 | case BC_POW: |
2468 | dasm_put(Dst, 11207); | 2473 | dasm_put(Dst, 11295); |
2469 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2474 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
2470 | switch (vk) { | 2475 | switch (vk) { |
2471 | case 0: | 2476 | case 0: |
2472 | dasm_put(Dst, 11324, LJ_TISNUM); | 2477 | dasm_put(Dst, 11412, LJ_TISNUM); |
2473 | if (LJ_DUALNUM) { | 2478 | if (LJ_DUALNUM) { |
2474 | dasm_put(Dst, 11336, LJ_TISNUM); | 2479 | dasm_put(Dst, 11424, LJ_TISNUM); |
2475 | } | 2480 | } |
2476 | if (sse) { | 2481 | if (sse) { |
2477 | dasm_put(Dst, 11883); | 2482 | dasm_put(Dst, 11971); |
2478 | } else { | 2483 | } else { |
2479 | dasm_put(Dst, 11898); | 2484 | dasm_put(Dst, 11986); |
2480 | } | 2485 | } |
2481 | break; | 2486 | break; |
2482 | case 1: | 2487 | case 1: |
2483 | dasm_put(Dst, 11372, LJ_TISNUM); | 2488 | dasm_put(Dst, 11460, LJ_TISNUM); |
2484 | if (LJ_DUALNUM) { | 2489 | if (LJ_DUALNUM) { |
2485 | dasm_put(Dst, 11384, LJ_TISNUM); | 2490 | dasm_put(Dst, 11472, LJ_TISNUM); |
2486 | } | 2491 | } |
2487 | if (sse) { | 2492 | if (sse) { |
2488 | dasm_put(Dst, 11907); | 2493 | dasm_put(Dst, 11995); |
2489 | } else { | 2494 | } else { |
2490 | dasm_put(Dst, 11922); | 2495 | dasm_put(Dst, 12010); |
2491 | } | 2496 | } |
2492 | break; | 2497 | break; |
2493 | default: | 2498 | default: |
2494 | dasm_put(Dst, 11420, LJ_TISNUM, LJ_TISNUM); | 2499 | dasm_put(Dst, 11508, LJ_TISNUM, LJ_TISNUM); |
2495 | if (sse) { | 2500 | if (sse) { |
2496 | dasm_put(Dst, 11931); | 2501 | dasm_put(Dst, 12019); |
2497 | } else { | 2502 | } else { |
2498 | dasm_put(Dst, 11945); | 2503 | dasm_put(Dst, 12033); |
2499 | } | 2504 | } |
2500 | break; | 2505 | break; |
2501 | } | 2506 | } |
2502 | dasm_put(Dst, 11964); | 2507 | dasm_put(Dst, 12052); |
2503 | if (sse) { | 2508 | if (sse) { |
2504 | dasm_put(Dst, 11075); | 2509 | dasm_put(Dst, 11163); |
2505 | } else { | 2510 | } else { |
2506 | dasm_put(Dst, 11087); | 2511 | dasm_put(Dst, 11175); |
2507 | } | 2512 | } |
2508 | dasm_put(Dst, 10198); | 2513 | dasm_put(Dst, 10286); |
2509 | break; | 2514 | break; |
2510 | 2515 | ||
2511 | case BC_CAT: | 2516 | case BC_CAT: |
2512 | dasm_put(Dst, 11968, Dt1(->base), Dt1(->base)); | 2517 | dasm_put(Dst, 12056, Dt1(->base), Dt1(->base)); |
2513 | break; | 2518 | break; |
2514 | 2519 | ||
2515 | /* -- Constant ops ------------------------------------------------------ */ | 2520 | /* -- Constant ops ------------------------------------------------------ */ |
2516 | 2521 | ||
2517 | case BC_KSTR: | 2522 | case BC_KSTR: |
2518 | dasm_put(Dst, 12052, LJ_TSTR); | 2523 | dasm_put(Dst, 12140, LJ_TSTR); |
2519 | break; | 2524 | break; |
2520 | case BC_KCDATA: | 2525 | case BC_KCDATA: |
2521 | #if LJ_HASFFI | 2526 | #if LJ_HASFFI |
2522 | dasm_put(Dst, 12052, LJ_TCDATA); | 2527 | dasm_put(Dst, 12140, LJ_TCDATA); |
2523 | #endif | 2528 | #endif |
2524 | break; | 2529 | break; |
2525 | case BC_KSHORT: | 2530 | case BC_KSHORT: |
2526 | if (LJ_DUALNUM) { | 2531 | if (LJ_DUALNUM) { |
2527 | dasm_put(Dst, 12089, LJ_TISNUM); | 2532 | dasm_put(Dst, 12177, LJ_TISNUM); |
2528 | } else if (sse) { | 2533 | } else if (sse) { |
2529 | dasm_put(Dst, 12101); | 2534 | dasm_put(Dst, 12189); |
2530 | } else { | 2535 | } else { |
2531 | dasm_put(Dst, 12116); | 2536 | dasm_put(Dst, 12204); |
2532 | } | 2537 | } |
2533 | dasm_put(Dst, 10198); | 2538 | dasm_put(Dst, 10286); |
2534 | break; | 2539 | break; |
2535 | case BC_KNUM: | 2540 | case BC_KNUM: |
2536 | if (sse) { | 2541 | if (sse) { |
2537 | dasm_put(Dst, 12124); | 2542 | dasm_put(Dst, 12212); |
2538 | } else { | 2543 | } else { |
2539 | dasm_put(Dst, 12138); | 2544 | dasm_put(Dst, 12226); |
2540 | } | 2545 | } |
2541 | dasm_put(Dst, 10198); | 2546 | dasm_put(Dst, 10286); |
2542 | break; | 2547 | break; |
2543 | case BC_KPRI: | 2548 | case BC_KPRI: |
2544 | dasm_put(Dst, 12146); | 2549 | dasm_put(Dst, 12234); |
2545 | break; | 2550 | break; |
2546 | case BC_KNIL: | 2551 | case BC_KNIL: |
2547 | dasm_put(Dst, 12175, LJ_TNIL); | 2552 | dasm_put(Dst, 12263, LJ_TNIL); |
2548 | break; | 2553 | break; |
2549 | 2554 | ||
2550 | /* -- Upvalue and function ops ------------------------------------------ */ | 2555 | /* -- Upvalue and function ops ------------------------------------------ */ |
2551 | 2556 | ||
2552 | case BC_UGET: | 2557 | case BC_UGET: |
2553 | dasm_put(Dst, 12223, offsetof(GCfuncL, uvptr), DtA(->v)); | 2558 | dasm_put(Dst, 12311, offsetof(GCfuncL, uvptr), DtA(->v)); |
2554 | break; | 2559 | break; |
2555 | case BC_USETV: | 2560 | case BC_USETV: |
2556 | #define TV2MARKOFS \ | 2561 | #define TV2MARKOFS \ |
2557 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) | 2562 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) |
2558 | dasm_put(Dst, 12264, 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); | 2563 | dasm_put(Dst, 12352, 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); |
2559 | dasm_put(Dst, 12360); | 2564 | dasm_put(Dst, 12448); |
2560 | break; | 2565 | break; |
2561 | #undef TV2MARKOFS | 2566 | #undef TV2MARKOFS |
2562 | case BC_USETS: | 2567 | case BC_USETS: |
2563 | dasm_put(Dst, 12372, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); | 2568 | dasm_put(Dst, 12460, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); |
2564 | break; | 2569 | break; |
2565 | case BC_USETN: | 2570 | case BC_USETN: |
2566 | dasm_put(Dst, 12468); | 2571 | dasm_put(Dst, 12556); |
2567 | if (sse) { | 2572 | if (sse) { |
2568 | dasm_put(Dst, 12473); | 2573 | dasm_put(Dst, 12561); |
2569 | } else { | 2574 | } else { |
2570 | dasm_put(Dst, 10722); | 2575 | dasm_put(Dst, 10810); |
2571 | } | 2576 | } |
2572 | dasm_put(Dst, 12481, offsetof(GCfuncL, uvptr), DtA(->v)); | 2577 | dasm_put(Dst, 12569, offsetof(GCfuncL, uvptr), DtA(->v)); |
2573 | if (sse) { | 2578 | if (sse) { |
2574 | dasm_put(Dst, 12490); | 2579 | dasm_put(Dst, 12578); |
2575 | } else { | 2580 | } else { |
2576 | dasm_put(Dst, 12496); | 2581 | dasm_put(Dst, 12584); |
2577 | } | 2582 | } |
2578 | dasm_put(Dst, 10198); | 2583 | dasm_put(Dst, 10286); |
2579 | break; | 2584 | break; |
2580 | case BC_USETP: | 2585 | case BC_USETP: |
2581 | dasm_put(Dst, 12499, offsetof(GCfuncL, uvptr), DtA(->v)); | 2586 | dasm_put(Dst, 12587, offsetof(GCfuncL, uvptr), DtA(->v)); |
2582 | break; | 2587 | break; |
2583 | case BC_UCLO: | 2588 | case BC_UCLO: |
2584 | dasm_put(Dst, 12539, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); | 2589 | dasm_put(Dst, 12627, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); |
2585 | break; | 2590 | break; |
2586 | 2591 | ||
2587 | case BC_FNEW: | 2592 | case BC_FNEW: |
2588 | dasm_put(Dst, 12595, Dt1(->base), Dt1(->base), LJ_TFUNC); | 2593 | dasm_put(Dst, 12683, Dt1(->base), Dt1(->base), LJ_TFUNC); |
2589 | break; | 2594 | break; |
2590 | 2595 | ||
2591 | /* -- Table ops --------------------------------------------------------- */ | 2596 | /* -- Table ops --------------------------------------------------------- */ |
2592 | 2597 | ||
2593 | case BC_TNEW: | 2598 | case BC_TNEW: |
2594 | dasm_put(Dst, 12662, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); | 2599 | dasm_put(Dst, 12750, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); |
2595 | break; | 2600 | break; |
2596 | case BC_TDUP: | 2601 | case BC_TDUP: |
2597 | dasm_put(Dst, 12786, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 2602 | dasm_put(Dst, 12874, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); |
2598 | break; | 2603 | break; |
2599 | 2604 | ||
2600 | case BC_GGET: | 2605 | case BC_GGET: |
2601 | dasm_put(Dst, 12885, Dt7(->env)); | 2606 | dasm_put(Dst, 12973, Dt7(->env)); |
2602 | break; | 2607 | break; |
2603 | case BC_GSET: | 2608 | case BC_GSET: |
2604 | dasm_put(Dst, 12905, Dt7(->env)); | 2609 | dasm_put(Dst, 12993, Dt7(->env)); |
2605 | break; | 2610 | break; |
2606 | 2611 | ||
2607 | case BC_TGETV: | 2612 | case BC_TGETV: |
2608 | dasm_put(Dst, 12925, LJ_TTAB); | 2613 | dasm_put(Dst, 13013, LJ_TTAB); |
2609 | if (LJ_DUALNUM) { | 2614 | if (LJ_DUALNUM) { |
2610 | dasm_put(Dst, 12948, LJ_TISNUM); | 2615 | dasm_put(Dst, 13036, LJ_TISNUM); |
2611 | } else { | 2616 | } else { |
2612 | dasm_put(Dst, 12962, LJ_TISNUM); | 2617 | dasm_put(Dst, 13050, LJ_TISNUM); |
2613 | if (sse) { | 2618 | if (sse) { |
2614 | dasm_put(Dst, 12973); | 2619 | dasm_put(Dst, 13061); |
2615 | } else { | 2620 | } else { |
2616 | } | 2621 | } |
2617 | dasm_put(Dst, 12994); | 2622 | dasm_put(Dst, 13082); |
2618 | } | 2623 | } |
2619 | dasm_put(Dst, 12999, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); | 2624 | dasm_put(Dst, 13087, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); |
2620 | dasm_put(Dst, 13091, LJ_TSTR); | 2625 | dasm_put(Dst, 13179, LJ_TSTR); |
2621 | break; | 2626 | break; |
2622 | case BC_TGETS: | 2627 | case BC_TGETS: |
2623 | dasm_put(Dst, 13109, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2628 | dasm_put(Dst, 13197, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2624 | dasm_put(Dst, 13194, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2629 | dasm_put(Dst, 13282, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2625 | break; | 2630 | break; |
2626 | case BC_TGETB: | 2631 | case BC_TGETB: |
2627 | dasm_put(Dst, 13266, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2632 | dasm_put(Dst, 13354, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2628 | dasm_put(Dst, 13362, LJ_TNIL); | 2633 | dasm_put(Dst, 13450, LJ_TNIL); |
2629 | break; | 2634 | break; |
2630 | 2635 | ||
2631 | case BC_TSETV: | 2636 | case BC_TSETV: |
2632 | dasm_put(Dst, 13379, LJ_TTAB); | 2637 | dasm_put(Dst, 13467, LJ_TTAB); |
2633 | if (LJ_DUALNUM) { | 2638 | if (LJ_DUALNUM) { |
2634 | dasm_put(Dst, 12948, LJ_TISNUM); | 2639 | dasm_put(Dst, 13036, LJ_TISNUM); |
2635 | } else { | 2640 | } else { |
2636 | dasm_put(Dst, 12962, LJ_TISNUM); | 2641 | dasm_put(Dst, 13050, LJ_TISNUM); |
2637 | if (sse) { | 2642 | if (sse) { |
2638 | dasm_put(Dst, 12973); | 2643 | dasm_put(Dst, 13061); |
2639 | } else { | 2644 | } else { |
2640 | } | 2645 | } |
2641 | dasm_put(Dst, 13402); | 2646 | dasm_put(Dst, 13490); |
2642 | } | 2647 | } |
2643 | dasm_put(Dst, 13407, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); | 2648 | dasm_put(Dst, 13495, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); |
2644 | dasm_put(Dst, 13488, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2649 | dasm_put(Dst, 13576, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2645 | break; | 2650 | break; |
2646 | case BC_TSETS: | 2651 | case BC_TSETS: |
2647 | dasm_put(Dst, 13547, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2652 | dasm_put(Dst, 13635, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2648 | dasm_put(Dst, 13624, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); | 2653 | dasm_put(Dst, 13712, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); |
2649 | dasm_put(Dst, 13711, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2654 | dasm_put(Dst, 13799, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2650 | break; | 2655 | break; |
2651 | case BC_TSETB: | 2656 | case BC_TSETB: |
2652 | dasm_put(Dst, 13803, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); | 2657 | dasm_put(Dst, 13891, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); |
2653 | dasm_put(Dst, 13898, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2658 | dasm_put(Dst, 13986, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2654 | break; | 2659 | break; |
2655 | 2660 | ||
2656 | case BC_TSETM: | 2661 | case BC_TSETM: |
2657 | dasm_put(Dst, 13946, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); | 2662 | dasm_put(Dst, 14034, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); |
2658 | dasm_put(Dst, 14096, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2663 | dasm_put(Dst, 14184, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2659 | break; | 2664 | break; |
2660 | 2665 | ||
2661 | /* -- Calls and vararg handling ----------------------------------------- */ | 2666 | /* -- Calls and vararg handling ----------------------------------------- */ |
2662 | 2667 | ||
2663 | case BC_CALL: case BC_CALLM: | 2668 | case BC_CALL: case BC_CALLM: |
2664 | dasm_put(Dst, 11211); | 2669 | dasm_put(Dst, 11299); |
2665 | if (op == BC_CALLM) { | 2670 | if (op == BC_CALLM) { |
2666 | dasm_put(Dst, 14116); | 2671 | dasm_put(Dst, 14204); |
2667 | } | 2672 | } |
2668 | dasm_put(Dst, 14121, LJ_TFUNC, Dt7(->pc)); | 2673 | dasm_put(Dst, 14209, LJ_TFUNC, Dt7(->pc)); |
2669 | break; | 2674 | break; |
2670 | 2675 | ||
2671 | case BC_CALLMT: | 2676 | case BC_CALLMT: |
2672 | dasm_put(Dst, 14116); | 2677 | dasm_put(Dst, 14204); |
2673 | break; | 2678 | break; |
2674 | case BC_CALLT: | 2679 | case BC_CALLT: |
2675 | dasm_put(Dst, 14164, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); | 2680 | dasm_put(Dst, 14252, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); |
2676 | dasm_put(Dst, 14282, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); | 2681 | dasm_put(Dst, 14370, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); |
2677 | break; | 2682 | break; |
2678 | 2683 | ||
2679 | case BC_ITERC: | 2684 | case BC_ITERC: |
2680 | dasm_put(Dst, 14356, LJ_TFUNC, 2+1, Dt7(->pc)); | 2685 | dasm_put(Dst, 14444, LJ_TFUNC, 2+1, Dt7(->pc)); |
2681 | break; | 2686 | break; |
2682 | 2687 | ||
2683 | case BC_ITERN: | 2688 | case BC_ITERN: |
2684 | #if LJ_HASJIT | 2689 | #if LJ_HASJIT |
2685 | #endif | 2690 | #endif |
2686 | dasm_put(Dst, 14428, Dt6(->asize), Dt6(->array), LJ_TNIL); | 2691 | dasm_put(Dst, 14516, Dt6(->asize), Dt6(->array), LJ_TNIL); |
2687 | if (LJ_DUALNUM) { | 2692 | if (LJ_DUALNUM) { |
2688 | dasm_put(Dst, 11110, LJ_TISNUM); | 2693 | dasm_put(Dst, 11198, LJ_TISNUM); |
2689 | } else if (sse) { | 2694 | } else if (sse) { |
2690 | dasm_put(Dst, 11188); | 2695 | dasm_put(Dst, 11276); |
2691 | } else { | 2696 | } else { |
2692 | dasm_put(Dst, 14480); | 2697 | dasm_put(Dst, 14568); |
2693 | } | 2698 | } |
2694 | dasm_put(Dst, 14486); | 2699 | dasm_put(Dst, 14574); |
2695 | if (LJ_DUALNUM) { | 2700 | if (LJ_DUALNUM) { |
2696 | } else if (sse) { | 2701 | } else if (sse) { |
2697 | dasm_put(Dst, 11075); | 2702 | dasm_put(Dst, 11163); |
2698 | } else { | 2703 | } else { |
2699 | dasm_put(Dst, 11087); | 2704 | dasm_put(Dst, 11175); |
2700 | } | 2705 | } |
2701 | dasm_put(Dst, 14499, -BCBIAS_J*4); | 2706 | dasm_put(Dst, 14587, -BCBIAS_J*4); |
2702 | if (!LJ_DUALNUM && !sse) { | 2707 | if (!LJ_DUALNUM && !sse) { |
2703 | dasm_put(Dst, 14553); | 2708 | dasm_put(Dst, 14641); |
2704 | } | 2709 | } |
2705 | dasm_put(Dst, 14559, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); | 2710 | dasm_put(Dst, 14647, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); |
2706 | break; | 2711 | break; |
2707 | 2712 | ||
2708 | case BC_ISNEXT: | 2713 | case BC_ISNEXT: |
2709 | dasm_put(Dst, 14638, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); | 2714 | dasm_put(Dst, 14726, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); |
2710 | break; | 2715 | break; |
2711 | 2716 | ||
2712 | case BC_VARG: | 2717 | case BC_VARG: |
2713 | dasm_put(Dst, 14739, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); | 2718 | dasm_put(Dst, 14827, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); |
2714 | dasm_put(Dst, 14906, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 2719 | dasm_put(Dst, 14994, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
2715 | break; | 2720 | break; |
2716 | 2721 | ||
2717 | /* -- Returns ----------------------------------------------------------- */ | 2722 | /* -- Returns ----------------------------------------------------------- */ |
2718 | 2723 | ||
2719 | case BC_RETM: | 2724 | case BC_RETM: |
2720 | dasm_put(Dst, 14116); | 2725 | dasm_put(Dst, 14204); |
2721 | break; | 2726 | break; |
2722 | 2727 | ||
2723 | case BC_RET: case BC_RET0: case BC_RET1: | 2728 | case BC_RET: case BC_RET0: case BC_RET1: |
2724 | if (op != BC_RET0) { | 2729 | if (op != BC_RET0) { |
2725 | dasm_put(Dst, 14976); | 2730 | dasm_put(Dst, 15064); |
2726 | } | 2731 | } |
2727 | dasm_put(Dst, 14980, FRAME_TYPE); | 2732 | dasm_put(Dst, 15068, FRAME_TYPE); |
2728 | switch (op) { | 2733 | switch (op) { |
2729 | case BC_RET: | 2734 | case BC_RET: |
2730 | dasm_put(Dst, 14999); | 2735 | dasm_put(Dst, 15087); |
2731 | break; | 2736 | break; |
2732 | case BC_RET1: | 2737 | case BC_RET1: |
2733 | dasm_put(Dst, 15053); | 2738 | dasm_put(Dst, 15141); |
2734 | /* fallthrough */ | 2739 | /* fallthrough */ |
2735 | case BC_RET0: | 2740 | case BC_RET0: |
2736 | dasm_put(Dst, 15063); | 2741 | dasm_put(Dst, 15151); |
2737 | default: | 2742 | default: |
2738 | break; | 2743 | break; |
2739 | } | 2744 | } |
2740 | dasm_put(Dst, 15074, Dt7(->pc), PC2PROTO(k)); | 2745 | dasm_put(Dst, 15162, Dt7(->pc), PC2PROTO(k)); |
2741 | if (op == BC_RET) { | 2746 | if (op == BC_RET) { |
2742 | dasm_put(Dst, 15122, LJ_TNIL); | 2747 | dasm_put(Dst, 15210, LJ_TNIL); |
2743 | } else { | 2748 | } else { |
2744 | dasm_put(Dst, 15133, LJ_TNIL); | 2749 | dasm_put(Dst, 15221, LJ_TNIL); |
2745 | } | 2750 | } |
2746 | dasm_put(Dst, 15140, -FRAME_VARG, FRAME_TYPEP); | 2751 | dasm_put(Dst, 15228, -FRAME_VARG, FRAME_TYPEP); |
2747 | if (op != BC_RET0) { | 2752 | if (op != BC_RET0) { |
2748 | dasm_put(Dst, 15164); | 2753 | dasm_put(Dst, 15252); |
2749 | } | 2754 | } |
2750 | dasm_put(Dst, 4732); | 2755 | dasm_put(Dst, 4732); |
2751 | break; | 2756 | break; |
@@ -2755,7 +2760,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2755 | 2760 | ||
2756 | case BC_FORL: | 2761 | case BC_FORL: |
2757 | #if LJ_HASJIT | 2762 | #if LJ_HASJIT |
2758 | dasm_put(Dst, 15168, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2763 | dasm_put(Dst, 15256, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2759 | #endif | 2764 | #endif |
2760 | break; | 2765 | break; |
2761 | 2766 | ||
@@ -2767,111 +2772,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2767 | case BC_FORI: | 2772 | case BC_FORI: |
2768 | case BC_IFORL: | 2773 | case BC_IFORL: |
2769 | vk = (op == BC_IFORL || op == BC_JFORL); | 2774 | vk = (op == BC_IFORL || op == BC_JFORL); |
2770 | dasm_put(Dst, 15189); | 2775 | dasm_put(Dst, 15277); |
2771 | if (LJ_DUALNUM) { | 2776 | if (LJ_DUALNUM) { |
2772 | dasm_put(Dst, 15193, LJ_TISNUM); | 2777 | dasm_put(Dst, 15281, LJ_TISNUM); |
2773 | if (!vk) { | 2778 | if (!vk) { |
2774 | dasm_put(Dst, 15203, LJ_TISNUM, LJ_TISNUM); | 2779 | dasm_put(Dst, 15291, LJ_TISNUM, LJ_TISNUM); |
2775 | } else { | 2780 | } else { |
2776 | #ifdef LUA_USE_ASSERT | 2781 | #ifdef LUA_USE_ASSERT |
2777 | dasm_put(Dst, 15232, LJ_TISNUM, LJ_TISNUM); | 2782 | dasm_put(Dst, 15320, LJ_TISNUM, LJ_TISNUM); |
2778 | #endif | 2783 | #endif |
2779 | dasm_put(Dst, 15251); | 2784 | dasm_put(Dst, 15339); |
2780 | } | 2785 | } |
2781 | dasm_put(Dst, 15270, LJ_TISNUM); | 2786 | dasm_put(Dst, 15358, LJ_TISNUM); |
2782 | if (op == BC_FORI) { | 2787 | if (op == BC_FORI) { |
2783 | dasm_put(Dst, 15281, -BCBIAS_J*4); | 2788 | dasm_put(Dst, 15369, -BCBIAS_J*4); |
2784 | } else if (op == BC_JFORI) { | 2789 | } else if (op == BC_JFORI) { |
2785 | dasm_put(Dst, 15295, -BCBIAS_J*4, BC_JLOOP); | 2790 | dasm_put(Dst, 15383, -BCBIAS_J*4, BC_JLOOP); |
2786 | } else if (op == BC_IFORL) { | 2791 | } else if (op == BC_IFORL) { |
2787 | dasm_put(Dst, 15313, -BCBIAS_J*4); | 2792 | dasm_put(Dst, 15401, -BCBIAS_J*4); |
2788 | } else { | 2793 | } else { |
2789 | dasm_put(Dst, 15305, BC_JLOOP); | 2794 | dasm_put(Dst, 15393, BC_JLOOP); |
2790 | } | 2795 | } |
2791 | dasm_put(Dst, 15327); | 2796 | dasm_put(Dst, 15415); |
2792 | if (vk) { | 2797 | if (vk) { |
2793 | dasm_put(Dst, 15352); | 2798 | dasm_put(Dst, 15440); |
2794 | } | 2799 | } |
2795 | dasm_put(Dst, 15270, LJ_TISNUM); | 2800 | dasm_put(Dst, 15358, LJ_TISNUM); |
2796 | if (op == BC_FORI) { | 2801 | if (op == BC_FORI) { |
2797 | dasm_put(Dst, 15361); | 2802 | dasm_put(Dst, 15449); |
2798 | } else if (op == BC_JFORI) { | 2803 | } else if (op == BC_JFORI) { |
2799 | dasm_put(Dst, 15366, -BCBIAS_J*4, BC_JLOOP); | 2804 | dasm_put(Dst, 15454, -BCBIAS_J*4, BC_JLOOP); |
2800 | } else if (op == BC_IFORL) { | 2805 | } else if (op == BC_IFORL) { |
2801 | dasm_put(Dst, 15380); | 2806 | dasm_put(Dst, 15468); |
2802 | } else { | 2807 | } else { |
2803 | dasm_put(Dst, 15376, BC_JLOOP); | 2808 | dasm_put(Dst, 15464, BC_JLOOP); |
2804 | } | 2809 | } |
2805 | dasm_put(Dst, 15385); | 2810 | dasm_put(Dst, 15473); |
2806 | } else if (!vk) { | 2811 | } else if (!vk) { |
2807 | dasm_put(Dst, 15392, LJ_TISNUM); | 2812 | dasm_put(Dst, 15480, LJ_TISNUM); |
2808 | } | 2813 | } |
2809 | if (!vk) { | 2814 | if (!vk) { |
2810 | dasm_put(Dst, 15398, LJ_TISNUM); | 2815 | dasm_put(Dst, 15486, LJ_TISNUM); |
2811 | } else { | 2816 | } else { |
2812 | #ifdef LUA_USE_ASSERT | 2817 | #ifdef LUA_USE_ASSERT |
2813 | dasm_put(Dst, 15412, LJ_TISNUM, LJ_TISNUM); | 2818 | dasm_put(Dst, 15500, LJ_TISNUM, LJ_TISNUM); |
2814 | #endif | 2819 | #endif |
2815 | } | 2820 | } |
2816 | dasm_put(Dst, 15431); | 2821 | dasm_put(Dst, 15519); |
2817 | if (!vk) { | 2822 | if (!vk) { |
2818 | dasm_put(Dst, 15435, LJ_TISNUM); | 2823 | dasm_put(Dst, 15523, LJ_TISNUM); |
2819 | } | 2824 | } |
2820 | if (sse) { | 2825 | if (sse) { |
2821 | dasm_put(Dst, 15444); | 2826 | dasm_put(Dst, 15532); |
2822 | if (vk) { | 2827 | if (vk) { |
2823 | dasm_put(Dst, 15456); | 2828 | dasm_put(Dst, 15544); |
2824 | } else { | 2829 | } else { |
2825 | dasm_put(Dst, 15475); | 2830 | dasm_put(Dst, 15563); |
2826 | } | 2831 | } |
2827 | dasm_put(Dst, 15480); | 2832 | dasm_put(Dst, 15568); |
2828 | } else { | 2833 | } else { |
2829 | dasm_put(Dst, 15493); | 2834 | dasm_put(Dst, 15581); |
2830 | if (vk) { | 2835 | if (vk) { |
2831 | dasm_put(Dst, 15499); | 2836 | dasm_put(Dst, 15587); |
2832 | } else { | 2837 | } else { |
2833 | dasm_put(Dst, 15515); | 2838 | dasm_put(Dst, 15603); |
2834 | } | 2839 | } |
2835 | dasm_put(Dst, 15523); | 2840 | dasm_put(Dst, 15611); |
2836 | if (cmov) { | 2841 | if (cmov) { |
2837 | dasm_put(Dst, 10153); | 2842 | dasm_put(Dst, 10241); |
2838 | } else { | 2843 | } else { |
2839 | dasm_put(Dst, 10159); | 2844 | dasm_put(Dst, 10247); |
2840 | } | 2845 | } |
2841 | if (!cmov) { | 2846 | if (!cmov) { |
2842 | dasm_put(Dst, 15528); | 2847 | dasm_put(Dst, 15616); |
2843 | } | 2848 | } |
2844 | } | 2849 | } |
2845 | if (op == BC_FORI) { | 2850 | if (op == BC_FORI) { |
2846 | if (LJ_DUALNUM) { | 2851 | if (LJ_DUALNUM) { |
2847 | dasm_put(Dst, 15534); | 2852 | dasm_put(Dst, 15622); |
2848 | } else { | 2853 | } else { |
2849 | dasm_put(Dst, 15539, -BCBIAS_J*4); | 2854 | dasm_put(Dst, 15627, -BCBIAS_J*4); |
2850 | } | 2855 | } |
2851 | } else if (op == BC_JFORI) { | 2856 | } else if (op == BC_JFORI) { |
2852 | dasm_put(Dst, 15549, -BCBIAS_J*4, BC_JLOOP); | 2857 | dasm_put(Dst, 15637, -BCBIAS_J*4, BC_JLOOP); |
2853 | } else if (op == BC_IFORL) { | 2858 | } else if (op == BC_IFORL) { |
2854 | if (LJ_DUALNUM) { | 2859 | if (LJ_DUALNUM) { |
2855 | dasm_put(Dst, 15563); | 2860 | dasm_put(Dst, 15651); |
2856 | } else { | 2861 | } else { |
2857 | dasm_put(Dst, 15568, -BCBIAS_J*4); | 2862 | dasm_put(Dst, 15656, -BCBIAS_J*4); |
2858 | } | 2863 | } |
2859 | } else { | 2864 | } else { |
2860 | dasm_put(Dst, 15559, BC_JLOOP); | 2865 | dasm_put(Dst, 15647, BC_JLOOP); |
2861 | } | 2866 | } |
2862 | if (LJ_DUALNUM) { | 2867 | if (LJ_DUALNUM) { |
2863 | dasm_put(Dst, 10082); | 2868 | dasm_put(Dst, 10170); |
2864 | } else { | 2869 | } else { |
2865 | dasm_put(Dst, 10856); | 2870 | dasm_put(Dst, 10944); |
2866 | } | 2871 | } |
2867 | if (sse) { | 2872 | if (sse) { |
2868 | dasm_put(Dst, 15578); | 2873 | dasm_put(Dst, 15666); |
2869 | } | 2874 | } |
2870 | break; | 2875 | break; |
2871 | 2876 | ||
2872 | case BC_ITERL: | 2877 | case BC_ITERL: |
2873 | #if LJ_HASJIT | 2878 | #if LJ_HASJIT |
2874 | dasm_put(Dst, 15168, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2879 | dasm_put(Dst, 15256, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2875 | #endif | 2880 | #endif |
2876 | break; | 2881 | break; |
2877 | 2882 | ||
@@ -2880,33 +2885,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2880 | break; | 2885 | break; |
2881 | #endif | 2886 | #endif |
2882 | case BC_IITERL: | 2887 | case BC_IITERL: |
2883 | dasm_put(Dst, 15589, LJ_TNIL); | 2888 | dasm_put(Dst, 15677, LJ_TNIL); |
2884 | if (op == BC_JITERL) { | 2889 | if (op == BC_JITERL) { |
2885 | dasm_put(Dst, 15604, BC_JLOOP); | 2890 | dasm_put(Dst, 15692, BC_JLOOP); |
2886 | } else { | 2891 | } else { |
2887 | dasm_put(Dst, 15618, -BCBIAS_J*4); | 2892 | dasm_put(Dst, 15706, -BCBIAS_J*4); |
2888 | } | 2893 | } |
2889 | dasm_put(Dst, 10196); | 2894 | dasm_put(Dst, 10284); |
2890 | break; | 2895 | break; |
2891 | 2896 | ||
2892 | case BC_LOOP: | 2897 | case BC_LOOP: |
2893 | #if LJ_HASJIT | 2898 | #if LJ_HASJIT |
2894 | dasm_put(Dst, 15168, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2899 | dasm_put(Dst, 15256, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2895 | #endif | 2900 | #endif |
2896 | break; | 2901 | break; |
2897 | 2902 | ||
2898 | case BC_ILOOP: | 2903 | case BC_ILOOP: |
2899 | dasm_put(Dst, 10198); | 2904 | dasm_put(Dst, 10286); |
2900 | break; | 2905 | break; |
2901 | 2906 | ||
2902 | case BC_JLOOP: | 2907 | case BC_JLOOP: |
2903 | #if LJ_HASJIT | 2908 | #if LJ_HASJIT |
2904 | dasm_put(Dst, 15634, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); | 2909 | dasm_put(Dst, 15722, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); |
2905 | #endif | 2910 | #endif |
2906 | break; | 2911 | break; |
2907 | 2912 | ||
2908 | case BC_JMP: | 2913 | case BC_JMP: |
2909 | dasm_put(Dst, 15675, -BCBIAS_J*4); | 2914 | dasm_put(Dst, 15763, -BCBIAS_J*4); |
2910 | break; | 2915 | break; |
2911 | 2916 | ||
2912 | /* -- Function headers -------------------------------------------------- */ | 2917 | /* -- Function headers -------------------------------------------------- */ |
@@ -2920,7 +2925,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2920 | 2925 | ||
2921 | case BC_FUNCF: | 2926 | case BC_FUNCF: |
2922 | #if LJ_HASJIT | 2927 | #if LJ_HASJIT |
2923 | dasm_put(Dst, 15701, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2928 | dasm_put(Dst, 15789, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2924 | #endif | 2929 | #endif |
2925 | case BC_FUNCV: /* NYI: compiled vararg functions. */ | 2930 | case BC_FUNCV: /* NYI: compiled vararg functions. */ |
2926 | break; | 2931 | break; |
@@ -2930,47 +2935,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2930 | break; | 2935 | break; |
2931 | #endif | 2936 | #endif |
2932 | case BC_IFUNCF: | 2937 | case BC_IFUNCF: |
2933 | dasm_put(Dst, 15722, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); | 2938 | dasm_put(Dst, 15810, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); |
2934 | if (op == BC_JFUNCF) { | 2939 | if (op == BC_JFUNCF) { |
2935 | dasm_put(Dst, 15753, BC_JLOOP); | 2940 | dasm_put(Dst, 15841, BC_JLOOP); |
2936 | } else { | 2941 | } else { |
2937 | dasm_put(Dst, 10198); | 2942 | dasm_put(Dst, 10286); |
2938 | } | 2943 | } |
2939 | dasm_put(Dst, 15762, LJ_TNIL); | 2944 | dasm_put(Dst, 15850, LJ_TNIL); |
2940 | break; | 2945 | break; |
2941 | 2946 | ||
2942 | case BC_JFUNCV: | 2947 | case BC_JFUNCV: |
2943 | #if !LJ_HASJIT | 2948 | #if !LJ_HASJIT |
2944 | break; | 2949 | break; |
2945 | #endif | 2950 | #endif |
2946 | dasm_put(Dst, 9305); | 2951 | dasm_put(Dst, 9393); |
2947 | break; /* NYI: compiled vararg functions. */ | 2952 | break; /* NYI: compiled vararg functions. */ |
2948 | 2953 | ||
2949 | case BC_IFUNCV: | 2954 | case BC_IFUNCV: |
2950 | dasm_put(Dst, 15784, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); | 2955 | dasm_put(Dst, 15872, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); |
2951 | if (op == BC_JFUNCV) { | 2956 | if (op == BC_JFUNCV) { |
2952 | dasm_put(Dst, 15753, BC_JLOOP); | 2957 | dasm_put(Dst, 15841, BC_JLOOP); |
2953 | } else { | 2958 | } else { |
2954 | dasm_put(Dst, 15881, -4+PC2PROTO(k)); | 2959 | dasm_put(Dst, 15969, -4+PC2PROTO(k)); |
2955 | } | 2960 | } |
2956 | dasm_put(Dst, 15906, LJ_TNIL); | 2961 | dasm_put(Dst, 15994, LJ_TNIL); |
2957 | break; | 2962 | break; |
2958 | 2963 | ||
2959 | case BC_FUNCC: | 2964 | case BC_FUNCC: |
2960 | case BC_FUNCCW: | 2965 | case BC_FUNCCW: |
2961 | dasm_put(Dst, 15928, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); | 2966 | dasm_put(Dst, 16016, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); |
2962 | if (op == BC_FUNCC) { | 2967 | if (op == BC_FUNCC) { |
2963 | dasm_put(Dst, 2404); | 2968 | dasm_put(Dst, 2404); |
2964 | } else { | 2969 | } else { |
2965 | dasm_put(Dst, 15958); | 2970 | dasm_put(Dst, 16046); |
2966 | } | 2971 | } |
2967 | dasm_put(Dst, 15966, DISPATCH_GL(vmstate), ~LJ_VMST_C); | 2972 | dasm_put(Dst, 16054, DISPATCH_GL(vmstate), ~LJ_VMST_C); |
2968 | if (op == BC_FUNCC) { | 2973 | if (op == BC_FUNCC) { |
2969 | dasm_put(Dst, 15976); | 2974 | dasm_put(Dst, 16064); |
2970 | } else { | 2975 | } else { |
2971 | dasm_put(Dst, 15981, DISPATCH_GL(wrapf)); | 2976 | dasm_put(Dst, 16069, DISPATCH_GL(wrapf)); |
2972 | } | 2977 | } |
2973 | dasm_put(Dst, 15987, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 2978 | dasm_put(Dst, 16075, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
2974 | break; | 2979 | break; |
2975 | 2980 | ||
2976 | /* ---------------------------------------------------------------------- */ | 2981 | /* ---------------------------------------------------------------------- */ |
@@ -2998,7 +3003,7 @@ static int build_backend(BuildCtx *ctx) | |||
2998 | 3003 | ||
2999 | build_subroutines(ctx, cmov, sse); | 3004 | build_subroutines(ctx, cmov, sse); |
3000 | 3005 | ||
3001 | dasm_put(Dst, 16013); | 3006 | dasm_put(Dst, 16101); |
3002 | for (op = 0; op < BC__MAX; op++) | 3007 | for (op = 0; op < BC__MAX; op++) |
3003 | build_ins(ctx, (BCOp)op, op, cmov, sse); | 3008 | build_ins(ctx, (BCOp)op, op, cmov, sse); |
3004 | 3009 | ||