summaryrefslogtreecommitdiff
path: root/src/buildvm_x64win.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x64win.h')
-rw-r--r--src/buildvm_x64win.h1960
1 files changed, 982 insertions, 978 deletions
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h
index f6fa13dc..59499a78 100644
--- a/src/buildvm_x64win.h
+++ b/src/buildvm_x64win.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[15870] = { 15static const unsigned char build_actionlist[15958] = {
16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, 16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72,
17 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, 17 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,
18 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237, 18 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,
@@ -317,472 +317,476 @@ static const unsigned char build_actionlist[15870] = {
317 136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,84,252,233,244, 317 136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,84,252,233,244,
318 121,248,130,129,252,248,239,15,130,244,61,129,122,253,4,239,15,133,244,61, 318 121,248,130,129,252,248,239,15,130,244,61,129,122,253,4,239,15,133,244,61,
319 137,213,139,10,232,251,1,20,137,252,234,255,137,197,252,233,244,69,255,252, 319 137,213,139,10,232,251,1,20,137,252,234,255,137,197,252,233,244,69,255,252,
320 242,15,42,192,252,233,244,70,255,248,131,129,122,253,4,239,255,15,133,244, 320 242,15,42,192,252,233,244,70,255,248,131,129,252,248,239,15,130,244,61,129,
321 247,139,42,252,233,244,87,248,1,15,135,244,61,255,252,242,15,16,2,72,189, 321 122,253,4,239,255,15,133,244,247,139,42,252,233,244,87,248,1,15,135,244,61,
322 237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,252,233,244, 322 255,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,
323 87,255,248,132,255,72,189,237,237,102,72,15,110,205,255,199,68,36,80,0,0, 323 15,126,197,255,252,233,244,87,255,248,132,129,252,248,239,15,130,244,61,255,
324 192,89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,61,255, 324 72,189,237,237,102,72,15,110,205,255,199,68,36,80,0,0,192,89,255,15,133,244,
325 252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,68,36,84,141, 325 247,139,42,252,233,244,248,248,1,15,135,244,61,255,252,242,15,16,2,252,242,
326 68,194,252,240,248,1,57,208,15,134,244,87,129,120,253,4,239,255,15,133,244, 326 15,88,193,102,15,126,197,255,248,2,137,68,36,84,141,68,194,252,240,248,1,
327 248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,133,255,15,131,244,133, 327 57,208,15,134,244,87,129,120,253,4,239,255,15,133,244,248,35,40,131,232,8,
328 255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,131,232,8, 328 252,233,244,1,248,2,15,135,244,133,255,15,131,244,133,255,252,242,15,16,0,
329 252,233,244,1,248,134,255,15,133,244,248,11,40,131,232,8,252,233,244,1,248, 329 252,242,15,88,193,102,15,126,193,33,205,255,131,232,8,252,233,244,1,248,134,
330 2,15,135,244,133,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,9,205, 330 129,252,248,239,15,130,244,61,255,15,133,244,248,11,40,131,232,8,252,233,
331 255,131,232,8,252,233,244,1,248,135,255,15,133,244,248,51,40,131,232,8,252, 331 244,1,248,2,15,135,244,133,255,252,242,15,16,0,252,242,15,88,193,102,15,126,
332 233,244,1,248,2,15,135,244,133,255,252,242,15,16,0,252,242,15,88,193,102, 332 193,9,205,255,131,232,8,252,233,244,1,248,135,129,252,248,239,15,130,244,
333 15,126,193,49,205,255,131,232,8,252,233,244,1,248,136,129,122,253,4,239,255, 333 61,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248,2,15,135,244,133,
334 248,2,15,205,252,233,244,87,248,137,129,122,253,4,239,255,248,2,252,247,213, 334 255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,205,255,131,232,8,
335 255,248,87,252,242,15,42,197,252,233,244,70,255,248,133,139,68,36,84,252, 335 252,233,244,1,248,136,129,252,248,239,15,130,244,61,129,122,253,4,239,255,
336 233,244,61,255,248,138,129,122,253,4,239,255,248,2,129,122,253,12,239,15, 336 248,2,15,205,252,233,244,87,248,137,129,252,248,239,15,130,244,61,129,122,
337 133,244,61,139,74,8,255,248,138,129,252,248,239,15,130,244,61,129,122,253, 337 253,4,239,255,248,2,252,247,213,255,248,87,252,242,15,42,197,252,233,244,
338 4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,2,252, 338 70,255,248,133,139,68,36,84,252,233,244,61,255,248,138,129,252,248,239,15,
339 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242, 339 130,244,61,129,122,253,4,239,255,248,2,129,122,253,12,239,15,133,244,61,139,
340 15,88,202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,87,255,248, 340 74,8,255,248,138,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,
341 139,129,122,253,4,239,255,248,139,129,252,248,239,15,130,244,61,129,122,253, 341 61,129,122,253,12,239,15,131,244,61,252,242,15,16,2,252,242,15,16,74,8,72,
342 4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,2,252, 342 189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,
343 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242, 343 126,197,102,15,126,201,255,211,229,252,233,244,87,255,248,139,129,252,248,
344 15,88,202,102,15,126,197,102,15,126,201,255,211,252,237,252,233,244,87,255, 344 239,15,130,244,61,129,122,253,4,239,255,248,139,129,252,248,239,15,130,244,
345 248,140,129,122,253,4,239,255,248,140,129,252,248,239,15,130,244,61,129,122, 345 61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,
346 253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,2, 346 15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,
347 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 347 194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,237,252,233,
348 242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,253,252,233,244,87, 348 244,87,255,248,140,129,252,248,239,15,130,244,61,129,122,253,4,239,255,248,
349 255,248,141,129,122,253,4,239,255,248,141,129,252,248,239,15,130,244,61,129, 349 140,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,
350 253,12,239,15,131,244,61,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,
351 102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,
352 15,126,201,255,211,252,253,252,233,244,87,255,248,141,129,252,248,239,15,
353 130,244,61,129,122,253,4,239,255,248,141,129,252,248,239,15,130,244,61,129,
350 122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16, 354 122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,
351 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 355 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
352 242,15,88,202,102,15,126,197,102,15,126,201,255,211,197,252,233,244,87,255, 356 242,15,88,202,102,15,126,197,102,15,126,201,255,211,197,252,233,244,87,255,
353 248,142,129,122,253,4,239,255,248,142,129,252,248,239,15,130,244,61,129,122, 357 248,142,129,252,248,239,15,130,244,61,129,122,253,4,239,255,248,142,129,252,
354 253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,2, 358 248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,
355 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 359 15,131,244,61,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,
356 242,15,88,202,102,15,126,197,102,15,126,201,255,211,205,252,233,244,87,248, 360 110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,
357 125,184,237,252,233,244,61,248,127,184,237,248,61,139,108,36,96,139,114,252, 361 255,211,205,252,233,244,87,248,125,184,237,252,233,244,61,248,127,184,237,
358 252,137,116,36,100,137,149,233,141,68,194,252,248,141,136,233,137,133,233, 362 248,61,139,108,36,96,139,114,252,252,137,116,36,100,137,149,233,141,68,194,
359 139,66,252,248,59,141,233,15,135,244,251,137,252,233,252,255,144,233,139, 363 252,248,141,136,233,137,133,233,139,66,252,248,59,141,233,15,135,244,251,
360 149,233,133,192,15,143,244,76,248,1,255,139,141,233,41,209,193,252,233,3, 364 137,252,233,252,255,144,233,139,149,233,133,192,15,143,244,76,248,1,255,139,
361 133,192,141,65,1,139,106,252,248,15,133,244,32,139,181,233,139,14,15,182, 365 141,233,41,209,193,252,233,3,133,192,141,65,1,139,106,252,248,15,133,244,
362 252,233,15,182,205,131,198,4,252,255,36,252,235,248,32,137,209,252,247,198, 366 32,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,
363 237,15,133,244,249,15,182,110,252,253,72,252,247,213,141,20,252,234,252,233, 367 235,248,32,137,209,252,247,198,237,15,133,244,249,15,182,110,252,253,72,252,
364 244,28,248,3,137,252,245,131,229,252,248,41,252,234,252,233,244,28,248,5, 368 247,213,141,20,252,234,252,233,244,28,248,3,137,252,245,131,229,252,248,41,
365 186,237,137,252,233,232,251,1,0,139,149,233,49,192,252,233,244,1,248,73,93, 369 252,234,252,233,244,28,248,5,186,237,137,252,233,232,251,1,0,139,149,233,
366 72,137,108,36,32,139,108,36,96,137,116,36,100,137,149,233,255,141,68,194, 370 49,192,252,233,244,1,248,73,93,72,137,108,36,32,139,108,36,96,137,116,36,
367 252,248,137,252,233,137,133,233,232,251,1,21,139,149,233,139,133,233,41,208, 371 100,137,149,233,255,141,68,194,252,248,137,252,233,137,133,233,232,251,1,
368 193,232,3,131,192,1,72,139,108,36,32,85,195,248,143,255,15,182,131,233,168, 372 21,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72,139,108,36,32,85,
369 235,15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,252,255, 373 195,248,143,255,15,182,131,233,168,235,15,133,244,251,168,235,15,133,244,
370 139,233,252,233,244,247,255,248,144,15,182,131,233,168,235,15,133,244,251, 374 247,168,235,15,132,244,247,252,255,139,233,252,233,244,247,255,248,144,15,
371 252,233,244,247,248,145,15,182,131,233,168,235,15,133,244,251,168,235,15, 375 182,131,233,168,235,15,133,244,251,252,233,244,247,248,145,15,182,131,233,
372 132,244,251,252,255,139,233,15,132,244,247,168,235,15,132,244,251,248,1,255, 376 168,235,15,133,244,251,168,235,15,132,244,251,252,255,139,233,15,132,244,
373 139,108,36,96,137,149,233,137,252,242,137,252,233,232,251,1,22,248,3,139, 377 247,168,235,15,132,244,251,248,1,255,139,108,36,96,137,149,233,137,252,242,
374 149,233,248,4,15,182,78,252,253,248,5,15,182,110,252,252,15,183,70,252,254, 378 137,252,233,232,251,1,22,248,3,139,149,233,248,4,15,182,78,252,253,248,5,
375 252,255,164,253,252,235,233,248,146,131,198,4,139,77,232,137,76,36,84,252, 379 15,182,110,252,252,15,183,70,252,254,252,255,164,253,252,235,233,248,146,
376 233,244,4,248,147,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194, 380 131,198,4,139,77,232,137,76,36,84,252,233,244,4,248,147,255,139,106,252,248,
377 139,108,36,96,137,149,233,137,133,233,137,252,242,141,139,233,72,137,171, 381 139,173,233,15,182,133,233,141,4,194,139,108,36,96,137,149,233,137,133,233,
378 233,137,116,36,100,232,251,1,23,252,233,244,3,255,248,148,137,116,36,100, 382 137,252,242,141,139,233,72,137,171,233,137,116,36,100,232,251,1,23,252,233,
379 255,248,149,255,137,116,36,100,131,206,1,248,1,255,141,68,194,252,248,139, 383 244,3,255,248,148,137,116,36,100,255,248,149,255,137,116,36,100,131,206,1,
380 108,36,96,137,149,233,137,133,233,137,252,242,137,252,233,232,251,1,24,199, 384 248,1,255,141,68,194,252,248,139,108,36,96,137,149,233,137,133,233,137,252,
381 68,36,100,0,0,0,0,255,131,230,252,254,255,139,149,233,72,137,193,139,133, 385 242,137,252,233,232,251,1,24,199,68,36,100,0,0,0,0,255,131,230,252,254,255,
382 233,41,208,72,137,205,15,182,78,252,253,193,232,3,131,192,1,252,255,229,248, 386 139,149,233,72,137,193,139,133,233,41,208,72,137,205,15,182,78,252,253,193,
383 150,255,65,85,65,84,65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85, 387 232,3,131,192,1,252,255,229,248,150,255,65,85,65,84,65,83,65,82,65,81,65,
384 83,82,81,80,15,182,69,252,248,138,101,252,240,76,137,125,252,248,76,137,117, 388 80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69,252,248,138,101,252,
385 252,240,139,93,0,139,139,233,199,131,233,237,137,131,233,137,139,233,72,129, 389 240,76,137,125,252,248,76,137,117,252,240,139,93,0,139,139,233,199,131,233,
386 252,236,239,72,131,197,128,252,242,68,15,17,125,252,248,252,242,68,15,17, 390 237,137,131,233,137,139,233,72,129,252,236,239,72,131,197,128,252,242,68,
387 117,252,240,252,242,68,15,17,109,232,252,242,68,15,17,101,224,252,242,68, 391 15,17,125,252,248,252,242,68,15,17,117,252,240,252,242,68,15,17,109,232,252,
388 15,17,93,216,252,242,68,15,17,85,208,252,242,68,15,17,77,200,252,242,68,15, 392 242,68,15,17,101,224,252,242,68,15,17,93,216,252,242,68,15,17,85,208,252,
389 17,69,192,252,242,15,17,125,184,252,242,15,17,117,176,252,242,15,17,109,168, 393 242,68,15,17,77,200,252,242,68,15,17,69,192,252,242,15,17,125,184,252,242,
390 252,242,15,17,101,160,252,242,15,17,93,152,252,242,15,17,85,144,252,242,15, 394 15,17,117,176,252,242,15,17,109,168,252,242,15,17,101,160,252,242,15,17,93,
391 17,77,136,252,242,15,17,69,128,139,171,233,139,147,233,72,137,171,233,199, 395 152,252,242,15,17,85,144,252,242,15,17,77,136,252,242,15,17,69,128,139,171,
392 131,233,0,0,0,0,137,149,233,72,141,148,253,36,233,141,139,233,232,251,1,25, 396 233,139,147,233,72,137,171,233,199,131,233,0,0,0,0,137,149,233,72,141,148,
393 72,139,141,233,72,129,225,239,137,169,233,139,149,233,139,177,233,252,233, 397 253,36,233,141,139,233,232,251,1,25,72,139,141,233,72,129,225,239,137,169,
394 244,247,255,248,151,255,72,141,140,253,36,233,248,1,102,68,15,111,185,233, 398 233,139,149,233,139,177,233,252,233,244,247,255,248,151,255,72,141,140,253,
395 102,68,15,111,177,233,102,68,15,111,169,233,102,68,15,111,161,233,102,68, 399 36,233,248,1,102,68,15,111,185,233,102,68,15,111,177,233,102,68,15,111,169,
396 15,111,153,233,102,68,15,111,145,233,102,68,15,111,137,233,102,68,15,111, 400 233,102,68,15,111,161,233,102,68,15,111,153,233,102,68,15,111,145,233,102,
397 129,233,102,15,111,185,233,72,137,204,102,15,111,49,76,139,124,36,16,76,139, 401 68,15,111,137,233,102,68,15,111,129,233,102,15,111,185,233,72,137,204,102,
398 116,36,24,76,139,108,36,32,76,139,100,36,80,133,192,15,136,244,249,137,68, 402 15,111,49,76,139,124,36,16,76,139,116,36,24,76,139,108,36,32,76,139,100,36,
399 36,84,139,122,252,248,139,191,233,139,191,233,199,131,233,0,0,0,0,199,131, 403 80,133,192,15,136,244,249,137,68,36,84,139,122,252,248,139,191,233,139,191,
400 233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,129,252,253,239, 404 233,199,131,233,0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,
401 15,130,244,248,255,139,68,36,84,248,2,252,255,36,252,235,248,3,252,247,216, 405 4,193,232,16,129,252,253,239,15,130,244,248,255,139,68,36,84,248,2,252,255,
402 137,252,233,137,194,232,251,1,26,255,248,89,255,217,124,36,4,137,68,36,8, 406 36,252,235,248,3,252,247,216,137,252,233,137,194,232,251,1,26,255,248,89,
403 102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108, 407 255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,
404 36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,152,72,184,237,237, 408 247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,
405 102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202, 409 255,248,152,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,
406 102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92, 410 216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,
407 203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,1,102, 411 242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,
408 15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,91,255,217,124,36,4,137, 412 208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,193,248,1,
409 68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6, 413 195,248,91,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37,
410 217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,153,72,184, 414 252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,
411 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102, 415 68,36,8,195,255,248,153,72,184,237,237,102,72,15,110,208,72,184,237,237,102,
412 15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252, 416 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,
413 242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194, 417 85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,
414 193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,112,255,217, 418 72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92,200,15,40,
415 124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108, 419 193,248,1,195,248,112,255,217,124,36,4,137,68,36,8,102,184,0,12,102,11,68,
416 36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,154,72,184,237,237, 420 36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,
417 102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202, 421 255,248,154,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,
418 102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252, 422 216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,15,
419 242,15,92,203,72,184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15, 423 40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72,15,110,216,
420 84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,1,195,248,155,255,15, 424 252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40,
421 40,232,252,242,15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237, 425 193,248,1,195,248,155,255,15,40,232,252,242,15,94,193,72,184,237,237,102,
422 102,72,15,110,216,15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102, 426 72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84,226,102,
423 15,85,208,252,242,15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237, 427 15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242,15,92,227,
424 102,72,15,110,208,252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,15, 428 102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196,1,102,15,
425 40,197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15, 429 84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15,92,193,195,
426 40,197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184, 430 248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,193,216,252,
427 0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217, 431 241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,
428 252,252,217,108,36,4,222,201,222,252,233,195,255,248,96,217,252,234,222,201, 432 68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,233,195,255,
429 248,156,217,84,36,8,129,124,36,8,0,0,128,127,15,132,244,247,129,124,36,8, 433 248,96,217,252,234,222,201,248,156,217,84,36,8,129,124,36,8,0,0,128,127,15,
430 0,0,128,252,255,15,132,244,248,248,157,217,192,217,252,252,220,252,233,217, 434 132,244,247,129,124,36,8,0,0,128,252,255,15,132,244,248,248,157,217,192,217,
431 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216, 435 252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,
432 217,252,238,195,255,248,115,255,248,158,252,242,15,45,193,252,242,15,42,208, 436 248,1,195,248,2,221,216,217,252,238,195,255,248,115,255,248,158,252,242,15,
433 102,15,46,202,15,133,244,254,15,138,244,255,248,159,131,252,248,1,15,142, 437 45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138,244,255,248,
434 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233, 438 159,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,
435 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209, 439 15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251,15,40,200,248,
436 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4, 440 3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255,252,242,15,89,
437 252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,252,247,216, 441 200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,
438 232,244,1,72,184,237,237,102,72,15,110,200,252,242,15,94,200,15,40,193,195, 442 130,244,253,252,247,216,232,244,1,72,184,237,237,102,72,15,110,200,252,242,
439 248,7,72,184,237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209, 443 15,94,200,15,40,193,195,248,7,72,184,237,237,102,72,15,110,192,195,248,8,
440 224,72,193,192,12,72,61,252,254,15,0,0,15,132,244,248,102,72,15,126,192,72, 444 102,72,15,126,200,72,209,224,72,193,192,12,72,61,252,254,15,0,0,15,132,244,
441 209,224,15,132,244,250,255,72,193,192,12,72,61,252,254,15,0,0,15,132,244, 445 248,102,72,15,126,192,72,209,224,15,132,244,250,255,72,193,192,12,72,61,252,
442 251,252,242,15,17,76,36,16,252,242,15,17,68,36,8,221,68,36,16,221,68,36,8, 446 254,15,0,0,15,132,244,251,252,242,15,17,76,36,16,252,242,15,17,68,36,8,221,
443 217,252,241,217,192,217,252,252,220,252,233,217,201,217,252,240,217,232,222, 447 68,36,16,221,68,36,8,217,252,241,217,192,217,252,252,220,252,233,217,201,
444 193,217,252,253,221,217,221,92,36,8,252,242,15,16,68,36,8,195,248,9,72,184, 448 217,252,240,217,232,222,193,217,252,253,221,217,221,92,36,8,252,242,15,16,
445 237,237,102,72,15,110,208,102,15,46,194,15,132,244,247,15,40,193,248,1,195, 449 68,36,8,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,
446 248,2,72,184,237,237,102,72,15,110,208,102,15,84,194,72,184,237,237,102,72, 450 247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110,208,102,15,84,
447 15,110,208,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,136,196,15, 451 194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,102,15,80,
448 146,208,48,224,15,133,244,1,248,3,72,184,237,237,255,102,72,15,110,192,195, 452 193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,237,237,
449 248,4,102,15,80,193,133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193, 453 255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87,
450 133,192,15,132,244,3,15,87,192,195,248,160,255,131,252,250,1,15,130,244,89, 454 192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,160,255,
451 15,132,244,91,131,252,250,3,15,130,244,112,15,135,244,248,252,242,15,81,192, 455 131,252,250,1,15,130,244,89,15,132,244,91,131,252,250,3,15,130,244,112,15,
452 195,248,2,252,242,15,17,68,36,8,221,68,36,8,131,252,250,5,15,135,244,248, 456 135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,8,221,68,36,8,
453 88,15,132,244,247,232,244,96,80,252,233,244,253,248,1,232,244,156,255,80, 457 131,252,250,5,15,135,244,248,88,15,132,244,247,232,244,96,80,252,233,244,
454 252,233,244,253,248,2,131,252,250,7,15,132,244,247,15,135,244,248,217,252, 458 253,248,1,232,244,156,255,80,252,233,244,253,248,2,131,252,250,7,15,132,244,
455 237,217,201,217,252,241,252,233,244,253,248,1,217,232,217,201,217,252,241, 459 247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,253,248,1,
456 252,233,244,253,248,2,131,252,250,9,15,132,244,247,15,135,244,248,217,252, 460 217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,250,9,15,132,244,
457 236,217,201,217,252,241,252,233,244,253,248,1,255,217,252,254,252,233,244, 461 247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,253,248,1,
458 253,248,2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,252,233, 462 255,217,252,254,252,233,244,253,248,2,131,252,250,11,15,132,244,247,15,135,
459 244,253,248,1,217,252,242,221,216,248,7,221,92,36,8,252,242,15,16,68,36,8, 463 244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,248,7,221,92,
460 195,255,139,84,36,12,221,68,36,4,131,252,250,1,15,130,244,89,15,132,244,91, 464 36,8,252,242,15,16,68,36,8,195,255,139,84,36,12,221,68,36,4,131,252,250,1,
461 131,252,250,3,15,130,244,112,15,135,244,248,217,252,250,195,248,2,131,252, 465 15,130,244,89,15,132,244,91,131,252,250,3,15,130,244,112,15,135,244,248,217,
462 250,5,15,130,244,96,15,132,244,156,131,252,250,7,15,132,244,247,15,135,244, 466 252,250,195,248,2,131,252,250,5,15,130,244,96,15,132,244,156,131,252,250,
463 248,217,252,237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241, 467 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,
464 195,248,2,131,252,250,9,15,132,244,247,255,15,135,244,248,217,252,236,217, 468 217,232,217,201,217,252,241,195,248,2,131,252,250,9,15,132,244,247,255,15,
465 201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,250,11,15,132,244, 469 135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,
466 247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216,195,255,248, 470 2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,
467 9,204,255,248,161,255,65,131,252,248,1,15,132,244,247,15,135,244,248,252, 471 252,242,221,216,195,255,248,9,204,255,248,161,255,65,131,252,248,1,15,132,
468 242,15,88,193,195,248,1,252,242,15,92,193,195,248,2,65,131,252,248,3,15,132, 472 244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92,193,195,
469 244,247,15,135,244,248,252,242,15,89,193,195,248,1,252,242,15,94,193,195, 473 248,2,65,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15,89,193,195,
470 248,2,65,131,252,248,5,15,130,244,155,15,132,244,115,65,131,252,248,7,15, 474 248,1,252,242,15,94,193,195,248,2,65,131,252,248,5,15,130,244,155,15,132,
471 132,244,247,15,135,244,248,72,184,237,237,255,102,72,15,110,200,15,87,193, 475 244,115,65,131,252,248,7,15,132,244,247,15,135,244,248,72,184,237,237,255,
472 195,248,1,72,184,237,237,102,72,15,110,200,15,84,193,195,248,2,65,131,252, 476 102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15,
473 248,9,15,135,244,248,252,242,15,17,68,36,8,252,242,15,17,76,36,16,221,68, 477 84,193,195,248,2,65,131,252,248,9,15,135,244,248,252,242,15,17,68,36,8,252,
474 36,8,221,68,36,16,15,132,244,247,217,252,243,248,7,221,92,36,8,252,242,15, 478 242,15,17,76,36,16,221,68,36,8,221,68,36,16,15,132,244,247,217,252,243,248,
475 16,68,36,8,195,248,1,217,201,217,252,253,221,217,252,233,244,7,248,2,65,131, 479 7,221,92,36,8,252,242,15,16,68,36,8,195,248,1,217,201,217,252,253,221,217,
476 252,248,11,15,132,244,247,15,135,244,255,252,242,15,93,193,195,248,1,252, 480 252,233,244,7,248,2,65,131,252,248,11,15,132,244,247,15,135,244,255,252,242,
477 242,15,95,193,195,248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131, 481 15,93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68,36,20,221,
478 252,248,1,15,132,244,247,15,135,244,248,222,193,195,248,1,222,252,233,195, 482 68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193,
479 248,2,131,252,248,3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252, 483 195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248,
480 249,195,248,2,131,252,248,5,15,130,244,155,15,132,244,115,131,252,248,7,15, 484 222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,155,15,132,
481 132,244,247,15,135,244,248,255,221,216,217,224,195,248,1,221,216,217,225, 485 244,115,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195,
482 195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217,252,243,195,248, 486 248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,
483 1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15, 487 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,
484 135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,252,233,218,209, 488 15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,
485 221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,248,217,201,248, 489 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,
486 2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,244,248,217,201, 490 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,
487 248,2,221,216,195,255,248,162,137,200,86,72,137,214,83,15,162,137,6,137,94, 491 244,248,217,201,248,2,221,216,195,255,248,162,137,200,86,72,137,214,83,15,
488 4,137,78,8,137,86,12,91,94,195,248,163,255,85,72,137,229,83,72,137,203,139, 492 162,137,6,137,94,4,137,78,8,137,86,12,91,94,195,248,163,255,85,72,137,229,
489 131,233,72,41,196,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1,72, 493 83,72,137,203,139,131,233,72,41,196,255,15,182,139,233,131,252,233,1,15,136,
490 139,132,253,203,233,72,137,132,253,204,233,131,252,233,1,15,137,244,1,248, 494 244,248,248,1,72,139,132,253,203,233,72,137,132,253,204,233,131,252,233,1,
491 2,15,182,131,233,72,139,139,233,72,139,147,233,76,139,131,233,76,139,139, 495 15,137,244,1,248,2,15,182,131,233,72,139,139,233,72,139,147,233,76,139,131,
492 233,133,192,15,132,244,251,15,40,131,233,15,40,139,233,15,40,147,233,15,40, 496 233,76,139,139,233,133,192,15,132,244,251,15,40,131,233,15,40,139,233,15,
493 155,233,248,5,255,252,255,147,233,72,137,131,233,15,41,131,233,255,72,139, 497 40,147,233,15,40,155,233,248,5,255,252,255,147,233,72,137,131,233,15,41,131,
494 93,252,248,201,195,255,248,164,255,249,255,129,124,253,202,4,239,15,133,244, 498 233,255,72,139,93,252,248,201,195,255,248,164,255,249,255,129,124,253,202,
495 253,129,124,253,194,4,239,15,133,244,254,139,44,202,131,198,4,59,44,194,255, 499 4,239,15,133,244,253,129,124,253,194,4,239,15,133,244,254,139,44,202,131,
496 15,141,244,255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255, 500 198,4,59,44,194,255,15,141,244,255,255,15,140,244,255,255,15,143,244,255,
497 248,6,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182, 501 255,15,142,244,255,255,248,6,15,183,70,252,254,141,180,253,134,233,248,9,
498 232,131,198,4,193,232,16,252,255,36,252,235,248,7,15,135,244,43,129,124,253, 502 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,7,
499 194,4,239,15,130,244,247,15,133,244,43,255,252,242,15,42,4,194,252,233,244, 503 15,135,244,43,129,124,253,194,4,239,15,130,244,247,15,133,244,43,255,252,
500 248,255,221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,43,255,252, 504 242,15,42,4,194,252,233,244,248,255,221,4,202,219,4,194,252,233,244,249,255,
501 242,15,42,12,202,252,242,15,16,4,194,131,198,4,102,15,46,193,255,15,134,244, 505 248,8,15,135,244,43,255,252,242,15,42,12,202,252,242,15,16,4,194,131,198,
502 9,255,15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255, 506 4,102,15,46,193,255,15,134,244,9,255,15,135,244,9,255,15,130,244,9,255,15,
503 219,4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,43,129,124, 507 131,244,9,255,252,233,244,6,255,219,4,202,252,233,244,248,255,129,124,253,
504 253,194,4,239,15,131,244,43,255,248,1,252,242,15,16,4,194,248,2,131,198,4, 508 202,4,239,15,131,244,43,129,124,253,194,4,239,15,131,244,43,255,248,1,252,
505 102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4, 509 242,15,16,4,194,248,2,131,198,4,102,15,46,4,202,248,3,255,248,1,221,4,202,
506 255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,247,255, 510 248,2,221,4,194,248,3,131,198,4,255,223,252,233,221,216,255,218,252,233,223,
507 15,135,244,247,255,15,130,244,247,255,15,131,244,247,255,15,183,70,252,254, 511 224,158,255,15,134,244,247,255,15,135,244,247,255,15,130,244,247,255,15,131,
508 141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16, 512 244,247,255,15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,
509 252,255,36,252,235,255,139,108,194,4,131,198,4,255,129,252,253,239,15,133, 513 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,108,194,4,131,
510 244,253,129,124,253,202,4,239,15,133,244,254,139,44,194,59,44,202,255,15, 514 198,4,255,129,252,253,239,15,133,244,253,129,124,253,202,4,239,15,133,244,
511 133,244,255,255,15,132,244,255,255,15,183,70,252,254,141,180,253,134,233, 515 254,139,44,194,59,44,202,255,15,133,244,255,255,15,132,244,255,255,15,183,
512 248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, 516 70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182,232,131,198,
513 248,7,15,135,244,251,129,124,253,202,4,239,15,130,244,247,15,133,244,251, 517 4,193,232,16,252,255,36,252,235,248,7,15,135,244,251,129,124,253,202,4,239,
514 255,252,242,15,42,4,202,255,219,4,202,255,252,233,244,248,248,8,15,135,244, 518 15,130,244,247,15,133,244,251,255,252,242,15,42,4,202,255,219,4,202,255,252,
515 251,255,252,242,15,42,4,194,102,15,46,4,202,255,219,4,194,221,4,202,255,252, 519 233,244,248,248,8,15,135,244,251,255,252,242,15,42,4,194,102,15,46,4,202,
516 233,244,250,255,129,252,253,239,15,131,244,251,129,124,253,202,4,239,15,131, 520 255,219,4,194,221,4,202,255,252,233,244,250,255,129,252,253,239,15,131,244,
517 244,251,255,248,1,252,242,15,16,4,202,248,2,102,15,46,4,194,248,4,255,248, 521 251,129,124,253,202,4,239,15,131,244,251,255,248,1,252,242,15,16,4,202,248,
518 1,221,4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15, 522 2,102,15,46,4,194,248,4,255,248,1,221,4,202,248,2,221,4,194,248,4,255,15,
519 138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233, 523 138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,15,
520 248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252,233,244, 524 183,70,252,254,141,180,253,134,233,248,2,255,248,2,15,183,70,252,254,141,
521 9,255,129,252,253,239,15,132,244,48,129,124,253,202,4,239,15,132,244,48,255, 525 180,253,134,233,248,1,255,252,233,244,9,255,129,252,253,239,15,132,244,48,
522 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194, 526 129,124,253,202,4,239,15,132,244,48,255,57,108,202,4,15,133,244,2,129,252,
523 57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237, 527 253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,
524 15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0, 528 239,15,135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,
525 0,0,255,252,233,244,47,255,248,3,129,252,253,239,255,15,133,244,9,255,252, 529 15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,47,255,248,3,
526 233,244,48,255,72,252,247,208,139,108,202,4,131,198,4,129,252,253,239,15, 530 129,252,253,239,255,15,133,244,9,255,252,233,244,48,255,72,252,247,208,139,
527 133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,4,255,129,252, 531 108,202,4,131,198,4,129,252,253,239,15,133,244,249,139,12,202,59,12,135,255,
528 253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,254,139,44,199,59, 532 139,108,202,4,131,198,4,255,129,252,253,239,15,133,244,253,129,124,253,199,
529 44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15, 533 4,239,15,133,244,254,139,44,199,59,44,202,255,15,183,70,252,254,141,180,253,
530 182,232,131,198,4,193,232,16,252,255,36,252,235,248,7,15,135,244,249,129, 534 134,233,248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
531 124,253,199,4,239,15,130,244,247,255,252,242,15,42,4,199,255,219,4,199,255, 535 252,235,248,7,15,135,244,249,129,124,253,199,4,239,15,130,244,247,255,252,
532 252,233,244,248,248,8,255,252,242,15,42,4,202,102,15,46,4,199,255,219,4,202, 536 242,15,42,4,199,255,219,4,199,255,252,233,244,248,248,8,255,252,242,15,42,
533 221,4,199,255,129,252,253,239,15,131,244,249,255,248,1,252,242,15,16,4,199, 537 4,202,102,15,46,4,199,255,219,4,202,221,4,199,255,129,252,253,239,15,131,
534 248,2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,2,221,4,202,248,4,255, 538 244,249,255,248,1,252,242,15,16,4,199,248,2,102,15,46,4,202,248,4,255,248,
535 72,252,247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70, 539 1,221,4,199,248,2,221,4,202,248,4,255,72,252,247,208,139,108,202,4,131,198,
536 252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193, 540 4,57,197,255,15,133,244,249,15,183,70,252,254,141,180,253,134,233,248,2,139,
537 232,16,252,255,36,252,235,248,3,129,252,253,239,15,133,244,2,252,233,244, 541 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,129,
538 48,255,15,132,244,248,129,252,253,239,15,132,244,48,15,183,70,252,254,141, 542 252,253,239,15,133,244,2,252,233,244,48,255,15,132,244,248,129,252,253,239,
539 180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 543 15,132,244,48,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,
540 255,36,252,235,255,139,108,194,4,131,198,4,129,252,253,239,255,137,108,202, 544 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,108,194,4,131,
541 4,139,44,194,137,44,202,255,72,139,44,194,72,137,44,202,139,6,15,182,204, 545 198,4,129,252,253,239,255,137,108,202,4,139,44,194,137,44,202,255,72,139,
542 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,49,252,237,129,124, 546 44,194,72,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
543 253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198, 547 255,36,252,235,255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,
544 4,193,232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,133,244,251, 548 4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,
545 139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139, 549 129,124,253,194,4,239,15,133,244,251,139,44,194,252,247,221,15,128,244,250,
546 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,199, 550 199,68,202,4,237,137,44,202,248,9,139,6,15,182,204,15,182,232,131,198,4,193,
547 68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,53,255, 551 232,16,252,255,36,252,235,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0,
548 129,124,253,194,4,239,15,131,244,53,255,252,242,15,16,4,194,72,184,237,237, 552 252,233,244,9,248,5,15,135,244,53,255,129,124,253,194,4,239,15,131,244,53,
549 102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221, 553 255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,242,
550 28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233, 554 15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,
551 248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248, 555 133,244,248,139,4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255,
552 1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204, 556 15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,
553 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194, 557 248,1,221,28,202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
554 4,239,15,133,244,56,139,12,194,137,213,232,251,1,20,255,252,242,15,42,192, 558 255,36,252,235,248,2,129,124,253,194,4,239,15,133,244,56,139,12,194,137,213,
555 255,137,252,234,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182, 559 232,251,1,20,255,252,242,15,42,192,255,137,252,234,15,182,78,252,253,252,
556 192,255,129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15, 560 233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,
557 133,244,50,139,44,252,234,3,44,199,15,128,244,49,255,129,124,253,252,234, 561 133,244,50,129,124,253,199,4,239,15,133,244,50,139,44,252,234,3,44,199,15,
558 4,239,15,133,244,52,129,124,253,199,4,239,15,133,244,52,139,4,199,3,4,252, 562 128,244,49,255,129,124,253,252,234,4,239,15,133,244,52,129,124,253,199,4,
559 234,15,128,244,51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,253, 563 239,15,133,244,52,139,4,199,3,4,252,234,15,128,244,51,255,129,124,253,252,
560 194,4,239,15,133,244,55,139,44,252,234,3,44,194,15,128,244,54,255,199,68, 564 234,4,239,15,133,244,55,129,124,253,194,4,239,15,133,244,55,139,44,252,234,
561 202,4,237,255,129,124,253,252,234,4,239,15,131,244,50,255,129,124,253,199, 565 3,44,194,15,128,244,54,255,199,68,202,4,237,255,129,124,253,252,234,4,239,
562 4,239,15,131,244,50,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221, 566 15,131,244,50,255,129,124,253,199,4,239,15,131,244,50,255,252,242,15,16,4,
563 4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,52,255,129,124, 567 252,234,252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,
564 253,199,4,239,15,131,244,52,255,252,242,15,16,4,199,252,242,15,88,4,252,234, 568 234,4,239,15,131,244,52,255,129,124,253,199,4,239,15,131,244,52,255,252,242,
565 255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,55,129, 569 15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124,
566 124,253,194,4,239,15,131,244,55,255,252,242,15,16,4,252,234,252,242,15,88, 570 253,252,234,4,239,15,131,244,55,129,124,253,194,4,239,15,131,244,55,255,252,
567 4,194,255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244, 571 242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,129,
568 50,129,124,253,199,4,239,15,133,244,50,139,44,252,234,43,44,199,15,128,244, 572 124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,
569 49,255,129,124,253,252,234,4,239,15,133,244,52,129,124,253,199,4,239,15,133, 573 44,252,234,43,44,199,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,
570 244,52,139,4,199,43,4,252,234,15,128,244,51,255,129,124,253,252,234,4,239, 574 52,129,124,253,199,4,239,15,133,244,52,139,4,199,43,4,252,234,15,128,244,
571 15,133,244,55,129,124,253,194,4,239,15,133,244,55,139,44,252,234,43,44,194, 575 51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,253,194,4,239,15,133,
572 15,128,244,54,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252, 576 244,55,139,44,252,234,43,44,194,15,128,244,54,255,252,242,15,16,4,252,234,
573 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4, 577 252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4,199,
574 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221, 578 252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16,4,
575 4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,50,129,124, 579 252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,129,124,253,
576 253,199,4,239,15,133,244,50,139,44,252,234,15,175,44,199,15,128,244,49,255, 580 252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,44,252,
577 129,124,253,252,234,4,239,15,133,244,52,129,124,253,199,4,239,15,133,244, 581 234,15,175,44,199,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,
578 52,139,4,199,15,175,4,252,234,15,128,244,51,255,129,124,253,252,234,4,239, 582 52,129,124,253,199,4,239,15,133,244,52,139,4,199,15,175,4,252,234,15,128,
579 15,133,244,55,129,124,253,194,4,239,15,133,244,55,139,44,252,234,15,175,44, 583 244,51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,253,194,4,239,
580 194,15,128,244,54,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221, 584 15,133,244,55,139,44,252,234,15,175,44,194,15,128,244,54,255,252,242,15,16,
581 4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255, 585 4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199,255,252,242,15,
582 221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194, 586 16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252,234,255,252,242,
583 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4, 587 15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,
584 199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94,4, 588 242,15,16,4,252,234,252,242,15,94,4,199,255,221,4,252,234,220,52,199,255,
585 252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242, 589 252,242,15,16,4,199,252,242,15,94,4,252,234,255,221,4,199,220,52,252,234,
586 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252, 590 255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,
587 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252, 591 194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221,4,252,234,221,
588 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252, 592 4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255,221,4,199,221,
589 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,165,232,244, 593 4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252,
590 155,255,252,233,244,165,255,232,244,115,255,15,182,252,236,15,182,192,139, 594 234,221,4,194,255,248,165,232,244,155,255,252,233,244,165,255,232,244,115,
591 76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,248,35,137,205,137,116, 595 255,15,182,252,236,15,182,192,139,76,36,96,137,145,233,141,20,194,65,137,
592 36,100,232,251,1,27,139,149,233,133,192,15,133,244,44,15,182,110,252,255, 596 192,65,41,232,248,35,137,205,137,116,36,100,232,251,1,27,139,149,233,133,
593 15,182,78,252,253,72,139,4,252,234,72,137,4,202,139,6,15,182,204,15,182,232, 597 192,15,133,244,44,15,182,110,252,255,15,182,78,252,253,72,139,4,252,234,72,
594 131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,4,135,199, 598 137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
595 68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 599 235,255,72,252,247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,
596 255,36,252,235,255,15,191,192,199,68,202,4,237,137,4,202,255,15,191,192,252, 600 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,15,191,192,199,
597 242,15,42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242, 601 68,202,4,237,137,4,202,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,
598 15,16,4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,72,252,247,208, 602 255,223,70,252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17,4,202,
599 137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 603 255,221,4,199,221,28,202,255,72,252,247,208,137,68,202,4,139,6,15,182,204,
600 252,235,255,141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137, 604 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,141,76,202,12,141,
601 41,131,193,8,57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193, 605 68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,
602 232,16,252,255,36,252,235,255,139,106,252,248,139,172,253,133,233,139,173, 606 1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,
603 233,72,139,69,0,72,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232, 607 139,106,252,248,139,172,253,133,233,139,173,233,72,139,69,0,72,137,4,202,
604 16,252,255,36,252,235,255,139,106,252,248,139,172,253,141,233,128,189,233, 608 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,
605 0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252, 609 106,252,248,139,172,253,141,233,128,189,233,0,139,173,233,139,12,194,139,
606 246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198, 610 68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244,
607 4,193,232,16,252,255,36,252,235,248,2,129,232,239,129,252,248,239,15,134, 611 248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
608 244,1,252,246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1, 612 235,248,2,129,232,239,129,252,248,239,15,134,244,1,252,246,129,233,235,15,
609 28,137,252,234,252,233,244,1,255,72,252,247,208,139,106,252,248,139,172,253, 613 132,244,1,135,213,141,139,233,255,232,251,1,28,137,252,234,252,233,244,1,
610 141,233,139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15, 614 255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,12,135,139,133,
611 133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 615 233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,6,15,
612 36,252,235,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244, 616 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,252,246,
613 1,137,213,137,194,141,139,233,232,251,1,28,137,252,234,252,233,244,1,255, 617 129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,194,141,139,
614 139,106,252,248,255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233, 618 233,232,251,1,28,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,
615 255,252,242,15,17,1,255,221,25,255,72,252,247,208,139,106,252,248,139,172, 619 15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,
616 253,141,233,139,141,233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193, 620 25,255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,
617 232,16,252,255,36,252,235,255,141,180,253,134,233,139,108,36,96,131,189,233, 621 65,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
618 0,15,132,244,247,137,149,233,141,20,202,137,252,233,232,251,1,29,139,149, 622 255,141,180,253,134,233,139,108,36,96,131,189,233,0,15,132,244,247,137,149,
619 233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, 623 233,141,20,202,137,252,233,232,251,1,29,139,149,233,248,1,139,6,15,182,204,
620 235,255,72,252,247,208,139,108,36,96,137,149,233,68,139,66,252,248,139,20, 624 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,
621 135,137,252,233,137,116,36,100,232,251,1,30,139,149,233,15,182,78,252,253, 625 108,36,96,137,149,233,68,139,66,252,248,139,20,135,137,252,233,137,116,36,
626 100,232,251,1,30,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,
627 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,
628 108,36,96,137,149,233,139,139,233,59,139,233,137,116,36,100,15,131,244,251,
629 248,1,65,137,192,37,252,255,7,0,0,65,193,232,11,61,252,255,7,0,0,15,132,244,
630 249,248,2,137,252,233,137,194,232,251,1,31,139,149,233,15,182,78,252,253,
622 137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232, 631 137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,
623 16,252,255,36,252,235,255,139,108,36,96,137,149,233,139,139,233,59,139,233, 632 16,252,255,36,252,235,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,232,
624 137,116,36,100,15,131,244,251,248,1,65,137,192,37,252,255,7,0,0,65,193,232, 633 251,1,32,15,183,70,252,254,252,233,244,1,255,72,252,247,208,139,108,36,96,
625 11,61,252,255,7,0,0,15,132,244,249,248,2,137,252,233,137,194,232,251,1,31, 634 139,139,233,137,116,36,100,59,139,233,137,149,233,15,131,244,249,248,2,139,
626 139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204, 635 20,135,137,252,233,232,251,1,33,139,149,233,15,182,78,252,253,137,4,202,199,
627 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,184,1,8,0,0,252, 636 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
628 233,244,2,248,5,137,252,233,232,251,1,32,15,183,70,252,254,252,233,244,1, 637 252,235,248,3,137,252,233,232,251,1,32,15,183,70,252,254,72,252,247,208,252,
629 255,72,252,247,208,139,108,36,96,139,139,233,137,116,36,100,59,139,233,137, 638 233,244,2,255,72,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,
630 149,233,15,131,244,249,248,2,139,20,135,137,252,233,232,251,1,33,139,149, 639 244,166,255,72,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,
631 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182, 640 244,167,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,
632 232,131,198,4,193,232,16,252,255,36,252,235,248,3,137,252,233,232,251,1,32, 641 38,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251,139,4,194,255,
633 15,183,70,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106, 642 129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194,252,242,15,45,
634 252,248,139,173,233,139,4,135,252,233,244,166,255,72,252,247,208,139,106, 643 192,252,242,15,42,200,102,15,46,193,255,15,133,244,38,255,59,133,233,15,131,
635 252,248,139,173,233,139,4,135,252,233,244,167,255,15,182,252,236,15,182,192, 644 244,38,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,72,139,40,72,
636 129,124,253,252,234,4,239,15,133,244,38,139,44,252,234,255,129,124,253,194, 645 137,44,202,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
637 4,239,15,133,244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255, 646 36,252,235,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,
638 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255, 647 235,15,132,244,38,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,
639 15,133,244,38,255,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253, 648 248,5,255,129,124,253,194,4,239,15,133,244,38,139,4,194,252,233,244,166,255,
640 4,239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182, 649 15,182,252,236,15,182,192,72,252,247,208,139,4,135,129,124,253,252,234,4,
641 232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244, 650 239,15,133,244,36,139,44,252,234,248,166,139,141,233,35,136,233,105,201,239,
642 249,139,141,233,252,246,129,233,235,15,132,244,38,15,182,78,252,253,248,3, 651 3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233,15,133,244,250,
643 199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244, 652 129,121,253,4,239,15,132,244,251,15,182,70,252,253,72,139,41,72,137,44,194,
644 38,139,4,194,252,233,244,166,255,15,182,252,236,15,182,192,72,252,247,208, 653 248,2,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
645 139,4,135,129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,248,166, 654 235,248,3,15,182,70,252,253,199,68,194,4,237,252,233,244,2,248,4,139,137,
646 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133, 655 233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,
647 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182, 656 233,235,15,133,244,3,252,233,244,36,255,15,182,252,236,15,182,192,129,124,
648 70,252,253,72,139,41,72,137,44,194,248,2,255,139,6,15,182,204,15,182,232, 657 253,252,234,4,239,15,133,244,37,139,44,252,234,59,133,233,15,131,244,37,193,
649 131,198,4,193,232,16,252,255,36,252,235,248,3,15,182,70,252,253,199,68,194, 658 224,3,3,133,233,129,120,253,4,239,15,132,244,248,72,139,40,72,137,44,202,
650 4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141, 659 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
651 233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,36, 660 248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,
652 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,37,139, 661 244,37,255,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,255,15,
653 44,252,234,59,133,233,15,131,244,37,193,224,3,3,133,233,129,120,253,4,239, 662 182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,41,139,44,252,
654 15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,232, 663 234,255,15,133,244,41,255,59,133,233,15,131,244,41,193,224,3,3,133,233,129,
655 131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,249, 664 120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,
656 139,141,233,252,246,129,233,235,15,132,244,37,255,15,182,78,252,253,248,3, 665 2,72,139,44,202,72,137,40,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
657 199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,253, 666 252,255,36,252,235,248,3,131,189,233,0,15,132,244,1,139,141,233,252,246,129,
658 252,234,4,239,15,133,244,41,139,44,252,234,255,15,133,244,41,255,59,133,233, 667 233,235,255,15,132,244,41,15,182,78,252,253,252,233,244,1,248,5,129,124,253,
659 15,131,244,41,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1, 668 194,4,239,15,133,244,41,139,4,194,252,233,244,167,248,7,128,165,233,235,139,
660 252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,6,15, 669 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182,
661 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189, 670 252,236,15,182,192,72,252,247,208,139,4,135,129,124,253,252,234,4,239,15,
662 233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,41,15,182, 671 133,244,39,139,44,252,234,248,167,139,141,233,35,136,233,105,201,239,198,
663 78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,41,139,4, 672 133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,
664 194,252,233,244,167,248,7,128,165,233,235,139,139,233,137,171,233,137,141, 673 244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,
665 233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,72,252, 674 133,244,253,248,3,15,182,70,252,253,72,139,44,194,72,137,41,139,6,15,182,
666 247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,39,139,44,252,234, 675 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,131,189,233,
667 248,167,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1, 676 0,15,132,244,2,137,76,36,80,139,141,233,252,246,129,233,235,15,132,244,39,
668 129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239, 677 139,76,36,80,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139,
669 15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182, 678 141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,39,248,6,137,
670 70,252,253,72,139,44,194,72,137,41,139,6,15,182,204,15,182,232,131,198,4, 679 68,36,80,199,68,36,84,237,137,108,36,32,139,76,36,96,137,145,233,76,141,68,
671 193,232,16,252,255,36,252,235,248,4,131,189,233,0,15,132,244,2,137,76,36, 680 36,80,137,252,234,137,205,137,116,36,100,232,251,1,34,139,149,233,139,108,
672 80,139,141,233,252,246,129,233,235,15,132,244,39,139,76,36,80,252,233,244, 681 36,32,137,193,252,233,244,2,248,7,128,165,233,235,139,131,233,137,171,233,
673 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244, 682 137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,234,
674 252,252,246,129,233,235,15,132,244,39,248,6,137,68,36,80,199,68,36,84,237, 683 4,239,15,133,244,40,139,44,252,234,59,133,233,15,131,244,40,193,224,3,3,133,
675 137,108,36,32,139,76,36,96,137,145,233,76,141,68,36,80,137,252,234,137,205, 684 233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,
676 137,116,36,100,232,251,1,34,139,149,233,139,108,36,32,137,193,252,233,244, 685 253,248,2,72,139,12,202,72,137,8,139,6,15,182,204,15,182,232,131,198,4,193,
677 2,248,7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3, 686 232,16,252,255,36,252,235,248,3,131,189,233,0,15,132,244,1,255,139,141,233,
678 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,40,139, 687 252,246,129,233,235,15,132,244,40,15,182,78,252,253,252,233,244,1,248,7,128,
679 44,252,234,59,133,233,15,131,244,40,193,224,3,3,133,233,129,120,253,4,239, 688 165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,
680 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202, 689 244,2,255,137,124,36,80,139,60,199,248,1,141,12,202,139,105,252,248,252,246,
681 72,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, 690 133,233,235,15,133,244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1,
682 235,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235, 691 252,248,59,133,233,15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,72,
683 15,132,244,40,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,139, 692 139,41,131,193,8,72,137,47,131,199,8,131,232,1,15,133,244,3,248,4,139,124,
684 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,36, 693 36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
685 80,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133, 694 248,5,139,76,36,96,137,145,233,137,252,234,65,137,192,137,205,137,116,36,
686 244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1,252,248,59,133,233, 695 100,232,251,1,35,139,149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,
687 15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,72,139,41,131,193,8,72, 696 165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,
688 137,47,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,80,139,6,15,182, 697 84,255,129,124,253,202,4,239,139,44,202,15,133,244,57,141,84,202,8,137,114,
689 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,139,76,36,96, 698 252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,
690 137,145,233,137,252,234,65,137,192,137,205,137,116,36,100,232,251,1,35,139, 699 252,235,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239,
691 149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131, 700 15,133,244,29,248,58,139,114,252,252,252,247,198,237,15,133,244,253,248,1,
692 233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,84,255,129,124,253, 701 137,106,252,248,137,68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131,
693 202,4,239,139,44,202,15,133,244,57,141,84,202,8,137,114,252,252,139,181,233, 702 193,8,72,137,47,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,
694 139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,141,76, 703 68,36,84,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,
695 202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,29,248,58, 704 233,15,182,205,131,198,4,252,255,36,252,235,248,5,255,252,247,198,237,15,
696 139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137, 705 133,244,4,15,182,78,252,253,72,252,247,209,141,12,202,139,121,252,248,139,
697 68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131,193,8,72,137,47,131, 706 191,233,139,191,233,252,233,244,4,248,7,129,252,238,239,252,247,198,237,15,
698 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,84,128,189,233, 707 133,244,254,41,252,242,137,215,139,114,252,252,252,233,244,1,248,8,129,198,
699 1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,131,198, 708 239,252,233,244,1,255,141,76,202,8,72,139,105,232,72,139,65,252,240,72,137,
700 4,252,255,36,252,235,248,5,255,252,247,198,237,15,133,244,4,15,182,78,252, 709 41,72,137,65,8,139,105,224,139,65,228,137,105,252,248,137,65,252,252,129,
701 253,72,252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252, 710 252,248,239,184,237,15,133,244,29,137,202,137,114,252,252,139,181,233,139,
702 233,244,4,248,7,129,252,238,239,252,247,198,237,15,133,244,254,41,252,242, 711 14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,137,124,36,
703 137,215,139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255, 712 80,137,92,36,84,139,108,202,252,240,139,68,202,252,248,139,157,233,131,198,
704 141,76,202,8,72,139,105,232,72,139,65,252,240,72,137,41,72,137,65,8,139,105, 713 4,139,189,233,248,1,57,216,15,131,244,251,129,124,253,199,4,239,15,132,244,
705 224,139,65,228,137,105,252,248,137,65,252,252,129,252,248,239,184,237,15, 714 250,255,219,68,202,252,248,255,72,139,44,199,72,137,108,202,8,131,192,1,255,
706 133,244,29,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182, 715 137,68,202,252,248,248,2,15,183,70,252,254,141,180,253,134,233,248,3,139,
707 205,131,198,4,252,255,36,252,235,255,137,124,36,80,137,92,36,84,139,108,202, 716 92,36,84,139,124,36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
708 252,240,139,68,202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216, 717 255,36,252,235,248,4,131,192,1,255,137,68,202,252,248,255,252,233,244,1,248,
709 15,131,244,251,129,124,253,199,4,239,15,132,244,250,255,219,68,202,252,248, 718 5,41,216,248,6,59,133,233,15,135,244,3,105,252,248,239,3,189,233,129,191,
710 255,72,139,44,199,72,137,108,202,8,131,192,1,255,137,68,202,252,248,248,2, 719 233,239,15,132,244,253,141,92,24,1,72,139,175,233,72,139,135,233,72,137,44,
711 15,183,70,252,254,141,180,253,134,233,248,3,139,92,36,84,139,124,36,80,139, 720 202,72,137,68,202,8,137,92,202,252,248,252,233,244,2,248,7,131,192,1,252,
712 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,131, 721 233,244,6,255,129,124,253,202,252,236,239,15,133,244,251,139,108,202,232,
713 192,1,255,137,68,202,252,248,255,252,233,244,1,248,5,41,216,248,6,59,133, 722 129,124,253,202,252,244,239,15,133,244,251,129,124,253,202,252,252,239,15,
714 233,15,135,244,3,105,252,248,239,3,189,233,129,191,233,239,15,132,244,253, 723 133,244,251,128,189,233,235,15,133,244,251,141,180,253,134,233,199,68,202,
715 141,92,24,1,72,139,175,233,72,139,135,233,72,137,44,202,72,137,68,202,8,137, 724 252,248,0,0,0,0,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
716 92,202,252,248,252,233,244,2,248,7,131,192,1,252,233,244,6,255,129,124,253, 725 255,36,252,235,248,5,198,70,252,252,235,141,180,253,134,233,198,6,235,252,
717 202,252,236,239,15,133,244,251,139,108,202,232,129,124,253,202,252,244,239, 726 233,244,1,255,15,182,252,236,15,182,192,137,124,36,80,141,188,253,194,233,
718 15,133,244,251,129,124,253,202,252,252,239,15,133,244,251,128,189,233,235, 727 141,12,202,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233,252,
719 15,133,244,251,141,180,253,134,233,199,68,202,252,248,0,0,0,0,248,1,139,6, 728 248,57,215,15,131,244,248,248,1,72,139,71,252,248,131,199,8,72,137,1,131,
720 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,198,70, 729 193,8,57,252,233,15,131,244,249,57,215,15,130,244,1,248,2,199,65,4,237,131,
721 252,252,235,141,180,253,134,233,198,6,235,252,233,244,1,255,15,182,252,236, 730 193,8,57,252,233,15,130,244,2,248,3,139,124,36,80,139,6,15,182,204,15,182,
722 15,182,192,137,124,36,80,141,188,253,194,233,141,12,202,43,122,252,252,133, 731 232,131,198,4,193,232,16,252,255,36,252,235,248,5,199,68,36,84,1,0,0,0,137,
723 252,237,15,132,244,251,141,108,252,233,252,248,57,215,15,131,244,248,248, 732 208,41,252,248,15,134,244,3,137,197,193,252,237,3,131,197,1,137,108,36,84,
724 1,72,139,71,252,248,131,199,8,72,137,1,131,193,8,57,252,233,15,131,244,249, 733 139,108,36,96,1,200,59,133,233,15,135,244,253,248,6,255,72,139,71,252,248,
725 57,215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2, 734 131,199,8,72,137,1,131,193,8,57,215,15,130,244,6,252,233,244,3,248,7,137,
726 248,3,139,124,36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 735 149,233,137,141,233,137,116,36,100,41,215,139,84,36,84,131,252,234,1,137,
727 255,36,252,235,248,5,199,68,36,84,1,0,0,0,137,208,41,252,248,15,134,244,3, 736 252,233,232,251,1,0,139,149,233,139,141,233,1,215,252,233,244,6,255,193,225,
728 137,197,193,252,237,3,131,197,1,137,108,36,84,139,108,36,96,1,200,59,133, 737 3,255,248,1,139,114,252,252,137,68,36,84,252,247,198,237,15,133,244,253,255,
729 233,15,135,244,253,248,6,255,72,139,71,252,248,131,199,8,72,137,1,131,193, 738 248,13,137,215,131,232,1,15,132,244,249,248,2,72,139,44,15,72,137,111,252,
730 8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,116, 739 248,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,84,15,182,110,252,255,
731 36,100,41,215,139,84,36,84,131,252,234,1,137,252,233,232,251,1,0,139,149, 740 248,5,57,197,15,135,244,252,255,72,139,44,10,72,137,106,252,248,255,248,5,
732 233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248,1,139,114,252,252, 741 56,70,252,255,15,135,244,252,255,15,182,78,252,253,72,252,247,209,141,20,
733 137,68,36,84,252,247,198,237,15,133,244,253,255,248,13,137,215,131,232,1, 742 202,139,122,252,248,139,191,233,139,191,233,139,6,15,182,204,15,182,232,131,
734 15,132,244,249,248,2,72,139,44,15,72,137,111,252,248,131,199,8,131,232,1, 743 198,4,193,232,16,252,255,36,252,235,248,6,255,199,71,252,252,237,131,199,
735 15,133,244,2,248,3,139,68,36,84,15,182,110,252,255,248,5,57,197,15,135,244, 744 8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,7,141,174,233,
736 252,255,72,139,44,10,72,137,106,252,248,255,248,5,56,70,252,255,15,135,244, 745 252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255,137,252,245,209,
737 252,255,15,182,78,252,253,72,252,247,209,141,20,202,139,122,252,248,139,191, 746 252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,147,255,141,12,202,
738 233,139,191,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 747 255,129,121,253,4,239,15,133,244,255,255,129,121,253,12,239,15,133,244,59,
739 36,252,235,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194,252,244, 748 129,121,253,20,239,15,133,244,59,139,41,131,121,16,0,15,140,244,251,255,129,
740 237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237,15,133, 749 121,253,12,239,15,133,244,164,129,121,253,20,239,15,133,244,164,255,139,105,
741 244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229,239,102, 750 16,133,252,237,15,136,244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,
742 131,172,253,43,233,1,15,132,244,147,255,141,12,202,255,129,121,253,4,239, 751 65,28,237,137,105,24,255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,
743 15,133,244,255,255,129,121,253,12,239,15,133,244,59,129,121,253,20,239,15, 752 141,180,253,134,233,15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,
744 133,244,59,139,41,131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133, 753 253,248,6,141,180,253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,
745 244,164,129,121,253,20,239,15,133,244,164,255,139,105,16,133,252,237,15,136, 754 131,198,4,193,232,16,252,255,36,252,235,248,5,255,3,41,15,128,244,1,137,41,
746 244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24, 755 255,15,141,244,7,255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,
747 255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180,253,134,233, 756 15,140,244,7,255,252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,
748 15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,180, 757 59,129,121,253,12,239,15,131,244,59,255,129,121,253,12,239,15,131,244,164,
749 253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198,4,193,232, 758 129,121,253,20,239,15,131,244,164,255,139,105,20,255,129,252,253,239,15,131,
750 16,252,255,36,252,235,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7, 759 244,59,255,252,242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,
751 255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244,7,255, 760 242,15,17,1,133,252,237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,
752 252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,59,129,121,253,12, 761 248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,
753 239,15,131,244,59,255,129,121,253,12,239,15,131,244,164,129,121,253,20,239, 762 24,133,252,237,15,136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,
754 15,131,244,164,255,139,105,20,255,129,252,253,239,15,131,244,59,255,252,242, 763 1,255,15,183,70,252,254,255,15,131,244,7,255,15,131,244,248,141,180,253,134,
755 15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252, 764 233,255,141,180,253,134,233,15,183,70,252,254,15,131,245,255,15,130,244,7,
756 237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15, 765 255,15,130,244,248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,
757 17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15, 766 1,255,141,12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,
758 136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,70, 767 252,139,41,137,105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,
759 252,254,255,15,131,244,7,255,15,131,244,248,141,180,253,134,233,255,141,180, 768 105,252,252,137,65,252,248,255,139,139,233,139,4,129,72,139,128,233,139,108,
760 253,134,233,15,183,70,252,254,15,131,245,255,15,130,244,7,255,15,130,244, 769 36,96,137,147,233,137,171,233,76,137,100,36,80,76,137,108,36,32,76,137,116,
761 248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1,255,141,12, 770 36,24,76,137,124,36,16,72,137,225,72,129,252,236,239,102,15,127,49,102,15,
762 202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,41,137, 771 127,185,233,102,68,15,127,129,233,102,68,15,127,137,233,102,68,15,127,145,
763 105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,252,252,137, 772 233,102,68,15,127,153,233,102,68,15,127,161,233,102,68,15,127,169,233,102,
764 65,252,248,255,139,139,233,139,4,129,72,139,128,233,139,108,36,96,137,147, 773 68,15,127,177,233,102,68,15,127,185,233,252,255,224,255,141,180,253,134,233,
765 233,137,171,233,76,137,100,36,80,76,137,108,36,32,76,137,116,36,24,76,137, 774 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,137,
766 124,36,16,72,137,225,72,129,252,236,239,102,15,127,49,102,15,127,185,233, 775 252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,149,255,
767 102,68,15,127,129,233,102,68,15,127,137,233,102,68,15,127,145,233,102,68, 776 139,190,233,139,108,36,96,141,12,202,59,141,233,15,135,244,24,15,182,142,
768 15,127,153,233,102,68,15,127,161,233,102,68,15,127,169,233,102,68,15,127, 777 233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,
769 177,233,102,68,15,127,185,233,252,255,224,255,141,180,253,134,233,139,6,15, 778 3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,
770 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,137,252,245, 779 141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252,248,
771 209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,149,255,139,190, 780 139,108,36,96,141,12,200,59,141,233,15,135,244,23,137,209,137,194,15,182,
772 233,139,108,36,96,141,12,202,59,141,233,15,135,244,24,15,182,142,233,57,200, 781 174,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,
773 15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194, 782 139,121,252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252,252,
774 252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237, 783 237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204,15,
775 141,4,194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,36,96,141, 784 182,232,131,198,4,193,232,16,252,255,36,252,235,255,248,3,199,64,4,237,131,
776 12,200,59,141,233,15,135,244,23,137,209,137,194,15,182,174,233,133,252,237, 785 192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,72,139,
777 15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137, 786 189,233,139,108,36,96,141,68,194,252,248,137,149,233,141,136,233,59,141,233,
778 56,139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15, 787 137,133,233,255,72,137,252,250,137,252,233,255,15,135,244,22,199,131,233,
779 133,244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193, 788 237,255,252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233,141,
780 232,16,252,255,36,252,235,255,248,3,199,64,4,237,131,192,8,131,252,237,1, 789 12,194,252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0
781 15,133,244,3,252,233,244,2,255,139,106,252,248,72,139,189,233,139,108,36,
782 96,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233,255,
783 72,137,252,250,137,252,233,255,15,135,244,22,199,131,233,237,255,252,255,
784 215,255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194,252,247,
785 217,3,141,233,139,114,252,252,252,233,244,12,255,254,0
786}; 790};
787 791
788enum { 792enum {
@@ -1526,321 +1530,321 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1526 dasm_put(Dst, 6255); 1530 dasm_put(Dst, 6255);
1527 } else { 1531 } else {
1528 } 1532 }
1529 dasm_put(Dst, 6265, LJ_TISNUM); 1533 dasm_put(Dst, 6265, 1+1, LJ_TISNUM);
1530 if (LJ_DUALNUM) { 1534 if (LJ_DUALNUM) {
1531 dasm_put(Dst, 6273); 1535 dasm_put(Dst, 6281);
1532 } else { 1536 } else {
1533 dasm_put(Dst, 2244); 1537 dasm_put(Dst, 2244);
1534 } 1538 }
1535 if (sse) { 1539 if (sse) {
1536 dasm_put(Dst, 6290, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1540 dasm_put(Dst, 6298, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1537 } else { 1541 } else {
1538 } 1542 }
1539 dasm_put(Dst, 106); 1543 dasm_put(Dst, 106);
1540 if (LJ_DUALNUM || sse) { 1544 if (LJ_DUALNUM || sse) {
1541 if (!sse) { 1545 if (!sse) {
1542 } 1546 }
1543 dasm_put(Dst, 6314); 1547 dasm_put(Dst, 6322);
1544 } else { 1548 } else {
1545 } 1549 }
1546 dasm_put(Dst, 6319); 1550 dasm_put(Dst, 6327, 1+1);
1547 if (sse) { 1551 if (sse) {
1548 dasm_put(Dst, 6322, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1552 dasm_put(Dst, 6338, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1549 } else { 1553 } else {
1550 dasm_put(Dst, 6332); 1554 dasm_put(Dst, 6348);
1551 } 1555 }
1552 dasm_put(Dst, 2221, LJ_TISNUM); 1556 dasm_put(Dst, 2221, LJ_TISNUM);
1553 if (LJ_DUALNUM) { 1557 if (LJ_DUALNUM) {
1554 dasm_put(Dst, 6341); 1558 dasm_put(Dst, 6357);
1555 } else { 1559 } else {
1556 dasm_put(Dst, 2244); 1560 dasm_put(Dst, 2244);
1557 } 1561 }
1558 if (sse) { 1562 if (sse) {
1559 dasm_put(Dst, 6358); 1563 dasm_put(Dst, 6374);
1560 } else { 1564 } else {
1561 } 1565 }
1562 dasm_put(Dst, 6373, LJ_TISNUM); 1566 dasm_put(Dst, 6389, LJ_TISNUM);
1563 if (LJ_DUALNUM) { 1567 if (LJ_DUALNUM) {
1564 dasm_put(Dst, 6398); 1568 dasm_put(Dst, 6414);
1565 } else { 1569 } else {
1566 dasm_put(Dst, 6418); 1570 dasm_put(Dst, 6434);
1567 } 1571 }
1568 if (sse) { 1572 if (sse) {
1569 dasm_put(Dst, 6423); 1573 dasm_put(Dst, 6439);
1570 } else { 1574 } else {
1571 } 1575 }
1572 dasm_put(Dst, 6440); 1576 dasm_put(Dst, 6456, 1+1);
1573 if (sse) { 1577 if (sse) {
1574 dasm_put(Dst, 6322, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1578 dasm_put(Dst, 6338, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1575 } else { 1579 } else {
1576 dasm_put(Dst, 6332); 1580 dasm_put(Dst, 6348);
1577 } 1581 }
1578 dasm_put(Dst, 2221, LJ_TISNUM); 1582 dasm_put(Dst, 2221, LJ_TISNUM);
1579 if (LJ_DUALNUM) { 1583 if (LJ_DUALNUM) {
1580 dasm_put(Dst, 6341); 1584 dasm_put(Dst, 6357);
1581 } else { 1585 } else {
1582 dasm_put(Dst, 2244); 1586 dasm_put(Dst, 2244);
1583 } 1587 }
1584 if (sse) { 1588 if (sse) {
1585 dasm_put(Dst, 6358); 1589 dasm_put(Dst, 6374);
1586 } else { 1590 } else {
1587 } 1591 }
1588 dasm_put(Dst, 6373, LJ_TISNUM); 1592 dasm_put(Dst, 6389, LJ_TISNUM);
1589 if (LJ_DUALNUM) { 1593 if (LJ_DUALNUM) {
1590 dasm_put(Dst, 6450); 1594 dasm_put(Dst, 6474);
1591 } else { 1595 } else {
1592 dasm_put(Dst, 6418); 1596 dasm_put(Dst, 6434);
1593 } 1597 }
1594 if (sse) { 1598 if (sse) {
1595 dasm_put(Dst, 6470); 1599 dasm_put(Dst, 6494);
1596 } else { 1600 } else {
1597 } 1601 }
1598 dasm_put(Dst, 6487); 1602 dasm_put(Dst, 6511, 1+1);
1599 if (sse) { 1603 if (sse) {
1600 dasm_put(Dst, 6322, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1604 dasm_put(Dst, 6338, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1601 } else { 1605 } else {
1602 dasm_put(Dst, 6332); 1606 dasm_put(Dst, 6348);
1603 } 1607 }
1604 dasm_put(Dst, 2221, LJ_TISNUM); 1608 dasm_put(Dst, 2221, LJ_TISNUM);
1605 if (LJ_DUALNUM) { 1609 if (LJ_DUALNUM) {
1606 dasm_put(Dst, 6341); 1610 dasm_put(Dst, 6357);
1607 } else { 1611 } else {
1608 dasm_put(Dst, 2244); 1612 dasm_put(Dst, 2244);
1609 } 1613 }
1610 if (sse) { 1614 if (sse) {
1611 dasm_put(Dst, 6358); 1615 dasm_put(Dst, 6374);
1612 } else { 1616 } else {
1613 } 1617 }
1614 dasm_put(Dst, 6373, LJ_TISNUM); 1618 dasm_put(Dst, 6389, LJ_TISNUM);
1615 if (LJ_DUALNUM) { 1619 if (LJ_DUALNUM) {
1616 dasm_put(Dst, 6497); 1620 dasm_put(Dst, 6529);
1617 } else { 1621 } else {
1618 dasm_put(Dst, 6418); 1622 dasm_put(Dst, 6434);
1619 } 1623 }
1620 if (sse) { 1624 if (sse) {
1621 dasm_put(Dst, 6517); 1625 dasm_put(Dst, 6549);
1622 } else { 1626 } else {
1623 } 1627 }
1624 dasm_put(Dst, 6534, LJ_TISNUM); 1628 dasm_put(Dst, 6566, 1+1, LJ_TISNUM);
1625 if (LJ_DUALNUM) { 1629 if (LJ_DUALNUM) {
1626 dasm_put(Dst, 6341); 1630 dasm_put(Dst, 6357);
1627 } else { 1631 } else {
1628 dasm_put(Dst, 2244); 1632 dasm_put(Dst, 2244);
1629 } 1633 }
1630 if (sse) { 1634 if (sse) {
1631 dasm_put(Dst, 6290, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1635 dasm_put(Dst, 6298, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1632 } else { 1636 } else {
1633 } 1637 }
1634 dasm_put(Dst, 6549, LJ_TISNUM); 1638 dasm_put(Dst, 6589, 1+1, LJ_TISNUM);
1635 if (LJ_DUALNUM) { 1639 if (LJ_DUALNUM) {
1636 dasm_put(Dst, 6341); 1640 dasm_put(Dst, 6357);
1637 } else { 1641 } else {
1638 dasm_put(Dst, 2244); 1642 dasm_put(Dst, 2244);
1639 } 1643 }
1640 if (sse) { 1644 if (sse) {
1641 dasm_put(Dst, 6290, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1645 dasm_put(Dst, 6298, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1642 } else { 1646 } else {
1643 } 1647 }
1644 dasm_put(Dst, 6565); 1648 dasm_put(Dst, 6613);
1645 if (LJ_DUALNUM) { 1649 if (LJ_DUALNUM) {
1646 dasm_put(Dst, 6314); 1650 dasm_put(Dst, 6322);
1647 } else if (sse) { 1651 } else if (sse) {
1648 dasm_put(Dst, 6571); 1652 dasm_put(Dst, 6619);
1649 } else { 1653 } else {
1650 } 1654 }
1651 dasm_put(Dst, 6583); 1655 dasm_put(Dst, 6631);
1652 if (LJ_DUALNUM) { 1656 if (LJ_DUALNUM) {
1653 dasm_put(Dst, 6594, LJ_TISNUM); 1657 dasm_put(Dst, 6642, 1+1, LJ_TISNUM);
1654 if (LJ_DUALNUM) { 1658 if (LJ_DUALNUM) {
1655 dasm_put(Dst, 6341); 1659 dasm_put(Dst, 6357);
1656 } else { 1660 } else {
1657 dasm_put(Dst, 2244); 1661 dasm_put(Dst, 2244);
1658 } 1662 }
1659 if (sse) { 1663 if (sse) {
1660 dasm_put(Dst, 6290, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1664 dasm_put(Dst, 6298, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1661 } else { 1665 } else {
1662 } 1666 }
1663 dasm_put(Dst, 6602, LJ_TISNUM); 1667 dasm_put(Dst, 6658, LJ_TISNUM);
1664 } else if (sse) { 1668 } else if (sse) {
1665 dasm_put(Dst, 6617, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1669 dasm_put(Dst, 6673, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1666 } else { 1670 } else {
1667 } 1671 }
1668 dasm_put(Dst, 6684); 1672 dasm_put(Dst, 6740);
1669 if (LJ_DUALNUM) { 1673 if (LJ_DUALNUM) {
1670 dasm_put(Dst, 6691, LJ_TISNUM); 1674 dasm_put(Dst, 6747, 1+1, LJ_TISNUM);
1671 if (LJ_DUALNUM) { 1675 if (LJ_DUALNUM) {
1672 dasm_put(Dst, 6341); 1676 dasm_put(Dst, 6357);
1673 } else { 1677 } else {
1674 dasm_put(Dst, 2244); 1678 dasm_put(Dst, 2244);
1675 } 1679 }
1676 if (sse) { 1680 if (sse) {
1677 dasm_put(Dst, 6290, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1681 dasm_put(Dst, 6298, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1678 } else { 1682 } else {
1679 } 1683 }
1680 dasm_put(Dst, 6602, LJ_TISNUM); 1684 dasm_put(Dst, 6658, LJ_TISNUM);
1681 } else if (sse) { 1685 } else if (sse) {
1682 dasm_put(Dst, 6699, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1686 dasm_put(Dst, 6763, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1683 } else { 1687 } else {
1684 } 1688 }
1685 dasm_put(Dst, 6766); 1689 dasm_put(Dst, 6830);
1686 if (LJ_DUALNUM) { 1690 if (LJ_DUALNUM) {
1687 dasm_put(Dst, 6774, LJ_TISNUM); 1691 dasm_put(Dst, 6838, 1+1, LJ_TISNUM);
1688 if (LJ_DUALNUM) { 1692 if (LJ_DUALNUM) {
1689 dasm_put(Dst, 6341); 1693 dasm_put(Dst, 6357);
1690 } else { 1694 } else {
1691 dasm_put(Dst, 2244); 1695 dasm_put(Dst, 2244);
1692 } 1696 }
1693 if (sse) { 1697 if (sse) {
1694 dasm_put(Dst, 6290, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1698 dasm_put(Dst, 6298, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1695 } else { 1699 } else {
1696 } 1700 }
1697 dasm_put(Dst, 6602, LJ_TISNUM); 1701 dasm_put(Dst, 6658, LJ_TISNUM);
1698 } else if (sse) { 1702 } else if (sse) {
1699 dasm_put(Dst, 6782, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1703 dasm_put(Dst, 6854, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1700 } else { 1704 } else {
1701 } 1705 }
1702 dasm_put(Dst, 6849); 1706 dasm_put(Dst, 6921);
1703 if (LJ_DUALNUM) { 1707 if (LJ_DUALNUM) {
1704 dasm_put(Dst, 6857, LJ_TISNUM); 1708 dasm_put(Dst, 6929, 1+1, LJ_TISNUM);
1705 if (LJ_DUALNUM) { 1709 if (LJ_DUALNUM) {
1706 dasm_put(Dst, 6341); 1710 dasm_put(Dst, 6357);
1707 } else { 1711 } else {
1708 dasm_put(Dst, 2244); 1712 dasm_put(Dst, 2244);
1709 } 1713 }
1710 if (sse) { 1714 if (sse) {
1711 dasm_put(Dst, 6290, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1715 dasm_put(Dst, 6298, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1712 } else { 1716 } else {
1713 } 1717 }
1714 dasm_put(Dst, 6602, LJ_TISNUM); 1718 dasm_put(Dst, 6658, LJ_TISNUM);
1715 } else if (sse) { 1719 } else if (sse) {
1716 dasm_put(Dst, 6865, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1720 dasm_put(Dst, 6945, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1717 } else { 1721 } else {
1718 } 1722 }
1719 dasm_put(Dst, 6932); 1723 dasm_put(Dst, 7012);
1720 if (LJ_DUALNUM) { 1724 if (LJ_DUALNUM) {
1721 dasm_put(Dst, 6939, LJ_TISNUM); 1725 dasm_put(Dst, 7019, 1+1, LJ_TISNUM);
1722 if (LJ_DUALNUM) { 1726 if (LJ_DUALNUM) {
1723 dasm_put(Dst, 6341); 1727 dasm_put(Dst, 6357);
1724 } else { 1728 } else {
1725 dasm_put(Dst, 2244); 1729 dasm_put(Dst, 2244);
1726 } 1730 }
1727 if (sse) { 1731 if (sse) {
1728 dasm_put(Dst, 6290, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1732 dasm_put(Dst, 6298, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1729 } else { 1733 } else {
1730 } 1734 }
1731 dasm_put(Dst, 6602, LJ_TISNUM); 1735 dasm_put(Dst, 6658, LJ_TISNUM);
1732 } else if (sse) { 1736 } else if (sse) {
1733 dasm_put(Dst, 6947, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1737 dasm_put(Dst, 7035, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1734 } else { 1738 } else {
1735 } 1739 }
1736 dasm_put(Dst, 7014, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1740 dasm_put(Dst, 7102, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1737 dasm_put(Dst, 7090, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1741 dasm_put(Dst, 7178, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1738 dasm_put(Dst, 7217, Dt1(->top), Dt1(->base), Dt1(->top)); 1742 dasm_put(Dst, 7305, Dt1(->top), Dt1(->base), Dt1(->top));
1739#if LJ_HASJIT 1743#if LJ_HASJIT
1740 dasm_put(Dst, 7256, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1744 dasm_put(Dst, 7344, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1741#endif 1745#endif
1742 dasm_put(Dst, 7287, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1746 dasm_put(Dst, 7375, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1743 dasm_put(Dst, 7338, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1747 dasm_put(Dst, 7426, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1744#if LJ_HASJIT 1748#if LJ_HASJIT
1745 dasm_put(Dst, 7405, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1749 dasm_put(Dst, 7493, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1746#endif 1750#endif
1747 dasm_put(Dst, 7452); 1751 dasm_put(Dst, 7540);
1748#if LJ_HASJIT 1752#if LJ_HASJIT
1749 dasm_put(Dst, 7282); 1753 dasm_put(Dst, 7370);
1750#endif 1754#endif
1751 dasm_put(Dst, 7459); 1755 dasm_put(Dst, 7547);
1752#if LJ_HASJIT 1756#if LJ_HASJIT
1753 dasm_put(Dst, 7462); 1757 dasm_put(Dst, 7550);
1754#endif 1758#endif
1755 dasm_put(Dst, 7472, Dt1(->base), Dt1(->top)); 1759 dasm_put(Dst, 7560, Dt1(->base), Dt1(->top));
1756#if LJ_HASJIT 1760#if LJ_HASJIT
1757 dasm_put(Dst, 7506); 1761 dasm_put(Dst, 7594);
1758#endif 1762#endif
1759 dasm_put(Dst, 7511, Dt1(->base), Dt1(->top)); 1763 dasm_put(Dst, 7599, Dt1(->base), Dt1(->top));
1760#if LJ_HASJIT 1764#if LJ_HASJIT
1761 dasm_put(Dst, 7542, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); 1765 dasm_put(Dst, 7630, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
1762#endif 1766#endif
1763 dasm_put(Dst, 7772); 1767 dasm_put(Dst, 7860);
1764#if LJ_HASJIT 1768#if LJ_HASJIT
1765 dasm_put(Dst, 7775, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1769 dasm_put(Dst, 7863, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1766 dasm_put(Dst, 7917); 1770 dasm_put(Dst, 8005);
1767#endif 1771#endif
1768 dasm_put(Dst, 7943); 1772 dasm_put(Dst, 8031);
1769 if (!sse) { 1773 if (!sse) {
1770 dasm_put(Dst, 7946); 1774 dasm_put(Dst, 8034);
1771 } 1775 }
1772 dasm_put(Dst, 7991, (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)); 1776 dasm_put(Dst, 8079, (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));
1773 if (!sse) { 1777 if (!sse) {
1774 dasm_put(Dst, 8077); 1778 dasm_put(Dst, 8165);
1775 } 1779 }
1776 dasm_put(Dst, 8122, (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)); 1780 dasm_put(Dst, 8210, (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));
1777 if (!sse) { 1781 if (!sse) {
1778 dasm_put(Dst, 8208); 1782 dasm_put(Dst, 8296);
1779 } 1783 }
1780 dasm_put(Dst, 8247, (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 dasm_put(Dst, 8335, (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));
1781 if (sse) { 1785 if (sse) {
1782 dasm_put(Dst, 8336, (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, 8424, (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));
1783 } else { 1787 } else {
1784 dasm_put(Dst, 8450); 1788 dasm_put(Dst, 8538);
1785 } 1789 }
1786 dasm_put(Dst, 8497); 1790 dasm_put(Dst, 8585);
1787 if (!sse) { 1791 if (!sse) {
1788 } else { 1792 } else {
1789 dasm_put(Dst, 8571); 1793 dasm_put(Dst, 8659);
1790 } 1794 }
1791 dasm_put(Dst, 8574); 1795 dasm_put(Dst, 8662);
1792 dasm_put(Dst, 8659, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1796 dasm_put(Dst, 8747, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1793 dasm_put(Dst, 8762, (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)); 1797 dasm_put(Dst, 8850, (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));
1794 dasm_put(Dst, 8918); 1798 dasm_put(Dst, 9006);
1795#if LJ_HASJIT 1799#if LJ_HASJIT
1796 if (sse) { 1800 if (sse) {
1797 dasm_put(Dst, 8959); 1801 dasm_put(Dst, 9047);
1798 dasm_put(Dst, 9029); 1802 dasm_put(Dst, 9117);
1799 dasm_put(Dst, 9102); 1803 dasm_put(Dst, 9190);
1800 } else { 1804 } else {
1801 dasm_put(Dst, 9152); 1805 dasm_put(Dst, 9240);
1802 dasm_put(Dst, 9244); 1806 dasm_put(Dst, 9332);
1803 } 1807 }
1804 dasm_put(Dst, 9290); 1808 dasm_put(Dst, 9378);
1805#endif 1809#endif
1806 dasm_put(Dst, 9294); 1810 dasm_put(Dst, 9382);
1807 if (sse) { 1811 if (sse) {
1808 dasm_put(Dst, 9297, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1812 dasm_put(Dst, 9385, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1809 dasm_put(Dst, 9386, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1813 dasm_put(Dst, 9474, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1810 } else { 1814 } else {
1811 dasm_put(Dst, 9510); 1815 dasm_put(Dst, 9598);
1812 dasm_put(Dst, 9593); 1816 dasm_put(Dst, 9681);
1813 if (cmov) { 1817 if (cmov) {
1814 dasm_put(Dst, 9648); 1818 dasm_put(Dst, 9736);
1815 } else { 1819 } else {
1816 dasm_put(Dst, 9667); 1820 dasm_put(Dst, 9755);
1817 } 1821 }
1818 dasm_put(Dst, 9290); 1822 dasm_put(Dst, 9378);
1819 } 1823 }
1820 dasm_put(Dst, 9708); 1824 dasm_put(Dst, 9796);
1821#if LJ_HASFFI 1825#if LJ_HASFFI
1822#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 1826#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1823 dasm_put(Dst, 9736, DtE(->spadj)); 1827 dasm_put(Dst, 9824, DtE(->spadj));
1824#if LJ_TARGET_WINDOWS 1828#if LJ_TARGET_WINDOWS
1825#endif 1829#endif
1826 dasm_put(Dst, 9751, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->fpr[0]), DtE(->fpr[1]), DtE(->fpr[2]), DtE(->fpr[3])); 1830 dasm_put(Dst, 9839, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->fpr[0]), DtE(->fpr[1]), DtE(->fpr[2]), DtE(->fpr[3]));
1827 dasm_put(Dst, 9832, DtE(->func), DtE(->gpr[0]), DtE(->fpr[0])); 1831 dasm_put(Dst, 9920, DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]));
1828#if LJ_TARGET_WINDOWS 1832#if LJ_TARGET_WINDOWS
1829#endif 1833#endif
1830 dasm_put(Dst, 9845); 1834 dasm_put(Dst, 9933);
1831#endif 1835#endif
1832 dasm_put(Dst, 9853); 1836 dasm_put(Dst, 9941);
1833#ifdef LUA_USE_ASSERT 1837#ifdef LUA_USE_ASSERT
1834 dasm_put(Dst, 9292); 1838 dasm_put(Dst, 9380);
1835#endif 1839#endif
1836 dasm_put(Dst, 9292); 1840 dasm_put(Dst, 9380);
1837} 1841}
1838 1842
1839/* Generate the code for a single instruction. */ 1843/* Generate the code for a single instruction. */
1840static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1844static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1841{ 1845{
1842 int vk = 0; 1846 int vk = 0;
1843 dasm_put(Dst, 9856, defop); 1847 dasm_put(Dst, 9944, defop);
1844 1848
1845 switch (op) { 1849 switch (op) {
1846 1850
@@ -1851,145 +1855,145 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1851 1855
1852 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1856 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1853 if (LJ_DUALNUM) { 1857 if (LJ_DUALNUM) {
1854 dasm_put(Dst, 9858, LJ_TISNUM, LJ_TISNUM); 1858 dasm_put(Dst, 9946, LJ_TISNUM, LJ_TISNUM);
1855 switch (op) { 1859 switch (op) {
1856 case BC_ISLT: 1860 case BC_ISLT:
1857 dasm_put(Dst, 9888); 1861 dasm_put(Dst, 9976);
1858 break; 1862 break;
1859 case BC_ISGE: 1863 case BC_ISGE:
1860 dasm_put(Dst, 9893); 1864 dasm_put(Dst, 9981);
1861 break; 1865 break;
1862 case BC_ISLE: 1866 case BC_ISLE:
1863 dasm_put(Dst, 9898); 1867 dasm_put(Dst, 9986);
1864 break; 1868 break;
1865 case BC_ISGT: 1869 case BC_ISGT:
1866 dasm_put(Dst, 9903); 1870 dasm_put(Dst, 9991);
1867 break; 1871 break;
1868 default: break; /* Shut up GCC. */ 1872 default: break; /* Shut up GCC. */
1869 } 1873 }
1870 dasm_put(Dst, 9908, -BCBIAS_J*4, LJ_TISNUM); 1874 dasm_put(Dst, 9996, -BCBIAS_J*4, LJ_TISNUM);
1871 if (sse) { 1875 if (sse) {
1872 dasm_put(Dst, 9962); 1876 dasm_put(Dst, 10050);
1873 } else { 1877 } else {
1874 dasm_put(Dst, 9973); 1878 dasm_put(Dst, 10061);
1875 } 1879 }
1876 dasm_put(Dst, 9984); 1880 dasm_put(Dst, 10072);
1877 if (sse) { 1881 if (sse) {
1878 dasm_put(Dst, 9991); 1882 dasm_put(Dst, 10079);
1879 switch (op) { 1883 switch (op) {
1880 case BC_ISLT: 1884 case BC_ISLT:
1881 dasm_put(Dst, 10011); 1885 dasm_put(Dst, 10099);
1882 break; 1886 break;
1883 case BC_ISGE: 1887 case BC_ISGE:
1884 dasm_put(Dst, 10016); 1888 dasm_put(Dst, 10104);
1885 break; 1889 break;
1886 case BC_ISLE: 1890 case BC_ISLE:
1887 dasm_put(Dst, 10021); 1891 dasm_put(Dst, 10109);
1888 break; 1892 break;
1889 case BC_ISGT: 1893 case BC_ISGT:
1890 dasm_put(Dst, 10026); 1894 dasm_put(Dst, 10114);
1891 break; 1895 break;
1892 default: break; /* Shut up GCC. */ 1896 default: break; /* Shut up GCC. */
1893 } 1897 }
1894 dasm_put(Dst, 10031); 1898 dasm_put(Dst, 10119);
1895 } else { 1899 } else {
1896 dasm_put(Dst, 10036); 1900 dasm_put(Dst, 10124);
1897 } 1901 }
1898 } else { 1902 } else {
1899 dasm_put(Dst, 10044, LJ_TISNUM, LJ_TISNUM); 1903 dasm_put(Dst, 10132, LJ_TISNUM, LJ_TISNUM);
1900 } 1904 }
1901 if (sse) { 1905 if (sse) {
1902 dasm_put(Dst, 10065); 1906 dasm_put(Dst, 10153);
1903 } else { 1907 } else {
1904 dasm_put(Dst, 10086); 1908 dasm_put(Dst, 10174);
1905 if (cmov) { 1909 if (cmov) {
1906 dasm_put(Dst, 10102); 1910 dasm_put(Dst, 10190);
1907 } else { 1911 } else {
1908 dasm_put(Dst, 10108); 1912 dasm_put(Dst, 10196);
1909 } 1913 }
1910 } 1914 }
1911 if (LJ_DUALNUM) { 1915 if (LJ_DUALNUM) {
1912 switch (op) { 1916 switch (op) {
1913 case BC_ISLT: 1917 case BC_ISLT:
1914 dasm_put(Dst, 10011); 1918 dasm_put(Dst, 10099);
1915 break; 1919 break;
1916 case BC_ISGE: 1920 case BC_ISGE:
1917 dasm_put(Dst, 10016); 1921 dasm_put(Dst, 10104);
1918 break; 1922 break;
1919 case BC_ISLE: 1923 case BC_ISLE:
1920 dasm_put(Dst, 10021); 1924 dasm_put(Dst, 10109);
1921 break; 1925 break;
1922 case BC_ISGT: 1926 case BC_ISGT:
1923 dasm_put(Dst, 10026); 1927 dasm_put(Dst, 10114);
1924 break; 1928 break;
1925 default: break; /* Shut up GCC. */ 1929 default: break; /* Shut up GCC. */
1926 } 1930 }
1927 dasm_put(Dst, 10031); 1931 dasm_put(Dst, 10119);
1928 } else { 1932 } else {
1929 switch (op) { 1933 switch (op) {
1930 case BC_ISLT: 1934 case BC_ISLT:
1931 dasm_put(Dst, 10115); 1935 dasm_put(Dst, 10203);
1932 break; 1936 break;
1933 case BC_ISGE: 1937 case BC_ISGE:
1934 dasm_put(Dst, 10120); 1938 dasm_put(Dst, 10208);
1935 break; 1939 break;
1936 case BC_ISLE: 1940 case BC_ISLE:
1937 dasm_put(Dst, 10125); 1941 dasm_put(Dst, 10213);
1938 break; 1942 break;
1939 case BC_ISGT: 1943 case BC_ISGT:
1940 dasm_put(Dst, 10130); 1944 dasm_put(Dst, 10218);
1941 break; 1945 break;
1942 default: break; /* Shut up GCC. */ 1946 default: break; /* Shut up GCC. */
1943 } 1947 }
1944 dasm_put(Dst, 10135, -BCBIAS_J*4); 1948 dasm_put(Dst, 10223, -BCBIAS_J*4);
1945 } 1949 }
1946 break; 1950 break;
1947 1951
1948 case BC_ISEQV: case BC_ISNEV: 1952 case BC_ISEQV: case BC_ISNEV:
1949 vk = op == BC_ISEQV; 1953 vk = op == BC_ISEQV;
1950 dasm_put(Dst, 10167); 1954 dasm_put(Dst, 10255);
1951 if (LJ_DUALNUM) { 1955 if (LJ_DUALNUM) {
1952 dasm_put(Dst, 10175, LJ_TISNUM, LJ_TISNUM); 1956 dasm_put(Dst, 10263, LJ_TISNUM, LJ_TISNUM);
1953 if (vk) { 1957 if (vk) {
1954 dasm_put(Dst, 10200); 1958 dasm_put(Dst, 10288);
1955 } else { 1959 } else {
1956 dasm_put(Dst, 10205); 1960 dasm_put(Dst, 10293);
1957 } 1961 }
1958 dasm_put(Dst, 10210, -BCBIAS_J*4, LJ_TISNUM); 1962 dasm_put(Dst, 10298, -BCBIAS_J*4, LJ_TISNUM);
1959 if (sse) { 1963 if (sse) {
1960 dasm_put(Dst, 10262); 1964 dasm_put(Dst, 10350);
1961 } else { 1965 } else {
1962 dasm_put(Dst, 10269); 1966 dasm_put(Dst, 10357);
1963 } 1967 }
1964 dasm_put(Dst, 10273); 1968 dasm_put(Dst, 10361);
1965 if (sse) { 1969 if (sse) {
1966 dasm_put(Dst, 10284); 1970 dasm_put(Dst, 10372);
1967 } else { 1971 } else {
1968 dasm_put(Dst, 10296); 1972 dasm_put(Dst, 10384);
1969 } 1973 }
1970 dasm_put(Dst, 10303); 1974 dasm_put(Dst, 10391);
1971 } else { 1975 } else {
1972 dasm_put(Dst, 10308, LJ_TISNUM, LJ_TISNUM); 1976 dasm_put(Dst, 10396, LJ_TISNUM, LJ_TISNUM);
1973 } 1977 }
1974 if (sse) { 1978 if (sse) {
1975 dasm_put(Dst, 10327); 1979 dasm_put(Dst, 10415);
1976 } else { 1980 } else {
1977 dasm_put(Dst, 10345); 1981 dasm_put(Dst, 10433);
1978 if (cmov) { 1982 if (cmov) {
1979 dasm_put(Dst, 10102); 1983 dasm_put(Dst, 10190);
1980 } else { 1984 } else {
1981 dasm_put(Dst, 10108); 1985 dasm_put(Dst, 10196);
1982 } 1986 }
1983 } 1987 }
1984 iseqne_fp: 1988 iseqne_fp:
1985 if (vk) { 1989 if (vk) {
1986 dasm_put(Dst, 10358); 1990 dasm_put(Dst, 10446);
1987 } else { 1991 } else {
1988 dasm_put(Dst, 10367); 1992 dasm_put(Dst, 10455);
1989 } 1993 }
1990 iseqne_end: 1994 iseqne_end:
1991 if (vk) { 1995 if (vk) {
1992 dasm_put(Dst, 10376, -BCBIAS_J*4); 1996 dasm_put(Dst, 10464, -BCBIAS_J*4);
1993 if (!LJ_HASFFI) { 1997 if (!LJ_HASFFI) {
1994 dasm_put(Dst, 4609); 1998 dasm_put(Dst, 4609);
1995 } 1999 }
@@ -1997,150 +2001,150 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1997 if (!LJ_HASFFI) { 2001 if (!LJ_HASFFI) {
1998 dasm_put(Dst, 4609); 2002 dasm_put(Dst, 4609);
1999 } 2003 }
2000 dasm_put(Dst, 10391, -BCBIAS_J*4); 2004 dasm_put(Dst, 10479, -BCBIAS_J*4);
2001 } 2005 }
2002 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || 2006 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
2003 op == BC_ISEQN || op == BC_ISNEN)) { 2007 op == BC_ISEQN || op == BC_ISNEN)) {
2004 dasm_put(Dst, 10406); 2008 dasm_put(Dst, 10494);
2005 } else { 2009 } else {
2006 dasm_put(Dst, 10147); 2010 dasm_put(Dst, 10235);
2007 } 2011 }
2008 if (op == BC_ISEQV || op == BC_ISNEV) { 2012 if (op == BC_ISEQV || op == BC_ISNEV) {
2009 dasm_put(Dst, 9829); 2013 dasm_put(Dst, 9917);
2010 if (LJ_HASFFI) { 2014 if (LJ_HASFFI) {
2011 dasm_put(Dst, 10411, LJ_TCDATA, LJ_TCDATA); 2015 dasm_put(Dst, 10499, LJ_TCDATA, LJ_TCDATA);
2012 } 2016 }
2013 dasm_put(Dst, 10430, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 2017 dasm_put(Dst, 10518, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
2014 if (vk) { 2018 if (vk) {
2015 dasm_put(Dst, 10486); 2019 dasm_put(Dst, 10574);
2016 } else { 2020 } else {
2017 dasm_put(Dst, 10490); 2021 dasm_put(Dst, 10578);
2018 } 2022 }
2019 dasm_put(Dst, 10496); 2023 dasm_put(Dst, 10584);
2020 } else if (LJ_HASFFI) { 2024 } else if (LJ_HASFFI) {
2021 dasm_put(Dst, 10501, LJ_TCDATA); 2025 dasm_put(Dst, 10589, LJ_TCDATA);
2022 if (LJ_DUALNUM && vk) { 2026 if (LJ_DUALNUM && vk) {
2023 dasm_put(Dst, 10508); 2027 dasm_put(Dst, 10596);
2024 } else { 2028 } else {
2025 dasm_put(Dst, 10481); 2029 dasm_put(Dst, 10569);
2026 } 2030 }
2027 dasm_put(Dst, 10513); 2031 dasm_put(Dst, 10601);
2028 } 2032 }
2029 break; 2033 break;
2030 case BC_ISEQS: case BC_ISNES: 2034 case BC_ISEQS: case BC_ISNES:
2031 vk = op == BC_ISEQS; 2035 vk = op == BC_ISEQS;
2032 dasm_put(Dst, 10518, LJ_TSTR); 2036 dasm_put(Dst, 10606, LJ_TSTR);
2033 iseqne_test: 2037 iseqne_test:
2034 if (vk) { 2038 if (vk) {
2035 dasm_put(Dst, 10362); 2039 dasm_put(Dst, 10450);
2036 } else { 2040 } else {
2037 dasm_put(Dst, 765); 2041 dasm_put(Dst, 765);
2038 } 2042 }
2039 goto iseqne_end; 2043 goto iseqne_end;
2040 case BC_ISEQN: case BC_ISNEN: 2044 case BC_ISEQN: case BC_ISNEN:
2041 vk = op == BC_ISEQN; 2045 vk = op == BC_ISEQN;
2042 dasm_put(Dst, 10544); 2046 dasm_put(Dst, 10632);
2043 if (LJ_DUALNUM) { 2047 if (LJ_DUALNUM) {
2044 dasm_put(Dst, 10552, LJ_TISNUM, LJ_TISNUM); 2048 dasm_put(Dst, 10640, LJ_TISNUM, LJ_TISNUM);
2045 if (vk) { 2049 if (vk) {
2046 dasm_put(Dst, 10200); 2050 dasm_put(Dst, 10288);
2047 } else { 2051 } else {
2048 dasm_put(Dst, 10205); 2052 dasm_put(Dst, 10293);
2049 } 2053 }
2050 dasm_put(Dst, 10577, -BCBIAS_J*4, LJ_TISNUM); 2054 dasm_put(Dst, 10665, -BCBIAS_J*4, LJ_TISNUM);
2051 if (sse) { 2055 if (sse) {
2052 dasm_put(Dst, 10625); 2056 dasm_put(Dst, 10713);
2053 } else { 2057 } else {
2054 dasm_put(Dst, 10632); 2058 dasm_put(Dst, 10720);
2055 } 2059 }
2056 dasm_put(Dst, 10636); 2060 dasm_put(Dst, 10724);
2057 if (sse) { 2061 if (sse) {
2058 dasm_put(Dst, 10643); 2062 dasm_put(Dst, 10731);
2059 } else { 2063 } else {
2060 dasm_put(Dst, 10655); 2064 dasm_put(Dst, 10743);
2061 } 2065 }
2062 dasm_put(Dst, 10303); 2066 dasm_put(Dst, 10391);
2063 } else { 2067 } else {
2064 dasm_put(Dst, 10662, LJ_TISNUM); 2068 dasm_put(Dst, 10750, LJ_TISNUM);
2065 } 2069 }
2066 if (sse) { 2070 if (sse) {
2067 dasm_put(Dst, 10671); 2071 dasm_put(Dst, 10759);
2068 } else { 2072 } else {
2069 dasm_put(Dst, 10689); 2073 dasm_put(Dst, 10777);
2070 if (cmov) { 2074 if (cmov) {
2071 dasm_put(Dst, 10102); 2075 dasm_put(Dst, 10190);
2072 } else { 2076 } else {
2073 dasm_put(Dst, 10108); 2077 dasm_put(Dst, 10196);
2074 } 2078 }
2075 } 2079 }
2076 goto iseqne_fp; 2080 goto iseqne_fp;
2077 case BC_ISEQP: case BC_ISNEP: 2081 case BC_ISEQP: case BC_ISNEP:
2078 vk = op == BC_ISEQP; 2082 vk = op == BC_ISEQP;
2079 dasm_put(Dst, 10702); 2083 dasm_put(Dst, 10790);
2080 if (!LJ_HASFFI) goto iseqne_test; 2084 if (!LJ_HASFFI) goto iseqne_test;
2081 if (vk) { 2085 if (vk) {
2082 dasm_put(Dst, 10716, -BCBIAS_J*4, LJ_TCDATA); 2086 dasm_put(Dst, 10804, -BCBIAS_J*4, LJ_TCDATA);
2083 } else { 2087 } else {
2084 dasm_put(Dst, 10766, LJ_TCDATA, -BCBIAS_J*4); 2088 dasm_put(Dst, 10854, LJ_TCDATA, -BCBIAS_J*4);
2085 } 2089 }
2086 break; 2090 break;
2087 2091
2088 /* -- Unary test and copy ops ------------------------------------------- */ 2092 /* -- Unary test and copy ops ------------------------------------------- */
2089 2093
2090 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 2094 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
2091 dasm_put(Dst, 10810, LJ_TISTRUECOND); 2095 dasm_put(Dst, 10898, LJ_TISTRUECOND);
2092 if (op == BC_IST || op == BC_ISTC) { 2096 if (op == BC_IST || op == BC_ISTC) {
2093 dasm_put(Dst, 10130); 2097 dasm_put(Dst, 10218);
2094 } else { 2098 } else {
2095 dasm_put(Dst, 10125); 2099 dasm_put(Dst, 10213);
2096 } 2100 }
2097 if (op == BC_ISTC || op == BC_ISFC) { 2101 if (op == BC_ISTC || op == BC_ISFC) {
2098 dasm_put(Dst, 10822); 2102 dasm_put(Dst, 10910);
2099 } 2103 }
2100 dasm_put(Dst, 10135, -BCBIAS_J*4); 2104 dasm_put(Dst, 10223, -BCBIAS_J*4);
2101 break; 2105 break;
2102 2106
2103 /* -- Unary ops --------------------------------------------------------- */ 2107 /* -- Unary ops --------------------------------------------------------- */
2104 2108
2105 case BC_MOV: 2109 case BC_MOV:
2106 dasm_put(Dst, 10833); 2110 dasm_put(Dst, 10921);
2107 break; 2111 break;
2108 case BC_NOT: 2112 case BC_NOT:
2109 dasm_put(Dst, 10861, LJ_TISTRUECOND, LJ_TTRUE); 2113 dasm_put(Dst, 10949, LJ_TISTRUECOND, LJ_TTRUE);
2110 break; 2114 break;
2111 case BC_UNM: 2115 case BC_UNM:
2112 if (LJ_DUALNUM) { 2116 if (LJ_DUALNUM) {
2113 dasm_put(Dst, 10897, LJ_TISNUM, LJ_TISNUM); 2117 dasm_put(Dst, 10985, LJ_TISNUM, LJ_TISNUM);
2114 } else { 2118 } else {
2115 dasm_put(Dst, 10974, LJ_TISNUM); 2119 dasm_put(Dst, 11062, LJ_TISNUM);
2116 } 2120 }
2117 if (sse) { 2121 if (sse) {
2118 dasm_put(Dst, 10985, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 2122 dasm_put(Dst, 11073, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
2119 } else { 2123 } else {
2120 dasm_put(Dst, 11010); 2124 dasm_put(Dst, 11098);
2121 } 2125 }
2122 if (LJ_DUALNUM) { 2126 if (LJ_DUALNUM) {
2123 dasm_put(Dst, 10406); 2127 dasm_put(Dst, 10494);
2124 } else { 2128 } else {
2125 dasm_put(Dst, 10147); 2129 dasm_put(Dst, 10235);
2126 } 2130 }
2127 break; 2131 break;
2128 case BC_LEN: 2132 case BC_LEN:
2129 dasm_put(Dst, 11019, LJ_TSTR); 2133 dasm_put(Dst, 11107, LJ_TSTR);
2130 if (LJ_DUALNUM) { 2134 if (LJ_DUALNUM) {
2131 dasm_put(Dst, 11033, Dt5(->len), LJ_TISNUM); 2135 dasm_put(Dst, 11121, Dt5(->len), LJ_TISNUM);
2132 } else if (sse) { 2136 } else if (sse) {
2133 dasm_put(Dst, 11047, Dt5(->len)); 2137 dasm_put(Dst, 11135, Dt5(->len));
2134 } else { 2138 } else {
2135 dasm_put(Dst, 11065, Dt5(->len)); 2139 dasm_put(Dst, 11153, Dt5(->len));
2136 } 2140 }
2137 dasm_put(Dst, 11074, LJ_TTAB); 2141 dasm_put(Dst, 11162, LJ_TTAB);
2138 if (LJ_DUALNUM) { 2142 if (LJ_DUALNUM) {
2139 } else if (sse) { 2143 } else if (sse) {
2140 dasm_put(Dst, 11115); 2144 dasm_put(Dst, 11203);
2141 } else { 2145 } else {
2142 } 2146 }
2143 dasm_put(Dst, 11121); 2147 dasm_put(Dst, 11209);
2144 break; 2148 break;
2145 2149
2146 /* -- Binary ops -------------------------------------------------------- */ 2150 /* -- Binary ops -------------------------------------------------------- */
@@ -2148,603 +2152,603 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2148 2152
2149 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 2153 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
2150 if (LJ_DUALNUM) { 2154 if (LJ_DUALNUM) {
2151 dasm_put(Dst, 11134); 2155 dasm_put(Dst, 11222);
2152 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2156 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2153 switch (vk) { 2157 switch (vk) {
2154 case 0: 2158 case 0:
2155 dasm_put(Dst, 11142, LJ_TISNUM, LJ_TISNUM); 2159 dasm_put(Dst, 11230, LJ_TISNUM, LJ_TISNUM);
2156 break; 2160 break;
2157 case 1: 2161 case 1:
2158 dasm_put(Dst, 11175, LJ_TISNUM, LJ_TISNUM); 2162 dasm_put(Dst, 11263, LJ_TISNUM, LJ_TISNUM);
2159 break; 2163 break;
2160 default: 2164 default:
2161 dasm_put(Dst, 11208, LJ_TISNUM, LJ_TISNUM); 2165 dasm_put(Dst, 11296, LJ_TISNUM, LJ_TISNUM);
2162 break; 2166 break;
2163 } 2167 }
2164 dasm_put(Dst, 11241, LJ_TISNUM); 2168 dasm_put(Dst, 11329, LJ_TISNUM);
2165 if (vk == 1) { 2169 if (vk == 1) {
2166 dasm_put(Dst, 11043); 2170 dasm_put(Dst, 11131);
2167 } else { 2171 } else {
2168 dasm_put(Dst, 10829); 2172 dasm_put(Dst, 10917);
2169 } 2173 }
2170 dasm_put(Dst, 10147); 2174 dasm_put(Dst, 10235);
2171 } else { 2175 } else {
2172 dasm_put(Dst, 11134); 2176 dasm_put(Dst, 11222);
2173 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2177 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2174 switch (vk) { 2178 switch (vk) {
2175 case 0: 2179 case 0:
2176 dasm_put(Dst, 11247, LJ_TISNUM); 2180 dasm_put(Dst, 11335, LJ_TISNUM);
2177 if (LJ_DUALNUM) { 2181 if (LJ_DUALNUM) {
2178 dasm_put(Dst, 11259, LJ_TISNUM); 2182 dasm_put(Dst, 11347, LJ_TISNUM);
2179 } 2183 }
2180 if (sse) { 2184 if (sse) {
2181 dasm_put(Dst, 11270); 2185 dasm_put(Dst, 11358);
2182 } else { 2186 } else {
2183 dasm_put(Dst, 11284); 2187 dasm_put(Dst, 11372);
2184 } 2188 }
2185 break; 2189 break;
2186 case 1: 2190 case 1:
2187 dasm_put(Dst, 11292, LJ_TISNUM); 2191 dasm_put(Dst, 11380, LJ_TISNUM);
2188 if (LJ_DUALNUM) { 2192 if (LJ_DUALNUM) {
2189 dasm_put(Dst, 11304, LJ_TISNUM); 2193 dasm_put(Dst, 11392, LJ_TISNUM);
2190 } 2194 }
2191 if (sse) { 2195 if (sse) {
2192 dasm_put(Dst, 11315); 2196 dasm_put(Dst, 11403);
2193 } else { 2197 } else {
2194 dasm_put(Dst, 11329); 2198 dasm_put(Dst, 11417);
2195 } 2199 }
2196 break; 2200 break;
2197 default: 2201 default:
2198 dasm_put(Dst, 11337, LJ_TISNUM, LJ_TISNUM); 2202 dasm_put(Dst, 11425, LJ_TISNUM, LJ_TISNUM);
2199 if (sse) { 2203 if (sse) {
2200 dasm_put(Dst, 11359); 2204 dasm_put(Dst, 11447);
2201 } else { 2205 } else {
2202 dasm_put(Dst, 11373); 2206 dasm_put(Dst, 11461);
2203 } 2207 }
2204 break; 2208 break;
2205 } 2209 }
2206 if (sse) { 2210 if (sse) {
2207 dasm_put(Dst, 11003); 2211 dasm_put(Dst, 11091);
2208 } else { 2212 } else {
2209 dasm_put(Dst, 11015); 2213 dasm_put(Dst, 11103);
2210 } 2214 }
2211 dasm_put(Dst, 10147); 2215 dasm_put(Dst, 10235);
2212 } 2216 }
2213 break; 2217 break;
2214 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 2218 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
2215 if (LJ_DUALNUM) { 2219 if (LJ_DUALNUM) {
2216 dasm_put(Dst, 11134); 2220 dasm_put(Dst, 11222);
2217 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2221 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2218 switch (vk) { 2222 switch (vk) {
2219 case 0: 2223 case 0:
2220 dasm_put(Dst, 11381, LJ_TISNUM, LJ_TISNUM); 2224 dasm_put(Dst, 11469, LJ_TISNUM, LJ_TISNUM);
2221 break; 2225 break;
2222 case 1: 2226 case 1:
2223 dasm_put(Dst, 11414, LJ_TISNUM, LJ_TISNUM); 2227 dasm_put(Dst, 11502, LJ_TISNUM, LJ_TISNUM);
2224 break; 2228 break;
2225 default: 2229 default:
2226 dasm_put(Dst, 11447, LJ_TISNUM, LJ_TISNUM); 2230 dasm_put(Dst, 11535, LJ_TISNUM, LJ_TISNUM);
2227 break; 2231 break;
2228 } 2232 }
2229 dasm_put(Dst, 11241, LJ_TISNUM); 2233 dasm_put(Dst, 11329, LJ_TISNUM);
2230 if (vk == 1) { 2234 if (vk == 1) {
2231 dasm_put(Dst, 11043); 2235 dasm_put(Dst, 11131);
2232 } else { 2236 } else {
2233 dasm_put(Dst, 10829); 2237 dasm_put(Dst, 10917);
2234 } 2238 }
2235 dasm_put(Dst, 10147); 2239 dasm_put(Dst, 10235);
2236 } else { 2240 } else {
2237 dasm_put(Dst, 11134); 2241 dasm_put(Dst, 11222);
2238 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2242 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2239 switch (vk) { 2243 switch (vk) {
2240 case 0: 2244 case 0:
2241 dasm_put(Dst, 11247, LJ_TISNUM); 2245 dasm_put(Dst, 11335, LJ_TISNUM);
2242 if (LJ_DUALNUM) { 2246 if (LJ_DUALNUM) {
2243 dasm_put(Dst, 11259, LJ_TISNUM); 2247 dasm_put(Dst, 11347, LJ_TISNUM);
2244 } 2248 }
2245 if (sse) { 2249 if (sse) {
2246 dasm_put(Dst, 11480); 2250 dasm_put(Dst, 11568);
2247 } else { 2251 } else {
2248 dasm_put(Dst, 11494); 2252 dasm_put(Dst, 11582);
2249 } 2253 }
2250 break; 2254 break;
2251 case 1: 2255 case 1:
2252 dasm_put(Dst, 11292, LJ_TISNUM); 2256 dasm_put(Dst, 11380, LJ_TISNUM);
2253 if (LJ_DUALNUM) { 2257 if (LJ_DUALNUM) {
2254 dasm_put(Dst, 11304, LJ_TISNUM); 2258 dasm_put(Dst, 11392, LJ_TISNUM);
2255 } 2259 }
2256 if (sse) { 2260 if (sse) {
2257 dasm_put(Dst, 11502); 2261 dasm_put(Dst, 11590);
2258 } else { 2262 } else {
2259 dasm_put(Dst, 11516); 2263 dasm_put(Dst, 11604);
2260 } 2264 }
2261 break; 2265 break;
2262 default: 2266 default:
2263 dasm_put(Dst, 11337, LJ_TISNUM, LJ_TISNUM); 2267 dasm_put(Dst, 11425, LJ_TISNUM, LJ_TISNUM);
2264 if (sse) { 2268 if (sse) {
2265 dasm_put(Dst, 11524); 2269 dasm_put(Dst, 11612);
2266 } else { 2270 } else {
2267 dasm_put(Dst, 11538); 2271 dasm_put(Dst, 11626);
2268 } 2272 }
2269 break; 2273 break;
2270 } 2274 }
2271 if (sse) { 2275 if (sse) {
2272 dasm_put(Dst, 11003); 2276 dasm_put(Dst, 11091);
2273 } else { 2277 } else {
2274 dasm_put(Dst, 11015); 2278 dasm_put(Dst, 11103);
2275 } 2279 }
2276 dasm_put(Dst, 10147); 2280 dasm_put(Dst, 10235);
2277 } 2281 }
2278 break; 2282 break;
2279 case BC_MULVN: case BC_MULNV: case BC_MULVV: 2283 case BC_MULVN: case BC_MULNV: case BC_MULVV:
2280 if (LJ_DUALNUM) { 2284 if (LJ_DUALNUM) {
2281 dasm_put(Dst, 11134); 2285 dasm_put(Dst, 11222);
2282 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2286 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2283 switch (vk) { 2287 switch (vk) {
2284 case 0: 2288 case 0:
2285 dasm_put(Dst, 11546, LJ_TISNUM, LJ_TISNUM); 2289 dasm_put(Dst, 11634, LJ_TISNUM, LJ_TISNUM);
2286 break; 2290 break;
2287 case 1: 2291 case 1:
2288 dasm_put(Dst, 11580, LJ_TISNUM, LJ_TISNUM); 2292 dasm_put(Dst, 11668, LJ_TISNUM, LJ_TISNUM);
2289 break; 2293 break;
2290 default: 2294 default:
2291 dasm_put(Dst, 11614, LJ_TISNUM, LJ_TISNUM); 2295 dasm_put(Dst, 11702, LJ_TISNUM, LJ_TISNUM);
2292 break; 2296 break;
2293 } 2297 }
2294 dasm_put(Dst, 11241, LJ_TISNUM); 2298 dasm_put(Dst, 11329, LJ_TISNUM);
2295 if (vk == 1) { 2299 if (vk == 1) {
2296 dasm_put(Dst, 11043); 2300 dasm_put(Dst, 11131);
2297 } else { 2301 } else {
2298 dasm_put(Dst, 10829); 2302 dasm_put(Dst, 10917);
2299 } 2303 }
2300 dasm_put(Dst, 10147); 2304 dasm_put(Dst, 10235);
2301 } else { 2305 } else {
2302 dasm_put(Dst, 11134); 2306 dasm_put(Dst, 11222);
2303 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2307 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2304 switch (vk) { 2308 switch (vk) {
2305 case 0: 2309 case 0:
2306 dasm_put(Dst, 11247, LJ_TISNUM); 2310 dasm_put(Dst, 11335, LJ_TISNUM);
2307 if (LJ_DUALNUM) { 2311 if (LJ_DUALNUM) {
2308 dasm_put(Dst, 11259, LJ_TISNUM); 2312 dasm_put(Dst, 11347, LJ_TISNUM);
2309 } 2313 }
2310 if (sse) { 2314 if (sse) {
2311 dasm_put(Dst, 11648); 2315 dasm_put(Dst, 11736);
2312 } else { 2316 } else {
2313 dasm_put(Dst, 11662); 2317 dasm_put(Dst, 11750);
2314 } 2318 }
2315 break; 2319 break;
2316 case 1: 2320 case 1:
2317 dasm_put(Dst, 11292, LJ_TISNUM); 2321 dasm_put(Dst, 11380, LJ_TISNUM);
2318 if (LJ_DUALNUM) { 2322 if (LJ_DUALNUM) {
2319 dasm_put(Dst, 11304, LJ_TISNUM); 2323 dasm_put(Dst, 11392, LJ_TISNUM);
2320 } 2324 }
2321 if (sse) { 2325 if (sse) {
2322 dasm_put(Dst, 11670); 2326 dasm_put(Dst, 11758);
2323 } else { 2327 } else {
2324 dasm_put(Dst, 11684); 2328 dasm_put(Dst, 11772);
2325 } 2329 }
2326 break; 2330 break;
2327 default: 2331 default:
2328 dasm_put(Dst, 11337, LJ_TISNUM, LJ_TISNUM); 2332 dasm_put(Dst, 11425, LJ_TISNUM, LJ_TISNUM);
2329 if (sse) { 2333 if (sse) {
2330 dasm_put(Dst, 11692); 2334 dasm_put(Dst, 11780);
2331 } else { 2335 } else {
2332 dasm_put(Dst, 11706); 2336 dasm_put(Dst, 11794);
2333 } 2337 }
2334 break; 2338 break;
2335 } 2339 }
2336 if (sse) { 2340 if (sse) {
2337 dasm_put(Dst, 11003); 2341 dasm_put(Dst, 11091);
2338 } else { 2342 } else {
2339 dasm_put(Dst, 11015); 2343 dasm_put(Dst, 11103);
2340 } 2344 }
2341 dasm_put(Dst, 10147); 2345 dasm_put(Dst, 10235);
2342 } 2346 }
2343 break; 2347 break;
2344 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 2348 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
2345 dasm_put(Dst, 11134); 2349 dasm_put(Dst, 11222);
2346 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2350 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2347 switch (vk) { 2351 switch (vk) {
2348 case 0: 2352 case 0:
2349 dasm_put(Dst, 11247, LJ_TISNUM); 2353 dasm_put(Dst, 11335, LJ_TISNUM);
2350 if (LJ_DUALNUM) { 2354 if (LJ_DUALNUM) {
2351 dasm_put(Dst, 11259, LJ_TISNUM); 2355 dasm_put(Dst, 11347, LJ_TISNUM);
2352 } 2356 }
2353 if (sse) { 2357 if (sse) {
2354 dasm_put(Dst, 11714); 2358 dasm_put(Dst, 11802);
2355 } else { 2359 } else {
2356 dasm_put(Dst, 11728); 2360 dasm_put(Dst, 11816);
2357 } 2361 }
2358 break; 2362 break;
2359 case 1: 2363 case 1:
2360 dasm_put(Dst, 11292, LJ_TISNUM); 2364 dasm_put(Dst, 11380, LJ_TISNUM);
2361 if (LJ_DUALNUM) { 2365 if (LJ_DUALNUM) {
2362 dasm_put(Dst, 11304, LJ_TISNUM); 2366 dasm_put(Dst, 11392, LJ_TISNUM);
2363 } 2367 }
2364 if (sse) { 2368 if (sse) {
2365 dasm_put(Dst, 11736); 2369 dasm_put(Dst, 11824);
2366 } else { 2370 } else {
2367 dasm_put(Dst, 11750); 2371 dasm_put(Dst, 11838);
2368 } 2372 }
2369 break; 2373 break;
2370 default: 2374 default:
2371 dasm_put(Dst, 11337, LJ_TISNUM, LJ_TISNUM); 2375 dasm_put(Dst, 11425, LJ_TISNUM, LJ_TISNUM);
2372 if (sse) { 2376 if (sse) {
2373 dasm_put(Dst, 11758); 2377 dasm_put(Dst, 11846);
2374 } else { 2378 } else {
2375 dasm_put(Dst, 11772); 2379 dasm_put(Dst, 11860);
2376 } 2380 }
2377 break; 2381 break;
2378 } 2382 }
2379 if (sse) { 2383 if (sse) {
2380 dasm_put(Dst, 11003); 2384 dasm_put(Dst, 11091);
2381 } else { 2385 } else {
2382 dasm_put(Dst, 11015); 2386 dasm_put(Dst, 11103);
2383 } 2387 }
2384 dasm_put(Dst, 10147); 2388 dasm_put(Dst, 10235);
2385 break; 2389 break;
2386 case BC_MODVN: 2390 case BC_MODVN:
2387 dasm_put(Dst, 11134); 2391 dasm_put(Dst, 11222);
2388 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2392 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2389 switch (vk) { 2393 switch (vk) {
2390 case 0: 2394 case 0:
2391 dasm_put(Dst, 11247, LJ_TISNUM); 2395 dasm_put(Dst, 11335, LJ_TISNUM);
2392 if (LJ_DUALNUM) { 2396 if (LJ_DUALNUM) {
2393 dasm_put(Dst, 11259, LJ_TISNUM); 2397 dasm_put(Dst, 11347, LJ_TISNUM);
2394 } 2398 }
2395 if (sse) { 2399 if (sse) {
2396 dasm_put(Dst, 11780); 2400 dasm_put(Dst, 11868);
2397 } else { 2401 } else {
2398 dasm_put(Dst, 11794); 2402 dasm_put(Dst, 11882);
2399 } 2403 }
2400 break; 2404 break;
2401 case 1: 2405 case 1:
2402 dasm_put(Dst, 11292, LJ_TISNUM); 2406 dasm_put(Dst, 11380, LJ_TISNUM);
2403 if (LJ_DUALNUM) { 2407 if (LJ_DUALNUM) {
2404 dasm_put(Dst, 11304, LJ_TISNUM); 2408 dasm_put(Dst, 11392, LJ_TISNUM);
2405 } 2409 }
2406 if (sse) { 2410 if (sse) {
2407 dasm_put(Dst, 11802); 2411 dasm_put(Dst, 11890);
2408 } else { 2412 } else {
2409 dasm_put(Dst, 11816); 2413 dasm_put(Dst, 11904);
2410 } 2414 }
2411 break; 2415 break;
2412 default: 2416 default:
2413 dasm_put(Dst, 11337, LJ_TISNUM, LJ_TISNUM); 2417 dasm_put(Dst, 11425, LJ_TISNUM, LJ_TISNUM);
2414 if (sse) { 2418 if (sse) {
2415 dasm_put(Dst, 11824); 2419 dasm_put(Dst, 11912);
2416 } else { 2420 } else {
2417 dasm_put(Dst, 11838); 2421 dasm_put(Dst, 11926);
2418 } 2422 }
2419 break; 2423 break;
2420 } 2424 }
2421 dasm_put(Dst, 11846); 2425 dasm_put(Dst, 11934);
2422 if (sse) { 2426 if (sse) {
2423 dasm_put(Dst, 11003); 2427 dasm_put(Dst, 11091);
2424 } else { 2428 } else {
2425 dasm_put(Dst, 11015); 2429 dasm_put(Dst, 11103);
2426 } 2430 }
2427 dasm_put(Dst, 10147); 2431 dasm_put(Dst, 10235);
2428 break; 2432 break;
2429 case BC_MODNV: case BC_MODVV: 2433 case BC_MODNV: case BC_MODVV:
2430 dasm_put(Dst, 11134); 2434 dasm_put(Dst, 11222);
2431 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2435 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2432 switch (vk) { 2436 switch (vk) {
2433 case 0: 2437 case 0:
2434 dasm_put(Dst, 11247, LJ_TISNUM); 2438 dasm_put(Dst, 11335, LJ_TISNUM);
2435 if (LJ_DUALNUM) { 2439 if (LJ_DUALNUM) {
2436 dasm_put(Dst, 11259, LJ_TISNUM); 2440 dasm_put(Dst, 11347, LJ_TISNUM);
2437 } 2441 }
2438 if (sse) { 2442 if (sse) {
2439 dasm_put(Dst, 11780); 2443 dasm_put(Dst, 11868);
2440 } else { 2444 } else {
2441 dasm_put(Dst, 11794); 2445 dasm_put(Dst, 11882);
2442 } 2446 }
2443 break; 2447 break;
2444 case 1: 2448 case 1:
2445 dasm_put(Dst, 11292, LJ_TISNUM); 2449 dasm_put(Dst, 11380, LJ_TISNUM);
2446 if (LJ_DUALNUM) { 2450 if (LJ_DUALNUM) {
2447 dasm_put(Dst, 11304, LJ_TISNUM); 2451 dasm_put(Dst, 11392, LJ_TISNUM);
2448 } 2452 }
2449 if (sse) { 2453 if (sse) {
2450 dasm_put(Dst, 11802); 2454 dasm_put(Dst, 11890);
2451 } else { 2455 } else {
2452 dasm_put(Dst, 11816); 2456 dasm_put(Dst, 11904);
2453 } 2457 }
2454 break; 2458 break;
2455 default: 2459 default:
2456 dasm_put(Dst, 11337, LJ_TISNUM, LJ_TISNUM); 2460 dasm_put(Dst, 11425, LJ_TISNUM, LJ_TISNUM);
2457 if (sse) { 2461 if (sse) {
2458 dasm_put(Dst, 11824); 2462 dasm_put(Dst, 11912);
2459 } else { 2463 } else {
2460 dasm_put(Dst, 11838); 2464 dasm_put(Dst, 11926);
2461 } 2465 }
2462 break; 2466 break;
2463 } 2467 }
2464 dasm_put(Dst, 11852); 2468 dasm_put(Dst, 11940);
2465 break; 2469 break;
2466 case BC_POW: 2470 case BC_POW:
2467 dasm_put(Dst, 11134); 2471 dasm_put(Dst, 11222);
2468 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2472 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2469 switch (vk) { 2473 switch (vk) {
2470 case 0: 2474 case 0:
2471 dasm_put(Dst, 11247, LJ_TISNUM); 2475 dasm_put(Dst, 11335, LJ_TISNUM);
2472 if (LJ_DUALNUM) { 2476 if (LJ_DUALNUM) {
2473 dasm_put(Dst, 11259, LJ_TISNUM); 2477 dasm_put(Dst, 11347, LJ_TISNUM);
2474 } 2478 }
2475 if (sse) { 2479 if (sse) {
2476 dasm_put(Dst, 11780); 2480 dasm_put(Dst, 11868);
2477 } else { 2481 } else {
2478 dasm_put(Dst, 11794); 2482 dasm_put(Dst, 11882);
2479 } 2483 }
2480 break; 2484 break;
2481 case 1: 2485 case 1:
2482 dasm_put(Dst, 11292, LJ_TISNUM); 2486 dasm_put(Dst, 11380, LJ_TISNUM);
2483 if (LJ_DUALNUM) { 2487 if (LJ_DUALNUM) {
2484 dasm_put(Dst, 11304, LJ_TISNUM); 2488 dasm_put(Dst, 11392, LJ_TISNUM);
2485 } 2489 }
2486 if (sse) { 2490 if (sse) {
2487 dasm_put(Dst, 11802); 2491 dasm_put(Dst, 11890);
2488 } else { 2492 } else {
2489 dasm_put(Dst, 11816); 2493 dasm_put(Dst, 11904);
2490 } 2494 }
2491 break; 2495 break;
2492 default: 2496 default:
2493 dasm_put(Dst, 11337, LJ_TISNUM, LJ_TISNUM); 2497 dasm_put(Dst, 11425, LJ_TISNUM, LJ_TISNUM);
2494 if (sse) { 2498 if (sse) {
2495 dasm_put(Dst, 11824); 2499 dasm_put(Dst, 11912);
2496 } else { 2500 } else {
2497 dasm_put(Dst, 11838); 2501 dasm_put(Dst, 11926);
2498 } 2502 }
2499 break; 2503 break;
2500 } 2504 }
2501 dasm_put(Dst, 11857); 2505 dasm_put(Dst, 11945);
2502 if (sse) { 2506 if (sse) {
2503 dasm_put(Dst, 11003); 2507 dasm_put(Dst, 11091);
2504 } else { 2508 } else {
2505 dasm_put(Dst, 11015); 2509 dasm_put(Dst, 11103);
2506 } 2510 }
2507 dasm_put(Dst, 10147); 2511 dasm_put(Dst, 10235);
2508 break; 2512 break;
2509 2513
2510 case BC_CAT: 2514 case BC_CAT:
2511 dasm_put(Dst, 11861, Dt1(->base), Dt1(->base)); 2515 dasm_put(Dst, 11949, Dt1(->base), Dt1(->base));
2512 break; 2516 break;
2513 2517
2514 /* -- Constant ops ------------------------------------------------------ */ 2518 /* -- Constant ops ------------------------------------------------------ */
2515 2519
2516 case BC_KSTR: 2520 case BC_KSTR:
2517 dasm_put(Dst, 11944, LJ_TSTR); 2521 dasm_put(Dst, 12032, LJ_TSTR);
2518 break; 2522 break;
2519 case BC_KCDATA: 2523 case BC_KCDATA:
2520#if LJ_HASFFI 2524#if LJ_HASFFI
2521 dasm_put(Dst, 11944, LJ_TCDATA); 2525 dasm_put(Dst, 12032, LJ_TCDATA);
2522#endif 2526#endif
2523 break; 2527 break;
2524 case BC_KSHORT: 2528 case BC_KSHORT:
2525 if (LJ_DUALNUM) { 2529 if (LJ_DUALNUM) {
2526 dasm_put(Dst, 11979, LJ_TISNUM); 2530 dasm_put(Dst, 12067, LJ_TISNUM);
2527 } else if (sse) { 2531 } else if (sse) {
2528 dasm_put(Dst, 11991); 2532 dasm_put(Dst, 12079);
2529 } else { 2533 } else {
2530 dasm_put(Dst, 12006); 2534 dasm_put(Dst, 12094);
2531 } 2535 }
2532 dasm_put(Dst, 10147); 2536 dasm_put(Dst, 10235);
2533 break; 2537 break;
2534 case BC_KNUM: 2538 case BC_KNUM:
2535 if (sse) { 2539 if (sse) {
2536 dasm_put(Dst, 12014); 2540 dasm_put(Dst, 12102);
2537 } else { 2541 } else {
2538 dasm_put(Dst, 12027); 2542 dasm_put(Dst, 12115);
2539 } 2543 }
2540 dasm_put(Dst, 10147); 2544 dasm_put(Dst, 10235);
2541 break; 2545 break;
2542 case BC_KPRI: 2546 case BC_KPRI:
2543 dasm_put(Dst, 12034); 2547 dasm_put(Dst, 12122);
2544 break; 2548 break;
2545 case BC_KNIL: 2549 case BC_KNIL:
2546 dasm_put(Dst, 12062, LJ_TNIL); 2550 dasm_put(Dst, 12150, LJ_TNIL);
2547 break; 2551 break;
2548 2552
2549 /* -- Upvalue and function ops ------------------------------------------ */ 2553 /* -- Upvalue and function ops ------------------------------------------ */
2550 2554
2551 case BC_UGET: 2555 case BC_UGET:
2552 dasm_put(Dst, 12109, offsetof(GCfuncL, uvptr), DtA(->v)); 2556 dasm_put(Dst, 12197, offsetof(GCfuncL, uvptr), DtA(->v));
2553 break; 2557 break;
2554 case BC_USETV: 2558 case BC_USETV:
2555#define TV2MARKOFS \ 2559#define TV2MARKOFS \
2556 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2560 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2557 dasm_put(Dst, 12149, 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); 2561 dasm_put(Dst, 12237, 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);
2558 dasm_put(Dst, 12240); 2562 dasm_put(Dst, 12328);
2559 break; 2563 break;
2560#undef TV2MARKOFS 2564#undef TV2MARKOFS
2561 case BC_USETS: 2565 case BC_USETS:
2562 dasm_put(Dst, 12252, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 2566 dasm_put(Dst, 12340, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
2563 break; 2567 break;
2564 case BC_USETN: 2568 case BC_USETN:
2565 dasm_put(Dst, 12345); 2569 dasm_put(Dst, 12433);
2566 if (sse) { 2570 if (sse) {
2567 dasm_put(Dst, 12350); 2571 dasm_put(Dst, 12438);
2568 } else { 2572 } else {
2569 dasm_put(Dst, 10658); 2573 dasm_put(Dst, 10746);
2570 } 2574 }
2571 dasm_put(Dst, 12357, offsetof(GCfuncL, uvptr), DtA(->v)); 2575 dasm_put(Dst, 12445, offsetof(GCfuncL, uvptr), DtA(->v));
2572 if (sse) { 2576 if (sse) {
2573 dasm_put(Dst, 12366); 2577 dasm_put(Dst, 12454);
2574 } else { 2578 } else {
2575 dasm_put(Dst, 12372); 2579 dasm_put(Dst, 12460);
2576 } 2580 }
2577 dasm_put(Dst, 10147); 2581 dasm_put(Dst, 10235);
2578 break; 2582 break;
2579 case BC_USETP: 2583 case BC_USETP:
2580 dasm_put(Dst, 12375, offsetof(GCfuncL, uvptr), DtA(->v)); 2584 dasm_put(Dst, 12463, offsetof(GCfuncL, uvptr), DtA(->v));
2581 break; 2585 break;
2582 case BC_UCLO: 2586 case BC_UCLO:
2583 dasm_put(Dst, 12414, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2587 dasm_put(Dst, 12502, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2584 break; 2588 break;
2585 2589
2586 case BC_FNEW: 2590 case BC_FNEW:
2587 dasm_put(Dst, 12469, Dt1(->base), Dt1(->base), LJ_TFUNC); 2591 dasm_put(Dst, 12557, Dt1(->base), Dt1(->base), LJ_TFUNC);
2588 break; 2592 break;
2589 2593
2590 /* -- Table ops --------------------------------------------------------- */ 2594 /* -- Table ops --------------------------------------------------------- */
2591 2595
2592 case BC_TNEW: 2596 case BC_TNEW:
2593 dasm_put(Dst, 12535, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2597 dasm_put(Dst, 12623, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2594 break; 2598 break;
2595 case BC_TDUP: 2599 case BC_TDUP:
2596 dasm_put(Dst, 12657, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2600 dasm_put(Dst, 12745, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2597 break; 2601 break;
2598 2602
2599 case BC_GGET: 2603 case BC_GGET:
2600 dasm_put(Dst, 12752, Dt7(->env)); 2604 dasm_put(Dst, 12840, Dt7(->env));
2601 break; 2605 break;
2602 case BC_GSET: 2606 case BC_GSET:
2603 dasm_put(Dst, 12771, Dt7(->env)); 2607 dasm_put(Dst, 12859, Dt7(->env));
2604 break; 2608 break;
2605 2609
2606 case BC_TGETV: 2610 case BC_TGETV:
2607 dasm_put(Dst, 12790, LJ_TTAB); 2611 dasm_put(Dst, 12878, LJ_TTAB);
2608 if (LJ_DUALNUM) { 2612 if (LJ_DUALNUM) {
2609 dasm_put(Dst, 12813, LJ_TISNUM); 2613 dasm_put(Dst, 12901, LJ_TISNUM);
2610 } else { 2614 } else {
2611 dasm_put(Dst, 12827, LJ_TISNUM); 2615 dasm_put(Dst, 12915, LJ_TISNUM);
2612 if (sse) { 2616 if (sse) {
2613 dasm_put(Dst, 12838); 2617 dasm_put(Dst, 12926);
2614 } else { 2618 } else {
2615 } 2619 }
2616 dasm_put(Dst, 12859); 2620 dasm_put(Dst, 12947);
2617 } 2621 }
2618 dasm_put(Dst, 12864, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); 2622 dasm_put(Dst, 12952, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2619 dasm_put(Dst, 12955, LJ_TSTR); 2623 dasm_put(Dst, 13043, LJ_TSTR);
2620 break; 2624 break;
2621 case BC_TGETS: 2625 case BC_TGETS:
2622 dasm_put(Dst, 12973, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2626 dasm_put(Dst, 13061, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2623 dasm_put(Dst, 13057, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2627 dasm_put(Dst, 13145, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2624 break; 2628 break;
2625 case BC_TGETB: 2629 case BC_TGETB:
2626 dasm_put(Dst, 13128, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2630 dasm_put(Dst, 13216, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2627 dasm_put(Dst, 13223, LJ_TNIL); 2631 dasm_put(Dst, 13311, LJ_TNIL);
2628 break; 2632 break;
2629 2633
2630 case BC_TSETV: 2634 case BC_TSETV:
2631 dasm_put(Dst, 13240, LJ_TTAB); 2635 dasm_put(Dst, 13328, LJ_TTAB);
2632 if (LJ_DUALNUM) { 2636 if (LJ_DUALNUM) {
2633 dasm_put(Dst, 12813, LJ_TISNUM); 2637 dasm_put(Dst, 12901, LJ_TISNUM);
2634 } else { 2638 } else {
2635 dasm_put(Dst, 12827, LJ_TISNUM); 2639 dasm_put(Dst, 12915, LJ_TISNUM);
2636 if (sse) { 2640 if (sse) {
2637 dasm_put(Dst, 12838); 2641 dasm_put(Dst, 12926);
2638 } else { 2642 } else {
2639 } 2643 }
2640 dasm_put(Dst, 13263); 2644 dasm_put(Dst, 13351);
2641 } 2645 }
2642 dasm_put(Dst, 13268, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); 2646 dasm_put(Dst, 13356, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
2643 dasm_put(Dst, 13348, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2647 dasm_put(Dst, 13436, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2644 break; 2648 break;
2645 case BC_TSETS: 2649 case BC_TSETS:
2646 dasm_put(Dst, 13405, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2650 dasm_put(Dst, 13493, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2647 dasm_put(Dst, 13481, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2651 dasm_put(Dst, 13569, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2648 dasm_put(Dst, 13569, 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)); 2652 dasm_put(Dst, 13657, 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));
2649 break; 2653 break;
2650 case BC_TSETB: 2654 case BC_TSETB:
2651 dasm_put(Dst, 13660, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2655 dasm_put(Dst, 13748, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2652 dasm_put(Dst, 13754, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2656 dasm_put(Dst, 13842, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2653 break; 2657 break;
2654 2658
2655 case BC_TSETM: 2659 case BC_TSETM:
2656 dasm_put(Dst, 13800, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2660 dasm_put(Dst, 13888, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2657 dasm_put(Dst, 13943, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2661 dasm_put(Dst, 14031, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2658 break; 2662 break;
2659 2663
2660 /* -- Calls and vararg handling ----------------------------------------- */ 2664 /* -- Calls and vararg handling ----------------------------------------- */
2661 2665
2662 case BC_CALL: case BC_CALLM: 2666 case BC_CALL: case BC_CALLM:
2663 dasm_put(Dst, 11138); 2667 dasm_put(Dst, 11226);
2664 if (op == BC_CALLM) { 2668 if (op == BC_CALLM) {
2665 dasm_put(Dst, 13961); 2669 dasm_put(Dst, 14049);
2666 } 2670 }
2667 dasm_put(Dst, 13966, LJ_TFUNC, Dt7(->pc)); 2671 dasm_put(Dst, 14054, LJ_TFUNC, Dt7(->pc));
2668 break; 2672 break;
2669 2673
2670 case BC_CALLMT: 2674 case BC_CALLMT:
2671 dasm_put(Dst, 13961); 2675 dasm_put(Dst, 14049);
2672 break; 2676 break;
2673 case BC_CALLT: 2677 case BC_CALLT:
2674 dasm_put(Dst, 14008, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2678 dasm_put(Dst, 14096, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2675 dasm_put(Dst, 14123, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2679 dasm_put(Dst, 14211, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2676 break; 2680 break;
2677 2681
2678 case BC_ITERC: 2682 case BC_ITERC:
2679 dasm_put(Dst, 14194, LJ_TFUNC, 2+1, Dt7(->pc)); 2683 dasm_put(Dst, 14282, LJ_TFUNC, 2+1, Dt7(->pc));
2680 break; 2684 break;
2681 2685
2682 case BC_ITERN: 2686 case BC_ITERN:
2683#if LJ_HASJIT 2687#if LJ_HASJIT
2684#endif 2688#endif
2685 dasm_put(Dst, 14265, Dt6(->asize), Dt6(->array), LJ_TNIL); 2689 dasm_put(Dst, 14353, Dt6(->asize), Dt6(->array), LJ_TNIL);
2686 if (LJ_DUALNUM) { 2690 if (LJ_DUALNUM) {
2687 dasm_put(Dst, 11038, LJ_TISNUM); 2691 dasm_put(Dst, 11126, LJ_TISNUM);
2688 } else if (sse) { 2692 } else if (sse) {
2689 dasm_put(Dst, 11115); 2693 dasm_put(Dst, 11203);
2690 } else { 2694 } else {
2691 dasm_put(Dst, 14311); 2695 dasm_put(Dst, 14399);
2692 } 2696 }
2693 dasm_put(Dst, 14317); 2697 dasm_put(Dst, 14405);
2694 if (LJ_DUALNUM) { 2698 if (LJ_DUALNUM) {
2695 } else if (sse) { 2699 } else if (sse) {
2696 dasm_put(Dst, 11003); 2700 dasm_put(Dst, 11091);
2697 } else { 2701 } else {
2698 dasm_put(Dst, 11015); 2702 dasm_put(Dst, 11103);
2699 } 2703 }
2700 dasm_put(Dst, 14330, -BCBIAS_J*4); 2704 dasm_put(Dst, 14418, -BCBIAS_J*4);
2701 if (!LJ_DUALNUM && !sse) { 2705 if (!LJ_DUALNUM && !sse) {
2702 dasm_put(Dst, 14382); 2706 dasm_put(Dst, 14470);
2703 } 2707 }
2704 dasm_put(Dst, 14388, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); 2708 dasm_put(Dst, 14476, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
2705 break; 2709 break;
2706 2710
2707 case BC_ISNEXT: 2711 case BC_ISNEXT:
2708 dasm_put(Dst, 14460, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2712 dasm_put(Dst, 14548, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2709 break; 2713 break;
2710 2714
2711 case BC_VARG: 2715 case BC_VARG:
2712 dasm_put(Dst, 14560, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2716 dasm_put(Dst, 14648, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2713 dasm_put(Dst, 14720, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2717 dasm_put(Dst, 14808, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2714 break; 2718 break;
2715 2719
2716 /* -- Returns ----------------------------------------------------------- */ 2720 /* -- Returns ----------------------------------------------------------- */
2717 2721
2718 case BC_RETM: 2722 case BC_RETM:
2719 dasm_put(Dst, 13961); 2723 dasm_put(Dst, 14049);
2720 break; 2724 break;
2721 2725
2722 case BC_RET: case BC_RET0: case BC_RET1: 2726 case BC_RET: case BC_RET0: case BC_RET1:
2723 if (op != BC_RET0) { 2727 if (op != BC_RET0) {
2724 dasm_put(Dst, 14786); 2728 dasm_put(Dst, 14874);
2725 } 2729 }
2726 dasm_put(Dst, 14790, FRAME_TYPE); 2730 dasm_put(Dst, 14878, FRAME_TYPE);
2727 switch (op) { 2731 switch (op) {
2728 case BC_RET: 2732 case BC_RET:
2729 dasm_put(Dst, 14809); 2733 dasm_put(Dst, 14897);
2730 break; 2734 break;
2731 case BC_RET1: 2735 case BC_RET1:
2732 dasm_put(Dst, 14861); 2736 dasm_put(Dst, 14949);
2733 /* fallthrough */ 2737 /* fallthrough */
2734 case BC_RET0: 2738 case BC_RET0:
2735 dasm_put(Dst, 14871); 2739 dasm_put(Dst, 14959);
2736 default: 2740 default:
2737 break; 2741 break;
2738 } 2742 }
2739 dasm_put(Dst, 14882, Dt7(->pc), PC2PROTO(k)); 2743 dasm_put(Dst, 14970, Dt7(->pc), PC2PROTO(k));
2740 if (op == BC_RET) { 2744 if (op == BC_RET) {
2741 dasm_put(Dst, 14926, LJ_TNIL); 2745 dasm_put(Dst, 15014, LJ_TNIL);
2742 } else { 2746 } else {
2743 dasm_put(Dst, 14935, LJ_TNIL); 2747 dasm_put(Dst, 15023, LJ_TNIL);
2744 } 2748 }
2745 dasm_put(Dst, 14942, -FRAME_VARG, FRAME_TYPEP); 2749 dasm_put(Dst, 15030, -FRAME_VARG, FRAME_TYPEP);
2746 if (op != BC_RET0) { 2750 if (op != BC_RET0) {
2747 dasm_put(Dst, 14966); 2751 dasm_put(Dst, 15054);
2748 } 2752 }
2749 dasm_put(Dst, 4688); 2753 dasm_put(Dst, 4688);
2750 break; 2754 break;
@@ -2754,7 +2758,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2754 2758
2755 case BC_FORL: 2759 case BC_FORL:
2756#if LJ_HASJIT 2760#if LJ_HASJIT
2757 dasm_put(Dst, 14970, HOTCOUNT_PCMASK, GG_DISP2HOT); 2761 dasm_put(Dst, 15058, HOTCOUNT_PCMASK, GG_DISP2HOT);
2758#endif 2762#endif
2759 break; 2763 break;
2760 2764
@@ -2766,111 +2770,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2766 case BC_FORI: 2770 case BC_FORI:
2767 case BC_IFORL: 2771 case BC_IFORL:
2768 vk = (op == BC_IFORL || op == BC_JFORL); 2772 vk = (op == BC_IFORL || op == BC_JFORL);
2769 dasm_put(Dst, 14991); 2773 dasm_put(Dst, 15079);
2770 if (LJ_DUALNUM) { 2774 if (LJ_DUALNUM) {
2771 dasm_put(Dst, 14995, LJ_TISNUM); 2775 dasm_put(Dst, 15083, LJ_TISNUM);
2772 if (!vk) { 2776 if (!vk) {
2773 dasm_put(Dst, 15005, LJ_TISNUM, LJ_TISNUM); 2777 dasm_put(Dst, 15093, LJ_TISNUM, LJ_TISNUM);
2774 } else { 2778 } else {
2775#ifdef LUA_USE_ASSERT 2779#ifdef LUA_USE_ASSERT
2776 dasm_put(Dst, 15034, LJ_TISNUM, LJ_TISNUM); 2780 dasm_put(Dst, 15122, LJ_TISNUM, LJ_TISNUM);
2777#endif 2781#endif
2778 dasm_put(Dst, 15053); 2782 dasm_put(Dst, 15141);
2779 } 2783 }
2780 dasm_put(Dst, 15072, LJ_TISNUM); 2784 dasm_put(Dst, 15160, LJ_TISNUM);
2781 if (op == BC_FORI) { 2785 if (op == BC_FORI) {
2782 dasm_put(Dst, 15083, -BCBIAS_J*4); 2786 dasm_put(Dst, 15171, -BCBIAS_J*4);
2783 } else if (op == BC_JFORI) { 2787 } else if (op == BC_JFORI) {
2784 dasm_put(Dst, 15097, -BCBIAS_J*4, BC_JLOOP); 2788 dasm_put(Dst, 15185, -BCBIAS_J*4, BC_JLOOP);
2785 } else if (op == BC_IFORL) { 2789 } else if (op == BC_IFORL) {
2786 dasm_put(Dst, 15115, -BCBIAS_J*4); 2790 dasm_put(Dst, 15203, -BCBIAS_J*4);
2787 } else { 2791 } else {
2788 dasm_put(Dst, 15107, BC_JLOOP); 2792 dasm_put(Dst, 15195, BC_JLOOP);
2789 } 2793 }
2790 dasm_put(Dst, 15129); 2794 dasm_put(Dst, 15217);
2791 if (vk) { 2795 if (vk) {
2792 dasm_put(Dst, 15153); 2796 dasm_put(Dst, 15241);
2793 } 2797 }
2794 dasm_put(Dst, 15072, LJ_TISNUM); 2798 dasm_put(Dst, 15160, LJ_TISNUM);
2795 if (op == BC_FORI) { 2799 if (op == BC_FORI) {
2796 dasm_put(Dst, 15162); 2800 dasm_put(Dst, 15250);
2797 } else if (op == BC_JFORI) { 2801 } else if (op == BC_JFORI) {
2798 dasm_put(Dst, 15167, -BCBIAS_J*4, BC_JLOOP); 2802 dasm_put(Dst, 15255, -BCBIAS_J*4, BC_JLOOP);
2799 } else if (op == BC_IFORL) { 2803 } else if (op == BC_IFORL) {
2800 dasm_put(Dst, 15181); 2804 dasm_put(Dst, 15269);
2801 } else { 2805 } else {
2802 dasm_put(Dst, 15177, BC_JLOOP); 2806 dasm_put(Dst, 15265, BC_JLOOP);
2803 } 2807 }
2804 dasm_put(Dst, 15186); 2808 dasm_put(Dst, 15274);
2805 } else if (!vk) { 2809 } else if (!vk) {
2806 dasm_put(Dst, 15193, LJ_TISNUM); 2810 dasm_put(Dst, 15281, LJ_TISNUM);
2807 } 2811 }
2808 if (!vk) { 2812 if (!vk) {
2809 dasm_put(Dst, 15199, LJ_TISNUM); 2813 dasm_put(Dst, 15287, LJ_TISNUM);
2810 } else { 2814 } else {
2811#ifdef LUA_USE_ASSERT 2815#ifdef LUA_USE_ASSERT
2812 dasm_put(Dst, 15213, LJ_TISNUM, LJ_TISNUM); 2816 dasm_put(Dst, 15301, LJ_TISNUM, LJ_TISNUM);
2813#endif 2817#endif
2814 } 2818 }
2815 dasm_put(Dst, 15232); 2819 dasm_put(Dst, 15320);
2816 if (!vk) { 2820 if (!vk) {
2817 dasm_put(Dst, 15236, LJ_TISNUM); 2821 dasm_put(Dst, 15324, LJ_TISNUM);
2818 } 2822 }
2819 if (sse) { 2823 if (sse) {
2820 dasm_put(Dst, 15245); 2824 dasm_put(Dst, 15333);
2821 if (vk) { 2825 if (vk) {
2822 dasm_put(Dst, 15257); 2826 dasm_put(Dst, 15345);
2823 } else { 2827 } else {
2824 dasm_put(Dst, 15276); 2828 dasm_put(Dst, 15364);
2825 } 2829 }
2826 dasm_put(Dst, 15281); 2830 dasm_put(Dst, 15369);
2827 } else { 2831 } else {
2828 dasm_put(Dst, 15294); 2832 dasm_put(Dst, 15382);
2829 if (vk) { 2833 if (vk) {
2830 dasm_put(Dst, 15300); 2834 dasm_put(Dst, 15388);
2831 } else { 2835 } else {
2832 dasm_put(Dst, 15316); 2836 dasm_put(Dst, 15404);
2833 } 2837 }
2834 dasm_put(Dst, 15324); 2838 dasm_put(Dst, 15412);
2835 if (cmov) { 2839 if (cmov) {
2836 dasm_put(Dst, 10102); 2840 dasm_put(Dst, 10190);
2837 } else { 2841 } else {
2838 dasm_put(Dst, 10108); 2842 dasm_put(Dst, 10196);
2839 } 2843 }
2840 if (!cmov) { 2844 if (!cmov) {
2841 dasm_put(Dst, 15329); 2845 dasm_put(Dst, 15417);
2842 } 2846 }
2843 } 2847 }
2844 if (op == BC_FORI) { 2848 if (op == BC_FORI) {
2845 if (LJ_DUALNUM) { 2849 if (LJ_DUALNUM) {
2846 dasm_put(Dst, 15335); 2850 dasm_put(Dst, 15423);
2847 } else { 2851 } else {
2848 dasm_put(Dst, 15340, -BCBIAS_J*4); 2852 dasm_put(Dst, 15428, -BCBIAS_J*4);
2849 } 2853 }
2850 } else if (op == BC_JFORI) { 2854 } else if (op == BC_JFORI) {
2851 dasm_put(Dst, 15350, -BCBIAS_J*4, BC_JLOOP); 2855 dasm_put(Dst, 15438, -BCBIAS_J*4, BC_JLOOP);
2852 } else if (op == BC_IFORL) { 2856 } else if (op == BC_IFORL) {
2853 if (LJ_DUALNUM) { 2857 if (LJ_DUALNUM) {
2854 dasm_put(Dst, 15364); 2858 dasm_put(Dst, 15452);
2855 } else { 2859 } else {
2856 dasm_put(Dst, 15369, -BCBIAS_J*4); 2860 dasm_put(Dst, 15457, -BCBIAS_J*4);
2857 } 2861 }
2858 } else { 2862 } else {
2859 dasm_put(Dst, 15360, BC_JLOOP); 2863 dasm_put(Dst, 15448, BC_JLOOP);
2860 } 2864 }
2861 if (LJ_DUALNUM) { 2865 if (LJ_DUALNUM) {
2862 dasm_put(Dst, 10031); 2866 dasm_put(Dst, 10119);
2863 } else { 2867 } else {
2864 dasm_put(Dst, 10788); 2868 dasm_put(Dst, 10876);
2865 } 2869 }
2866 if (sse) { 2870 if (sse) {
2867 dasm_put(Dst, 15379); 2871 dasm_put(Dst, 15467);
2868 } 2872 }
2869 break; 2873 break;
2870 2874
2871 case BC_ITERL: 2875 case BC_ITERL:
2872#if LJ_HASJIT 2876#if LJ_HASJIT
2873 dasm_put(Dst, 14970, HOTCOUNT_PCMASK, GG_DISP2HOT); 2877 dasm_put(Dst, 15058, HOTCOUNT_PCMASK, GG_DISP2HOT);
2874#endif 2878#endif
2875 break; 2879 break;
2876 2880
@@ -2879,33 +2883,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2879 break; 2883 break;
2880#endif 2884#endif
2881 case BC_IITERL: 2885 case BC_IITERL:
2882 dasm_put(Dst, 15390, LJ_TNIL); 2886 dasm_put(Dst, 15478, LJ_TNIL);
2883 if (op == BC_JITERL) { 2887 if (op == BC_JITERL) {
2884 dasm_put(Dst, 15405, BC_JLOOP); 2888 dasm_put(Dst, 15493, BC_JLOOP);
2885 } else { 2889 } else {
2886 dasm_put(Dst, 15419, -BCBIAS_J*4); 2890 dasm_put(Dst, 15507, -BCBIAS_J*4);
2887 } 2891 }
2888 dasm_put(Dst, 10145); 2892 dasm_put(Dst, 10233);
2889 break; 2893 break;
2890 2894
2891 case BC_LOOP: 2895 case BC_LOOP:
2892#if LJ_HASJIT 2896#if LJ_HASJIT
2893 dasm_put(Dst, 14970, HOTCOUNT_PCMASK, GG_DISP2HOT); 2897 dasm_put(Dst, 15058, HOTCOUNT_PCMASK, GG_DISP2HOT);
2894#endif 2898#endif
2895 break; 2899 break;
2896 2900
2897 case BC_ILOOP: 2901 case BC_ILOOP:
2898 dasm_put(Dst, 10147); 2902 dasm_put(Dst, 10235);
2899 break; 2903 break;
2900 2904
2901 case BC_JLOOP: 2905 case BC_JLOOP:
2902#if LJ_HASJIT 2906#if LJ_HASJIT
2903 dasm_put(Dst, 15435, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16); 2907 dasm_put(Dst, 15523, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16);
2904#endif 2908#endif
2905 break; 2909 break;
2906 2910
2907 case BC_JMP: 2911 case BC_JMP:
2908 dasm_put(Dst, 15544, -BCBIAS_J*4); 2912 dasm_put(Dst, 15632, -BCBIAS_J*4);
2909 break; 2913 break;
2910 2914
2911 /* -- Function headers -------------------------------------------------- */ 2915 /* -- Function headers -------------------------------------------------- */
@@ -2919,7 +2923,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2919 2923
2920 case BC_FUNCF: 2924 case BC_FUNCF:
2921#if LJ_HASJIT 2925#if LJ_HASJIT
2922 dasm_put(Dst, 15569, HOTCOUNT_PCMASK, GG_DISP2HOT); 2926 dasm_put(Dst, 15657, HOTCOUNT_PCMASK, GG_DISP2HOT);
2923#endif 2927#endif
2924 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2928 case BC_FUNCV: /* NYI: compiled vararg functions. */
2925 break; 2929 break;
@@ -2929,47 +2933,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2929 break; 2933 break;
2930#endif 2934#endif
2931 case BC_IFUNCF: 2935 case BC_IFUNCF:
2932 dasm_put(Dst, 15590, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2936 dasm_put(Dst, 15678, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2933 if (op == BC_JFUNCF) { 2937 if (op == BC_JFUNCF) {
2934 dasm_put(Dst, 15620, BC_JLOOP); 2938 dasm_put(Dst, 15708, BC_JLOOP);
2935 } else { 2939 } else {
2936 dasm_put(Dst, 10147); 2940 dasm_put(Dst, 10235);
2937 } 2941 }
2938 dasm_put(Dst, 15629, LJ_TNIL); 2942 dasm_put(Dst, 15717, LJ_TNIL);
2939 break; 2943 break;
2940 2944
2941 case BC_JFUNCV: 2945 case BC_JFUNCV:
2942#if !LJ_HASJIT 2946#if !LJ_HASJIT
2943 break; 2947 break;
2944#endif 2948#endif
2945 dasm_put(Dst, 9292); 2949 dasm_put(Dst, 9380);
2946 break; /* NYI: compiled vararg functions. */ 2950 break; /* NYI: compiled vararg functions. */
2947 2951
2948 case BC_IFUNCV: 2952 case BC_IFUNCV:
2949 dasm_put(Dst, 15651, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2953 dasm_put(Dst, 15739, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2950 if (op == BC_JFUNCV) { 2954 if (op == BC_JFUNCV) {
2951 dasm_put(Dst, 15620, BC_JLOOP); 2955 dasm_put(Dst, 15708, BC_JLOOP);
2952 } else { 2956 } else {
2953 dasm_put(Dst, 15742, -4+PC2PROTO(k)); 2957 dasm_put(Dst, 15830, -4+PC2PROTO(k));
2954 } 2958 }
2955 dasm_put(Dst, 15765, LJ_TNIL); 2959 dasm_put(Dst, 15853, LJ_TNIL);
2956 break; 2960 break;
2957 2961
2958 case BC_FUNCC: 2962 case BC_FUNCC:
2959 case BC_FUNCCW: 2963 case BC_FUNCCW:
2960 dasm_put(Dst, 15787, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2964 dasm_put(Dst, 15875, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2961 if (op == BC_FUNCC) { 2965 if (op == BC_FUNCC) {
2962 dasm_put(Dst, 2352); 2966 dasm_put(Dst, 2352);
2963 } else { 2967 } else {
2964 dasm_put(Dst, 15817); 2968 dasm_put(Dst, 15905);
2965 } 2969 }
2966 dasm_put(Dst, 15825, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2970 dasm_put(Dst, 15913, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2967 if (op == BC_FUNCC) { 2971 if (op == BC_FUNCC) {
2968 dasm_put(Dst, 15834); 2972 dasm_put(Dst, 15922);
2969 } else { 2973 } else {
2970 dasm_put(Dst, 15838, DISPATCH_GL(wrapf)); 2974 dasm_put(Dst, 15926, DISPATCH_GL(wrapf));
2971 } 2975 }
2972 dasm_put(Dst, 15843, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2976 dasm_put(Dst, 15931, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2973 break; 2977 break;
2974 2978
2975 /* ---------------------------------------------------------------------- */ 2979 /* ---------------------------------------------------------------------- */
@@ -2997,7 +3001,7 @@ static int build_backend(BuildCtx *ctx)
2997 3001
2998 build_subroutines(ctx, cmov, sse); 3002 build_subroutines(ctx, cmov, sse);
2999 3003
3000 dasm_put(Dst, 15868); 3004 dasm_put(Dst, 15956);
3001 for (op = 0; op < BC__MAX; op++) 3005 for (op = 0; op < BC__MAX; op++)
3002 build_ins(ctx, (BCOp)op, op, cmov, sse); 3006 build_ins(ctx, (BCOp)op, op, cmov, sse);
3003 3007