aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2011-04-12 19:12:29 +0200
committerMike Pall <mike>2011-04-12 19:13:11 +0200
commitfa5cd010e8e28c7fe2338d0fdd538e95ddd88bcc (patch)
tree72aadf3527f4a65bde320f8f7b979b33b559b713 /src
parent23f847f4ed0464adf62d63eafa5c759c03793f83 (diff)
downloadluajit-fa5cd010e8e28c7fe2338d0fdd538e95ddd88bcc.tar.gz
luajit-fa5cd010e8e28c7fe2338d0fdd538e95ddd88bcc.tar.bz2
luajit-fa5cd010e8e28c7fe2338d0fdd538e95ddd88bcc.zip
Add support for tailcalls from internal C functions.
PPC: Fix __call metamethod for tailcalls.
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.dep3
-rw-r--r--src/buildvm_arm.dasc19
-rw-r--r--src/buildvm_ppc.dasc18
-rw-r--r--src/buildvm_ppcspe.h1232
-rw-r--r--src/buildvm_x64.h2060
-rw-r--r--src/buildvm_x64win.h2128
-rw-r--r--src/buildvm_x86.dasc19
-rw-r--r--src/buildvm_x86.h2330
-rw-r--r--src/lj_api.c2
-rw-r--r--src/lj_frame.h1
-rw-r--r--src/lj_meta.c24
-rw-r--r--src/lj_meta.h1
12 files changed, 3957 insertions, 3880 deletions
diff --git a/src/Makefile.dep b/src/Makefile.dep
index 8458ec78..57904877 100644
--- a/src/Makefile.dep
+++ b/src/Makefile.dep
@@ -114,7 +114,8 @@ lj_mcode.o: lj_mcode.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \
114 lj_gc.h lj_jit.h lj_ir.h lj_mcode.h lj_trace.h lj_dispatch.h lj_bc.h \ 114 lj_gc.h lj_jit.h lj_ir.h lj_mcode.h lj_trace.h lj_dispatch.h lj_bc.h \
115 lj_traceerr.h lj_vm.h 115 lj_traceerr.h lj_vm.h
116lj_meta.o: lj_meta.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h lj_gc.h \ 116lj_meta.o: lj_meta.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h lj_gc.h \
117 lj_err.h lj_errmsg.h lj_str.h lj_tab.h lj_meta.h lj_bc.h lj_vm.h 117 lj_err.h lj_errmsg.h lj_str.h lj_tab.h lj_meta.h lj_frame.h lj_bc.h \
118 lj_vm.h
118lj_obj.o: lj_obj.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h 119lj_obj.o: lj_obj.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h
119lj_opt_dce.o: lj_opt_dce.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \ 120lj_opt_dce.o: lj_opt_dce.c lj_obj.h lua.h luaconf.h lj_def.h lj_arch.h \
120 lj_ir.h lj_jit.h lj_iropt.h 121 lj_ir.h lj_jit.h lj_iropt.h
diff --git a/src/buildvm_arm.dasc b/src/buildvm_arm.dasc
index 2ad02b74..e977f844 100644
--- a/src/buildvm_arm.dasc
+++ b/src/buildvm_arm.dasc
@@ -411,7 +411,7 @@ static void build_subroutines(BuildCtx *ctx)
411 | 411 |
412 |->vm_call_dispatch_f: 412 |->vm_call_dispatch_f:
413 | ins_call 413 | ins_call
414 | // BASE = new base, RC = nargs*8 414 | // BASE = new base, CARG3 = func, RC = nargs*8, PC = caller PC
415 | 415 |
416 |->vm_cpcall: // Setup protected C frame, call C. 416 |->vm_cpcall: // Setup protected C frame, call C.
417 | // (lua_State *L, lua_CFunction func, void *ud, lua_CPFunction cp) 417 | // (lua_State *L, lua_CFunction func, void *ud, lua_CPFunction cp)
@@ -445,18 +445,26 @@ static void build_subroutines(BuildCtx *ctx)
445 |->cont_dispatch: 445 |->cont_dispatch:
446 | // BASE = meta base, RA = resultptr, RC = (nresults+1)*8 446 | // BASE = meta base, RA = resultptr, RC = (nresults+1)*8
447 | ldr LFUNC:CARG3, [RB, FRAME_FUNC] 447 | ldr LFUNC:CARG3, [RB, FRAME_FUNC]
448 | ldr CARG1, [BASE, #-16] // Get continuation.
448 | mov CARG4, BASE 449 | mov CARG4, BASE
449 | mov BASE, RB // Restore caller BASE. 450 | mov BASE, RB // Restore caller BASE.
451 | cmp CARG1, #0
450 | ldr PC, [CARG4, #-12] // Restore PC from [cont|PC]. 452 | ldr PC, [CARG4, #-12] // Restore PC from [cont|PC].
453 | beq >1
451 | ldr CARG3, LFUNC:CARG3->field_pc 454 | ldr CARG3, LFUNC:CARG3->field_pc
452 | mvn INS, #~LJ_TNIL 455 | mvn INS, #~LJ_TNIL
453 | add CARG2, RA, RC 456 | add CARG2, RA, RC
454 | ldr CARG1, [CARG4, #-16] // Get continuation.
455 | str INS, [CARG2, #-4] // Ensure one valid arg. 457 | str INS, [CARG2, #-4] // Ensure one valid arg.
456 | ldr KBASE, [CARG3, #PC2PROTO(k)] 458 | ldr KBASE, [CARG3, #PC2PROTO(k)]
457 | // BASE = base, RA = resultptr, CARG4 = meta base 459 | // BASE = base, RA = resultptr, CARG4 = meta base
458 | bx CARG1 460 | bx CARG1
459 | 461 |
462 |1: // Tail call from C function.
463 | ldr CARG3, [BASE, FRAME_FUNC]
464 | sub CARG4, CARG4, #16
465 | sub RC, CARG4, BASE
466 | b ->vm_call_tail
467 |
460 |->cont_cat: // RA = resultptr, CARG4 = meta base 468 |->cont_cat: // RA = resultptr, CARG4 = meta base
461 | ldr INS, [PC, #-4] 469 | ldr INS, [PC, #-4]
462 | sub CARG2, CARG4, #16 470 | sub CARG2, CARG4, #16
@@ -714,7 +722,7 @@ static void build_subroutines(BuildCtx *ctx)
714 | str PC, SAVE_PC 722 | str PC, SAVE_PC
715 | add CARG3, RA, NARGS8:RC 723 | add CARG3, RA, NARGS8:RC
716 | bl extern lj_meta_call // (lua_State *L, TValue *func, TValue *top) 724 | bl extern lj_meta_call // (lua_State *L, TValue *func, TValue *top)
717 | ldr LFUNC:CARG3, [BASE, FRAME_FUNC] // Guaranteed to be a function here. 725 | ldr LFUNC:CARG3, [RA, FRAME_FUNC] // Guaranteed to be a function here.
718 | ldr PC, [BASE, FRAME_PC] 726 | ldr PC, [BASE, FRAME_PC]
719 | add NARGS8:RC, NARGS8:RC, #8 // Got one more argument now. 727 | add NARGS8:RC, NARGS8:RC, #8 // Got one more argument now.
720 | b ->BC_CALLT2_Z 728 | b ->BC_CALLT2_Z
@@ -1514,10 +1522,11 @@ static void build_subroutines(BuildCtx *ctx)
1514 | ldr CARG1, L->top 1522 | ldr CARG1, L->top
1515 | ldr LFUNC:CARG3, [BASE, FRAME_FUNC] 1523 | ldr LFUNC:CARG3, [BASE, FRAME_FUNC]
1516 | sub NARGS8:RC, CARG1, BASE 1524 | sub NARGS8:RC, CARG1, BASE
1517 | bne >2 // Returned -1? 1525 | bne ->vm_call_tail // Returned -1?
1518 | ins_callt // Returned 0: retry fast path. 1526 | ins_callt // Returned 0: retry fast path.
1519 | 1527 |
1520 |2: // Reconstruct previous base for vmeta_call during tailcall. 1528 |// Reconstruct previous base for vmeta_call during tailcall.
1529 |->vm_call_tail:
1521 | ands CARG1, PC, #FRAME_TYPE 1530 | ands CARG1, PC, #FRAME_TYPE
1522 | bic CARG2, PC, #FRAME_TYPEP 1531 | bic CARG2, PC, #FRAME_TYPEP
1523 | ldreq INS, [PC, #-4] 1532 | ldreq INS, [PC, #-4]
diff --git a/src/buildvm_ppc.dasc b/src/buildvm_ppc.dasc
index 55270280..f96168df 100644
--- a/src/buildvm_ppc.dasc
+++ b/src/buildvm_ppc.dasc
@@ -540,7 +540,7 @@ static void build_subroutines(BuildCtx *ctx)
540 | 540 |
541 |->vm_call_dispatch_f: 541 |->vm_call_dispatch_f:
542 | ins_call 542 | ins_call
543 | // BASE = new base, RC = nargs*8 543 | // BASE = new base, RB = func, RC = nargs*8, PC = caller PC
544 | 544 |
545 |->vm_cpcall: // Setup protected C frame, call C. 545 |->vm_cpcall: // Setup protected C frame, call C.
546 | // (lua_State *L, lua_CFunction func, void *ud, lua_CPFunction cp) 546 | // (lua_State *L, lua_CFunction func, void *ud, lua_CPFunction cp)
@@ -581,8 +581,10 @@ static void build_subroutines(BuildCtx *ctx)
581 | mr RB, BASE 581 | mr RB, BASE
582 | mr BASE, TMP2 // Restore caller BASE. 582 | mr BASE, TMP2 // Restore caller BASE.
583 | lwz LFUNC:TMP1, FRAME_FUNC(TMP2) 583 | lwz LFUNC:TMP1, FRAME_FUNC(TMP2)
584 | cmplwi TMP0, 0
585 | lwz PC, -16(RB) // Restore PC from [cont|PC].
586 | beq >1
584 | subi TMP2, RD, 8 587 | subi TMP2, RD, 8
585 | lwz PC, -16(RB) // Restore PC from [cont|PC].
586 | lwz TMP1, LFUNC:TMP1->pc 588 | lwz TMP1, LFUNC:TMP1->pc
587 | evstddx TISNIL, RA, TMP2 // Ensure one valid arg. 589 | evstddx TISNIL, RA, TMP2 // Ensure one valid arg.
588 | lwz KBASE, PC2PROTO(k)(TMP1) 590 | lwz KBASE, PC2PROTO(k)(TMP1)
@@ -590,6 +592,11 @@ static void build_subroutines(BuildCtx *ctx)
590 | mtctr TMP0 592 | mtctr TMP0
591 | bctr // Jump to continuation. 593 | bctr // Jump to continuation.
592 | 594 |
595 |1: // Tail call from C function.
596 | subi TMP1, RB, 16
597 | sub RC, TMP1, BASE
598 | b ->vm_call_tail
599 |
593 |->cont_cat: // RA = resultptr, RB = meta base 600 |->cont_cat: // RA = resultptr, RB = meta base
594 | lwz INS, -4(PC) 601 | lwz INS, -4(PC)
595 | subi CARG2, RB, 16 602 | subi CARG2, RB, 16
@@ -845,7 +852,7 @@ static void build_subroutines(BuildCtx *ctx)
845 | bl extern lj_meta_call // (lua_State *L, TValue *func, TValue *top) 852 | bl extern lj_meta_call // (lua_State *L, TValue *func, TValue *top)
846 | lwz TMP1, FRAME_PC(BASE) 853 | lwz TMP1, FRAME_PC(BASE)
847 | addi NARGS8:RC, SAVE0, 8 // Got one more argument now. 854 | addi NARGS8:RC, SAVE0, 8 // Got one more argument now.
848 | lwz LFUNC:RB, FRAME_FUNC(BASE) // Guaranteed to be a function here. 855 | lwz LFUNC:RB, FRAME_FUNC(RA) // Guaranteed to be a function here.
849 | b ->BC_CALLT_Z 856 | b ->BC_CALLT_Z
850 | 857 |
851 |//-- Argument coercion for 'for' statement ------------------------------ 858 |//-- Argument coercion for 'for' statement ------------------------------
@@ -1797,10 +1804,11 @@ static void build_subroutines(BuildCtx *ctx)
1797 | lwz TMP0, L->top 1804 | lwz TMP0, L->top
1798 | lwz LFUNC:RB, FRAME_FUNC(BASE) 1805 | lwz LFUNC:RB, FRAME_FUNC(BASE)
1799 | sub NARGS8:RC, TMP0, BASE 1806 | sub NARGS8:RC, TMP0, BASE
1800 | bne >2 // Returned -1? 1807 | bne ->vm_call_tail // Returned -1?
1801 | ins_callt // Returned 0: retry fast path. 1808 | ins_callt // Returned 0: retry fast path.
1802 | 1809 |
1803 |2: // Reconstruct previous base for vmeta_call during tailcall. 1810 |// Reconstruct previous base for vmeta_call during tailcall.
1811 |->vm_call_tail:
1804 | andi. TMP0, PC, FRAME_TYPE 1812 | andi. TMP0, PC, FRAME_TYPE
1805 | rlwinm TMP1, PC, 0, 0, 28 1813 | rlwinm TMP1, PC, 0, 0, 28
1806 | bne >3 1814 | bne >3
diff --git a/src/buildvm_ppcspe.h b/src/buildvm_ppcspe.h
index 8d972c12..e2d2343b 100644
--- a/src/buildvm_ppcspe.h
+++ b/src/buildvm_ppcspe.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 int build_actionlist[4946] = { 15static const unsigned int build_actionlist[4954] = {
160x00010001, 160x00010001,
170x00060014, 170x00060014,
180x72000000, 180x72000000,
@@ -462,8 +462,11 @@ static const unsigned int build_actionlist[4946] = {
4620x7dca7378, 4620x7dca7378,
4630x7d2e4b78, 4630x7d2e4b78,
4640x8109fffc, 4640x8109fffc,
4650x392cfff8, 4650x28000000,
4660x820afff0, 4660x820afff0,
4670x41820000,
4680x00050801,
4690x392cfff8,
4670x81080000, 4700x81080000,
4680x00098200, 4710x00098200,
4690x13544b20, 4720x13544b20,
@@ -471,7 +474,12 @@ static const unsigned int build_actionlist[4946] = {
4710x00098200, 4740x00098200,
4720x7c0903a6, 4750x7c0903a6,
4730x4e800420, 4760x4e800420,
4740x00060028, 4770x0006000b,
4780x390afff0,
4790x7d6e4050,
4800x48000000,
4810x00050028,
4820x00060029,
4750x80f0fffc, 4830x80f0fffc,
4760x388afff0, 4840x388afff0,
4770x54f55d78, 4850x54f55d78,
@@ -484,21 +492,21 @@ static const unsigned int build_actionlist[4946] = {
4840x54f4dd78, 4920x54f4dd78,
4850x10040321, 4930x10040321,
4860x40820000, 4940x40820000,
4870x00050829, 4950x0005082a,
4960x00000000,
4880x100ea320, 4970x100ea320,
4890x48000000, 4980x48000000,
4900x0005002a, 4990x0005002b,
4910x0006002b, 5000x0006002c,
4920x11775a2d, 5010x11775a2d,
4930x38b10000, 5020x38b10000,
4940x00098200, 5030x00098200,
4950x00000000,
4960x54ea5d78, 5040x54ea5d78,
4970x11650321, 5050x11650321,
4980x7c8e5214, 5060x7c8e5214,
4990x48000000, 5070x48000000,
5000x00050001, 5080x00050001,
5010x0006002c, 5090x0006002d,
5020x1158522d, 5100x1158522d,
5030x38910000, 5110x38910000,
5040x00098200, 5120x00098200,
@@ -509,7 +517,7 @@ static const unsigned int build_actionlist[4946] = {
5090x11650321, 5170x11650321,
5100x48000000, 5180x48000000,
5110x00050001, 5190x00050001,
5120x0006002d, 5200x0006002e,
5130x100002f1, 5210x100002f1,
5140x54ea5d78, 5220x54ea5d78,
5150x38b10000, 5230x38b10000,
@@ -518,7 +526,7 @@ static const unsigned int build_actionlist[4946] = {
5180x10050321, 5260x10050321,
5190x48000000, 5270x48000000,
5200x00050001, 5280x00050001,
5210x0006002e, 5290x0006002f,
5220x54ea5d78, 5300x54ea5d78,
5230x54eb9d78, 5310x54eb9d78,
5240x7c8e5214, 5320x7c8e5214,
@@ -556,20 +564,20 @@ static const unsigned int build_actionlist[4946] = {
5560x39600010, 5640x39600010,
5570x48000000, 5650x48000000,
5580x00050026, 5660x00050026,
5590x0006002f, 5670x00060030,
5600x11775a2d, 5680x11775a2d,
5610x38b10000, 5690x38b10000,
5620x00098200, 5700x00098200,
5710x00000000,
5630x54ea5d78, 5720x54ea5d78,
5640x11650321, 5730x11650321,
5650x7c8e5214, 5740x7c8e5214,
5660x48000000, 5750x48000000,
5670x00050001, 5760x00050001,
5680x00060030, 5770x00060031,
5690x1158522d, 5780x1158522d,
5700x38910000, 5790x38910000,
5710x00098200, 5800x00098200,
5720x00000000,
5730x11775a2d, 5810x11775a2d,
5740x11440321, 5820x11440321,
5750x38b10000, 5830x38b10000,
@@ -577,7 +585,7 @@ static const unsigned int build_actionlist[4946] = {
5770x11650321, 5850x11650321,
5780x48000000, 5860x48000000,
5790x00050001, 5870x00050001,
5800x00060031, 5880x00060032,
5810x100002f1, 5890x100002f1,
5820x54ea5d78, 5900x54ea5d78,
5830x38b10000, 5910x38b10000,
@@ -586,7 +594,7 @@ static const unsigned int build_actionlist[4946] = {
5860x10050321, 5940x10050321,
5870x48000000, 5950x48000000,
5880x00050001, 5960x00050001,
5890x00060032, 5970x00060033,
5900x54ea5d78, 5980x54ea5d78,
5910x54eb9d78, 5990x54eb9d78,
5920x7c8e5214, 6000x7c8e5214,
@@ -625,7 +633,7 @@ static const unsigned int build_actionlist[4946] = {
6250x100e1321, 6330x100e1321,
6260x48000000, 6340x48000000,
6270x00050026, 6350x00050026,
6280x00060033, 6360x00060034,
6290x7e439378, 6370x7e439378,
6300x3a10fffc, 6380x3a10fffc,
6310x7c8ea214, 6390x7c8ea214,
@@ -639,8 +647,9 @@ static const unsigned int build_actionlist[4946] = {
6390x0006000d, 6470x0006000d,
6400x28030001, 6480x28030001,
6410x41810000, 6490x41810000,
6420x00050834, 6500x00050835,
6430x0006000e, 6510x0006000e,
6520x00000000,
6440x80f00000, 6530x80f00000,
6450x3a100004, 6540x3a100004,
6460x54e993ba, 6550x54e993ba,
@@ -648,8 +657,7 @@ static const unsigned int build_actionlist[4946] = {
6480x00098200, 6570x00098200,
6490x7d293214, 6580x7d293214,
6500x7e10481e, 6590x7e10481e,
6510x0006002a, 6600x0006002b,
6520x00000000,
6530x80f00000, 6610x80f00000,
6540x3a100004, 6620x3a100004,
6550x54e815ba, 6630x54e815ba,
@@ -660,28 +668,28 @@ static const unsigned int build_actionlist[4946] = {
6600x54eb9d78, 6680x54eb9d78,
6610x7c0903a6, 6690x7c0903a6,
6620x4e800420, 6700x4e800420,
6630x00060035, 6710x00060036,
6640x80f0fffc, 6720x80f0fffc,
6650x10140301, 6730x10140301,
6660x54e8dd78, 6740x54e8dd78,
6670x100e4320, 6750x100e4320,
6680x48000000, 6760x48000000,
6690x0005002a, 6770x0005002b,
6700x00060036, 6780x00060037,
6710x80140000, 6790x80140000,
6720x39000000, 6800x39000000,
6730x00098200, 6810x00098200,
6740x7c080040, 6820x7c080040,
6750x48000000, 6830x48000000,
6760x0005000e, 6840x0005000e,
6770x00060037, 6850x00060038,
6780x80140000, 6860x80140000,
6790x39000000, 6870x39000000,
6800x00098200, 6880x00098200,
6810x7c004040, 6890x7c004040,
6820x48000000, 6900x48000000,
6830x0005000e, 6910x0005000e,
6840x00060038, 6920x00060039,
6850x3a10fffc, 6930x3a10fffc,
6860x91d20000, 6940x91d20000,
6870x00098200, 6950x00098200,
@@ -691,25 +699,26 @@ static const unsigned int build_actionlist[4946] = {
6910x00030004, 6990x00030004,
6920x48000000, 7000x48000000,
6930x0005000d, 7010x0005000d,
6940x00060039, 7020x0006003a,
6950x7cae5214, 7030x7cae5214,
6960x7ccf5a14, 7040x7ccf5a14,
6970x48000000, 7050x48000000,
6980x00050001, 7060x00050001,
6990x0006003a, 7070x0006003b,
7000x7caf5a14, 7080x7caf5a14,
7010x7cce5214, 7090x7cce5214,
7020x48000000, 7100x48000000,
7030x00050001, 7110x00050001,
7040x0006003b, 7120x0006003c,
7050x7cae6214, 7130x7cae6214,
7060x7ca62b78, 7140x7ca62b78,
7070x48000000, 7150x48000000,
7080x00050001, 7160x00050001,
7090x0006003c, 7170x0006003d,
7100x7cae5214, 7180x7cae5214,
7110x7cce5a14, 7190x7cce5a14,
7120x0006000b, 7200x0006000b,
7210x00000000,
7130x7c8ea214, 7220x7c8ea214,
7140x91d20000, 7230x91d20000,
7150x00098200, 7240x00098200,
@@ -718,11 +727,10 @@ static const unsigned int build_actionlist[4946] = {
7180x54e7063e, 7270x54e7063e,
7190x48000001, 7280x48000001,
7200x00030005, 7290x00030005,
7210x00000000,
7220x28030000, 7300x28030000,
7230x41820000, 7310x41820000,
7240x0005082a, 7320x0005082b,
7250x00060034, 7330x00060035,
7260x7d0e1850, 7340x7d0e1850,
7270x9203fff0, 7350x9203fff0,
7280x3a080000, 7360x3a080000,
@@ -731,7 +739,7 @@ static const unsigned int build_actionlist[4946] = {
7310x39600010, 7390x39600010,
7320x48000000, 7400x48000000,
7330x00050024, 7410x00050024,
7340x0006003d, 7420x0006003e,
7350x7c8e6214, 7430x7c8e6214,
7360x91d20000, 7440x91d20000,
7370x00098200, 7450x00098200,
@@ -740,7 +748,7 @@ static const unsigned int build_actionlist[4946] = {
7400x48000001, 7480x48000001,
7410x00030006, 7490x00030006,
7420x48000000, 7500x48000000,
7430x00050034, 7510x00050035,
7440x00060025, 7520x00060025,
7450x7e439378, 7530x7e439378,
7460x91320000, 7540x91320000,
@@ -764,7 +772,7 @@ static const unsigned int build_actionlist[4946] = {
7640x7e947214, 7720x7e947214,
7650x7c0903a6, 7730x7c0903a6,
7660x4e800420, 7740x4e800420,
7670x0006003e, 7750x0006003f,
7680x7e439378, 7760x7e439378,
7690x91d20000, 7770x91d20000,
7700x00098200, 7780x00098200,
@@ -776,10 +784,10 @@ static const unsigned int build_actionlist[4946] = {
7760x00030007, 7840x00030007,
7770x810efff8, 7850x810efff8,
7780x39750008, 7860x39750008,
7790x814efffc, 7870x8154fffc,
7800x48000000, 7880x48000000,
7810x0005003f, 7890x00050040,
7820x00060040, 7900x00060041,
7830x7e439378, 7910x7e439378,
7840x91d20000, 7920x91d20000,
7850x00098200, 7930x00098200,
@@ -803,21 +811,21 @@ static const unsigned int build_actionlist[4946] = {
8030x00000000, 8110x00000000,
8040x48000000, 8120x48000000,
8050x00070000, 8130x00070000,
8060x00060041, 8140x00060042,
8070x280b0008, 8150x280b0008,
8080x100e0301, 8160x100e0301,
8090x41800000, 8170x41800000,
8100x00050842, 8180x00050843,
8110x111ad200, 8190x111ad200,
8120x3a8efff8, 8200x3a8efff8,
8130x10804232, 8210x10804232,
8140x820efff8, 8220x820efff8,
8150x40840000, 8230x40840000,
8160x00050842, 8240x00050843,
8170x10140321, 8250x10140321,
8180x398b0008, 8260x398b0008,
8190x41820000, 8270x41820000,
8200x00050843, 8280x00050844,
8210x39000008, 8290x39000008,
8220x396bfff8, 8300x396bfff8,
8230x0006000b, 8310x0006000b,
@@ -828,12 +836,12 @@ static const unsigned int build_actionlist[4946] = {
8280x40820000, 8360x40820000,
8290x0005080b, 8370x0005080b,
8300x48000000, 8380x48000000,
8310x00050043, 8390x00050044,
8320x00060044, 8400x00060045,
8330x280b0008, 8410x280b0008,
8340x806e0000, 8420x806e0000,
8350x41800000, 8430x41800000,
8360x00050842, 8440x00050843,
8370x39200000, 8450x39200000,
8380x00098200, 8460x00098200,
8390x7c03b040, 8470x7c03b040,
@@ -845,12 +853,12 @@ static const unsigned int build_actionlist[4946] = {
8450x00098200, 8530x00098200,
8460x10694300, 8540x10694300,
8470x48000000, 8550x48000000,
8480x00050045, 8560x00050046,
8490x00060046, 8570x00060047,
8500x280b0008, 8580x280b0008,
8510x106e0301, 8590x106e0301,
8520x41800000, 8600x41800000,
8530x00050842, 8610x00050843,
8540x1003c234, 8620x1003c234,
8550x11031a2c, 8630x11031a2c,
8560x40800000, 8640x40800000,
@@ -864,7 +872,7 @@ static const unsigned int build_actionlist[4946] = {
8640x81710000, 8720x81710000,
8650x00098200, 8730x00098200,
8660x41820000, 8740x41820000,
8670x00050845, 8750x00050846,
8680x00000000, 8760x00000000,
8690x800a0000, 8770x800a0000,
8700x00098200, 8780x00098200,
@@ -893,16 +901,16 @@ static const unsigned int build_actionlist[4946] = {
8930x00050805, 9010x00050805,
8940x28090000, 9020x28090000,
8950x41820000, 9030x41820000,
8960x00050845, 9040x00050846,
8970x48000000, 9050x48000000,
8980x0005000d, 9060x0005000d,
8990x0006000f, 9070x0006000f,
9000x1008d234, 9080x1008d234,
9010x41800000, 9090x41800000,
9020x00050845, 9100x00050846,
9030x10684217, 9110x10684217,
9040x48000000, 9120x48000000,
9050x00050045, 9130x00050046,
9060x00060010, 9140x00060010,
9070x2c080000, 9150x2c080000,
9080x00098200, 9160x00098200,
@@ -920,30 +928,30 @@ static const unsigned int build_actionlist[4946] = {
9200x7d49402e, 9280x7d49402e,
9210x48000000, 9290x48000000,
9220x0005000c, 9300x0005000c,
9230x00060047, 9310x00060048,
9240x00000000, 9320x00000000,
9250x280b0010, 9330x280b0010,
9260x106e0301, 9340x106e0301,
9270x108e0b01, 9350x108e0b01,
9280x41800000, 9360x41800000,
9290x00050842, 9370x00050843,
9300x1003222c, 9380x1003222c,
9310x1000c234, 9390x1000c234,
9320x40830000, 9400x40830000,
9330x00050842, 9410x00050843,
9340x81030000, 9420x81030000,
9350x00098200, 9430x00098200,
9360x28080000, 9440x28080000,
9370x88c30000, 9450x88c30000,
9380x00098200, 9460x00098200,
9390x40820000, 9470x40820000,
9400x00050842, 9480x00050843,
9410x70c00000, 9490x70c00000,
9420x00090200, 9500x00090200,
9430x90830000, 9510x90830000,
9440x00098200, 9520x00098200,
9450x41820000, 9530x41820000,
9460x00050845, 9540x00050846,
9470x80110000, 9550x80110000,
9480x00098200, 9560x00098200,
9490x54c607b8, 9570x54c607b8,
@@ -954,41 +962,41 @@ static const unsigned int build_actionlist[4946] = {
9540x90030000, 9620x90030000,
9550x00098200, 9630x00098200,
9560x48000000, 9640x48000000,
9570x00050045, 9650x00050046,
9580x00060048, 9660x00060049,
9590x280b0010, 9670x280b0010,
9600x108e0301, 9680x108e0301,
9610x41800000, 9690x41800000,
9620x00050842, 9700x00050843,
9630x1004c234, 9710x1004c234,
9640x38ae0008, 9720x38ae0008,
9650x40800000, 9730x40800000,
9660x00050842, 9740x00050843,
9670x7e439378, 9750x7e439378,
9680x48000001, 9760x48000001,
9690x00030009, 9770x00030009,
9700x10630301, 9780x10630301,
9710x48000000, 9790x48000000,
9720x00050045, 9800x00050046,
9730x00060049, 9810x0006004a,
9740x280b0008, 9820x280b0008,
9750x106e0301, 9830x106e0301,
9760x40820000, 9840x40820000,
9770x00050842, 9850x00050843,
9780x1003b232, 9860x1003b232,
9790x41800000, 9870x41800000,
9800x00050845, 9880x00050846,
9810x48000000, 9890x48000000,
9820x00050042, 9900x00050043,
9830x0006004a, 9910x0006004b,
9840x00000000, 9920x00000000,
9850x280b0008, 9930x280b0008,
9860x106e0301, 9940x106e0301,
9870x41800000, 9950x41800000,
9880x00050842, 9960x00050843,
9890x1003ba34, 9970x1003ba34,
9900x41800000, 9980x41800000,
9910x00050845, 9990x00050846,
9920x80110000, 10000x80110000,
9930x00098200, 10010x00098200,
9940x1003b232, 10020x1003b232,
@@ -998,31 +1006,31 @@ static const unsigned int build_actionlist[4946] = {
9980x4c403202, 10060x4c403202,
9990x9201000c, 10070x9201000c,
10000x40820000, 10080x40820000,
10010x00050842, 10090x00050843,
10020x80110000, 10100x80110000,
10030x00098200, 10110x00098200,
10040x81110000, 10120x81110000,
10050x00098200, 10130x00098200,
10060x7c004040, 10140x7c004040,
10070x40800001, 10150x40800001,
10080x0005084b, 10160x0005084c,
10090x7e439378, 10170x7e439378,
10100x7dc47378, 10180x7dc47378,
10110x48000001, 10190x48000001,
10120x0003000a, 10200x0003000a,
10130x10771a2d, 10210x10771a2d,
10140x48000000, 10220x48000000,
10150x00050045, 10230x00050046,
10160x0006004c, 10240x0006004d,
10170x280b0008, 10250x280b0008,
10180x108e0301, 10260x108e0301,
10190x41800000, 10270x41800000,
10200x00050842, 10280x00050843,
10210x134e5b20, 10290x134e5b20,
10220x1004c234, 10300x1004c234,
10230x820efff8, 10310x820efff8,
10240x40800000, 10320x40800000,
10250x00050842, 10330x00050843,
10260x91d20000, 10340x91d20000,
10270x00098200, 10350x00098200,
10280x7e439378, 10360x7e439378,
@@ -1035,7 +1043,7 @@ static const unsigned int build_actionlist[4946] = {
10350x28030000, 10430x28030000,
10360x107ad217, 10440x107ad217,
10370x41820000, 10450x41820000,
10380x00050845, 10460x00050846,
10390x100e0b01, 10470x100e0b01,
10400x3a8efff8, 10480x3a8efff8,
10410x110e1301, 10490x110e1301,
@@ -1044,16 +1052,16 @@ static const unsigned int build_actionlist[4946] = {
10440x00098200, 10520x00098200,
10450x11140b21, 10530x11140b21,
10460x48000000, 10540x48000000,
10470x00050043, 10550x00050044,
10480x0006004d, 10560x0006004e,
10490x280b0008, 10570x280b0008,
10500x106e0301, 10580x106e0301,
10510x41800000, 10590x41800000,
10520x00050842, 10600x00050843,
10530x1003c234, 10610x1003c234,
10540x820efff8, 10620x820efff8,
10550x40800000, 10630x40800000,
10560x00050842, 10640x00050843,
10570x00000000, 10650x00000000,
10580x81230000, 10660x81230000,
10590x00098200, 10670x00098200,
@@ -1062,7 +1070,7 @@ static const unsigned int build_actionlist[4946] = {
10620x28090000, 10700x28090000,
10630x3a8efff8, 10710x3a8efff8,
10640x40820000, 10720x40820000,
10650x00050842, 10730x00050843,
10660x00000000, 10740x00000000,
10670x100a0301, 10750x100a0301,
10680x00090cab, 10760x00090cab,
@@ -1073,21 +1081,21 @@ static const unsigned int build_actionlist[4946] = {
10730x00098200, 10810x00098200,
10740x10140321, 10820x10140321,
10750x48000000, 10830x48000000,
10760x00050043, 10840x00050044,
10770x0006004e, 10850x0006004f,
10780x280b0010, 10860x280b0010,
10790x106e0301, 10870x106e0301,
10800x108e0b01, 10880x108e0b01,
10810x41800000, 10890x41800000,
10820x00050842, 10900x00050843,
10830x1003c234, 10910x1003c234,
10840x820efff8, 10920x820efff8,
10850x40800000, 10930x40800000,
10860x00050842, 10940x00050843,
10870x1004b232, 10950x1004b232,
10880x3cc03ff0, 10960x3cc03ff0,
10890x40800000, 10970x40800000,
10900x00050842, 10980x00050843,
10910x112022f5, 10990x112022f5,
10920x80030000, 11000x80030000,
10930x00098200, 11010x00098200,
@@ -1109,12 +1117,12 @@ static const unsigned int build_actionlist[4946] = {
11090x39800000, 11170x39800000,
11100x00098200, 11180x00098200,
11110x41800000, 11190x41800000,
11120x00050843, 11200x00050844,
11130x39800000, 11210x39800000,
11140x00098200, 11220x00098200,
11150x11140b21, 11230x11140b21,
11160x48000000, 11240x48000000,
11170x00050043, 11250x00050044,
11180x0006000c, 11260x0006000c,
11190x80030000, 11270x80030000,
11200x00098200, 11280x00098200,
@@ -1122,7 +1130,7 @@ static const unsigned int build_actionlist[4946] = {
11220x39800000, 11300x39800000,
11230x00098200, 11310x00098200,
11240x41820000, 11320x41820000,
11250x00050843, 11330x00050844,
11260x7d244b78, 11340x7d244b78,
11270x48000001, 11350x48000001,
11280x0003000c, 11360x0003000c,
@@ -1130,20 +1138,20 @@ static const unsigned int build_actionlist[4946] = {
11300x39800000, 11380x39800000,
11310x00098200, 11390x00098200,
11320x41820000, 11400x41820000,
11330x00050843, 11410x00050844,
11340x00000000, 11420x00000000,
11350x11030301, 11430x11030301,
11360x48000000, 11440x48000000,
11370x0005000b, 11450x0005000b,
11380x0006004f, 11460x00060050,
11390x280b0008, 11470x280b0008,
11400x106e0301, 11480x106e0301,
11410x41800000, 11490x41800000,
11420x00050842, 11500x00050843,
11430x1003c234, 11510x1003c234,
11440x820efff8, 11520x820efff8,
11450x40800000, 11530x40800000,
11460x00050842, 11540x00050843,
11470x00000000, 11550x00000000,
11480x81230000, 11560x81230000,
11490x00098200, 11570x00098200,
@@ -1152,7 +1160,7 @@ static const unsigned int build_actionlist[4946] = {
11520x28090000, 11600x28090000,
11530x3a8efff8, 11610x3a8efff8,
11540x40820000, 11620x40820000,
11550x00050842, 11630x00050843,
11560x00000000, 11640x00000000,
11570x100a0301, 11650x100a0301,
11580x00090cab, 11660x00090cab,
@@ -1164,13 +1172,13 @@ static const unsigned int build_actionlist[4946] = {
11640x110e0b21, 11720x110e0b21,
11650x10140321, 11730x10140321,
11660x48000000, 11740x48000000,
11670x00050043, 11750x00050044,
11680x00060050, 11760x00060051,
11690x280b0008, 11770x280b0008,
11700x88d10000, 11780x88d10000,
11710x00098200, 11790x00098200,
11720x41800000, 11800x41800000,
11730x00050842, 11810x00050843,
11740x7dc97378, 11820x7dc97378,
11750x39ce0008, 11830x39ce0008,
11760x54c607fe, 11840x54c607fe,
@@ -1180,18 +1188,18 @@ static const unsigned int build_actionlist[4946] = {
11800x00098200, 11880x00098200,
11810x48000000, 11890x48000000,
11820x00050024, 11900x00050024,
11830x00060051, 11910x00060052,
11840x280b0010, 11920x280b0010,
11850x106e0301, 11930x106e0301,
11860x108e0b01, 11940x108e0b01,
11870x41800000, 11950x41800000,
11880x00050842, 11960x00050843,
11890x88d10000, 11970x88d10000,
11900x00098200, 11980x00098200,
11910x7dc97378, 11990x7dc97378,
11920x1004ca34, 12000x1004ca34,
11930x40800000, 12010x40800000,
11940x00050842, 12020x00050843,
11950x39ce0010, 12030x39ce0010,
11960x54c607fe, 12040x54c607fe,
11970x000900ab, 12050x000900ab,
@@ -1202,16 +1210,16 @@ static const unsigned int build_actionlist[4946] = {
12020x00098200, 12100x00098200,
12030x48000000, 12110x48000000,
12040x00050024, 12120x00050024,
12050x00060052, 12130x00060053,
12060x280b0008, 12140x280b0008,
12070x106e0301, 12150x106e0301,
12080x41800000, 12160x41800000,
12090x00050842, 12170x00050843,
12100x10031a2c, 12180x10031a2c,
12110x2c000000, 12190x2c000000,
12120x00098200, 12200x00098200,
12130x40820000, 12210x40820000,
12140x00050842, 12220x00050843,
12150x88030000, 12230x88030000,
12160x00098200, 12240x00098200,
12170x81030000, 12250x81030000,
@@ -1238,7 +1246,7 @@ static const unsigned int build_actionlist[4946] = {
12380x91d20000, 12460x91d20000,
12390x00098200, 12470x00098200,
12400x41980000, 12480x41980000,
12410x00050842, 12490x00050843,
12420x0006000b, 12500x0006000b,
12430x39ce0008, 12510x39ce0008,
12440x396bfff8, 12520x396bfff8,
@@ -1340,7 +1348,7 @@ static const unsigned int build_actionlist[4946] = {
13400x38600000, 13480x38600000,
13410x48000000, 13490x48000000,
13420x0005000e, 13500x0005000e,
13430x00060053, 13510x00060054,
13440x00000000, 13520x00000000,
13450x806a0000, 13530x806a0000,
13460x00098200, 13540x00098200,
@@ -1369,7 +1377,7 @@ static const unsigned int build_actionlist[4946] = {
13690x91d20000, 13770x91d20000,
13700x00098200, 13780x00098200,
13710x41980000, 13790x41980000,
13720x00050842, 13800x00050843,
13730x0006000b, 13810x0006000b,
13740x91230000, 13820x91230000,
13750x00098200, 13830x00098200,
@@ -1454,7 +1462,7 @@ static const unsigned int build_actionlist[4946] = {
14540x38600000, 14620x38600000,
14550x48000000, 14630x48000000,
14560x0005000e, 14640x0005000e,
14570x00060054, 14650x00060055,
14580x80120000, 14660x80120000,
14590x00098200, 14670x00098200,
14600x00000000, 14680x00000000,
@@ -1468,30 +1476,30 @@ static const unsigned int build_actionlist[4946] = {
14680x38600000, 14760x38600000,
14690x00098200, 14770x00098200,
14700x41820000, 14780x41820000,
14710x00050842, 14790x00050843,
14720x93720000, 14800x93720000,
14730x00098200, 14810x00098200,
14740x98720000, 14820x98720000,
14750x00098200, 14830x00098200,
14760x48000000, 14840x48000000,
14770x0005001a, 14850x0005001a,
14780x00060055, 14860x00060056,
14790x280b0008, 14870x280b0008,
14800x106e0301, 14880x106e0301,
14810x41800000, 14890x41800000,
14820x00050842, 14900x00050843,
14830x1003b232, 14910x1003b232,
14840x40800000, 14920x40800000,
14850x00050842, 14930x00050843,
14860x106302e4, 14940x106302e4,
14870x00060045, 14950x00060046,
14880x820efff8, 14960x820efff8,
14890x3a8efff8, 14970x3a8efff8,
14900x10740321, 14980x10740321,
14910x00060056, 14990x00060057,
14920x39800000, 15000x39800000,
14930x00098200, 15010x00098200,
14940x00060043, 15020x00060044,
14950x72000000, 15030x72000000,
14960x00090200, 15040x00090200,
14970x7d936378, 15050x7d936378,
@@ -1521,312 +1529,312 @@ static const unsigned int build_actionlist[4946] = {
15210x13544320, 15290x13544320,
15220x48000000, 15300x48000000,
15230x0005000f, 15310x0005000f,
15240x00060057, 15320x00060058,
15250x00000000, 15330x00000000,
15260x280b0008, 15340x280b0008,
15270x108e0301, 15350x108e0301,
15280x41800000, 15360x41800000,
15290x00050842, 15370x00050843,
15300x1004b232, 15380x1004b232,
15310x1064222c, 15390x1064222c,
15320x40800000, 15400x40800000,
15330x00050842, 15410x00050843,
15340x820efff8, 15420x820efff8,
15350x48000001, 15430x48000001,
15360x00050058, 15440x00050059,
15370x3a8efff8, 15450x3a8efff8,
15380x10940321, 15460x10940321,
15390x48000000, 15470x48000000,
15400x00050056, 15480x00050057,
15410x00060059, 15490x0006005a,
15420x280b0008, 15500x280b0008,
15430x108e0301, 15510x108e0301,
15440x41800000, 15520x41800000,
15450x00050842, 15530x00050843,
15460x1004b232, 15540x1004b232,
15470x1064222c, 15550x1064222c,
15480x40800000, 15560x40800000,
15490x00050842, 15570x00050843,
15500x820efff8, 15580x820efff8,
15510x48000001, 15590x48000001,
15520x0005005a, 15600x0005005b,
15530x3a8efff8, 15610x3a8efff8,
15540x10940321, 15620x10940321,
15550x48000000, 15630x48000000,
15560x00050056, 15640x00050057,
15570x0006005b, 15650x0006005c,
15580x280b0008, 15660x280b0008,
15590x108e0301, 15670x108e0301,
15600x41800000, 15680x41800000,
15610x00050842, 15690x00050843,
15620x1004b232, 15700x1004b232,
15630x1064222c, 15710x1064222c,
15640x40800000, 15720x40800000,
15650x00050842, 15730x00050843,
15660x48000001, 15740x48000001,
15670x0003000e, 15750x0003000e,
15680x1063222d, 15760x1063222d,
15690x48000000, 15770x48000000,
15700x00050045, 15780x00050046,
15710x0006005c, 15790x0006005d,
15720x280b0008, 15800x280b0008,
15730x108e0301, 15810x108e0301,
15740x41800000, 15820x41800000,
15750x00050842, 15830x00050843,
15760x1004b232, 15840x1004b232,
15770x1064222c, 15850x1064222c,
15780x40800000, 15860x40800000,
15790x00050842, 15870x00050843,
15800x48000001, 15880x48000001,
15810x0003000f, 15890x0003000f,
15820x1063222d, 15900x1063222d,
15830x48000000, 15910x48000000,
15840x00050045, 15920x00050046,
15850x0006005d, 15930x0006005e,
15860x280b0008, 15940x280b0008,
15870x108e0301, 15950x108e0301,
15880x41800000, 15960x41800000,
15890x00050842, 15970x00050843,
15900x1004b232, 15980x1004b232,
15910x1064222c, 15990x1064222c,
15920x40800000, 16000x40800000,
15930x00050842, 16010x00050843,
15940x00000000, 16020x00000000,
15950x48000001, 16030x48000001,
15960x00030010, 16040x00030010,
15970x1063222d, 16050x1063222d,
15980x48000000, 16060x48000000,
15990x00050045, 16070x00050046,
16000x0006005e, 16080x0006005f,
16010x280b0008, 16090x280b0008,
16020x108e0301, 16100x108e0301,
16030x41800000, 16110x41800000,
16040x00050842, 16120x00050843,
16050x1004b232, 16130x1004b232,
16060x1064222c, 16140x1064222c,
16070x40800000, 16150x40800000,
16080x00050842, 16160x00050843,
16090x48000001, 16170x48000001,
16100x00030011, 16180x00030011,
16110x1063222d, 16190x1063222d,
16120x48000000, 16200x48000000,
16130x00050045, 16210x00050046,
16140x0006005f, 16220x00060060,
16150x280b0008, 16230x280b0008,
16160x108e0301, 16240x108e0301,
16170x41800000, 16250x41800000,
16180x00050842, 16260x00050843,
16190x1004b232, 16270x1004b232,
16200x1064222c, 16280x1064222c,
16210x40800000, 16290x40800000,
16220x00050842, 16300x00050843,
16230x48000001, 16310x48000001,
16240x00030012, 16320x00030012,
16250x1063222d, 16330x1063222d,
16260x48000000, 16340x48000000,
16270x00050045, 16350x00050046,
16280x00060060, 16360x00060061,
16290x280b0008, 16370x280b0008,
16300x108e0301, 16380x108e0301,
16310x41800000, 16390x41800000,
16320x00050842, 16400x00050843,
16330x1004b232, 16410x1004b232,
16340x1064222c, 16420x1064222c,
16350x40800000, 16430x40800000,
16360x00050842, 16440x00050843,
16370x48000001, 16450x48000001,
16380x00030013, 16460x00030013,
16390x1063222d, 16470x1063222d,
16400x48000000, 16480x48000000,
16410x00050045, 16490x00050046,
16420x00060061, 16500x00060062,
16430x280b0008, 16510x280b0008,
16440x108e0301, 16520x108e0301,
16450x41800000, 16530x41800000,
16460x00050842, 16540x00050843,
16470x1004b232, 16550x1004b232,
16480x1064222c, 16560x1064222c,
16490x40800000, 16570x40800000,
16500x00050842, 16580x00050843,
16510x48000001, 16590x48000001,
16520x00030014, 16600x00030014,
16530x1063222d, 16610x1063222d,
16540x48000000, 16620x48000000,
16550x00050045, 16630x00050046,
16560x00060062, 16640x00060063,
16570x00000000, 16650x00000000,
16580x280b0008, 16660x280b0008,
16590x108e0301, 16670x108e0301,
16600x41800000, 16680x41800000,
16610x00050842, 16690x00050843,
16620x1004b232, 16700x1004b232,
16630x1064222c, 16710x1064222c,
16640x40800000, 16720x40800000,
16650x00050842, 16730x00050843,
16660x48000001, 16740x48000001,
16670x00030015, 16750x00030015,
16680x1063222d, 16760x1063222d,
16690x48000000, 16770x48000000,
16700x00050045, 16780x00050046,
16710x00060063, 16790x00060064,
16720x280b0008, 16800x280b0008,
16730x108e0301, 16810x108e0301,
16740x41800000, 16820x41800000,
16750x00050842, 16830x00050843,
16760x1004b232, 16840x1004b232,
16770x1064222c, 16850x1064222c,
16780x40800000, 16860x40800000,
16790x00050842, 16870x00050843,
16800x48000001, 16880x48000001,
16810x00030016, 16890x00030016,
16820x1063222d, 16900x1063222d,
16830x48000000, 16910x48000000,
16840x00050045, 16920x00050046,
16850x00060064, 16930x00060065,
16860x280b0008, 16940x280b0008,
16870x108e0301, 16950x108e0301,
16880x41800000, 16960x41800000,
16890x00050842, 16970x00050843,
16900x1004b232, 16980x1004b232,
16910x1064222c, 16990x1064222c,
16920x40800000, 17000x40800000,
16930x00050842, 17010x00050843,
16940x48000001, 17020x48000001,
16950x00030017, 17030x00030017,
16960x1063222d, 17040x1063222d,
16970x48000000, 17050x48000000,
16980x00050045, 17060x00050046,
16990x00060065, 17070x00060066,
17000x280b0008, 17080x280b0008,
17010x108e0301, 17090x108e0301,
17020x41800000, 17100x41800000,
17030x00050842, 17110x00050843,
17040x1004b232, 17120x1004b232,
17050x1064222c, 17130x1064222c,
17060x40800000, 17140x40800000,
17070x00050842, 17150x00050843,
17080x48000001, 17160x48000001,
17090x00030018, 17170x00030018,
17100x1063222d, 17180x1063222d,
17110x48000000, 17190x48000000,
17120x00050045, 17200x00050046,
17130x00060066, 17210x00060067,
17140x280b0008, 17220x280b0008,
17150x108e0301, 17230x108e0301,
17160x41800000, 17240x41800000,
17170x00050842, 17250x00050843,
17180x1004b232, 17260x1004b232,
17190x1064222c, 17270x1064222c,
17200x40800000, 17280x40800000,
17210x00050842, 17290x00050843,
17220x00000000, 17300x00000000,
17230x48000001, 17310x48000001,
17240x00030019, 17320x00030019,
17250x1063222d, 17330x1063222d,
17260x48000000, 17340x48000000,
17270x00050045, 17350x00050046,
17280x00060067, 17360x00060068,
17290x280b0008, 17370x280b0008,
17300x108e0301, 17380x108e0301,
17310x41800000, 17390x41800000,
17320x00050842, 17400x00050843,
17330x1004b232, 17410x1004b232,
17340x1064222c, 17420x1064222c,
17350x40800000, 17430x40800000,
17360x00050842, 17440x00050843,
17370x48000001, 17450x48000001,
17380x0003001a, 17460x0003001a,
17390x1063222d, 17470x1063222d,
17400x48000000, 17480x48000000,
17410x00050045, 17490x00050046,
17420x00060068, 17500x00060069,
17430x280b0010, 17510x280b0010,
17440x108e0301, 17520x108e0301,
17450x10ce0b01, 17530x10ce0b01,
17460x41800000, 17540x41800000,
17470x00050842, 17550x00050843,
17480x1066222c, 17560x1066222c,
17490x1003b232, 17570x1003b232,
17500x10a6322c, 17580x10a6322c,
17510x40830000, 17590x40830000,
17520x00050842, 17600x00050843,
17530x48000001, 17610x48000001,
17540x0003001b, 17620x0003001b,
17550x1063222d, 17630x1063222d,
17560x48000000, 17640x48000000,
17570x00050045, 17650x00050046,
17580x00060069, 17660x0006006a,
17590x280b0010, 17670x280b0010,
17600x108e0301, 17680x108e0301,
17610x10ce0b01, 17690x10ce0b01,
17620x41800000, 17700x41800000,
17630x00050842, 17710x00050843,
17640x1066222c, 17720x1066222c,
17650x1003b232, 17730x1003b232,
17660x10a6322c, 17740x10a6322c,
17670x40830000, 17750x40830000,
17680x00050842, 17760x00050843,
17690x48000001, 17770x48000001,
17700x0003001c, 17780x0003001c,
17710x1063222d, 17790x1063222d,
17720x48000000, 17800x48000000,
17730x00050045, 17810x00050046,
17740x0006006a, 17820x0006006b,
17750x280b0010, 17830x280b0010,
17760x108e0301, 17840x108e0301,
17770x10ce0b01, 17850x10ce0b01,
17780x41800000, 17860x41800000,
17790x00050842, 17870x00050843,
17800x1066222c, 17880x1066222c,
17810x1003b232, 17890x1003b232,
17820x10a6322c, 17900x10a6322c,
17830x40830000, 17910x40830000,
17840x00050842, 17920x00050843,
17850x48000001, 17930x48000001,
17860x0003001d, 17940x0003001d,
17870x1063222d, 17950x1063222d,
17880x48000000, 17960x48000000,
17890x00050045, 17970x00050046,
17900x0006006b,
17910x0006006c, 17980x0006006c,
17990x0006006d,
17920x00000000, 18000x00000000,
17930x280b0008, 18010x280b0008,
17940x106e0301, 18020x106e0301,
17950x41800000, 18030x41800000,
17960x00050842, 18040x00050843,
17970x1003b232, 18050x1003b232,
17980x40800000, 18060x40800000,
17990x00050842, 18070x00050843,
18000x108a0301, 18080x108a0301,
18010x00090cab, 18090x00090cab,
18020x106322e8, 18100x106322e8,
18030x48000000, 18110x48000000,
18040x00050045, 18120x00050046,
18050x0006006d, 18130x0006006e,
18060x280b0010, 18140x280b0010,
18070x108e0301, 18150x108e0301,
18080x10ce0b01, 18160x10ce0b01,
18090x41800000, 18170x41800000,
18100x00050842, 18180x00050843,
18110x1066222c, 18190x1066222c,
18120x1003b232, 18200x1003b232,
18130x40830000, 18210x40830000,
18140x00050842, 18220x00050843,
18150x10a032f5, 18230x10a032f5,
18160x48000001, 18240x48000001,
18170x0003001e, 18250x0003001e,
18180x1063222d, 18260x1063222d,
18190x48000000, 18270x48000000,
18200x00050045, 18280x00050046,
18210x0006006e, 18290x0006006f,
18220x280b0008, 18300x280b0008,
18230x108e0301, 18310x108e0301,
18240x41800000, 18320x41800000,
18250x00050842, 18330x00050843,
18260x1004b232, 18340x1004b232,
18270x1064222c, 18350x1064222c,
18280x40800000, 18360x40800000,
18290x00050842, 18370x00050843,
18300x38b10000, 18380x38b10000,
18310x00098200, 18390x00098200,
18320x820efff8, 18400x820efff8,
@@ -1842,16 +1850,16 @@ static const unsigned int build_actionlist[4946] = {
18420x00098200, 18500x00098200,
18430x10940b21, 18510x10940b21,
18440x48000000, 18520x48000000,
18450x00050043, 18530x00050044,
18460x0006006f, 18540x00060070,
18470x280b0008, 18550x280b0008,
18480x108e0301, 18560x108e0301,
18490x41800000, 18570x41800000,
18500x00050842, 18580x00050843,
18510x1004b232, 18590x1004b232,
18520x1064222c, 18600x1064222c,
18530x40800000, 18610x40800000,
18540x00050842, 18620x00050843,
18550x38aefff8, 18630x38aefff8,
18560x820efff8, 18640x820efff8,
18570x48000001, 18650x48000001,
@@ -1863,76 +1871,76 @@ static const unsigned int build_actionlist[4946] = {
18630x00098200, 18710x00098200,
18640x00000000, 18720x00000000,
18650x48000000, 18730x48000000,
18660x00050043, 18740x00050044,
18670x00060070, 18750x00060071,
18680x280b0008, 18760x280b0008,
18690x106e0301, 18770x106e0301,
18700x41800000, 18780x41800000,
18710x00050842, 18790x00050843,
18720x1003b232, 18800x1003b232,
18730x39000008, 18810x39000008,
18740x40800000, 18820x40800000,
18750x00050842, 18830x00050843,
18760x0006000b, 18840x0006000b,
18770x108e4300, 18850x108e4300,
18780x7c885840, 18860x7c885840,
18790x1004b232, 18870x1004b232,
18800x40840000, 18880x40840000,
18810x00050845, 18890x00050846,
18820x40800000, 18900x40800000,
18830x00050842, 18910x00050843,
18840x10041afd, 18920x10041afd,
18850x39080008, 18930x39080008,
18860x4c010b82, 18940x4c010b82,
18870x10641a78, 18950x10641a78,
18880x48000000, 18960x48000000,
18890x0005000b, 18970x0005000b,
18900x00060071, 18980x00060072,
18910x280b0008, 18990x280b0008,
18920x106e0301, 19000x106e0301,
18930x41800000, 19010x41800000,
18940x00050842, 19020x00050843,
18950x1003b232, 19030x1003b232,
18960x39000008, 19040x39000008,
18970x40800000, 19050x40800000,
18980x00050842, 19060x00050843,
18990x0006000b, 19070x0006000b,
19000x108e4300, 19080x108e4300,
19010x7c885840, 19090x7c885840,
19020x1004b232, 19100x1004b232,
19030x40840000, 19110x40840000,
19040x00050845, 19120x00050846,
19050x40800000, 19130x40800000,
19060x00050842, 19140x00050843,
19070x10041afc, 19150x10041afc,
19080x39080008, 19160x39080008,
19090x4c010b82, 19170x4c010b82,
19100x10641a78, 19180x10641a78,
19110x48000000, 19190x48000000,
19120x0005000b, 19200x0005000b,
19130x00060072, 19210x00060073,
19140x280b0008, 19220x280b0008,
19150x106e0301, 19230x106e0301,
19160x41800000, 19240x41800000,
19170x00050842, 19250x00050843,
19180x1003ba34, 19260x1003ba34,
19190x40800000, 19270x40800000,
19200x00050842, 19280x00050843,
19210x80030000, 19290x80030000,
19220x00098200, 19300x00098200,
19230x106002f1, 19310x106002f1,
19240x48000000, 19320x48000000,
19250x00050045, 19330x00050046,
19260x00060073, 19340x00060074,
19270x280b0008, 19350x280b0008,
19280x106e0301, 19360x106e0301,
19290x40820000, 19370x40820000,
19300x00050842, 19380x00050843,
19310x00000000, 19390x00000000,
19320x1003ba34, 19400x1003ba34,
19330x3a8efff8, 19410x3a8efff8,
19340x40800000, 19420x40800000,
19350x00050842, 19430x00050843,
19360x80030000, 19440x80030000,
19370x00098200, 19450x00098200,
19380x39800000, 19460x39800000,
@@ -1947,31 +1955,31 @@ static const unsigned int build_actionlist[4946] = {
19470x7d8c489e, 19550x7d8c489e,
19480x10740321, 19560x10740321,
19490x48000000, 19570x48000000,
19500x00050043, 19580x00050044,
19510x00060074, 19590x00060075,
19520x80110000, 19600x80110000,
19530x00098200, 19610x00098200,
19540x81110000, 19620x81110000,
19550x00098200, 19630x00098200,
19560x7c004040, 19640x7c004040,
19570x40800001, 19650x40800001,
19580x0005084b, 19660x0005084c,
19590x280b0008, 19670x280b0008,
19600x106e0301, 19680x106e0301,
19610x40820000, 19690x40820000,
19620x00050842, 19700x00050843,
19630x1003b232, 19710x1003b232,
19640x38910000, 19720x38910000,
19650x00098200, 19730x00098200,
19660x40800000, 19740x40800000,
19670x00050842, 19750x00050843,
19680x10001afa, 19760x10001afa,
19690x38a00001, 19770x38a00001,
19700x280000ff, 19780x280000ff,
19710x98040000, 19790x98040000,
19720x41810000, 19800x41810000,
19730x00050842, 19810x00050843,
19740x00060075, 19820x00060076,
19750x7e439378, 19830x7e439378,
19760x91d20000, 19840x91d20000,
19770x00098200, 19850x00098200,
@@ -1982,8 +1990,8 @@ static const unsigned int build_actionlist[4946] = {
19820x00098200, 19900x00098200,
19830x10771a2d, 19910x10771a2d,
19840x48000000, 19920x48000000,
19850x00050045, 19930x00050046,
19860x00060076, 19940x00060077,
19870x80110000, 19950x80110000,
19880x00098200, 19960x00098200,
19890x81110000, 19970x81110000,
@@ -1991,28 +1999,28 @@ static const unsigned int build_actionlist[4946] = {
19910x00000000, 19990x00000000,
19920x7c004040, 20000x7c004040,
19930x40800001, 20010x40800001,
19940x0005084b, 20020x0005084c,
19950x280b0010, 20030x280b0010,
19960x10ae1301, 20040x10ae1301,
19970x106e0301, 20050x106e0301,
19980x41800000, 20060x41800000,
19990x00050842, 20070x00050843,
20000x108e0b01, 20080x108e0b01,
20010x3920ffff, 20090x3920ffff,
20020x41820000, 20100x41820000,
20030x00050801, 20110x00050801,
20040x1005b232, 20120x1005b232,
20050x40800000, 20130x40800000,
20060x00050842, 20140x00050843,
20070x11202afa, 20150x11202afa,
20080x0006000b, 20160x0006000b,
20090x1004b232, 20170x1004b232,
20100x40800000, 20180x40800000,
20110x00050842, 20190x00050843,
20120x1003ba34, 20200x1003ba34,
20130x110022fa, 20210x110022fa,
20140x40800000, 20220x40800000,
20150x00050842, 20230x00050843,
20160x80030000, 20240x80030000,
20170x00098200, 20250x00098200,
20180x7c004840, 20260x7c004840,
@@ -2032,7 +2040,7 @@ static const unsigned int build_actionlist[4946] = {
20320x7c844214, 20400x7c844214,
20330x7ca0281e, 20410x7ca0281e,
20340x48000000, 20420x48000000,
20350x00050075, 20430x00050076,
20360x0006000f, 20440x0006000f,
20370x7c004800, 20450x7c004800,
20380x38c60001, 20460x38c60001,
@@ -2046,27 +2054,27 @@ static const unsigned int build_actionlist[4946] = {
20460x39080001, 20540x39080001,
20470x48000000, 20550x48000000,
20480x0005000d, 20560x0005000d,
20490x00060077, 20570x00060078,
20500x80110000, 20580x80110000,
20510x00098200, 20590x00098200,
20520x81110000, 20600x81110000,
20530x00098200, 20610x00098200,
20540x7c004040, 20620x7c004040,
20550x40800001, 20630x40800001,
20560x0005084b, 20640x0005084c,
20570x00000000, 20650x00000000,
20580x280b0010, 20660x280b0010,
20590x106e0301, 20670x106e0301,
20600x108e0b01, 20680x108e0b01,
20610x41800000, 20690x41800000,
20620x00050842, 20700x00050843,
20630x1004b232, 20710x1004b232,
20640x40800000, 20720x40800000,
20650x00050842, 20730x00050843,
20660x1003ba34, 20740x1003ba34,
20670x10a022fa, 20750x10a022fa,
20680x40800000, 20760x40800000,
20690x00050842, 20770x00050843,
20700x80030000, 20780x80030000,
20710x00098200, 20790x00098200,
20720x2c050000, 20800x2c050000,
@@ -2080,13 +2088,13 @@ static const unsigned int build_actionlist[4946] = {
20800x00050802, 20880x00050802,
20810x7c882840, 20890x7c882840,
20820x40820000, 20900x40820000,
20830x00050842, 20910x00050843,
20840x88030000, 20920x88030000,
20850x00098200, 20930x00098200,
20860x80910000, 20940x80910000,
20870x00098200, 20950x00098200,
20880x41840000, 20960x41840000,
20890x00050842, 20970x00050843,
20900x0006000b, 20980x0006000b,
20910x28090000, 20990x28090000,
20920x7c0449ae, 21000x7c0449ae,
@@ -2094,31 +2102,31 @@ static const unsigned int build_actionlist[4946] = {
20940x40820000, 21020x40820000,
20950x0005080b, 21030x0005080b,
20960x48000000, 21040x48000000,
20970x00050075, 21050x00050076,
20980x0006000c, 21060x0006000c,
20990x38710000, 21070x38710000,
21000x00098200, 21080x00098200,
21010x10771a2d, 21090x10771a2d,
21020x48000000, 21100x48000000,
21030x00050045, 21110x00050046,
21040x00060078, 21120x00060079,
21050x80110000, 21130x80110000,
21060x00098200, 21140x00098200,
21070x81110000, 21150x81110000,
21080x00098200, 21160x00098200,
21090x7c004040, 21170x7c004040,
21100x40800001, 21180x40800001,
21110x0005084b, 21190x0005084c,
21120x280b0008, 21200x280b0008,
21130x106e0301, 21210x106e0301,
21140x41800000, 21220x41800000,
21150x00050842, 21230x00050843,
21160x00000000, 21240x00000000,
21170x1003ba34, 21250x1003ba34,
21180x81110000, 21260x81110000,
21190x00098200, 21270x00098200,
21200x40800000, 21280x40800000,
21210x00050842, 21290x00050843,
21220x80a30000, 21300x80a30000,
21230x00098200, 21310x00098200,
21240x38630000, 21320x38630000,
@@ -2129,34 +2137,34 @@ static const unsigned int build_actionlist[4946] = {
21290x7c082840, 21370x7c082840,
21300x38c5ffff, 21380x38c5ffff,
21310x41800000, 21390x41800000,
21320x00050842, 21400x00050843,
21330x0006000b, 21410x0006000b,
21340x2c060000, 21420x2c060000,
21350x7d0348ae, 21430x7d0348ae,
21360x41800000, 21440x41800000,
21370x00050875, 21450x00050876,
21380x7d0431ae, 21460x7d0431ae,
21390x38c6ffff, 21470x38c6ffff,
21400x39290001, 21480x39290001,
21410x48000000, 21490x48000000,
21420x0005000b, 21500x0005000b,
21430x00060079, 21510x0006007a,
21440x80110000, 21520x80110000,
21450x00098200, 21530x00098200,
21460x81110000, 21540x81110000,
21470x00098200, 21550x00098200,
21480x7c004040, 21560x7c004040,
21490x40800001, 21570x40800001,
21500x0005084b, 21580x0005084c,
21510x280b0008, 21590x280b0008,
21520x106e0301, 21600x106e0301,
21530x41800000, 21610x41800000,
21540x00050842, 21620x00050843,
21550x1003ba34, 21630x1003ba34,
21560x81110000, 21640x81110000,
21570x00098200, 21650x00098200,
21580x40800000, 21660x40800000,
21590x00050842, 21670x00050843,
21600x80a30000, 21680x80a30000,
21610x00098200, 21690x00098200,
21620x38630000, 21700x38630000,
@@ -2166,12 +2174,12 @@ static const unsigned int build_actionlist[4946] = {
21660x7c082840, 21740x7c082840,
21670x39200000, 21750x39200000,
21680x41800000, 21760x41800000,
21690x00050842, 21770x00050843,
21700x0006000b, 21780x0006000b,
21710x7c092840, 21790x7c092840,
21720x7d0348ae, 21800x7d0348ae,
21730x40800000, 21810x40800000,
21740x00050875, 21820x00050876,
21750x00000000, 21830x00000000,
21760x3808ffbf, 21840x3808ffbf,
21770x69060020, 21850x69060020,
@@ -2181,23 +2189,23 @@ static const unsigned int build_actionlist[4946] = {
21810x39290001, 21890x39290001,
21820x48000000, 21900x48000000,
21830x0005000b, 21910x0005000b,
21840x0006007a, 21920x0006007b,
21850x80110000, 21930x80110000,
21860x00098200, 21940x00098200,
21870x81110000, 21950x81110000,
21880x00098200, 21960x00098200,
21890x7c004040, 21970x7c004040,
21900x40800001, 21980x40800001,
21910x0005084b, 21990x0005084c,
21920x280b0008, 22000x280b0008,
21930x106e0301, 22010x106e0301,
21940x41800000, 22020x41800000,
21950x00050842, 22030x00050843,
21960x1003ba34, 22040x1003ba34,
21970x81110000, 22050x81110000,
21980x00098200, 22060x00098200,
21990x40800000, 22070x40800000,
22000x00050842, 22080x00050843,
22010x80a30000, 22090x80a30000,
22020x00098200, 22100x00098200,
22030x38630000, 22110x38630000,
@@ -2207,12 +2215,12 @@ static const unsigned int build_actionlist[4946] = {
22070x7c082840, 22150x7c082840,
22080x39200000, 22160x39200000,
22090x41800000, 22170x41800000,
22100x00050842, 22180x00050843,
22110x0006000b, 22190x0006000b,
22120x7c092840, 22200x7c092840,
22130x7d0348ae, 22210x7d0348ae,
22140x40800000, 22220x40800000,
22150x00050875, 22230x00050876,
22160x3808ff9f, 22240x3808ff9f,
22170x69060020, 22250x69060020,
22180x2800001a, 22260x2800001a,
@@ -2221,41 +2229,41 @@ static const unsigned int build_actionlist[4946] = {
22210x39290001, 22290x39290001,
22220x48000000, 22300x48000000,
22230x0005000b, 22310x0005000b,
22240x0006007b, 22320x0006007c,
22250x280b0008, 22330x280b0008,
22260x106e0301, 22340x106e0301,
22270x41800000, 22350x41800000,
22280x00050842, 22360x00050843,
22290x1003c234, 22370x1003c234,
22300x40800000, 22380x40800000,
22310x00050842, 22390x00050843,
22320x48000001, 22400x48000001,
22330x00030022, 22410x00030022,
22340x10601af1, 22420x10601af1,
22350x48000000, 22430x48000000,
22360x00050045, 22440x00050046,
22370x0006007c, 22450x0006007d,
22380x280b0008, 22460x280b0008,
22390x106e0301, 22470x106e0301,
22400x41800000, 22480x41800000,
22410x00050842, 22490x00050843,
22420x00000000, 22500x00000000,
22430x1003b232, 22510x1003b232,
22440x40800000, 22520x40800000,
22450x00050842, 22530x00050843,
22460x1063dae0, 22540x1063dae0,
22470x0006007d, 22550x0006007e,
22480x10601af1, 22560x10601af1,
22490x48000000, 22570x48000000,
22500x00050045, 22580x00050046,
22510x0006007e, 22590x0006007f,
22520x280b0008, 22600x280b0008,
22530x106e0301, 22610x106e0301,
22540x41800000, 22620x41800000,
22550x00050842, 22630x00050843,
22560x1003b232, 22640x1003b232,
22570x40800000, 22650x40800000,
22580x00050842, 22660x00050843,
22590x1063dae0, 22670x1063dae0,
22600x39000008, 22680x39000008,
22610x0006000b, 22690x0006000b,
@@ -2263,22 +2271,22 @@ static const unsigned int build_actionlist[4946] = {
22630x7c885840, 22710x7c885840,
22640x1004b232, 22720x1004b232,
22650x40840000, 22730x40840000,
22660x0005087d, 22740x0005087e,
22670x40800000, 22750x40800000,
22680x00050842, 22760x00050843,
22690x1084dae0, 22770x1084dae0,
22700x7c632038, 22780x7c632038,
22710x39080008, 22790x39080008,
22720x48000000, 22800x48000000,
22730x0005000b, 22810x0005000b,
22740x0006007f, 22820x00060080,
22750x280b0008, 22830x280b0008,
22760x106e0301, 22840x106e0301,
22770x41800000, 22850x41800000,
22780x00050842, 22860x00050843,
22790x1003b232, 22870x1003b232,
22800x40800000, 22880x40800000,
22810x00050842, 22890x00050843,
22820x1063dae0, 22900x1063dae0,
22830x39000008, 22910x39000008,
22840x0006000b, 22920x0006000b,
@@ -2286,22 +2294,22 @@ static const unsigned int build_actionlist[4946] = {
22860x7c885840, 22940x7c885840,
22870x1004b232, 22950x1004b232,
22880x40840000, 22960x40840000,
22890x0005087d, 22970x0005087e,
22900x40800000, 22980x40800000,
22910x00050842, 22990x00050843,
22920x1084dae0, 23000x1084dae0,
22930x7c632378, 23010x7c632378,
22940x39080008, 23020x39080008,
22950x48000000, 23030x48000000,
22960x0005000b, 23040x0005000b,
22970x00060080, 23050x00060081,
22980x280b0008, 23060x280b0008,
22990x106e0301, 23070x106e0301,
23000x41800000, 23080x41800000,
23010x00050842, 23090x00050843,
23020x1003b232, 23100x1003b232,
23030x40800000, 23110x40800000,
23040x00050842, 23120x00050843,
23050x1063dae0, 23130x1063dae0,
23060x39000008, 23140x39000008,
23070x0006000b, 23150x0006000b,
@@ -2309,129 +2317,129 @@ static const unsigned int build_actionlist[4946] = {
23090x7c885840, 23170x7c885840,
23100x1004b232, 23180x1004b232,
23110x40840000, 23190x40840000,
23120x0005087d, 23200x0005087e,
23130x00000000, 23210x00000000,
23140x40800000, 23220x40800000,
23150x00050842, 23230x00050843,
23160x1084dae0, 23240x1084dae0,
23170x7c632278, 23250x7c632278,
23180x39080008, 23260x39080008,
23190x48000000, 23270x48000000,
23200x0005000b, 23280x0005000b,
23210x00060081, 23290x00060082,
23220x280b0008, 23300x280b0008,
23230x106e0301, 23310x106e0301,
23240x41800000, 23320x41800000,
23250x00050842, 23330x00050843,
23260x1003b232, 23340x1003b232,
23270x40800000, 23350x40800000,
23280x00050842, 23360x00050843,
23290x1063dae0, 23370x1063dae0,
23300x5460403e, 23380x5460403e,
23310x5060c00e, 23390x5060c00e,
23320x5060c42e, 23400x5060c42e,
23330x106002f1, 23410x106002f1,
23340x48000000, 23420x48000000,
23350x00050045, 23430x00050046,
23360x00060082, 23440x00060083,
23370x280b0008, 23450x280b0008,
23380x106e0301, 23460x106e0301,
23390x41800000, 23470x41800000,
23400x00050842, 23480x00050843,
23410x1003b232, 23490x1003b232,
23420x40800000, 23500x40800000,
23430x00050842, 23510x00050843,
23440x1063dae0, 23520x1063dae0,
23450x7c6018f8, 23530x7c6018f8,
23460x106002f1, 23540x106002f1,
23470x48000000, 23550x48000000,
23480x00050045, 23560x00050046,
23490x00060083, 23570x00060084,
23500x280b0010, 23580x280b0010,
23510x106e0301, 23590x106e0301,
23520x108e0b01, 23600x108e0b01,
23530x41800000, 23610x41800000,
23540x00050842, 23620x00050843,
23550x1003222c, 23630x1003222c,
23560x1000b232, 23640x1000b232,
23570x40830000, 23650x40830000,
23580x00050842, 23660x00050843,
23590x1084dae0, 23670x1084dae0,
23600x1063dae0, 23680x1063dae0,
23610x548406fe, 23690x548406fe,
23620x7c602030, 23700x7c602030,
23630x106002f1, 23710x106002f1,
23640x48000000, 23720x48000000,
23650x00050045, 23730x00050046,
23660x00060084, 23740x00060085,
23670x280b0010, 23750x280b0010,
23680x106e0301, 23760x106e0301,
23690x108e0b01, 23770x108e0b01,
23700x41800000, 23780x41800000,
23710x00050842, 23790x00050843,
23720x1003222c, 23800x1003222c,
23730x1000b232, 23810x1000b232,
23740x40830000, 23820x40830000,
23750x00050842, 23830x00050843,
23760x1084dae0, 23840x1084dae0,
23770x1063dae0, 23850x1063dae0,
23780x548406fe, 23860x548406fe,
23790x7c602430, 23870x7c602430,
23800x106002f1, 23880x106002f1,
23810x48000000, 23890x48000000,
23820x00050045, 23900x00050046,
23830x00060085, 23910x00060086,
23840x280b0010, 23920x280b0010,
23850x106e0301, 23930x106e0301,
23860x108e0b01, 23940x108e0b01,
23870x41800000, 23950x41800000,
23880x00050842, 23960x00050843,
23890x1003222c, 23970x1003222c,
23900x1000b232, 23980x1000b232,
23910x40830000, 23990x40830000,
23920x00050842, 24000x00050843,
23930x1084dae0, 24010x1084dae0,
23940x1063dae0, 24020x1063dae0,
23950x548406fe, 24030x548406fe,
23960x7c602630, 24040x7c602630,
23970x106002f1, 24050x106002f1,
23980x48000000, 24060x48000000,
23990x00050045, 24070x00050046,
24000x00060086, 24080x00060087,
24010x00000000, 24090x00000000,
24020x280b0010, 24100x280b0010,
24030x106e0301, 24110x106e0301,
24040x108e0b01, 24120x108e0b01,
24050x41800000, 24130x41800000,
24060x00050842, 24140x00050843,
24070x1003222c, 24150x1003222c,
24080x1000b232, 24160x1000b232,
24090x40830000, 24170x40830000,
24100x00050842, 24180x00050843,
24110x1084dae0, 24190x1084dae0,
24120x1063dae0, 24200x1063dae0,
24130x5c60203e, 24210x5c60203e,
24140x106002f1, 24220x106002f1,
24150x48000000, 24230x48000000,
24160x00050045, 24240x00050046,
24170x00060087, 24250x00060088,
24180x280b0010, 24260x280b0010,
24190x106e0301, 24270x106e0301,
24200x108e0b01, 24280x108e0b01,
24210x41800000, 24290x41800000,
24220x00050842, 24300x00050843,
24230x1003222c, 24310x1003222c,
24240x1000b232, 24320x1000b232,
24250x40830000, 24330x40830000,
24260x00050842, 24340x00050843,
24270x1084dae0, 24350x1084dae0,
24280x1063dae0, 24360x1063dae0,
24290x7c8400d0, 24370x7c8400d0,
24300x5c60203e, 24380x5c60203e,
24310x106002f1, 24390x106002f1,
24320x48000000, 24400x48000000,
24330x00050045, 24410x00050046,
24340x00060042, 24420x00060043,
24350x80ca0000, 24430x80ca0000,
24360x00098200, 24440x00098200,
24370x7d0e5a14, 24450x7d0e5a14,
@@ -2458,14 +2466,14 @@ static const unsigned int build_actionlist[4946] = {
24580x000900a1, 24660x000900a1,
24590x3a8efff8, 24670x3a8efff8,
24600x41810000, 24680x41810000,
24610x00050843, 24690x00050844,
24620x0006000b, 24700x0006000b,
24630x80120000, 24710x80120000,
24640x00098200, 24720x00098200,
24650x814efffc, 24730x814efffc,
24660x7d6e0050, 24740x7d6e0050,
24670x40820000, 24750x40820000,
24680x00050802, 24760x00050828,
24690x820a0000, 24770x820a0000,
24700x00098200, 24780x00098200,
24710x80f00000, 24790x80f00000,
@@ -2476,7 +2484,7 @@ static const unsigned int build_actionlist[4946] = {
24760x7e947214, 24840x7e947214,
24770x7c0903a6, 24850x7c0903a6,
24780x4e800420, 24860x4e800420,
24790x0006000c, 24870x00060028,
24800x00000000, 24880x00000000,
24810x72000000, 24890x72000000,
24820x00090200, 24900x00090200,
@@ -2499,7 +2507,7 @@ static const unsigned int build_actionlist[4946] = {
24990x7c000000, 25070x7c000000,
25000x48000000, 25080x48000000,
25010x0005000b, 25090x0005000b,
25020x0006004b, 25100x0006004c,
25030x7ea802a6, 25110x7ea802a6,
25040x91d20000, 25120x91d20000,
25050x00098200, 25130x00098200,
@@ -2518,11 +2526,11 @@ static const unsigned int build_actionlist[4946] = {
25180x7d6e0050, 25260x7d6e0050,
25190x814efffc, 25270x814efffc,
25200x4e800020, 25280x4e800020,
25210x00060088, 25290x00060089,
25220x00000000, 25300x00000000,
25230x7c810808, 25310x7c810808,
25240x00000000, 25320x00000000,
25250x00060089, 25330x0006008a,
25260x88d10000, 25340x88d10000,
25270x00098200, 25350x00098200,
25280x70c00000, 25360x70c00000,
@@ -2535,7 +2543,7 @@ static const unsigned int build_actionlist[4946] = {
25350x7c11402e, 25430x7c11402e,
25360x7c0903a6, 25440x7c0903a6,
25370x4e800420, 25450x4e800420,
25380x0006008a, 25460x0006008b,
25390x88d10000, 25470x88d10000,
25400x00098200, 25480x00098200,
25410x81310000, 25490x81310000,
@@ -2580,22 +2588,22 @@ static const unsigned int build_actionlist[4946] = {
25800x54eb9d78, 25880x54eb9d78,
25810x7c0903a6, 25890x7c0903a6,
25820x4e800420, 25900x4e800420,
25830x0006008b, 25910x0006008c,
25840x3a100004, 25920x3a100004,
25850x826affec, 25930x826affec,
25860x48000000, 25940x48000000,
25870x0005000e, 25950x0005000e,
25880x0006008c, 25960x0006008d,
25890x00000000, 25970x00000000,
25900x7c810808, 25980x7c810808,
25910x00000000, 25990x00000000,
25920x0006008d, 26000x0006008e,
25930x7e048378, 26010x7e048378,
25940x00000000, 26020x00000000,
25950x48000000, 26030x48000000,
25960x00050001, 26040x00050001,
25970x00000000, 26050x00000000,
25980x0006008e, 26060x0006008f,
25990x00000000, 26070x00000000,
26000x62040001, 26080x62040001,
26010x0006000b, 26090x0006000b,
@@ -2620,17 +2628,17 @@ static const unsigned int build_actionlist[4946] = {
26200x814efffc, 26280x814efffc,
26210x7c6903a6, 26290x7c6903a6,
26220x4e800420, 26300x4e800420,
26230x0006008f, 26310x00060090,
26240x00000000, 26320x00000000,
26250x7c810808, 26330x7c810808,
26260x00000000, 26340x00000000,
26270x00060090, 26350x00060091,
26280x00000000, 26360x00000000,
26290x7c810808, 26370x7c810808,
26300x00000000, 26380x00000000,
26310x00060091, 26390x00060092,
26320x1064222c, 26400x1064222c,
26330x00060058, 26410x00060059,
26340x5469657e, 26420x5469657e,
26350x3529fc01, 26430x3529fc01,
26360x3900ffff, 26440x3900ffff,
@@ -2666,9 +2674,9 @@ static const unsigned int build_actionlist[4946] = {
26660x5103007e, 26740x5103007e,
26670x1083022d, 26750x1083022d,
26680x4e800020, 26760x4e800020,
26690x00060092, 26770x00060093,
26700x1064222c, 26780x1064222c,
26710x0006005a, 26790x0006005b,
26720x5469657e, 26800x5469657e,
26730x3529fc01, 26810x3529fc01,
26740x3900ffff, 26820x3900ffff,
@@ -2705,9 +2713,9 @@ static const unsigned int build_actionlist[4946] = {
27050x1083022d, 27130x1083022d,
27060x4e800020, 27140x4e800020,
27070x00000000, 27150x00000000,
27080x00060093,
27090x1064222c,
27100x00060094, 27160x00060094,
27170x1064222c,
27180x00060095,
27110x5469657e, 27190x5469657e,
27120x3529fc01, 27200x3529fc01,
27130x3900ffff, 27210x3900ffff,
@@ -2728,18 +2736,18 @@ static const unsigned int build_actionlist[4946] = {
27280x1088022d, 27360x1088022d,
27290x4e800020, 27370x4e800020,
27300x00000000, 27380x00000000,
27310x00060093,
27320x00060094, 27390x00060094,
27330x00000000,
27340x00060095, 27400x00060095,
27350x00000000, 27410x00000000,
27360x7c810808,
27370x00000000,
27380x00060096, 27420x00060096,
27390x00000000, 27430x00000000,
27400x7c810808, 27440x7c810808,
27410x00000000, 27450x00000000,
27420x00060097, 27460x00060097,
27470x00000000,
27480x7c810808,
27490x00000000,
27500x00060098,
27430x1083222d, 27510x1083222d,
27440x28070001, 27520x28070001,
27450x10c5322d, 27530x10c5322d,
@@ -2778,7 +2786,7 @@ static const unsigned int build_actionlist[4946] = {
27780x11463217, 27860x11463217,
27790x7d6802a6, 27870x7d6802a6,
27800x48000001, 27880x48000001,
27810x00050091, 27890x00050092,
27820x7d6803a6, 27900x7d6803a6,
27830x108452e8, 27910x108452e8,
27840x108522e1, 27920x108522e1,
@@ -2800,7 +2808,7 @@ static const unsigned int build_actionlist[4946] = {
28000x4e800020, 28080x4e800020,
28010x0006000c, 28090x0006000c,
28020x7c810808, 28100x7c810808,
28030x00060098, 28110x00060099,
28040x00000000, 28120x00000000,
28050x7c810808, 28130x7c810808,
28060x00000000, 28140x00000000,
@@ -2817,7 +2825,7 @@ static const unsigned int build_actionlist[4946] = {
28170x100ab232, 28250x100ab232,
28180x7d293214, 28260x7d293214,
28190x40830000, 28270x40830000,
28200x00050833, 28280x00050834,
28210x100042ed, 28290x100042ed,
28220x00000000, 28300x00000000,
28230x108042ee, 28310x108042ee,
@@ -2907,7 +2915,7 @@ static const unsigned int build_actionlist[4946] = {
29070x0005080b, 29150x0005080b,
29080x7eb0ab78, 29160x7eb0ab78,
29090x48000000, 29170x48000000,
29100x00050038, 29180x00050039,
29110x00000000, 29190x00000000,
29120x100ea300, 29200x100ea300,
29130x558c007e, 29210x558c007e,
@@ -3073,7 +3081,7 @@ static const unsigned int build_actionlist[4946] = {
30730x100e6300, 30810x100e6300,
30740x1000b232, 30820x1000b232,
30750x40800000, 30830x40800000,
30760x0005083b, 30840x0005083c,
30770x100002e6, 30850x100002e6,
30780x80f00000, 30860x80f00000,
30790x3a100004, 30870x3a100004,
@@ -3109,7 +3117,7 @@ static const unsigned int build_actionlist[4946] = {
31090x0006000c, 31170x0006000c,
31100x1003c234, 31180x1003c234,
31110x40800000, 31190x40800000,
31120x0005083d, 31200x0005083e,
31130x48000001, 31210x48000001,
31140x00030022, 31220x00030022,
31150x48000000, 31230x48000000,
@@ -3119,20 +3127,20 @@ static const unsigned int build_actionlist[4946] = {
31190x1000b232, 31270x1000b232,
31200x110f5b00, 31280x110f5b00,
31210x40800000, 31290x40800000,
31220x00050839, 31300x0005083a,
31230x00000000, 31310x00000000,
31240x110e5300, 31320x110e5300,
31250x1008b232, 31330x1008b232,
31260x100f5b00, 31340x100f5b00,
31270x40800000, 31350x40800000,
31280x0005083a, 31360x0005083b,
31290x00000000, 31370x00000000,
31300x100e5300, 31380x100e5300,
31310x110e5b00, 31390x110e5b00,
31320x1120422c, 31400x1120422c,
31330x1009b232, 31410x1009b232,
31340x40830000, 31420x40830000,
31350x0005083c, 31430x0005083d,
31360x00000000, 31440x00000000,
31370x80f00000, 31450x80f00000,
31380x3a100004, 31460x3a100004,
@@ -3151,20 +3159,20 @@ static const unsigned int build_actionlist[4946] = {
31510x1000b232, 31590x1000b232,
31520x110f5b00, 31600x110f5b00,
31530x40800000, 31610x40800000,
31540x00050839, 31620x0005083a,
31550x00000000, 31630x00000000,
31560x110e5300, 31640x110e5300,
31570x1008b232, 31650x1008b232,
31580x100f5b00, 31660x100f5b00,
31590x40800000, 31670x40800000,
31600x0005083a, 31680x0005083b,
31610x00000000, 31690x00000000,
31620x100e5300, 31700x100e5300,
31630x110e5b00, 31710x110e5b00,
31640x1120422c, 31720x1120422c,
31650x1009b232, 31730x1009b232,
31660x40830000, 31740x40830000,
31670x0005083c, 31750x0005083d,
31680x00000000, 31760x00000000,
31690x80f00000, 31770x80f00000,
31700x3a100004, 31780x3a100004,
@@ -3183,20 +3191,20 @@ static const unsigned int build_actionlist[4946] = {
31830x1000b232, 31910x1000b232,
31840x110f5b00, 31920x110f5b00,
31850x40800000, 31930x40800000,
31860x00050839, 31940x0005083a,
31870x00000000, 31950x00000000,
31880x110e5300, 31960x110e5300,
31890x1008b232, 31970x1008b232,
31900x100f5b00, 31980x100f5b00,
31910x40800000, 31990x40800000,
31920x0005083a, 32000x0005083b,
31930x00000000, 32010x00000000,
31940x100e5300, 32020x100e5300,
31950x110e5b00, 32030x110e5b00,
31960x1120422c, 32040x1120422c,
31970x1009b232, 32050x1009b232,
31980x40830000, 32060x40830000,
31990x0005083c, 32070x0005083d,
32000x00000000, 32080x00000000,
32010x80f00000, 32090x80f00000,
32020x3a100004, 32100x3a100004,
@@ -3215,20 +3223,20 @@ static const unsigned int build_actionlist[4946] = {
32150x1000b232, 32230x1000b232,
32160x110f5b00, 32240x110f5b00,
32170x40800000, 32250x40800000,
32180x00050839, 32260x0005083a,
32190x00000000, 32270x00000000,
32200x110e5300, 32280x110e5300,
32210x1008b232, 32290x1008b232,
32220x100f5b00, 32300x100f5b00,
32230x40800000, 32310x40800000,
32240x0005083a, 32320x0005083b,
32250x00000000, 32330x00000000,
32260x100e5300, 32340x100e5300,
32270x110e5b00, 32350x110e5b00,
32280x1120422c, 32360x1120422c,
32290x1009b232, 32370x1009b232,
32300x40830000, 32380x40830000,
32310x0005083c, 32390x0005083d,
32320x00000000, 32400x00000000,
32330x80f00000, 32410x80f00000,
32340x3a100004, 32420x3a100004,
@@ -3247,25 +3255,25 @@ static const unsigned int build_actionlist[4946] = {
32470x100cb232, 32550x100cb232,
32480x12af5b00, 32560x12af5b00,
32490x40800000, 32570x40800000,
32500x00050839, 32580x0005083a,
32510x00000000, 32590x00000000,
32520x12ae5300, 32600x12ae5300,
32530x1015b232, 32610x1015b232,
32540x118f5b00, 32620x118f5b00,
32550x40800000, 32630x40800000,
32560x0005083a, 32640x0005083b,
32570x00000000, 32650x00000000,
32580x118e5300, 32660x118e5300,
32590x12ae5b00, 32670x12ae5b00,
32600x112caa2c, 32680x112caa2c,
32610x1009b232, 32690x1009b232,
32620x40830000, 32700x40830000,
32630x0005083c, 32710x0005083d,
32640x00000000, 32720x00000000,
32650x00060099, 32730x0006009a,
32660x108caae9, 32740x108caae9,
32670x48000001, 32750x48000001,
32680x00050091, 32760x00050092,
32690x1004aae8, 32770x1004aae8,
32700x80f00000, 32780x80f00000,
32710x3a100004, 32790x3a100004,
@@ -3284,23 +3292,23 @@ static const unsigned int build_actionlist[4946] = {
32840x100cb232, 32920x100cb232,
32850x12af5b00, 32930x12af5b00,
32860x40800000, 32940x40800000,
32870x00050839, 32950x0005083a,
32880x00000000, 32960x00000000,
32890x12ae5300, 32970x12ae5300,
32900x1015b232, 32980x1015b232,
32910x118f5b00, 32990x118f5b00,
32920x40800000, 33000x40800000,
32930x0005083a, 33010x0005083b,
32940x00000000, 33020x00000000,
32950x118e5300, 33030x118e5300,
32960x12ae5b00, 33040x12ae5b00,
32970x112caa2c, 33050x112caa2c,
32980x1009b232, 33060x1009b232,
32990x40830000, 33070x40830000,
33000x0005083c, 33080x0005083d,
33010x00000000, 33090x00000000,
33020x48000000, 33100x48000000,
33030x00050099, 33110x0005009a,
33040x00000000, 33120x00000000,
33050x108e5300, 33130x108e5300,
33060x10ce5b00, 33140x10ce5b00,
@@ -3308,7 +3316,7 @@ static const unsigned int build_actionlist[4946] = {
33080x1003b232, 33160x1003b232,
33090x10a6322c, 33170x10a6322c,
33100x40830000, 33180x40830000,
33110x0005083c, 33190x0005083d,
33120x48000001, 33200x48000001,
33130x0003001b, 33210x0003001b,
33140x1083222d, 33220x1083222d,
@@ -3329,7 +3337,7 @@ static const unsigned int build_actionlist[4946] = {
33290x00098200, 33370x00098200,
33300x7c8e5a14, 33380x7c8e5a14,
33310x7d555378, 33390x7d555378,
33320x00060029, 33400x0006002a,
33330x9201000c, 33410x9201000c,
33340x7e439378, 33420x7e439378,
33350x54a500fe, 33430x54a500fe,
@@ -3340,7 +3348,7 @@ static const unsigned int build_actionlist[4946] = {
33400x81d20000, 33480x81d20000,
33410x00098200, 33490x00098200,
33420x40820000, 33500x40820000,
33430x00050834, 33510x00050835,
33440x100eab00, 33520x100eab00,
33450x100ea320, 33530x100ea320,
33460x80f00000, 33540x80f00000,
@@ -3735,16 +3743,16 @@ static const unsigned int build_actionlist[4946] = {
37350x7d6f402e, 37430x7d6f402e,
37360x00000000, 37440x00000000,
37370x48000000, 37450x48000000,
37380x0005009a, 37460x0005009b,
37390x00000000, 37470x00000000,
37400x48000000, 37480x48000000,
37410x0005009b, 37490x0005009c,
37420x00000000, 37500x00000000,
37430x114e5300, 37510x114e5300,
37440x116e5b00, 37520x116e5b00,
37450x100ac234, 37530x100ac234,
37460x40800000, 37540x40800000,
37470x0005082e, 37550x0005082f,
37480x100bb232, 37560x100bb232,
37490x40800000, 37570x40800000,
37500x00050805, 37580x00050805,
@@ -3760,7 +3768,7 @@ static const unsigned int build_actionlist[4946] = {
37600x55291800, 37680x55291800,
37610x000900a1, 37690x000900a1,
37620x40810000, 37700x40810000,
37630x0005082e, 37710x0005082f,
37640x11084b00, 37720x11084b00,
37650x1008d234, 37730x1008d234,
37660x41800000, 37740x41800000,
@@ -3790,13 +3798,13 @@ static const unsigned int build_actionlist[4946] = {
37900x40820000, 37980x40820000,
37910x0005080b, 37990x0005080b,
37920x48000000, 38000x48000000,
37930x0005002e, 38010x0005002f,
37940x0006000f, 38020x0006000f,
37950x100bba34, 38030x100bba34,
37960x41800000, 38040x41800000,
37970x0005089a, 38050x0005089b,
37980x48000000, 38060x48000000,
37990x0005002e, 38070x0005002f,
38000x00000000, 38080x00000000,
38010x114e5300, 38090x114e5300,
38020x5568007e, 38100x5568007e,
@@ -3805,8 +3813,8 @@ static const unsigned int build_actionlist[4946] = {
38050x2108fffc, 38130x2108fffc,
38060x7d6f402e, 38140x7d6f402e,
38070x40800000, 38150x40800000,
38080x0005082b, 38160x0005082c,
38090x0006009a, 38170x0006009b,
38100x800a0000, 38180x800a0000,
38110x00098200, 38190x00098200,
38120x810b0000, 38200x810b0000,
@@ -3865,21 +3873,21 @@ static const unsigned int build_actionlist[4946] = {
38650x40820000, 38730x40820000,
38660x0005080d, 38740x0005080d,
38670x48000000, 38750x48000000,
38680x0005002c, 38760x0005002d,
38690x00000000, 38770x00000000,
38700x114e5300, 38780x114e5300,
38710x556000fe, 38790x556000fe,
38720x000900ab, 38800x000900ab,
38730x100ac234, 38810x100ac234,
38740x40800000, 38820x40800000,
38750x0005082d, 38830x0005082e,
38760x810a0000, 38840x810a0000,
38770x00098200, 38850x00098200,
38780x812a0000, 38860x812a0000,
38790x00098200, 38870x00098200,
38800x7c004040, 38880x7c004040,
38810x40800000, 38890x40800000,
38820x0005082d, 38900x0005082e,
38830x11095b00, 38910x11095b00,
38840x1008d234, 38920x1008d234,
38850x41800000, 38930x41800000,
@@ -3909,13 +3917,13 @@ static const unsigned int build_actionlist[4946] = {
39090x40820000, 39170x40820000,
39100x0005080b, 39180x0005080b,
39110x48000000, 39190x48000000,
39120x0005002d, 39200x0005002e,
39130x00000000, 39210x00000000,
39140x114e5300, 39220x114e5300,
39150x116e5b00, 39230x116e5b00,
39160x100ac234, 39240x100ac234,
39170x40800000, 39250x40800000,
39180x00050832, 39260x00050833,
39190x100bb232, 39270x100bb232,
39200x40800000, 39280x40800000,
39210x00050805, 39290x00050805,
@@ -3932,7 +3940,7 @@ static const unsigned int build_actionlist[4946] = {
39320x55201800, 39400x55201800,
39330x000900a1, 39410x000900a1,
39340x40810000, 39420x40810000,
39350x00050832, 39430x00050833,
39360x88ca0000, 39440x88ca0000,
39370x00098200, 39450x00098200,
39380x11280300, 39460x11280300,
@@ -3969,13 +3977,13 @@ static const unsigned int build_actionlist[4946] = {
39690x40820000, 39770x40820000,
39700x0005080b, 39780x0005080b,
39710x48000000, 39790x48000000,
39720x00050032, 39800x00050033,
39730x0006000f, 39810x0006000f,
39740x100bba34, 39820x100bba34,
39750x41800000, 39830x41800000,
39760x0005089b, 39840x0005089c,
39770x48000000, 39850x48000000,
39780x00050032, 39860x00050033,
39790x00060011, 39870x00060011,
39800x00000000, 39880x00000000,
39810x80110000, 39890x80110000,
@@ -3997,8 +4005,8 @@ static const unsigned int build_actionlist[4946] = {
39970x2108fffc, 40050x2108fffc,
39980x7d6f402e, 40060x7d6f402e,
39990x40800000, 40070x40800000,
40000x0005082f, 40080x00050830,
40010x0006009b, 40090x0006009c,
40020x800a0000, 40100x800a0000,
40030x00098200, 40110x00098200,
40040x810b0000, 40120x810b0000,
@@ -4061,7 +4069,7 @@ static const unsigned int build_actionlist[4946] = {
40610x40820000, 40690x40820000,
40620x0005080c, 40700x0005080c,
40630x48000000, 40710x48000000,
40640x00050030, 40720x00050031,
40650x0006000f, 40730x0006000f,
40660x81290000, 40740x81290000,
40670x00098200, 40750x00098200,
@@ -4084,7 +4092,7 @@ static const unsigned int build_actionlist[4946] = {
40840x70000000, 40920x70000000,
40850x00090200, 40930x00090200,
40860x41820000, 40940x41820000,
40870x00050830, 40950x00050831,
40880x00060010, 40960x00060010,
40890x7d445378, 40970x7d445378,
40900x11650321, 40980x11650321,
@@ -4114,7 +4122,7 @@ static const unsigned int build_actionlist[4946] = {
41140x000900ab, 41220x000900ab,
41150x100ac234, 41230x100ac234,
41160x40800000, 41240x40800000,
41170x00050831, 41250x00050832,
41180x810a0000, 41260x810a0000,
41190x00098200, 41270x00098200,
41200x812a0000, 41280x812a0000,
@@ -4124,7 +4132,7 @@ static const unsigned int build_actionlist[4946] = {
41240x7c004040, 41320x7c004040,
41250x12aea300, 41330x12aea300,
41260x40800000, 41340x40800000,
41270x00050831, 41350x00050832,
41280x11095b00, 41360x11095b00,
41290x1008d234, 41370x1008d234,
41300x41800000, 41380x41800000,
@@ -4159,7 +4167,7 @@ static const unsigned int build_actionlist[4946] = {
41590x40820000, 41670x40820000,
41600x0005080b, 41680x0005080b,
41610x48000000, 41690x48000000,
41620x00050031, 41700x00050032,
41630x00060011, 41710x00060011,
41640x80110000, 41720x80110000,
41650x00098200, 41730x00098200,
@@ -4277,8 +4285,8 @@ static const unsigned int build_actionlist[4946] = {
42770x100aca34, 42850x100aca34,
42780x3a940008, 42860x3a940008,
42790x40800000, 42870x40800000,
42800x0005083e, 42880x0005083f,
42810x0006003f, 42890x00060040,
42820x71000000, 42900x71000000,
42830x00090200, 42910x00090200,
42840x88ca0000, 42920x88ca0000,
@@ -4599,7 +4607,7 @@ static const unsigned int build_actionlist[4946] = {
45990x6a080000, 46070x6a080000,
46000x00090200, 46080x00090200,
46010x40820000, 46090x40820000,
46020x0005089c, 46100x0005089d,
46030x00060017, 46110x00060017,
46040x80f0fffc, 46120x80f0fffc,
46050x2c0c0008, 46130x2c0c0008,
@@ -4650,7 +4658,7 @@ static const unsigned int build_actionlist[4946] = {
46500x13494320, 46580x13494320,
46510x48000000, 46590x48000000,
46520x0005000f, 46600x0005000f,
46530x0006009c, 46610x0006009d,
46540x71090000, 46620x71090000,
46550x00090200, 46630x00090200,
46560x40820000, 46640x40820000,
@@ -4668,7 +4676,7 @@ static const unsigned int build_actionlist[4946] = {
46680x6a080000, 46760x6a080000,
46690x00090200, 46770x00090200,
46700x40820000, 46780x40820000,
46710x0005089c, 46790x0005089d,
46720x80f0fffc, 46800x80f0fffc,
46730x392efff8, 46810x392efff8,
46740x54ea5d78, 46820x54ea5d78,
@@ -4720,7 +4728,7 @@ static const unsigned int build_actionlist[4946] = {
47200x4c00e382, 47280x4c00e382,
47210x4c002382, 47290x4c002382,
47220x41800000, 47300x41800000,
47230x00050840, 47310x00050841,
47240x00000000, 47320x00000000,
47250x110832e0, 47330x110832e0,
47260x11140321, 47340x11140321,
@@ -4982,6 +4990,7 @@ enum {
4982 GLOB_vmeta_call, 4990 GLOB_vmeta_call,
4983 GLOB_vm_call_dispatch_f, 4991 GLOB_vm_call_dispatch_f,
4984 GLOB_vm_cpcall, 4992 GLOB_vm_cpcall,
4993 GLOB_vm_call_tail,
4985 GLOB_cont_cat, 4994 GLOB_cont_cat,
4986 GLOB_BC_CAT_Z, 4995 GLOB_BC_CAT_Z,
4987 GLOB_cont_nop, 4996 GLOB_cont_nop,
@@ -5122,6 +5131,7 @@ static const char *const globnames[] = {
5122 "vmeta_call", 5131 "vmeta_call",
5123 "vm_call_dispatch_f", 5132 "vm_call_dispatch_f",
5124 "vm_cpcall", 5133 "vm_cpcall",
5134 "vm_call_tail",
5125 "cont_cat", 5135 "cont_cat",
5126 "BC_CAT_Z", 5136 "BC_CAT_Z",
5127 "cont_nop", 5137 "cont_nop",
@@ -5318,100 +5328,100 @@ static void build_subroutines(BuildCtx *ctx)
5318 dasm_put(Dst, 133, LJ_TISNUM+1, LJ_TFUNC, LJ_TTAB, Dt1(->base), Dt1(->glref), LJ_TSTR, LJ_TFALSE, LJ_TNIL, ~LJ_VMST_INTERP, GG_G2DISP, DISPATCH_GL(vmstate), LUA_MINSTACK, Dt1(->base), Dt1(->top), 32-3); 5328 dasm_put(Dst, 133, LJ_TISNUM+1, LJ_TFUNC, LJ_TTAB, Dt1(->base), Dt1(->glref), LJ_TSTR, LJ_TFALSE, LJ_TNIL, ~LJ_VMST_INTERP, GG_G2DISP, DISPATCH_GL(vmstate), LUA_MINSTACK, Dt1(->base), Dt1(->top), 32-3);
5319 dasm_put(Dst, 188, Dt1(->base), Dt1(->top), Dt7(->pc), Dt1(->glref), Dt1(->status), FRAME_CP, CFRAME_RESUME, GG_G2DISP, Dt1(->cframe), Dt1(->base), LJ_TISNUM+1, Dt1(->top), LJ_TFUNC, LJ_TTAB, LJ_TSTR, Dt1(->status), FRAME_TYPE, ~LJ_VMST_INTERP, LJ_TNIL, DISPATCH_GL(vmstate)); 5329 dasm_put(Dst, 188, Dt1(->base), Dt1(->top), Dt7(->pc), Dt1(->glref), Dt1(->status), FRAME_CP, CFRAME_RESUME, GG_G2DISP, Dt1(->cframe), Dt1(->base), LJ_TISNUM+1, Dt1(->top), LJ_TFUNC, LJ_TTAB, LJ_TSTR, Dt1(->status), FRAME_TYPE, ~LJ_VMST_INTERP, LJ_TNIL, DISPATCH_GL(vmstate));
5320 dasm_put(Dst, 279, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, Dt1(->base), LJ_TISNUM+1, Dt1(->top), LJ_TFUNC, LJ_TTAB, LJ_TSTR, ~LJ_VMST_INTERP, LJ_TNIL, DISPATCH_GL(vmstate)); 5330 dasm_put(Dst, 279, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, Dt1(->base), LJ_TISNUM+1, Dt1(->top), LJ_TFUNC, LJ_TTAB, LJ_TSTR, ~LJ_VMST_INTERP, LJ_TNIL, DISPATCH_GL(vmstate));
5321 dasm_put(Dst, 376, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), Dt1(->glref), FRAME_CP, GG_G2DISP, Dt7(->pc), PC2PROTO(k), Dt1(->base), DISPATCH_GL(tmptv)); 5331 dasm_put(Dst, 376, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), Dt1(->glref), FRAME_CP, GG_G2DISP, Dt7(->pc), PC2PROTO(k), Dt1(->base));
5322 dasm_put(Dst, 480, DISPATCH_GL(tmptv), DISPATCH_GL(tmptv2), DISPATCH_GL(tmptv), Dt1(->base), FRAME_CONT, Dt1(->top), DISPATCH_GL(tmptv), DISPATCH_GL(tmptv)); 5332 dasm_put(Dst, 481, DISPATCH_GL(tmptv), DISPATCH_GL(tmptv), DISPATCH_GL(tmptv2), DISPATCH_GL(tmptv), Dt1(->base), FRAME_CONT, Dt1(->top), DISPATCH_GL(tmptv));
5323 dasm_put(Dst, 557, DISPATCH_GL(tmptv2), DISPATCH_GL(tmptv), Dt1(->base), FRAME_CONT, Dt1(->top), Dt1(->base), -(BCBIAS_J*4 >> 16)); 5333 dasm_put(Dst, 556, DISPATCH_GL(tmptv), DISPATCH_GL(tmptv2), DISPATCH_GL(tmptv), Dt1(->base), FRAME_CONT, Dt1(->top), Dt1(->base));
5324 dasm_put(Dst, 637, LJ_TTRUE, LJ_TFALSE, Dt1(->base), Dt1(->base)); 5334 dasm_put(Dst, 637, -(BCBIAS_J*4 >> 16), LJ_TTRUE, LJ_TFALSE, Dt1(->base));
5325 dasm_put(Dst, 706, FRAME_CONT, Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base)); 5335 dasm_put(Dst, 706, Dt1(->base), FRAME_CONT, Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base));
5326#if LJ_HASJIT 5336#if LJ_HASJIT
5327 dasm_put(Dst, 776); 5337 dasm_put(Dst, 784);
5328#endif 5338#endif
5329 dasm_put(Dst, 778); 5339 dasm_put(Dst, 786);
5330#if LJ_HASJIT 5340#if LJ_HASJIT
5331 dasm_put(Dst, 780, BC_JFORI); 5341 dasm_put(Dst, 788, BC_JFORI);
5332#endif 5342#endif
5333 dasm_put(Dst, 783); 5343 dasm_put(Dst, 791);
5334#if LJ_HASJIT 5344#if LJ_HASJIT
5335 dasm_put(Dst, 785, BC_JFORI); 5345 dasm_put(Dst, 793, BC_JFORI);
5336#endif 5346#endif
5337 dasm_put(Dst, 788, BC_FORI, ~LJ_TNUMX, 31-3, Dt8(->upvalue), Dt6(->metatable), DISPATCH_GL(gcroot[GCROOT_MMNAME+MM_metatable])); 5347 dasm_put(Dst, 796, BC_FORI, ~LJ_TNUMX, 31-3, Dt8(->upvalue), Dt6(->metatable), DISPATCH_GL(gcroot[GCROOT_MMNAME+MM_metatable]));
5338 dasm_put(Dst, 853, Dt6(->hmask), Dt5(->hash), Dt6(->node), 31-5, 31-3, DtB(->key), DtB(->val), DtB(->next), LJ_TUDATA, 31-2, 4*~LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT])); 5348 dasm_put(Dst, 861, Dt6(->hmask), Dt5(->hash), Dt6(->node), 31-5, 31-3, DtB(->key), DtB(->val), DtB(->next), LJ_TUDATA, 31-2, 4*~LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]));
5339 dasm_put(Dst, 909, Dt6(->metatable), Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); 5349 dasm_put(Dst, 917, Dt6(->metatable), Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
5340 dasm_put(Dst, 969, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->top), (2+1)*8); 5350 dasm_put(Dst, 977, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->top), (2+1)*8);
5341#ifdef LUAJIT_ENABLE_LUA52COMPAT 5351#ifdef LUAJIT_ENABLE_LUA52COMPAT
5342 dasm_put(Dst, 1042, Dt6(->metatable), Dt8(->upvalue[0])); 5352 dasm_put(Dst, 1050, Dt6(->metatable), Dt8(->upvalue[0]));
5343#else 5353#else
5344 dasm_put(Dst, 1051, Dt8(->upvalue[0])); 5354 dasm_put(Dst, 1059, Dt8(->upvalue[0]));
5345#endif 5355#endif
5346 dasm_put(Dst, 1055, (3+1)*8, Dt6(->asize), Dt6(->array), 31-3, (0+1)*8, (2+1)*8, Dt6(->hmask), (0+1)*8, (0+1)*8); 5356 dasm_put(Dst, 1063, (3+1)*8, Dt6(->asize), Dt6(->array), 31-3, (0+1)*8, (2+1)*8, Dt6(->hmask), (0+1)*8, (0+1)*8);
5347 dasm_put(Dst, 1119); 5357 dasm_put(Dst, 1127);
5348#ifdef LUAJIT_ENABLE_LUA52COMPAT 5358#ifdef LUAJIT_ENABLE_LUA52COMPAT
5349 dasm_put(Dst, 1132, Dt6(->metatable), Dt8(->upvalue[0])); 5359 dasm_put(Dst, 1140, Dt6(->metatable), Dt8(->upvalue[0]));
5350#else 5360#else
5351 dasm_put(Dst, 1141, Dt8(->upvalue[0])); 5361 dasm_put(Dst, 1149, Dt8(->upvalue[0]));
5352#endif 5362#endif
5353 dasm_put(Dst, 1145, (3+1)*8, DISPATCH_GL(hookmask), 32-HOOK_ACTIVE_SHIFT, 8+FRAME_PCALL, DISPATCH_GL(hookmask), 32-HOOK_ACTIVE_SHIFT, 16+FRAME_PCALL, LJ_TTHREAD, Dt1(->status), Dt1(->cframe), Dt1(->top)); 5363 dasm_put(Dst, 1153, (3+1)*8, DISPATCH_GL(hookmask), 32-HOOK_ACTIVE_SHIFT, 8+FRAME_PCALL, DISPATCH_GL(hookmask), 32-HOOK_ACTIVE_SHIFT, 16+FRAME_PCALL, LJ_TTHREAD, Dt1(->status), Dt1(->cframe), Dt1(->top));
5354 dasm_put(Dst, 1206, LUA_YIELD, Dt1(->base), Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->base), LUA_YIELD, Dt1(->top), ~LJ_VMST_INTERP, Dt1(->base), DISPATCH_GL(vmstate), Dt1(->maxstack)); 5364 dasm_put(Dst, 1214, LUA_YIELD, Dt1(->base), Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->base), LUA_YIELD, Dt1(->top), ~LJ_VMST_INTERP, Dt1(->base), DISPATCH_GL(vmstate), Dt1(->maxstack));
5355 dasm_put(Dst, 1269, Dt1(->top), FRAME_TYPE, LJ_TTRUE, FRAME_TYPE, LJ_TFALSE, Dt1(->top), (2+1)*8, 32-3); 5365 dasm_put(Dst, 1277, Dt1(->top), FRAME_TYPE, LJ_TTRUE, FRAME_TYPE, LJ_TFALSE, Dt1(->top), (2+1)*8, 32-3);
5356 dasm_put(Dst, 1329, Dt8(->upvalue[0].gcr), Dt1(->status), Dt1(->cframe), Dt1(->top), LUA_YIELD, Dt1(->base), Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->base), LUA_YIELD, Dt1(->top), ~LJ_VMST_INTERP); 5366 dasm_put(Dst, 1337, Dt8(->upvalue[0].gcr), Dt1(->status), Dt1(->cframe), Dt1(->top), LUA_YIELD, Dt1(->base), Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->base), LUA_YIELD, Dt1(->top), ~LJ_VMST_INTERP);
5357 dasm_put(Dst, 1388, Dt1(->base), DISPATCH_GL(vmstate), Dt1(->maxstack), Dt1(->top), FRAME_TYPE, 32-3, Dt1(->cframe)); 5367 dasm_put(Dst, 1396, Dt1(->base), DISPATCH_GL(vmstate), Dt1(->maxstack), Dt1(->top), FRAME_TYPE, 32-3, Dt1(->cframe));
5358 dasm_put(Dst, 1445, Dt1(->base), CFRAME_RESUME, Dt1(->top), LUA_YIELD, Dt1(->cframe), Dt1(->status), (1+1)*8, FRAME_TYPE); 5368 dasm_put(Dst, 1453, Dt1(->base), CFRAME_RESUME, Dt1(->top), LUA_YIELD, Dt1(->cframe), Dt1(->status), (1+1)*8, FRAME_TYPE);
5359 dasm_put(Dst, 1510); 5369 dasm_put(Dst, 1518);
5360 dasm_put(Dst, 1579); 5370 dasm_put(Dst, 1587);
5361 dasm_put(Dst, 1642); 5371 dasm_put(Dst, 1650);
5362 dasm_put(Dst, 1707); 5372 dasm_put(Dst, 1715);
5363 dasm_put(Dst, 1777, Dt8(->upvalue[0]), DISPATCH_GL(tmptv), DISPATCH_GL(tmptv), (2+1)*8, (2+1)*8); 5373 dasm_put(Dst, 1785, Dt8(->upvalue[0]), DISPATCH_GL(tmptv), DISPATCH_GL(tmptv), (2+1)*8, (2+1)*8);
5364 dasm_put(Dst, 1849, Dt5(->len)); 5374 dasm_put(Dst, 1857, Dt5(->len));
5365 dasm_put(Dst, 1916, Dt5(->len), (0+1)*8, Dt5([1]), (1+1)*8, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), DISPATCH_GL(tmptv), Dt1(->base), Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 5375 dasm_put(Dst, 1924, Dt5(->len), (0+1)*8, Dt5([1]), (1+1)*8, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), DISPATCH_GL(tmptv), Dt1(->base), Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
5366 dasm_put(Dst, 1976, Dt5(->len), sizeof(GCstr)-1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 5376 dasm_put(Dst, 1984, Dt5(->len), sizeof(GCstr)-1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
5367 dasm_put(Dst, 2042, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(strempty), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 5377 dasm_put(Dst, 2050, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(strempty), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
5368 dasm_put(Dst, 2101, DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 5378 dasm_put(Dst, 2109, DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
5369 dasm_put(Dst, 2160, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 5379 dasm_put(Dst, 2168, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
5370 dasm_put(Dst, 2227); 5380 dasm_put(Dst, 2235);
5371 dasm_put(Dst, 2298); 5381 dasm_put(Dst, 2306);
5372 dasm_put(Dst, 2386, Dt8(->f), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), 31-3, Dt1(->top), Dt7(->pc)); 5382 dasm_put(Dst, 2394, Dt8(->f), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), 31-3, Dt1(->top), Dt7(->pc));
5373 dasm_put(Dst, 2465, FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 5383 dasm_put(Dst, 2473, FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
5374#if LJ_HASJIT 5384#if LJ_HASJIT
5375 dasm_put(Dst, 2507); 5385 dasm_put(Dst, 2515);
5376#endif 5386#endif
5377 dasm_put(Dst, 2509, DISPATCH_GL(hookmask), HOOK_ACTIVE, GG_DISP2STATIC, DISPATCH_GL(hookmask), DISPATCH_GL(hookcount), HOOK_ACTIVE, 31-LUA_HOOKLINE, DISPATCH_GL(hookcount), Dt1(->base), Dt1(->base)); 5387 dasm_put(Dst, 2517, DISPATCH_GL(hookmask), HOOK_ACTIVE, GG_DISP2STATIC, DISPATCH_GL(hookmask), DISPATCH_GL(hookcount), HOOK_ACTIVE, 31-LUA_HOOKLINE, DISPATCH_GL(hookcount), Dt1(->base), Dt1(->base));
5378 dasm_put(Dst, 2556, GG_DISP2STATIC); 5388 dasm_put(Dst, 2564, GG_DISP2STATIC);
5379#if LJ_HASJIT 5389#if LJ_HASJIT
5380 dasm_put(Dst, 2574); 5390 dasm_put(Dst, 2582);
5381#endif 5391#endif
5382 dasm_put(Dst, 2576); 5392 dasm_put(Dst, 2584);
5383#if LJ_HASJIT 5393#if LJ_HASJIT
5384 dasm_put(Dst, 2579); 5394 dasm_put(Dst, 2587);
5385#endif 5395#endif
5386 dasm_put(Dst, 2582); 5396 dasm_put(Dst, 2590);
5387#if LJ_HASJIT 5397#if LJ_HASJIT
5388 dasm_put(Dst, 2584); 5398 dasm_put(Dst, 2592);
5389#endif 5399#endif
5390 dasm_put(Dst, 2587, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 5400 dasm_put(Dst, 2595, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
5391#if LJ_HASJIT 5401#if LJ_HASJIT
5392 dasm_put(Dst, 2609); 5402 dasm_put(Dst, 2617);
5393#endif 5403#endif
5394 dasm_put(Dst, 2611); 5404 dasm_put(Dst, 2619);
5395#if LJ_HASJIT 5405#if LJ_HASJIT
5396 dasm_put(Dst, 2613); 5406 dasm_put(Dst, 2621);
5397#endif 5407#endif
5398 dasm_put(Dst, 2615); 5408 dasm_put(Dst, 2623);
5399#if LJ_HASJIT 5409#if LJ_HASJIT
5400 dasm_put(Dst, 2692); 5410 dasm_put(Dst, 2700);
5401#else 5411#else
5402 dasm_put(Dst, 2715); 5412 dasm_put(Dst, 2723);
5403#endif 5413#endif
5404 dasm_put(Dst, 2718); 5414 dasm_put(Dst, 2726);
5405#if LJ_HASJIT 5415#if LJ_HASJIT
5406 dasm_put(Dst, 2720); 5416 dasm_put(Dst, 2728);
5407#endif 5417#endif
5408 dasm_put(Dst, 2722); 5418 dasm_put(Dst, 2730);
5409#if LJ_HASJIT 5419#if LJ_HASJIT
5410 dasm_put(Dst, 2724); 5420 dasm_put(Dst, 2732);
5411#endif 5421#endif
5412 dasm_put(Dst, 2726); 5422 dasm_put(Dst, 2734);
5413#if LJ_HASFFI 5423#if LJ_HASFFI
5414 dasm_put(Dst, 2789); 5424 dasm_put(Dst, 2797);
5415#endif 5425#endif
5416} 5426}
5417 5427
@@ -5419,7 +5429,7 @@ static void build_subroutines(BuildCtx *ctx)
5419static void build_ins(BuildCtx *ctx, BCOp op, int defop) 5429static void build_ins(BuildCtx *ctx, BCOp op, int defop)
5420{ 5430{
5421 int vk = 0; 5431 int vk = 0;
5422 dasm_put(Dst, 2791, defop); 5432 dasm_put(Dst, 2799, defop);
5423 5433
5424 switch (op) { 5434 switch (op) {
5425 5435
@@ -5428,112 +5438,112 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
5428 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 5438 /* Remember: all ops branch for a true comparison, fall through otherwise. */
5429 5439
5430 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 5440 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
5431 dasm_put(Dst, 2793, -(BCBIAS_J*4 >> 16)); 5441 dasm_put(Dst, 2801, -(BCBIAS_J*4 >> 16));
5432 if (op == BC_ISLE || op == BC_ISGT) { 5442 if (op == BC_ISLE || op == BC_ISGT) {
5433 dasm_put(Dst, 2807); 5443 dasm_put(Dst, 2815);
5434 } 5444 }
5435 if (op == BC_ISLT || op == BC_ISLE) { 5445 if (op == BC_ISLT || op == BC_ISLE) {
5436 dasm_put(Dst, 2810); 5446 dasm_put(Dst, 2818);
5437 } else { 5447 } else {
5438 dasm_put(Dst, 2812); 5448 dasm_put(Dst, 2820);
5439 } 5449 }
5440 dasm_put(Dst, 2814); 5450 dasm_put(Dst, 2822);
5441 break; 5451 break;
5442 5452
5443 case BC_ISEQV: case BC_ISNEV: 5453 case BC_ISEQV: case BC_ISNEV:
5444 vk = op == BC_ISEQV; 5454 vk = op == BC_ISEQV;
5445 dasm_put(Dst, 2825, -(BCBIAS_J*4 >> 16)); 5455 dasm_put(Dst, 2833, -(BCBIAS_J*4 >> 16));
5446 if (vk) { 5456 if (vk) {
5447 dasm_put(Dst, 2839); 5457 dasm_put(Dst, 2847);
5448 } else { 5458 } else {
5449 dasm_put(Dst, 2841); 5459 dasm_put(Dst, 2849);
5450 } 5460 }
5451 dasm_put(Dst, 2843, ~LJ_TISPRI, ~LJ_TISTABUD); 5461 dasm_put(Dst, 2851, ~LJ_TISPRI, ~LJ_TISTABUD);
5452 if (vk) { 5462 if (vk) {
5453 dasm_put(Dst, 2865); 5463 dasm_put(Dst, 2873);
5454 } else { 5464 } else {
5455 dasm_put(Dst, 2867); 5465 dasm_put(Dst, 2875);
5456 } 5466 }
5457 dasm_put(Dst, 2869); 5467 dasm_put(Dst, 2877);
5458 if (vk) { 5468 if (vk) {
5459 dasm_put(Dst, 2871); 5469 dasm_put(Dst, 2879);
5460 } else { 5470 } else {
5461 dasm_put(Dst, 2873); 5471 dasm_put(Dst, 2881);
5462 } 5472 }
5463 dasm_put(Dst, 2875, Dt6(->metatable), 1-vk, Dt6(->nomm), 1<<MM_eq); 5473 dasm_put(Dst, 2883, Dt6(->metatable), 1-vk, Dt6(->nomm), 1<<MM_eq);
5464 break; 5474 break;
5465 5475
5466 case BC_ISEQS: case BC_ISNES: 5476 case BC_ISEQS: case BC_ISNES:
5467 vk = op == BC_ISEQS; 5477 vk = op == BC_ISEQS;
5468 dasm_put(Dst, 2896, 32-1, -(BCBIAS_J*4 >> 16)); 5478 dasm_put(Dst, 2904, 32-1, -(BCBIAS_J*4 >> 16));
5469 if (vk) { 5479 if (vk) {
5470 dasm_put(Dst, 2910); 5480 dasm_put(Dst, 2918);
5471 } else { 5481 } else {
5472 dasm_put(Dst, 2912); 5482 dasm_put(Dst, 2920);
5473 } 5483 }
5474 dasm_put(Dst, 2914); 5484 dasm_put(Dst, 2922);
5475 break; 5485 break;
5476 5486
5477 case BC_ISEQN: case BC_ISNEN: 5487 case BC_ISEQN: case BC_ISNEN:
5478 vk = op == BC_ISEQN; 5488 vk = op == BC_ISEQN;
5479 dasm_put(Dst, 2925, -(BCBIAS_J*4 >> 16)); 5489 dasm_put(Dst, 2933, -(BCBIAS_J*4 >> 16));
5480 if (vk) { 5490 if (vk) {
5481 dasm_put(Dst, 2939); 5491 dasm_put(Dst, 2947);
5482 } else { 5492 } else {
5483 dasm_put(Dst, 2942); 5493 dasm_put(Dst, 2950);
5484 } 5494 }
5485 dasm_put(Dst, 2944); 5495 dasm_put(Dst, 2952);
5486 if (!vk) { 5496 if (!vk) {
5487 dasm_put(Dst, 2956); 5497 dasm_put(Dst, 2964);
5488 } 5498 }
5489 break; 5499 break;
5490 5500
5491 case BC_ISEQP: case BC_ISNEP: 5501 case BC_ISEQP: case BC_ISNEP:
5492 vk = op == BC_ISEQP; 5502 vk = op == BC_ISEQP;
5493 dasm_put(Dst, 2962, 32-3, -(BCBIAS_J*4 >> 16)); 5503 dasm_put(Dst, 2970, 32-3, -(BCBIAS_J*4 >> 16));
5494 if (vk) { 5504 if (vk) {
5495 dasm_put(Dst, 2974); 5505 dasm_put(Dst, 2982);
5496 } else { 5506 } else {
5497 dasm_put(Dst, 2976); 5507 dasm_put(Dst, 2984);
5498 } 5508 }
5499 dasm_put(Dst, 2978); 5509 dasm_put(Dst, 2986);
5500 break; 5510 break;
5501 5511
5502 /* -- Unary test and copy ops ------------------------------------------- */ 5512 /* -- Unary test and copy ops ------------------------------------------- */
5503 5513
5504 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 5514 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
5505 dasm_put(Dst, 2989); 5515 dasm_put(Dst, 2997);
5506 if (op == BC_IST || op == BC_ISF) { 5516 if (op == BC_IST || op == BC_ISF) {
5507 dasm_put(Dst, 2995, -(BCBIAS_J*4 >> 16)); 5517 dasm_put(Dst, 3003, -(BCBIAS_J*4 >> 16));
5508 if (op == BC_IST) { 5518 if (op == BC_IST) {
5509 dasm_put(Dst, 3000); 5519 dasm_put(Dst, 3008);
5510 } else { 5520 } else {
5511 dasm_put(Dst, 3002); 5521 dasm_put(Dst, 3010);
5512 } 5522 }
5513 } else { 5523 } else {
5514 if (op == BC_ISTC) { 5524 if (op == BC_ISTC) {
5515 dasm_put(Dst, 3004); 5525 dasm_put(Dst, 3012);
5516 } else { 5526 } else {
5517 dasm_put(Dst, 3007); 5527 dasm_put(Dst, 3015);
5518 } 5528 }
5519 dasm_put(Dst, 3010, -(BCBIAS_J*4 >> 16)); 5529 dasm_put(Dst, 3018, -(BCBIAS_J*4 >> 16));
5520 } 5530 }
5521 dasm_put(Dst, 3017); 5531 dasm_put(Dst, 3025);
5522 break; 5532 break;
5523 5533
5524 /* -- Unary ops --------------------------------------------------------- */ 5534 /* -- Unary ops --------------------------------------------------------- */
5525 5535
5526 case BC_MOV: 5536 case BC_MOV:
5527 dasm_put(Dst, 3028); 5537 dasm_put(Dst, 3036);
5528 break; 5538 break;
5529 case BC_NOT: 5539 case BC_NOT:
5530 dasm_put(Dst, 3041, LJ_TTRUE); 5540 dasm_put(Dst, 3049, LJ_TTRUE);
5531 break; 5541 break;
5532 case BC_UNM: 5542 case BC_UNM:
5533 dasm_put(Dst, 3057); 5543 dasm_put(Dst, 3065);
5534 break; 5544 break;
5535 case BC_LEN: 5545 case BC_LEN:
5536 dasm_put(Dst, 3074, Dt5(->len)); 5546 dasm_put(Dst, 3082, Dt5(->len));
5537 break; 5547 break;
5538 5548
5539 /* -- Binary ops -------------------------------------------------------- */ 5549 /* -- Binary ops -------------------------------------------------------- */
@@ -5543,262 +5553,262 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
5543 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 5553 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5544 switch (vk) { 5554 switch (vk) {
5545 case 0: 5555 case 0:
5546 dasm_put(Dst, 3102); 5556 dasm_put(Dst, 3110);
5547 break; 5557 break;
5548 case 1: 5558 case 1:
5549 dasm_put(Dst, 3108); 5559 dasm_put(Dst, 3116);
5550 break; 5560 break;
5551 default: 5561 default:
5552 dasm_put(Dst, 3114); 5562 dasm_put(Dst, 3122);
5553 break; 5563 break;
5554 } 5564 }
5555 dasm_put(Dst, 3121); 5565 dasm_put(Dst, 3129);
5556 break; 5566 break;
5557 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 5567 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
5558 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 5568 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5559 switch (vk) { 5569 switch (vk) {
5560 case 0: 5570 case 0:
5561 dasm_put(Dst, 3134); 5571 dasm_put(Dst, 3142);
5562 break; 5572 break;
5563 case 1: 5573 case 1:
5564 dasm_put(Dst, 3140); 5574 dasm_put(Dst, 3148);
5565 break; 5575 break;
5566 default: 5576 default:
5567 dasm_put(Dst, 3146); 5577 dasm_put(Dst, 3154);
5568 break; 5578 break;
5569 } 5579 }
5570 dasm_put(Dst, 3153); 5580 dasm_put(Dst, 3161);
5571 break; 5581 break;
5572 case BC_MULVN: case BC_MULNV: case BC_MULVV: 5582 case BC_MULVN: case BC_MULNV: case BC_MULVV:
5573 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 5583 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5574 switch (vk) { 5584 switch (vk) {
5575 case 0: 5585 case 0:
5576 dasm_put(Dst, 3166); 5586 dasm_put(Dst, 3174);
5577 break; 5587 break;
5578 case 1: 5588 case 1:
5579 dasm_put(Dst, 3172); 5589 dasm_put(Dst, 3180);
5580 break; 5590 break;
5581 default: 5591 default:
5582 dasm_put(Dst, 3178); 5592 dasm_put(Dst, 3186);
5583 break; 5593 break;
5584 } 5594 }
5585 dasm_put(Dst, 3185); 5595 dasm_put(Dst, 3193);
5586 break; 5596 break;
5587 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 5597 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
5588 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 5598 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5589 switch (vk) { 5599 switch (vk) {
5590 case 0: 5600 case 0:
5591 dasm_put(Dst, 3198); 5601 dasm_put(Dst, 3206);
5592 break; 5602 break;
5593 case 1: 5603 case 1:
5594 dasm_put(Dst, 3204); 5604 dasm_put(Dst, 3212);
5595 break; 5605 break;
5596 default: 5606 default:
5597 dasm_put(Dst, 3210); 5607 dasm_put(Dst, 3218);
5598 break; 5608 break;
5599 } 5609 }
5600 dasm_put(Dst, 3217); 5610 dasm_put(Dst, 3225);
5601 break; 5611 break;
5602 case BC_MODVN: 5612 case BC_MODVN:
5603 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 5613 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5604 switch (vk) { 5614 switch (vk) {
5605 case 0: 5615 case 0:
5606 dasm_put(Dst, 3230); 5616 dasm_put(Dst, 3238);
5607 break; 5617 break;
5608 case 1: 5618 case 1:
5609 dasm_put(Dst, 3236); 5619 dasm_put(Dst, 3244);
5610 break; 5620 break;
5611 default: 5621 default:
5612 dasm_put(Dst, 3242); 5622 dasm_put(Dst, 3250);
5613 break; 5623 break;
5614 } 5624 }
5615 dasm_put(Dst, 3249); 5625 dasm_put(Dst, 3257);
5616 break; 5626 break;
5617 case BC_MODNV: case BC_MODVV: 5627 case BC_MODNV: case BC_MODVV:
5618 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 5628 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5619 switch (vk) { 5629 switch (vk) {
5620 case 0: 5630 case 0:
5621 dasm_put(Dst, 3267); 5631 dasm_put(Dst, 3275);
5622 break; 5632 break;
5623 case 1: 5633 case 1:
5624 dasm_put(Dst, 3273); 5634 dasm_put(Dst, 3281);
5625 break; 5635 break;
5626 default: 5636 default:
5627 dasm_put(Dst, 3279); 5637 dasm_put(Dst, 3287);
5628 break; 5638 break;
5629 } 5639 }
5630 dasm_put(Dst, 3286); 5640 dasm_put(Dst, 3294);
5631 break; 5641 break;
5632 case BC_POW: 5642 case BC_POW:
5633 dasm_put(Dst, 3289); 5643 dasm_put(Dst, 3297);
5634 break; 5644 break;
5635 5645
5636 case BC_CAT: 5646 case BC_CAT:
5637 dasm_put(Dst, 3311, Dt1(->base), 32-3, Dt1(->base)); 5647 dasm_put(Dst, 3319, Dt1(->base), 32-3, Dt1(->base));
5638 break; 5648 break;
5639 5649
5640 /* -- Constant ops ------------------------------------------------------ */ 5650 /* -- Constant ops ------------------------------------------------------ */
5641 5651
5642 case BC_KSTR: 5652 case BC_KSTR:
5643 dasm_put(Dst, 3341, 32-1); 5653 dasm_put(Dst, 3349, 32-1);
5644 break; 5654 break;
5645 case BC_KCDATA: 5655 case BC_KCDATA:
5646#if LJ_HASFFI 5656#if LJ_HASFFI
5647 dasm_put(Dst, 3358, 32-1, LJ_TCDATA); 5657 dasm_put(Dst, 3366, 32-1, LJ_TCDATA);
5648#endif 5658#endif
5649 break; 5659 break;
5650 case BC_KSHORT: 5660 case BC_KSHORT:
5651 dasm_put(Dst, 3377, 32-3); 5661 dasm_put(Dst, 3385, 32-3);
5652 break; 5662 break;
5653 case BC_KNUM: 5663 case BC_KNUM:
5654 dasm_put(Dst, 3393); 5664 dasm_put(Dst, 3401);
5655 break; 5665 break;
5656 case BC_KPRI: 5666 case BC_KPRI:
5657 dasm_put(Dst, 3406, 32-3); 5667 dasm_put(Dst, 3414, 32-3);
5658 break; 5668 break;
5659 case BC_KNIL: 5669 case BC_KNIL:
5660 dasm_put(Dst, 3421); 5670 dasm_put(Dst, 3429);
5661 break; 5671 break;
5662 5672
5663 /* -- Upvalue and function ops ------------------------------------------ */ 5673 /* -- Upvalue and function ops ------------------------------------------ */
5664 5674
5665 case BC_UGET: 5675 case BC_UGET:
5666 dasm_put(Dst, 3440, 32-1, offsetof(GCfuncL, uvptr), DtA(->v)); 5676 dasm_put(Dst, 3448, 32-1, offsetof(GCfuncL, uvptr), DtA(->v));
5667 break; 5677 break;
5668 case BC_USETV: 5678 case BC_USETV:
5669 dasm_put(Dst, 3461, 32-1, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, DtA(->closed), -(LJ_TISNUM+1), LJ_TISGCV - (LJ_TISNUM+1), Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G); 5679 dasm_put(Dst, 3469, 32-1, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, DtA(->closed), -(LJ_TISNUM+1), LJ_TISGCV - (LJ_TISNUM+1), Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
5670 break; 5680 break;
5671 case BC_USETS: 5681 case BC_USETS:
5672 dasm_put(Dst, 3513, 32-1, 32-1, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, Dt5(->marked), DtA(->closed), LJ_GC_WHITES, GG_DISP2G); 5682 dasm_put(Dst, 3521, 32-1, 32-1, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, Dt5(->marked), DtA(->closed), LJ_GC_WHITES, GG_DISP2G);
5673 break; 5683 break;
5674 case BC_USETN: 5684 case BC_USETN:
5675 dasm_put(Dst, 3562, 32-1, offsetof(GCfuncL, uvptr), DtA(->v)); 5685 dasm_put(Dst, 3570, 32-1, offsetof(GCfuncL, uvptr), DtA(->v));
5676 break; 5686 break;
5677 case BC_USETP: 5687 case BC_USETP:
5678 dasm_put(Dst, 3583, 32-1, offsetof(GCfuncL, uvptr), 32-3, DtA(->v)); 5688 dasm_put(Dst, 3591, 32-1, offsetof(GCfuncL, uvptr), 32-3, DtA(->v));
5679 break; 5689 break;
5680 5690
5681 case BC_UCLO: 5691 case BC_UCLO:
5682 dasm_put(Dst, 3606, Dt1(->openupval), 32-1, -(BCBIAS_J*4 >> 16), Dt1(->base), Dt1(->base)); 5692 dasm_put(Dst, 3614, Dt1(->openupval), 32-1, -(BCBIAS_J*4 >> 16), Dt1(->base), Dt1(->base));
5683 break; 5693 break;
5684 5694
5685 case BC_FNEW: 5695 case BC_FNEW:
5686 dasm_put(Dst, 3636, 32-1, Dt1(->base), Dt1(->base)); 5696 dasm_put(Dst, 3644, 32-1, Dt1(->base), Dt1(->base));
5687 break; 5697 break;
5688 5698
5689 /* -- Table ops --------------------------------------------------------- */ 5699 /* -- Table ops --------------------------------------------------------- */
5690 5700
5691 case BC_TNEW: 5701 case BC_TNEW:
5692 case BC_TDUP: 5702 case BC_TDUP:
5693 dasm_put(Dst, 3662, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base)); 5703 dasm_put(Dst, 3670, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base));
5694 if (op == BC_TNEW) { 5704 if (op == BC_TNEW) {
5695 dasm_put(Dst, 3675); 5705 dasm_put(Dst, 3683);
5696 } else { 5706 } else {
5697 dasm_put(Dst, 3683, 32-1); 5707 dasm_put(Dst, 3691, 32-1);
5698 } 5708 }
5699 dasm_put(Dst, 3690, Dt1(->base)); 5709 dasm_put(Dst, 3698, Dt1(->base));
5700 break; 5710 break;
5701 5711
5702 case BC_GGET: 5712 case BC_GGET:
5703 case BC_GSET: 5713 case BC_GSET:
5704 dasm_put(Dst, 3713, 32-1, Dt7(->env)); 5714 dasm_put(Dst, 3721, 32-1, Dt7(->env));
5705 if (op == BC_GGET) { 5715 if (op == BC_GGET) {
5706 dasm_put(Dst, 3721); 5716 dasm_put(Dst, 3729);
5707 } else { 5717 } else {
5708 dasm_put(Dst, 3724); 5718 dasm_put(Dst, 3732);
5709 } 5719 }
5710 break; 5720 break;
5711 5721
5712 case BC_TGETV: 5722 case BC_TGETV:
5713 dasm_put(Dst, 3727, Dt6(->asize), Dt6(->array), 31-3, Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 5723 dasm_put(Dst, 3735, Dt6(->asize), Dt6(->array), 31-3, Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
5714 break; 5724 break;
5715 case BC_TGETS: 5725 case BC_TGETS:
5716 dasm_put(Dst, 3785, 32-1, Dt6(->hmask), Dt5(->hash), Dt6(->node), 31-5, 31-3, DtB(->key), DtB(->val), DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 5726 dasm_put(Dst, 3793, 32-1, Dt6(->hmask), Dt5(->hash), Dt6(->node), 31-5, 31-3, DtB(->key), DtB(->val), DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
5717 dasm_put(Dst, 3849); 5727 dasm_put(Dst, 3857);
5718 break; 5728 break;
5719 case BC_TGETB: 5729 case BC_TGETB:
5720 dasm_put(Dst, 3854, 32-3, Dt6(->asize), Dt6(->array), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 5730 dasm_put(Dst, 3862, 32-3, Dt6(->asize), Dt6(->array), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
5721 break; 5731 break;
5722 5732
5723 case BC_TSETV: 5733 case BC_TSETV:
5724 dasm_put(Dst, 3898, Dt6(->asize), Dt6(->array), 31-3, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); 5734 dasm_put(Dst, 3906, Dt6(->asize), Dt6(->array), 31-3, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
5725 dasm_put(Dst, 3965, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); 5735 dasm_put(Dst, 3973, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
5726 break; 5736 break;
5727 case BC_TSETS: 5737 case BC_TSETS:
5728 dasm_put(Dst, 3977, 32-1, Dt6(->hmask), Dt5(->hash), Dt6(->node), Dt6(->nomm), 31-5, 31-3, Dt6(->marked), DtB(->key), DtB(->val), LJ_GC_BLACK, DtB(->val), Dt6(->metatable)); 5738 dasm_put(Dst, 3985, 32-1, Dt6(->hmask), Dt5(->hash), Dt6(->node), Dt6(->nomm), 31-5, 31-3, Dt6(->marked), DtB(->key), DtB(->val), LJ_GC_BLACK, DtB(->val), Dt6(->metatable));
5729 dasm_put(Dst, 4038, Dt6(->nomm), 1<<MM_newindex, DtB(->next), Dt6(->metatable), DISPATCH_GL(tmptv), Dt1(->base), Dt6(->nomm), 1<<MM_newindex, Dt1(->base), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain)); 5739 dasm_put(Dst, 4046, Dt6(->nomm), 1<<MM_newindex, DtB(->next), Dt6(->metatable), DISPATCH_GL(tmptv), Dt1(->base), Dt6(->nomm), 1<<MM_newindex, Dt1(->base), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain));
5730 dasm_put(Dst, 4089, Dt6(->marked), Dt6(->gclist)); 5740 dasm_put(Dst, 4097, Dt6(->marked), Dt6(->gclist));
5731 break; 5741 break;
5732 case BC_TSETB: 5742 case BC_TSETB:
5733 dasm_put(Dst, 4096, 32-3, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked)); 5743 dasm_put(Dst, 4104, 32-3, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked));
5734 dasm_put(Dst, 4156, Dt6(->gclist)); 5744 dasm_put(Dst, 4164, Dt6(->gclist));
5735 break; 5745 break;
5736 5746
5737 case BC_TSETM: 5747 case BC_TSETM:
5738 dasm_put(Dst, 4161, 32-3, Dt6(->asize), 31-3, Dt6(->marked), Dt6(->array), LJ_GC_BLACK, Dt1(->base), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); 5748 dasm_put(Dst, 4169, 32-3, Dt6(->asize), 31-3, Dt6(->marked), Dt6(->array), LJ_GC_BLACK, Dt1(->base), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
5739 dasm_put(Dst, 4230); 5749 dasm_put(Dst, 4238);
5740 break; 5750 break;
5741 5751
5742 /* -- Calls and vararg handling ----------------------------------------- */ 5752 /* -- Calls and vararg handling ----------------------------------------- */
5743 5753
5744 case BC_CALLM: 5754 case BC_CALLM:
5745 dasm_put(Dst, 4233); 5755 dasm_put(Dst, 4241);
5746 break; 5756 break;
5747 case BC_CALL: 5757 case BC_CALL:
5748 dasm_put(Dst, 4235, Dt7(->pc)); 5758 dasm_put(Dst, 4243, Dt7(->pc));
5749 break; 5759 break;
5750 5760
5751 case BC_CALLMT: 5761 case BC_CALLMT:
5752 dasm_put(Dst, 4255); 5762 dasm_put(Dst, 4263);
5753 break; 5763 break;
5754 case BC_CALLT: 5764 case BC_CALLT:
5755 dasm_put(Dst, 4257, FRAME_TYPE, Dt7(->ffid), FRAME_VARG, Dt7(->pc), -4-8, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP); 5765 dasm_put(Dst, 4265, FRAME_TYPE, Dt7(->ffid), FRAME_VARG, Dt7(->pc), -4-8, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP);
5756 dasm_put(Dst, 4322, FRAME_TYPE); 5766 dasm_put(Dst, 4330, FRAME_TYPE);
5757 break; 5767 break;
5758 5768
5759 case BC_ITERC: 5769 case BC_ITERC:
5760 dasm_put(Dst, 4329, Dt7(->pc)); 5770 dasm_put(Dst, 4337, Dt7(->pc));
5761 break; 5771 break;
5762 5772
5763 case BC_ITERN: 5773 case BC_ITERN:
5764#if LJ_HASJIT 5774#if LJ_HASJIT
5765#endif 5775#endif
5766 dasm_put(Dst, 4355, Dt6(->asize), Dt6(->array), 31-3, -(BCBIAS_J*4 >> 16), Dt6(->hmask), Dt6(->node), 31-5, 31-3, DtB(->key), -(BCBIAS_J*4 >> 16)); 5776 dasm_put(Dst, 4363, Dt6(->asize), Dt6(->array), 31-3, -(BCBIAS_J*4 >> 16), Dt6(->hmask), Dt6(->node), 31-5, 31-3, DtB(->key), -(BCBIAS_J*4 >> 16));
5767 dasm_put(Dst, 4434); 5777 dasm_put(Dst, 4442);
5768 break; 5778 break;
5769 5779
5770 case BC_ISNEXT: 5780 case BC_ISNEXT:
5771 dasm_put(Dst, 4438, LJ_TTAB, LJ_TFUNC, LJ_TNIL, Dt8(->ffid), FF_next_N, 32-1, -(BCBIAS_J*4 >> 16), BC_JMP, BC_ITERC, -(BCBIAS_J*4 >> 16)); 5781 dasm_put(Dst, 4446, LJ_TTAB, LJ_TFUNC, LJ_TNIL, Dt8(->ffid), FF_next_N, 32-1, -(BCBIAS_J*4 >> 16), BC_JMP, BC_ITERC, -(BCBIAS_J*4 >> 16));
5772 break; 5782 break;
5773 5783
5774 case BC_VARG: 5784 case BC_VARG:
5775 dasm_put(Dst, 4489, FRAME_VARG, Dt1(->maxstack), Dt1(->top), Dt1(->base), 32-3, Dt1(->base)); 5785 dasm_put(Dst, 4497, FRAME_VARG, Dt1(->maxstack), Dt1(->top), Dt1(->base), 32-3, Dt1(->base));
5776 dasm_put(Dst, 4569); 5786 dasm_put(Dst, 4577);
5777 break; 5787 break;
5778 5788
5779 /* -- Returns ----------------------------------------------------------- */ 5789 /* -- Returns ----------------------------------------------------------- */
5780 5790
5781 case BC_RETM: 5791 case BC_RETM:
5782 dasm_put(Dst, 4575); 5792 dasm_put(Dst, 4583);
5783 break; 5793 break;
5784 5794
5785 case BC_RET: 5795 case BC_RET:
5786 dasm_put(Dst, 4577, FRAME_TYPE, FRAME_VARG, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP); 5796 dasm_put(Dst, 4585, FRAME_TYPE, FRAME_VARG, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP);
5787 break; 5797 break;
5788 5798
5789 case BC_RET0: case BC_RET1: 5799 case BC_RET0: case BC_RET1:
5790 dasm_put(Dst, 4647, FRAME_TYPE, FRAME_VARG); 5800 dasm_put(Dst, 4655, FRAME_TYPE, FRAME_VARG);
5791 if (op == BC_RET1) { 5801 if (op == BC_RET1) {
5792 dasm_put(Dst, 4660); 5802 dasm_put(Dst, 4668);
5793 } 5803 }
5794 dasm_put(Dst, 4663, Dt7(->pc), PC2PROTO(k)); 5804 dasm_put(Dst, 4671, Dt7(->pc), PC2PROTO(k));
5795 break; 5805 break;
5796 5806
5797 /* -- Loops and branches ------------------------------------------------ */ 5807 /* -- Loops and branches ------------------------------------------------ */
5798 5808
5799 case BC_FORL: 5809 case BC_FORL:
5800#if LJ_HASJIT 5810#if LJ_HASJIT
5801 dasm_put(Dst, 4691); 5811 dasm_put(Dst, 4699);
5802#endif 5812#endif
5803 break; 5813 break;
5804 5814
@@ -5810,35 +5820,35 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
5810 case BC_FORI: 5820 case BC_FORI:
5811 case BC_IFORL: 5821 case BC_IFORL:
5812 vk = (op == BC_IFORL || op == BC_JFORL); 5822 vk = (op == BC_IFORL || op == BC_JFORL);
5813 dasm_put(Dst, 4693, FORL_IDX*8, FORL_STEP*8, FORL_STOP*8); 5823 dasm_put(Dst, 4701, FORL_IDX*8, FORL_STEP*8, FORL_STOP*8);
5814 if (!vk) { 5824 if (!vk) {
5815 dasm_put(Dst, 4701); 5825 dasm_put(Dst, 4709);
5816 } 5826 }
5817 if (vk) { 5827 if (vk) {
5818 dasm_put(Dst, 4709, FORL_IDX*8); 5828 dasm_put(Dst, 4717, FORL_IDX*8);
5819 } 5829 }
5820 dasm_put(Dst, 4713, FORL_EXT*8); 5830 dasm_put(Dst, 4721, FORL_EXT*8);
5821 if (op != BC_JFORL) { 5831 if (op != BC_JFORL) {
5822 dasm_put(Dst, 4721, 32-1); 5832 dasm_put(Dst, 4729, 32-1);
5823 if (op == BC_JFORI) { 5833 if (op == BC_JFORI) {
5824 dasm_put(Dst, 4725, -(BCBIAS_J*4 >> 16)); 5834 dasm_put(Dst, 4733, -(BCBIAS_J*4 >> 16));
5825 } else { 5835 } else {
5826 dasm_put(Dst, 4728, -(BCBIAS_J*4 >> 16)); 5836 dasm_put(Dst, 4736, -(BCBIAS_J*4 >> 16));
5827 } 5837 }
5828 } 5838 }
5829 if (op == BC_FORI) { 5839 if (op == BC_FORI) {
5830 dasm_put(Dst, 4731); 5840 dasm_put(Dst, 4739);
5831 } else if (op == BC_IFORL) { 5841 } else if (op == BC_IFORL) {
5832 dasm_put(Dst, 4733); 5842 dasm_put(Dst, 4741);
5833 } else { 5843 } else {
5834 dasm_put(Dst, 4735, BC_JLOOP); 5844 dasm_put(Dst, 4743, BC_JLOOP);
5835 } 5845 }
5836 dasm_put(Dst, 4738); 5846 dasm_put(Dst, 4746);
5837 break; 5847 break;
5838 5848
5839 case BC_ITERL: 5849 case BC_ITERL:
5840#if LJ_HASJIT 5850#if LJ_HASJIT
5841 dasm_put(Dst, 4753); 5851 dasm_put(Dst, 4761);
5842#endif 5852#endif
5843 break; 5853 break;
5844 5854
@@ -5847,40 +5857,40 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
5847 break; 5857 break;
5848#endif 5858#endif
5849 case BC_IITERL: 5859 case BC_IITERL:
5850 dasm_put(Dst, 4755); 5860 dasm_put(Dst, 4763);
5851 if (op == BC_JITERL) { 5861 if (op == BC_JITERL) {
5852 dasm_put(Dst, 4761); 5862 dasm_put(Dst, 4769);
5853 } else { 5863 } else {
5854 dasm_put(Dst, 4763, 32-1, -(BCBIAS_J*4 >> 16)); 5864 dasm_put(Dst, 4771, 32-1, -(BCBIAS_J*4 >> 16));
5855 } 5865 }
5856 dasm_put(Dst, 4770); 5866 dasm_put(Dst, 4778);
5857 break; 5867 break;
5858 5868
5859 case BC_LOOP: 5869 case BC_LOOP:
5860#if LJ_HASJIT 5870#if LJ_HASJIT
5861 dasm_put(Dst, 4782); 5871 dasm_put(Dst, 4790);
5862#endif 5872#endif
5863 break; 5873 break;
5864 5874
5865 case BC_ILOOP: 5875 case BC_ILOOP:
5866 dasm_put(Dst, 4784); 5876 dasm_put(Dst, 4792);
5867 break; 5877 break;
5868 5878
5869 case BC_JLOOP: 5879 case BC_JLOOP:
5870#if LJ_HASJIT 5880#if LJ_HASJIT
5871 dasm_put(Dst, 4795); 5881 dasm_put(Dst, 4803);
5872#endif 5882#endif
5873 break; 5883 break;
5874 5884
5875 case BC_JMP: 5885 case BC_JMP:
5876 dasm_put(Dst, 4797, 32-1, -(BCBIAS_J*4 >> 16)); 5886 dasm_put(Dst, 4805, 32-1, -(BCBIAS_J*4 >> 16));
5877 break; 5887 break;
5878 5888
5879 /* -- Function headers -------------------------------------------------- */ 5889 /* -- Function headers -------------------------------------------------- */
5880 5890
5881 case BC_FUNCF: 5891 case BC_FUNCF:
5882#if LJ_HASJIT 5892#if LJ_HASJIT
5883 dasm_put(Dst, 4813); 5893 dasm_put(Dst, 4821);
5884#endif 5894#endif
5885 case BC_FUNCV: /* NYI: compiled vararg functions. */ 5895 case BC_FUNCV: /* NYI: compiled vararg functions. */
5886 break; 5896 break;
@@ -5890,38 +5900,38 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
5890 break; 5900 break;
5891#endif 5901#endif
5892 case BC_IFUNCF: 5902 case BC_IFUNCF:
5893 dasm_put(Dst, 4815, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k), 31-3); 5903 dasm_put(Dst, 4823, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k), 31-3);
5894 if (op == BC_JFUNCF) { 5904 if (op == BC_JFUNCF) {
5895 dasm_put(Dst, 4833); 5905 dasm_put(Dst, 4841);
5896 } else { 5906 } else {
5897 dasm_put(Dst, 4835); 5907 dasm_put(Dst, 4843);
5898 } 5908 }
5899 dasm_put(Dst, 4844); 5909 dasm_put(Dst, 4852);
5900 break; 5910 break;
5901 5911
5902 case BC_JFUNCV: 5912 case BC_JFUNCV:
5903#if !LJ_HASJIT 5913#if !LJ_HASJIT
5904 break; 5914 break;
5905#endif 5915#endif
5906 dasm_put(Dst, 4850); 5916 dasm_put(Dst, 4858);
5907 break; /* NYI: compiled vararg functions. */ 5917 break; /* NYI: compiled vararg functions. */
5908 5918
5909 case BC_IFUNCV: 5919 case BC_IFUNCV:
5910 dasm_put(Dst, 4852, Dt1(->maxstack), 8+FRAME_VARG, -4+PC2PROTO(k), -4+PC2PROTO(numparams)); 5920 dasm_put(Dst, 4860, Dt1(->maxstack), 8+FRAME_VARG, -4+PC2PROTO(k), -4+PC2PROTO(numparams));
5911 break; 5921 break;
5912 5922
5913 case BC_FUNCC: 5923 case BC_FUNCC:
5914 case BC_FUNCCW: 5924 case BC_FUNCCW:
5915 if (op == BC_FUNCC) { 5925 if (op == BC_FUNCC) {
5916 dasm_put(Dst, 4902, Dt8(->f)); 5926 dasm_put(Dst, 4910, Dt8(->f));
5917 } else { 5927 } else {
5918 dasm_put(Dst, 4905, DISPATCH_GL(wrapf)); 5928 dasm_put(Dst, 4913, DISPATCH_GL(wrapf));
5919 } 5929 }
5920 dasm_put(Dst, 4908, Dt1(->maxstack), Dt1(->base), Dt1(->top), ~LJ_VMST_C); 5930 dasm_put(Dst, 4916, Dt1(->maxstack), Dt1(->base), Dt1(->top), ~LJ_VMST_C);
5921 if (op == BC_FUNCCW) { 5931 if (op == BC_FUNCCW) {
5922 dasm_put(Dst, 4921, Dt8(->f)); 5932 dasm_put(Dst, 4929, Dt8(->f));
5923 } 5933 }
5924 dasm_put(Dst, 4924, DISPATCH_GL(vmstate), Dt1(->top), 31-3, Dt1(->base), ~LJ_VMST_INTERP, DISPATCH_GL(vmstate)); 5934 dasm_put(Dst, 4932, DISPATCH_GL(vmstate), Dt1(->top), 31-3, Dt1(->base), ~LJ_VMST_INTERP, DISPATCH_GL(vmstate));
5925 break; 5935 break;
5926 5936
5927 /* ---------------------------------------------------------------------- */ 5937 /* ---------------------------------------------------------------------- */
@@ -5941,7 +5951,7 @@ static int build_backend(BuildCtx *ctx)
5941 5951
5942 build_subroutines(ctx); 5952 build_subroutines(ctx);
5943 5953
5944 dasm_put(Dst, 4945); 5954 dasm_put(Dst, 4953);
5945 for (op = 0; op < BC__MAX; op++) 5955 for (op = 0; op < BC__MAX; op++)
5946 build_ins(ctx, (BCOp)op, op); 5956 build_ins(ctx, (BCOp)op, op);
5947 5957
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h
index 927ecc6b..fb6f57f9 100644
--- a/src/buildvm_x64.h
+++ b/src/buildvm_x64.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[15992] = { 15static const unsigned char build_actionlist[16015] = {
16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141, 16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141,
17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4, 17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4,
18 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133, 18 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133,
@@ -52,111 +52,112 @@ static const unsigned char build_actionlist[15992] = {
52 68,137,124,36,16,76,139,189,233,76,137,124,36,32,72,137,165,233,252,255,209, 52 68,137,124,36,16,76,139,189,233,76,137,124,36,32,72,137,165,233,252,255,209,
53 133,192,15,132,244,15,137,193,187,237,252,233,244,2,248,11,1,209,131,227, 53 133,192,15,132,244,15,137,193,187,237,252,233,244,2,248,11,1,209,131,227,
54 252,248,137,213,41,218,199,68,193,252,252,237,137,200,139,93,252,244,72,99, 54 252,248,137,213,41,218,199,68,193,252,252,237,137,200,139,93,252,244,72,99,
55 77,252,240,76,141,61,245,255,76,1,252,249,68,139,122,252,248,69,139,191,233, 55 77,252,240,133,201,15,132,244,247,255,76,141,61,245,76,1,252,249,68,139,122,
56 69,139,191,233,252,255,225,248,32,15,182,75,252,255,131,252,237,16,141,12, 56 252,248,69,139,191,233,69,139,191,233,252,255,225,248,1,41,213,193,252,237,
57 202,41,252,233,15,132,244,33,252,247,217,193,252,233,3,139,124,36,24,137, 57 3,141,69,252,255,252,233,244,32,248,33,15,182,75,252,255,131,252,237,16,141,
58 151,233,137,202,72,139,8,72,137,77,0,137,252,238,252,233,244,34,248,35,137, 58 12,202,41,252,233,15,132,244,34,252,247,217,193,252,233,3,139,124,36,24,137,
59 151,233,137,202,72,139,8,72,137,77,0,137,252,238,252,233,244,35,248,36,137,
59 4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235,15,133,244,247,65,141, 60 4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235,15,133,244,247,65,141,
60 142,233,137,41,199,65,4,237,137,205,252,233,244,248,248,36,15,182,67,252, 61 142,233,137,41,199,65,4,237,255,137,205,252,233,244,248,248,37,15,182,67,
61 254,255,199,68,36,4,237,137,4,36,255,252,242,15,42,192,252,242,15,17,4,36, 62 252,254,255,199,68,36,4,237,137,4,36,255,252,242,15,42,192,252,242,15,17,
62 255,72,141,4,36,252,233,244,247,248,37,15,182,67,252,254,141,4,194,248,1, 63 4,36,255,72,141,4,36,252,233,244,247,248,38,15,182,67,252,254,141,4,194,248,
63 15,182,107,252,255,141,44,252,234,248,2,139,124,36,24,137,151,233,137,252, 64 1,15,182,107,252,255,141,44,252,234,248,2,139,124,36,24,137,151,233,137,252,
64 238,72,137,194,137,252,253,137,92,36,28,232,251,1,2,139,149,233,133,192,15, 65 238,72,137,194,137,252,253,137,92,36,28,232,251,1,2,139,149,233,133,192,15,
65 132,244,249,248,33,15,182,75,252,253,72,139,40,72,137,44,202,139,3,15,182, 66 132,244,249,248,34,15,182,75,252,253,72,139,40,72,137,44,202,139,3,15,182,
66 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,139,141,233, 67 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,139,141,233,
67 137,89,252,244,141,153,233,41,211,139,105,252,248,184,237,252,233,244,30, 68 137,89,252,244,141,153,233,41,211,139,105,252,248,184,237,252,233,244,30,
68 248,38,137,4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235,15,133,244, 69 248,39,137,4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235,15,133,244,
69 247,255,65,141,142,233,137,41,199,65,4,237,137,205,252,233,244,248,248,39, 70 247,255,65,141,142,233,137,41,199,65,4,237,137,205,252,233,244,248,248,40,
70 15,182,67,252,254,255,72,141,4,36,252,233,244,247,248,40,15,182,67,252,254, 71 15,182,67,252,254,255,72,141,4,36,252,233,244,247,248,41,15,182,67,252,254,
71 141,4,194,248,1,15,182,107,252,255,141,44,252,234,248,2,139,124,36,24,137, 72 141,4,194,248,1,15,182,107,252,255,141,44,252,234,248,2,139,124,36,24,137,
72 151,233,137,252,238,72,137,194,137,252,253,137,92,36,28,232,251,1,3,139,149, 73 151,233,137,252,238,72,137,194,137,252,253,137,92,36,28,232,251,1,3,139,149,
73 233,133,192,15,132,244,249,15,182,75,252,253,72,139,44,202,72,137,40,248, 74 233,133,192,15,132,244,249,15,182,75,252,253,72,139,44,202,72,137,40,248,
74 41,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238, 75 42,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,
75 248,3,139,141,233,137,89,252,244,15,182,67,252,253,72,139,44,194,72,137,105, 76 248,3,139,141,233,137,89,252,244,15,182,67,252,253,72,139,44,194,72,137,105,
76 16,141,153,233,41,211,139,105,252,248,184,237,252,233,244,30,248,42,139,108, 77 16,141,153,233,41,211,139,105,252,248,184,237,252,233,244,30,248,43,139,108,
77 36,24,137,149,233,141,52,202,141,20,194,137,252,239,15,182,75,252,252,137, 78 36,24,137,149,233,141,52,202,141,20,194,137,252,239,15,182,75,252,252,137,
78 92,36,28,232,251,1,4,248,3,139,149,233,255,131,252,248,1,15,135,244,43,248, 79 92,36,28,232,251,1,4,248,3,139,149,233,255,131,252,248,1,15,135,244,44,248,
79 4,141,91,4,15,130,244,252,248,5,15,183,67,252,254,141,156,253,131,233,248, 80 4,141,91,4,15,130,244,252,248,5,15,183,67,252,254,141,156,253,131,233,248,
80 6,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238, 81 6,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,
81 248,44,131,195,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,45,129, 82 248,45,131,195,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,46,129,
82 120,253,4,239,252,233,244,4,248,46,131,252,235,4,137,206,137,252,233,139, 83 120,253,4,239,252,233,244,4,248,47,131,252,235,4,137,206,137,252,233,139,
83 108,36,24,137,149,233,255,137,194,137,252,239,137,92,36,28,232,251,1,5,252, 84 108,36,24,137,149,233,255,137,194,137,252,239,137,92,36,28,232,251,1,5,252,
84 233,244,3,248,47,255,131,252,235,4,139,108,36,24,137,149,233,137,252,239, 85 233,244,3,248,48,255,131,252,235,4,139,108,36,24,137,149,233,137,252,239,
85 139,115,252,252,137,92,36,28,232,251,1,6,252,233,244,3,255,248,48,255,15, 86 139,115,252,252,137,92,36,28,232,251,1,6,252,233,244,3,255,248,49,255,15,
86 182,107,252,255,255,248,49,65,141,4,199,252,233,244,247,248,50,255,248,51, 87 182,107,252,255,255,248,50,65,141,4,199,252,233,244,247,248,51,255,248,52,
87 65,141,4,199,141,44,252,234,149,252,233,244,248,248,52,141,4,194,137,197, 88 65,141,4,199,141,44,252,234,149,252,233,244,248,248,53,141,4,194,137,197,
88 252,233,244,248,248,53,255,248,54,141,4,194,248,1,141,44,252,234,248,2,141, 89 252,233,244,248,248,54,255,248,55,141,4,194,248,1,141,44,252,234,248,2,141,
89 12,202,68,15,182,67,252,252,137,206,137,193,139,124,36,24,137,151,233,137, 90 12,202,68,15,182,67,252,252,137,206,137,193,139,124,36,24,137,151,233,137,
90 252,234,137,252,253,137,92,36,28,232,251,1,7,139,149,233,133,192,15,132,244, 91 252,234,137,252,253,137,92,36,28,232,251,1,7,139,149,233,133,192,15,132,244,
91 41,248,43,137,193,41,208,137,89,252,244,141,152,233,184,237,252,233,244,28, 92 42,248,44,137,193,41,208,137,89,252,244,141,152,233,184,237,252,233,244,28,
92 248,55,139,108,36,24,137,149,233,141,52,194,137,252,239,137,92,36,28,232, 93 248,56,139,108,36,24,137,149,233,141,52,194,137,252,239,137,92,36,28,232,
93 251,1,8,139,149,233,252,233,244,43,248,56,141,76,202,8,248,29,137,76,36,4, 94 251,1,8,139,149,233,252,233,244,44,248,57,141,76,202,8,248,29,137,76,36,4,
94 137,4,36,131,252,233,8,139,108,36,24,137,149,233,255,137,206,141,20,193,137, 95 137,4,36,131,252,233,8,139,108,36,24,137,149,233,255,137,206,141,20,193,137,
95 252,239,137,92,36,28,232,251,1,9,139,149,233,139,76,36,4,139,4,36,139,105, 96 252,239,137,92,36,28,232,251,1,9,139,149,233,139,76,36,4,139,4,36,139,105,
96 252,248,131,192,1,65,57,215,15,132,244,57,137,202,137,90,252,252,139,157, 97 252,248,131,192,1,65,57,215,15,132,244,58,137,202,137,90,252,252,139,157,
97 233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248, 98 233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248,
98 58,139,108,36,24,137,149,233,137,206,137,252,239,137,92,36,28,232,251,1,10, 99 59,139,108,36,24,137,149,233,137,206,137,252,239,137,92,36,28,232,251,1,10,
99 139,149,233,139,67,252,252,15,182,204,15,182,232,193,232,16,65,252,255,164, 100 139,149,233,139,67,252,252,15,182,204,15,182,232,193,232,16,65,252,255,164,
100 253,252,238,233,248,59,129,252,248,239,15,130,244,60,139,106,4,129,252,253, 101 253,252,238,233,248,60,129,252,248,239,15,130,244,61,139,106,4,129,252,253,
101 239,15,131,244,60,139,90,252,252,137,68,36,4,137,106,252,252,139,42,137,106, 102 239,15,131,244,61,139,90,252,252,137,68,36,4,137,106,252,252,139,42,137,106,
102 252,248,131,232,2,15,132,244,248,137,209,248,1,131,193,8,72,139,41,72,137, 103 252,248,131,232,2,15,132,244,248,137,209,248,1,131,193,8,72,139,41,72,137,
103 105,252,248,131,232,1,15,133,244,1,248,2,255,139,68,36,4,252,233,244,61,248, 104 105,252,248,131,232,1,15,133,244,1,248,2,255,139,68,36,4,252,233,244,62,248,
104 62,129,252,248,239,15,130,244,60,139,106,4,137,252,233,193,252,249,15,131, 105 63,129,252,248,239,15,130,244,61,139,106,4,137,252,233,193,252,249,15,131,
105 252,249,252,254,15,132,244,249,184,237,252,247,213,57,232,255,15,71,197,255, 106 252,249,252,254,15,132,244,249,184,237,252,247,213,57,232,255,15,71,197,255,
106 15,134,244,247,137,232,248,1,255,248,2,139,106,252,248,139,132,253,197,233, 107 15,134,244,247,137,232,248,1,255,248,2,139,106,252,248,139,132,253,197,233,
107 139,90,252,252,199,66,252,252,237,137,66,252,248,252,233,244,63,248,3,184, 108 139,90,252,252,199,66,252,252,237,137,66,252,248,252,233,244,64,248,3,184,
108 237,252,233,244,2,248,64,129,252,248,239,15,130,244,60,139,106,4,139,90,252, 109 237,252,233,244,2,248,65,129,252,248,239,15,130,244,61,139,106,4,139,90,252,
109 252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252, 110 252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,
110 237,199,66,252,252,237,255,15,132,244,63,65,139,134,233,199,66,252,252,237, 111 237,199,66,252,252,237,255,15,132,244,64,65,139,134,233,199,66,252,252,237,
111 137,106,252,248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185, 112 137,106,252,248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,
112 233,239,15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201, 113 233,239,15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,
113 15,133,244,3,255,252,233,244,63,248,5,139,105,4,129,252,253,239,15,132,244, 114 15,133,244,3,255,252,233,244,64,248,5,139,105,4,129,252,253,239,15,132,244,
114 63,139,1,137,106,252,252,137,66,252,248,252,233,244,63,248,6,129,252,253, 115 64,139,1,137,106,252,252,137,66,252,248,252,233,244,64,248,6,129,252,253,
115 239,15,132,244,1,129,252,253,239,15,135,244,254,129,252,253,239,15,134,244, 116 239,15,132,244,1,129,252,253,239,15,135,244,254,129,252,253,239,15,134,244,
116 253,189,237,252,233,244,254,248,7,255,189,237,248,8,252,247,213,65,139,172, 117 253,189,237,252,233,244,254,248,7,255,189,237,248,8,252,247,213,65,139,172,
117 253,174,233,252,233,244,2,248,65,129,252,248,239,15,130,244,60,129,122,253, 118 253,174,233,252,233,244,2,248,66,129,252,248,239,15,130,244,61,129,122,253,
118 4,239,15,133,244,60,139,42,131,189,233,0,15,133,244,60,129,122,253,12,239, 119 4,239,15,133,244,61,139,42,131,189,233,0,15,133,244,61,129,122,253,12,239,
119 15,133,244,60,139,66,8,137,133,233,139,90,252,252,199,66,252,252,237,255, 120 15,133,244,61,139,66,8,137,133,233,139,90,252,252,199,66,252,252,237,255,
120 137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,65,139, 121 137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,65,139,
121 134,233,65,137,174,233,137,133,233,248,1,252,233,244,63,248,66,129,252,248, 122 134,233,65,137,174,233,137,133,233,248,1,252,233,244,64,248,67,129,252,248,
122 239,15,130,244,60,129,122,253,4,239,15,133,244,60,137,213,139,50,141,82,8, 123 239,15,130,244,61,129,122,253,4,239,15,133,244,61,137,213,139,50,141,82,8,
123 139,124,36,24,232,251,1,11,137,252,234,72,139,40,139,90,252,252,72,137,106, 124 139,124,36,24,232,251,1,11,137,252,234,72,139,40,139,90,252,252,72,137,106,
124 252,248,252,233,244,63,248,67,255,129,252,248,239,15,133,244,60,129,122,253, 125 252,248,252,233,244,64,248,68,255,129,252,248,239,15,133,244,61,129,122,253,
125 4,239,255,15,133,244,247,139,42,252,233,244,68,248,1,15,135,244,60,255,15, 126 4,239,255,15,133,244,247,139,42,252,233,244,69,248,1,15,135,244,61,255,15,
126 131,244,60,255,252,242,15,16,2,252,233,244,69,255,221,2,252,233,244,70,255, 127 131,244,61,255,252,242,15,16,2,252,233,244,70,255,221,2,252,233,244,71,255,
127 248,71,129,252,248,239,15,130,244,60,139,90,252,252,129,122,253,4,239,15, 128 248,72,129,252,248,239,15,130,244,61,139,90,252,252,129,122,253,4,239,15,
128 133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244,63, 129 133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244,64,
129 248,3,129,122,253,4,239,15,135,244,60,65,131,190,233,0,15,133,244,60,65,139, 130 248,3,129,122,253,4,239,15,135,244,61,65,131,190,233,0,15,133,244,61,65,139,
130 174,233,65,59,174,233,255,15,130,244,247,232,244,72,248,1,139,108,36,24,137, 131 174,233,65,59,174,233,255,15,130,244,247,232,244,73,248,1,139,108,36,24,137,
131 149,233,137,92,36,28,137,214,137,252,239,255,232,251,1,12,255,232,251,1,13, 132 149,233,137,92,36,28,137,214,137,252,239,255,232,251,1,12,255,232,251,1,13,
132 255,139,149,233,252,233,244,2,248,73,129,252,248,239,15,130,244,60,15,132, 133 255,139,149,233,252,233,244,2,248,74,129,252,248,239,15,130,244,61,15,132,
133 244,248,248,1,129,122,253,4,239,15,133,244,60,139,108,36,24,137,149,233,137, 134 244,248,248,1,129,122,253,4,239,15,133,244,61,139,108,36,24,137,149,233,137,
134 149,233,139,90,252,252,139,50,141,82,8,137,252,239,137,92,36,28,232,251,1, 135 149,233,139,90,252,252,139,50,141,82,8,137,252,239,137,92,36,28,232,251,1,
135 14,139,149,233,133,192,15,132,244,249,72,139,106,8,72,139,66,16,72,137,106, 136 14,139,149,233,133,192,15,132,244,249,72,139,106,8,72,139,66,16,72,137,106,
136 252,248,72,137,2,248,74,184,237,255,252,233,244,75,248,2,199,66,12,237,252, 137 252,248,72,137,2,248,75,184,237,255,252,233,244,76,248,2,199,66,12,237,252,
137 233,244,1,248,3,199,66,252,252,237,252,233,244,63,248,76,129,252,248,239, 138 233,244,1,248,3,199,66,252,252,237,252,233,244,64,248,77,129,252,248,239,
138 15,130,244,60,139,42,129,122,253,4,239,15,133,244,60,255,131,189,233,0,15, 139 15,130,244,61,139,42,129,122,253,4,239,15,133,244,61,255,131,189,233,0,15,
139 133,244,60,255,139,106,252,248,139,133,233,139,90,252,252,199,66,252,252, 140 133,244,61,255,139,106,252,248,139,133,233,139,90,252,252,199,66,252,252,
140 237,137,66,252,248,199,66,12,237,184,237,252,233,244,75,248,77,129,252,248, 141 237,137,66,252,248,199,66,12,237,184,237,252,233,244,76,248,78,129,252,248,
141 239,15,130,244,60,129,122,253,4,239,15,133,244,60,129,122,253,12,239,255, 142 239,15,130,244,61,129,122,253,4,239,15,133,244,61,129,122,253,12,239,255,
142 139,90,252,252,255,139,66,8,131,192,1,199,66,252,252,237,137,66,252,248,255, 143 139,90,252,252,255,139,66,8,131,192,1,199,66,252,252,237,137,66,252,248,255,
143 252,242,15,16,66,8,72,189,237,237,102,72,15,110,205,252,242,15,88,193,252, 144 252,242,15,16,66,8,72,189,237,237,102,72,15,110,205,252,242,15,88,193,252,
144 242,15,45,192,252,242,15,17,66,252,248,255,139,42,59,133,233,15,131,244,248, 145 242,15,45,192,252,242,15,17,66,252,248,255,139,42,59,133,233,15,131,244,248,
145 193,224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,78,72,139,40,72,137, 146 193,224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,79,72,139,40,72,137,
146 42,252,233,244,74,248,2,131,189,233,0,15,132,244,78,137,252,239,137,213,137, 147 42,252,233,244,75,248,2,131,189,233,0,15,132,244,79,137,252,239,137,213,137,
147 198,232,251,1,15,137,252,234,133,192,15,133,244,1,248,78,184,237,252,233, 148 198,232,251,1,15,137,252,234,133,192,15,133,244,1,248,79,184,237,252,233,
148 244,75,248,79,255,139,106,252,248,139,133,233,139,90,252,252,199,66,252,252, 149 244,76,248,80,255,139,106,252,248,139,133,233,139,90,252,252,199,66,252,252,
149 237,137,66,252,248,255,199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242, 150 237,137,66,252,248,255,199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,
150 15,17,66,8,255,217,252,238,221,90,8,255,184,237,252,233,244,75,248,80,129, 151 15,17,66,8,255,217,252,238,221,90,8,255,184,237,252,233,244,76,248,81,129,
151 252,248,239,15,130,244,60,141,74,8,131,232,1,187,237,248,1,65,15,182,174, 152 252,248,239,15,130,244,61,141,74,8,131,232,1,187,237,248,1,65,15,182,174,
152 233,193,252,237,235,131,229,1,1,252,235,252,233,244,28,248,81,129,252,248, 153 233,193,252,237,235,131,229,1,1,252,235,252,233,244,28,248,82,129,252,248,
153 239,15,130,244,60,129,122,253,12,239,15,133,244,60,255,139,106,4,137,106, 154 239,15,130,244,61,129,122,253,12,239,15,133,244,61,255,139,106,4,137,106,
154 12,199,66,4,237,139,42,139,90,8,137,106,8,137,26,141,74,16,131,232,2,187, 155 12,199,66,4,237,139,42,139,90,8,137,106,8,137,26,141,74,16,131,232,2,187,
155 237,252,233,244,1,248,82,129,252,248,239,15,130,244,60,139,42,139,90,252, 156 237,252,233,244,1,248,83,129,252,248,239,15,130,244,61,139,42,139,90,252,
156 252,137,92,36,28,137,44,36,129,122,253,4,239,15,133,244,60,72,131,189,233, 157 252,137,92,36,28,137,44,36,129,122,253,4,239,15,133,244,61,72,131,189,233,
157 0,15,133,244,60,128,189,233,235,15,135,244,60,139,141,233,15,132,244,247, 158 0,15,133,244,61,128,189,233,235,15,135,244,61,139,141,233,15,132,244,247,
158 255,59,141,233,15,132,244,60,248,1,141,92,193,252,240,59,157,233,15,135,244, 159 255,59,141,233,15,132,244,61,248,1,141,92,193,252,240,59,157,233,15,135,244,
159 60,137,157,233,139,108,36,24,137,149,233,131,194,8,137,149,233,141,108,194, 160 61,137,157,233,139,108,36,24,137,149,233,131,194,8,137,149,233,141,108,194,
160 232,72,41,221,57,203,15,132,244,249,248,2,72,139,4,43,72,137,67,252,248,131, 161 232,72,41,221,57,203,15,132,244,249,248,2,72,139,4,43,72,137,67,252,248,131,
161 252,235,8,57,203,15,133,244,2,248,3,137,206,139,60,36,232,244,25,65,199,134, 162 252,235,8,57,203,15,133,244,2,248,3,137,206,139,60,36,232,244,25,65,199,134,
162 233,237,255,139,108,36,24,139,28,36,139,149,233,129,252,248,239,15,135,244, 163 233,237,255,139,108,36,24,139,28,36,139,149,233,129,252,248,239,15,135,244,
@@ -167,10 +168,10 @@ static const unsigned char build_actionlist[15992] = {
167 248,252,255,252,255,252,255,252,247,195,237,255,15,132,244,13,252,233,244, 168 248,252,255,252,255,252,255,252,247,195,237,255,15,132,244,13,252,233,244,
168 14,248,8,199,66,252,252,237,139,139,233,131,252,233,8,137,139,233,72,139, 169 14,248,8,199,66,252,252,237,139,139,233,131,252,233,8,137,139,233,72,139,
169 1,72,137,2,184,237,252,233,244,7,248,9,139,12,36,68,137,185,233,137,222,137, 170 1,72,137,2,184,237,252,233,244,7,248,9,139,12,36,68,137,185,233,137,222,137,
170 252,239,232,251,1,0,139,28,36,139,149,233,252,233,244,4,248,83,139,106,252, 171 252,239,232,251,1,0,139,28,36,139,149,233,252,233,244,4,248,84,139,106,252,
171 248,139,173,233,139,90,252,252,137,92,36,28,137,44,36,72,131,189,233,0,15, 172 248,139,173,233,139,90,252,252,137,92,36,28,137,44,36,72,131,189,233,0,15,
172 133,244,60,255,128,189,233,235,15,135,244,60,139,141,233,15,132,244,247,59, 173 133,244,61,255,128,189,233,235,15,135,244,61,139,141,233,15,132,244,247,59,
173 141,233,15,132,244,60,248,1,141,92,193,252,248,59,157,233,15,135,244,60,137, 174 141,233,15,132,244,61,248,1,141,92,193,252,248,59,157,233,15,135,244,61,137,
174 157,233,139,108,36,24,137,149,233,137,149,233,141,108,194,252,240,72,41,221, 175 157,233,139,108,36,24,137,149,233,137,149,233,141,108,194,252,240,72,41,221,
175 57,203,15,132,244,249,248,2,255,72,139,4,43,72,137,67,252,248,131,252,235, 176 57,203,15,132,244,249,248,2,255,72,139,4,43,72,137,67,252,248,131,252,235,
176 8,57,203,15,133,244,2,248,3,137,206,139,60,36,232,244,25,65,199,134,233,237, 177 8,57,203,15,133,244,2,248,3,137,206,139,60,36,232,244,25,65,199,134,233,237,
@@ -181,204 +182,204 @@ static const unsigned char build_actionlist[15992] = {
181 1,248,7,139,92,36,28,137,68,36,4,49,201,252,247,195,237,15,132,244,13,252, 182 1,248,7,139,92,36,28,137,68,36,4,49,201,252,247,195,237,15,132,244,13,252,
182 233,244,14,248,8,137,222,137,252,239,232,251,1,16,248,9,139,12,36,68,137, 183 233,244,14,248,8,137,222,137,252,239,232,251,1,16,248,9,139,12,36,68,137,
183 185,233,137,222,137,252,239,232,251,1,0,139,28,36,139,149,233,252,233,244, 184 185,233,137,222,137,252,239,232,251,1,0,139,28,36,139,149,233,252,233,244,
184 4,248,84,139,108,36,24,72,252,247,133,233,237,15,132,244,60,255,137,149,233, 185 4,248,85,139,108,36,24,72,252,247,133,233,237,15,132,244,61,255,137,149,233,
185 141,68,194,252,248,137,133,233,49,192,72,137,133,233,176,235,136,133,233, 186 141,68,194,252,248,137,133,233,49,192,72,137,133,233,176,235,136,133,233,
186 252,233,244,16,255,248,68,255,248,70,139,90,252,252,221,90,252,248,252,233, 187 252,233,244,16,255,248,69,255,248,71,139,90,252,252,221,90,252,248,252,233,
187 244,63,255,248,85,129,252,248,239,15,130,244,60,255,129,122,253,4,239,15, 188 244,64,255,248,86,129,252,248,239,15,130,244,61,255,129,122,253,4,239,15,
188 133,244,248,139,42,131,252,253,0,15,137,244,68,252,247,221,15,136,244,247, 189 133,244,248,139,42,131,252,253,0,15,137,244,69,252,247,221,15,136,244,247,
189 248,86,248,68,139,90,252,252,199,66,252,252,237,137,106,252,248,252,233,244, 190 248,87,248,69,139,90,252,252,199,66,252,252,237,137,106,252,248,252,233,244,
190 63,248,1,139,90,252,252,199,66,252,252,0,0,224,65,199,66,252,248,0,0,0,0, 191 64,248,1,139,90,252,252,199,66,252,252,0,0,224,65,199,66,252,248,0,0,0,0,
191 252,233,244,63,248,2,15,135,244,60,255,129,122,253,4,239,15,131,244,60,255, 192 252,233,244,64,248,2,15,135,244,61,255,129,122,253,4,239,15,131,244,61,255,
192 252,242,15,16,2,72,184,237,237,102,72,15,110,200,15,84,193,248,69,139,90, 193 252,242,15,16,2,72,184,237,237,102,72,15,110,200,15,84,193,248,70,139,90,
193 252,252,252,242,15,17,66,252,248,255,221,2,217,225,248,69,248,70,139,90,252, 194 252,252,252,242,15,17,66,252,248,255,221,2,217,225,248,70,248,71,139,90,252,
194 252,221,90,252,248,255,248,63,184,237,248,75,137,68,36,4,248,61,252,247,195, 195 252,221,90,252,248,255,248,64,184,237,248,76,137,68,36,4,248,62,252,247,195,
195 237,15,133,244,253,248,5,56,67,252,255,15,135,244,252,15,182,75,252,253,72, 196 237,15,133,244,253,248,5,56,67,252,255,15,135,244,252,15,182,75,252,253,72,
196 252,247,209,141,20,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, 197 252,247,209,141,20,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
197 252,255,36,252,238,248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248, 198 252,255,36,252,238,248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248,
198 7,72,199,193,252,248,252,255,252,255,252,255,252,233,244,14,248,87,255,129, 199 7,72,199,193,252,248,252,255,252,255,252,255,252,233,244,14,248,88,255,129,
199 122,253,4,239,15,133,244,247,139,42,252,233,244,68,248,1,15,135,244,60,255, 200 122,253,4,239,15,133,244,247,139,42,252,233,244,69,248,1,15,135,244,61,255,
200 252,242,15,16,2,232,244,88,255,252,242,15,45,232,129,252,253,0,0,0,128,15, 201 252,242,15,16,2,232,244,89,255,252,242,15,45,232,129,252,253,0,0,0,128,15,
201 133,244,68,252,242,15,42,205,102,15,46,193,15,138,244,69,15,132,244,68,255, 202 133,244,69,252,242,15,42,205,102,15,46,193,15,138,244,70,15,132,244,69,255,
202 221,2,232,244,88,255,248,89,255,252,242,15,16,2,232,244,90,255,221,2,232, 203 221,2,232,244,89,255,248,90,255,252,242,15,16,2,232,244,91,255,221,2,232,
203 244,90,255,248,91,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131, 204 244,91,255,248,92,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,
204 244,60,252,242,15,81,2,252,233,244,69,255,248,91,129,252,248,239,15,130,244, 205 244,61,252,242,15,81,2,252,233,244,70,255,248,92,129,252,248,239,15,130,244,
205 60,129,122,253,4,239,15,131,244,60,221,2,217,252,250,252,233,244,70,255,248, 206 61,129,122,253,4,239,15,131,244,61,221,2,217,252,250,252,233,244,71,255,248,
206 92,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,217,252, 207 93,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,217,252,
207 237,221,2,217,252,241,252,233,244,70,248,93,129,252,248,239,15,130,244,60, 208 237,221,2,217,252,241,252,233,244,71,248,94,129,252,248,239,15,130,244,61,
208 129,122,253,4,239,15,131,244,60,217,252,236,221,2,217,252,241,252,233,244, 209 129,122,253,4,239,15,131,244,61,217,252,236,221,2,217,252,241,252,233,244,
209 70,248,94,129,252,248,239,255,15,130,244,60,129,122,253,4,239,15,131,244, 210 71,248,95,129,252,248,239,255,15,130,244,61,129,122,253,4,239,15,131,244,
210 60,221,2,232,244,95,252,233,244,70,248,96,129,252,248,239,15,130,244,60,129, 211 61,221,2,232,244,96,252,233,244,71,248,97,129,252,248,239,15,130,244,61,129,
211 122,253,4,239,15,131,244,60,221,2,217,252,254,252,233,244,70,248,97,129,252, 212 122,253,4,239,15,131,244,61,221,2,217,252,254,252,233,244,71,248,98,129,252,
212 248,239,255,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,252,255, 213 248,239,255,15,130,244,61,129,122,253,4,239,15,131,244,61,221,2,217,252,255,
213 252,233,244,70,248,98,129,252,248,239,15,130,244,60,129,122,253,4,239,15, 214 252,233,244,71,248,99,129,252,248,239,15,130,244,61,129,122,253,4,239,15,
214 131,244,60,221,2,217,252,242,221,216,252,233,244,70,248,99,129,252,248,239, 215 131,244,61,221,2,217,252,242,221,216,252,233,244,71,248,100,129,252,248,239,
215 15,130,244,60,255,129,122,253,4,239,15,131,244,60,221,2,217,192,216,200,217, 216 15,130,244,61,255,129,122,253,4,239,15,131,244,61,221,2,217,192,216,200,217,
216 232,222,225,217,252,250,217,252,243,252,233,244,70,248,100,129,252,248,239, 217 232,222,225,217,252,250,217,252,243,252,233,244,71,248,101,129,252,248,239,
217 15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,192,216,200,217,232, 218 15,130,244,61,129,122,253,4,239,15,131,244,61,221,2,217,192,216,200,217,232,
218 222,225,217,252,250,217,201,217,252,243,252,233,244,70,248,101,129,252,248, 219 222,225,217,252,250,217,201,217,252,243,252,233,244,71,248,102,129,252,248,
219 239,15,130,244,60,129,122,253,4,239,15,131,244,60,255,221,2,217,232,217,252, 220 239,15,130,244,61,129,122,253,4,239,15,131,244,61,255,221,2,217,232,217,252,
220 243,252,233,244,70,255,248,102,129,252,248,239,15,130,244,60,129,122,253, 221 243,252,233,244,71,255,248,103,129,252,248,239,15,130,244,61,129,122,253,
221 4,239,15,131,244,60,252,242,15,16,2,255,137,213,232,251,1,17,137,252,234, 222 4,239,15,131,244,61,252,242,15,16,2,255,137,213,232,251,1,17,137,252,234,
222 252,233,244,69,255,248,103,129,252,248,239,15,130,244,60,129,122,253,4,239, 223 252,233,244,70,255,248,104,129,252,248,239,15,130,244,61,129,122,253,4,239,
223 15,131,244,60,252,242,15,16,2,255,137,213,232,251,1,18,137,252,234,252,233, 224 15,131,244,61,252,242,15,16,2,255,137,213,232,251,1,18,137,252,234,252,233,
224 244,69,255,248,104,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131, 225 244,70,255,248,105,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,
225 244,60,252,242,15,16,2,255,137,213,232,251,1,19,137,252,234,252,233,244,69, 226 244,61,252,242,15,16,2,255,137,213,232,251,1,19,137,252,234,252,233,244,70,
226 248,105,255,248,106,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131, 227 248,106,255,248,107,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,
227 244,60,252,242,15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,244, 228 244,61,252,242,15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,244,
228 69,255,248,106,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244, 229 70,255,248,107,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,
229 60,221,2,139,106,252,248,220,141,233,252,233,244,70,255,248,107,129,252,248, 230 61,221,2,139,106,252,248,220,141,233,252,233,244,71,255,248,108,129,252,248,
230 239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131, 231 239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,
231 244,60,221,2,221,66,8,217,252,243,252,233,244,70,248,108,129,252,248,239, 232 244,61,221,2,221,66,8,217,252,243,252,233,244,71,248,109,129,252,248,239,
232 15,130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,255,15,131, 233 15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,255,15,131,
233 244,60,221,66,8,221,2,217,252,253,221,217,252,233,244,70,248,109,129,252, 234 244,61,221,66,8,221,2,217,252,253,221,217,252,233,244,71,248,110,129,252,
234 248,239,15,130,244,60,139,106,4,129,252,253,239,15,131,244,60,139,90,252, 235 248,239,15,130,244,61,139,106,4,129,252,253,239,15,131,244,61,139,90,252,
235 252,139,2,137,106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,252, 236 252,139,2,137,106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,252,
236 255,15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0, 237 255,15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,
237 32,0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255, 238 32,0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,
238 137,44,36,219,4,36,255,139,106,252,252,129,229,252,255,252,255,15,128,129, 239 137,44,36,219,4,36,255,139,106,252,252,129,229,252,255,252,255,15,128,129,
239 205,0,0,224,63,137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255,184, 240 205,0,0,224,63,137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255,184,
240 237,252,233,244,75,248,3,255,15,87,192,252,233,244,2,255,217,252,238,252, 241 237,252,233,244,76,248,3,255,15,87,192,252,233,244,2,255,217,252,238,252,
241 233,244,2,255,248,4,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205, 242 233,244,2,255,248,4,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205,
242 252,242,15,89,193,252,242,15,17,66,252,248,255,221,2,199,4,36,0,0,128,90, 243 252,242,15,89,193,252,242,15,17,66,252,248,255,221,2,199,4,36,0,0,128,90,
243 216,12,36,221,90,252,248,255,139,106,252,252,184,52,4,0,0,209,229,252,233, 244 216,12,36,221,90,252,248,255,139,106,252,252,184,52,4,0,0,209,229,252,233,
244 244,1,255,248,110,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131, 245 244,1,255,248,111,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,
245 244,60,252,242,15,16,2,255,248,110,129,252,248,239,15,130,244,60,129,122, 246 244,61,252,242,15,16,2,255,248,111,129,252,248,239,15,130,244,61,129,122,
246 253,4,239,15,131,244,60,221,2,255,139,106,4,139,90,252,252,209,229,129,252, 247 253,4,239,15,131,244,61,221,2,255,139,106,4,139,90,252,252,209,229,129,252,
247 253,0,0,224,252,255,15,132,244,250,255,15,40,224,232,244,111,252,242,15,92, 248 253,0,0,224,252,255,15,132,244,250,255,15,40,224,232,244,112,252,242,15,92,
248 224,248,1,252,242,15,17,66,252,248,252,242,15,17,34,255,217,192,232,244,111, 249 224,248,1,252,242,15,17,66,252,248,252,242,15,17,34,255,217,192,232,244,112,
249 220,252,233,248,1,221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232, 250 220,252,233,248,1,221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232,
250 15,136,244,249,248,2,184,237,252,233,244,75,248,3,129,252,245,0,0,0,128,137, 251 15,136,244,249,248,2,184,237,252,233,244,76,248,3,129,252,245,0,0,0,128,137,
251 106,4,252,233,244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217, 252 106,4,252,233,244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,
252 201,252,233,244,1,255,248,112,129,252,248,239,15,130,244,60,129,122,253,4, 253 201,252,233,244,1,255,248,113,129,252,248,239,15,130,244,61,129,122,253,4,
253 239,15,131,244,60,129,122,253,12,239,15,131,244,60,221,66,8,221,2,248,1,217, 254 239,15,131,244,61,129,122,253,12,239,15,131,244,61,221,66,8,221,2,248,1,217,
254 252,248,223,224,158,15,138,244,1,221,217,252,233,244,70,255,248,113,129,252, 255 252,248,223,224,158,15,138,244,1,221,217,252,233,244,71,255,248,114,129,252,
255 248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239, 256 248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,
256 15,131,244,60,252,242,15,16,2,252,242,15,16,74,8,232,244,114,252,233,244, 257 15,131,244,61,252,242,15,16,2,252,242,15,16,74,8,232,244,115,252,233,244,
257 69,255,248,113,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244, 258 70,255,248,114,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,
258 60,129,122,253,12,239,15,131,244,60,221,2,221,66,8,232,244,114,252,233,244, 259 61,129,122,253,12,239,15,131,244,61,221,2,221,66,8,232,244,115,252,233,244,
259 70,255,248,115,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248, 260 71,255,248,116,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,
260 1,57,193,15,131,244,68,129,124,253,202,252,252,239,15,133,244,249,59,108, 261 1,57,193,15,131,244,69,129,124,253,202,252,252,239,15,133,244,249,59,108,
261 202,252,248,15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244, 262 202,252,248,15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,
262 60,255,252,233,244,252,248,4,15,135,244,60,255,252,242,15,16,2,248,5,57,193, 263 61,255,252,233,244,252,248,4,15,135,244,61,255,252,242,15,16,2,248,5,57,193,
263 15,131,244,69,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,60, 264 15,131,244,70,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,61,
264 252,242,15,42,76,202,252,248,252,233,244,253,255,248,6,252,242,15,16,76,202, 265 252,242,15,42,76,202,252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,
265 252,248,248,7,252,242,15,93,193,131,193,1,252,233,244,5,255,248,116,185,2, 266 252,248,248,7,252,242,15,93,193,131,193,1,252,233,244,5,255,248,117,185,2,
266 0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244, 267 0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,
267 68,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,76,108, 268 69,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,
268 202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,60,255,248,6,252,242, 269 202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,61,255,248,6,252,242,
269 15,16,76,202,252,248,248,7,252,242,15,95,193,131,193,1,252,233,244,5,255, 270 15,16,76,202,252,248,248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,
270 248,9,221,216,252,233,244,60,255,248,117,129,252,248,239,15,130,244,60,129, 271 248,9,221,216,252,233,244,61,255,248,118,129,252,248,239,15,130,244,61,129,
271 122,253,4,239,15,133,244,60,139,42,255,139,173,233,252,233,244,68,255,252, 272 122,253,4,239,15,133,244,61,139,42,255,139,173,233,252,233,244,69,255,252,
272 242,15,42,133,233,252,233,244,69,255,219,133,233,252,233,244,70,255,248,118, 273 242,15,42,133,233,252,233,244,70,255,219,133,233,252,233,244,71,255,248,119,
273 129,252,248,239,15,133,244,60,129,122,253,4,239,15,133,244,60,139,42,139, 274 129,252,248,239,15,133,244,61,129,122,253,4,239,15,133,244,61,139,42,139,
274 90,252,252,131,189,233,1,15,130,244,78,15,182,173,233,255,252,242,15,42,197, 275 90,252,252,131,189,233,1,15,130,244,79,15,182,173,233,255,252,242,15,42,197,
275 252,233,244,69,255,137,44,36,219,4,36,252,233,244,70,255,248,119,65,139,174, 276 252,233,244,70,255,137,44,36,219,4,36,252,233,244,71,255,248,120,65,139,174,
276 233,65,59,174,233,15,130,244,247,232,244,72,248,1,129,252,248,239,15,133, 277 233,65,59,174,233,15,130,244,247,232,244,73,248,1,129,252,248,239,15,133,
277 244,60,129,122,253,4,239,255,15,133,244,60,139,42,129,252,253,252,255,0,0, 278 244,61,129,122,253,4,239,255,15,133,244,61,139,42,129,252,253,252,255,0,0,
278 0,15,135,244,60,137,108,36,4,255,15,131,244,60,252,242,15,44,42,129,252,253, 279 0,15,135,244,61,137,108,36,4,255,15,131,244,61,252,242,15,44,42,129,252,253,
279 252,255,0,0,0,15,135,244,60,137,108,36,4,255,15,131,244,60,221,2,219,92,36, 280 252,255,0,0,0,15,135,244,61,137,108,36,4,255,15,131,244,61,221,2,219,92,36,
280 4,129,124,36,4,252,255,0,0,0,15,135,244,60,255,199,68,36,8,1,0,0,0,72,141, 281 4,129,124,36,4,252,255,0,0,0,15,135,244,61,255,199,68,36,8,1,0,0,0,72,141,
281 68,36,4,248,120,139,108,36,24,137,149,233,139,84,36,8,72,137,198,137,252, 282 68,36,4,248,121,139,108,36,24,137,149,233,139,84,36,8,72,137,198,137,252,
282 239,137,92,36,28,232,251,1,20,139,149,233,139,90,252,252,199,66,252,252,237, 283 239,137,92,36,28,232,251,1,20,139,149,233,139,90,252,252,199,66,252,252,237,
283 137,66,252,248,252,233,244,63,248,121,65,139,174,233,65,59,174,233,15,130, 284 137,66,252,248,252,233,244,64,248,122,65,139,174,233,65,59,174,233,15,130,
284 244,247,232,244,72,248,1,199,68,36,4,252,255,252,255,252,255,252,255,129, 285 244,247,232,244,73,248,1,199,68,36,4,252,255,252,255,252,255,252,255,129,
285 252,248,239,15,130,244,60,15,134,244,247,129,122,253,20,239,255,15,133,244, 286 252,248,239,15,130,244,61,15,134,244,247,129,122,253,20,239,255,15,133,244,
286 60,139,106,16,137,108,36,4,255,15,131,244,60,252,242,15,44,106,16,137,108, 287 61,139,106,16,137,108,36,4,255,15,131,244,61,252,242,15,44,106,16,137,108,
287 36,4,255,15,131,244,60,221,66,16,219,92,36,4,255,248,1,129,122,253,4,239, 288 36,4,255,15,131,244,61,221,66,16,219,92,36,4,255,248,1,129,122,253,4,239,
288 15,133,244,60,129,122,253,12,239,255,139,42,137,108,36,8,139,173,233,255, 289 15,133,244,61,129,122,253,12,239,255,139,42,137,108,36,8,139,173,233,255,
289 139,74,8,255,252,242,15,44,74,8,255,139,68,36,4,57,197,15,130,244,251,248, 290 139,74,8,255,252,242,15,44,74,8,255,139,68,36,4,57,197,15,130,244,251,248,
290 2,133,201,15,142,244,253,248,3,139,108,36,8,41,200,15,140,244,122,141,172, 291 2,133,201,15,142,244,253,248,3,139,108,36,8,41,200,15,140,244,123,141,172,
291 253,13,233,131,192,1,248,4,137,68,36,8,137,232,252,233,244,120,248,5,15,140, 292 253,13,233,131,192,1,248,4,137,68,36,8,137,232,252,233,244,121,248,5,15,140,
292 244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15, 293 244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,
293 132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244, 294 132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,
294 3,248,122,49,192,252,233,244,4,248,123,129,252,248,239,15,130,244,60,65,139, 295 3,248,123,49,192,252,233,244,4,248,124,129,252,248,239,15,130,244,61,65,139,
295 174,233,65,59,174,233,15,130,244,247,232,244,72,248,1,255,129,122,253,4,239, 296 174,233,65,59,174,233,15,130,244,247,232,244,73,248,1,255,129,122,253,4,239,
296 15,133,244,60,129,122,253,12,239,139,42,255,15,133,244,60,139,66,8,255,15, 297 15,133,244,61,129,122,253,12,239,139,42,255,15,133,244,61,139,66,8,255,15,
297 131,244,60,252,242,15,44,66,8,255,15,131,244,60,221,66,8,219,92,36,4,139, 298 131,244,61,252,242,15,44,66,8,255,15,131,244,61,221,66,8,219,92,36,4,139,
298 68,36,4,255,133,192,15,142,244,122,131,189,233,1,15,130,244,122,15,133,244, 299 68,36,4,255,133,192,15,142,244,123,131,189,233,1,15,130,244,123,15,133,244,
299 124,65,57,134,233,15,130,244,124,15,182,141,233,65,139,174,233,137,68,36, 300 125,65,57,134,233,15,130,244,125,15,182,141,233,65,139,174,233,137,68,36,
300 8,248,1,136,77,0,131,197,1,131,232,1,15,133,244,1,65,139,134,233,252,233, 301 8,248,1,136,77,0,131,197,1,131,232,1,15,133,244,1,65,139,134,233,252,233,
301 244,120,248,125,129,252,248,239,255,15,130,244,60,65,139,174,233,65,59,174, 302 244,121,248,126,129,252,248,239,255,15,130,244,61,65,139,174,233,65,59,174,
302 233,15,130,244,247,232,244,72,248,1,129,122,253,4,239,15,133,244,60,139,42, 303 233,15,130,244,247,232,244,73,248,1,129,122,253,4,239,15,133,244,61,139,42,
303 139,133,233,133,192,15,132,244,122,65,57,134,233,15,130,244,126,129,197,239, 304 139,133,233,133,192,15,132,244,123,65,57,134,233,15,130,244,127,129,197,239,
304 137,92,36,4,137,68,36,8,65,139,158,233,248,1,255,15,182,77,0,131,197,1,131, 305 137,92,36,4,137,68,36,8,65,139,158,233,248,1,255,15,182,77,0,131,197,1,131,
305 232,1,136,12,3,15,133,244,1,137,216,139,92,36,4,252,233,244,120,248,127,129, 306 232,1,136,12,3,15,133,244,1,137,216,139,92,36,4,252,233,244,121,248,128,129,
306 252,248,239,15,130,244,60,65,139,174,233,65,59,174,233,15,130,244,247,232, 307 252,248,239,15,130,244,61,65,139,174,233,65,59,174,233,15,130,244,247,232,
307 244,72,248,1,129,122,253,4,239,15,133,244,60,139,42,139,133,233,65,57,134, 308 244,73,248,1,129,122,253,4,239,15,133,244,61,139,42,139,133,233,65,57,134,
308 233,255,15,130,244,126,129,197,239,137,92,36,4,137,68,36,8,65,139,158,233, 309 233,255,15,130,244,127,129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,
309 252,233,244,249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248,131,252, 310 252,233,244,249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,
310 249,90,15,135,244,248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137, 311 249,90,15,135,244,248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,
311 244,1,137,216,139,92,36,4,252,233,244,120,248,128,129,252,248,239,15,130, 312 244,1,137,216,139,92,36,4,252,233,244,121,248,129,129,252,248,239,15,130,
312 244,60,255,65,139,174,233,65,59,174,233,15,130,244,247,232,244,72,248,1,129, 313 244,61,255,65,139,174,233,65,59,174,233,15,130,244,247,232,244,73,248,1,129,
313 122,253,4,239,15,133,244,60,139,42,139,133,233,65,57,134,233,15,130,244,126, 314 122,253,4,239,15,133,244,61,139,42,139,133,233,65,57,134,233,15,130,244,127,
314 129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,252,233,244,249,248,1, 315 129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,252,233,244,249,248,1,
315 15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,122,15,135,244, 316 15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,122,15,135,244,
316 248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,137,216,139, 317 248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,137,216,139,
317 92,36,4,252,233,244,120,248,129,129,252,248,239,15,130,244,60,129,122,253, 318 92,36,4,252,233,244,121,248,130,129,252,248,239,15,130,244,61,129,122,253,
318 4,239,15,133,244,60,137,213,139,58,232,251,1,21,137,252,234,255,137,197,252, 319 4,239,15,133,244,61,137,213,139,58,232,251,1,21,137,252,234,255,137,197,252,
319 233,244,68,255,252,242,15,42,192,252,233,244,69,255,248,130,129,122,253,4, 320 233,244,69,255,252,242,15,42,192,252,233,244,70,255,248,131,129,122,253,4,
320 239,255,15,133,244,247,139,42,252,233,244,86,248,1,15,135,244,60,255,252, 321 239,255,15,133,244,247,139,42,252,233,244,87,248,1,15,135,244,61,255,252,
321 242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126, 322 242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,
322 197,255,252,233,244,86,255,248,131,255,72,189,237,237,102,72,15,110,205,255, 323 197,255,252,233,244,87,255,248,132,255,72,189,237,237,102,72,15,110,205,255,
323 199,4,36,0,0,192,89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135, 324 199,4,36,0,0,192,89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,
324 244,60,255,252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137, 325 244,61,255,252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,
325 68,36,4,141,68,194,252,240,248,1,57,208,15,134,244,86,129,120,253,4,239,255, 326 68,36,4,141,68,194,252,240,248,1,57,208,15,134,244,87,129,120,253,4,239,255,
326 15,133,244,248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,132,255,15, 327 15,133,244,248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,133,255,15,
327 131,244,132,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255, 328 131,244,133,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,
328 131,232,8,252,233,244,1,248,133,255,15,133,244,248,11,40,131,232,8,252,233, 329 131,232,8,252,233,244,1,248,134,255,15,133,244,248,11,40,131,232,8,252,233,
329 244,1,248,2,15,135,244,132,255,252,242,15,16,0,252,242,15,88,193,102,15,126, 330 244,1,248,2,15,135,244,133,255,252,242,15,16,0,252,242,15,88,193,102,15,126,
330 193,9,205,255,131,232,8,252,233,244,1,248,134,255,15,133,244,248,51,40,131, 331 193,9,205,255,131,232,8,252,233,244,1,248,135,255,15,133,244,248,51,40,131,
331 232,8,252,233,244,1,248,2,15,135,244,132,255,252,242,15,16,0,252,242,15,88, 332 232,8,252,233,244,1,248,2,15,135,244,133,255,252,242,15,16,0,252,242,15,88,
332 193,102,15,126,193,49,205,255,131,232,8,252,233,244,1,248,135,129,122,253, 333 193,102,15,126,193,49,205,255,131,232,8,252,233,244,1,248,136,129,122,253,
333 4,239,255,248,2,15,205,252,233,244,86,248,136,129,122,253,4,239,255,248,2, 334 4,239,255,248,2,15,205,252,233,244,87,248,137,129,122,253,4,239,255,248,2,
334 252,247,213,255,248,86,252,242,15,42,197,252,233,244,69,255,248,132,139,68, 335 252,247,213,255,248,87,252,242,15,42,197,252,233,244,70,255,248,133,139,68,
335 36,4,252,233,244,60,255,248,137,129,122,253,4,239,255,248,2,129,122,253,12, 336 36,4,252,233,244,61,255,248,138,129,122,253,4,239,255,248,2,129,122,253,12,
336 239,15,133,244,60,139,74,8,255,248,137,129,252,248,239,15,130,244,60,129, 337 239,15,133,244,61,139,74,8,255,248,138,129,252,248,239,15,130,244,61,129,
337 122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16, 338 122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,
338 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 339 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
339 242,15,88,202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,86,255, 340 242,15,88,202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,87,255,
340 248,138,129,122,253,4,239,255,248,138,129,252,248,239,15,130,244,60,129,122, 341 248,139,129,122,253,4,239,255,248,139,129,252,248,239,15,130,244,61,129,122,
341 253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,2, 342 253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,2,
342 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 343 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
343 242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,237,252,233,244,86, 344 242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,237,252,233,244,87,
344 255,248,139,129,122,253,4,239,255,248,139,129,252,248,239,15,130,244,60,129, 345 255,248,140,129,122,253,4,239,255,248,140,129,252,248,239,15,130,244,61,129,
345 122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16, 346 122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,
346 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 347 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
347 242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,253,252,233,244,86, 348 242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,253,252,233,244,87,
348 255,248,140,129,122,253,4,239,255,248,140,129,252,248,239,15,130,244,60,129, 349 255,248,141,129,122,253,4,239,255,248,141,129,252,248,239,15,130,244,61,129,
349 122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16, 350 122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,
350 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 351 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
351 242,15,88,202,102,15,126,197,102,15,126,201,255,211,197,252,233,244,86,255, 352 242,15,88,202,102,15,126,197,102,15,126,201,255,211,197,252,233,244,87,255,
352 248,141,129,122,253,4,239,255,248,141,129,252,248,239,15,130,244,60,129,122, 353 248,142,129,122,253,4,239,255,248,142,129,252,248,239,15,130,244,61,129,122,
353 253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,2, 354 253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,2,
354 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 355 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
355 242,15,88,202,102,15,126,197,102,15,126,201,255,211,205,252,233,244,86,248, 356 242,15,88,202,102,15,126,197,102,15,126,201,255,211,205,252,233,244,87,248,
356 124,184,237,252,233,244,60,248,126,184,237,248,60,139,108,36,24,139,90,252, 357 125,184,237,252,233,244,61,248,127,184,237,248,61,139,108,36,24,139,90,252,
357 252,137,92,36,28,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139, 358 252,137,92,36,28,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139,
358 66,252,248,59,141,233,15,135,244,251,137,252,239,252,255,144,233,139,149, 359 66,252,248,59,141,233,15,135,244,251,137,252,239,252,255,144,233,139,149,
359 233,133,192,15,143,244,75,248,1,255,139,141,233,41,209,193,252,233,3,133, 360 233,133,192,15,143,244,76,248,1,255,139,141,233,41,209,193,252,233,3,133,
360 192,141,65,1,139,106,252,248,15,133,244,248,139,157,233,139,11,15,182,252, 361 192,141,65,1,139,106,252,248,15,133,244,32,139,157,233,139,11,15,182,252,
361 233,15,182,205,131,195,4,65,252,255,36,252,238,248,2,137,209,252,247,195, 362 233,15,182,205,131,195,4,65,252,255,36,252,238,248,32,137,209,252,247,195,
362 237,15,133,244,249,15,182,107,252,253,72,252,247,213,141,20,252,234,252,233, 363 237,15,133,244,249,15,182,107,252,253,72,252,247,213,141,20,252,234,252,233,
363 244,28,248,3,137,221,131,229,252,248,41,252,234,252,233,244,28,248,5,190, 364 244,28,248,3,137,221,131,229,252,248,41,252,234,252,233,244,28,248,5,190,
364 237,137,252,239,232,251,1,0,139,149,233,49,192,252,233,244,1,248,72,93,72, 365 237,137,252,239,232,251,1,0,139,149,233,49,192,252,233,244,1,248,73,93,72,
365 137,108,36,8,139,108,36,24,137,92,36,28,137,149,233,255,141,68,194,252,248, 366 137,108,36,8,139,108,36,24,137,92,36,28,137,149,233,255,141,68,194,252,248,
366 137,252,239,137,133,233,232,251,1,22,139,149,233,139,133,233,41,208,193,232, 367 137,252,239,137,133,233,232,251,1,22,139,149,233,139,133,233,41,208,193,232,
367 3,131,192,1,72,139,108,36,8,85,195,248,142,255,65,15,182,134,233,168,235, 368 3,131,192,1,72,139,108,36,8,85,195,248,143,255,65,15,182,134,233,168,235,
368 15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,65,252,255,142, 369 15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,65,252,255,142,
369 233,252,233,244,247,255,248,143,65,15,182,134,233,168,235,15,133,244,251, 370 233,252,233,244,247,255,248,144,65,15,182,134,233,168,235,15,133,244,251,
370 252,233,244,247,248,144,65,15,182,134,233,168,235,15,133,244,251,168,235, 371 252,233,244,247,248,145,65,15,182,134,233,168,235,15,133,244,251,168,235,
371 15,132,244,251,65,252,255,142,233,15,132,244,247,168,235,15,132,244,251,248, 372 15,132,244,251,65,252,255,142,233,15,132,244,247,168,235,15,132,244,251,248,
372 1,255,139,108,36,24,137,149,233,137,222,137,252,239,232,251,1,23,248,3,139, 373 1,255,139,108,36,24,137,149,233,137,222,137,252,239,232,251,1,23,248,3,139,
373 149,233,248,4,15,182,75,252,253,248,5,15,182,107,252,252,15,183,67,252,254, 374 149,233,248,4,15,182,75,252,253,248,5,15,182,107,252,252,15,183,67,252,254,
374 65,252,255,164,253,252,238,233,248,145,131,195,4,139,77,232,137,76,36,4,252, 375 65,252,255,164,253,252,238,233,248,146,131,195,4,139,77,232,137,76,36,4,252,
375 233,244,4,248,146,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194, 376 233,244,4,248,147,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,
376 139,108,36,24,137,149,233,137,133,233,137,222,65,141,190,233,73,137,174,233, 377 139,108,36,24,137,149,233,137,133,233,137,222,65,141,190,233,73,137,174,233,
377 137,92,36,28,232,251,1,24,252,233,244,3,255,248,147,137,92,36,28,255,248, 378 137,92,36,28,232,251,1,24,252,233,244,3,255,248,148,137,92,36,28,255,248,
378 148,255,137,92,36,28,131,203,1,248,1,255,141,68,194,252,248,139,108,36,24, 379 149,255,137,92,36,28,131,203,1,248,1,255,141,68,194,252,248,139,108,36,24,
379 137,149,233,137,133,233,137,222,137,252,239,232,251,1,25,199,68,36,28,0,0, 380 137,149,233,137,133,233,137,222,137,252,239,232,251,1,25,199,68,36,28,0,0,
380 0,0,255,131,227,252,254,255,139,149,233,72,137,193,139,133,233,41,208,72, 381 0,0,255,131,227,252,254,255,139,149,233,72,137,193,139,133,233,41,208,72,
381 137,205,15,182,75,252,253,193,232,3,131,192,1,252,255,229,248,149,255,65, 382 137,205,15,182,75,252,253,193,232,3,131,192,1,252,255,229,248,150,255,65,
382 85,65,84,65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80, 383 85,65,84,65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80,
383 15,182,69,252,248,138,101,252,240,76,137,125,252,248,76,137,117,252,240,68, 384 15,182,69,252,248,138,101,252,240,76,137,125,252,248,76,137,117,252,240,68,
384 139,117,0,65,139,142,233,65,199,134,233,237,65,137,134,233,65,137,142,233, 385 139,117,0,65,139,142,233,65,199,134,233,237,65,137,134,233,65,137,142,233,
@@ -390,30 +391,30 @@ static const unsigned char build_actionlist[15992] = {
390 15,17,77,136,252,242,15,17,69,128,65,139,174,233,65,139,150,233,73,137,174, 391 15,17,77,136,252,242,15,17,69,128,65,139,174,233,65,139,150,233,73,137,174,
391 233,65,199,134,233,0,0,0,0,137,149,233,72,137,230,65,141,190,233,232,251, 392 233,65,199,134,233,0,0,0,0,137,149,233,72,137,230,65,141,190,233,232,251,
392 1,26,72,139,141,233,72,129,225,239,72,137,204,137,169,233,139,149,233,139, 393 1,26,72,139,141,233,72,129,225,239,72,137,204,137,169,233,139,149,233,139,
393 153,233,252,233,244,247,255,248,150,255,72,131,196,16,248,1,76,139,108,36, 394 153,233,252,233,244,247,255,248,151,255,72,131,196,16,248,1,76,139,108,36,
394 8,76,139,36,36,133,192,15,136,244,249,137,68,36,4,68,139,122,252,248,69,139, 395 8,76,139,36,36,133,192,15,136,244,249,137,68,36,4,68,139,122,252,248,69,139,
395 191,233,69,139,191,233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15, 396 191,233,69,139,191,233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,
396 182,204,15,182,232,131,195,4,193,232,16,129,252,253,239,15,130,244,248,139, 397 182,204,15,182,232,131,195,4,193,232,16,129,252,253,239,15,130,244,248,139,
397 68,36,4,248,2,65,252,255,36,252,238,248,3,252,247,216,137,252,239,137,198, 398 68,36,4,248,2,65,252,255,36,252,238,248,3,252,247,216,137,252,239,137,198,
398 232,251,1,1,255,248,88,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68, 399 232,251,1,1,255,248,89,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,
399 36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217, 400 36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,
400 108,36,4,139,68,36,8,195,255,248,151,72,184,237,237,102,72,15,110,208,72, 401 108,36,4,139,68,36,8,195,255,248,152,72,184,237,237,102,72,15,110,208,72,
401 184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134, 402 184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,
402 244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72, 403 244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,
403 184,237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242, 404 184,237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,
404 15,92,200,15,40,193,248,1,195,248,90,255,217,124,36,4,137,68,36,8,102,184, 405 15,92,200,15,40,193,248,1,195,248,91,255,217,124,36,4,137,68,36,8,102,184,
405 0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217, 406 0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,
406 252,252,217,108,36,4,139,68,36,8,195,255,248,152,72,184,237,237,102,72,15, 407 252,252,217,108,36,4,139,68,36,8,195,255,248,153,72,184,237,237,102,72,15,
407 110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46, 408 110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,
408 217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102, 409 217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,
409 15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84, 410 15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,
410 194,252,242,15,92,200,15,40,193,248,1,195,248,111,255,217,124,36,4,137,68, 411 194,252,242,15,92,200,15,40,193,248,1,195,248,112,255,217,124,36,4,137,68,
411 36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252, 412 36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,
412 217,108,36,4,139,68,36,8,195,255,248,153,72,184,237,237,102,72,15,110,208, 413 217,108,36,4,139,68,36,8,195,255,248,154,72,184,237,237,102,72,15,110,208,
413 72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15, 414 72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,
414 134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72, 415 134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,
415 184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242, 416 184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,
416 15,92,200,102,15,86,202,15,40,193,248,1,195,248,154,255,15,40,232,252,242, 417 15,92,200,102,15,86,202,15,40,193,248,1,195,248,155,255,15,40,232,252,242,
417 15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216, 418 15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,
418 15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242, 419 15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,
419 15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208, 420 15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,
@@ -421,12 +422,12 @@ static const unsigned char build_actionlist[15992] = {
421 89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15, 422 89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,
422 92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36, 423 92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,
423 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108, 424 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,
424 36,4,222,201,222,252,233,195,255,248,95,217,252,234,222,201,248,155,217,84, 425 36,4,222,201,222,252,233,195,255,248,96,217,252,234,222,201,248,156,217,84,
425 36,252,248,129,124,36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248, 426 36,252,248,129,124,36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248,
426 0,0,128,252,255,15,132,244,248,248,156,217,192,217,252,252,220,252,233,217, 427 0,0,128,252,255,15,132,244,248,248,157,217,192,217,252,252,220,252,233,217,
427 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216, 428 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,
428 217,252,238,195,255,248,114,255,248,157,252,242,15,45,193,252,242,15,42,208, 429 217,252,238,195,255,248,115,255,248,158,252,242,15,45,193,252,242,15,42,208,
429 102,15,46,202,15,133,244,254,15,138,244,255,248,158,131,252,248,1,15,142, 430 102,15,46,202,15,133,244,254,15,138,244,255,248,159,131,252,248,1,15,142,
430 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233, 431 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,
431 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209, 432 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,
432 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4, 433 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,
@@ -444,27 +445,27 @@ static const unsigned char build_actionlist[15992] = {
444 1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72, 445 1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,
445 184,237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133, 446 184,237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,
446 244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195, 447 244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,
447 248,159,255,131,252,255,1,15,130,244,88,15,132,244,90,131,252,255,3,15,130, 448 248,160,255,131,252,255,1,15,130,244,89,15,132,244,91,131,252,255,3,15,130,
448 244,111,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252, 449 244,112,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252,
449 248,221,68,36,252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244, 450 248,221,68,36,252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244,
450 95,252,233,244,253,248,1,232,244,155,255,252,233,244,253,248,2,131,252,255, 451 96,252,233,244,253,248,1,232,244,156,255,252,233,244,253,248,2,131,252,255,
451 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244, 452 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,
452 253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9, 453 253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9,
453 15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244, 454 15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,
454 253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244, 455 253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244,
455 247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216, 456 247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,
456 248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12, 457 248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12,
457 221,68,36,4,131,252,255,1,15,130,244,88,15,132,244,90,131,252,255,3,15,130, 458 221,68,36,4,131,252,255,1,15,130,244,89,15,132,244,91,131,252,255,3,15,130,
458 244,111,15,135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,95, 459 244,112,15,135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,96,
459 15,132,244,155,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217, 460 15,132,244,156,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217,
460 201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255, 461 201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255,
461 9,15,132,244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248, 462 9,15,132,244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,
462 1,217,252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217, 463 1,217,252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,
463 252,255,195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,160,255,131, 464 252,255,195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,161,255,131,
464 252,255,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242, 465 252,255,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,
465 15,92,193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15, 466 15,92,193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15,
466 89,193,195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,154, 467 89,193,195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,155,
467 15,132,244,114,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237, 468 15,132,244,115,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237,
468 255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200, 469 255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,
469 15,84,193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252, 470 15,84,193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252,
470 248,252,242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132, 471 248,252,242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132,
@@ -474,14 +475,14 @@ static const unsigned char build_actionlist[15992] = {
474 248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132, 475 248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,
475 244,247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248, 476 244,247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,
476 3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131, 477 3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131,
477 252,248,5,15,130,244,154,15,132,244,114,131,252,248,7,15,132,244,247,15,135, 478 252,248,5,15,130,244,155,15,132,244,115,131,252,248,7,15,132,244,247,15,135,
478 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248, 479 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,
479 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253, 480 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,
480 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252, 481 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,
481 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225, 482 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,
482 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221, 483 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,
483 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248, 484 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,
484 161,137,252,248,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,195,248,162, 485 162,137,252,248,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,195,248,163,
485 255,85,72,137,229,83,72,137,252,251,139,131,233,72,41,196,255,15,182,139, 486 255,85,72,137,229,83,72,137,252,251,139,131,233,72,41,196,255,15,182,139,
486 233,131,252,233,1,15,136,244,248,248,1,72,139,132,253,203,233,72,137,132, 487 233,131,252,233,1,15,136,244,248,248,1,72,139,132,253,203,233,72,137,132,
487 253,204,233,131,252,233,1,15,137,244,1,248,2,15,182,131,233,72,139,187,233, 488 253,204,233,131,252,233,1,15,137,244,1,248,2,15,182,131,233,72,139,187,233,
@@ -489,17 +490,17 @@ static const unsigned char build_actionlist[15992] = {
489 133,192,15,132,244,251,15,40,131,233,15,40,139,233,255,15,40,147,233,15,40, 490 133,192,15,132,244,251,15,40,131,233,15,40,139,233,255,15,40,147,233,15,40,
490 155,233,131,252,248,4,15,134,244,251,15,40,163,233,15,40,171,233,15,40,179, 491 155,233,131,252,248,4,15,134,244,251,15,40,163,233,15,40,171,233,15,40,179,
491 233,15,40,187,233,248,5,252,255,147,233,72,137,131,233,15,41,131,233,72,137, 492 233,15,40,187,233,248,5,252,255,147,233,72,137,131,233,15,41,131,233,72,137,
492 147,233,15,41,139,233,255,72,139,93,252,248,201,195,255,248,163,255,249,255, 493 147,233,15,41,139,233,255,72,139,93,252,248,201,195,255,248,164,255,249,255,
493 129,124,253,202,4,239,15,133,244,253,129,124,253,194,4,239,15,133,244,254, 494 129,124,253,202,4,239,15,133,244,253,129,124,253,194,4,239,15,133,244,254,
494 139,44,202,131,195,4,59,44,194,255,15,141,244,255,255,15,140,244,255,255, 495 139,44,202,131,195,4,59,44,194,255,15,141,244,255,255,15,140,244,255,255,
495 15,143,244,255,255,15,142,244,255,255,248,6,15,183,67,252,254,141,156,253, 496 15,143,244,255,255,15,142,244,255,255,248,6,15,183,67,252,254,141,156,253,
496 131,233,248,9,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255, 497 131,233,248,9,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,
497 36,252,238,248,7,15,135,244,42,129,124,253,194,4,239,15,130,244,247,15,133, 498 36,252,238,248,7,15,135,244,43,129,124,253,194,4,239,15,130,244,247,15,133,
498 244,42,255,252,242,15,42,4,194,252,233,244,248,255,221,4,202,219,4,194,252, 499 244,43,255,252,242,15,42,4,194,252,233,244,248,255,221,4,202,219,4,194,252,
499 233,244,249,255,248,8,15,135,244,42,255,252,242,15,42,12,202,252,242,15,16, 500 233,244,249,255,248,8,15,135,244,43,255,252,242,15,42,12,202,252,242,15,16,
500 4,194,131,195,4,102,15,46,193,255,15,134,244,9,255,15,135,244,9,255,15,130, 501 4,194,131,195,4,102,15,46,193,255,15,134,244,9,255,15,135,244,9,255,15,130,
501 244,9,255,15,131,244,9,255,252,233,244,6,255,219,4,202,252,233,244,248,255, 502 244,9,255,15,131,244,9,255,252,233,244,6,255,219,4,202,252,233,244,248,255,
502 129,124,253,202,4,239,15,131,244,42,129,124,253,194,4,239,15,131,244,42,255, 503 129,124,253,202,4,239,15,131,244,43,129,124,253,194,4,239,15,131,244,43,255,
503 248,1,252,242,15,16,4,194,248,2,131,195,4,102,15,46,4,202,248,3,255,248,1, 504 248,1,252,242,15,16,4,194,248,2,131,195,4,102,15,46,4,202,248,3,255,248,1,
504 221,4,202,248,2,221,4,194,248,3,131,195,4,255,223,252,233,221,216,255,218, 505 221,4,202,248,2,221,4,194,248,3,131,195,4,255,223,252,233,221,216,255,218,
505 252,233,223,224,158,255,15,134,244,247,255,15,135,244,247,255,15,130,244, 506 252,233,223,224,158,255,15,134,244,247,255,15,135,244,247,255,15,130,244,
@@ -517,11 +518,11 @@ static const unsigned char build_actionlist[15992] = {
517 248,4,255,15,138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247, 518 248,4,255,15,138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,
518 255,248,1,15,183,67,252,254,141,156,253,131,233,248,2,255,248,2,15,183,67, 519 255,248,1,15,183,67,252,254,141,156,253,131,233,248,2,255,248,2,15,183,67,
519 252,254,141,156,253,131,233,248,1,255,252,233,244,9,255,248,5,255,129,252, 520 252,254,141,156,253,131,233,248,1,255,252,233,244,9,255,248,5,255,129,252,
520 253,239,15,132,244,47,129,124,253,202,4,239,15,132,244,47,255,57,108,202, 521 253,239,15,132,244,48,129,124,253,202,4,239,15,132,244,48,255,57,108,202,
521 4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15, 522 4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,
522 132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244, 523 132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244,
523 2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252, 524 2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252,
524 233,244,46,255,248,3,129,252,253,239,255,15,133,244,9,255,252,233,244,47, 525 233,244,47,255,248,3,129,252,253,239,255,15,133,244,9,255,252,233,244,48,
525 255,72,252,247,208,139,108,202,4,131,195,4,129,252,253,239,15,133,244,249, 526 255,72,252,247,208,139,108,202,4,131,195,4,129,252,253,239,15,133,244,249,
526 139,12,202,65,59,12,135,255,139,108,202,4,131,195,4,255,129,252,253,239,15, 527 139,12,202,65,59,12,135,255,139,108,202,4,131,195,4,255,129,252,253,239,15,
527 133,244,253,65,129,124,253,199,4,239,15,133,244,254,65,139,44,199,59,44,202, 528 133,244,253,65,129,124,253,199,4,239,15,133,244,254,65,139,44,199,59,44,202,
@@ -534,7 +535,7 @@ static const unsigned char build_actionlist[15992] = {
534 4,202,248,4,255,72,252,247,208,139,108,202,4,131,195,4,57,197,255,15,133, 535 4,202,248,4,255,72,252,247,208,139,108,202,4,131,195,4,57,197,255,15,133,
535 244,249,15,183,67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182, 536 244,249,15,183,67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,
536 232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,129,252,253,239,15,133, 537 232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,129,252,253,239,15,133,
537 244,2,252,233,244,47,255,15,132,244,248,129,252,253,239,15,132,244,47,15, 538 244,2,252,233,244,48,255,15,132,244,248,129,252,253,239,15,132,244,48,15,
538 183,67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131, 539 183,67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131,
539 195,4,193,232,16,65,252,255,36,252,238,255,139,108,194,4,131,195,4,129,252, 540 195,4,193,232,16,65,252,255,36,252,238,255,139,108,194,4,131,195,4,129,252,
540 253,239,255,137,108,202,4,139,44,194,137,44,202,255,72,139,44,194,72,137, 541 253,239,255,137,108,202,4,139,44,194,137,44,202,255,72,139,44,194,72,137,
@@ -544,40 +545,40 @@ static const unsigned char build_actionlist[15992] = {
544 124,253,194,4,239,15,133,244,251,139,44,194,252,247,221,15,128,244,250,199, 545 124,253,194,4,239,15,133,244,251,139,44,194,252,247,221,15,128,244,250,199,
545 68,202,4,237,137,44,202,248,9,139,3,15,182,204,15,182,232,131,195,4,193,232, 546 68,202,4,237,137,44,202,248,9,139,3,15,182,204,15,182,232,131,195,4,193,232,
546 16,65,252,255,36,252,238,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0, 547 16,65,252,255,36,252,238,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0,
547 252,233,244,9,248,5,15,135,244,52,255,129,124,253,194,4,239,15,131,244,52, 548 252,233,244,9,248,5,15,135,244,53,255,129,124,253,194,4,239,15,131,244,53,
548 255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,242, 549 255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,242,
549 15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15, 550 15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,
550 133,244,248,139,4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255, 551 133,244,248,139,4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255,
551 15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233, 552 15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,
552 248,1,221,28,202,255,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, 553 248,1,221,28,202,255,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
553 252,255,36,252,238,248,2,129,124,253,194,4,239,15,133,244,55,139,60,194,137, 554 252,255,36,252,238,248,2,129,124,253,194,4,239,15,133,244,56,139,60,194,137,
554 213,232,251,1,21,255,252,242,15,42,192,255,137,252,234,15,182,75,252,253, 555 213,232,251,1,21,255,252,242,15,42,192,255,137,252,234,15,182,75,252,253,
555 252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239, 556 252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,
556 15,133,244,49,65,129,124,253,199,4,239,15,133,244,49,139,44,252,234,65,3, 557 15,133,244,50,65,129,124,253,199,4,239,15,133,244,50,139,44,252,234,65,3,
557 44,199,15,128,244,48,255,129,124,253,252,234,4,239,15,133,244,51,65,129,124, 558 44,199,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,52,65,129,124,
558 253,199,4,239,15,133,244,51,65,139,4,199,3,4,252,234,15,128,244,50,255,129, 559 253,199,4,239,15,133,244,52,65,139,4,199,3,4,252,234,15,128,244,51,255,129,
559 124,253,252,234,4,239,15,133,244,54,129,124,253,194,4,239,15,133,244,54,139, 560 124,253,252,234,4,239,15,133,244,55,129,124,253,194,4,239,15,133,244,55,139,
560 44,252,234,3,44,194,15,128,244,53,255,199,68,202,4,237,255,129,124,253,252, 561 44,252,234,3,44,194,15,128,244,54,255,199,68,202,4,237,255,129,124,253,252,
561 234,4,239,15,131,244,49,255,65,129,124,253,199,4,239,15,131,244,49,255,252, 562 234,4,239,15,131,244,50,255,65,129,124,253,199,4,239,15,131,244,50,255,252,
562 242,15,16,4,252,234,252,242,65,15,88,4,199,255,221,4,252,234,65,220,4,199, 563 242,15,16,4,252,234,252,242,65,15,88,4,199,255,221,4,252,234,65,220,4,199,
563 255,129,124,253,252,234,4,239,15,131,244,51,255,65,129,124,253,199,4,239, 564 255,129,124,253,252,234,4,239,15,131,244,52,255,65,129,124,253,199,4,239,
564 15,131,244,51,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221, 565 15,131,244,52,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221,
565 4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,54,129,124,253, 566 4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,55,129,124,253,
566 194,4,239,15,131,244,54,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255, 567 194,4,239,15,131,244,55,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,
567 221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,49,65,129, 568 221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,50,65,129,
568 124,253,199,4,239,15,133,244,49,139,44,252,234,65,43,44,199,15,128,244,48, 569 124,253,199,4,239,15,133,244,50,139,44,252,234,65,43,44,199,15,128,244,49,
569 255,129,124,253,252,234,4,239,15,133,244,51,65,129,124,253,199,4,239,15,133, 570 255,129,124,253,252,234,4,239,15,133,244,52,65,129,124,253,199,4,239,15,133,
570 244,51,65,139,4,199,43,4,252,234,15,128,244,50,255,129,124,253,252,234,4, 571 244,52,65,139,4,199,43,4,252,234,15,128,244,51,255,129,124,253,252,234,4,
571 239,15,133,244,54,129,124,253,194,4,239,15,133,244,54,139,44,252,234,43,44, 572 239,15,133,244,55,129,124,253,194,4,239,15,133,244,55,139,44,252,234,43,44,
572 194,15,128,244,53,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,255, 573 194,15,128,244,54,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,255,
573 221,4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,4,252, 574 221,4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,4,252,
574 234,255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15, 575 234,255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,
575 92,4,194,255,221,4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133, 576 92,4,194,255,221,4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,
576 244,49,65,129,124,253,199,4,239,15,133,244,49,139,44,252,234,65,15,175,44, 577 244,50,65,129,124,253,199,4,239,15,133,244,50,139,44,252,234,65,15,175,44,
577 199,15,128,244,48,255,129,124,253,252,234,4,239,15,133,244,51,65,129,124, 578 199,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,52,65,129,124,
578 253,199,4,239,15,133,244,51,65,139,4,199,15,175,4,252,234,15,128,244,50,255, 579 253,199,4,239,15,133,244,52,65,139,4,199,15,175,4,252,234,15,128,244,51,255,
579 129,124,253,252,234,4,239,15,133,244,54,129,124,253,194,4,239,15,133,244, 580 129,124,253,252,234,4,239,15,133,244,55,129,124,253,194,4,239,15,133,244,
580 54,139,44,252,234,15,175,44,194,15,128,244,53,255,252,242,15,16,4,252,234, 581 55,139,44,252,234,15,175,44,194,15,128,244,54,255,252,242,15,16,4,252,234,
581 252,242,65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15, 582 252,242,65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15,
582 16,4,199,252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252, 583 16,4,199,252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252,
583 242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255, 584 242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,
@@ -587,10 +588,10 @@ static const unsigned char build_actionlist[15992] = {
587 234,220,52,194,255,252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221, 588 234,220,52,194,255,252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221,
588 4,252,234,65,221,4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234, 589 4,252,234,65,221,4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234,
589 255,65,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16, 590 255,65,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,
590 12,194,255,221,4,252,234,221,4,194,255,248,164,232,244,154,255,252,233,244, 591 12,194,255,221,4,252,234,221,4,194,255,248,165,232,244,155,255,252,233,244,
591 164,255,232,244,114,255,15,182,252,236,15,182,192,139,124,36,24,137,151,233, 592 165,255,232,244,115,255,15,182,252,236,15,182,192,139,124,36,24,137,151,233,
592 141,52,194,137,194,41,252,234,248,34,137,252,253,137,92,36,28,232,251,1,27, 593 141,52,194,137,194,41,252,234,248,35,137,252,253,137,92,36,28,232,251,1,27,
593 139,149,233,133,192,15,133,244,43,15,182,107,252,255,15,182,75,252,253,72, 594 139,149,233,133,192,15,133,244,44,15,182,107,252,255,15,182,75,252,253,72,
594 139,4,252,234,72,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232, 595 139,4,252,234,72,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,
595 16,65,252,255,36,252,238,255,72,252,247,208,65,139,4,135,199,68,202,4,237, 596 16,65,252,255,36,252,238,255,72,252,247,208,65,139,4,135,199,68,202,4,237,
596 137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 597 137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
@@ -633,56 +634,56 @@ static const unsigned char build_actionlist[15992] = {
633 253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193, 634 253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,
634 232,16,65,252,255,36,252,238,248,3,137,252,239,232,251,1,32,15,183,67,252, 635 232,16,65,252,255,36,252,238,248,3,137,252,239,232,251,1,32,15,183,67,252,
635 254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173, 636 254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,
636 233,65,139,4,135,252,233,244,165,255,72,252,247,208,139,106,252,248,139,173, 637 233,65,139,4,135,252,233,244,166,255,72,252,247,208,139,106,252,248,139,173,
637 233,65,139,4,135,252,233,244,166,255,15,182,252,236,15,182,192,129,124,253, 638 233,65,139,4,135,252,233,244,167,255,15,182,252,236,15,182,192,129,124,253,
638 252,234,4,239,15,133,244,37,139,44,252,234,255,129,124,253,194,4,239,15,133, 639 252,234,4,239,15,133,244,38,139,44,252,234,255,129,124,253,194,4,239,15,133,
639 244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15, 640 244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15,
640 16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244, 641 16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244,
641 37,255,59,133,233,15,131,244,37,193,224,3,3,133,233,129,120,253,4,239,15, 642 38,255,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,
642 132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,232,131, 643 132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,232,131,
643 195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,249, 644 195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,249,
644 139,141,233,252,246,129,233,235,15,132,244,37,15,182,75,252,253,248,3,199, 645 139,141,233,252,246,129,233,235,15,132,244,38,15,182,75,252,253,248,3,199,
645 68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,37, 646 68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,38,
646 139,4,194,252,233,244,165,255,15,182,252,236,15,182,192,72,252,247,208,65, 647 139,4,194,252,233,244,166,255,15,182,252,236,15,182,192,72,252,247,208,65,
647 139,4,135,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,248,165, 648 139,4,135,129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,248,166,
648 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133, 649 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,
649 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182, 650 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,
650 67,252,253,72,139,41,72,137,44,194,248,2,255,139,3,15,182,204,15,182,232, 651 67,252,253,72,139,41,72,137,44,194,248,2,255,139,3,15,182,204,15,182,232,
651 131,195,4,193,232,16,65,252,255,36,252,238,248,3,15,182,67,252,253,199,68, 652 131,195,4,193,232,16,65,252,255,36,252,238,248,3,15,182,67,252,253,199,68,
652 194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139, 653 194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,
653 141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244, 654 141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,
654 35,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36, 655 36,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,37,
655 139,44,252,234,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4, 656 139,44,252,234,59,133,233,15,131,244,37,193,224,3,3,133,233,129,120,253,4,
656 239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182, 657 239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,
657 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132, 658 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,
658 244,249,139,141,233,252,246,129,233,235,15,132,244,36,255,15,182,75,252,253, 659 244,249,139,141,233,252,246,129,233,235,15,132,244,37,255,15,182,75,252,253,
659 248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124, 660 248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,
660 253,252,234,4,239,15,133,244,40,139,44,252,234,255,15,133,244,40,255,59,133, 661 253,252,234,4,239,15,133,244,41,139,44,252,234,255,15,133,244,41,255,59,133,
661 233,15,131,244,40,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248, 662 233,15,131,244,41,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,
662 1,252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,3, 663 1,252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,3,
663 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131, 664 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,
664 189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,40, 665 189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,41,
665 15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,40, 666 15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,41,
666 139,4,194,252,233,244,166,248,7,128,165,233,235,65,139,142,233,65,137,174, 667 139,4,194,252,233,244,167,248,7,128,165,233,235,65,139,142,233,65,137,174,
667 233,137,141,233,15,182,75,252,253,252,233,244,2,255,15,182,252,236,15,182, 668 233,137,141,233,15,182,75,252,253,252,233,244,2,255,15,182,252,236,15,182,
668 192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,239,15,133,244,38,139, 669 192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,239,15,133,244,39,139,
669 44,252,234,248,166,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141, 670 44,252,234,248,167,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,
670 233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121, 671 233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,
671 253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248, 672 253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,
672 3,15,182,67,252,253,72,139,44,194,72,137,41,139,3,15,182,204,15,182,232,131, 673 3,15,182,67,252,253,72,139,44,194,72,137,41,139,3,15,182,204,15,182,232,131,
673 195,4,193,232,16,65,252,255,36,252,238,248,4,131,189,233,0,15,132,244,2,137, 674 195,4,193,232,16,65,252,255,36,252,238,248,4,131,189,233,0,15,132,244,2,137,
674 12,36,139,141,233,252,246,129,233,235,15,132,244,38,139,12,36,252,233,244, 675 12,36,139,141,233,252,246,129,233,235,15,132,244,39,139,12,36,252,233,244,
675 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244, 676 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,
676 252,252,246,129,233,235,15,132,244,38,248,6,137,4,36,199,68,36,4,237,137, 677 252,252,246,129,233,235,15,132,244,39,248,6,137,4,36,199,68,36,4,237,137,
677 108,36,8,139,124,36,24,137,151,233,72,141,20,36,137,252,238,137,252,253,137, 678 108,36,8,139,124,36,24,137,151,233,72,141,20,36,137,252,238,137,252,253,137,
678 92,36,28,232,251,1,34,139,149,233,139,108,36,8,137,193,252,233,244,2,248, 679 92,36,28,232,251,1,34,139,149,233,139,108,36,8,137,193,252,233,244,2,248,
679 7,128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,3, 680 7,128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,3,
680 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139, 681 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,40,139,
681 44,252,234,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239, 682 44,252,234,59,133,233,15,131,244,40,193,224,3,3,133,233,129,120,253,4,239,
682 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202, 683 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202,
683 72,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, 684 72,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
684 238,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235, 685 238,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,
685 15,132,244,39,15,182,75,252,253,252,233,244,1,248,7,128,165,233,235,65,139, 686 15,132,244,40,15,182,75,252,253,252,233,244,1,248,7,128,165,233,235,65,139,
686 142,233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,68, 687 142,233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,68,
687 137,60,36,69,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233, 688 137,60,36,69,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,
688 235,15,133,244,253,248,2,139,68,36,4,131,232,1,15,132,244,250,68,1,252,248, 689 235,15,133,244,253,248,2,139,68,36,4,131,232,1,15,132,244,250,68,1,252,248,
@@ -692,10 +693,10 @@ static const unsigned char build_actionlist[15992] = {
692 238,248,5,139,124,36,24,137,151,233,137,252,238,137,194,137,252,253,137,92, 693 238,248,5,139,124,36,24,137,151,233,137,252,238,137,194,137,252,253,137,92,
693 36,28,232,251,1,35,139,149,233,15,182,75,252,253,252,233,244,1,248,7,255, 694 36,28,232,251,1,35,139,149,233,15,182,75,252,253,252,233,244,1,248,7,255,
694 128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,2,255, 695 128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,2,255,
695 3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244,56,141,84,202,8, 696 3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244,57,141,84,202,8,
696 137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65, 697 137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,
697 252,255,36,252,238,255,141,76,202,8,65,137,215,139,105,252,248,129,121,253, 698 252,255,36,252,238,255,141,76,202,8,65,137,215,139,105,252,248,129,121,253,
698 252,252,239,15,133,244,29,248,57,139,90,252,252,252,247,195,237,15,133,244, 699 252,252,239,15,133,244,29,248,58,139,90,252,252,252,247,195,237,15,133,244,
699 253,248,1,137,106,252,248,137,68,36,4,131,232,1,15,132,244,249,248,2,72,139, 700 253,248,1,137,106,252,248,137,68,36,4,131,232,1,15,132,244,249,248,2,72,139,
700 41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244,2,139,106,252,248, 701 41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244,2,139,106,252,248,
701 248,3,139,68,36,4,128,189,233,1,15,135,244,251,248,4,139,157,233,139,11,15, 702 248,3,139,68,36,4,128,189,233,1,15,135,244,251,248,4,139,157,233,139,11,15,
@@ -743,19 +744,19 @@ static const unsigned char build_actionlist[15992] = {
743 65,199,71,252,252,237,65,131,199,8,255,199,68,194,252,244,237,255,131,192, 744 65,199,71,252,252,237,65,131,199,8,255,199,68,194,252,244,237,255,131,192,
744 1,252,233,244,5,248,7,141,171,233,252,247,197,237,15,133,244,14,41,252,234, 745 1,252,233,244,5,248,7,141,171,233,252,247,197,237,15,133,244,14,41,252,234,
745 255,1,252,233,255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,233, 746 255,1,252,233,255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,
746 1,15,132,244,146,255,141,12,202,255,129,121,253,4,239,15,133,244,255,255, 747 1,15,132,244,147,255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,
747 129,121,253,12,239,15,133,244,58,129,121,253,20,239,15,133,244,58,139,41, 748 129,121,253,12,239,15,133,244,59,129,121,253,20,239,15,133,244,59,139,41,
748 131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133,244,163,129,121, 749 131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133,244,164,129,121,
749 253,20,239,15,133,244,163,255,139,105,16,133,252,237,15,136,244,251,3,41, 750 253,20,239,15,133,244,164,255,139,105,16,133,252,237,15,136,244,251,3,41,
750 15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244, 751 15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,
751 253,248,1,248,6,141,156,253,131,233,255,141,156,253,131,233,15,183,67,252, 752 253,248,1,248,6,141,156,253,131,233,255,141,156,253,131,233,15,183,67,252,
752 254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,156,253,131,233,248, 753 254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,156,253,131,233,248,
753 1,255,248,7,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 754 1,255,248,7,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
754 252,238,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7,255,141,156,253, 755 252,238,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7,255,141,156,253,
755 131,233,15,183,67,252,254,15,141,245,255,15,140,244,7,255,252,233,244,6,248, 756 131,233,15,183,67,252,254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,
756 9,255,129,121,253,4,239,255,15,131,244,58,129,121,253,12,239,15,131,244,58, 757 9,255,129,121,253,4,239,255,15,131,244,59,129,121,253,12,239,15,131,244,59,
757 255,129,121,253,12,239,15,131,244,163,129,121,253,20,239,15,131,244,163,255, 758 255,129,121,253,12,239,15,131,244,164,129,121,253,20,239,15,131,244,164,255,
758 139,105,20,255,129,252,253,239,15,131,244,58,255,252,242,15,16,1,252,242, 759 139,105,20,255,129,252,253,239,15,131,244,59,255,252,242,15,16,1,252,242,
759 15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244, 760 15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,
760 249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221, 761 249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,
761 65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255, 762 65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,
@@ -769,7 +770,7 @@ static const unsigned char build_actionlist[15992] = {
769 233,76,137,36,36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156, 770 233,76,137,36,36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156,
770 253,131,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 771 253,131,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
771 252,238,255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,1,15, 772 252,238,255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,1,15,
772 132,244,148,255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15,135, 773 132,244,149,255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15,135,
773 244,24,15,182,139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254,252, 774 244,24,15,182,139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254,252,
774 233,245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252, 775 233,245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,
775 233,244,2,255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252,252, 776 233,244,2,255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252,252,
@@ -809,6 +810,7 @@ enum {
809 GLOB_vmeta_call, 810 GLOB_vmeta_call,
810 GLOB_vm_call_dispatch_f, 811 GLOB_vm_call_dispatch_f,
811 GLOB_vm_cpcall, 812 GLOB_vm_cpcall,
813 GLOB_vm_call_tail,
812 GLOB_cont_cat, 814 GLOB_cont_cat,
813 GLOB_cont_ra, 815 GLOB_cont_ra,
814 GLOB_BC_CAT_Z, 816 GLOB_BC_CAT_Z,
@@ -969,6 +971,7 @@ static const char *const globnames[] = {
969 "vmeta_call", 971 "vmeta_call",
970 "vm_call_dispatch_f", 972 "vm_call_dispatch_f",
971 "vm_cpcall", 973 "vm_cpcall",
974 "vm_call_tail",
972 "cont_cat", 975 "cont_cat",
973 "cont_ra", 976 "cont_ra",
974 "BC_CAT_Z", 977 "BC_CAT_Z",
@@ -1173,671 +1176,672 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1173 dasm_put(Dst, 302, 1+1, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base)); 1176 dasm_put(Dst, 302, 1+1, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base));
1174 dasm_put(Dst, 385, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE); 1177 dasm_put(Dst, 385, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE);
1175 dasm_put(Dst, 548, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base)); 1178 dasm_put(Dst, 548, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base));
1176 dasm_put(Dst, 648, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0); 1179 dasm_put(Dst, 648, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL);
1177 dasm_put(Dst, 817, Dt7(->pc), PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); 1180 dasm_put(Dst, 819, 0, Dt7(->pc), PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
1181 dasm_put(Dst, 944);
1178 if (LJ_DUALNUM) { 1182 if (LJ_DUALNUM) {
1179 dasm_put(Dst, 935, LJ_TISNUM); 1183 dasm_put(Dst, 958, LJ_TISNUM);
1180 } else if (sse) { 1184 } else if (sse) {
1181 dasm_put(Dst, 944); 1185 dasm_put(Dst, 967);
1182 } else { 1186 } else {
1183 } 1187 }
1184 dasm_put(Dst, 956, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); 1188 dasm_put(Dst, 979, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET);
1185 dasm_put(Dst, 1102, DISPATCH_GL(tmptv), LJ_TTAB); 1189 dasm_put(Dst, 1125, DISPATCH_GL(tmptv), LJ_TTAB);
1186 if (LJ_DUALNUM) { 1190 if (LJ_DUALNUM) {
1187 dasm_put(Dst, 935, LJ_TISNUM); 1191 dasm_put(Dst, 958, LJ_TISNUM);
1188 } else if (sse) { 1192 } else if (sse) {
1189 dasm_put(Dst, 944); 1193 dasm_put(Dst, 967);
1190 } else { 1194 } else {
1191 } 1195 }
1192 dasm_put(Dst, 1126, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); 1196 dasm_put(Dst, 1149, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base));
1193 dasm_put(Dst, 1298, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); 1197 dasm_put(Dst, 1321, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
1194 dasm_put(Dst, 1397); 1198 dasm_put(Dst, 1420);
1195#if LJ_HASFFI 1199#if LJ_HASFFI
1196 dasm_put(Dst, 1417, Dt1(->base)); 1200 dasm_put(Dst, 1440, Dt1(->base));
1197#endif 1201#endif
1198 dasm_put(Dst, 1448); 1202 dasm_put(Dst, 1471);
1199#if LJ_DUALNUM 1203#if LJ_DUALNUM
1200 dasm_put(Dst, 1451); 1204 dasm_put(Dst, 1474);
1201#endif 1205#endif
1202 dasm_put(Dst, 1457); 1206 dasm_put(Dst, 1480);
1203#if LJ_DUALNUM 1207#if LJ_DUALNUM
1204 dasm_put(Dst, 929); 1208 dasm_put(Dst, 952);
1205#endif 1209#endif
1206 dasm_put(Dst, 1470); 1210 dasm_put(Dst, 1493);
1207#if LJ_DUALNUM 1211#if LJ_DUALNUM
1208 dasm_put(Dst, 1451); 1212 dasm_put(Dst, 1474);
1209#endif 1213#endif
1210 dasm_put(Dst, 1499, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base)); 1214 dasm_put(Dst, 1522, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base));
1211 dasm_put(Dst, 1631, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); 1215 dasm_put(Dst, 1654, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND);
1212 dasm_put(Dst, 1815, 1+1, ~LJ_TNUMX); 1216 dasm_put(Dst, 1838, 1+1, ~LJ_TNUMX);
1213 if (cmov) { 1217 if (cmov) {
1214 dasm_put(Dst, 1860); 1218 dasm_put(Dst, 1883);
1215 } else { 1219 } else {
1216 dasm_put(Dst, 1864); 1220 dasm_put(Dst, 1887);
1217 } 1221 }
1218 dasm_put(Dst, 1873, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); 1222 dasm_put(Dst, 1896, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL);
1219 dasm_put(Dst, 1952, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next)); 1223 dasm_put(Dst, 1975, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next));
1220 dasm_put(Dst, 2010, LJ_TNIL, LJ_TUDATA, LJ_TNUMX, LJ_TISNUM, LJ_TLIGHTUD); 1224 dasm_put(Dst, 2033, LJ_TNIL, LJ_TUDATA, LJ_TNUMX, LJ_TISNUM, LJ_TLIGHTUD);
1221 dasm_put(Dst, 2076, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB); 1225 dasm_put(Dst, 2099, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB);
1222 dasm_put(Dst, 2147, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB); 1226 dasm_put(Dst, 2170, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB);
1223 dasm_put(Dst, 2237, 1+1, LJ_TISNUM); 1227 dasm_put(Dst, 2260, 1+1, LJ_TISNUM);
1224 if (LJ_DUALNUM) { 1228 if (LJ_DUALNUM) {
1225 dasm_put(Dst, 2251); 1229 dasm_put(Dst, 2274);
1226 } else { 1230 } else {
1227 dasm_put(Dst, 2268); 1231 dasm_put(Dst, 2291);
1228 } 1232 }
1229 if (sse) { 1233 if (sse) {
1230 dasm_put(Dst, 2273); 1234 dasm_put(Dst, 2296);
1231 } else { 1235 } else {
1232 dasm_put(Dst, 2283); 1236 dasm_put(Dst, 2306);
1233 } 1237 }
1234 dasm_put(Dst, 2290, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1238 dasm_put(Dst, 2313, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1235 dasm_put(Dst, 2359, Dt1(->base)); 1239 dasm_put(Dst, 2382, Dt1(->base));
1236 if (LJ_DUALNUM) { 1240 if (LJ_DUALNUM) {
1237 dasm_put(Dst, 2385); 1241 dasm_put(Dst, 2408);
1238 } else { 1242 } else {
1239 dasm_put(Dst, 2390); 1243 dasm_put(Dst, 2413);
1240 } 1244 }
1241 dasm_put(Dst, 2395, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); 1245 dasm_put(Dst, 2418, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
1242 dasm_put(Dst, 2487, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); 1246 dasm_put(Dst, 2510, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1243#ifdef LUAJIT_ENABLE_LUA52COMPAT 1247#ifdef LUAJIT_ENABLE_LUA52COMPAT
1244 dasm_put(Dst, 2534, Dt6(->metatable)); 1248 dasm_put(Dst, 2557, Dt6(->metatable));
1245#endif 1249#endif
1246 dasm_put(Dst, 2543, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1250 dasm_put(Dst, 2566, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1247 if (LJ_DUALNUM) { 1251 if (LJ_DUALNUM) {
1248 dasm_put(Dst, 2529); 1252 dasm_put(Dst, 2552);
1249 } else { 1253 } else {
1250 dasm_put(Dst, 2268); 1254 dasm_put(Dst, 2291);
1251 } 1255 }
1252 dasm_put(Dst, 2598); 1256 dasm_put(Dst, 2621);
1253 if (LJ_DUALNUM) { 1257 if (LJ_DUALNUM) {
1254 dasm_put(Dst, 2603, LJ_TISNUM); 1258 dasm_put(Dst, 2626, LJ_TISNUM);
1255 } else if (sse) { 1259 } else if (sse) {
1256 dasm_put(Dst, 2619, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1260 dasm_put(Dst, 2642, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1257 } else { 1261 } else {
1258 } 1262 }
1259 dasm_put(Dst, 2652, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1263 dasm_put(Dst, 2675, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1260 dasm_put(Dst, 2514, 1+1, LJ_TTAB); 1264 dasm_put(Dst, 2537, 1+1, LJ_TTAB);
1261#ifdef LUAJIT_ENABLE_LUA52COMPAT 1265#ifdef LUAJIT_ENABLE_LUA52COMPAT
1262 dasm_put(Dst, 2534, Dt6(->metatable)); 1266 dasm_put(Dst, 2557, Dt6(->metatable));
1263#endif 1267#endif
1264 dasm_put(Dst, 2729, Dt8(->upvalue[0]), LJ_TFUNC); 1268 dasm_put(Dst, 2752, Dt8(->upvalue[0]), LJ_TFUNC);
1265 if (LJ_DUALNUM) { 1269 if (LJ_DUALNUM) {
1266 dasm_put(Dst, 2750, LJ_TISNUM); 1270 dasm_put(Dst, 2773, LJ_TISNUM);
1267 } else if (sse) { 1271 } else if (sse) {
1268 dasm_put(Dst, 2762); 1272 dasm_put(Dst, 2785);
1269 } else { 1273 } else {
1270 dasm_put(Dst, 2772); 1274 dasm_put(Dst, 2795);
1271 } 1275 }
1272 dasm_put(Dst, 2779, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); 1276 dasm_put(Dst, 2802, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1273 dasm_put(Dst, 2844, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); 1277 dasm_put(Dst, 2867, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1274 dasm_put(Dst, 2933, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1278 dasm_put(Dst, 2956, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1275 dasm_put(Dst, 3020, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1279 dasm_put(Dst, 3043, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1276 dasm_put(Dst, 3135, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1280 dasm_put(Dst, 3158, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1277 dasm_put(Dst, 3230, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1281 dasm_put(Dst, 3253, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1278 dasm_put(Dst, 3296, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1282 dasm_put(Dst, 3319, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1279 dasm_put(Dst, 3385, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1283 dasm_put(Dst, 3408, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1280 dasm_put(Dst, 3495, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1284 dasm_put(Dst, 3518, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1281 if (!LJ_DUALNUM) { 1285 if (!LJ_DUALNUM) {
1282 dasm_put(Dst, 3522); 1286 dasm_put(Dst, 3545);
1283 } 1287 }
1284 if (sse) { 1288 if (sse) {
1285 dasm_put(Dst, 3525); 1289 dasm_put(Dst, 3548);
1286 } 1290 }
1287 dasm_put(Dst, 3540, 1+1); 1291 dasm_put(Dst, 3563, 1+1);
1288 if (LJ_DUALNUM) { 1292 if (LJ_DUALNUM) {
1289 dasm_put(Dst, 3551, LJ_TISNUM, LJ_TISNUM); 1293 dasm_put(Dst, 3574, LJ_TISNUM, LJ_TISNUM);
1290 } else { 1294 } else {
1291 dasm_put(Dst, 3631, LJ_TISNUM); 1295 dasm_put(Dst, 3654, LJ_TISNUM);
1292 } 1296 }
1293 if (sse) { 1297 if (sse) {
1294 dasm_put(Dst, 3641, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1298 dasm_put(Dst, 3664, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1295 } else { 1299 } else {
1296 dasm_put(Dst, 3672); 1300 dasm_put(Dst, 3695);
1297 } 1301 }
1298 dasm_put(Dst, 3689, 1+1, FRAME_TYPE, LJ_TNIL); 1302 dasm_put(Dst, 3712, 1+1, FRAME_TYPE, LJ_TNIL);
1299 if (LJ_DUALNUM) { 1303 if (LJ_DUALNUM) {
1300 dasm_put(Dst, 3786, LJ_TISNUM); 1304 dasm_put(Dst, 3809, LJ_TISNUM);
1301 } else { 1305 } else {
1302 dasm_put(Dst, 3631, LJ_TISNUM); 1306 dasm_put(Dst, 3654, LJ_TISNUM);
1303 } 1307 }
1304 if (sse) { 1308 if (sse) {
1305 dasm_put(Dst, 3808); 1309 dasm_put(Dst, 3831);
1306 if (LJ_DUALNUM) { 1310 if (LJ_DUALNUM) {
1307 dasm_put(Dst, 3817); 1311 dasm_put(Dst, 3840);
1308 } 1312 }
1309 dasm_put(Dst, 2278); 1313 dasm_put(Dst, 2301);
1310 } else { 1314 } else {
1311 dasm_put(Dst, 3851); 1315 dasm_put(Dst, 3874);
1312 if (LJ_DUALNUM) { 1316 if (LJ_DUALNUM) {
1313 } else { 1317 } else {
1314 dasm_put(Dst, 2285); 1318 dasm_put(Dst, 2308);
1315 } 1319 }
1316 } 1320 }
1317 dasm_put(Dst, 3857); 1321 dasm_put(Dst, 3880);
1318 if (LJ_DUALNUM) { 1322 if (LJ_DUALNUM) {
1319 dasm_put(Dst, 3786, LJ_TISNUM); 1323 dasm_put(Dst, 3809, LJ_TISNUM);
1320 } else { 1324 } else {
1321 dasm_put(Dst, 3631, LJ_TISNUM); 1325 dasm_put(Dst, 3654, LJ_TISNUM);
1322 } 1326 }
1323 if (sse) { 1327 if (sse) {
1324 dasm_put(Dst, 3860); 1328 dasm_put(Dst, 3883);
1325 if (LJ_DUALNUM) { 1329 if (LJ_DUALNUM) {
1326 dasm_put(Dst, 3817); 1330 dasm_put(Dst, 3840);
1327 } 1331 }
1328 dasm_put(Dst, 2278); 1332 dasm_put(Dst, 2301);
1329 } else { 1333 } else {
1330 dasm_put(Dst, 3869); 1334 dasm_put(Dst, 3892);
1331 if (LJ_DUALNUM) { 1335 if (LJ_DUALNUM) {
1332 } else { 1336 } else {
1333 dasm_put(Dst, 2285); 1337 dasm_put(Dst, 2308);
1334 } 1338 }
1335 } 1339 }
1336 if (sse) { 1340 if (sse) {
1337 dasm_put(Dst, 3875, 1+1, LJ_TISNUM); 1341 dasm_put(Dst, 3898, 1+1, LJ_TISNUM);
1338 } else { 1342 } else {
1339 dasm_put(Dst, 3904, 1+1, LJ_TISNUM); 1343 dasm_put(Dst, 3927, 1+1, LJ_TISNUM);
1340 } 1344 }
1341 dasm_put(Dst, 3933, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1345 dasm_put(Dst, 3956, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1342 dasm_put(Dst, 4002, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1346 dasm_put(Dst, 4025, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1343 dasm_put(Dst, 4059, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1347 dasm_put(Dst, 4082, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1344 dasm_put(Dst, 4122, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1348 dasm_put(Dst, 4145, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1345 dasm_put(Dst, 4212); 1349 dasm_put(Dst, 4235);
1346 if (sse) { 1350 if (sse) {
1347 dasm_put(Dst, 4224, 1+1, LJ_TISNUM); 1351 dasm_put(Dst, 4247, 1+1, LJ_TISNUM);
1348 } else { 1352 } else {
1349 } 1353 }
1350 dasm_put(Dst, 4249); 1354 dasm_put(Dst, 4272);
1351 if (sse) { 1355 if (sse) {
1352 dasm_put(Dst, 4263, 1+1, LJ_TISNUM); 1356 dasm_put(Dst, 4286, 1+1, LJ_TISNUM);
1353 } else { 1357 } else {
1354 } 1358 }
1355 dasm_put(Dst, 4288); 1359 dasm_put(Dst, 4311);
1356 if (sse) { 1360 if (sse) {
1357 dasm_put(Dst, 4302, 1+1, LJ_TISNUM); 1361 dasm_put(Dst, 4325, 1+1, LJ_TISNUM);
1358 } else { 1362 } else {
1359 } 1363 }
1360 dasm_put(Dst, 4327); 1364 dasm_put(Dst, 4350);
1361 if (sse) { 1365 if (sse) {
1362 dasm_put(Dst, 4343, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1366 dasm_put(Dst, 4366, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1363 } else { 1367 } else {
1364 dasm_put(Dst, 4382, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1368 dasm_put(Dst, 4405, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1365 } 1369 }
1366 dasm_put(Dst, 4415, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1370 dasm_put(Dst, 4438, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1367 dasm_put(Dst, 4480, 1+1, LJ_TISNUM); 1371 dasm_put(Dst, 4503, 1+1, LJ_TISNUM);
1368 if (sse) { 1372 if (sse) {
1369 dasm_put(Dst, 4579); 1373 dasm_put(Dst, 4602);
1370 } else { 1374 } else {
1371 dasm_put(Dst, 4585); 1375 dasm_put(Dst, 4608);
1372 } 1376 }
1373 dasm_put(Dst, 4592); 1377 dasm_put(Dst, 4615);
1374 if (sse) { 1378 if (sse) {
1375 dasm_put(Dst, 4617); 1379 dasm_put(Dst, 4640);
1376 } else { 1380 } else {
1377 dasm_put(Dst, 4623); 1381 dasm_put(Dst, 4646);
1378 } 1382 }
1379 dasm_put(Dst, 4626, 1+2); 1383 dasm_put(Dst, 4649, 1+2);
1380 if (sse) { 1384 if (sse) {
1381 dasm_put(Dst, 4635); 1385 dasm_put(Dst, 4658);
1382 } else { 1386 } else {
1383 dasm_put(Dst, 4643); 1387 dasm_put(Dst, 4666);
1384 } 1388 }
1385 dasm_put(Dst, 4651); 1389 dasm_put(Dst, 4674);
1386 if (sse) { 1390 if (sse) {
1387 dasm_put(Dst, 4654, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); 1391 dasm_put(Dst, 4677, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32));
1388 } else { 1392 } else {
1389 dasm_put(Dst, 4681); 1393 dasm_put(Dst, 4704);
1390 } 1394 }
1391 dasm_put(Dst, 4698); 1395 dasm_put(Dst, 4721);
1392 if (sse) { 1396 if (sse) {
1393 dasm_put(Dst, 4714, 1+1, LJ_TISNUM); 1397 dasm_put(Dst, 4737, 1+1, LJ_TISNUM);
1394 } else { 1398 } else {
1395 dasm_put(Dst, 4739, 1+1, LJ_TISNUM); 1399 dasm_put(Dst, 4762, 1+1, LJ_TISNUM);
1396 } 1400 }
1397 dasm_put(Dst, 4761); 1401 dasm_put(Dst, 4784);
1398 if (sse) { 1402 if (sse) {
1399 dasm_put(Dst, 4783); 1403 dasm_put(Dst, 4806);
1400 } else { 1404 } else {
1401 dasm_put(Dst, 4809); 1405 dasm_put(Dst, 4832);
1402 } 1406 }
1403 dasm_put(Dst, 4826, 1+2); 1407 dasm_put(Dst, 4849, 1+2);
1404 if (sse) { 1408 if (sse) {
1405 dasm_put(Dst, 4866); 1409 dasm_put(Dst, 4889);
1406 } else { 1410 } else {
1407 dasm_put(Dst, 4874); 1411 dasm_put(Dst, 4897);
1408 } 1412 }
1409 dasm_put(Dst, 4884, 2+1, LJ_TISNUM, LJ_TISNUM); 1413 dasm_put(Dst, 4907, 2+1, LJ_TISNUM, LJ_TISNUM);
1410 if (sse) { 1414 if (sse) {
1411 dasm_put(Dst, 4936, 2+1, LJ_TISNUM, LJ_TISNUM); 1415 dasm_put(Dst, 4959, 2+1, LJ_TISNUM, LJ_TISNUM);
1412 } else { 1416 } else {
1413 dasm_put(Dst, 4983, 2+1, LJ_TISNUM, LJ_TISNUM); 1417 dasm_put(Dst, 5006, 2+1, LJ_TISNUM, LJ_TISNUM);
1414 } 1418 }
1415 dasm_put(Dst, 5024, LJ_TISNUM); 1419 dasm_put(Dst, 5047, LJ_TISNUM);
1416 if (LJ_DUALNUM) { 1420 if (LJ_DUALNUM) {
1417 dasm_put(Dst, 5037, LJ_TISNUM); 1421 dasm_put(Dst, 5060, LJ_TISNUM);
1418 if (sse) { 1422 if (sse) {
1419 dasm_put(Dst, 4579); 1423 dasm_put(Dst, 4602);
1420 } else { 1424 } else {
1421 } 1425 }
1422 dasm_put(Dst, 5087); 1426 dasm_put(Dst, 5110);
1423 } else { 1427 } else {
1424 dasm_put(Dst, 2268); 1428 dasm_put(Dst, 2291);
1425 } 1429 }
1426 if (sse) { 1430 if (sse) {
1427 dasm_put(Dst, 5098, LJ_TISNUM); 1431 dasm_put(Dst, 5121, LJ_TISNUM);
1428 if (LJ_DUALNUM) { 1432 if (LJ_DUALNUM) {
1429 dasm_put(Dst, 5119); 1433 dasm_put(Dst, 5142);
1430 } else { 1434 } else {
1431 dasm_put(Dst, 2268); 1435 dasm_put(Dst, 2291);
1432 } 1436 }
1433 dasm_put(Dst, 5140); 1437 dasm_put(Dst, 5163);
1434 } else { 1438 } else {
1435 } 1439 }
1436 dasm_put(Dst, 5165, LJ_TISNUM); 1440 dasm_put(Dst, 5188, LJ_TISNUM);
1437 if (LJ_DUALNUM) { 1441 if (LJ_DUALNUM) {
1438 dasm_put(Dst, 5178, LJ_TISNUM); 1442 dasm_put(Dst, 5201, LJ_TISNUM);
1439 if (sse) { 1443 if (sse) {
1440 dasm_put(Dst, 4579); 1444 dasm_put(Dst, 4602);
1441 } else { 1445 } else {
1442 } 1446 }
1443 dasm_put(Dst, 5087); 1447 dasm_put(Dst, 5110);
1444 } else { 1448 } else {
1445 dasm_put(Dst, 2268); 1449 dasm_put(Dst, 2291);
1446 } 1450 }
1447 if (sse) { 1451 if (sse) {
1448 dasm_put(Dst, 5098, LJ_TISNUM); 1452 dasm_put(Dst, 5121, LJ_TISNUM);
1449 if (LJ_DUALNUM) { 1453 if (LJ_DUALNUM) {
1450 dasm_put(Dst, 5119); 1454 dasm_put(Dst, 5142);
1451 } else { 1455 } else {
1452 dasm_put(Dst, 2268); 1456 dasm_put(Dst, 2291);
1453 } 1457 }
1454 dasm_put(Dst, 5228); 1458 dasm_put(Dst, 5251);
1455 } else { 1459 } else {
1456 } 1460 }
1457 if (!sse) { 1461 if (!sse) {
1458 dasm_put(Dst, 5253); 1462 dasm_put(Dst, 5276);
1459 } 1463 }
1460 dasm_put(Dst, 5262, 1+1, LJ_TSTR); 1464 dasm_put(Dst, 5285, 1+1, LJ_TSTR);
1461 if (LJ_DUALNUM) { 1465 if (LJ_DUALNUM) {
1462 dasm_put(Dst, 5284, Dt5(->len)); 1466 dasm_put(Dst, 5307, Dt5(->len));
1463 } else if (sse) { 1467 } else if (sse) {
1464 dasm_put(Dst, 5292, Dt5(->len)); 1468 dasm_put(Dst, 5315, Dt5(->len));
1465 } else { 1469 } else {
1466 dasm_put(Dst, 5303, Dt5(->len)); 1470 dasm_put(Dst, 5326, Dt5(->len));
1467 } 1471 }
1468 dasm_put(Dst, 5311, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1472 dasm_put(Dst, 5334, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1469 if (LJ_DUALNUM) { 1473 if (LJ_DUALNUM) {
1470 dasm_put(Dst, 5287); 1474 dasm_put(Dst, 5310);
1471 } else if (sse) { 1475 } else if (sse) {
1472 dasm_put(Dst, 5349); 1476 dasm_put(Dst, 5372);
1473 } else { 1477 } else {
1474 dasm_put(Dst, 5359); 1478 dasm_put(Dst, 5382);
1475 } 1479 }
1476 dasm_put(Dst, 5370, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1480 dasm_put(Dst, 5393, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1477 if (LJ_DUALNUM) { 1481 if (LJ_DUALNUM) {
1478 dasm_put(Dst, 5403);
1479 } else if (sse) {
1480 dasm_put(Dst, 5426); 1482 dasm_put(Dst, 5426);
1483 } else if (sse) {
1484 dasm_put(Dst, 5449);
1481 } else { 1485 } else {
1482 dasm_put(Dst, 5452); 1486 dasm_put(Dst, 5475);
1483 } 1487 }
1484 dasm_put(Dst, 5476, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1488 dasm_put(Dst, 5499, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1485 if (LJ_DUALNUM) { 1489 if (LJ_DUALNUM) {
1486 dasm_put(Dst, 5585); 1490 dasm_put(Dst, 5608);
1487 } else if (sse) { 1491 } else if (sse) {
1488 dasm_put(Dst, 5597); 1492 dasm_put(Dst, 5620);
1489 } else { 1493 } else {
1490 dasm_put(Dst, 5612); 1494 dasm_put(Dst, 5635);
1491 } 1495 }
1492 dasm_put(Dst, 5624, LJ_TSTR, LJ_TISNUM); 1496 dasm_put(Dst, 5647, LJ_TSTR, LJ_TISNUM);
1493 if (LJ_DUALNUM) { 1497 if (LJ_DUALNUM) {
1494 dasm_put(Dst, 2529); 1498 dasm_put(Dst, 2552);
1495 } else { 1499 } else {
1496 dasm_put(Dst, 2268); 1500 dasm_put(Dst, 2291);
1497 } 1501 }
1498 dasm_put(Dst, 5641, Dt5(->len)); 1502 dasm_put(Dst, 5664, Dt5(->len));
1499 if (LJ_DUALNUM) { 1503 if (LJ_DUALNUM) {
1500 dasm_put(Dst, 5651); 1504 dasm_put(Dst, 5674);
1501 } else if (sse) { 1505 } else if (sse) {
1502 dasm_put(Dst, 5655); 1506 dasm_put(Dst, 5678);
1503 } else { 1507 } else {
1504 } 1508 }
1505 dasm_put(Dst, 5662, sizeof(GCstr)-1); 1509 dasm_put(Dst, 5685, sizeof(GCstr)-1);
1506 dasm_put(Dst, 5737, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1510 dasm_put(Dst, 5760, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1507 dasm_put(Dst, 5798, LJ_TSTR, LJ_TISNUM); 1511 dasm_put(Dst, 5821, LJ_TSTR, LJ_TISNUM);
1508 if (LJ_DUALNUM) { 1512 if (LJ_DUALNUM) {
1509 dasm_put(Dst, 5815); 1513 dasm_put(Dst, 5838);
1510 } else if (sse) { 1514 } else if (sse) {
1511 dasm_put(Dst, 5823); 1515 dasm_put(Dst, 5846);
1512 } else { 1516 } else {
1513 dasm_put(Dst, 5834); 1517 dasm_put(Dst, 5857);
1514 } 1518 }
1515 dasm_put(Dst, 5850, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1519 dasm_put(Dst, 5873, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1516 dasm_put(Dst, 5918, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1520 dasm_put(Dst, 5941, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1517 dasm_put(Dst, 5985, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1521 dasm_put(Dst, 6008, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1518 dasm_put(Dst, 6058, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1522 dasm_put(Dst, 6081, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1519 dasm_put(Dst, 6143, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1523 dasm_put(Dst, 6166, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1520 dasm_put(Dst, 6217, 1+1, LJ_TTAB); 1524 dasm_put(Dst, 6240, 1+1, LJ_TTAB);
1521 if (LJ_DUALNUM) { 1525 if (LJ_DUALNUM) {
1522 dasm_put(Dst, 6284); 1526 dasm_put(Dst, 6307);
1523 } else if (sse) { 1527 } else if (sse) {
1524 dasm_put(Dst, 6291); 1528 dasm_put(Dst, 6314);
1525 } else { 1529 } else {
1526 } 1530 }
1527 dasm_put(Dst, 6301, LJ_TISNUM); 1531 dasm_put(Dst, 6324, LJ_TISNUM);
1528 if (LJ_DUALNUM) { 1532 if (LJ_DUALNUM) {
1529 dasm_put(Dst, 6309); 1533 dasm_put(Dst, 6332);
1530 } else { 1534 } else {
1531 dasm_put(Dst, 2268); 1535 dasm_put(Dst, 2291);
1532 } 1536 }
1533 if (sse) { 1537 if (sse) {
1534 dasm_put(Dst, 6326, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1538 dasm_put(Dst, 6349, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1535 } else { 1539 } else {
1536 } 1540 }
1537 dasm_put(Dst, 106); 1541 dasm_put(Dst, 106);
1538 if (LJ_DUALNUM || sse) { 1542 if (LJ_DUALNUM || sse) {
1539 if (!sse) { 1543 if (!sse) {
1540 } 1544 }
1541 dasm_put(Dst, 6350); 1545 dasm_put(Dst, 6373);
1542 } else { 1546 } else {
1543 } 1547 }
1544 dasm_put(Dst, 6355); 1548 dasm_put(Dst, 6378);
1545 if (sse) { 1549 if (sse) {
1546 dasm_put(Dst, 6358, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1550 dasm_put(Dst, 6381, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1547 } else { 1551 } else {
1548 dasm_put(Dst, 6368); 1552 dasm_put(Dst, 6391);
1549 } 1553 }
1550 dasm_put(Dst, 2245, LJ_TISNUM); 1554 dasm_put(Dst, 2268, LJ_TISNUM);
1551 if (LJ_DUALNUM) { 1555 if (LJ_DUALNUM) {
1552 dasm_put(Dst, 6376); 1556 dasm_put(Dst, 6399);
1553 } else { 1557 } else {
1554 dasm_put(Dst, 2268); 1558 dasm_put(Dst, 2291);
1555 } 1559 }
1556 if (sse) { 1560 if (sse) {
1557 dasm_put(Dst, 6393); 1561 dasm_put(Dst, 6416);
1558 } else { 1562 } else {
1559 } 1563 }
1560 dasm_put(Dst, 6408, LJ_TISNUM); 1564 dasm_put(Dst, 6431, LJ_TISNUM);
1561 if (LJ_DUALNUM) { 1565 if (LJ_DUALNUM) {
1562 dasm_put(Dst, 6433); 1566 dasm_put(Dst, 6456);
1563 } else { 1567 } else {
1564 dasm_put(Dst, 6453); 1568 dasm_put(Dst, 6476);
1565 } 1569 }
1566 if (sse) { 1570 if (sse) {
1567 dasm_put(Dst, 6458); 1571 dasm_put(Dst, 6481);
1568 } else { 1572 } else {
1569 } 1573 }
1570 dasm_put(Dst, 6475); 1574 dasm_put(Dst, 6498);
1571 if (sse) { 1575 if (sse) {
1572 dasm_put(Dst, 6358, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1576 dasm_put(Dst, 6381, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1573 } else { 1577 } else {
1574 dasm_put(Dst, 6368); 1578 dasm_put(Dst, 6391);
1575 } 1579 }
1576 dasm_put(Dst, 2245, LJ_TISNUM); 1580 dasm_put(Dst, 2268, LJ_TISNUM);
1577 if (LJ_DUALNUM) { 1581 if (LJ_DUALNUM) {
1578 dasm_put(Dst, 6376); 1582 dasm_put(Dst, 6399);
1579 } else { 1583 } else {
1580 dasm_put(Dst, 2268); 1584 dasm_put(Dst, 2291);
1581 } 1585 }
1582 if (sse) { 1586 if (sse) {
1583 dasm_put(Dst, 6393); 1587 dasm_put(Dst, 6416);
1584 } else { 1588 } else {
1585 } 1589 }
1586 dasm_put(Dst, 6408, LJ_TISNUM); 1590 dasm_put(Dst, 6431, LJ_TISNUM);
1587 if (LJ_DUALNUM) { 1591 if (LJ_DUALNUM) {
1588 dasm_put(Dst, 6485); 1592 dasm_put(Dst, 6508);
1589 } else { 1593 } else {
1590 dasm_put(Dst, 6453); 1594 dasm_put(Dst, 6476);
1591 } 1595 }
1592 if (sse) { 1596 if (sse) {
1593 dasm_put(Dst, 6505); 1597 dasm_put(Dst, 6528);
1594 } else { 1598 } else {
1595 } 1599 }
1596 dasm_put(Dst, 6522); 1600 dasm_put(Dst, 6545);
1597 if (sse) { 1601 if (sse) {
1598 dasm_put(Dst, 6358, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1602 dasm_put(Dst, 6381, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1599 } else { 1603 } else {
1600 dasm_put(Dst, 6368); 1604 dasm_put(Dst, 6391);
1601 } 1605 }
1602 dasm_put(Dst, 2245, LJ_TISNUM); 1606 dasm_put(Dst, 2268, LJ_TISNUM);
1603 if (LJ_DUALNUM) { 1607 if (LJ_DUALNUM) {
1604 dasm_put(Dst, 6376); 1608 dasm_put(Dst, 6399);
1605 } else { 1609 } else {
1606 dasm_put(Dst, 2268); 1610 dasm_put(Dst, 2291);
1607 } 1611 }
1608 if (sse) { 1612 if (sse) {
1609 dasm_put(Dst, 6393); 1613 dasm_put(Dst, 6416);
1610 } else { 1614 } else {
1611 } 1615 }
1612 dasm_put(Dst, 6408, LJ_TISNUM); 1616 dasm_put(Dst, 6431, LJ_TISNUM);
1613 if (LJ_DUALNUM) { 1617 if (LJ_DUALNUM) {
1614 dasm_put(Dst, 6532); 1618 dasm_put(Dst, 6555);
1615 } else { 1619 } else {
1616 dasm_put(Dst, 6453); 1620 dasm_put(Dst, 6476);
1617 } 1621 }
1618 if (sse) { 1622 if (sse) {
1619 dasm_put(Dst, 6552); 1623 dasm_put(Dst, 6575);
1620 } else { 1624 } else {
1621 } 1625 }
1622 dasm_put(Dst, 6569, LJ_TISNUM); 1626 dasm_put(Dst, 6592, LJ_TISNUM);
1623 if (LJ_DUALNUM) { 1627 if (LJ_DUALNUM) {
1624 dasm_put(Dst, 6376); 1628 dasm_put(Dst, 6399);
1625 } else { 1629 } else {
1626 dasm_put(Dst, 2268); 1630 dasm_put(Dst, 2291);
1627 } 1631 }
1628 if (sse) { 1632 if (sse) {
1629 dasm_put(Dst, 6326, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1633 dasm_put(Dst, 6349, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1630 } else { 1634 } else {
1631 } 1635 }
1632 dasm_put(Dst, 6584, LJ_TISNUM); 1636 dasm_put(Dst, 6607, LJ_TISNUM);
1633 if (LJ_DUALNUM) { 1637 if (LJ_DUALNUM) {
1634 dasm_put(Dst, 6376); 1638 dasm_put(Dst, 6399);
1635 } else { 1639 } else {
1636 dasm_put(Dst, 2268); 1640 dasm_put(Dst, 2291);
1637 } 1641 }
1638 if (sse) { 1642 if (sse) {
1639 dasm_put(Dst, 6326, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1643 dasm_put(Dst, 6349, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1640 } else { 1644 } else {
1641 } 1645 }
1642 dasm_put(Dst, 6600); 1646 dasm_put(Dst, 6623);
1643 if (LJ_DUALNUM) { 1647 if (LJ_DUALNUM) {
1644 dasm_put(Dst, 6350); 1648 dasm_put(Dst, 6373);
1645 } else if (sse) { 1649 } else if (sse) {
1646 dasm_put(Dst, 6606); 1650 dasm_put(Dst, 6629);
1647 } else { 1651 } else {
1648 } 1652 }
1649 dasm_put(Dst, 6618); 1653 dasm_put(Dst, 6641);
1650 if (LJ_DUALNUM) { 1654 if (LJ_DUALNUM) {
1651 dasm_put(Dst, 6629, LJ_TISNUM); 1655 dasm_put(Dst, 6652, LJ_TISNUM);
1652 if (LJ_DUALNUM) { 1656 if (LJ_DUALNUM) {
1653 dasm_put(Dst, 6376); 1657 dasm_put(Dst, 6399);
1654 } else { 1658 } else {
1655 dasm_put(Dst, 2268); 1659 dasm_put(Dst, 2291);
1656 } 1660 }
1657 if (sse) { 1661 if (sse) {
1658 dasm_put(Dst, 6326, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1662 dasm_put(Dst, 6349, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1659 } else { 1663 } else {
1660 } 1664 }
1661 dasm_put(Dst, 6637, LJ_TISNUM); 1665 dasm_put(Dst, 6660, LJ_TISNUM);
1662 } else if (sse) { 1666 } else if (sse) {
1663 dasm_put(Dst, 6652, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1667 dasm_put(Dst, 6675, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1664 } else { 1668 } else {
1665 } 1669 }
1666 dasm_put(Dst, 6719); 1670 dasm_put(Dst, 6742);
1667 if (LJ_DUALNUM) { 1671 if (LJ_DUALNUM) {
1668 dasm_put(Dst, 6726, LJ_TISNUM); 1672 dasm_put(Dst, 6749, LJ_TISNUM);
1669 if (LJ_DUALNUM) { 1673 if (LJ_DUALNUM) {
1670 dasm_put(Dst, 6376); 1674 dasm_put(Dst, 6399);
1671 } else { 1675 } else {
1672 dasm_put(Dst, 2268); 1676 dasm_put(Dst, 2291);
1673 } 1677 }
1674 if (sse) { 1678 if (sse) {
1675 dasm_put(Dst, 6326, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1679 dasm_put(Dst, 6349, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1676 } else { 1680 } else {
1677 } 1681 }
1678 dasm_put(Dst, 6637, LJ_TISNUM); 1682 dasm_put(Dst, 6660, LJ_TISNUM);
1679 } else if (sse) { 1683 } else if (sse) {
1680 dasm_put(Dst, 6734, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1684 dasm_put(Dst, 6757, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1681 } else { 1685 } else {
1682 } 1686 }
1683 dasm_put(Dst, 6801); 1687 dasm_put(Dst, 6824);
1684 if (LJ_DUALNUM) { 1688 if (LJ_DUALNUM) {
1685 dasm_put(Dst, 6809, LJ_TISNUM); 1689 dasm_put(Dst, 6832, LJ_TISNUM);
1686 if (LJ_DUALNUM) { 1690 if (LJ_DUALNUM) {
1687 dasm_put(Dst, 6376); 1691 dasm_put(Dst, 6399);
1688 } else { 1692 } else {
1689 dasm_put(Dst, 2268); 1693 dasm_put(Dst, 2291);
1690 } 1694 }
1691 if (sse) { 1695 if (sse) {
1692 dasm_put(Dst, 6326, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1696 dasm_put(Dst, 6349, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1693 } else { 1697 } else {
1694 } 1698 }
1695 dasm_put(Dst, 6637, LJ_TISNUM); 1699 dasm_put(Dst, 6660, LJ_TISNUM);
1696 } else if (sse) { 1700 } else if (sse) {
1697 dasm_put(Dst, 6817, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1701 dasm_put(Dst, 6840, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1698 } else { 1702 } else {
1699 } 1703 }
1700 dasm_put(Dst, 6884); 1704 dasm_put(Dst, 6907);
1701 if (LJ_DUALNUM) { 1705 if (LJ_DUALNUM) {
1702 dasm_put(Dst, 6892, LJ_TISNUM); 1706 dasm_put(Dst, 6915, LJ_TISNUM);
1703 if (LJ_DUALNUM) { 1707 if (LJ_DUALNUM) {
1704 dasm_put(Dst, 6376); 1708 dasm_put(Dst, 6399);
1705 } else { 1709 } else {
1706 dasm_put(Dst, 2268); 1710 dasm_put(Dst, 2291);
1707 } 1711 }
1708 if (sse) { 1712 if (sse) {
1709 dasm_put(Dst, 6326, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1713 dasm_put(Dst, 6349, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1710 } else { 1714 } else {
1711 } 1715 }
1712 dasm_put(Dst, 6637, LJ_TISNUM); 1716 dasm_put(Dst, 6660, LJ_TISNUM);
1713 } else if (sse) { 1717 } else if (sse) {
1714 dasm_put(Dst, 6900, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1718 dasm_put(Dst, 6923, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1715 } else { 1719 } else {
1716 } 1720 }
1717 dasm_put(Dst, 6967); 1721 dasm_put(Dst, 6990);
1718 if (LJ_DUALNUM) { 1722 if (LJ_DUALNUM) {
1719 dasm_put(Dst, 6974, LJ_TISNUM); 1723 dasm_put(Dst, 6997, LJ_TISNUM);
1720 if (LJ_DUALNUM) { 1724 if (LJ_DUALNUM) {
1721 dasm_put(Dst, 6376); 1725 dasm_put(Dst, 6399);
1722 } else { 1726 } else {
1723 dasm_put(Dst, 2268); 1727 dasm_put(Dst, 2291);
1724 } 1728 }
1725 if (sse) { 1729 if (sse) {
1726 dasm_put(Dst, 6326, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1730 dasm_put(Dst, 6349, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1727 } else { 1731 } else {
1728 } 1732 }
1729 dasm_put(Dst, 6637, LJ_TISNUM); 1733 dasm_put(Dst, 6660, LJ_TISNUM);
1730 } else if (sse) { 1734 } else if (sse) {
1731 dasm_put(Dst, 6982, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1735 dasm_put(Dst, 7005, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1732 } else { 1736 } else {
1733 } 1737 }
1734 dasm_put(Dst, 7049, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1738 dasm_put(Dst, 7072, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1735 dasm_put(Dst, 7125, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1739 dasm_put(Dst, 7148, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1736 dasm_put(Dst, 7252, Dt1(->top), Dt1(->base), Dt1(->top)); 1740 dasm_put(Dst, 7275, Dt1(->top), Dt1(->base), Dt1(->top));
1737#if LJ_HASJIT 1741#if LJ_HASJIT
1738 dasm_put(Dst, 7291, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1742 dasm_put(Dst, 7314, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1739#endif 1743#endif
1740 dasm_put(Dst, 7324, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1744 dasm_put(Dst, 7347, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1741 dasm_put(Dst, 7378, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1745 dasm_put(Dst, 7401, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1742#if LJ_HASJIT 1746#if LJ_HASJIT
1743 dasm_put(Dst, 7445, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1747 dasm_put(Dst, 7468, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1744#endif 1748#endif
1745 dasm_put(Dst, 7492); 1749 dasm_put(Dst, 7515);
1746#if LJ_HASJIT 1750#if LJ_HASJIT
1747 dasm_put(Dst, 7319); 1751 dasm_put(Dst, 7342);
1748#endif 1752#endif
1749 dasm_put(Dst, 7499); 1753 dasm_put(Dst, 7522);
1750#if LJ_HASJIT 1754#if LJ_HASJIT
1751 dasm_put(Dst, 7502); 1755 dasm_put(Dst, 7525);
1752#endif 1756#endif
1753 dasm_put(Dst, 7512, Dt1(->base), Dt1(->top)); 1757 dasm_put(Dst, 7535, Dt1(->base), Dt1(->top));
1754#if LJ_HASJIT 1758#if LJ_HASJIT
1755 dasm_put(Dst, 7545); 1759 dasm_put(Dst, 7568);
1756#endif 1760#endif
1757 dasm_put(Dst, 7550, Dt1(->base), Dt1(->top)); 1761 dasm_put(Dst, 7573, Dt1(->base), Dt1(->top));
1758#if LJ_HASJIT 1762#if LJ_HASJIT
1759 dasm_put(Dst, 7581, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); 1763 dasm_put(Dst, 7604, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
1760#endif 1764#endif
1761 dasm_put(Dst, 7820); 1765 dasm_put(Dst, 7843);
1762#if LJ_HASJIT 1766#if LJ_HASJIT
1763 dasm_put(Dst, 7823, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1767 dasm_put(Dst, 7846, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1764#endif 1768#endif
1765 dasm_put(Dst, 7923); 1769 dasm_put(Dst, 7946);
1766 if (!sse) { 1770 if (!sse) {
1767 dasm_put(Dst, 7926); 1771 dasm_put(Dst, 7949);
1768 } 1772 }
1769 dasm_put(Dst, 7971, (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 dasm_put(Dst, 7994, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1770 if (!sse) { 1774 if (!sse) {
1771 dasm_put(Dst, 8057); 1775 dasm_put(Dst, 8080);
1772 } 1776 }
1773 dasm_put(Dst, 8102, (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 dasm_put(Dst, 8125, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32));
1774 if (!sse) { 1778 if (!sse) {
1775 dasm_put(Dst, 8188); 1779 dasm_put(Dst, 8211);
1776 } 1780 }
1777 dasm_put(Dst, 8227, (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 dasm_put(Dst, 8250, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1778 if (sse) { 1782 if (sse) {
1779 dasm_put(Dst, 8316, (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 dasm_put(Dst, 8339, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1780 } else { 1784 } else {
1781 dasm_put(Dst, 8430); 1785 dasm_put(Dst, 8453);
1782 } 1786 }
1783 dasm_put(Dst, 8477); 1787 dasm_put(Dst, 8500);
1784 if (!sse) { 1788 if (!sse) {
1785 } else { 1789 } else {
1786 dasm_put(Dst, 8554); 1790 dasm_put(Dst, 8577);
1787 } 1791 }
1788 dasm_put(Dst, 8557); 1792 dasm_put(Dst, 8580);
1789 dasm_put(Dst, 8642, (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, 8665, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1790 dasm_put(Dst, 8745, (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, 8768, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32));
1791 dasm_put(Dst, 8907); 1795 dasm_put(Dst, 8930);
1792#if LJ_HASJIT 1796#if LJ_HASJIT
1793 if (sse) { 1797 if (sse) {
1794 dasm_put(Dst, 8948); 1798 dasm_put(Dst, 8971);
1795 dasm_put(Dst, 9018); 1799 dasm_put(Dst, 9041);
1796 dasm_put(Dst, 9090); 1800 dasm_put(Dst, 9113);
1797 } else { 1801 } else {
1798 dasm_put(Dst, 9142); 1802 dasm_put(Dst, 9165);
1799 dasm_put(Dst, 9234); 1803 dasm_put(Dst, 9257);
1800 } 1804 }
1801 dasm_put(Dst, 9280); 1805 dasm_put(Dst, 9303);
1802#endif 1806#endif
1803 dasm_put(Dst, 9284); 1807 dasm_put(Dst, 9307);
1804 if (sse) { 1808 if (sse) {
1805 dasm_put(Dst, 9287, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1809 dasm_put(Dst, 9310, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1806 dasm_put(Dst, 9372, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1810 dasm_put(Dst, 9395, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1807 } else { 1811 } else {
1808 dasm_put(Dst, 9500); 1812 dasm_put(Dst, 9523);
1809 dasm_put(Dst, 9583); 1813 dasm_put(Dst, 9606);
1810 if (cmov) { 1814 if (cmov) {
1811 dasm_put(Dst, 9638); 1815 dasm_put(Dst, 9661);
1812 } else { 1816 } else {
1813 dasm_put(Dst, 9657); 1817 dasm_put(Dst, 9680);
1814 } 1818 }
1815 dasm_put(Dst, 9280); 1819 dasm_put(Dst, 9303);
1816 } 1820 }
1817 dasm_put(Dst, 9698); 1821 dasm_put(Dst, 9721);
1818#if LJ_HASFFI 1822#if LJ_HASFFI
1819#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 1823#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1820 dasm_put(Dst, 9722, DtE(->spadj)); 1824 dasm_put(Dst, 9745, DtE(->spadj));
1821#if LJ_TARGET_WINDOWS 1825#if LJ_TARGET_WINDOWS
1822#endif 1826#endif
1823 dasm_put(Dst, 9738, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->fpr[0]), DtE(->fpr[1])); 1827 dasm_put(Dst, 9761, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->fpr[0]), DtE(->fpr[1]));
1824 dasm_put(Dst, 9817, DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->fpr[1])); 1828 dasm_put(Dst, 9840, DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->fpr[1]));
1825#if LJ_TARGET_WINDOWS 1829#if LJ_TARGET_WINDOWS
1826#endif 1830#endif
1827 dasm_put(Dst, 9872); 1831 dasm_put(Dst, 9895);
1828#endif 1832#endif
1829 dasm_put(Dst, 9880); 1833 dasm_put(Dst, 9903);
1830#ifdef LUA_USE_ASSERT 1834#ifdef LUA_USE_ASSERT
1831 dasm_put(Dst, 9282); 1835 dasm_put(Dst, 9305);
1832#endif 1836#endif
1833 dasm_put(Dst, 9282); 1837 dasm_put(Dst, 9305);
1834} 1838}
1835 1839
1836/* Generate the code for a single instruction. */ 1840/* Generate the code for a single instruction. */
1837static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1841static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1838{ 1842{
1839 int vk = 0; 1843 int vk = 0;
1840 dasm_put(Dst, 9883, defop); 1844 dasm_put(Dst, 9906, defop);
1841 1845
1842 switch (op) { 1846 switch (op) {
1843 1847
@@ -1848,296 +1852,296 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1848 1852
1849 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1853 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1850 if (LJ_DUALNUM) { 1854 if (LJ_DUALNUM) {
1851 dasm_put(Dst, 9885, LJ_TISNUM, LJ_TISNUM); 1855 dasm_put(Dst, 9908, LJ_TISNUM, LJ_TISNUM);
1852 switch (op) { 1856 switch (op) {
1853 case BC_ISLT: 1857 case BC_ISLT:
1854 dasm_put(Dst, 9915); 1858 dasm_put(Dst, 9938);
1855 break; 1859 break;
1856 case BC_ISGE: 1860 case BC_ISGE:
1857 dasm_put(Dst, 9920); 1861 dasm_put(Dst, 9943);
1858 break; 1862 break;
1859 case BC_ISLE: 1863 case BC_ISLE:
1860 dasm_put(Dst, 9925); 1864 dasm_put(Dst, 9948);
1861 break; 1865 break;
1862 case BC_ISGT: 1866 case BC_ISGT:
1863 dasm_put(Dst, 9930); 1867 dasm_put(Dst, 9953);
1864 break; 1868 break;
1865 default: break; /* Shut up GCC. */ 1869 default: break; /* Shut up GCC. */
1866 } 1870 }
1867 dasm_put(Dst, 9935, -BCBIAS_J*4, LJ_TISNUM); 1871 dasm_put(Dst, 9958, -BCBIAS_J*4, LJ_TISNUM);
1868 if (sse) { 1872 if (sse) {
1869 dasm_put(Dst, 9990); 1873 dasm_put(Dst, 10013);
1870 } else { 1874 } else {
1871 dasm_put(Dst, 10001); 1875 dasm_put(Dst, 10024);
1872 } 1876 }
1873 dasm_put(Dst, 10012); 1877 dasm_put(Dst, 10035);
1874 if (sse) { 1878 if (sse) {
1875 dasm_put(Dst, 10019); 1879 dasm_put(Dst, 10042);
1876 switch (op) { 1880 switch (op) {
1877 case BC_ISLT: 1881 case BC_ISLT:
1878 dasm_put(Dst, 10039); 1882 dasm_put(Dst, 10062);
1879 break; 1883 break;
1880 case BC_ISGE: 1884 case BC_ISGE:
1881 dasm_put(Dst, 10044); 1885 dasm_put(Dst, 10067);
1882 break; 1886 break;
1883 case BC_ISLE: 1887 case BC_ISLE:
1884 dasm_put(Dst, 10049); 1888 dasm_put(Dst, 10072);
1885 break; 1889 break;
1886 case BC_ISGT: 1890 case BC_ISGT:
1887 dasm_put(Dst, 10054); 1891 dasm_put(Dst, 10077);
1888 break; 1892 break;
1889 default: break; /* Shut up GCC. */ 1893 default: break; /* Shut up GCC. */
1890 } 1894 }
1891 dasm_put(Dst, 10059); 1895 dasm_put(Dst, 10082);
1892 } else { 1896 } else {
1893 dasm_put(Dst, 10064); 1897 dasm_put(Dst, 10087);
1894 } 1898 }
1895 } else { 1899 } else {
1896 dasm_put(Dst, 10072, LJ_TISNUM, LJ_TISNUM); 1900 dasm_put(Dst, 10095, LJ_TISNUM, LJ_TISNUM);
1897 } 1901 }
1898 if (sse) { 1902 if (sse) {
1899 dasm_put(Dst, 10093); 1903 dasm_put(Dst, 10116);
1900 } else { 1904 } else {
1901 dasm_put(Dst, 10114); 1905 dasm_put(Dst, 10137);
1902 if (cmov) { 1906 if (cmov) {
1903 dasm_put(Dst, 10130); 1907 dasm_put(Dst, 10153);
1904 } else { 1908 } else {
1905 dasm_put(Dst, 10136); 1909 dasm_put(Dst, 10159);
1906 } 1910 }
1907 } 1911 }
1908 if (LJ_DUALNUM) { 1912 if (LJ_DUALNUM) {
1909 switch (op) { 1913 switch (op) {
1910 case BC_ISLT: 1914 case BC_ISLT:
1911 dasm_put(Dst, 10039); 1915 dasm_put(Dst, 10062);
1912 break; 1916 break;
1913 case BC_ISGE: 1917 case BC_ISGE:
1914 dasm_put(Dst, 10044); 1918 dasm_put(Dst, 10067);
1915 break; 1919 break;
1916 case BC_ISLE: 1920 case BC_ISLE:
1917 dasm_put(Dst, 10049); 1921 dasm_put(Dst, 10072);
1918 break; 1922 break;
1919 case BC_ISGT: 1923 case BC_ISGT:
1920 dasm_put(Dst, 10054); 1924 dasm_put(Dst, 10077);
1921 break; 1925 break;
1922 default: break; /* Shut up GCC. */ 1926 default: break; /* Shut up GCC. */
1923 } 1927 }
1924 dasm_put(Dst, 10059); 1928 dasm_put(Dst, 10082);
1925 } else { 1929 } else {
1926 switch (op) { 1930 switch (op) {
1927 case BC_ISLT: 1931 case BC_ISLT:
1928 dasm_put(Dst, 10143); 1932 dasm_put(Dst, 10166);
1929 break; 1933 break;
1930 case BC_ISGE: 1934 case BC_ISGE:
1931 dasm_put(Dst, 10148); 1935 dasm_put(Dst, 10171);
1932 break; 1936 break;
1933 case BC_ISLE: 1937 case BC_ISLE:
1934 dasm_put(Dst, 10153); 1938 dasm_put(Dst, 10176);
1935 break; 1939 break;
1936 case BC_ISGT: 1940 case BC_ISGT:
1937 dasm_put(Dst, 10158); 1941 dasm_put(Dst, 10181);
1938 break; 1942 break;
1939 default: break; /* Shut up GCC. */ 1943 default: break; /* Shut up GCC. */
1940 } 1944 }
1941 dasm_put(Dst, 10163, -BCBIAS_J*4); 1945 dasm_put(Dst, 10186, -BCBIAS_J*4);
1942 } 1946 }
1943 break; 1947 break;
1944 1948
1945 case BC_ISEQV: case BC_ISNEV: 1949 case BC_ISEQV: case BC_ISNEV:
1946 vk = op == BC_ISEQV; 1950 vk = op == BC_ISEQV;
1947 dasm_put(Dst, 10196); 1951 dasm_put(Dst, 10219);
1948 if (LJ_DUALNUM) { 1952 if (LJ_DUALNUM) {
1949 dasm_put(Dst, 10204, LJ_TISNUM, LJ_TISNUM); 1953 dasm_put(Dst, 10227, LJ_TISNUM, LJ_TISNUM);
1950 if (vk) { 1954 if (vk) {
1951 dasm_put(Dst, 10229); 1955 dasm_put(Dst, 10252);
1952 } else { 1956 } else {
1953 dasm_put(Dst, 10234); 1957 dasm_put(Dst, 10257);
1954 } 1958 }
1955 dasm_put(Dst, 10239, -BCBIAS_J*4, LJ_TISNUM); 1959 dasm_put(Dst, 10262, -BCBIAS_J*4, LJ_TISNUM);
1956 if (sse) { 1960 if (sse) {
1957 dasm_put(Dst, 10292); 1961 dasm_put(Dst, 10315);
1958 } else { 1962 } else {
1959 dasm_put(Dst, 10299); 1963 dasm_put(Dst, 10322);
1960 } 1964 }
1961 dasm_put(Dst, 10303); 1965 dasm_put(Dst, 10326);
1962 if (sse) { 1966 if (sse) {
1963 dasm_put(Dst, 10314); 1967 dasm_put(Dst, 10337);
1964 } else { 1968 } else {
1965 dasm_put(Dst, 10326); 1969 dasm_put(Dst, 10349);
1966 } 1970 }
1967 dasm_put(Dst, 10333); 1971 dasm_put(Dst, 10356);
1968 } else { 1972 } else {
1969 dasm_put(Dst, 10338, LJ_TISNUM, LJ_TISNUM); 1973 dasm_put(Dst, 10361, LJ_TISNUM, LJ_TISNUM);
1970 } 1974 }
1971 if (sse) { 1975 if (sse) {
1972 dasm_put(Dst, 10357); 1976 dasm_put(Dst, 10380);
1973 } else { 1977 } else {
1974 dasm_put(Dst, 10375); 1978 dasm_put(Dst, 10398);
1975 if (cmov) { 1979 if (cmov) {
1976 dasm_put(Dst, 10130); 1980 dasm_put(Dst, 10153);
1977 } else { 1981 } else {
1978 dasm_put(Dst, 10136); 1982 dasm_put(Dst, 10159);
1979 } 1983 }
1980 } 1984 }
1981 iseqne_fp: 1985 iseqne_fp:
1982 if (vk) { 1986 if (vk) {
1983 dasm_put(Dst, 10388); 1987 dasm_put(Dst, 10411);
1984 } else { 1988 } else {
1985 dasm_put(Dst, 10397); 1989 dasm_put(Dst, 10420);
1986 } 1990 }
1987 iseqne_end: 1991 iseqne_end:
1988 if (vk) { 1992 if (vk) {
1989 dasm_put(Dst, 10406, -BCBIAS_J*4); 1993 dasm_put(Dst, 10429, -BCBIAS_J*4);
1990 if (!LJ_HASFFI) { 1994 if (!LJ_HASFFI) {
1991 dasm_put(Dst, 4632); 1995 dasm_put(Dst, 4655);
1992 } 1996 }
1993 } else { 1997 } else {
1994 if (!LJ_HASFFI) { 1998 if (!LJ_HASFFI) {
1995 dasm_put(Dst, 4632); 1999 dasm_put(Dst, 4655);
1996 } 2000 }
1997 dasm_put(Dst, 10421, -BCBIAS_J*4); 2001 dasm_put(Dst, 10444, -BCBIAS_J*4);
1998 } 2002 }
1999 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || 2003 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
2000 op == BC_ISEQN || op == BC_ISNEN)) { 2004 op == BC_ISEQN || op == BC_ISNEN)) {
2001 dasm_put(Dst, 10436); 2005 dasm_put(Dst, 10459);
2002 } else { 2006 } else {
2003 dasm_put(Dst, 10175); 2007 dasm_put(Dst, 10198);
2004 } 2008 }
2005 if (op == BC_ISEQV || op == BC_ISNEV) { 2009 if (op == BC_ISEQV || op == BC_ISNEV) {
2006 dasm_put(Dst, 10441); 2010 dasm_put(Dst, 10464);
2007 if (LJ_HASFFI) { 2011 if (LJ_HASFFI) {
2008 dasm_put(Dst, 10444, LJ_TCDATA, LJ_TCDATA); 2012 dasm_put(Dst, 10467, LJ_TCDATA, LJ_TCDATA);
2009 } 2013 }
2010 dasm_put(Dst, 10463, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 2014 dasm_put(Dst, 10486, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
2011 if (vk) { 2015 if (vk) {
2012 dasm_put(Dst, 10519); 2016 dasm_put(Dst, 10542);
2013 } else { 2017 } else {
2014 dasm_put(Dst, 10523); 2018 dasm_put(Dst, 10546);
2015 } 2019 }
2016 dasm_put(Dst, 10529); 2020 dasm_put(Dst, 10552);
2017 } else if (LJ_HASFFI) { 2021 } else if (LJ_HASFFI) {
2018 dasm_put(Dst, 10534, LJ_TCDATA); 2022 dasm_put(Dst, 10557, LJ_TCDATA);
2019 if (LJ_DUALNUM && vk) { 2023 if (LJ_DUALNUM && vk) {
2020 dasm_put(Dst, 10541); 2024 dasm_put(Dst, 10564);
2021 } else { 2025 } else {
2022 dasm_put(Dst, 10514); 2026 dasm_put(Dst, 10537);
2023 } 2027 }
2024 dasm_put(Dst, 10546); 2028 dasm_put(Dst, 10569);
2025 } 2029 }
2026 break; 2030 break;
2027 case BC_ISEQS: case BC_ISNES: 2031 case BC_ISEQS: case BC_ISNES:
2028 vk = op == BC_ISEQS; 2032 vk = op == BC_ISEQS;
2029 dasm_put(Dst, 10551, LJ_TSTR); 2033 dasm_put(Dst, 10574, LJ_TSTR);
2030 iseqne_test: 2034 iseqne_test:
2031 if (vk) { 2035 if (vk) {
2032 dasm_put(Dst, 10392); 2036 dasm_put(Dst, 10415);
2033 } else { 2037 } else {
2034 dasm_put(Dst, 2928); 2038 dasm_put(Dst, 814);
2035 } 2039 }
2036 goto iseqne_end; 2040 goto iseqne_end;
2037 case BC_ISEQN: case BC_ISNEN: 2041 case BC_ISEQN: case BC_ISNEN:
2038 vk = op == BC_ISEQN; 2042 vk = op == BC_ISEQN;
2039 dasm_put(Dst, 10578); 2043 dasm_put(Dst, 10601);
2040 if (LJ_DUALNUM) { 2044 if (LJ_DUALNUM) {
2041 dasm_put(Dst, 10586, LJ_TISNUM, LJ_TISNUM); 2045 dasm_put(Dst, 10609, LJ_TISNUM, LJ_TISNUM);
2042 if (vk) { 2046 if (vk) {
2043 dasm_put(Dst, 10229); 2047 dasm_put(Dst, 10252);
2044 } else { 2048 } else {
2045 dasm_put(Dst, 10234); 2049 dasm_put(Dst, 10257);
2046 } 2050 }
2047 dasm_put(Dst, 10613, -BCBIAS_J*4, LJ_TISNUM); 2051 dasm_put(Dst, 10636, -BCBIAS_J*4, LJ_TISNUM);
2048 if (sse) { 2052 if (sse) {
2049 dasm_put(Dst, 10663); 2053 dasm_put(Dst, 10686);
2050 } else { 2054 } else {
2051 dasm_put(Dst, 10671); 2055 dasm_put(Dst, 10694);
2052 } 2056 }
2053 dasm_put(Dst, 10676); 2057 dasm_put(Dst, 10699);
2054 if (sse) { 2058 if (sse) {
2055 dasm_put(Dst, 10683); 2059 dasm_put(Dst, 10706);
2056 } else { 2060 } else {
2057 dasm_put(Dst, 10696); 2061 dasm_put(Dst, 10719);
2058 } 2062 }
2059 dasm_put(Dst, 10333); 2063 dasm_put(Dst, 10356);
2060 } else { 2064 } else {
2061 dasm_put(Dst, 10704, LJ_TISNUM); 2065 dasm_put(Dst, 10727, LJ_TISNUM);
2062 } 2066 }
2063 if (sse) { 2067 if (sse) {
2064 dasm_put(Dst, 10713); 2068 dasm_put(Dst, 10736);
2065 } else { 2069 } else {
2066 dasm_put(Dst, 10732); 2070 dasm_put(Dst, 10755);
2067 if (cmov) { 2071 if (cmov) {
2068 dasm_put(Dst, 10130); 2072 dasm_put(Dst, 10153);
2069 } else { 2073 } else {
2070 dasm_put(Dst, 10136); 2074 dasm_put(Dst, 10159);
2071 } 2075 }
2072 } 2076 }
2073 goto iseqne_fp; 2077 goto iseqne_fp;
2074 case BC_ISEQP: case BC_ISNEP: 2078 case BC_ISEQP: case BC_ISNEP:
2075 vk = op == BC_ISEQP; 2079 vk = op == BC_ISEQP;
2076 dasm_put(Dst, 10746); 2080 dasm_put(Dst, 10769);
2077 if (!LJ_HASFFI) goto iseqne_test; 2081 if (!LJ_HASFFI) goto iseqne_test;
2078 if (vk) { 2082 if (vk) {
2079 dasm_put(Dst, 10760, -BCBIAS_J*4, LJ_TCDATA); 2083 dasm_put(Dst, 10783, -BCBIAS_J*4, LJ_TCDATA);
2080 } else { 2084 } else {
2081 dasm_put(Dst, 10811, LJ_TCDATA, -BCBIAS_J*4); 2085 dasm_put(Dst, 10834, LJ_TCDATA, -BCBIAS_J*4);
2082 } 2086 }
2083 break; 2087 break;
2084 2088
2085 /* -- Unary test and copy ops ------------------------------------------- */ 2089 /* -- Unary test and copy ops ------------------------------------------- */
2086 2090
2087 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 2091 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
2088 dasm_put(Dst, 10856, LJ_TISTRUECOND); 2092 dasm_put(Dst, 10879, LJ_TISTRUECOND);
2089 if (op == BC_IST || op == BC_ISTC) { 2093 if (op == BC_IST || op == BC_ISTC) {
2090 dasm_put(Dst, 10158); 2094 dasm_put(Dst, 10181);
2091 } else { 2095 } else {
2092 dasm_put(Dst, 10153); 2096 dasm_put(Dst, 10176);
2093 } 2097 }
2094 if (op == BC_ISTC || op == BC_ISFC) { 2098 if (op == BC_ISTC || op == BC_ISFC) {
2095 dasm_put(Dst, 10868); 2099 dasm_put(Dst, 10891);
2096 } 2100 }
2097 dasm_put(Dst, 10163, -BCBIAS_J*4); 2101 dasm_put(Dst, 10186, -BCBIAS_J*4);
2098 break; 2102 break;
2099 2103
2100 /* -- Unary ops --------------------------------------------------------- */ 2104 /* -- Unary ops --------------------------------------------------------- */
2101 2105
2102 case BC_MOV: 2106 case BC_MOV:
2103 dasm_put(Dst, 10879); 2107 dasm_put(Dst, 10902);
2104 break; 2108 break;
2105 case BC_NOT: 2109 case BC_NOT:
2106 dasm_put(Dst, 10908, LJ_TISTRUECOND, LJ_TTRUE); 2110 dasm_put(Dst, 10931, LJ_TISTRUECOND, LJ_TTRUE);
2107 break; 2111 break;
2108 case BC_UNM: 2112 case BC_UNM:
2109 if (LJ_DUALNUM) { 2113 if (LJ_DUALNUM) {
2110 dasm_put(Dst, 10945, LJ_TISNUM, LJ_TISNUM); 2114 dasm_put(Dst, 10968, LJ_TISNUM, LJ_TISNUM);
2111 } else { 2115 } else {
2112 dasm_put(Dst, 11023, LJ_TISNUM); 2116 dasm_put(Dst, 11046, LJ_TISNUM);
2113 } 2117 }
2114 if (sse) { 2118 if (sse) {
2115 dasm_put(Dst, 11034, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 2119 dasm_put(Dst, 11057, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
2116 } else { 2120 } else {
2117 dasm_put(Dst, 11059); 2121 dasm_put(Dst, 11082);
2118 } 2122 }
2119 if (LJ_DUALNUM) { 2123 if (LJ_DUALNUM) {
2120 dasm_put(Dst, 10436); 2124 dasm_put(Dst, 10459);
2121 } else { 2125 } else {
2122 dasm_put(Dst, 10175); 2126 dasm_put(Dst, 10198);
2123 } 2127 }
2124 break; 2128 break;
2125 case BC_LEN: 2129 case BC_LEN:
2126 dasm_put(Dst, 11068, LJ_TSTR); 2130 dasm_put(Dst, 11091, LJ_TSTR);
2127 if (LJ_DUALNUM) { 2131 if (LJ_DUALNUM) {
2128 dasm_put(Dst, 11082, Dt5(->len), LJ_TISNUM); 2132 dasm_put(Dst, 11105, Dt5(->len), LJ_TISNUM);
2129 } else if (sse) { 2133 } else if (sse) {
2130 dasm_put(Dst, 11096, Dt5(->len)); 2134 dasm_put(Dst, 11119, Dt5(->len));
2131 } else { 2135 } else {
2132 dasm_put(Dst, 11114, Dt5(->len)); 2136 dasm_put(Dst, 11137, Dt5(->len));
2133 } 2137 }
2134 dasm_put(Dst, 11123, LJ_TTAB); 2138 dasm_put(Dst, 11146, LJ_TTAB);
2135 if (LJ_DUALNUM) { 2139 if (LJ_DUALNUM) {
2136 } else if (sse) { 2140 } else if (sse) {
2137 dasm_put(Dst, 11165); 2141 dasm_put(Dst, 11188);
2138 } else { 2142 } else {
2139 } 2143 }
2140 dasm_put(Dst, 11171); 2144 dasm_put(Dst, 11194);
2141 break; 2145 break;
2142 2146
2143 /* -- Binary ops -------------------------------------------------------- */ 2147 /* -- Binary ops -------------------------------------------------------- */
@@ -2145,605 +2149,605 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2145 2149
2146 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 2150 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
2147 if (LJ_DUALNUM) { 2151 if (LJ_DUALNUM) {
2148 dasm_put(Dst, 11184); 2152 dasm_put(Dst, 11207);
2149 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2153 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2150 switch (vk) { 2154 switch (vk) {
2151 case 0: 2155 case 0:
2152 dasm_put(Dst, 11192, LJ_TISNUM, LJ_TISNUM); 2156 dasm_put(Dst, 11215, LJ_TISNUM, LJ_TISNUM);
2153 break; 2157 break;
2154 case 1: 2158 case 1:
2155 dasm_put(Dst, 11227, LJ_TISNUM, LJ_TISNUM); 2159 dasm_put(Dst, 11250, LJ_TISNUM, LJ_TISNUM);
2156 break; 2160 break;
2157 default: 2161 default:
2158 dasm_put(Dst, 11262, LJ_TISNUM, LJ_TISNUM); 2162 dasm_put(Dst, 11285, LJ_TISNUM, LJ_TISNUM);
2159 break; 2163 break;
2160 } 2164 }
2161 dasm_put(Dst, 11295, LJ_TISNUM); 2165 dasm_put(Dst, 11318, LJ_TISNUM);
2162 if (vk == 1) { 2166 if (vk == 1) {
2163 dasm_put(Dst, 11092); 2167 dasm_put(Dst, 11115);
2164 } else { 2168 } else {
2165 dasm_put(Dst, 10875); 2169 dasm_put(Dst, 10898);
2166 } 2170 }
2167 dasm_put(Dst, 10175); 2171 dasm_put(Dst, 10198);
2168 } else { 2172 } else {
2169 dasm_put(Dst, 11184); 2173 dasm_put(Dst, 11207);
2170 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2174 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2171 switch (vk) { 2175 switch (vk) {
2172 case 0: 2176 case 0:
2173 dasm_put(Dst, 11301, LJ_TISNUM); 2177 dasm_put(Dst, 11324, LJ_TISNUM);
2174 if (LJ_DUALNUM) { 2178 if (LJ_DUALNUM) {
2175 dasm_put(Dst, 11313, LJ_TISNUM); 2179 dasm_put(Dst, 11336, LJ_TISNUM);
2176 } 2180 }
2177 if (sse) { 2181 if (sse) {
2178 dasm_put(Dst, 11325); 2182 dasm_put(Dst, 11348);
2179 } else { 2183 } else {
2180 dasm_put(Dst, 11340); 2184 dasm_put(Dst, 11363);
2181 } 2185 }
2182 break; 2186 break;
2183 case 1: 2187 case 1:
2184 dasm_put(Dst, 11349, LJ_TISNUM); 2188 dasm_put(Dst, 11372, LJ_TISNUM);
2185 if (LJ_DUALNUM) { 2189 if (LJ_DUALNUM) {
2186 dasm_put(Dst, 11361, LJ_TISNUM); 2190 dasm_put(Dst, 11384, LJ_TISNUM);
2187 } 2191 }
2188 if (sse) { 2192 if (sse) {
2189 dasm_put(Dst, 11373); 2193 dasm_put(Dst, 11396);
2190 } else { 2194 } else {
2191 dasm_put(Dst, 11388); 2195 dasm_put(Dst, 11411);
2192 } 2196 }
2193 break; 2197 break;
2194 default: 2198 default:
2195 dasm_put(Dst, 11397, LJ_TISNUM, LJ_TISNUM); 2199 dasm_put(Dst, 11420, LJ_TISNUM, LJ_TISNUM);
2196 if (sse) { 2200 if (sse) {
2197 dasm_put(Dst, 11419); 2201 dasm_put(Dst, 11442);
2198 } else { 2202 } else {
2199 dasm_put(Dst, 11433); 2203 dasm_put(Dst, 11456);
2200 } 2204 }
2201 break; 2205 break;
2202 } 2206 }
2203 if (sse) { 2207 if (sse) {
2204 dasm_put(Dst, 11052); 2208 dasm_put(Dst, 11075);
2205 } else { 2209 } else {
2206 dasm_put(Dst, 11064); 2210 dasm_put(Dst, 11087);
2207 } 2211 }
2208 dasm_put(Dst, 10175); 2212 dasm_put(Dst, 10198);
2209 } 2213 }
2210 break; 2214 break;
2211 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 2215 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
2212 if (LJ_DUALNUM) { 2216 if (LJ_DUALNUM) {
2213 dasm_put(Dst, 11184); 2217 dasm_put(Dst, 11207);
2214 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2218 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2215 switch (vk) { 2219 switch (vk) {
2216 case 0: 2220 case 0:
2217 dasm_put(Dst, 11441, LJ_TISNUM, LJ_TISNUM); 2221 dasm_put(Dst, 11464, LJ_TISNUM, LJ_TISNUM);
2218 break; 2222 break;
2219 case 1: 2223 case 1:
2220 dasm_put(Dst, 11476, LJ_TISNUM, LJ_TISNUM); 2224 dasm_put(Dst, 11499, LJ_TISNUM, LJ_TISNUM);
2221 break; 2225 break;
2222 default: 2226 default:
2223 dasm_put(Dst, 11511, LJ_TISNUM, LJ_TISNUM); 2227 dasm_put(Dst, 11534, LJ_TISNUM, LJ_TISNUM);
2224 break; 2228 break;
2225 } 2229 }
2226 dasm_put(Dst, 11295, LJ_TISNUM); 2230 dasm_put(Dst, 11318, LJ_TISNUM);
2227 if (vk == 1) { 2231 if (vk == 1) {
2228 dasm_put(Dst, 11092); 2232 dasm_put(Dst, 11115);
2229 } else { 2233 } else {
2230 dasm_put(Dst, 10875); 2234 dasm_put(Dst, 10898);
2231 } 2235 }
2232 dasm_put(Dst, 10175); 2236 dasm_put(Dst, 10198);
2233 } else { 2237 } else {
2234 dasm_put(Dst, 11184); 2238 dasm_put(Dst, 11207);
2235 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2239 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2236 switch (vk) { 2240 switch (vk) {
2237 case 0: 2241 case 0:
2238 dasm_put(Dst, 11301, LJ_TISNUM); 2242 dasm_put(Dst, 11324, LJ_TISNUM);
2239 if (LJ_DUALNUM) { 2243 if (LJ_DUALNUM) {
2240 dasm_put(Dst, 11313, LJ_TISNUM); 2244 dasm_put(Dst, 11336, LJ_TISNUM);
2241 } 2245 }
2242 if (sse) { 2246 if (sse) {
2243 dasm_put(Dst, 11544); 2247 dasm_put(Dst, 11567);
2244 } else { 2248 } else {
2245 dasm_put(Dst, 11559); 2249 dasm_put(Dst, 11582);
2246 } 2250 }
2247 break; 2251 break;
2248 case 1: 2252 case 1:
2249 dasm_put(Dst, 11349, LJ_TISNUM); 2253 dasm_put(Dst, 11372, LJ_TISNUM);
2250 if (LJ_DUALNUM) { 2254 if (LJ_DUALNUM) {
2251 dasm_put(Dst, 11361, LJ_TISNUM); 2255 dasm_put(Dst, 11384, LJ_TISNUM);
2252 } 2256 }
2253 if (sse) { 2257 if (sse) {
2254 dasm_put(Dst, 11568); 2258 dasm_put(Dst, 11591);
2255 } else { 2259 } else {
2256 dasm_put(Dst, 11583); 2260 dasm_put(Dst, 11606);
2257 } 2261 }
2258 break; 2262 break;
2259 default: 2263 default:
2260 dasm_put(Dst, 11397, LJ_TISNUM, LJ_TISNUM); 2264 dasm_put(Dst, 11420, LJ_TISNUM, LJ_TISNUM);
2261 if (sse) { 2265 if (sse) {
2262 dasm_put(Dst, 11592); 2266 dasm_put(Dst, 11615);
2263 } else { 2267 } else {
2264 dasm_put(Dst, 11606); 2268 dasm_put(Dst, 11629);
2265 } 2269 }
2266 break; 2270 break;
2267 } 2271 }
2268 if (sse) { 2272 if (sse) {
2269 dasm_put(Dst, 11052); 2273 dasm_put(Dst, 11075);
2270 } else { 2274 } else {
2271 dasm_put(Dst, 11064); 2275 dasm_put(Dst, 11087);
2272 } 2276 }
2273 dasm_put(Dst, 10175); 2277 dasm_put(Dst, 10198);
2274 } 2278 }
2275 break; 2279 break;
2276 case BC_MULVN: case BC_MULNV: case BC_MULVV: 2280 case BC_MULVN: case BC_MULNV: case BC_MULVV:
2277 if (LJ_DUALNUM) { 2281 if (LJ_DUALNUM) {
2278 dasm_put(Dst, 11184); 2282 dasm_put(Dst, 11207);
2279 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2283 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2280 switch (vk) { 2284 switch (vk) {
2281 case 0: 2285 case 0:
2282 dasm_put(Dst, 11614, LJ_TISNUM, LJ_TISNUM); 2286 dasm_put(Dst, 11637, LJ_TISNUM, LJ_TISNUM);
2283 break; 2287 break;
2284 case 1: 2288 case 1:
2285 dasm_put(Dst, 11650, LJ_TISNUM, LJ_TISNUM); 2289 dasm_put(Dst, 11673, LJ_TISNUM, LJ_TISNUM);
2286 break; 2290 break;
2287 default: 2291 default:
2288 dasm_put(Dst, 11686, LJ_TISNUM, LJ_TISNUM); 2292 dasm_put(Dst, 11709, LJ_TISNUM, LJ_TISNUM);
2289 break; 2293 break;
2290 } 2294 }
2291 dasm_put(Dst, 11295, LJ_TISNUM); 2295 dasm_put(Dst, 11318, LJ_TISNUM);
2292 if (vk == 1) { 2296 if (vk == 1) {
2293 dasm_put(Dst, 11092); 2297 dasm_put(Dst, 11115);
2294 } else { 2298 } else {
2295 dasm_put(Dst, 10875); 2299 dasm_put(Dst, 10898);
2296 } 2300 }
2297 dasm_put(Dst, 10175); 2301 dasm_put(Dst, 10198);
2298 } else { 2302 } else {
2299 dasm_put(Dst, 11184); 2303 dasm_put(Dst, 11207);
2300 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2304 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2301 switch (vk) { 2305 switch (vk) {
2302 case 0: 2306 case 0:
2303 dasm_put(Dst, 11301, LJ_TISNUM); 2307 dasm_put(Dst, 11324, LJ_TISNUM);
2304 if (LJ_DUALNUM) { 2308 if (LJ_DUALNUM) {
2305 dasm_put(Dst, 11313, LJ_TISNUM); 2309 dasm_put(Dst, 11336, LJ_TISNUM);
2306 } 2310 }
2307 if (sse) { 2311 if (sse) {
2308 dasm_put(Dst, 11720); 2312 dasm_put(Dst, 11743);
2309 } else { 2313 } else {
2310 dasm_put(Dst, 11735); 2314 dasm_put(Dst, 11758);
2311 } 2315 }
2312 break; 2316 break;
2313 case 1: 2317 case 1:
2314 dasm_put(Dst, 11349, LJ_TISNUM); 2318 dasm_put(Dst, 11372, LJ_TISNUM);
2315 if (LJ_DUALNUM) { 2319 if (LJ_DUALNUM) {
2316 dasm_put(Dst, 11361, LJ_TISNUM); 2320 dasm_put(Dst, 11384, LJ_TISNUM);
2317 } 2321 }
2318 if (sse) { 2322 if (sse) {
2319 dasm_put(Dst, 11744); 2323 dasm_put(Dst, 11767);
2320 } else { 2324 } else {
2321 dasm_put(Dst, 11759); 2325 dasm_put(Dst, 11782);
2322 } 2326 }
2323 break; 2327 break;
2324 default: 2328 default:
2325 dasm_put(Dst, 11397, LJ_TISNUM, LJ_TISNUM); 2329 dasm_put(Dst, 11420, LJ_TISNUM, LJ_TISNUM);
2326 if (sse) { 2330 if (sse) {
2327 dasm_put(Dst, 11768); 2331 dasm_put(Dst, 11791);
2328 } else { 2332 } else {
2329 dasm_put(Dst, 11782); 2333 dasm_put(Dst, 11805);
2330 } 2334 }
2331 break; 2335 break;
2332 } 2336 }
2333 if (sse) { 2337 if (sse) {
2334 dasm_put(Dst, 11052); 2338 dasm_put(Dst, 11075);
2335 } else { 2339 } else {
2336 dasm_put(Dst, 11064); 2340 dasm_put(Dst, 11087);
2337 } 2341 }
2338 dasm_put(Dst, 10175); 2342 dasm_put(Dst, 10198);
2339 } 2343 }
2340 break; 2344 break;
2341 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 2345 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
2342 dasm_put(Dst, 11184); 2346 dasm_put(Dst, 11207);
2343 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2347 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2344 switch (vk) { 2348 switch (vk) {
2345 case 0: 2349 case 0:
2346 dasm_put(Dst, 11301, LJ_TISNUM); 2350 dasm_put(Dst, 11324, LJ_TISNUM);
2347 if (LJ_DUALNUM) { 2351 if (LJ_DUALNUM) {
2348 dasm_put(Dst, 11313, LJ_TISNUM); 2352 dasm_put(Dst, 11336, LJ_TISNUM);
2349 } 2353 }
2350 if (sse) { 2354 if (sse) {
2351 dasm_put(Dst, 11790); 2355 dasm_put(Dst, 11813);
2352 } else { 2356 } else {
2353 dasm_put(Dst, 11805); 2357 dasm_put(Dst, 11828);
2354 } 2358 }
2355 break; 2359 break;
2356 case 1: 2360 case 1:
2357 dasm_put(Dst, 11349, LJ_TISNUM); 2361 dasm_put(Dst, 11372, LJ_TISNUM);
2358 if (LJ_DUALNUM) { 2362 if (LJ_DUALNUM) {
2359 dasm_put(Dst, 11361, LJ_TISNUM); 2363 dasm_put(Dst, 11384, LJ_TISNUM);
2360 } 2364 }
2361 if (sse) { 2365 if (sse) {
2362 dasm_put(Dst, 11814); 2366 dasm_put(Dst, 11837);
2363 } else { 2367 } else {
2364 dasm_put(Dst, 11829); 2368 dasm_put(Dst, 11852);
2365 } 2369 }
2366 break; 2370 break;
2367 default: 2371 default:
2368 dasm_put(Dst, 11397, LJ_TISNUM, LJ_TISNUM); 2372 dasm_put(Dst, 11420, LJ_TISNUM, LJ_TISNUM);
2369 if (sse) { 2373 if (sse) {
2370 dasm_put(Dst, 11838); 2374 dasm_put(Dst, 11861);
2371 } else { 2375 } else {
2372 dasm_put(Dst, 11852); 2376 dasm_put(Dst, 11875);
2373 } 2377 }
2374 break; 2378 break;
2375 } 2379 }
2376 if (sse) { 2380 if (sse) {
2377 dasm_put(Dst, 11052); 2381 dasm_put(Dst, 11075);
2378 } else { 2382 } else {
2379 dasm_put(Dst, 11064); 2383 dasm_put(Dst, 11087);
2380 } 2384 }
2381 dasm_put(Dst, 10175); 2385 dasm_put(Dst, 10198);
2382 break; 2386 break;
2383 case BC_MODVN: 2387 case BC_MODVN:
2384 dasm_put(Dst, 11184); 2388 dasm_put(Dst, 11207);
2385 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2389 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2386 switch (vk) { 2390 switch (vk) {
2387 case 0: 2391 case 0:
2388 dasm_put(Dst, 11301, LJ_TISNUM); 2392 dasm_put(Dst, 11324, LJ_TISNUM);
2389 if (LJ_DUALNUM) { 2393 if (LJ_DUALNUM) {
2390 dasm_put(Dst, 11313, LJ_TISNUM); 2394 dasm_put(Dst, 11336, LJ_TISNUM);
2391 } 2395 }
2392 if (sse) { 2396 if (sse) {
2393 dasm_put(Dst, 11860); 2397 dasm_put(Dst, 11883);
2394 } else { 2398 } else {
2395 dasm_put(Dst, 11875); 2399 dasm_put(Dst, 11898);
2396 } 2400 }
2397 break; 2401 break;
2398 case 1: 2402 case 1:
2399 dasm_put(Dst, 11349, LJ_TISNUM); 2403 dasm_put(Dst, 11372, LJ_TISNUM);
2400 if (LJ_DUALNUM) { 2404 if (LJ_DUALNUM) {
2401 dasm_put(Dst, 11361, LJ_TISNUM); 2405 dasm_put(Dst, 11384, LJ_TISNUM);
2402 } 2406 }
2403 if (sse) { 2407 if (sse) {
2404 dasm_put(Dst, 11884); 2408 dasm_put(Dst, 11907);
2405 } else { 2409 } else {
2406 dasm_put(Dst, 11899); 2410 dasm_put(Dst, 11922);
2407 } 2411 }
2408 break; 2412 break;
2409 default: 2413 default:
2410 dasm_put(Dst, 11397, LJ_TISNUM, LJ_TISNUM); 2414 dasm_put(Dst, 11420, LJ_TISNUM, LJ_TISNUM);
2411 if (sse) { 2415 if (sse) {
2412 dasm_put(Dst, 11908); 2416 dasm_put(Dst, 11931);
2413 } else { 2417 } else {
2414 dasm_put(Dst, 11922); 2418 dasm_put(Dst, 11945);
2415 } 2419 }
2416 break; 2420 break;
2417 } 2421 }
2418 dasm_put(Dst, 11930); 2422 dasm_put(Dst, 11953);
2419 if (sse) { 2423 if (sse) {
2420 dasm_put(Dst, 11052); 2424 dasm_put(Dst, 11075);
2421 } else { 2425 } else {
2422 dasm_put(Dst, 11064); 2426 dasm_put(Dst, 11087);
2423 } 2427 }
2424 dasm_put(Dst, 10175); 2428 dasm_put(Dst, 10198);
2425 break; 2429 break;
2426 case BC_MODNV: case BC_MODVV: 2430 case BC_MODNV: case BC_MODVV:
2427 dasm_put(Dst, 11184); 2431 dasm_put(Dst, 11207);
2428 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2432 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2429 switch (vk) { 2433 switch (vk) {
2430 case 0: 2434 case 0:
2431 dasm_put(Dst, 11301, LJ_TISNUM); 2435 dasm_put(Dst, 11324, LJ_TISNUM);
2432 if (LJ_DUALNUM) { 2436 if (LJ_DUALNUM) {
2433 dasm_put(Dst, 11313, LJ_TISNUM); 2437 dasm_put(Dst, 11336, LJ_TISNUM);
2434 } 2438 }
2435 if (sse) { 2439 if (sse) {
2436 dasm_put(Dst, 11860); 2440 dasm_put(Dst, 11883);
2437 } else { 2441 } else {
2438 dasm_put(Dst, 11875); 2442 dasm_put(Dst, 11898);
2439 } 2443 }
2440 break; 2444 break;
2441 case 1: 2445 case 1:
2442 dasm_put(Dst, 11349, LJ_TISNUM); 2446 dasm_put(Dst, 11372, LJ_TISNUM);
2443 if (LJ_DUALNUM) { 2447 if (LJ_DUALNUM) {
2444 dasm_put(Dst, 11361, LJ_TISNUM); 2448 dasm_put(Dst, 11384, LJ_TISNUM);
2445 } 2449 }
2446 if (sse) { 2450 if (sse) {
2447 dasm_put(Dst, 11884); 2451 dasm_put(Dst, 11907);
2448 } else { 2452 } else {
2449 dasm_put(Dst, 11899); 2453 dasm_put(Dst, 11922);
2450 } 2454 }
2451 break; 2455 break;
2452 default: 2456 default:
2453 dasm_put(Dst, 11397, LJ_TISNUM, LJ_TISNUM); 2457 dasm_put(Dst, 11420, LJ_TISNUM, LJ_TISNUM);
2454 if (sse) { 2458 if (sse) {
2455 dasm_put(Dst, 11908); 2459 dasm_put(Dst, 11931);
2456 } else { 2460 } else {
2457 dasm_put(Dst, 11922); 2461 dasm_put(Dst, 11945);
2458 } 2462 }
2459 break; 2463 break;
2460 } 2464 }
2461 dasm_put(Dst, 11936); 2465 dasm_put(Dst, 11959);
2462 break; 2466 break;
2463 case BC_POW: 2467 case BC_POW:
2464 dasm_put(Dst, 11184); 2468 dasm_put(Dst, 11207);
2465 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2469 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2466 switch (vk) { 2470 switch (vk) {
2467 case 0: 2471 case 0:
2468 dasm_put(Dst, 11301, LJ_TISNUM); 2472 dasm_put(Dst, 11324, LJ_TISNUM);
2469 if (LJ_DUALNUM) { 2473 if (LJ_DUALNUM) {
2470 dasm_put(Dst, 11313, LJ_TISNUM); 2474 dasm_put(Dst, 11336, LJ_TISNUM);
2471 } 2475 }
2472 if (sse) { 2476 if (sse) {
2473 dasm_put(Dst, 11860); 2477 dasm_put(Dst, 11883);
2474 } else { 2478 } else {
2475 dasm_put(Dst, 11875); 2479 dasm_put(Dst, 11898);
2476 } 2480 }
2477 break; 2481 break;
2478 case 1: 2482 case 1:
2479 dasm_put(Dst, 11349, LJ_TISNUM); 2483 dasm_put(Dst, 11372, LJ_TISNUM);
2480 if (LJ_DUALNUM) { 2484 if (LJ_DUALNUM) {
2481 dasm_put(Dst, 11361, LJ_TISNUM); 2485 dasm_put(Dst, 11384, LJ_TISNUM);
2482 } 2486 }
2483 if (sse) { 2487 if (sse) {
2484 dasm_put(Dst, 11884); 2488 dasm_put(Dst, 11907);
2485 } else { 2489 } else {
2486 dasm_put(Dst, 11899); 2490 dasm_put(Dst, 11922);
2487 } 2491 }
2488 break; 2492 break;
2489 default: 2493 default:
2490 dasm_put(Dst, 11397, LJ_TISNUM, LJ_TISNUM); 2494 dasm_put(Dst, 11420, LJ_TISNUM, LJ_TISNUM);
2491 if (sse) { 2495 if (sse) {
2492 dasm_put(Dst, 11908); 2496 dasm_put(Dst, 11931);
2493 } else { 2497 } else {
2494 dasm_put(Dst, 11922); 2498 dasm_put(Dst, 11945);
2495 } 2499 }
2496 break; 2500 break;
2497 } 2501 }
2498 dasm_put(Dst, 11941); 2502 dasm_put(Dst, 11964);
2499 if (sse) { 2503 if (sse) {
2500 dasm_put(Dst, 11052); 2504 dasm_put(Dst, 11075);
2501 } else { 2505 } else {
2502 dasm_put(Dst, 11064); 2506 dasm_put(Dst, 11087);
2503 } 2507 }
2504 dasm_put(Dst, 10175); 2508 dasm_put(Dst, 10198);
2505 break; 2509 break;
2506 2510
2507 case BC_CAT: 2511 case BC_CAT:
2508 dasm_put(Dst, 11945, Dt1(->base), Dt1(->base)); 2512 dasm_put(Dst, 11968, Dt1(->base), Dt1(->base));
2509 break; 2513 break;
2510 2514
2511 /* -- Constant ops ------------------------------------------------------ */ 2515 /* -- Constant ops ------------------------------------------------------ */
2512 2516
2513 case BC_KSTR: 2517 case BC_KSTR:
2514 dasm_put(Dst, 12029, LJ_TSTR); 2518 dasm_put(Dst, 12052, LJ_TSTR);
2515 break; 2519 break;
2516 case BC_KCDATA: 2520 case BC_KCDATA:
2517#if LJ_HASFFI 2521#if LJ_HASFFI
2518 dasm_put(Dst, 12029, LJ_TCDATA); 2522 dasm_put(Dst, 12052, LJ_TCDATA);
2519#endif 2523#endif
2520 break; 2524 break;
2521 case BC_KSHORT: 2525 case BC_KSHORT:
2522 if (LJ_DUALNUM) { 2526 if (LJ_DUALNUM) {
2523 dasm_put(Dst, 12066, LJ_TISNUM); 2527 dasm_put(Dst, 12089, LJ_TISNUM);
2524 } else if (sse) { 2528 } else if (sse) {
2525 dasm_put(Dst, 12078); 2529 dasm_put(Dst, 12101);
2526 } else { 2530 } else {
2527 dasm_put(Dst, 12093); 2531 dasm_put(Dst, 12116);
2528 } 2532 }
2529 dasm_put(Dst, 10175); 2533 dasm_put(Dst, 10198);
2530 break; 2534 break;
2531 case BC_KNUM: 2535 case BC_KNUM:
2532 if (sse) { 2536 if (sse) {
2533 dasm_put(Dst, 12101); 2537 dasm_put(Dst, 12124);
2534 } else { 2538 } else {
2535 dasm_put(Dst, 12115); 2539 dasm_put(Dst, 12138);
2536 } 2540 }
2537 dasm_put(Dst, 10175); 2541 dasm_put(Dst, 10198);
2538 break; 2542 break;
2539 case BC_KPRI: 2543 case BC_KPRI:
2540 dasm_put(Dst, 12123); 2544 dasm_put(Dst, 12146);
2541 break; 2545 break;
2542 case BC_KNIL: 2546 case BC_KNIL:
2543 dasm_put(Dst, 12152, LJ_TNIL); 2547 dasm_put(Dst, 12175, LJ_TNIL);
2544 break; 2548 break;
2545 2549
2546 /* -- Upvalue and function ops ------------------------------------------ */ 2550 /* -- Upvalue and function ops ------------------------------------------ */
2547 2551
2548 case BC_UGET: 2552 case BC_UGET:
2549 dasm_put(Dst, 12200, offsetof(GCfuncL, uvptr), DtA(->v)); 2553 dasm_put(Dst, 12223, offsetof(GCfuncL, uvptr), DtA(->v));
2550 break; 2554 break;
2551 case BC_USETV: 2555 case BC_USETV:
2552#define TV2MARKOFS \ 2556#define TV2MARKOFS \
2553 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2557 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2554 dasm_put(Dst, 12241, 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, 12264, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
2555 dasm_put(Dst, 12337); 2559 dasm_put(Dst, 12360);
2556 break; 2560 break;
2557#undef TV2MARKOFS 2561#undef TV2MARKOFS
2558 case BC_USETS: 2562 case BC_USETS:
2559 dasm_put(Dst, 12349, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 2563 dasm_put(Dst, 12372, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
2560 break; 2564 break;
2561 case BC_USETN: 2565 case BC_USETN:
2562 dasm_put(Dst, 12445); 2566 dasm_put(Dst, 12468);
2563 if (sse) { 2567 if (sse) {
2564 dasm_put(Dst, 12450); 2568 dasm_put(Dst, 12473);
2565 } else { 2569 } else {
2566 dasm_put(Dst, 10699); 2570 dasm_put(Dst, 10722);
2567 } 2571 }
2568 dasm_put(Dst, 12458, offsetof(GCfuncL, uvptr), DtA(->v)); 2572 dasm_put(Dst, 12481, offsetof(GCfuncL, uvptr), DtA(->v));
2569 if (sse) { 2573 if (sse) {
2570 dasm_put(Dst, 12467); 2574 dasm_put(Dst, 12490);
2571 } else { 2575 } else {
2572 dasm_put(Dst, 12473); 2576 dasm_put(Dst, 12496);
2573 } 2577 }
2574 dasm_put(Dst, 10175); 2578 dasm_put(Dst, 10198);
2575 break; 2579 break;
2576 case BC_USETP: 2580 case BC_USETP:
2577 dasm_put(Dst, 12476, offsetof(GCfuncL, uvptr), DtA(->v)); 2581 dasm_put(Dst, 12499, offsetof(GCfuncL, uvptr), DtA(->v));
2578 break; 2582 break;
2579 case BC_UCLO: 2583 case BC_UCLO:
2580 dasm_put(Dst, 12516, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2584 dasm_put(Dst, 12539, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2581 break; 2585 break;
2582 2586
2583 case BC_FNEW: 2587 case BC_FNEW:
2584 dasm_put(Dst, 12572, Dt1(->base), Dt1(->base), LJ_TFUNC); 2588 dasm_put(Dst, 12595, Dt1(->base), Dt1(->base), LJ_TFUNC);
2585 break; 2589 break;
2586 2590
2587 /* -- Table ops --------------------------------------------------------- */ 2591 /* -- Table ops --------------------------------------------------------- */
2588 2592
2589 case BC_TNEW: 2593 case BC_TNEW:
2590 dasm_put(Dst, 12639, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2594 dasm_put(Dst, 12662, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2591 break; 2595 break;
2592 case BC_TDUP: 2596 case BC_TDUP:
2593 dasm_put(Dst, 12763, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2597 dasm_put(Dst, 12786, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2594 break; 2598 break;
2595 2599
2596 case BC_GGET: 2600 case BC_GGET:
2597 dasm_put(Dst, 12862, Dt7(->env)); 2601 dasm_put(Dst, 12885, Dt7(->env));
2598 break; 2602 break;
2599 case BC_GSET: 2603 case BC_GSET:
2600 dasm_put(Dst, 12882, Dt7(->env)); 2604 dasm_put(Dst, 12905, Dt7(->env));
2601 break; 2605 break;
2602 2606
2603 case BC_TGETV: 2607 case BC_TGETV:
2604 dasm_put(Dst, 12902, LJ_TTAB); 2608 dasm_put(Dst, 12925, LJ_TTAB);
2605 if (LJ_DUALNUM) { 2609 if (LJ_DUALNUM) {
2606 dasm_put(Dst, 12925, LJ_TISNUM); 2610 dasm_put(Dst, 12948, LJ_TISNUM);
2607 } else { 2611 } else {
2608 dasm_put(Dst, 12939, LJ_TISNUM); 2612 dasm_put(Dst, 12962, LJ_TISNUM);
2609 if (sse) { 2613 if (sse) {
2610 dasm_put(Dst, 12950); 2614 dasm_put(Dst, 12973);
2611 } else { 2615 } else {
2612 } 2616 }
2613 dasm_put(Dst, 12971); 2617 dasm_put(Dst, 12994);
2614 } 2618 }
2615 dasm_put(Dst, 12976, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); 2619 dasm_put(Dst, 12999, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2616 dasm_put(Dst, 13068, LJ_TSTR); 2620 dasm_put(Dst, 13091, LJ_TSTR);
2617 break; 2621 break;
2618 case BC_TGETS: 2622 case BC_TGETS:
2619 dasm_put(Dst, 13086, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2623 dasm_put(Dst, 13109, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2620 dasm_put(Dst, 13171, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2624 dasm_put(Dst, 13194, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2621 break; 2625 break;
2622 case BC_TGETB: 2626 case BC_TGETB:
2623 dasm_put(Dst, 13243, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2627 dasm_put(Dst, 13266, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2624 dasm_put(Dst, 13339, LJ_TNIL); 2628 dasm_put(Dst, 13362, LJ_TNIL);
2625 break; 2629 break;
2626 2630
2627 case BC_TSETV: 2631 case BC_TSETV:
2628 dasm_put(Dst, 13356, LJ_TTAB); 2632 dasm_put(Dst, 13379, LJ_TTAB);
2629 if (LJ_DUALNUM) { 2633 if (LJ_DUALNUM) {
2630 dasm_put(Dst, 12925, LJ_TISNUM); 2634 dasm_put(Dst, 12948, LJ_TISNUM);
2631 } else { 2635 } else {
2632 dasm_put(Dst, 12939, LJ_TISNUM); 2636 dasm_put(Dst, 12962, LJ_TISNUM);
2633 if (sse) { 2637 if (sse) {
2634 dasm_put(Dst, 12950); 2638 dasm_put(Dst, 12973);
2635 } else { 2639 } else {
2636 } 2640 }
2637 dasm_put(Dst, 13379); 2641 dasm_put(Dst, 13402);
2638 } 2642 }
2639 dasm_put(Dst, 13384, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); 2643 dasm_put(Dst, 13407, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
2640 dasm_put(Dst, 13465, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2644 dasm_put(Dst, 13488, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2641 break; 2645 break;
2642 case BC_TSETS: 2646 case BC_TSETS:
2643 dasm_put(Dst, 13524, 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, 13547, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2644 dasm_put(Dst, 13601, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2648 dasm_put(Dst, 13624, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2645 dasm_put(Dst, 13688, 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 dasm_put(Dst, 13711, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2646 break; 2650 break;
2647 case BC_TSETB: 2651 case BC_TSETB:
2648 dasm_put(Dst, 13780, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2652 dasm_put(Dst, 13803, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2649 dasm_put(Dst, 13875, 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 dasm_put(Dst, 13898, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2650 break; 2654 break;
2651 2655
2652 case BC_TSETM: 2656 case BC_TSETM:
2653 dasm_put(Dst, 13923, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2657 dasm_put(Dst, 13946, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2654 dasm_put(Dst, 14073, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2658 dasm_put(Dst, 14096, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2655 break; 2659 break;
2656 2660
2657 /* -- Calls and vararg handling ----------------------------------------- */ 2661 /* -- Calls and vararg handling ----------------------------------------- */
2658 2662
2659 case BC_CALL: case BC_CALLM: 2663 case BC_CALL: case BC_CALLM:
2660 dasm_put(Dst, 11188); 2664 dasm_put(Dst, 11211);
2661 if (op == BC_CALLM) { 2665 if (op == BC_CALLM) {
2662 dasm_put(Dst, 14093); 2666 dasm_put(Dst, 14116);
2663 } 2667 }
2664 dasm_put(Dst, 14098, LJ_TFUNC, Dt7(->pc)); 2668 dasm_put(Dst, 14121, LJ_TFUNC, Dt7(->pc));
2665 break; 2669 break;
2666 2670
2667 case BC_CALLMT: 2671 case BC_CALLMT:
2668 dasm_put(Dst, 14093); 2672 dasm_put(Dst, 14116);
2669 break; 2673 break;
2670 case BC_CALLT: 2674 case BC_CALLT:
2671 dasm_put(Dst, 14141, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2675 dasm_put(Dst, 14164, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2672 dasm_put(Dst, 14259, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2676 dasm_put(Dst, 14282, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2673 break; 2677 break;
2674 2678
2675 case BC_ITERC: 2679 case BC_ITERC:
2676 dasm_put(Dst, 14333, LJ_TFUNC, 2+1, Dt7(->pc)); 2680 dasm_put(Dst, 14356, LJ_TFUNC, 2+1, Dt7(->pc));
2677 break; 2681 break;
2678 2682
2679 case BC_ITERN: 2683 case BC_ITERN:
2680#if LJ_HASJIT 2684#if LJ_HASJIT
2681#endif 2685#endif
2682 dasm_put(Dst, 14405, Dt6(->asize), Dt6(->array), LJ_TNIL); 2686 dasm_put(Dst, 14428, Dt6(->asize), Dt6(->array), LJ_TNIL);
2683 if (LJ_DUALNUM) { 2687 if (LJ_DUALNUM) {
2684 dasm_put(Dst, 11087, LJ_TISNUM); 2688 dasm_put(Dst, 11110, LJ_TISNUM);
2685 } else if (sse) { 2689 } else if (sse) {
2686 dasm_put(Dst, 11165); 2690 dasm_put(Dst, 11188);
2687 } else { 2691 } else {
2688 dasm_put(Dst, 14457); 2692 dasm_put(Dst, 14480);
2689 } 2693 }
2690 dasm_put(Dst, 14463); 2694 dasm_put(Dst, 14486);
2691 if (LJ_DUALNUM) { 2695 if (LJ_DUALNUM) {
2692 } else if (sse) { 2696 } else if (sse) {
2693 dasm_put(Dst, 11052); 2697 dasm_put(Dst, 11075);
2694 } else { 2698 } else {
2695 dasm_put(Dst, 11064); 2699 dasm_put(Dst, 11087);
2696 } 2700 }
2697 dasm_put(Dst, 14476, -BCBIAS_J*4); 2701 dasm_put(Dst, 14499, -BCBIAS_J*4);
2698 if (!LJ_DUALNUM && !sse) { 2702 if (!LJ_DUALNUM && !sse) {
2699 dasm_put(Dst, 14530); 2703 dasm_put(Dst, 14553);
2700 } 2704 }
2701 dasm_put(Dst, 14536, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); 2705 dasm_put(Dst, 14559, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
2702 break; 2706 break;
2703 2707
2704 case BC_ISNEXT: 2708 case BC_ISNEXT:
2705 dasm_put(Dst, 14615, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2709 dasm_put(Dst, 14638, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2706 break; 2710 break;
2707 2711
2708 case BC_VARG: 2712 case BC_VARG:
2709 dasm_put(Dst, 14716, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2713 dasm_put(Dst, 14739, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2710 dasm_put(Dst, 14883, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2714 dasm_put(Dst, 14906, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2711 break; 2715 break;
2712 2716
2713 /* -- Returns ----------------------------------------------------------- */ 2717 /* -- Returns ----------------------------------------------------------- */
2714 2718
2715 case BC_RETM: 2719 case BC_RETM:
2716 dasm_put(Dst, 14093); 2720 dasm_put(Dst, 14116);
2717 break; 2721 break;
2718 2722
2719 case BC_RET: case BC_RET0: case BC_RET1: 2723 case BC_RET: case BC_RET0: case BC_RET1:
2720 if (op != BC_RET0) { 2724 if (op != BC_RET0) {
2721 dasm_put(Dst, 14953); 2725 dasm_put(Dst, 14976);
2722 } 2726 }
2723 dasm_put(Dst, 14957, FRAME_TYPE); 2727 dasm_put(Dst, 14980, FRAME_TYPE);
2724 switch (op) { 2728 switch (op) {
2725 case BC_RET: 2729 case BC_RET:
2726 dasm_put(Dst, 14976); 2730 dasm_put(Dst, 14999);
2727 break; 2731 break;
2728 case BC_RET1: 2732 case BC_RET1:
2729 dasm_put(Dst, 15030); 2733 dasm_put(Dst, 15053);
2730 /* fallthrough */ 2734 /* fallthrough */
2731 case BC_RET0: 2735 case BC_RET0:
2732 dasm_put(Dst, 15040); 2736 dasm_put(Dst, 15063);
2733 default: 2737 default:
2734 break; 2738 break;
2735 } 2739 }
2736 dasm_put(Dst, 15051, Dt7(->pc), PC2PROTO(k)); 2740 dasm_put(Dst, 15074, Dt7(->pc), PC2PROTO(k));
2737 if (op == BC_RET) { 2741 if (op == BC_RET) {
2738 dasm_put(Dst, 15099, LJ_TNIL); 2742 dasm_put(Dst, 15122, LJ_TNIL);
2739 } else { 2743 } else {
2740 dasm_put(Dst, 15110, LJ_TNIL); 2744 dasm_put(Dst, 15133, LJ_TNIL);
2741 } 2745 }
2742 dasm_put(Dst, 15117, -FRAME_VARG, FRAME_TYPEP); 2746 dasm_put(Dst, 15140, -FRAME_VARG, FRAME_TYPEP);
2743 if (op != BC_RET0) { 2747 if (op != BC_RET0) {
2744 dasm_put(Dst, 15141); 2748 dasm_put(Dst, 15164);
2745 } 2749 }
2746 dasm_put(Dst, 4709); 2750 dasm_put(Dst, 4732);
2747 break; 2751 break;
2748 2752
2749 /* -- Loops and branches ------------------------------------------------ */ 2753 /* -- Loops and branches ------------------------------------------------ */
@@ -2751,7 +2755,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2751 2755
2752 case BC_FORL: 2756 case BC_FORL:
2753#if LJ_HASJIT 2757#if LJ_HASJIT
2754 dasm_put(Dst, 15145, HOTCOUNT_PCMASK, GG_DISP2HOT); 2758 dasm_put(Dst, 15168, HOTCOUNT_PCMASK, GG_DISP2HOT);
2755#endif 2759#endif
2756 break; 2760 break;
2757 2761
@@ -2763,111 +2767,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2763 case BC_FORI: 2767 case BC_FORI:
2764 case BC_IFORL: 2768 case BC_IFORL:
2765 vk = (op == BC_IFORL || op == BC_JFORL); 2769 vk = (op == BC_IFORL || op == BC_JFORL);
2766 dasm_put(Dst, 15166); 2770 dasm_put(Dst, 15189);
2767 if (LJ_DUALNUM) { 2771 if (LJ_DUALNUM) {
2768 dasm_put(Dst, 15170, LJ_TISNUM); 2772 dasm_put(Dst, 15193, LJ_TISNUM);
2769 if (!vk) { 2773 if (!vk) {
2770 dasm_put(Dst, 15180, LJ_TISNUM, LJ_TISNUM); 2774 dasm_put(Dst, 15203, LJ_TISNUM, LJ_TISNUM);
2771 } else { 2775 } else {
2772#ifdef LUA_USE_ASSERT 2776#ifdef LUA_USE_ASSERT
2773 dasm_put(Dst, 15209, LJ_TISNUM, LJ_TISNUM); 2777 dasm_put(Dst, 15232, LJ_TISNUM, LJ_TISNUM);
2774#endif 2778#endif
2775 dasm_put(Dst, 15228); 2779 dasm_put(Dst, 15251);
2776 } 2780 }
2777 dasm_put(Dst, 15247, LJ_TISNUM); 2781 dasm_put(Dst, 15270, LJ_TISNUM);
2778 if (op == BC_FORI) { 2782 if (op == BC_FORI) {
2779 dasm_put(Dst, 15258, -BCBIAS_J*4); 2783 dasm_put(Dst, 15281, -BCBIAS_J*4);
2780 } else if (op == BC_JFORI) { 2784 } else if (op == BC_JFORI) {
2781 dasm_put(Dst, 15272, -BCBIAS_J*4, BC_JLOOP); 2785 dasm_put(Dst, 15295, -BCBIAS_J*4, BC_JLOOP);
2782 } else if (op == BC_IFORL) { 2786 } else if (op == BC_IFORL) {
2783 dasm_put(Dst, 15290, -BCBIAS_J*4); 2787 dasm_put(Dst, 15313, -BCBIAS_J*4);
2784 } else { 2788 } else {
2785 dasm_put(Dst, 15282, BC_JLOOP); 2789 dasm_put(Dst, 15305, BC_JLOOP);
2786 } 2790 }
2787 dasm_put(Dst, 15304); 2791 dasm_put(Dst, 15327);
2788 if (vk) { 2792 if (vk) {
2789 dasm_put(Dst, 15329); 2793 dasm_put(Dst, 15352);
2790 } 2794 }
2791 dasm_put(Dst, 15247, LJ_TISNUM); 2795 dasm_put(Dst, 15270, LJ_TISNUM);
2792 if (op == BC_FORI) { 2796 if (op == BC_FORI) {
2793 dasm_put(Dst, 15338); 2797 dasm_put(Dst, 15361);
2794 } else if (op == BC_JFORI) { 2798 } else if (op == BC_JFORI) {
2795 dasm_put(Dst, 15343, -BCBIAS_J*4, BC_JLOOP); 2799 dasm_put(Dst, 15366, -BCBIAS_J*4, BC_JLOOP);
2796 } else if (op == BC_IFORL) { 2800 } else if (op == BC_IFORL) {
2797 dasm_put(Dst, 15357); 2801 dasm_put(Dst, 15380);
2798 } else { 2802 } else {
2799 dasm_put(Dst, 15353, BC_JLOOP); 2803 dasm_put(Dst, 15376, BC_JLOOP);
2800 } 2804 }
2801 dasm_put(Dst, 15362); 2805 dasm_put(Dst, 15385);
2802 } else if (!vk) { 2806 } else if (!vk) {
2803 dasm_put(Dst, 15369, LJ_TISNUM); 2807 dasm_put(Dst, 15392, LJ_TISNUM);
2804 } 2808 }
2805 if (!vk) { 2809 if (!vk) {
2806 dasm_put(Dst, 15375, LJ_TISNUM); 2810 dasm_put(Dst, 15398, LJ_TISNUM);
2807 } else { 2811 } else {
2808#ifdef LUA_USE_ASSERT 2812#ifdef LUA_USE_ASSERT
2809 dasm_put(Dst, 15389, LJ_TISNUM, LJ_TISNUM); 2813 dasm_put(Dst, 15412, LJ_TISNUM, LJ_TISNUM);
2810#endif 2814#endif
2811 } 2815 }
2812 dasm_put(Dst, 15408); 2816 dasm_put(Dst, 15431);
2813 if (!vk) { 2817 if (!vk) {
2814 dasm_put(Dst, 15412, LJ_TISNUM); 2818 dasm_put(Dst, 15435, LJ_TISNUM);
2815 } 2819 }
2816 if (sse) { 2820 if (sse) {
2817 dasm_put(Dst, 15421); 2821 dasm_put(Dst, 15444);
2818 if (vk) { 2822 if (vk) {
2819 dasm_put(Dst, 15433); 2823 dasm_put(Dst, 15456);
2820 } else { 2824 } else {
2821 dasm_put(Dst, 15452); 2825 dasm_put(Dst, 15475);
2822 } 2826 }
2823 dasm_put(Dst, 15457); 2827 dasm_put(Dst, 15480);
2824 } else { 2828 } else {
2825 dasm_put(Dst, 15470); 2829 dasm_put(Dst, 15493);
2826 if (vk) { 2830 if (vk) {
2827 dasm_put(Dst, 15476); 2831 dasm_put(Dst, 15499);
2828 } else { 2832 } else {
2829 dasm_put(Dst, 15492); 2833 dasm_put(Dst, 15515);
2830 } 2834 }
2831 dasm_put(Dst, 15500); 2835 dasm_put(Dst, 15523);
2832 if (cmov) { 2836 if (cmov) {
2833 dasm_put(Dst, 10130); 2837 dasm_put(Dst, 10153);
2834 } else { 2838 } else {
2835 dasm_put(Dst, 10136); 2839 dasm_put(Dst, 10159);
2836 } 2840 }
2837 if (!cmov) { 2841 if (!cmov) {
2838 dasm_put(Dst, 15505); 2842 dasm_put(Dst, 15528);
2839 } 2843 }
2840 } 2844 }
2841 if (op == BC_FORI) { 2845 if (op == BC_FORI) {
2842 if (LJ_DUALNUM) { 2846 if (LJ_DUALNUM) {
2843 dasm_put(Dst, 15511); 2847 dasm_put(Dst, 15534);
2844 } else { 2848 } else {
2845 dasm_put(Dst, 15516, -BCBIAS_J*4); 2849 dasm_put(Dst, 15539, -BCBIAS_J*4);
2846 } 2850 }
2847 } else if (op == BC_JFORI) { 2851 } else if (op == BC_JFORI) {
2848 dasm_put(Dst, 15526, -BCBIAS_J*4, BC_JLOOP); 2852 dasm_put(Dst, 15549, -BCBIAS_J*4, BC_JLOOP);
2849 } else if (op == BC_IFORL) { 2853 } else if (op == BC_IFORL) {
2850 if (LJ_DUALNUM) { 2854 if (LJ_DUALNUM) {
2851 dasm_put(Dst, 15540); 2855 dasm_put(Dst, 15563);
2852 } else { 2856 } else {
2853 dasm_put(Dst, 15545, -BCBIAS_J*4); 2857 dasm_put(Dst, 15568, -BCBIAS_J*4);
2854 } 2858 }
2855 } else { 2859 } else {
2856 dasm_put(Dst, 15536, BC_JLOOP); 2860 dasm_put(Dst, 15559, BC_JLOOP);
2857 } 2861 }
2858 if (LJ_DUALNUM) { 2862 if (LJ_DUALNUM) {
2859 dasm_put(Dst, 10059); 2863 dasm_put(Dst, 10082);
2860 } else { 2864 } else {
2861 dasm_put(Dst, 10833); 2865 dasm_put(Dst, 10856);
2862 } 2866 }
2863 if (sse) { 2867 if (sse) {
2864 dasm_put(Dst, 15555); 2868 dasm_put(Dst, 15578);
2865 } 2869 }
2866 break; 2870 break;
2867 2871
2868 case BC_ITERL: 2872 case BC_ITERL:
2869#if LJ_HASJIT 2873#if LJ_HASJIT
2870 dasm_put(Dst, 15145, HOTCOUNT_PCMASK, GG_DISP2HOT); 2874 dasm_put(Dst, 15168, HOTCOUNT_PCMASK, GG_DISP2HOT);
2871#endif 2875#endif
2872 break; 2876 break;
2873 2877
@@ -2876,33 +2880,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2876 break; 2880 break;
2877#endif 2881#endif
2878 case BC_IITERL: 2882 case BC_IITERL:
2879 dasm_put(Dst, 15566, LJ_TNIL); 2883 dasm_put(Dst, 15589, LJ_TNIL);
2880 if (op == BC_JITERL) { 2884 if (op == BC_JITERL) {
2881 dasm_put(Dst, 15581, BC_JLOOP); 2885 dasm_put(Dst, 15604, BC_JLOOP);
2882 } else { 2886 } else {
2883 dasm_put(Dst, 15595, -BCBIAS_J*4); 2887 dasm_put(Dst, 15618, -BCBIAS_J*4);
2884 } 2888 }
2885 dasm_put(Dst, 10173); 2889 dasm_put(Dst, 10196);
2886 break; 2890 break;
2887 2891
2888 case BC_LOOP: 2892 case BC_LOOP:
2889#if LJ_HASJIT 2893#if LJ_HASJIT
2890 dasm_put(Dst, 15145, HOTCOUNT_PCMASK, GG_DISP2HOT); 2894 dasm_put(Dst, 15168, HOTCOUNT_PCMASK, GG_DISP2HOT);
2891#endif 2895#endif
2892 break; 2896 break;
2893 2897
2894 case BC_ILOOP: 2898 case BC_ILOOP:
2895 dasm_put(Dst, 10175); 2899 dasm_put(Dst, 10198);
2896 break; 2900 break;
2897 2901
2898 case BC_JLOOP: 2902 case BC_JLOOP:
2899#if LJ_HASJIT 2903#if LJ_HASJIT
2900 dasm_put(Dst, 15611, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2904 dasm_put(Dst, 15634, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2901#endif 2905#endif
2902 break; 2906 break;
2903 2907
2904 case BC_JMP: 2908 case BC_JMP:
2905 dasm_put(Dst, 15652, -BCBIAS_J*4); 2909 dasm_put(Dst, 15675, -BCBIAS_J*4);
2906 break; 2910 break;
2907 2911
2908 /* -- Function headers -------------------------------------------------- */ 2912 /* -- Function headers -------------------------------------------------- */
@@ -2916,7 +2920,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2916 2920
2917 case BC_FUNCF: 2921 case BC_FUNCF:
2918#if LJ_HASJIT 2922#if LJ_HASJIT
2919 dasm_put(Dst, 15678, HOTCOUNT_PCMASK, GG_DISP2HOT); 2923 dasm_put(Dst, 15701, HOTCOUNT_PCMASK, GG_DISP2HOT);
2920#endif 2924#endif
2921 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2925 case BC_FUNCV: /* NYI: compiled vararg functions. */
2922 break; 2926 break;
@@ -2926,47 +2930,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2926 break; 2930 break;
2927#endif 2931#endif
2928 case BC_IFUNCF: 2932 case BC_IFUNCF:
2929 dasm_put(Dst, 15699, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2933 dasm_put(Dst, 15722, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2930 if (op == BC_JFUNCF) { 2934 if (op == BC_JFUNCF) {
2931 dasm_put(Dst, 15730, BC_JLOOP); 2935 dasm_put(Dst, 15753, BC_JLOOP);
2932 } else { 2936 } else {
2933 dasm_put(Dst, 10175); 2937 dasm_put(Dst, 10198);
2934 } 2938 }
2935 dasm_put(Dst, 15739, LJ_TNIL); 2939 dasm_put(Dst, 15762, LJ_TNIL);
2936 break; 2940 break;
2937 2941
2938 case BC_JFUNCV: 2942 case BC_JFUNCV:
2939#if !LJ_HASJIT 2943#if !LJ_HASJIT
2940 break; 2944 break;
2941#endif 2945#endif
2942 dasm_put(Dst, 9282); 2946 dasm_put(Dst, 9305);
2943 break; /* NYI: compiled vararg functions. */ 2947 break; /* NYI: compiled vararg functions. */
2944 2948
2945 case BC_IFUNCV: 2949 case BC_IFUNCV:
2946 dasm_put(Dst, 15761, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2950 dasm_put(Dst, 15784, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2947 if (op == BC_JFUNCV) { 2951 if (op == BC_JFUNCV) {
2948 dasm_put(Dst, 15730, BC_JLOOP); 2952 dasm_put(Dst, 15753, BC_JLOOP);
2949 } else { 2953 } else {
2950 dasm_put(Dst, 15858, -4+PC2PROTO(k)); 2954 dasm_put(Dst, 15881, -4+PC2PROTO(k));
2951 } 2955 }
2952 dasm_put(Dst, 15883, LJ_TNIL); 2956 dasm_put(Dst, 15906, LJ_TNIL);
2953 break; 2957 break;
2954 2958
2955 case BC_FUNCC: 2959 case BC_FUNCC:
2956 case BC_FUNCCW: 2960 case BC_FUNCCW:
2957 dasm_put(Dst, 15905, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2961 dasm_put(Dst, 15928, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2958 if (op == BC_FUNCC) { 2962 if (op == BC_FUNCC) {
2959 dasm_put(Dst, 2381); 2963 dasm_put(Dst, 2404);
2960 } else { 2964 } else {
2961 dasm_put(Dst, 15935); 2965 dasm_put(Dst, 15958);
2962 } 2966 }
2963 dasm_put(Dst, 15943, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2967 dasm_put(Dst, 15966, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2964 if (op == BC_FUNCC) { 2968 if (op == BC_FUNCC) {
2965 dasm_put(Dst, 15953); 2969 dasm_put(Dst, 15976);
2966 } else { 2970 } else {
2967 dasm_put(Dst, 15958, DISPATCH_GL(wrapf)); 2971 dasm_put(Dst, 15981, DISPATCH_GL(wrapf));
2968 } 2972 }
2969 dasm_put(Dst, 15964, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2973 dasm_put(Dst, 15987, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2970 break; 2974 break;
2971 2975
2972 /* ---------------------------------------------------------------------- */ 2976 /* ---------------------------------------------------------------------- */
@@ -2994,7 +2998,7 @@ static int build_backend(BuildCtx *ctx)
2994 2998
2995 build_subroutines(ctx, cmov, sse); 2999 build_subroutines(ctx, cmov, sse);
2996 3000
2997 dasm_put(Dst, 15990); 3001 dasm_put(Dst, 16013);
2998 for (op = 0; op < BC__MAX; op++) 3002 for (op = 0; op < BC__MAX; op++)
2999 build_ins(ctx, (BCOp)op, op, cmov, sse); 3003 build_ins(ctx, (BCOp)op, op, cmov, sse);
3000 3004
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h
index 461f768c..4b3f5237 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[15847] = { 15static const unsigned char build_actionlist[15870] = {
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,
@@ -50,111 +50,112 @@ static const unsigned char build_actionlist[15847] = {
50 124,36,88,72,139,189,233,72,137,124,36,104,72,137,165,233,65,252,255,209, 50 124,36,88,72,139,189,233,72,137,124,36,104,72,137,165,233,65,252,255,209,
51 133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1,209,131,230, 51 133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1,209,131,230,
52 252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,139,117,252,244, 52 252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,139,117,252,244,
53 72,99,77,252,240,72,141,61,245,255,72,1,252,249,139,122,252,248,139,191,233, 53 72,99,77,252,240,133,201,15,132,244,247,255,72,141,61,245,72,1,252,249,139,
54 139,191,233,252,255,225,248,32,15,182,78,252,255,131,252,237,16,141,12,202, 54 122,252,248,139,191,233,139,191,233,252,255,225,248,1,41,213,193,252,237,
55 41,252,233,15,132,244,33,252,247,217,193,252,233,3,65,137,200,139,76,36,96, 55 3,141,69,252,255,252,233,244,32,248,33,15,182,78,252,255,131,252,237,16,141,
56 137,145,233,72,139,0,72,137,69,0,137,252,234,252,233,244,34,248,35,137,68, 56 12,202,41,252,233,15,132,244,34,252,247,217,193,252,233,3,65,137,200,139,
57 36,80,199,68,36,84,237,72,141,68,36,80,128,126,252,252,235,15,133,244,247, 57 76,36,96,137,145,233,72,139,0,72,137,69,0,137,252,234,252,233,244,35,248,
58 141,139,233,137,41,199,65,4,237,137,205,252,233,244,248,248,36,15,182,70, 58 36,137,68,36,80,199,68,36,84,237,72,141,68,36,80,128,126,252,252,235,15,133,
59 252,254,255,199,68,36,84,237,137,68,36,80,255,252,242,15,42,192,252,242,15, 59 244,247,141,139,233,137,41,199,65,4,237,255,137,205,252,233,244,248,248,37,
60 17,68,36,80,255,72,141,68,36,80,252,233,244,247,248,37,15,182,70,252,254, 60 15,182,70,252,254,255,199,68,36,84,237,137,68,36,80,255,252,242,15,42,192,
61 141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,139,76,36,96,137, 61 252,242,15,17,68,36,80,255,72,141,68,36,80,252,233,244,247,248,38,15,182,
62 145,233,137,252,234,73,137,192,137,205,137,116,36,100,232,251,1,1,139,149, 62 70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,139,76,
63 233,133,192,15,132,244,249,248,33,15,182,78,252,253,72,139,40,72,137,44,202, 63 36,96,137,145,233,137,252,234,73,137,192,137,205,137,116,36,100,232,251,1,
64 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3, 64 1,139,149,233,133,192,15,132,244,249,248,34,15,182,78,252,253,72,139,40,72,
65 139,141,233,137,113,252,244,141,177,233,41,214,139,105,252,248,184,237,252, 65 137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
66 233,244,30,248,38,137,68,36,80,199,68,36,84,237,72,141,68,36,80,128,126,252, 66 235,248,3,139,141,233,137,113,252,244,141,177,233,41,214,139,105,252,248,
67 252,235,15,133,244,247,255,141,139,233,137,41,199,65,4,237,137,205,252,233, 67 184,237,252,233,244,30,248,39,137,68,36,80,199,68,36,84,237,72,141,68,36,
68 244,248,248,39,15,182,70,252,254,255,72,141,68,36,80,252,233,244,247,248, 68 80,128,126,252,252,235,15,133,244,247,255,141,139,233,137,41,199,65,4,237,
69 40,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248, 69 137,205,252,233,244,248,248,40,15,182,70,252,254,255,72,141,68,36,80,252,
70 2,139,76,36,96,137,145,233,137,252,234,73,137,192,137,205,137,116,36,100, 70 233,244,247,248,41,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141,
71 232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78,252,253,72,139,44, 71 44,252,234,248,2,139,76,36,96,137,145,233,137,252,234,73,137,192,137,205,
72 202,72,137,40,248,41,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 72 137,116,36,100,232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78,252,
73 255,36,252,235,248,3,139,141,233,137,113,252,244,15,182,70,252,253,72,139, 73 253,72,139,44,202,72,137,40,248,42,139,6,15,182,204,15,182,232,131,198,4,
74 44,194,72,137,105,16,141,177,233,41,214,139,105,252,248,184,237,252,233,244, 74 193,232,16,252,255,36,252,235,248,3,139,141,233,137,113,252,244,15,182,70,
75 30,248,42,139,108,36,96,137,149,233,68,141,4,194,141,20,202,137,252,233,68, 75 252,253,72,139,44,194,72,137,105,16,141,177,233,41,214,139,105,252,248,184,
76 15,182,78,252,252,137,116,36,100,232,251,1,3,248,3,139,149,233,255,131,252, 76 237,252,233,244,30,248,43,139,108,36,96,137,149,233,68,141,4,194,141,20,202,
77 248,1,15,135,244,43,248,4,141,118,4,15,130,244,252,248,5,15,183,70,252,254, 77 137,252,233,68,15,182,78,252,252,137,116,36,100,232,251,1,3,248,3,139,149,
78 141,180,253,134,233,248,6,139,6,15,182,204,15,182,232,131,198,4,193,232,16, 78 233,255,131,252,248,1,15,135,244,44,248,4,141,118,4,15,130,244,252,248,5,
79 252,255,36,252,235,248,44,131,198,4,129,120,253,4,239,15,130,244,5,252,233, 79 15,183,70,252,254,141,180,253,134,233,248,6,139,6,15,182,204,15,182,232,131,
80 244,6,248,45,129,120,253,4,239,252,233,244,4,248,46,131,252,238,4,65,137, 80 198,4,193,232,16,252,255,36,252,235,248,45,131,198,4,129,120,253,4,239,15,
81 192,65,137,252,233,139,108,36,96,137,149,233,255,137,202,137,252,233,137, 81 130,244,5,252,233,244,6,248,46,129,120,253,4,239,252,233,244,4,248,47,131,
82 116,36,100,232,251,1,4,252,233,244,3,248,47,255,131,252,238,4,139,108,36, 82 252,238,4,65,137,192,65,137,252,233,139,108,36,96,137,149,233,255,137,202,
83 96,137,149,233,137,252,233,139,86,252,252,137,116,36,100,232,251,1,5,252, 83 137,252,233,137,116,36,100,232,251,1,4,252,233,244,3,248,48,255,131,252,238,
84 233,244,3,255,248,48,255,15,182,110,252,255,255,248,49,141,4,199,252,233, 84 4,139,108,36,96,137,149,233,137,252,233,139,86,252,252,137,116,36,100,232,
85 244,247,248,50,255,248,51,141,4,199,141,44,252,234,149,252,233,244,248,248, 85 251,1,5,252,233,244,3,255,248,49,255,15,182,110,252,255,255,248,50,141,4,
86 52,141,4,194,137,197,252,233,244,248,248,53,255,248,54,141,4,194,248,1,141, 86 199,252,233,244,247,248,51,255,248,52,141,4,199,141,44,252,234,149,252,233,
87 44,252,234,248,2,141,12,202,65,137,232,65,137,193,15,182,70,252,252,137,68, 87 244,248,248,53,141,4,194,137,197,252,233,244,248,248,54,255,248,55,141,4,
88 36,32,139,108,36,96,137,149,233,137,202,137,252,233,137,116,36,100,232,251, 88 194,248,1,141,44,252,234,248,2,141,12,202,65,137,232,65,137,193,15,182,70,
89 1,6,139,149,233,133,192,15,132,244,41,248,43,137,193,41,208,137,113,252,244, 89 252,252,137,68,36,32,139,108,36,96,137,149,233,137,202,137,252,233,137,116,
90 141,176,233,184,237,252,233,244,28,248,55,139,108,36,96,137,149,233,141,20, 90 36,100,232,251,1,6,139,149,233,133,192,15,132,244,42,248,44,137,193,41,208,
91 194,137,252,233,137,116,36,100,232,251,1,7,139,149,233,252,233,244,43,248, 91 137,113,252,244,141,176,233,184,237,252,233,244,28,248,56,139,108,36,96,137,
92 56,141,76,202,8,248,29,137,76,36,84,137,68,36,80,131,252,233,8,139,108,36, 92 149,233,141,20,194,137,252,233,137,116,36,100,232,251,1,7,139,149,233,252,
93 96,137,149,233,255,137,202,68,141,4,193,137,252,233,137,116,36,100,232,251, 93 233,244,44,248,57,141,76,202,8,248,29,137,76,36,84,137,68,36,80,131,252,233,
94 1,8,139,149,233,139,76,36,84,139,68,36,80,139,105,252,248,131,192,1,57,215, 94 8,139,108,36,96,137,149,233,255,137,202,68,141,4,193,137,252,233,137,116,
95 15,132,244,57,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15, 95 36,100,232,251,1,8,139,149,233,139,76,36,84,139,68,36,80,139,105,252,248,
96 182,205,131,198,4,252,255,36,252,235,248,58,139,108,36,96,137,149,233,137, 96 131,192,1,57,215,15,132,244,58,137,202,137,114,252,252,139,181,233,139,14,
97 202,137,252,233,137,116,36,100,232,251,1,9,139,149,233,139,70,252,252,15, 97 15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,248,59,139,108,36,
98 182,204,15,182,232,193,232,16,252,255,164,253,252,235,233,248,59,129,252, 98 96,137,149,233,137,202,137,252,233,137,116,36,100,232,251,1,9,139,149,233,
99 248,239,15,130,244,60,139,106,4,129,252,253,239,15,131,244,60,139,114,252, 99 139,70,252,252,15,182,204,15,182,232,193,232,16,252,255,164,253,252,235,233,
100 252,137,68,36,84,137,106,252,252,139,42,137,106,252,248,131,232,2,15,132, 100 248,60,129,252,248,239,15,130,244,61,139,106,4,129,252,253,239,15,131,244,
101 244,248,137,209,248,1,131,193,8,72,139,41,72,137,105,252,248,131,232,1,15, 101 61,139,114,252,252,137,68,36,84,137,106,252,252,139,42,137,106,252,248,131,
102 133,244,1,248,2,255,139,68,36,84,252,233,244,61,248,62,129,252,248,239,15, 102 232,2,15,132,244,248,137,209,248,1,131,193,8,72,139,41,72,137,105,252,248,
103 130,244,60,139,106,4,137,252,233,193,252,249,15,131,252,249,252,254,15,132, 103 131,232,1,15,133,244,1,248,2,255,139,68,36,84,252,233,244,62,248,63,129,252,
104 244,249,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232, 104 248,239,15,130,244,61,139,106,4,137,252,233,193,252,249,15,131,252,249,252,
105 248,1,255,248,2,139,106,252,248,139,132,253,197,233,139,114,252,252,199,66, 105 254,15,132,244,249,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244,
106 252,252,237,137,66,252,248,252,233,244,63,248,3,184,237,252,233,244,2,248, 106 247,137,232,248,1,255,248,2,139,106,252,248,139,132,253,197,233,139,114,252,
107 64,129,252,248,239,15,130,244,60,139,106,4,139,114,252,252,129,252,253,239, 107 252,199,66,252,252,237,137,66,252,248,252,233,244,64,248,3,184,237,252,233,
108 15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237,199,66,252,252, 108 244,2,248,65,129,252,248,239,15,130,244,61,139,106,4,139,114,252,252,129,
109 237,255,15,132,244,63,139,131,233,199,66,252,252,237,137,106,252,248,139, 109 252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237,199,
110 141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15,133,244, 110 66,252,252,237,255,15,132,244,64,139,131,233,199,66,252,252,237,137,106,252,
111 250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244,3,255, 111 248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15,
112 252,233,244,63,248,5,139,105,4,129,252,253,239,15,132,244,63,139,1,137,106, 112 133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244,
113 252,252,137,66,252,248,252,233,244,63,248,6,129,252,253,239,15,132,244,1, 113 3,255,252,233,244,64,248,5,139,105,4,129,252,253,239,15,132,244,64,139,1,
114 129,252,253,239,15,135,244,254,129,252,253,239,15,134,244,253,189,237,252, 114 137,106,252,252,137,66,252,248,252,233,244,64,248,6,129,252,253,239,15,132,
115 233,244,254,248,7,255,189,237,248,8,252,247,213,139,172,253,171,233,252,233, 115 244,1,129,252,253,239,15,135,244,254,129,252,253,239,15,134,244,253,189,237,
116 244,2,248,65,129,252,248,239,15,130,244,60,129,122,253,4,239,15,133,244,60, 116 252,233,244,254,248,7,255,189,237,248,8,252,247,213,139,172,253,171,233,252,
117 139,42,131,189,233,0,15,133,244,60,129,122,253,12,239,15,133,244,60,139,66, 117 233,244,2,248,66,129,252,248,239,15,130,244,61,129,122,253,4,239,15,133,244,
118 8,137,133,233,139,114,252,252,199,66,252,252,237,255,137,106,252,248,252, 118 61,139,42,131,189,233,0,15,133,244,61,129,122,253,12,239,15,133,244,61,139,
119 66,8,137,133,233,139,114,252,252,199,66,252,252,237,255,137,106,252,248,252,
119 246,133,233,235,15,132,244,247,128,165,233,235,139,131,233,137,171,233,137, 120 246,133,233,235,15,132,244,247,128,165,233,235,139,131,233,137,171,233,137,
120 133,233,248,1,252,233,244,63,248,66,129,252,248,239,15,130,244,60,129,122, 121 133,233,248,1,252,233,244,64,248,67,129,252,248,239,15,130,244,61,129,122,
121 253,4,239,15,133,244,60,137,213,68,141,66,8,139,18,139,76,36,96,232,251,1, 122 253,4,239,15,133,244,61,137,213,68,141,66,8,139,18,139,76,36,96,232,251,1,
122 10,137,252,234,72,139,40,139,114,252,252,72,137,106,252,248,252,233,244,63, 123 10,137,252,234,72,139,40,139,114,252,252,72,137,106,252,248,252,233,244,64,
123 248,67,255,129,252,248,239,15,133,244,60,129,122,253,4,239,255,15,133,244, 124 248,68,255,129,252,248,239,15,133,244,61,129,122,253,4,239,255,15,133,244,
124 247,139,42,252,233,244,68,248,1,15,135,244,60,255,15,131,244,60,255,252,242, 125 247,139,42,252,233,244,69,248,1,15,135,244,61,255,15,131,244,61,255,252,242,
125 15,16,2,252,233,244,69,255,221,2,252,233,244,70,255,248,71,129,252,248,239, 126 15,16,2,252,233,244,70,255,221,2,252,233,244,71,255,248,72,129,252,248,239,
126 15,130,244,60,139,114,252,252,129,122,253,4,239,15,133,244,249,139,2,248, 127 15,130,244,61,139,114,252,252,129,122,253,4,239,15,133,244,249,139,2,248,
127 2,199,66,252,252,237,137,66,252,248,252,233,244,63,248,3,129,122,253,4,239, 128 2,199,66,252,252,237,137,66,252,248,252,233,244,64,248,3,129,122,253,4,239,
128 15,135,244,60,131,187,233,0,15,133,244,60,139,171,233,59,171,233,255,15,130, 129 15,135,244,61,131,187,233,0,15,133,244,61,139,171,233,59,171,233,255,15,130,
129 244,247,232,244,72,248,1,139,108,36,96,137,149,233,137,116,36,100,137,252, 130 244,247,232,244,73,248,1,139,108,36,96,137,149,233,137,116,36,100,137,252,
130 233,255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233,244,2,248,73, 131 233,255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233,244,2,248,74,
131 129,252,248,239,15,130,244,60,15,132,244,248,248,1,129,122,253,4,239,15,133, 132 129,252,248,239,15,130,244,61,15,132,244,248,248,1,129,122,253,4,239,15,133,
132 244,60,139,108,36,96,137,149,233,137,149,233,139,114,252,252,68,141,66,8, 133 244,61,139,108,36,96,137,149,233,137,149,233,139,114,252,252,68,141,66,8,
133 139,18,137,252,233,137,116,36,100,232,251,1,13,139,149,233,133,192,15,132, 134 139,18,137,252,233,137,116,36,100,232,251,1,13,139,149,233,133,192,15,132,
134 244,249,72,139,106,8,72,139,66,16,72,137,106,252,248,72,137,2,248,74,184, 135 244,249,72,139,106,8,72,139,66,16,72,137,106,252,248,72,137,2,248,75,184,
135 237,255,252,233,244,75,248,2,199,66,12,237,252,233,244,1,248,3,199,66,252, 136 237,255,252,233,244,76,248,2,199,66,12,237,252,233,244,1,248,3,199,66,252,
136 252,237,252,233,244,63,248,76,129,252,248,239,15,130,244,60,139,42,129,122, 137 252,237,252,233,244,64,248,77,129,252,248,239,15,130,244,61,139,42,129,122,
137 253,4,239,15,133,244,60,255,131,189,233,0,15,133,244,60,255,139,106,252,248, 138 253,4,239,15,133,244,61,255,131,189,233,0,15,133,244,61,255,139,106,252,248,
138 139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,199,66,12,237, 139 139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,199,66,12,237,
139 184,237,252,233,244,75,248,77,129,252,248,239,15,130,244,60,129,122,253,4, 140 184,237,252,233,244,76,248,78,129,252,248,239,15,130,244,61,129,122,253,4,
140 239,15,133,244,60,129,122,253,12,239,255,139,114,252,252,255,139,66,8,131, 141 239,15,133,244,61,129,122,253,12,239,255,139,114,252,252,255,139,66,8,131,
141 192,1,199,66,252,252,237,137,66,252,248,255,252,242,15,16,66,8,72,189,237, 142 192,1,199,66,252,252,237,137,66,252,248,255,252,242,15,16,66,8,72,189,237,
142 237,102,72,15,110,205,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66, 143 237,102,72,15,110,205,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,
143 252,248,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129, 144 252,248,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,
144 120,253,4,239,15,132,244,78,72,139,40,72,137,42,252,233,244,74,248,2,131, 145 120,253,4,239,15,132,244,79,72,139,40,72,137,42,252,233,244,75,248,2,131,
145 189,233,0,15,132,244,78,137,252,233,137,213,137,194,232,251,1,14,137,252, 146 189,233,0,15,132,244,79,137,252,233,137,213,137,194,232,251,1,14,137,252,
146 234,133,192,15,133,244,1,248,78,184,237,252,233,244,75,248,79,255,139,106, 147 234,133,192,15,133,244,1,248,79,184,237,252,233,244,76,248,80,255,139,106,
147 252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,255, 148 252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,255,
148 199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66,8,255,217,252, 149 199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66,8,255,217,252,
149 238,221,90,8,255,184,237,252,233,244,75,248,80,129,252,248,239,15,130,244, 150 238,221,90,8,255,184,237,252,233,244,76,248,81,129,252,248,239,15,130,244,
150 60,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229, 151 61,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229,
151 1,1,252,238,252,233,244,28,248,81,129,252,248,239,15,130,244,60,129,122,253, 152 1,1,252,238,252,233,244,28,248,82,129,252,248,239,15,130,244,61,129,122,253,
152 12,239,15,133,244,60,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114, 153 12,239,15,133,244,61,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114,
153 8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,82,129,252, 154 8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,83,129,252,
154 248,239,15,130,244,60,139,42,139,114,252,252,137,116,36,100,137,108,36,80, 155 248,239,15,130,244,61,139,42,139,114,252,252,137,116,36,100,137,108,36,80,
155 129,122,253,4,239,15,133,244,60,72,131,189,233,0,15,133,244,60,128,189,233, 156 129,122,253,4,239,15,133,244,61,72,131,189,233,0,15,133,244,61,128,189,233,
156 235,15,135,244,60,139,141,233,15,132,244,247,255,59,141,233,15,132,244,60, 157 235,15,135,244,61,139,141,233,15,132,244,247,255,59,141,233,15,132,244,61,
157 248,1,141,116,193,252,240,59,181,233,15,135,244,60,137,181,233,139,108,36, 158 248,1,141,116,193,252,240,59,181,233,15,135,244,61,137,181,233,139,108,36,
158 96,137,149,233,131,194,8,137,149,233,141,108,194,232,72,41,252,245,57,206, 159 96,137,149,233,131,194,8,137,149,233,141,108,194,232,72,41,252,245,57,206,
159 15,132,244,249,248,2,72,139,4,46,72,137,70,252,248,131,252,238,8,57,206,15, 160 15,132,244,249,248,2,72,139,4,46,72,137,70,252,248,131,252,238,8,57,206,15,
160 133,244,2,248,3,137,202,139,76,36,80,232,244,25,199,131,233,237,255,139,108, 161 133,244,2,248,3,137,202,139,76,36,80,232,244,25,199,131,233,237,255,139,108,
@@ -166,10 +167,10 @@ static const unsigned char build_actionlist[15847] = {
166 252,255,252,247,198,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252, 167 252,255,252,247,198,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252,
167 252,237,139,142,233,131,252,233,8,137,142,233,72,139,1,72,137,2,184,237,252, 168 252,237,139,142,233,131,252,233,8,137,142,233,72,139,1,72,137,2,184,237,252,
168 233,244,7,248,9,139,76,36,80,137,185,233,137,252,242,137,252,233,232,251, 169 233,244,7,248,9,139,76,36,80,137,185,233,137,252,242,137,252,233,232,251,
169 1,0,139,116,36,80,139,149,233,252,233,244,4,248,83,139,106,252,248,139,173, 170 1,0,139,116,36,80,139,149,233,252,233,244,4,248,84,139,106,252,248,139,173,
170 233,139,114,252,252,137,116,36,100,137,108,36,80,72,131,189,233,0,15,133, 171 233,139,114,252,252,137,116,36,100,137,108,36,80,72,131,189,233,0,15,133,
171 244,60,255,128,189,233,235,15,135,244,60,139,141,233,15,132,244,247,59,141, 172 244,61,255,128,189,233,235,15,135,244,61,139,141,233,15,132,244,247,59,141,
172 233,15,132,244,60,248,1,141,116,193,252,248,59,181,233,15,135,244,60,137, 173 233,15,132,244,61,248,1,141,116,193,252,248,59,181,233,15,135,244,61,137,
173 181,233,139,108,36,96,137,149,233,137,149,233,141,108,194,252,240,72,41,252, 174 181,233,139,108,36,96,137,149,233,137,149,233,141,108,194,252,240,72,41,252,
174 245,57,206,15,132,244,249,248,2,255,72,139,4,46,72,137,70,252,248,131,252, 175 245,57,206,15,132,244,249,248,2,255,72,139,4,46,72,137,70,252,248,131,252,
175 238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,25,199,131,233, 176 238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,25,199,131,233,
@@ -180,206 +181,206 @@ static const unsigned char build_actionlist[15847] = {
180 7,139,116,36,100,137,68,36,84,49,201,252,247,198,237,15,132,244,13,252,233, 181 7,139,116,36,100,137,68,36,84,49,201,252,247,198,237,15,132,244,13,252,233,
181 244,14,248,8,137,252,242,137,252,233,232,251,1,15,248,9,139,76,36,80,137, 182 244,14,248,8,137,252,242,137,252,233,232,251,1,15,248,9,139,76,36,80,137,
182 185,233,137,252,242,137,252,233,232,251,1,0,139,116,36,80,139,149,233,252, 183 185,233,137,252,242,137,252,233,232,251,1,0,139,116,36,80,139,149,233,252,
183 233,244,4,248,84,139,108,36,96,72,252,247,133,233,237,15,132,244,60,255,137, 184 233,244,4,248,85,139,108,36,96,72,252,247,133,233,237,15,132,244,61,255,137,
184 149,233,141,68,194,252,248,137,133,233,49,192,72,137,133,233,176,235,136, 185 149,233,141,68,194,252,248,137,133,233,49,192,72,137,133,233,176,235,136,
185 133,233,252,233,244,16,255,248,68,255,248,70,139,114,252,252,221,90,252,248, 186 133,233,252,233,244,16,255,248,69,255,248,71,139,114,252,252,221,90,252,248,
186 252,233,244,63,255,248,85,129,252,248,239,15,130,244,60,255,129,122,253,4, 187 252,233,244,64,255,248,86,129,252,248,239,15,130,244,61,255,129,122,253,4,
187 239,15,133,244,248,139,42,131,252,253,0,15,137,244,68,252,247,221,15,136, 188 239,15,133,244,248,139,42,131,252,253,0,15,137,244,69,252,247,221,15,136,
188 244,247,248,86,248,68,139,114,252,252,199,66,252,252,237,137,106,252,248, 189 244,247,248,87,248,69,139,114,252,252,199,66,252,252,237,137,106,252,248,
189 252,233,244,63,248,1,139,114,252,252,199,66,252,252,0,0,224,65,199,66,252, 190 252,233,244,64,248,1,139,114,252,252,199,66,252,252,0,0,224,65,199,66,252,
190 248,0,0,0,0,252,233,244,63,248,2,15,135,244,60,255,129,122,253,4,239,15,131, 191 248,0,0,0,0,252,233,244,64,248,2,15,135,244,61,255,129,122,253,4,239,15,131,
191 244,60,255,252,242,15,16,2,72,184,237,237,102,72,15,110,200,15,84,193,248, 192 244,61,255,252,242,15,16,2,72,184,237,237,102,72,15,110,200,15,84,193,248,
192 69,139,114,252,252,252,242,15,17,66,252,248,255,221,2,217,225,248,69,248, 193 70,139,114,252,252,252,242,15,17,66,252,248,255,221,2,217,225,248,70,248,
193 70,139,114,252,252,221,90,252,248,255,248,63,184,237,248,75,137,68,36,84, 194 71,139,114,252,252,221,90,252,248,255,248,64,184,237,248,76,137,68,36,84,
194 248,61,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15,135,244,252, 195 248,62,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15,135,244,252,
195 15,182,78,252,253,72,252,247,209,141,20,202,139,6,15,182,204,15,182,232,131, 196 15,182,78,252,253,72,252,247,209,141,20,202,139,6,15,182,204,15,182,232,131,
196 198,4,193,232,16,252,255,36,252,235,248,6,199,68,194,252,244,237,131,192, 197 198,4,193,232,16,252,255,36,252,235,248,6,199,68,194,252,244,237,131,192,
197 1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,255,252,255,252,233, 198 1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,255,252,255,252,233,
198 244,14,248,87,255,129,122,253,4,239,15,133,244,247,139,42,252,233,244,68, 199 244,14,248,88,255,129,122,253,4,239,15,133,244,247,139,42,252,233,244,69,
199 248,1,15,135,244,60,255,252,242,15,16,2,232,244,88,255,252,242,15,45,232, 200 248,1,15,135,244,61,255,252,242,15,16,2,232,244,89,255,252,242,15,45,232,
200 129,252,253,0,0,0,128,15,133,244,68,252,242,15,42,205,102,15,46,193,15,138, 201 129,252,253,0,0,0,128,15,133,244,69,252,242,15,42,205,102,15,46,193,15,138,
201 244,69,15,132,244,68,255,221,2,232,244,88,255,248,89,255,252,242,15,16,2, 202 244,70,15,132,244,69,255,221,2,232,244,89,255,248,90,255,252,242,15,16,2,
202 232,244,90,255,221,2,232,244,90,255,248,91,129,252,248,239,15,130,244,60, 203 232,244,91,255,221,2,232,244,91,255,248,92,129,252,248,239,15,130,244,61,
203 129,122,253,4,239,15,131,244,60,252,242,15,81,2,252,233,244,69,255,248,91, 204 129,122,253,4,239,15,131,244,61,252,242,15,81,2,252,233,244,70,255,248,92,
204 129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,252, 205 129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,221,2,217,252,
205 250,252,233,244,70,255,248,92,129,252,248,239,15,130,244,60,129,122,253,4, 206 250,252,233,244,71,255,248,93,129,252,248,239,15,130,244,61,129,122,253,4,
206 239,15,131,244,60,217,252,237,221,2,217,252,241,252,233,244,70,248,93,129, 207 239,15,131,244,61,217,252,237,221,2,217,252,241,252,233,244,71,248,94,129,
207 252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,217,252,236,221, 208 252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,217,252,236,221,
208 2,217,252,241,252,233,244,70,248,94,129,252,248,239,255,15,130,244,60,129, 209 2,217,252,241,252,233,244,71,248,95,129,252,248,239,255,15,130,244,61,129,
209 122,253,4,239,15,131,244,60,221,2,232,244,95,252,233,244,70,248,96,129,252, 210 122,253,4,239,15,131,244,61,221,2,232,244,96,252,233,244,71,248,97,129,252,
210 248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,252,254,252, 211 248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,221,2,217,252,254,252,
211 233,244,70,248,97,129,252,248,239,255,15,130,244,60,129,122,253,4,239,15, 212 233,244,71,248,98,129,252,248,239,255,15,130,244,61,129,122,253,4,239,15,
212 131,244,60,221,2,217,252,255,252,233,244,70,248,98,129,252,248,239,15,130, 213 131,244,61,221,2,217,252,255,252,233,244,71,248,99,129,252,248,239,15,130,
213 244,60,129,122,253,4,239,15,131,244,60,221,2,217,252,242,221,216,252,233, 214 244,61,129,122,253,4,239,15,131,244,61,221,2,217,252,242,221,216,252,233,
214 244,70,248,99,129,252,248,239,15,130,244,60,255,129,122,253,4,239,15,131, 215 244,71,248,100,129,252,248,239,15,130,244,61,255,129,122,253,4,239,15,131,
215 244,60,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252, 216 244,61,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252,
216 233,244,70,248,100,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131, 217 233,244,71,248,101,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,
217 244,60,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252, 218 244,61,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252,
218 243,252,233,244,70,248,101,129,252,248,239,15,130,244,60,129,122,253,4,239, 219 243,252,233,244,71,248,102,129,252,248,239,15,130,244,61,129,122,253,4,239,
219 15,131,244,60,255,221,2,217,232,217,252,243,252,233,244,70,255,248,102,129, 220 15,131,244,61,255,221,2,217,232,217,252,243,252,233,244,71,255,248,103,129,
220 252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2, 221 252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,252,242,15,16,2,
221 255,137,213,232,251,1,16,137,252,234,252,233,244,69,255,248,103,129,252,248, 222 255,137,213,232,251,1,16,137,252,234,252,233,244,70,255,248,104,129,252,248,
222 239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,255,137, 223 239,15,130,244,61,129,122,253,4,239,15,131,244,61,252,242,15,16,2,255,137,
223 213,232,251,1,17,137,252,234,252,233,244,69,255,248,104,129,252,248,239,15, 224 213,232,251,1,17,137,252,234,252,233,244,70,255,248,105,129,252,248,239,15,
224 130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,255,137,213,232, 225 130,244,61,129,122,253,4,239,15,131,244,61,252,242,15,16,2,255,137,213,232,
225 251,1,18,137,252,234,252,233,244,69,248,105,255,248,106,129,252,248,239,15, 226 251,1,18,137,252,234,252,233,244,70,248,106,255,248,107,129,252,248,239,15,
226 130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,139,106,252,248, 227 130,244,61,129,122,253,4,239,15,131,244,61,252,242,15,16,2,139,106,252,248,
227 252,242,15,89,133,233,252,233,244,69,255,248,106,129,252,248,239,15,130,244, 228 252,242,15,89,133,233,252,233,244,70,255,248,107,129,252,248,239,15,130,244,
228 60,129,122,253,4,239,15,131,244,60,221,2,139,106,252,248,220,141,233,252, 229 61,129,122,253,4,239,15,131,244,61,221,2,139,106,252,248,220,141,233,252,
229 233,244,70,255,248,107,129,252,248,239,15,130,244,60,129,122,253,4,239,15, 230 233,244,71,255,248,108,129,252,248,239,15,130,244,61,129,122,253,4,239,15,
230 131,244,60,129,122,253,12,239,15,131,244,60,221,2,221,66,8,217,252,243,252, 231 131,244,61,129,122,253,12,239,15,131,244,61,221,2,221,66,8,217,252,243,252,
231 233,244,70,248,108,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131, 232 233,244,71,248,109,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,
232 244,60,129,122,253,12,239,255,15,131,244,60,221,66,8,221,2,217,252,253,221, 233 244,61,129,122,253,12,239,255,15,131,244,61,221,66,8,221,2,217,252,253,221,
233 217,252,233,244,70,248,109,129,252,248,239,15,130,244,60,139,106,4,129,252, 234 217,252,233,244,71,248,110,129,252,248,239,15,130,244,61,139,106,4,129,252,
234 253,239,15,131,244,60,139,114,252,252,139,2,137,106,252,252,137,66,252,248, 235 253,239,15,131,244,61,139,114,252,252,139,2,137,106,252,252,137,66,252,248,
235 209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184, 236 209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,
236 252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41, 237 252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,
237 197,255,252,242,15,42,197,255,137,108,36,80,219,68,36,80,255,139,106,252, 238 197,255,252,242,15,42,197,255,137,108,36,80,219,68,36,80,255,139,106,252,
238 252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248, 239 252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,
239 2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,244,75,248,3,255,15, 240 2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,244,76,248,3,255,15,
240 87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242, 241 87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,
241 15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,17, 242 15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,17,
242 66,252,248,255,221,2,199,68,36,80,0,0,128,90,216,76,36,80,221,90,252,248, 243 66,252,248,255,221,2,199,68,36,80,0,0,128,90,216,76,36,80,221,90,252,248,
243 255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,110,129,252, 244 255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,111,129,252,
244 248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,255, 245 248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,252,242,15,16,2,255,
245 248,110,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,221, 246 248,111,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,221,
246 2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15,132, 247 2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15,132,
247 244,250,255,15,40,224,232,244,111,252,242,15,92,224,248,1,252,242,15,17,66, 248 244,250,255,15,40,224,232,244,112,252,242,15,92,224,248,1,252,242,15,17,66,
248 252,248,252,242,15,17,34,255,217,192,232,244,111,220,252,233,248,1,221,90, 249 252,248,252,242,15,17,34,255,217,192,232,244,112,220,252,233,248,1,221,90,
249 252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249,248,2,184, 250 252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249,248,2,184,
250 237,252,233,244,75,248,3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248, 251 237,252,233,244,76,248,3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,
251 4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,1,255,248, 252 4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,1,255,248,
252 112,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122, 253 113,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,
253 253,12,239,15,131,244,60,221,66,8,221,2,248,1,217,252,248,223,224,158,15, 254 253,12,239,15,131,244,61,221,66,8,221,2,248,1,217,252,248,223,224,158,15,
254 138,244,1,221,217,252,233,244,70,255,248,113,129,252,248,239,15,130,244,60, 255 138,244,1,221,217,252,233,244,71,255,248,114,129,252,248,239,15,130,244,61,
255 129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242, 256 129,122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,
256 15,16,2,252,242,15,16,74,8,232,244,114,252,233,244,69,255,248,113,129,252, 257 15,16,2,252,242,15,16,74,8,232,244,115,252,233,244,70,255,248,114,129,252,
257 248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239, 258 248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,
258 15,131,244,60,221,2,221,66,8,232,244,114,252,233,244,70,255,248,115,185,2, 259 15,131,244,61,221,2,221,66,8,232,244,115,252,233,244,71,255,248,116,185,2,
259 0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244, 260 0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,
260 68,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,79,108, 261 69,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,79,108,
261 202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,60,255,252,233,244,252, 262 202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,61,255,252,233,244,252,
262 248,4,15,135,244,60,255,252,242,15,16,2,248,5,57,193,15,131,244,69,129,124, 263 248,4,15,135,244,61,255,252,242,15,16,2,248,5,57,193,15,131,244,70,129,124,
263 253,202,252,252,239,255,15,130,244,252,15,135,244,60,252,242,15,42,76,202, 264 253,202,252,252,239,255,15,130,244,252,15,135,244,61,252,242,15,42,76,202,
264 252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248,248,7,252, 265 252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248,248,7,252,
265 242,15,93,193,131,193,1,252,233,244,5,255,248,116,185,2,0,0,0,129,122,253, 266 242,15,93,193,131,193,1,252,233,244,5,255,248,117,185,2,0,0,0,129,122,253,
266 4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,68,129,124,253,202, 267 4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,69,129,124,253,202,
267 252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252,248,131,193, 268 252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252,248,131,193,
268 1,252,233,244,1,248,3,15,135,244,60,255,248,6,252,242,15,16,76,202,252,248, 269 1,252,233,244,1,248,3,15,135,244,61,255,248,6,252,242,15,16,76,202,252,248,
269 248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,248,9,221,216,252,233, 270 248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,248,9,221,216,252,233,
270 244,60,255,248,117,129,252,248,239,15,130,244,60,129,122,253,4,239,15,133, 271 244,61,255,248,118,129,252,248,239,15,130,244,61,129,122,253,4,239,15,133,
271 244,60,139,42,255,139,173,233,252,233,244,68,255,252,242,15,42,133,233,252, 272 244,61,139,42,255,139,173,233,252,233,244,69,255,252,242,15,42,133,233,252,
272 233,244,69,255,219,133,233,252,233,244,70,255,248,118,129,252,248,239,15, 273 233,244,70,255,219,133,233,252,233,244,71,255,248,119,129,252,248,239,15,
273 133,244,60,129,122,253,4,239,15,133,244,60,139,42,139,114,252,252,131,189, 274 133,244,61,129,122,253,4,239,15,133,244,61,139,42,139,114,252,252,131,189,
274 233,1,15,130,244,78,15,182,173,233,255,252,242,15,42,197,252,233,244,69,255, 275 233,1,15,130,244,79,15,182,173,233,255,252,242,15,42,197,252,233,244,70,255,
275 137,108,36,80,219,68,36,80,252,233,244,70,255,248,119,139,171,233,59,171, 276 137,108,36,80,219,68,36,80,252,233,244,71,255,248,120,139,171,233,59,171,
276 233,15,130,244,247,232,244,72,248,1,129,252,248,239,15,133,244,60,129,122, 277 233,15,130,244,247,232,244,73,248,1,129,252,248,239,15,133,244,61,129,122,
277 253,4,239,255,15,133,244,60,139,42,129,252,253,252,255,0,0,0,15,135,244,60, 278 253,4,239,255,15,133,244,61,139,42,129,252,253,252,255,0,0,0,15,135,244,61,
278 137,108,36,84,255,15,131,244,60,252,242,15,44,42,129,252,253,252,255,0,0, 279 137,108,36,84,255,15,131,244,61,252,242,15,44,42,129,252,253,252,255,0,0,
279 0,15,135,244,60,137,108,36,84,255,15,131,244,60,221,2,219,92,36,84,129,124, 280 0,15,135,244,61,137,108,36,84,255,15,131,244,61,221,2,219,92,36,84,129,124,
280 36,84,252,255,0,0,0,15,135,244,60,255,199,68,36,32,1,0,0,0,72,141,68,36,84, 281 36,84,252,255,0,0,0,15,135,244,61,255,199,68,36,32,1,0,0,0,72,141,68,36,84,
281 248,120,139,108,36,96,137,149,233,68,139,68,36,32,72,137,194,137,252,233, 282 248,121,139,108,36,96,137,149,233,68,139,68,36,32,72,137,194,137,252,233,
282 137,116,36,100,232,251,1,19,139,149,233,139,114,252,252,199,66,252,252,237, 283 137,116,36,100,232,251,1,19,139,149,233,139,114,252,252,199,66,252,252,237,
283 137,66,252,248,252,233,244,63,248,121,139,171,233,59,171,233,15,130,244,247, 284 137,66,252,248,252,233,244,64,248,122,139,171,233,59,171,233,15,130,244,247,
284 232,244,72,248,1,199,68,36,84,252,255,252,255,252,255,252,255,129,252,248, 285 232,244,73,248,1,199,68,36,84,252,255,252,255,252,255,252,255,129,252,248,
285 239,15,130,244,60,15,134,244,247,129,122,253,20,239,255,15,133,244,60,139, 286 239,15,130,244,61,15,134,244,247,129,122,253,20,239,255,15,133,244,61,139,
286 106,16,137,108,36,84,255,15,131,244,60,252,242,15,44,106,16,137,108,36,84, 287 106,16,137,108,36,84,255,15,131,244,61,252,242,15,44,106,16,137,108,36,84,
287 255,15,131,244,60,221,66,16,219,92,36,84,255,248,1,129,122,253,4,239,15,133, 288 255,15,131,244,61,221,66,16,219,92,36,84,255,248,1,129,122,253,4,239,15,133,
288 244,60,129,122,253,12,239,255,139,42,137,108,36,32,139,173,233,255,139,74, 289 244,61,129,122,253,12,239,255,139,42,137,108,36,32,139,173,233,255,139,74,
289 8,255,252,242,15,44,74,8,255,139,68,36,84,57,197,15,130,244,251,248,2,133, 290 8,255,252,242,15,44,74,8,255,139,68,36,84,57,197,15,130,244,251,248,2,133,
290 201,15,142,244,253,248,3,139,108,36,32,41,200,15,140,244,122,141,172,253, 291 201,15,142,244,253,248,3,139,108,36,32,41,200,15,140,244,123,141,172,253,
291 13,233,131,192,1,248,4,137,68,36,32,137,232,252,233,244,120,248,5,15,140, 292 13,233,131,192,1,248,4,137,68,36,32,137,232,252,233,244,121,248,5,15,140,
292 244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15, 293 244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,
293 132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244, 294 132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,
294 3,248,122,49,192,252,233,244,4,248,123,129,252,248,239,15,130,244,60,139, 295 3,248,123,49,192,252,233,244,4,248,124,129,252,248,239,15,130,244,61,139,
295 171,233,59,171,233,15,130,244,247,232,244,72,248,1,255,129,122,253,4,239, 296 171,233,59,171,233,15,130,244,247,232,244,73,248,1,255,129,122,253,4,239,
296 15,133,244,60,129,122,253,12,239,139,42,255,15,133,244,60,139,66,8,255,15, 297 15,133,244,61,129,122,253,12,239,139,42,255,15,133,244,61,139,66,8,255,15,
297 131,244,60,252,242,15,44,66,8,255,15,131,244,60,221,66,8,219,92,36,84,139, 298 131,244,61,252,242,15,44,66,8,255,15,131,244,61,221,66,8,219,92,36,84,139,
298 68,36,84,255,133,192,15,142,244,122,131,189,233,1,15,130,244,122,15,133,244, 299 68,36,84,255,133,192,15,142,244,123,131,189,233,1,15,130,244,123,15,133,244,
299 124,57,131,233,15,130,244,124,15,182,141,233,139,171,233,137,68,36,32,248, 300 125,57,131,233,15,130,244,125,15,182,141,233,139,171,233,137,68,36,32,248,
300 1,136,77,0,131,197,1,131,232,1,15,133,244,1,139,131,233,252,233,244,120,248, 301 1,136,77,0,131,197,1,131,232,1,15,133,244,1,139,131,233,252,233,244,121,248,
301 125,129,252,248,239,255,15,130,244,60,139,171,233,59,171,233,15,130,244,247, 302 126,129,252,248,239,255,15,130,244,61,139,171,233,59,171,233,15,130,244,247,
302 232,244,72,248,1,129,122,253,4,239,15,133,244,60,139,42,139,133,233,133,192, 303 232,244,73,248,1,129,122,253,4,239,15,133,244,61,139,42,139,133,233,133,192,
303 15,132,244,122,57,131,233,15,130,244,126,129,197,239,137,116,36,84,137,68, 304 15,132,244,123,57,131,233,15,130,244,127,129,197,239,137,116,36,84,137,68,
304 36,32,139,179,233,248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133, 305 36,32,139,179,233,248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,
305 244,1,137,252,240,139,116,36,84,252,233,244,120,248,127,129,252,248,239,15, 306 244,1,137,252,240,139,116,36,84,252,233,244,121,248,128,129,252,248,239,15,
306 130,244,60,139,171,233,59,171,233,15,130,244,247,232,244,72,248,1,129,122, 307 130,244,61,139,171,233,59,171,233,15,130,244,247,232,244,73,248,1,129,122,
307 253,4,239,15,133,244,60,139,42,139,133,233,57,131,233,255,15,130,244,126, 308 253,4,239,15,133,244,61,139,42,139,133,233,57,131,233,255,15,130,244,127,
308 129,197,239,137,116,36,84,137,68,36,32,139,179,233,252,233,244,249,248,1, 309 129,197,239,137,116,36,84,137,68,36,32,139,179,233,252,233,244,249,248,1,
309 15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,249,90,15,135,244,248, 310 15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,249,90,15,135,244,248,
310 131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139, 311 131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,
311 116,36,84,252,233,244,120,248,128,129,252,248,239,15,130,244,60,255,139,171, 312 116,36,84,252,233,244,121,248,129,129,252,248,239,15,130,244,61,255,139,171,
312 233,59,171,233,15,130,244,247,232,244,72,248,1,129,122,253,4,239,15,133,244, 313 233,59,171,233,15,130,244,247,232,244,73,248,1,129,122,253,4,239,15,133,244,
313 60,139,42,139,133,233,57,131,233,15,130,244,126,129,197,239,137,116,36,84, 314 61,139,42,139,133,233,57,131,233,15,130,244,127,129,197,239,137,116,36,84,
314 137,68,36,32,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249, 315 137,68,36,32,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,
315 97,15,130,244,248,255,131,252,249,122,15,135,244,248,131,252,241,32,248,2, 316 97,15,130,244,248,255,131,252,249,122,15,135,244,248,131,252,241,32,248,2,
316 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,
317 120,248,129,129,252,248,239,15,130,244,60,129,122,253,4,239,15,133,244,60, 318 121,248,130,129,252,248,239,15,130,244,61,129,122,253,4,239,15,133,244,61,
318 137,213,139,10,232,251,1,20,137,252,234,255,137,197,252,233,244,68,255,252, 319 137,213,139,10,232,251,1,20,137,252,234,255,137,197,252,233,244,69,255,252,
319 242,15,42,192,252,233,244,69,255,248,130,129,122,253,4,239,255,15,133,244, 320 242,15,42,192,252,233,244,70,255,248,131,129,122,253,4,239,255,15,133,244,
320 247,139,42,252,233,244,86,248,1,15,135,244,60,255,252,242,15,16,2,72,189, 321 247,139,42,252,233,244,87,248,1,15,135,244,61,255,252,242,15,16,2,72,189,
321 237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,252,233,244, 322 237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,252,233,244,
322 86,255,248,131,255,72,189,237,237,102,72,15,110,205,255,199,68,36,80,0,0, 323 87,255,248,132,255,72,189,237,237,102,72,15,110,205,255,199,68,36,80,0,0,
323 192,89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,60,255, 324 192,89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,61,255,
324 252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,68,36,84,141, 325 252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,68,36,84,141,
325 68,194,252,240,248,1,57,208,15,134,244,86,129,120,253,4,239,255,15,133,244, 326 68,194,252,240,248,1,57,208,15,134,244,87,129,120,253,4,239,255,15,133,244,
326 248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,132,255,15,131,244,132, 327 248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,133,255,15,131,244,133,
327 255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,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,133,255,15,133,244,248,11,40,131,232,8,252,233,244,1,248, 329 252,233,244,1,248,134,255,15,133,244,248,11,40,131,232,8,252,233,244,1,248,
329 2,15,135,244,132,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,9,205, 330 2,15,135,244,133,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,9,205,
330 255,131,232,8,252,233,244,1,248,134,255,15,133,244,248,51,40,131,232,8,252, 331 255,131,232,8,252,233,244,1,248,135,255,15,133,244,248,51,40,131,232,8,252,
331 233,244,1,248,2,15,135,244,132,255,252,242,15,16,0,252,242,15,88,193,102, 332 233,244,1,248,2,15,135,244,133,255,252,242,15,16,0,252,242,15,88,193,102,
332 15,126,193,49,205,255,131,232,8,252,233,244,1,248,135,129,122,253,4,239,255, 333 15,126,193,49,205,255,131,232,8,252,233,244,1,248,136,129,122,253,4,239,255,
333 248,2,15,205,252,233,244,86,248,136,129,122,253,4,239,255,248,2,252,247,213, 334 248,2,15,205,252,233,244,87,248,137,129,122,253,4,239,255,248,2,252,247,213,
334 255,248,86,252,242,15,42,197,252,233,244,69,255,248,132,139,68,36,84,252, 335 255,248,87,252,242,15,42,197,252,233,244,70,255,248,133,139,68,36,84,252,
335 233,244,60,255,248,137,129,122,253,4,239,255,248,2,129,122,253,12,239,15, 336 233,244,61,255,248,138,129,122,253,4,239,255,248,2,129,122,253,12,239,15,
336 133,244,60,139,74,8,255,248,137,129,252,248,239,15,130,244,60,129,122,253, 337 133,244,61,139,74,8,255,248,138,129,252,248,239,15,130,244,61,129,122,253,
337 4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,2,252, 338 4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,2,252,
338 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242, 339 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,
339 15,88,202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,86,255,248, 340 15,88,202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,87,255,248,
340 138,129,122,253,4,239,255,248,138,129,252,248,239,15,130,244,60,129,122,253, 341 139,129,122,253,4,239,255,248,139,129,252,248,239,15,130,244,61,129,122,253,
341 4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,2,252, 342 4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,2,252,
342 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242, 343 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,
343 15,88,202,102,15,126,197,102,15,126,201,255,211,252,237,252,233,244,86,255, 344 15,88,202,102,15,126,197,102,15,126,201,255,211,252,237,252,233,244,87,255,
344 248,139,129,122,253,4,239,255,248,139,129,252,248,239,15,130,244,60,129,122, 345 248,140,129,122,253,4,239,255,248,140,129,252,248,239,15,130,244,61,129,122,
345 253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,2, 346 253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,2,
346 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 347 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
347 242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,253,252,233,244,86, 348 242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,253,252,233,244,87,
348 255,248,140,129,122,253,4,239,255,248,140,129,252,248,239,15,130,244,60,129, 349 255,248,141,129,122,253,4,239,255,248,141,129,252,248,239,15,130,244,61,129,
349 122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16, 350 122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,
350 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 351 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
351 242,15,88,202,102,15,126,197,102,15,126,201,255,211,197,252,233,244,86,255, 352 242,15,88,202,102,15,126,197,102,15,126,201,255,211,197,252,233,244,87,255,
352 248,141,129,122,253,4,239,255,248,141,129,252,248,239,15,130,244,60,129,122, 353 248,142,129,122,253,4,239,255,248,142,129,252,248,239,15,130,244,61,129,122,
353 253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,2, 354 253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,2,
354 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 355 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
355 242,15,88,202,102,15,126,197,102,15,126,201,255,211,205,252,233,244,86,248, 356 242,15,88,202,102,15,126,197,102,15,126,201,255,211,205,252,233,244,87,248,
356 124,184,237,252,233,244,60,248,126,184,237,248,60,139,108,36,96,139,114,252, 357 125,184,237,252,233,244,61,248,127,184,237,248,61,139,108,36,96,139,114,252,
357 252,137,116,36,100,137,149,233,141,68,194,252,248,141,136,233,137,133,233, 358 252,137,116,36,100,137,149,233,141,68,194,252,248,141,136,233,137,133,233,
358 139,66,252,248,59,141,233,15,135,244,251,137,252,233,252,255,144,233,139, 359 139,66,252,248,59,141,233,15,135,244,251,137,252,233,252,255,144,233,139,
359 149,233,133,192,15,143,244,75,248,1,255,139,141,233,41,209,193,252,233,3, 360 149,233,133,192,15,143,244,76,248,1,255,139,141,233,41,209,193,252,233,3,
360 133,192,141,65,1,139,106,252,248,15,133,244,248,139,181,233,139,14,15,182, 361 133,192,141,65,1,139,106,252,248,15,133,244,32,139,181,233,139,14,15,182,
361 252,233,15,182,205,131,198,4,252,255,36,252,235,248,2,137,209,252,247,198, 362 252,233,15,182,205,131,198,4,252,255,36,252,235,248,32,137,209,252,247,198,
362 237,15,133,244,249,15,182,110,252,253,72,252,247,213,141,20,252,234,252,233, 363 237,15,133,244,249,15,182,110,252,253,72,252,247,213,141,20,252,234,252,233,
363 244,28,248,3,137,252,245,131,229,252,248,41,252,234,252,233,244,28,248,5, 364 244,28,248,3,137,252,245,131,229,252,248,41,252,234,252,233,244,28,248,5,
364 186,237,137,252,233,232,251,1,0,139,149,233,49,192,252,233,244,1,248,72,93, 365 186,237,137,252,233,232,251,1,0,139,149,233,49,192,252,233,244,1,248,73,93,
365 72,137,108,36,32,139,108,36,96,137,116,36,100,137,149,233,255,141,68,194, 366 72,137,108,36,32,139,108,36,96,137,116,36,100,137,149,233,255,141,68,194,
366 252,248,137,252,233,137,133,233,232,251,1,21,139,149,233,139,133,233,41,208, 367 252,248,137,252,233,137,133,233,232,251,1,21,139,149,233,139,133,233,41,208,
367 193,232,3,131,192,1,72,139,108,36,32,85,195,248,142,255,15,182,131,233,168, 368 193,232,3,131,192,1,72,139,108,36,32,85,195,248,143,255,15,182,131,233,168,
368 235,15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,252,255, 369 235,15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,252,255,
369 139,233,252,233,244,247,255,248,143,15,182,131,233,168,235,15,133,244,251, 370 139,233,252,233,244,247,255,248,144,15,182,131,233,168,235,15,133,244,251,
370 252,233,244,247,248,144,15,182,131,233,168,235,15,133,244,251,168,235,15, 371 252,233,244,247,248,145,15,182,131,233,168,235,15,133,244,251,168,235,15,
371 132,244,251,252,255,139,233,15,132,244,247,168,235,15,132,244,251,248,1,255, 372 132,244,251,252,255,139,233,15,132,244,247,168,235,15,132,244,251,248,1,255,
372 139,108,36,96,137,149,233,137,252,242,137,252,233,232,251,1,22,248,3,139, 373 139,108,36,96,137,149,233,137,252,242,137,252,233,232,251,1,22,248,3,139,
373 149,233,248,4,15,182,78,252,253,248,5,15,182,110,252,252,15,183,70,252,254, 374 149,233,248,4,15,182,78,252,253,248,5,15,182,110,252,252,15,183,70,252,254,
374 252,255,164,253,252,235,233,248,145,131,198,4,139,77,232,137,76,36,84,252, 375 252,255,164,253,252,235,233,248,146,131,198,4,139,77,232,137,76,36,84,252,
375 233,244,4,248,146,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194, 376 233,244,4,248,147,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,
376 139,108,36,96,137,149,233,137,133,233,137,252,242,141,139,233,72,137,171, 377 139,108,36,96,137,149,233,137,133,233,137,252,242,141,139,233,72,137,171,
377 233,137,116,36,100,232,251,1,23,252,233,244,3,255,248,147,137,116,36,100, 378 233,137,116,36,100,232,251,1,23,252,233,244,3,255,248,148,137,116,36,100,
378 255,248,148,255,137,116,36,100,131,206,1,248,1,255,141,68,194,252,248,139, 379 255,248,149,255,137,116,36,100,131,206,1,248,1,255,141,68,194,252,248,139,
379 108,36,96,137,149,233,137,133,233,137,252,242,137,252,233,232,251,1,24,199, 380 108,36,96,137,149,233,137,133,233,137,252,242,137,252,233,232,251,1,24,199,
380 68,36,100,0,0,0,0,255,131,230,252,254,255,139,149,233,72,137,193,139,133, 381 68,36,100,0,0,0,0,255,131,230,252,254,255,139,149,233,72,137,193,139,133,
381 233,41,208,72,137,205,15,182,78,252,253,193,232,3,131,192,1,252,255,229,248, 382 233,41,208,72,137,205,15,182,78,252,253,193,232,3,131,192,1,252,255,229,248,
382 149,255,65,85,65,84,65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85, 383 150,255,65,85,65,84,65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,
383 83,82,81,80,15,182,69,252,248,138,101,252,240,76,137,125,252,248,76,137,117, 384 83,82,81,80,15,182,69,252,248,138,101,252,240,76,137,125,252,248,76,137,117,
384 252,240,139,93,0,139,139,233,199,131,233,237,137,131,233,137,139,233,72,129, 385 252,240,139,93,0,139,139,233,199,131,233,237,137,131,233,137,139,233,72,129,
385 252,236,239,72,131,197,128,252,242,68,15,17,125,252,248,252,242,68,15,17, 386 252,236,239,72,131,197,128,252,242,68,15,17,125,252,248,252,242,68,15,17,
@@ -390,7 +391,7 @@ static const unsigned char build_actionlist[15847] = {
390 17,77,136,252,242,15,17,69,128,139,171,233,139,147,233,72,137,171,233,199, 391 17,77,136,252,242,15,17,69,128,139,171,233,139,147,233,72,137,171,233,199,
391 131,233,0,0,0,0,137,149,233,72,141,148,253,36,233,141,139,233,232,251,1,25, 392 131,233,0,0,0,0,137,149,233,72,141,148,253,36,233,141,139,233,232,251,1,25,
392 72,139,141,233,72,129,225,239,137,169,233,139,149,233,139,177,233,252,233, 393 72,139,141,233,72,129,225,239,137,169,233,139,149,233,139,177,233,252,233,
393 244,247,255,248,150,255,72,141,140,253,36,233,248,1,102,68,15,111,185,233, 394 244,247,255,248,151,255,72,141,140,253,36,233,248,1,102,68,15,111,185,233,
394 102,68,15,111,177,233,102,68,15,111,169,233,102,68,15,111,161,233,102,68, 395 102,68,15,111,177,233,102,68,15,111,169,233,102,68,15,111,161,233,102,68,
395 15,111,153,233,102,68,15,111,145,233,102,68,15,111,137,233,102,68,15,111, 396 15,111,153,233,102,68,15,111,145,233,102,68,15,111,137,233,102,68,15,111,
396 129,233,102,15,111,185,233,72,137,204,102,15,111,49,76,139,124,36,16,76,139, 397 129,233,102,15,111,185,233,72,137,204,102,15,111,49,76,139,124,36,16,76,139,
@@ -398,25 +399,25 @@ static const unsigned char build_actionlist[15847] = {
398 36,84,139,122,252,248,139,191,233,139,191,233,199,131,233,0,0,0,0,199,131, 399 36,84,139,122,252,248,139,191,233,139,191,233,199,131,233,0,0,0,0,199,131,
399 233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,129,252,253,239, 400 233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,129,252,253,239,
400 15,130,244,248,255,139,68,36,84,248,2,252,255,36,252,235,248,3,252,247,216, 401 15,130,244,248,255,139,68,36,84,248,2,252,255,36,252,235,248,3,252,247,216,
401 137,252,233,137,194,232,251,1,26,255,248,88,255,217,124,36,4,137,68,36,8, 402 137,252,233,137,194,232,251,1,26,255,248,89,255,217,124,36,4,137,68,36,8,
402 102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108, 403 102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,
403 36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,151,72,184,237,237, 404 36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,152,72,184,237,237,
404 102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202, 405 102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,
405 102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92, 406 102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,
406 203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,1,102, 407 203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,1,102,
407 15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,90,255,217,124,36,4,137, 408 15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,91,255,217,124,36,4,137,
408 68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6, 409 68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,
409 217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,152,72,184, 410 217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,153,72,184,
410 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102, 411 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,
411 15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252, 412 15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,
412 242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194, 413 242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,
413 193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,111,255,217, 414 193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,112,255,217,
414 124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108, 415 124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108,
415 36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,153,72,184,237,237, 416 36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,154,72,184,237,237,
416 102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202, 417 102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,
417 102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252, 418 102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,
418 242,15,92,203,72,184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15, 419 242,15,92,203,72,184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15,
419 84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,1,195,248,154,255,15, 420 84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,1,195,248,155,255,15,
420 40,232,252,242,15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237, 421 40,232,252,242,15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237,
421 102,72,15,110,216,15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102, 422 102,72,15,110,216,15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102,
422 15,85,208,252,242,15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237, 423 15,85,208,252,242,15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237,
@@ -424,12 +425,12 @@ static const unsigned char build_actionlist[15847] = {
424 40,197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15, 425 40,197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,
425 40,197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184, 426 40,197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,
426 0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217, 427 0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,
427 252,252,217,108,36,4,222,201,222,252,233,195,255,248,95,217,252,234,222,201, 428 252,252,217,108,36,4,222,201,222,252,233,195,255,248,96,217,252,234,222,201,
428 248,155,217,84,36,8,129,124,36,8,0,0,128,127,15,132,244,247,129,124,36,8, 429 248,156,217,84,36,8,129,124,36,8,0,0,128,127,15,132,244,247,129,124,36,8,
429 0,0,128,252,255,15,132,244,248,248,156,217,192,217,252,252,220,252,233,217, 430 0,0,128,252,255,15,132,244,248,248,157,217,192,217,252,252,220,252,233,217,
430 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216, 431 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,
431 217,252,238,195,255,248,114,255,248,157,252,242,15,45,193,252,242,15,42,208, 432 217,252,238,195,255,248,115,255,248,158,252,242,15,45,193,252,242,15,42,208,
432 102,15,46,202,15,133,244,254,15,138,244,255,248,158,131,252,248,1,15,142, 433 102,15,46,202,15,133,244,254,15,138,244,255,248,159,131,252,248,1,15,142,
433 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233, 434 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,
434 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209, 435 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,
435 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4, 436 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,
@@ -446,27 +447,27 @@ static const unsigned char build_actionlist[15847] = {
446 15,110,208,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,136,196,15, 447 15,110,208,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,136,196,15,
447 146,208,48,224,15,133,244,1,248,3,72,184,237,237,255,102,72,15,110,192,195, 448 146,208,48,224,15,133,244,1,248,3,72,184,237,237,255,102,72,15,110,192,195,
448 248,4,102,15,80,193,133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193, 449 248,4,102,15,80,193,133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,
449 133,192,15,132,244,3,15,87,192,195,248,159,255,131,252,250,1,15,130,244,88, 450 133,192,15,132,244,3,15,87,192,195,248,160,255,131,252,250,1,15,130,244,89,
450 15,132,244,90,131,252,250,3,15,130,244,111,15,135,244,248,252,242,15,81,192, 451 15,132,244,91,131,252,250,3,15,130,244,112,15,135,244,248,252,242,15,81,192,
451 195,248,2,252,242,15,17,68,36,8,221,68,36,8,131,252,250,5,15,135,244,248, 452 195,248,2,252,242,15,17,68,36,8,221,68,36,8,131,252,250,5,15,135,244,248,
452 88,15,132,244,247,232,244,95,80,252,233,244,253,248,1,232,244,155,255,80, 453 88,15,132,244,247,232,244,96,80,252,233,244,253,248,1,232,244,156,255,80,
453 252,233,244,253,248,2,131,252,250,7,15,132,244,247,15,135,244,248,217,252, 454 252,233,244,253,248,2,131,252,250,7,15,132,244,247,15,135,244,248,217,252,
454 237,217,201,217,252,241,252,233,244,253,248,1,217,232,217,201,217,252,241, 455 237,217,201,217,252,241,252,233,244,253,248,1,217,232,217,201,217,252,241,
455 252,233,244,253,248,2,131,252,250,9,15,132,244,247,15,135,244,248,217,252, 456 252,233,244,253,248,2,131,252,250,9,15,132,244,247,15,135,244,248,217,252,
456 236,217,201,217,252,241,252,233,244,253,248,1,255,217,252,254,252,233,244, 457 236,217,201,217,252,241,252,233,244,253,248,1,255,217,252,254,252,233,244,
457 253,248,2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,252,233, 458 253,248,2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,252,233,
458 244,253,248,1,217,252,242,221,216,248,7,221,92,36,8,252,242,15,16,68,36,8, 459 244,253,248,1,217,252,242,221,216,248,7,221,92,36,8,252,242,15,16,68,36,8,
459 195,255,139,84,36,12,221,68,36,4,131,252,250,1,15,130,244,88,15,132,244,90, 460 195,255,139,84,36,12,221,68,36,4,131,252,250,1,15,130,244,89,15,132,244,91,
460 131,252,250,3,15,130,244,111,15,135,244,248,217,252,250,195,248,2,131,252, 461 131,252,250,3,15,130,244,112,15,135,244,248,217,252,250,195,248,2,131,252,
461 250,5,15,130,244,95,15,132,244,155,131,252,250,7,15,132,244,247,15,135,244, 462 250,5,15,130,244,96,15,132,244,156,131,252,250,7,15,132,244,247,15,135,244,
462 248,217,252,237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241, 463 248,217,252,237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241,
463 195,248,2,131,252,250,9,15,132,244,247,255,15,135,244,248,217,252,236,217, 464 195,248,2,131,252,250,9,15,132,244,247,255,15,135,244,248,217,252,236,217,
464 201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,250,11,15,132,244, 465 201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,250,11,15,132,244,
465 247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216,195,255,248, 466 247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216,195,255,248,
466 9,204,255,248,160,255,65,131,252,248,1,15,132,244,247,15,135,244,248,252, 467 9,204,255,248,161,255,65,131,252,248,1,15,132,244,247,15,135,244,248,252,
467 242,15,88,193,195,248,1,252,242,15,92,193,195,248,2,65,131,252,248,3,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,
468 244,247,15,135,244,248,252,242,15,89,193,195,248,1,252,242,15,94,193,195, 469 244,247,15,135,244,248,252,242,15,89,193,195,248,1,252,242,15,94,193,195,
469 248,2,65,131,252,248,5,15,130,244,154,15,132,244,114,65,131,252,248,7,15, 470 248,2,65,131,252,248,5,15,130,244,155,15,132,244,115,65,131,252,248,7,15,
470 132,244,247,15,135,244,248,72,184,237,237,255,102,72,15,110,200,15,87,193, 471 132,244,247,15,135,244,248,72,184,237,237,255,102,72,15,110,200,15,87,193,
471 195,248,1,72,184,237,237,102,72,15,110,200,15,84,193,195,248,2,65,131,252, 472 195,248,1,72,184,237,237,102,72,15,110,200,15,84,193,195,248,2,65,131,252,
472 248,9,15,135,244,248,252,242,15,17,68,36,8,252,242,15,17,76,36,16,221,68, 473 248,9,15,135,244,248,252,242,15,17,68,36,8,252,242,15,17,76,36,16,221,68,
@@ -476,31 +477,31 @@ static const unsigned char build_actionlist[15847] = {
476 242,15,95,193,195,248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131, 477 242,15,95,193,195,248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,
477 252,248,1,15,132,244,247,15,135,244,248,222,193,195,248,1,222,252,233,195, 478 252,248,1,15,132,244,247,15,135,244,248,222,193,195,248,1,222,252,233,195,
478 248,2,131,252,248,3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252, 479 248,2,131,252,248,3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,
479 249,195,248,2,131,252,248,5,15,130,244,154,15,132,244,114,131,252,248,7,15, 480 249,195,248,2,131,252,248,5,15,130,244,155,15,132,244,115,131,252,248,7,15,
480 132,244,247,15,135,244,248,255,221,216,217,224,195,248,1,221,216,217,225, 481 132,244,247,15,135,244,248,255,221,216,217,224,195,248,1,221,216,217,225,
481 195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217,252,243,195,248, 482 195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217,252,243,195,248,
482 1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15, 483 1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15,
483 135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,252,233,218,209, 484 135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,252,233,218,209,
484 221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,248,217,201,248, 485 221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,248,217,201,248,
485 2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,244,248,217,201, 486 2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,244,248,217,201,
486 248,2,221,216,195,255,248,161,137,200,86,72,137,214,83,15,162,137,6,137,94, 487 248,2,221,216,195,255,248,162,137,200,86,72,137,214,83,15,162,137,6,137,94,
487 4,137,78,8,137,86,12,91,94,195,248,162,255,85,72,137,229,83,72,137,203,139, 488 4,137,78,8,137,86,12,91,94,195,248,163,255,85,72,137,229,83,72,137,203,139,
488 131,233,72,41,196,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1,72, 489 131,233,72,41,196,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1,72,
489 139,132,253,203,233,72,137,132,253,204,233,131,252,233,1,15,137,244,1,248, 490 139,132,253,203,233,72,137,132,253,204,233,131,252,233,1,15,137,244,1,248,
490 2,15,182,131,233,72,139,139,233,72,139,147,233,76,139,131,233,76,139,139, 491 2,15,182,131,233,72,139,139,233,72,139,147,233,76,139,131,233,76,139,139,
491 233,133,192,15,132,244,251,15,40,131,233,15,40,139,233,15,40,147,233,15,40, 492 233,133,192,15,132,244,251,15,40,131,233,15,40,139,233,15,40,147,233,15,40,
492 155,233,248,5,255,252,255,147,233,72,137,131,233,15,41,131,233,255,72,139, 493 155,233,248,5,255,252,255,147,233,72,137,131,233,15,41,131,233,255,72,139,
493 93,252,248,201,195,255,248,163,255,249,255,129,124,253,202,4,239,15,133,244, 494 93,252,248,201,195,255,248,164,255,249,255,129,124,253,202,4,239,15,133,244,
494 253,129,124,253,194,4,239,15,133,244,254,139,44,202,131,198,4,59,44,194,255, 495 253,129,124,253,194,4,239,15,133,244,254,139,44,202,131,198,4,59,44,194,255,
495 15,141,244,255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255, 496 15,141,244,255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255,
496 248,6,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182, 497 248,6,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182,
497 232,131,198,4,193,232,16,252,255,36,252,235,248,7,15,135,244,42,129,124,253, 498 232,131,198,4,193,232,16,252,255,36,252,235,248,7,15,135,244,43,129,124,253,
498 194,4,239,15,130,244,247,15,133,244,42,255,252,242,15,42,4,194,252,233,244, 499 194,4,239,15,130,244,247,15,133,244,43,255,252,242,15,42,4,194,252,233,244,
499 248,255,221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,42,255,252, 500 248,255,221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,43,255,252,
500 242,15,42,12,202,252,242,15,16,4,194,131,198,4,102,15,46,193,255,15,134,244, 501 242,15,42,12,202,252,242,15,16,4,194,131,198,4,102,15,46,193,255,15,134,244,
501 9,255,15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255, 502 9,255,15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255,
502 219,4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,42,129,124, 503 219,4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,43,129,124,
503 253,194,4,239,15,131,244,42,255,248,1,252,242,15,16,4,194,248,2,131,198,4, 504 253,194,4,239,15,131,244,43,255,248,1,252,242,15,16,4,194,248,2,131,198,4,
504 102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4, 505 102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4,
505 255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,247,255, 506 255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,247,255,
506 15,135,244,247,255,15,130,244,247,255,15,131,244,247,255,15,183,70,252,254, 507 15,135,244,247,255,15,130,244,247,255,15,131,244,247,255,15,183,70,252,254,
@@ -517,12 +518,12 @@ static const unsigned char build_actionlist[15847] = {
517 1,221,4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15, 518 1,221,4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15,
518 138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233, 519 138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,
519 248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252,233,244, 520 248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252,233,244,
520 9,255,129,252,253,239,15,132,244,47,129,124,253,202,4,239,15,132,244,47,255, 521 9,255,129,252,253,239,15,132,244,48,129,124,253,202,4,239,15,132,244,48,255,
521 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194, 522 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,
522 57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237, 523 57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,
523 15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0, 524 15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,
524 0,0,255,252,233,244,46,255,248,3,129,252,253,239,255,15,133,244,9,255,252, 525 0,0,255,252,233,244,47,255,248,3,129,252,253,239,255,15,133,244,9,255,252,
525 233,244,47,255,72,252,247,208,139,108,202,4,131,198,4,129,252,253,239,15, 526 233,244,48,255,72,252,247,208,139,108,202,4,131,198,4,129,252,253,239,15,
526 133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,4,255,129,252, 527 133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,4,255,129,252,
527 253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,254,139,44,199,59, 528 253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,254,139,44,199,59,
528 44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15, 529 44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,
@@ -534,7 +535,7 @@ static const unsigned char build_actionlist[15847] = {
534 72,252,247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70, 535 72,252,247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,
535 252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193, 536 252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,
536 232,16,252,255,36,252,235,248,3,129,252,253,239,15,133,244,2,252,233,244, 537 232,16,252,255,36,252,235,248,3,129,252,253,239,15,133,244,2,252,233,244,
537 47,255,15,132,244,248,129,252,253,239,15,132,244,47,15,183,70,252,254,141, 538 48,255,15,132,244,248,129,252,253,239,15,132,244,48,15,183,70,252,254,141,
538 180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 539 180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
539 255,36,252,235,255,139,108,194,4,131,198,4,129,252,253,239,255,137,108,202, 540 255,36,252,235,255,139,108,194,4,131,198,4,129,252,253,239,255,137,108,202,
540 4,139,44,194,137,44,202,255,72,139,44,194,72,137,44,202,139,6,15,182,204, 541 4,139,44,194,137,44,202,255,72,139,44,194,72,137,44,202,139,6,15,182,204,
@@ -543,40 +544,40 @@ static const unsigned char build_actionlist[15847] = {
543 4,193,232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,133,244,251, 544 4,193,232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,133,244,251,
544 139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139, 545 139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,
545 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,199, 546 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,199,
546 68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,52,255, 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,
547 129,124,253,194,4,239,15,131,244,52,255,252,242,15,16,4,194,72,184,237,237, 548 129,124,253,194,4,239,15,131,244,53,255,252,242,15,16,4,194,72,184,237,237,
548 102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221, 549 102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,
549 28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233, 550 28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233,
550 248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248, 551 248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248,
551 1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204, 552 1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,
552 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194, 553 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194,
553 4,239,15,133,244,55,139,12,194,137,213,232,251,1,20,255,252,242,15,42,192, 554 4,239,15,133,244,56,139,12,194,137,213,232,251,1,20,255,252,242,15,42,192,
554 255,137,252,234,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182, 555 255,137,252,234,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,
555 192,255,129,124,253,252,234,4,239,15,133,244,49,129,124,253,199,4,239,15, 556 192,255,129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,
556 133,244,49,139,44,252,234,3,44,199,15,128,244,48,255,129,124,253,252,234, 557 133,244,50,139,44,252,234,3,44,199,15,128,244,49,255,129,124,253,252,234,
557 4,239,15,133,244,51,129,124,253,199,4,239,15,133,244,51,139,4,199,3,4,252, 558 4,239,15,133,244,52,129,124,253,199,4,239,15,133,244,52,139,4,199,3,4,252,
558 234,15,128,244,50,255,129,124,253,252,234,4,239,15,133,244,54,129,124,253, 559 234,15,128,244,51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,253,
559 194,4,239,15,133,244,54,139,44,252,234,3,44,194,15,128,244,53,255,199,68, 560 194,4,239,15,133,244,55,139,44,252,234,3,44,194,15,128,244,54,255,199,68,
560 202,4,237,255,129,124,253,252,234,4,239,15,131,244,49,255,129,124,253,199, 561 202,4,237,255,129,124,253,252,234,4,239,15,131,244,50,255,129,124,253,199,
561 4,239,15,131,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221, 562 4,239,15,131,244,50,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,
562 4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,51,255,129,124, 563 4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,52,255,129,124,
563 253,199,4,239,15,131,244,51,255,252,242,15,16,4,199,252,242,15,88,4,252,234, 564 253,199,4,239,15,131,244,52,255,252,242,15,16,4,199,252,242,15,88,4,252,234,
564 255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,54,129, 565 255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,55,129,
565 124,253,194,4,239,15,131,244,54,255,252,242,15,16,4,252,234,252,242,15,88, 566 124,253,194,4,239,15,131,244,55,255,252,242,15,16,4,252,234,252,242,15,88,
566 4,194,255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244, 567 4,194,255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,
567 49,129,124,253,199,4,239,15,133,244,49,139,44,252,234,43,44,199,15,128,244, 568 50,129,124,253,199,4,239,15,133,244,50,139,44,252,234,43,44,199,15,128,244,
568 48,255,129,124,253,252,234,4,239,15,133,244,51,129,124,253,199,4,239,15,133, 569 49,255,129,124,253,252,234,4,239,15,133,244,52,129,124,253,199,4,239,15,133,
569 244,51,139,4,199,43,4,252,234,15,128,244,50,255,129,124,253,252,234,4,239, 570 244,52,139,4,199,43,4,252,234,15,128,244,51,255,129,124,253,252,234,4,239,
570 15,133,244,54,129,124,253,194,4,239,15,133,244,54,139,44,252,234,43,44,194, 571 15,133,244,55,129,124,253,194,4,239,15,133,244,55,139,44,252,234,43,44,194,
571 15,128,244,53,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252, 572 15,128,244,54,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,
572 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4, 573 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,
573 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221, 574 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,
574 4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,49,129,124, 575 4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,50,129,124,
575 253,199,4,239,15,133,244,49,139,44,252,234,15,175,44,199,15,128,244,48,255, 576 253,199,4,239,15,133,244,50,139,44,252,234,15,175,44,199,15,128,244,49,255,
576 129,124,253,252,234,4,239,15,133,244,51,129,124,253,199,4,239,15,133,244, 577 129,124,253,252,234,4,239,15,133,244,52,129,124,253,199,4,239,15,133,244,
577 51,139,4,199,15,175,4,252,234,15,128,244,50,255,129,124,253,252,234,4,239, 578 52,139,4,199,15,175,4,252,234,15,128,244,51,255,129,124,253,252,234,4,239,
578 15,133,244,54,129,124,253,194,4,239,15,133,244,54,139,44,252,234,15,175,44, 579 15,133,244,55,129,124,253,194,4,239,15,133,244,55,139,44,252,234,15,175,44,
579 194,15,128,244,53,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221, 580 194,15,128,244,54,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,
580 4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255, 581 4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,
581 221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194, 582 221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,
582 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4, 583 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4,
@@ -585,10 +586,10 @@ static const unsigned char build_actionlist[15847] = {
585 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252, 586 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,
586 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252, 587 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252,
587 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252, 588 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252,
588 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,164,232,244, 589 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,165,232,244,
589 154,255,252,233,244,164,255,232,244,114,255,15,182,252,236,15,182,192,139, 590 155,255,252,233,244,165,255,232,244,115,255,15,182,252,236,15,182,192,139,
590 76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,248,34,137,205,137,116, 591 76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,248,35,137,205,137,116,
591 36,100,232,251,1,27,139,149,233,133,192,15,133,244,43,15,182,110,252,255, 592 36,100,232,251,1,27,139,149,233,133,192,15,133,244,44,15,182,110,252,255,
592 15,182,78,252,253,72,139,4,252,234,72,137,4,202,139,6,15,182,204,15,182,232, 593 15,182,78,252,253,72,139,4,252,234,72,137,4,202,139,6,15,182,204,15,182,232,
593 131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,4,135,199, 594 131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,4,135,199,
594 68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 595 68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
@@ -630,56 +631,56 @@ static const unsigned char build_actionlist[15847] = {
630 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182, 631 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,
631 232,131,198,4,193,232,16,252,255,36,252,235,248,3,137,252,233,232,251,1,32, 632 232,131,198,4,193,232,16,252,255,36,252,235,248,3,137,252,233,232,251,1,32,
632 15,183,70,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106, 633 15,183,70,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,
633 252,248,139,173,233,139,4,135,252,233,244,165,255,72,252,247,208,139,106, 634 252,248,139,173,233,139,4,135,252,233,244,166,255,72,252,247,208,139,106,
634 252,248,139,173,233,139,4,135,252,233,244,166,255,15,182,252,236,15,182,192, 635 252,248,139,173,233,139,4,135,252,233,244,167,255,15,182,252,236,15,182,192,
635 129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,255,129,124,253,194, 636 129,124,253,252,234,4,239,15,133,244,38,139,44,252,234,255,129,124,253,194,
636 4,239,15,133,244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255, 637 4,239,15,133,244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,
637 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255, 638 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,
638 15,133,244,37,255,59,133,233,15,131,244,37,193,224,3,3,133,233,129,120,253, 639 15,133,244,38,255,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,
639 4,239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182, 640 4,239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,
640 232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244, 641 232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,
641 249,139,141,233,252,246,129,233,235,15,132,244,37,15,182,78,252,253,248,3, 642 249,139,141,233,252,246,129,233,235,15,132,244,38,15,182,78,252,253,248,3,
642 199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244, 643 199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,
643 37,139,4,194,252,233,244,165,255,15,182,252,236,15,182,192,72,252,247,208, 644 38,139,4,194,252,233,244,166,255,15,182,252,236,15,182,192,72,252,247,208,
644 139,4,135,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,248,165, 645 139,4,135,129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,248,166,
645 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133, 646 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,
646 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182, 647 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,
647 70,252,253,72,139,41,72,137,44,194,248,2,255,139,6,15,182,204,15,182,232, 648 70,252,253,72,139,41,72,137,44,194,248,2,255,139,6,15,182,204,15,182,232,
648 131,198,4,193,232,16,252,255,36,252,235,248,3,15,182,70,252,253,199,68,194, 649 131,198,4,193,232,16,252,255,36,252,235,248,3,15,182,70,252,253,199,68,194,
649 4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141, 650 4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,
650 233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,35, 651 233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,36,
651 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139, 652 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,37,139,
652 44,252,234,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,239, 653 44,252,234,59,133,233,15,131,244,37,193,224,3,3,133,233,129,120,253,4,239,
653 15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,232, 654 15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,232,
654 131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,249, 655 131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,249,
655 139,141,233,252,246,129,233,235,15,132,244,36,255,15,182,78,252,253,248,3, 656 139,141,233,252,246,129,233,235,15,132,244,37,255,15,182,78,252,253,248,3,
656 199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,253, 657 199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,253,
657 252,234,4,239,15,133,244,40,139,44,252,234,255,15,133,244,40,255,59,133,233, 658 252,234,4,239,15,133,244,41,139,44,252,234,255,15,133,244,41,255,59,133,233,
658 15,131,244,40,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1, 659 15,131,244,41,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,
659 252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,6,15, 660 252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,6,15,
660 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189, 661 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189,
661 233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,40,15,182, 662 233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,41,15,182,
662 78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,40,139,4, 663 78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,41,139,4,
663 194,252,233,244,166,248,7,128,165,233,235,139,139,233,137,171,233,137,141, 664 194,252,233,244,167,248,7,128,165,233,235,139,139,233,137,171,233,137,141,
664 233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,72,252, 665 233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,72,252,
665 247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,38,139,44,252,234, 666 247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,39,139,44,252,234,
666 248,166,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1, 667 248,167,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1,
667 129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239, 668 129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239,
668 15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182, 669 15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182,
669 70,252,253,72,139,44,194,72,137,41,139,6,15,182,204,15,182,232,131,198,4, 670 70,252,253,72,139,44,194,72,137,41,139,6,15,182,204,15,182,232,131,198,4,
670 193,232,16,252,255,36,252,235,248,4,131,189,233,0,15,132,244,2,137,76,36, 671 193,232,16,252,255,36,252,235,248,4,131,189,233,0,15,132,244,2,137,76,36,
671 80,139,141,233,252,246,129,233,235,15,132,244,38,139,76,36,80,252,233,244, 672 80,139,141,233,252,246,129,233,235,15,132,244,39,139,76,36,80,252,233,244,
672 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244, 673 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,
673 252,252,246,129,233,235,15,132,244,38,248,6,137,68,36,80,199,68,36,84,237, 674 252,252,246,129,233,235,15,132,244,39,248,6,137,68,36,80,199,68,36,84,237,
674 137,108,36,32,139,76,36,96,137,145,233,76,141,68,36,80,137,252,234,137,205, 675 137,108,36,32,139,76,36,96,137,145,233,76,141,68,36,80,137,252,234,137,205,
675 137,116,36,100,232,251,1,34,139,149,233,139,108,36,32,137,193,252,233,244, 676 137,116,36,100,232,251,1,34,139,149,233,139,108,36,32,137,193,252,233,244,
676 2,248,7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3, 677 2,248,7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,
677 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139, 678 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,40,139,
678 44,252,234,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239, 679 44,252,234,59,133,233,15,131,244,40,193,224,3,3,133,233,129,120,253,4,239,
679 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202, 680 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202,
680 72,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, 681 72,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
681 235,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235, 682 235,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,
682 15,132,244,39,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,139, 683 15,132,244,40,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,139,
683 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,36, 684 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,36,
684 80,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133, 685 80,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,
685 244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1,252,248,59,133,233, 686 244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1,252,248,59,133,233,
@@ -689,9 +690,9 @@ static const unsigned char build_actionlist[15847] = {
689 137,145,233,137,252,234,65,137,192,137,205,137,116,36,100,232,251,1,35,139, 690 137,145,233,137,252,234,65,137,192,137,205,137,116,36,100,232,251,1,35,139,
690 149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131, 691 149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,
691 233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,84,255,129,124,253, 692 233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,84,255,129,124,253,
692 202,4,239,139,44,202,15,133,244,56,141,84,202,8,137,114,252,252,139,181,233, 693 202,4,239,139,44,202,15,133,244,57,141,84,202,8,137,114,252,252,139,181,233,
693 139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,141,76, 694 139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,141,76,
694 202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,29,248,57, 695 202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,29,248,58,
695 139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137, 696 139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,
696 68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131,193,8,72,137,47,131, 697 68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131,193,8,72,137,47,131,
697 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,84,128,189,233, 698 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,84,128,189,233,
@@ -738,19 +739,19 @@ static const unsigned char build_actionlist[15847] = {
738 36,252,235,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194,252,244, 739 36,252,235,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194,252,244,
739 237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237,15,133, 740 237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237,15,133,
740 244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229,239,102, 741 244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229,239,102,
741 131,172,253,43,233,1,15,132,244,146,255,141,12,202,255,129,121,253,4,239, 742 131,172,253,43,233,1,15,132,244,147,255,141,12,202,255,129,121,253,4,239,
742 15,133,244,255,255,129,121,253,12,239,15,133,244,58,129,121,253,20,239,15, 743 15,133,244,255,255,129,121,253,12,239,15,133,244,59,129,121,253,20,239,15,
743 133,244,58,139,41,131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133, 744 133,244,59,139,41,131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133,
744 244,163,129,121,253,20,239,15,133,244,163,255,139,105,16,133,252,237,15,136, 745 244,164,129,121,253,20,239,15,133,244,164,255,139,105,16,133,252,237,15,136,
745 244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24, 746 244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24,
746 255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180,253,134,233, 747 255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180,253,134,233,
747 15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,180, 748 15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,180,
748 253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198,4,193,232, 749 253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198,4,193,232,
749 16,252,255,36,252,235,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7, 750 16,252,255,36,252,235,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7,
750 255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244,7,255, 751 255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244,7,255,
751 252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,58,129,121,253,12, 752 252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,59,129,121,253,12,
752 239,15,131,244,58,255,129,121,253,12,239,15,131,244,163,129,121,253,20,239, 753 239,15,131,244,59,255,129,121,253,12,239,15,131,244,164,129,121,253,20,239,
753 15,131,244,163,255,139,105,20,255,129,252,253,239,15,131,244,58,255,252,242, 754 15,131,244,164,255,139,105,20,255,129,252,253,239,15,131,244,59,255,252,242,
754 15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252, 755 15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,
755 237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15, 756 237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,
756 17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15, 757 17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,
@@ -767,7 +768,7 @@ static const unsigned char build_actionlist[15847] = {
767 15,127,153,233,102,68,15,127,161,233,102,68,15,127,169,233,102,68,15,127, 768 15,127,153,233,102,68,15,127,161,233,102,68,15,127,169,233,102,68,15,127,
768 177,233,102,68,15,127,185,233,252,255,224,255,141,180,253,134,233,139,6,15, 769 177,233,102,68,15,127,185,233,252,255,224,255,141,180,253,134,233,139,6,15,
769 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,137,252,245, 770 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,137,252,245,
770 209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,148,255,139,190, 771 209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,149,255,139,190,
771 233,139,108,36,96,141,12,202,59,141,233,15,135,244,24,15,182,142,233,57,200, 772 233,139,108,36,96,141,12,202,59,141,233,15,135,244,24,15,182,142,233,57,200,
772 15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194, 773 15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194,
773 252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237, 774 252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,
@@ -807,6 +808,7 @@ enum {
807 GLOB_vmeta_call, 808 GLOB_vmeta_call,
808 GLOB_vm_call_dispatch_f, 809 GLOB_vm_call_dispatch_f,
809 GLOB_vm_cpcall, 810 GLOB_vm_cpcall,
811 GLOB_vm_call_tail,
810 GLOB_cont_cat, 812 GLOB_cont_cat,
811 GLOB_cont_ra, 813 GLOB_cont_ra,
812 GLOB_BC_CAT_Z, 814 GLOB_BC_CAT_Z,
@@ -967,6 +969,7 @@ static const char *const globnames[] = {
967 "vmeta_call", 969 "vmeta_call",
968 "vm_call_dispatch_f", 970 "vm_call_dispatch_f",
969 "vm_cpcall", 971 "vm_cpcall",
972 "vm_call_tail",
970 "cont_cat", 973 "cont_cat",
971 "cont_ra", 974 "cont_ra",
972 "BC_CAT_Z", 975 "BC_CAT_Z",
@@ -1171,672 +1174,673 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1171 dasm_put(Dst, 276, 1+1, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base)); 1174 dasm_put(Dst, 276, 1+1, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base));
1172 dasm_put(Dst, 356, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE); 1175 dasm_put(Dst, 356, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE);
1173 dasm_put(Dst, 511, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base)); 1176 dasm_put(Dst, 511, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base));
1174 dasm_put(Dst, 604, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0); 1177 dasm_put(Dst, 604, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL);
1175 dasm_put(Dst, 768, Dt7(->pc), PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); 1178 dasm_put(Dst, 770, 0, Dt7(->pc), PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
1179 dasm_put(Dst, 894);
1176 if (LJ_DUALNUM) { 1180 if (LJ_DUALNUM) {
1177 dasm_put(Dst, 885, LJ_TISNUM); 1181 dasm_put(Dst, 908, LJ_TISNUM);
1178 } else if (sse) { 1182 } else if (sse) {
1179 dasm_put(Dst, 895); 1183 dasm_put(Dst, 918);
1180 } else { 1184 } else {
1181 } 1185 }
1182 dasm_put(Dst, 908, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); 1186 dasm_put(Dst, 931, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET);
1183 dasm_put(Dst, 1055, DISPATCH_GL(tmptv), LJ_TTAB); 1187 dasm_put(Dst, 1078, DISPATCH_GL(tmptv), LJ_TTAB);
1184 if (LJ_DUALNUM) { 1188 if (LJ_DUALNUM) {
1185 dasm_put(Dst, 885, LJ_TISNUM); 1189 dasm_put(Dst, 908, LJ_TISNUM);
1186 } else if (sse) { 1190 } else if (sse) {
1187 dasm_put(Dst, 895); 1191 dasm_put(Dst, 918);
1188 } else { 1192 } else {
1189 } 1193 }
1190 dasm_put(Dst, 1078, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); 1194 dasm_put(Dst, 1101, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base));
1191 dasm_put(Dst, 1251, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); 1195 dasm_put(Dst, 1274, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
1192 dasm_put(Dst, 1351); 1196 dasm_put(Dst, 1374);
1193#if LJ_HASFFI 1197#if LJ_HASFFI
1194 dasm_put(Dst, 1371, Dt1(->base)); 1198 dasm_put(Dst, 1394, Dt1(->base));
1195#endif 1199#endif
1196 dasm_put(Dst, 1402); 1200 dasm_put(Dst, 1425);
1197#if LJ_DUALNUM 1201#if LJ_DUALNUM
1198 dasm_put(Dst, 1405); 1202 dasm_put(Dst, 1428);
1199#endif 1203#endif
1200 dasm_put(Dst, 1411); 1204 dasm_put(Dst, 1434);
1201#if LJ_DUALNUM 1205#if LJ_DUALNUM
1202 dasm_put(Dst, 879); 1206 dasm_put(Dst, 902);
1203#endif 1207#endif
1204 dasm_put(Dst, 1423); 1208 dasm_put(Dst, 1446);
1205#if LJ_DUALNUM 1209#if LJ_DUALNUM
1206 dasm_put(Dst, 1405); 1210 dasm_put(Dst, 1428);
1207#endif 1211#endif
1208 dasm_put(Dst, 1451, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base)); 1212 dasm_put(Dst, 1474, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base));
1209 dasm_put(Dst, 1588, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); 1213 dasm_put(Dst, 1611, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND);
1210 dasm_put(Dst, 1771, 1+1, ~LJ_TNUMX); 1214 dasm_put(Dst, 1794, 1+1, ~LJ_TNUMX);
1211 if (cmov) { 1215 if (cmov) {
1212 dasm_put(Dst, 1816); 1216 dasm_put(Dst, 1839);
1213 } else { 1217 } else {
1214 dasm_put(Dst, 1820); 1218 dasm_put(Dst, 1843);
1215 } 1219 }
1216 dasm_put(Dst, 1829, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); 1220 dasm_put(Dst, 1852, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL);
1217 dasm_put(Dst, 1908, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next)); 1221 dasm_put(Dst, 1931, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next));
1218 dasm_put(Dst, 1965, LJ_TNIL, LJ_TUDATA, LJ_TNUMX, LJ_TISNUM, LJ_TLIGHTUD); 1222 dasm_put(Dst, 1988, LJ_TNIL, LJ_TUDATA, LJ_TNUMX, LJ_TISNUM, LJ_TLIGHTUD);
1219 dasm_put(Dst, 2031, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB); 1223 dasm_put(Dst, 2054, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB);
1220 dasm_put(Dst, 2101, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB); 1224 dasm_put(Dst, 2124, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB);
1221 dasm_put(Dst, 2190, 1+1, LJ_TISNUM); 1225 dasm_put(Dst, 2213, 1+1, LJ_TISNUM);
1222 if (LJ_DUALNUM) { 1226 if (LJ_DUALNUM) {
1223 dasm_put(Dst, 2204); 1227 dasm_put(Dst, 2227);
1224 } else { 1228 } else {
1225 dasm_put(Dst, 2221); 1229 dasm_put(Dst, 2244);
1226 } 1230 }
1227 if (sse) { 1231 if (sse) {
1228 dasm_put(Dst, 2226); 1232 dasm_put(Dst, 2249);
1229 } else { 1233 } else {
1230 dasm_put(Dst, 2236); 1234 dasm_put(Dst, 2259);
1231 } 1235 }
1232 dasm_put(Dst, 2243, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1236 dasm_put(Dst, 2266, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1233 dasm_put(Dst, 2309, Dt1(->base)); 1237 dasm_put(Dst, 2332, Dt1(->base));
1234 if (LJ_DUALNUM) { 1238 if (LJ_DUALNUM) {
1235 dasm_put(Dst, 2333); 1239 dasm_put(Dst, 2356);
1236 } else { 1240 } else {
1237 dasm_put(Dst, 2338); 1241 dasm_put(Dst, 2361);
1238 } 1242 }
1239 dasm_put(Dst, 2343, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); 1243 dasm_put(Dst, 2366, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
1240 dasm_put(Dst, 2436, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); 1244 dasm_put(Dst, 2459, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1241#ifdef LUAJIT_ENABLE_LUA52COMPAT 1245#ifdef LUAJIT_ENABLE_LUA52COMPAT
1242 dasm_put(Dst, 2483, Dt6(->metatable)); 1246 dasm_put(Dst, 2506, Dt6(->metatable));
1243#endif 1247#endif
1244 dasm_put(Dst, 2492, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1248 dasm_put(Dst, 2515, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1245 if (LJ_DUALNUM) { 1249 if (LJ_DUALNUM) {
1246 dasm_put(Dst, 2478); 1250 dasm_put(Dst, 2501);
1247 } else { 1251 } else {
1248 dasm_put(Dst, 2221); 1252 dasm_put(Dst, 2244);
1249 } 1253 }
1250 dasm_put(Dst, 2547); 1254 dasm_put(Dst, 2570);
1251 if (LJ_DUALNUM) { 1255 if (LJ_DUALNUM) {
1252 dasm_put(Dst, 2552, LJ_TISNUM); 1256 dasm_put(Dst, 2575, LJ_TISNUM);
1253 } else if (sse) { 1257 } else if (sse) {
1254 dasm_put(Dst, 2568, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1258 dasm_put(Dst, 2591, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1255 } else { 1259 } else {
1256 } 1260 }
1257 dasm_put(Dst, 2601, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1261 dasm_put(Dst, 2624, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1258 dasm_put(Dst, 2463, 1+1, LJ_TTAB); 1262 dasm_put(Dst, 2486, 1+1, LJ_TTAB);
1259#ifdef LUAJIT_ENABLE_LUA52COMPAT 1263#ifdef LUAJIT_ENABLE_LUA52COMPAT
1260 dasm_put(Dst, 2483, Dt6(->metatable)); 1264 dasm_put(Dst, 2506, Dt6(->metatable));
1261#endif 1265#endif
1262 dasm_put(Dst, 2678, Dt8(->upvalue[0]), LJ_TFUNC); 1266 dasm_put(Dst, 2701, Dt8(->upvalue[0]), LJ_TFUNC);
1263 if (LJ_DUALNUM) { 1267 if (LJ_DUALNUM) {
1264 dasm_put(Dst, 2699, LJ_TISNUM); 1268 dasm_put(Dst, 2722, LJ_TISNUM);
1265 } else if (sse) { 1269 } else if (sse) {
1266 dasm_put(Dst, 2711); 1270 dasm_put(Dst, 2734);
1267 } else { 1271 } else {
1268 dasm_put(Dst, 2721); 1272 dasm_put(Dst, 2744);
1269 } 1273 }
1270 dasm_put(Dst, 2728, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); 1274 dasm_put(Dst, 2751, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1271 dasm_put(Dst, 2792, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); 1275 dasm_put(Dst, 2815, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1272 dasm_put(Dst, 2882, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1276 dasm_put(Dst, 2905, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1273 dasm_put(Dst, 2970, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1277 dasm_put(Dst, 2993, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1274 dasm_put(Dst, 3083, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1278 dasm_put(Dst, 3106, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1275 dasm_put(Dst, 3181, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1279 dasm_put(Dst, 3204, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1276 dasm_put(Dst, 3248, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1280 dasm_put(Dst, 3271, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1277 dasm_put(Dst, 3336, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1281 dasm_put(Dst, 3359, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1278 dasm_put(Dst, 3448, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1282 dasm_put(Dst, 3471, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1279 if (!LJ_DUALNUM) { 1283 if (!LJ_DUALNUM) {
1280 dasm_put(Dst, 3475); 1284 dasm_put(Dst, 3498);
1281 } 1285 }
1282 if (sse) { 1286 if (sse) {
1283 dasm_put(Dst, 3478); 1287 dasm_put(Dst, 3501);
1284 } 1288 }
1285 dasm_put(Dst, 3493, 1+1); 1289 dasm_put(Dst, 3516, 1+1);
1286 if (LJ_DUALNUM) { 1290 if (LJ_DUALNUM) {
1287 dasm_put(Dst, 3504, LJ_TISNUM, LJ_TISNUM); 1291 dasm_put(Dst, 3527, LJ_TISNUM, LJ_TISNUM);
1288 } else { 1292 } else {
1289 dasm_put(Dst, 3584, LJ_TISNUM); 1293 dasm_put(Dst, 3607, LJ_TISNUM);
1290 } 1294 }
1291 if (sse) { 1295 if (sse) {
1292 dasm_put(Dst, 3594, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1296 dasm_put(Dst, 3617, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1293 } else { 1297 } else {
1294 dasm_put(Dst, 3625); 1298 dasm_put(Dst, 3648);
1295 } 1299 }
1296 dasm_put(Dst, 3642, 1+1, FRAME_TYPE, LJ_TNIL); 1300 dasm_put(Dst, 3665, 1+1, FRAME_TYPE, LJ_TNIL);
1297 if (LJ_DUALNUM) { 1301 if (LJ_DUALNUM) {
1298 dasm_put(Dst, 3738, LJ_TISNUM); 1302 dasm_put(Dst, 3761, LJ_TISNUM);
1299 } else { 1303 } else {
1300 dasm_put(Dst, 3584, LJ_TISNUM); 1304 dasm_put(Dst, 3607, LJ_TISNUM);
1301 } 1305 }
1302 if (sse) { 1306 if (sse) {
1303 dasm_put(Dst, 3760); 1307 dasm_put(Dst, 3783);
1304 if (LJ_DUALNUM) { 1308 if (LJ_DUALNUM) {
1305 dasm_put(Dst, 3769); 1309 dasm_put(Dst, 3792);
1306 } 1310 }
1307 dasm_put(Dst, 2231); 1311 dasm_put(Dst, 2254);
1308 } else { 1312 } else {
1309 dasm_put(Dst, 3803); 1313 dasm_put(Dst, 3826);
1310 if (LJ_DUALNUM) { 1314 if (LJ_DUALNUM) {
1311 } else { 1315 } else {
1312 dasm_put(Dst, 2238); 1316 dasm_put(Dst, 2261);
1313 } 1317 }
1314 } 1318 }
1315 dasm_put(Dst, 3809); 1319 dasm_put(Dst, 3832);
1316 if (LJ_DUALNUM) { 1320 if (LJ_DUALNUM) {
1317 dasm_put(Dst, 3738, LJ_TISNUM); 1321 dasm_put(Dst, 3761, LJ_TISNUM);
1318 } else { 1322 } else {
1319 dasm_put(Dst, 3584, LJ_TISNUM); 1323 dasm_put(Dst, 3607, LJ_TISNUM);
1320 } 1324 }
1321 if (sse) { 1325 if (sse) {
1322 dasm_put(Dst, 3812); 1326 dasm_put(Dst, 3835);
1323 if (LJ_DUALNUM) { 1327 if (LJ_DUALNUM) {
1324 dasm_put(Dst, 3769); 1328 dasm_put(Dst, 3792);
1325 } 1329 }
1326 dasm_put(Dst, 2231); 1330 dasm_put(Dst, 2254);
1327 } else { 1331 } else {
1328 dasm_put(Dst, 3821); 1332 dasm_put(Dst, 3844);
1329 if (LJ_DUALNUM) { 1333 if (LJ_DUALNUM) {
1330 } else { 1334 } else {
1331 dasm_put(Dst, 2238); 1335 dasm_put(Dst, 2261);
1332 } 1336 }
1333 } 1337 }
1334 if (sse) { 1338 if (sse) {
1335 dasm_put(Dst, 3827, 1+1, LJ_TISNUM); 1339 dasm_put(Dst, 3850, 1+1, LJ_TISNUM);
1336 } else { 1340 } else {
1337 dasm_put(Dst, 3856, 1+1, LJ_TISNUM); 1341 dasm_put(Dst, 3879, 1+1, LJ_TISNUM);
1338 } 1342 }
1339 dasm_put(Dst, 3885, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1343 dasm_put(Dst, 3908, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1340 dasm_put(Dst, 3954, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1344 dasm_put(Dst, 3977, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1341 dasm_put(Dst, 4011, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1345 dasm_put(Dst, 4034, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1342 dasm_put(Dst, 4074, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1346 dasm_put(Dst, 4097, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1343 dasm_put(Dst, 4164); 1347 dasm_put(Dst, 4187);
1344 if (sse) { 1348 if (sse) {
1345 dasm_put(Dst, 4176, 1+1, LJ_TISNUM); 1349 dasm_put(Dst, 4199, 1+1, LJ_TISNUM);
1346 } else { 1350 } else {
1347 } 1351 }
1348 dasm_put(Dst, 4201); 1352 dasm_put(Dst, 4224);
1349 if (sse) { 1353 if (sse) {
1350 dasm_put(Dst, 4215, 1+1, LJ_TISNUM); 1354 dasm_put(Dst, 4238, 1+1, LJ_TISNUM);
1351 } else { 1355 } else {
1352 } 1356 }
1353 dasm_put(Dst, 4240); 1357 dasm_put(Dst, 4263);
1354 if (sse) { 1358 if (sse) {
1355 dasm_put(Dst, 4254, 1+1, LJ_TISNUM); 1359 dasm_put(Dst, 4277, 1+1, LJ_TISNUM);
1356 } else { 1360 } else {
1357 } 1361 }
1358 dasm_put(Dst, 4279); 1362 dasm_put(Dst, 4302);
1359 if (sse) { 1363 if (sse) {
1360 dasm_put(Dst, 4295, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1364 dasm_put(Dst, 4318, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1361 } else { 1365 } else {
1362 dasm_put(Dst, 4334, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1366 dasm_put(Dst, 4357, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1363 } 1367 }
1364 dasm_put(Dst, 4367, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1368 dasm_put(Dst, 4390, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1365 dasm_put(Dst, 4432, 1+1, LJ_TISNUM); 1369 dasm_put(Dst, 4455, 1+1, LJ_TISNUM);
1366 if (sse) { 1370 if (sse) {
1367 dasm_put(Dst, 4531); 1371 dasm_put(Dst, 4554);
1368 } else { 1372 } else {
1369 dasm_put(Dst, 4537); 1373 dasm_put(Dst, 4560);
1370 } 1374 }
1371 dasm_put(Dst, 4546); 1375 dasm_put(Dst, 4569);
1372 if (sse) { 1376 if (sse) {
1373 dasm_put(Dst, 4571); 1377 dasm_put(Dst, 4594);
1374 } else { 1378 } else {
1375 dasm_put(Dst, 4577); 1379 dasm_put(Dst, 4600);
1376 } 1380 }
1377 dasm_put(Dst, 4580, 1+2); 1381 dasm_put(Dst, 4603, 1+2);
1378 if (sse) { 1382 if (sse) {
1379 dasm_put(Dst, 4589); 1383 dasm_put(Dst, 4612);
1380 } else { 1384 } else {
1381 dasm_put(Dst, 4597); 1385 dasm_put(Dst, 4620);
1382 } 1386 }
1383 dasm_put(Dst, 4605); 1387 dasm_put(Dst, 4628);
1384 if (sse) { 1388 if (sse) {
1385 dasm_put(Dst, 4608, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); 1389 dasm_put(Dst, 4631, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32));
1386 } else { 1390 } else {
1387 dasm_put(Dst, 4635); 1391 dasm_put(Dst, 4658);
1388 } 1392 }
1389 dasm_put(Dst, 4654); 1393 dasm_put(Dst, 4677);
1390 if (sse) { 1394 if (sse) {
1391 dasm_put(Dst, 4670, 1+1, LJ_TISNUM); 1395 dasm_put(Dst, 4693, 1+1, LJ_TISNUM);
1392 } else { 1396 } else {
1393 dasm_put(Dst, 4695, 1+1, LJ_TISNUM); 1397 dasm_put(Dst, 4718, 1+1, LJ_TISNUM);
1394 } 1398 }
1395 dasm_put(Dst, 4717); 1399 dasm_put(Dst, 4740);
1396 if (sse) { 1400 if (sse) {
1397 dasm_put(Dst, 4739); 1401 dasm_put(Dst, 4762);
1398 } else { 1402 } else {
1399 dasm_put(Dst, 4765); 1403 dasm_put(Dst, 4788);
1400 } 1404 }
1401 dasm_put(Dst, 4782, 1+2); 1405 dasm_put(Dst, 4805, 1+2);
1402 if (sse) { 1406 if (sse) {
1403 dasm_put(Dst, 4822); 1407 dasm_put(Dst, 4845);
1404 } else { 1408 } else {
1405 dasm_put(Dst, 4830); 1409 dasm_put(Dst, 4853);
1406 } 1410 }
1407 dasm_put(Dst, 4840, 2+1, LJ_TISNUM, LJ_TISNUM); 1411 dasm_put(Dst, 4863, 2+1, LJ_TISNUM, LJ_TISNUM);
1408 if (sse) { 1412 if (sse) {
1409 dasm_put(Dst, 4892, 2+1, LJ_TISNUM, LJ_TISNUM); 1413 dasm_put(Dst, 4915, 2+1, LJ_TISNUM, LJ_TISNUM);
1410 } else { 1414 } else {
1411 dasm_put(Dst, 4939, 2+1, LJ_TISNUM, LJ_TISNUM); 1415 dasm_put(Dst, 4962, 2+1, LJ_TISNUM, LJ_TISNUM);
1412 } 1416 }
1413 dasm_put(Dst, 4980, LJ_TISNUM); 1417 dasm_put(Dst, 5003, LJ_TISNUM);
1414 if (LJ_DUALNUM) { 1418 if (LJ_DUALNUM) {
1415 dasm_put(Dst, 4993, LJ_TISNUM); 1419 dasm_put(Dst, 5016, LJ_TISNUM);
1416 if (sse) { 1420 if (sse) {
1417 dasm_put(Dst, 4531); 1421 dasm_put(Dst, 4554);
1418 } else { 1422 } else {
1419 } 1423 }
1420 dasm_put(Dst, 5043); 1424 dasm_put(Dst, 5066);
1421 } else { 1425 } else {
1422 dasm_put(Dst, 2221); 1426 dasm_put(Dst, 2244);
1423 } 1427 }
1424 if (sse) { 1428 if (sse) {
1425 dasm_put(Dst, 5054, LJ_TISNUM); 1429 dasm_put(Dst, 5077, LJ_TISNUM);
1426 if (LJ_DUALNUM) { 1430 if (LJ_DUALNUM) {
1427 dasm_put(Dst, 5075); 1431 dasm_put(Dst, 5098);
1428 } else { 1432 } else {
1429 dasm_put(Dst, 2221); 1433 dasm_put(Dst, 2244);
1430 } 1434 }
1431 dasm_put(Dst, 5096); 1435 dasm_put(Dst, 5119);
1432 } else { 1436 } else {
1433 } 1437 }
1434 dasm_put(Dst, 5121, LJ_TISNUM); 1438 dasm_put(Dst, 5144, LJ_TISNUM);
1435 if (LJ_DUALNUM) { 1439 if (LJ_DUALNUM) {
1436 dasm_put(Dst, 5134, LJ_TISNUM); 1440 dasm_put(Dst, 5157, LJ_TISNUM);
1437 if (sse) { 1441 if (sse) {
1438 dasm_put(Dst, 4531); 1442 dasm_put(Dst, 4554);
1439 } else { 1443 } else {
1440 } 1444 }
1441 dasm_put(Dst, 5043); 1445 dasm_put(Dst, 5066);
1442 } else { 1446 } else {
1443 dasm_put(Dst, 2221); 1447 dasm_put(Dst, 2244);
1444 } 1448 }
1445 if (sse) { 1449 if (sse) {
1446 dasm_put(Dst, 5054, LJ_TISNUM); 1450 dasm_put(Dst, 5077, LJ_TISNUM);
1447 if (LJ_DUALNUM) { 1451 if (LJ_DUALNUM) {
1448 dasm_put(Dst, 5075); 1452 dasm_put(Dst, 5098);
1449 } else { 1453 } else {
1450 dasm_put(Dst, 2221); 1454 dasm_put(Dst, 2244);
1451 } 1455 }
1452 dasm_put(Dst, 5184); 1456 dasm_put(Dst, 5207);
1453 } else { 1457 } else {
1454 } 1458 }
1455 if (!sse) { 1459 if (!sse) {
1456 dasm_put(Dst, 5209); 1460 dasm_put(Dst, 5232);
1457 } 1461 }
1458 dasm_put(Dst, 5218, 1+1, LJ_TSTR); 1462 dasm_put(Dst, 5241, 1+1, LJ_TSTR);
1459 if (LJ_DUALNUM) { 1463 if (LJ_DUALNUM) {
1460 dasm_put(Dst, 5240, Dt5(->len)); 1464 dasm_put(Dst, 5263, Dt5(->len));
1461 } else if (sse) { 1465 } else if (sse) {
1462 dasm_put(Dst, 5248, Dt5(->len)); 1466 dasm_put(Dst, 5271, Dt5(->len));
1463 } else { 1467 } else {
1464 dasm_put(Dst, 5259, Dt5(->len)); 1468 dasm_put(Dst, 5282, Dt5(->len));
1465 } 1469 }
1466 dasm_put(Dst, 5267, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1470 dasm_put(Dst, 5290, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1467 if (LJ_DUALNUM) { 1471 if (LJ_DUALNUM) {
1468 dasm_put(Dst, 5243); 1472 dasm_put(Dst, 5266);
1469 } else if (sse) { 1473 } else if (sse) {
1470 dasm_put(Dst, 5305); 1474 dasm_put(Dst, 5328);
1471 } else { 1475 } else {
1472 dasm_put(Dst, 5315); 1476 dasm_put(Dst, 5338);
1473 } 1477 }
1474 dasm_put(Dst, 5328, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1478 dasm_put(Dst, 5351, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1475 if (LJ_DUALNUM) { 1479 if (LJ_DUALNUM) {
1476 dasm_put(Dst, 5359);
1477 } else if (sse) {
1478 dasm_put(Dst, 5382); 1480 dasm_put(Dst, 5382);
1481 } else if (sse) {
1482 dasm_put(Dst, 5405);
1479 } else { 1483 } else {
1480 dasm_put(Dst, 5408); 1484 dasm_put(Dst, 5431);
1481 } 1485 }
1482 dasm_put(Dst, 5432, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1486 dasm_put(Dst, 5455, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1483 if (LJ_DUALNUM) { 1487 if (LJ_DUALNUM) {
1484 dasm_put(Dst, 5540); 1488 dasm_put(Dst, 5563);
1485 } else if (sse) { 1489 } else if (sse) {
1486 dasm_put(Dst, 5552); 1490 dasm_put(Dst, 5575);
1487 } else { 1491 } else {
1488 dasm_put(Dst, 5567); 1492 dasm_put(Dst, 5590);
1489 } 1493 }
1490 dasm_put(Dst, 5579, LJ_TSTR, LJ_TISNUM); 1494 dasm_put(Dst, 5602, LJ_TSTR, LJ_TISNUM);
1491 if (LJ_DUALNUM) { 1495 if (LJ_DUALNUM) {
1492 dasm_put(Dst, 2478); 1496 dasm_put(Dst, 2501);
1493 } else { 1497 } else {
1494 dasm_put(Dst, 2221); 1498 dasm_put(Dst, 2244);
1495 } 1499 }
1496 dasm_put(Dst, 5596, Dt5(->len)); 1500 dasm_put(Dst, 5619, Dt5(->len));
1497 if (LJ_DUALNUM) { 1501 if (LJ_DUALNUM) {
1498 dasm_put(Dst, 5606); 1502 dasm_put(Dst, 5629);
1499 } else if (sse) { 1503 } else if (sse) {
1500 dasm_put(Dst, 5610); 1504 dasm_put(Dst, 5633);
1501 } else { 1505 } else {
1502 } 1506 }
1503 dasm_put(Dst, 5617, sizeof(GCstr)-1); 1507 dasm_put(Dst, 5640, sizeof(GCstr)-1);
1504 dasm_put(Dst, 5692, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1508 dasm_put(Dst, 5715, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1505 dasm_put(Dst, 5751, LJ_TSTR, LJ_TISNUM); 1509 dasm_put(Dst, 5774, LJ_TSTR, LJ_TISNUM);
1506 if (LJ_DUALNUM) { 1510 if (LJ_DUALNUM) {
1507 dasm_put(Dst, 5768); 1511 dasm_put(Dst, 5791);
1508 } else if (sse) { 1512 } else if (sse) {
1509 dasm_put(Dst, 5776); 1513 dasm_put(Dst, 5799);
1510 } else { 1514 } else {
1511 dasm_put(Dst, 5787); 1515 dasm_put(Dst, 5810);
1512 } 1516 }
1513 dasm_put(Dst, 5803, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1517 dasm_put(Dst, 5826, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1514 dasm_put(Dst, 5868, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1518 dasm_put(Dst, 5891, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1515 dasm_put(Dst, 5931, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1519 dasm_put(Dst, 5954, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1516 dasm_put(Dst, 6002, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1520 dasm_put(Dst, 6025, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1517 dasm_put(Dst, 6087, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1521 dasm_put(Dst, 6110, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1518 dasm_put(Dst, 6157, 1+1, LJ_TTAB); 1522 dasm_put(Dst, 6180, 1+1, LJ_TTAB);
1519 if (LJ_DUALNUM) { 1523 if (LJ_DUALNUM) {
1520 dasm_put(Dst, 6225); 1524 dasm_put(Dst, 6248);
1521 } else if (sse) { 1525 } else if (sse) {
1522 dasm_put(Dst, 6232); 1526 dasm_put(Dst, 6255);
1523 } else { 1527 } else {
1524 } 1528 }
1525 dasm_put(Dst, 6242, LJ_TISNUM); 1529 dasm_put(Dst, 6265, LJ_TISNUM);
1526 if (LJ_DUALNUM) { 1530 if (LJ_DUALNUM) {
1527 dasm_put(Dst, 6250); 1531 dasm_put(Dst, 6273);
1528 } else { 1532 } else {
1529 dasm_put(Dst, 2221); 1533 dasm_put(Dst, 2244);
1530 } 1534 }
1531 if (sse) { 1535 if (sse) {
1532 dasm_put(Dst, 6267, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1536 dasm_put(Dst, 6290, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1533 } else { 1537 } else {
1534 } 1538 }
1535 dasm_put(Dst, 106); 1539 dasm_put(Dst, 106);
1536 if (LJ_DUALNUM || sse) { 1540 if (LJ_DUALNUM || sse) {
1537 if (!sse) { 1541 if (!sse) {
1538 } 1542 }
1539 dasm_put(Dst, 6291); 1543 dasm_put(Dst, 6314);
1540 } else { 1544 } else {
1541 } 1545 }
1542 dasm_put(Dst, 6296); 1546 dasm_put(Dst, 6319);
1543 if (sse) { 1547 if (sse) {
1544 dasm_put(Dst, 6299, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1548 dasm_put(Dst, 6322, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1545 } else { 1549 } else {
1546 dasm_put(Dst, 6309); 1550 dasm_put(Dst, 6332);
1547 } 1551 }
1548 dasm_put(Dst, 2198, LJ_TISNUM); 1552 dasm_put(Dst, 2221, LJ_TISNUM);
1549 if (LJ_DUALNUM) { 1553 if (LJ_DUALNUM) {
1550 dasm_put(Dst, 6318); 1554 dasm_put(Dst, 6341);
1551 } else { 1555 } else {
1552 dasm_put(Dst, 2221); 1556 dasm_put(Dst, 2244);
1553 } 1557 }
1554 if (sse) { 1558 if (sse) {
1555 dasm_put(Dst, 6335); 1559 dasm_put(Dst, 6358);
1556 } else { 1560 } else {
1557 } 1561 }
1558 dasm_put(Dst, 6350, LJ_TISNUM); 1562 dasm_put(Dst, 6373, LJ_TISNUM);
1559 if (LJ_DUALNUM) { 1563 if (LJ_DUALNUM) {
1560 dasm_put(Dst, 6375); 1564 dasm_put(Dst, 6398);
1561 } else { 1565 } else {
1562 dasm_put(Dst, 6395); 1566 dasm_put(Dst, 6418);
1563 } 1567 }
1564 if (sse) { 1568 if (sse) {
1565 dasm_put(Dst, 6400); 1569 dasm_put(Dst, 6423);
1566 } else { 1570 } else {
1567 } 1571 }
1568 dasm_put(Dst, 6417); 1572 dasm_put(Dst, 6440);
1569 if (sse) { 1573 if (sse) {
1570 dasm_put(Dst, 6299, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1574 dasm_put(Dst, 6322, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1571 } else { 1575 } else {
1572 dasm_put(Dst, 6309); 1576 dasm_put(Dst, 6332);
1573 } 1577 }
1574 dasm_put(Dst, 2198, LJ_TISNUM); 1578 dasm_put(Dst, 2221, LJ_TISNUM);
1575 if (LJ_DUALNUM) { 1579 if (LJ_DUALNUM) {
1576 dasm_put(Dst, 6318); 1580 dasm_put(Dst, 6341);
1577 } else { 1581 } else {
1578 dasm_put(Dst, 2221); 1582 dasm_put(Dst, 2244);
1579 } 1583 }
1580 if (sse) { 1584 if (sse) {
1581 dasm_put(Dst, 6335); 1585 dasm_put(Dst, 6358);
1582 } else { 1586 } else {
1583 } 1587 }
1584 dasm_put(Dst, 6350, LJ_TISNUM); 1588 dasm_put(Dst, 6373, LJ_TISNUM);
1585 if (LJ_DUALNUM) { 1589 if (LJ_DUALNUM) {
1586 dasm_put(Dst, 6427); 1590 dasm_put(Dst, 6450);
1587 } else { 1591 } else {
1588 dasm_put(Dst, 6395); 1592 dasm_put(Dst, 6418);
1589 } 1593 }
1590 if (sse) { 1594 if (sse) {
1591 dasm_put(Dst, 6447); 1595 dasm_put(Dst, 6470);
1592 } else { 1596 } else {
1593 } 1597 }
1594 dasm_put(Dst, 6464); 1598 dasm_put(Dst, 6487);
1595 if (sse) { 1599 if (sse) {
1596 dasm_put(Dst, 6299, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1600 dasm_put(Dst, 6322, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1597 } else { 1601 } else {
1598 dasm_put(Dst, 6309); 1602 dasm_put(Dst, 6332);
1599 } 1603 }
1600 dasm_put(Dst, 2198, LJ_TISNUM); 1604 dasm_put(Dst, 2221, LJ_TISNUM);
1601 if (LJ_DUALNUM) { 1605 if (LJ_DUALNUM) {
1602 dasm_put(Dst, 6318); 1606 dasm_put(Dst, 6341);
1603 } else { 1607 } else {
1604 dasm_put(Dst, 2221); 1608 dasm_put(Dst, 2244);
1605 } 1609 }
1606 if (sse) { 1610 if (sse) {
1607 dasm_put(Dst, 6335); 1611 dasm_put(Dst, 6358);
1608 } else { 1612 } else {
1609 } 1613 }
1610 dasm_put(Dst, 6350, LJ_TISNUM); 1614 dasm_put(Dst, 6373, LJ_TISNUM);
1611 if (LJ_DUALNUM) { 1615 if (LJ_DUALNUM) {
1612 dasm_put(Dst, 6474); 1616 dasm_put(Dst, 6497);
1613 } else { 1617 } else {
1614 dasm_put(Dst, 6395); 1618 dasm_put(Dst, 6418);
1615 } 1619 }
1616 if (sse) { 1620 if (sse) {
1617 dasm_put(Dst, 6494); 1621 dasm_put(Dst, 6517);
1618 } else { 1622 } else {
1619 } 1623 }
1620 dasm_put(Dst, 6511, LJ_TISNUM); 1624 dasm_put(Dst, 6534, LJ_TISNUM);
1621 if (LJ_DUALNUM) { 1625 if (LJ_DUALNUM) {
1622 dasm_put(Dst, 6318); 1626 dasm_put(Dst, 6341);
1623 } else { 1627 } else {
1624 dasm_put(Dst, 2221); 1628 dasm_put(Dst, 2244);
1625 } 1629 }
1626 if (sse) { 1630 if (sse) {
1627 dasm_put(Dst, 6267, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1631 dasm_put(Dst, 6290, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1628 } else { 1632 } else {
1629 } 1633 }
1630 dasm_put(Dst, 6526, LJ_TISNUM); 1634 dasm_put(Dst, 6549, LJ_TISNUM);
1631 if (LJ_DUALNUM) { 1635 if (LJ_DUALNUM) {
1632 dasm_put(Dst, 6318); 1636 dasm_put(Dst, 6341);
1633 } else { 1637 } else {
1634 dasm_put(Dst, 2221); 1638 dasm_put(Dst, 2244);
1635 } 1639 }
1636 if (sse) { 1640 if (sse) {
1637 dasm_put(Dst, 6267, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1641 dasm_put(Dst, 6290, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1638 } else { 1642 } else {
1639 } 1643 }
1640 dasm_put(Dst, 6542); 1644 dasm_put(Dst, 6565);
1641 if (LJ_DUALNUM) { 1645 if (LJ_DUALNUM) {
1642 dasm_put(Dst, 6291); 1646 dasm_put(Dst, 6314);
1643 } else if (sse) { 1647 } else if (sse) {
1644 dasm_put(Dst, 6548); 1648 dasm_put(Dst, 6571);
1645 } else { 1649 } else {
1646 } 1650 }
1647 dasm_put(Dst, 6560); 1651 dasm_put(Dst, 6583);
1648 if (LJ_DUALNUM) { 1652 if (LJ_DUALNUM) {
1649 dasm_put(Dst, 6571, LJ_TISNUM); 1653 dasm_put(Dst, 6594, LJ_TISNUM);
1650 if (LJ_DUALNUM) { 1654 if (LJ_DUALNUM) {
1651 dasm_put(Dst, 6318); 1655 dasm_put(Dst, 6341);
1652 } else { 1656 } else {
1653 dasm_put(Dst, 2221); 1657 dasm_put(Dst, 2244);
1654 } 1658 }
1655 if (sse) { 1659 if (sse) {
1656 dasm_put(Dst, 6267, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1660 dasm_put(Dst, 6290, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1657 } else { 1661 } else {
1658 } 1662 }
1659 dasm_put(Dst, 6579, LJ_TISNUM); 1663 dasm_put(Dst, 6602, LJ_TISNUM);
1660 } else if (sse) { 1664 } else if (sse) {
1661 dasm_put(Dst, 6594, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1665 dasm_put(Dst, 6617, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1662 } else { 1666 } else {
1663 } 1667 }
1664 dasm_put(Dst, 6661); 1668 dasm_put(Dst, 6684);
1665 if (LJ_DUALNUM) { 1669 if (LJ_DUALNUM) {
1666 dasm_put(Dst, 6668, LJ_TISNUM); 1670 dasm_put(Dst, 6691, LJ_TISNUM);
1667 if (LJ_DUALNUM) { 1671 if (LJ_DUALNUM) {
1668 dasm_put(Dst, 6318); 1672 dasm_put(Dst, 6341);
1669 } else { 1673 } else {
1670 dasm_put(Dst, 2221); 1674 dasm_put(Dst, 2244);
1671 } 1675 }
1672 if (sse) { 1676 if (sse) {
1673 dasm_put(Dst, 6267, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1677 dasm_put(Dst, 6290, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1674 } else { 1678 } else {
1675 } 1679 }
1676 dasm_put(Dst, 6579, LJ_TISNUM); 1680 dasm_put(Dst, 6602, LJ_TISNUM);
1677 } else if (sse) { 1681 } else if (sse) {
1678 dasm_put(Dst, 6676, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1682 dasm_put(Dst, 6699, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1679 } else { 1683 } else {
1680 } 1684 }
1681 dasm_put(Dst, 6743); 1685 dasm_put(Dst, 6766);
1682 if (LJ_DUALNUM) { 1686 if (LJ_DUALNUM) {
1683 dasm_put(Dst, 6751, LJ_TISNUM); 1687 dasm_put(Dst, 6774, LJ_TISNUM);
1684 if (LJ_DUALNUM) { 1688 if (LJ_DUALNUM) {
1685 dasm_put(Dst, 6318); 1689 dasm_put(Dst, 6341);
1686 } else { 1690 } else {
1687 dasm_put(Dst, 2221); 1691 dasm_put(Dst, 2244);
1688 } 1692 }
1689 if (sse) { 1693 if (sse) {
1690 dasm_put(Dst, 6267, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1694 dasm_put(Dst, 6290, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1691 } else { 1695 } else {
1692 } 1696 }
1693 dasm_put(Dst, 6579, LJ_TISNUM); 1697 dasm_put(Dst, 6602, LJ_TISNUM);
1694 } else if (sse) { 1698 } else if (sse) {
1695 dasm_put(Dst, 6759, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1699 dasm_put(Dst, 6782, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1696 } else { 1700 } else {
1697 } 1701 }
1698 dasm_put(Dst, 6826); 1702 dasm_put(Dst, 6849);
1699 if (LJ_DUALNUM) { 1703 if (LJ_DUALNUM) {
1700 dasm_put(Dst, 6834, LJ_TISNUM); 1704 dasm_put(Dst, 6857, LJ_TISNUM);
1701 if (LJ_DUALNUM) { 1705 if (LJ_DUALNUM) {
1702 dasm_put(Dst, 6318); 1706 dasm_put(Dst, 6341);
1703 } else { 1707 } else {
1704 dasm_put(Dst, 2221); 1708 dasm_put(Dst, 2244);
1705 } 1709 }
1706 if (sse) { 1710 if (sse) {
1707 dasm_put(Dst, 6267, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1711 dasm_put(Dst, 6290, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1708 } else { 1712 } else {
1709 } 1713 }
1710 dasm_put(Dst, 6579, LJ_TISNUM); 1714 dasm_put(Dst, 6602, LJ_TISNUM);
1711 } else if (sse) { 1715 } else if (sse) {
1712 dasm_put(Dst, 6842, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1716 dasm_put(Dst, 6865, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1713 } else { 1717 } else {
1714 } 1718 }
1715 dasm_put(Dst, 6909); 1719 dasm_put(Dst, 6932);
1716 if (LJ_DUALNUM) { 1720 if (LJ_DUALNUM) {
1717 dasm_put(Dst, 6916, LJ_TISNUM); 1721 dasm_put(Dst, 6939, LJ_TISNUM);
1718 if (LJ_DUALNUM) { 1722 if (LJ_DUALNUM) {
1719 dasm_put(Dst, 6318); 1723 dasm_put(Dst, 6341);
1720 } else { 1724 } else {
1721 dasm_put(Dst, 2221); 1725 dasm_put(Dst, 2244);
1722 } 1726 }
1723 if (sse) { 1727 if (sse) {
1724 dasm_put(Dst, 6267, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1728 dasm_put(Dst, 6290, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1725 } else { 1729 } else {
1726 } 1730 }
1727 dasm_put(Dst, 6579, LJ_TISNUM); 1731 dasm_put(Dst, 6602, LJ_TISNUM);
1728 } else if (sse) { 1732 } else if (sse) {
1729 dasm_put(Dst, 6924, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1733 dasm_put(Dst, 6947, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1730 } else { 1734 } else {
1731 } 1735 }
1732 dasm_put(Dst, 6991, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1736 dasm_put(Dst, 7014, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1733 dasm_put(Dst, 7067, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1737 dasm_put(Dst, 7090, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1734 dasm_put(Dst, 7194, Dt1(->top), Dt1(->base), Dt1(->top)); 1738 dasm_put(Dst, 7217, Dt1(->top), Dt1(->base), Dt1(->top));
1735#if LJ_HASJIT 1739#if LJ_HASJIT
1736 dasm_put(Dst, 7233, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1740 dasm_put(Dst, 7256, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1737#endif 1741#endif
1738 dasm_put(Dst, 7264, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1742 dasm_put(Dst, 7287, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1739 dasm_put(Dst, 7315, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1743 dasm_put(Dst, 7338, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1740#if LJ_HASJIT 1744#if LJ_HASJIT
1741 dasm_put(Dst, 7382, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1745 dasm_put(Dst, 7405, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1742#endif 1746#endif
1743 dasm_put(Dst, 7429); 1747 dasm_put(Dst, 7452);
1744#if LJ_HASJIT 1748#if LJ_HASJIT
1745 dasm_put(Dst, 7259); 1749 dasm_put(Dst, 7282);
1746#endif 1750#endif
1747 dasm_put(Dst, 7436); 1751 dasm_put(Dst, 7459);
1748#if LJ_HASJIT 1752#if LJ_HASJIT
1749 dasm_put(Dst, 7439); 1753 dasm_put(Dst, 7462);
1750#endif 1754#endif
1751 dasm_put(Dst, 7449, Dt1(->base), Dt1(->top)); 1755 dasm_put(Dst, 7472, Dt1(->base), Dt1(->top));
1752#if LJ_HASJIT 1756#if LJ_HASJIT
1753 dasm_put(Dst, 7483); 1757 dasm_put(Dst, 7506);
1754#endif 1758#endif
1755 dasm_put(Dst, 7488, Dt1(->base), Dt1(->top)); 1759 dasm_put(Dst, 7511, Dt1(->base), Dt1(->top));
1756#if LJ_HASJIT 1760#if LJ_HASJIT
1757 dasm_put(Dst, 7519, 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); 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);
1758#endif 1762#endif
1759 dasm_put(Dst, 7749); 1763 dasm_put(Dst, 7772);
1760#if LJ_HASJIT 1764#if LJ_HASJIT
1761 dasm_put(Dst, 7752, 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); 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);
1762 dasm_put(Dst, 7894); 1766 dasm_put(Dst, 7917);
1763#endif 1767#endif
1764 dasm_put(Dst, 7920); 1768 dasm_put(Dst, 7943);
1765 if (!sse) { 1769 if (!sse) {
1766 dasm_put(Dst, 7923); 1770 dasm_put(Dst, 7946);
1767 } 1771 }
1768 dasm_put(Dst, 7968, (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)); 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));
1769 if (!sse) { 1773 if (!sse) {
1770 dasm_put(Dst, 8054); 1774 dasm_put(Dst, 8077);
1771 } 1775 }
1772 dasm_put(Dst, 8099, (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)); 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));
1773 if (!sse) { 1777 if (!sse) {
1774 dasm_put(Dst, 8185); 1778 dasm_put(Dst, 8208);
1775 } 1779 }
1776 dasm_put(Dst, 8224, (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)); 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));
1777 if (sse) { 1781 if (sse) {
1778 dasm_put(Dst, 8313, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1782 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));
1779 } else { 1783 } else {
1780 dasm_put(Dst, 8427); 1784 dasm_put(Dst, 8450);
1781 } 1785 }
1782 dasm_put(Dst, 8474); 1786 dasm_put(Dst, 8497);
1783 if (!sse) { 1787 if (!sse) {
1784 } else { 1788 } else {
1785 dasm_put(Dst, 8548); 1789 dasm_put(Dst, 8571);
1786 } 1790 }
1787 dasm_put(Dst, 8551); 1791 dasm_put(Dst, 8574);
1788 dasm_put(Dst, 8636, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 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));
1789 dasm_put(Dst, 8739, (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)); 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));
1790 dasm_put(Dst, 8895); 1794 dasm_put(Dst, 8918);
1791#if LJ_HASJIT 1795#if LJ_HASJIT
1792 if (sse) { 1796 if (sse) {
1793 dasm_put(Dst, 8936); 1797 dasm_put(Dst, 8959);
1794 dasm_put(Dst, 9006); 1798 dasm_put(Dst, 9029);
1795 dasm_put(Dst, 9079); 1799 dasm_put(Dst, 9102);
1796 } else { 1800 } else {
1797 dasm_put(Dst, 9129); 1801 dasm_put(Dst, 9152);
1798 dasm_put(Dst, 9221); 1802 dasm_put(Dst, 9244);
1799 } 1803 }
1800 dasm_put(Dst, 9267); 1804 dasm_put(Dst, 9290);
1801#endif 1805#endif
1802 dasm_put(Dst, 9271); 1806 dasm_put(Dst, 9294);
1803 if (sse) { 1807 if (sse) {
1804 dasm_put(Dst, 9274, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1808 dasm_put(Dst, 9297, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1805 dasm_put(Dst, 9363, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1809 dasm_put(Dst, 9386, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1806 } else { 1810 } else {
1807 dasm_put(Dst, 9487); 1811 dasm_put(Dst, 9510);
1808 dasm_put(Dst, 9570); 1812 dasm_put(Dst, 9593);
1809 if (cmov) { 1813 if (cmov) {
1810 dasm_put(Dst, 9625); 1814 dasm_put(Dst, 9648);
1811 } else { 1815 } else {
1812 dasm_put(Dst, 9644); 1816 dasm_put(Dst, 9667);
1813 } 1817 }
1814 dasm_put(Dst, 9267); 1818 dasm_put(Dst, 9290);
1815 } 1819 }
1816 dasm_put(Dst, 9685); 1820 dasm_put(Dst, 9708);
1817#if LJ_HASFFI 1821#if LJ_HASFFI
1818#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 1822#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1819 dasm_put(Dst, 9713, DtE(->spadj)); 1823 dasm_put(Dst, 9736, DtE(->spadj));
1820#if LJ_TARGET_WINDOWS 1824#if LJ_TARGET_WINDOWS
1821#endif 1825#endif
1822 dasm_put(Dst, 9728, 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])); 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]));
1823 dasm_put(Dst, 9809, DtE(->func), DtE(->gpr[0]), DtE(->fpr[0])); 1827 dasm_put(Dst, 9832, DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]));
1824#if LJ_TARGET_WINDOWS 1828#if LJ_TARGET_WINDOWS
1825#endif 1829#endif
1826 dasm_put(Dst, 9822); 1830 dasm_put(Dst, 9845);
1827#endif 1831#endif
1828 dasm_put(Dst, 9830); 1832 dasm_put(Dst, 9853);
1829#ifdef LUA_USE_ASSERT 1833#ifdef LUA_USE_ASSERT
1830 dasm_put(Dst, 9269); 1834 dasm_put(Dst, 9292);
1831#endif 1835#endif
1832 dasm_put(Dst, 9269); 1836 dasm_put(Dst, 9292);
1833} 1837}
1834 1838
1835/* Generate the code for a single instruction. */ 1839/* Generate the code for a single instruction. */
1836static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1840static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1837{ 1841{
1838 int vk = 0; 1842 int vk = 0;
1839 dasm_put(Dst, 9833, defop); 1843 dasm_put(Dst, 9856, defop);
1840 1844
1841 switch (op) { 1845 switch (op) {
1842 1846
@@ -1847,296 +1851,296 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1847 1851
1848 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1852 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1849 if (LJ_DUALNUM) { 1853 if (LJ_DUALNUM) {
1850 dasm_put(Dst, 9835, LJ_TISNUM, LJ_TISNUM); 1854 dasm_put(Dst, 9858, LJ_TISNUM, LJ_TISNUM);
1851 switch (op) { 1855 switch (op) {
1852 case BC_ISLT: 1856 case BC_ISLT:
1853 dasm_put(Dst, 9865); 1857 dasm_put(Dst, 9888);
1854 break; 1858 break;
1855 case BC_ISGE: 1859 case BC_ISGE:
1856 dasm_put(Dst, 9870); 1860 dasm_put(Dst, 9893);
1857 break; 1861 break;
1858 case BC_ISLE: 1862 case BC_ISLE:
1859 dasm_put(Dst, 9875); 1863 dasm_put(Dst, 9898);
1860 break; 1864 break;
1861 case BC_ISGT: 1865 case BC_ISGT:
1862 dasm_put(Dst, 9880); 1866 dasm_put(Dst, 9903);
1863 break; 1867 break;
1864 default: break; /* Shut up GCC. */ 1868 default: break; /* Shut up GCC. */
1865 } 1869 }
1866 dasm_put(Dst, 9885, -BCBIAS_J*4, LJ_TISNUM); 1870 dasm_put(Dst, 9908, -BCBIAS_J*4, LJ_TISNUM);
1867 if (sse) { 1871 if (sse) {
1868 dasm_put(Dst, 9939); 1872 dasm_put(Dst, 9962);
1869 } else { 1873 } else {
1870 dasm_put(Dst, 9950); 1874 dasm_put(Dst, 9973);
1871 } 1875 }
1872 dasm_put(Dst, 9961); 1876 dasm_put(Dst, 9984);
1873 if (sse) { 1877 if (sse) {
1874 dasm_put(Dst, 9968); 1878 dasm_put(Dst, 9991);
1875 switch (op) { 1879 switch (op) {
1876 case BC_ISLT: 1880 case BC_ISLT:
1877 dasm_put(Dst, 9988); 1881 dasm_put(Dst, 10011);
1878 break; 1882 break;
1879 case BC_ISGE: 1883 case BC_ISGE:
1880 dasm_put(Dst, 9993); 1884 dasm_put(Dst, 10016);
1881 break; 1885 break;
1882 case BC_ISLE: 1886 case BC_ISLE:
1883 dasm_put(Dst, 9998); 1887 dasm_put(Dst, 10021);
1884 break; 1888 break;
1885 case BC_ISGT: 1889 case BC_ISGT:
1886 dasm_put(Dst, 10003); 1890 dasm_put(Dst, 10026);
1887 break; 1891 break;
1888 default: break; /* Shut up GCC. */ 1892 default: break; /* Shut up GCC. */
1889 } 1893 }
1890 dasm_put(Dst, 10008); 1894 dasm_put(Dst, 10031);
1891 } else { 1895 } else {
1892 dasm_put(Dst, 10013); 1896 dasm_put(Dst, 10036);
1893 } 1897 }
1894 } else { 1898 } else {
1895 dasm_put(Dst, 10021, LJ_TISNUM, LJ_TISNUM); 1899 dasm_put(Dst, 10044, LJ_TISNUM, LJ_TISNUM);
1896 } 1900 }
1897 if (sse) { 1901 if (sse) {
1898 dasm_put(Dst, 10042); 1902 dasm_put(Dst, 10065);
1899 } else { 1903 } else {
1900 dasm_put(Dst, 10063); 1904 dasm_put(Dst, 10086);
1901 if (cmov) { 1905 if (cmov) {
1902 dasm_put(Dst, 10079); 1906 dasm_put(Dst, 10102);
1903 } else { 1907 } else {
1904 dasm_put(Dst, 10085); 1908 dasm_put(Dst, 10108);
1905 } 1909 }
1906 } 1910 }
1907 if (LJ_DUALNUM) { 1911 if (LJ_DUALNUM) {
1908 switch (op) { 1912 switch (op) {
1909 case BC_ISLT: 1913 case BC_ISLT:
1910 dasm_put(Dst, 9988); 1914 dasm_put(Dst, 10011);
1911 break; 1915 break;
1912 case BC_ISGE: 1916 case BC_ISGE:
1913 dasm_put(Dst, 9993); 1917 dasm_put(Dst, 10016);
1914 break; 1918 break;
1915 case BC_ISLE: 1919 case BC_ISLE:
1916 dasm_put(Dst, 9998); 1920 dasm_put(Dst, 10021);
1917 break; 1921 break;
1918 case BC_ISGT: 1922 case BC_ISGT:
1919 dasm_put(Dst, 10003); 1923 dasm_put(Dst, 10026);
1920 break; 1924 break;
1921 default: break; /* Shut up GCC. */ 1925 default: break; /* Shut up GCC. */
1922 } 1926 }
1923 dasm_put(Dst, 10008); 1927 dasm_put(Dst, 10031);
1924 } else { 1928 } else {
1925 switch (op) { 1929 switch (op) {
1926 case BC_ISLT: 1930 case BC_ISLT:
1927 dasm_put(Dst, 10092); 1931 dasm_put(Dst, 10115);
1928 break; 1932 break;
1929 case BC_ISGE: 1933 case BC_ISGE:
1930 dasm_put(Dst, 10097); 1934 dasm_put(Dst, 10120);
1931 break; 1935 break;
1932 case BC_ISLE: 1936 case BC_ISLE:
1933 dasm_put(Dst, 10102); 1937 dasm_put(Dst, 10125);
1934 break; 1938 break;
1935 case BC_ISGT: 1939 case BC_ISGT:
1936 dasm_put(Dst, 10107); 1940 dasm_put(Dst, 10130);
1937 break; 1941 break;
1938 default: break; /* Shut up GCC. */ 1942 default: break; /* Shut up GCC. */
1939 } 1943 }
1940 dasm_put(Dst, 10112, -BCBIAS_J*4); 1944 dasm_put(Dst, 10135, -BCBIAS_J*4);
1941 } 1945 }
1942 break; 1946 break;
1943 1947
1944 case BC_ISEQV: case BC_ISNEV: 1948 case BC_ISEQV: case BC_ISNEV:
1945 vk = op == BC_ISEQV; 1949 vk = op == BC_ISEQV;
1946 dasm_put(Dst, 10144); 1950 dasm_put(Dst, 10167);
1947 if (LJ_DUALNUM) { 1951 if (LJ_DUALNUM) {
1948 dasm_put(Dst, 10152, LJ_TISNUM, LJ_TISNUM); 1952 dasm_put(Dst, 10175, LJ_TISNUM, LJ_TISNUM);
1949 if (vk) { 1953 if (vk) {
1950 dasm_put(Dst, 10177); 1954 dasm_put(Dst, 10200);
1951 } else { 1955 } else {
1952 dasm_put(Dst, 10182); 1956 dasm_put(Dst, 10205);
1953 } 1957 }
1954 dasm_put(Dst, 10187, -BCBIAS_J*4, LJ_TISNUM); 1958 dasm_put(Dst, 10210, -BCBIAS_J*4, LJ_TISNUM);
1955 if (sse) { 1959 if (sse) {
1956 dasm_put(Dst, 10239); 1960 dasm_put(Dst, 10262);
1957 } else { 1961 } else {
1958 dasm_put(Dst, 10246); 1962 dasm_put(Dst, 10269);
1959 } 1963 }
1960 dasm_put(Dst, 10250); 1964 dasm_put(Dst, 10273);
1961 if (sse) { 1965 if (sse) {
1962 dasm_put(Dst, 10261); 1966 dasm_put(Dst, 10284);
1963 } else { 1967 } else {
1964 dasm_put(Dst, 10273); 1968 dasm_put(Dst, 10296);
1965 } 1969 }
1966 dasm_put(Dst, 10280); 1970 dasm_put(Dst, 10303);
1967 } else { 1971 } else {
1968 dasm_put(Dst, 10285, LJ_TISNUM, LJ_TISNUM); 1972 dasm_put(Dst, 10308, LJ_TISNUM, LJ_TISNUM);
1969 } 1973 }
1970 if (sse) { 1974 if (sse) {
1971 dasm_put(Dst, 10304); 1975 dasm_put(Dst, 10327);
1972 } else { 1976 } else {
1973 dasm_put(Dst, 10322); 1977 dasm_put(Dst, 10345);
1974 if (cmov) { 1978 if (cmov) {
1975 dasm_put(Dst, 10079); 1979 dasm_put(Dst, 10102);
1976 } else { 1980 } else {
1977 dasm_put(Dst, 10085); 1981 dasm_put(Dst, 10108);
1978 } 1982 }
1979 } 1983 }
1980 iseqne_fp: 1984 iseqne_fp:
1981 if (vk) { 1985 if (vk) {
1982 dasm_put(Dst, 10335); 1986 dasm_put(Dst, 10358);
1983 } else { 1987 } else {
1984 dasm_put(Dst, 10344); 1988 dasm_put(Dst, 10367);
1985 } 1989 }
1986 iseqne_end: 1990 iseqne_end:
1987 if (vk) { 1991 if (vk) {
1988 dasm_put(Dst, 10353, -BCBIAS_J*4); 1992 dasm_put(Dst, 10376, -BCBIAS_J*4);
1989 if (!LJ_HASFFI) { 1993 if (!LJ_HASFFI) {
1990 dasm_put(Dst, 4586); 1994 dasm_put(Dst, 4609);
1991 } 1995 }
1992 } else { 1996 } else {
1993 if (!LJ_HASFFI) { 1997 if (!LJ_HASFFI) {
1994 dasm_put(Dst, 4586); 1998 dasm_put(Dst, 4609);
1995 } 1999 }
1996 dasm_put(Dst, 10368, -BCBIAS_J*4); 2000 dasm_put(Dst, 10391, -BCBIAS_J*4);
1997 } 2001 }
1998 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || 2002 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
1999 op == BC_ISEQN || op == BC_ISNEN)) { 2003 op == BC_ISEQN || op == BC_ISNEN)) {
2000 dasm_put(Dst, 10383); 2004 dasm_put(Dst, 10406);
2001 } else { 2005 } else {
2002 dasm_put(Dst, 10124); 2006 dasm_put(Dst, 10147);
2003 } 2007 }
2004 if (op == BC_ISEQV || op == BC_ISNEV) { 2008 if (op == BC_ISEQV || op == BC_ISNEV) {
2005 dasm_put(Dst, 9806); 2009 dasm_put(Dst, 9829);
2006 if (LJ_HASFFI) { 2010 if (LJ_HASFFI) {
2007 dasm_put(Dst, 10388, LJ_TCDATA, LJ_TCDATA); 2011 dasm_put(Dst, 10411, LJ_TCDATA, LJ_TCDATA);
2008 } 2012 }
2009 dasm_put(Dst, 10407, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 2013 dasm_put(Dst, 10430, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
2010 if (vk) { 2014 if (vk) {
2011 dasm_put(Dst, 10463); 2015 dasm_put(Dst, 10486);
2012 } else { 2016 } else {
2013 dasm_put(Dst, 10467); 2017 dasm_put(Dst, 10490);
2014 } 2018 }
2015 dasm_put(Dst, 10473); 2019 dasm_put(Dst, 10496);
2016 } else if (LJ_HASFFI) { 2020 } else if (LJ_HASFFI) {
2017 dasm_put(Dst, 10478, LJ_TCDATA); 2021 dasm_put(Dst, 10501, LJ_TCDATA);
2018 if (LJ_DUALNUM && vk) { 2022 if (LJ_DUALNUM && vk) {
2019 dasm_put(Dst, 10485); 2023 dasm_put(Dst, 10508);
2020 } else { 2024 } else {
2021 dasm_put(Dst, 10458); 2025 dasm_put(Dst, 10481);
2022 } 2026 }
2023 dasm_put(Dst, 10490); 2027 dasm_put(Dst, 10513);
2024 } 2028 }
2025 break; 2029 break;
2026 case BC_ISEQS: case BC_ISNES: 2030 case BC_ISEQS: case BC_ISNES:
2027 vk = op == BC_ISEQS; 2031 vk = op == BC_ISEQS;
2028 dasm_put(Dst, 10495, LJ_TSTR); 2032 dasm_put(Dst, 10518, LJ_TSTR);
2029 iseqne_test: 2033 iseqne_test:
2030 if (vk) { 2034 if (vk) {
2031 dasm_put(Dst, 10339); 2035 dasm_put(Dst, 10362);
2032 } else { 2036 } else {
2033 dasm_put(Dst, 2877); 2037 dasm_put(Dst, 765);
2034 } 2038 }
2035 goto iseqne_end; 2039 goto iseqne_end;
2036 case BC_ISEQN: case BC_ISNEN: 2040 case BC_ISEQN: case BC_ISNEN:
2037 vk = op == BC_ISEQN; 2041 vk = op == BC_ISEQN;
2038 dasm_put(Dst, 10521); 2042 dasm_put(Dst, 10544);
2039 if (LJ_DUALNUM) { 2043 if (LJ_DUALNUM) {
2040 dasm_put(Dst, 10529, LJ_TISNUM, LJ_TISNUM); 2044 dasm_put(Dst, 10552, LJ_TISNUM, LJ_TISNUM);
2041 if (vk) { 2045 if (vk) {
2042 dasm_put(Dst, 10177); 2046 dasm_put(Dst, 10200);
2043 } else { 2047 } else {
2044 dasm_put(Dst, 10182); 2048 dasm_put(Dst, 10205);
2045 } 2049 }
2046 dasm_put(Dst, 10554, -BCBIAS_J*4, LJ_TISNUM); 2050 dasm_put(Dst, 10577, -BCBIAS_J*4, LJ_TISNUM);
2047 if (sse) { 2051 if (sse) {
2048 dasm_put(Dst, 10602); 2052 dasm_put(Dst, 10625);
2049 } else { 2053 } else {
2050 dasm_put(Dst, 10609); 2054 dasm_put(Dst, 10632);
2051 } 2055 }
2052 dasm_put(Dst, 10613); 2056 dasm_put(Dst, 10636);
2053 if (sse) { 2057 if (sse) {
2054 dasm_put(Dst, 10620); 2058 dasm_put(Dst, 10643);
2055 } else { 2059 } else {
2056 dasm_put(Dst, 10632); 2060 dasm_put(Dst, 10655);
2057 } 2061 }
2058 dasm_put(Dst, 10280); 2062 dasm_put(Dst, 10303);
2059 } else { 2063 } else {
2060 dasm_put(Dst, 10639, LJ_TISNUM); 2064 dasm_put(Dst, 10662, LJ_TISNUM);
2061 } 2065 }
2062 if (sse) { 2066 if (sse) {
2063 dasm_put(Dst, 10648); 2067 dasm_put(Dst, 10671);
2064 } else { 2068 } else {
2065 dasm_put(Dst, 10666); 2069 dasm_put(Dst, 10689);
2066 if (cmov) { 2070 if (cmov) {
2067 dasm_put(Dst, 10079); 2071 dasm_put(Dst, 10102);
2068 } else { 2072 } else {
2069 dasm_put(Dst, 10085); 2073 dasm_put(Dst, 10108);
2070 } 2074 }
2071 } 2075 }
2072 goto iseqne_fp; 2076 goto iseqne_fp;
2073 case BC_ISEQP: case BC_ISNEP: 2077 case BC_ISEQP: case BC_ISNEP:
2074 vk = op == BC_ISEQP; 2078 vk = op == BC_ISEQP;
2075 dasm_put(Dst, 10679); 2079 dasm_put(Dst, 10702);
2076 if (!LJ_HASFFI) goto iseqne_test; 2080 if (!LJ_HASFFI) goto iseqne_test;
2077 if (vk) { 2081 if (vk) {
2078 dasm_put(Dst, 10693, -BCBIAS_J*4, LJ_TCDATA); 2082 dasm_put(Dst, 10716, -BCBIAS_J*4, LJ_TCDATA);
2079 } else { 2083 } else {
2080 dasm_put(Dst, 10743, LJ_TCDATA, -BCBIAS_J*4); 2084 dasm_put(Dst, 10766, LJ_TCDATA, -BCBIAS_J*4);
2081 } 2085 }
2082 break; 2086 break;
2083 2087
2084 /* -- Unary test and copy ops ------------------------------------------- */ 2088 /* -- Unary test and copy ops ------------------------------------------- */
2085 2089
2086 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 2090 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
2087 dasm_put(Dst, 10787, LJ_TISTRUECOND); 2091 dasm_put(Dst, 10810, LJ_TISTRUECOND);
2088 if (op == BC_IST || op == BC_ISTC) { 2092 if (op == BC_IST || op == BC_ISTC) {
2089 dasm_put(Dst, 10107); 2093 dasm_put(Dst, 10130);
2090 } else { 2094 } else {
2091 dasm_put(Dst, 10102); 2095 dasm_put(Dst, 10125);
2092 } 2096 }
2093 if (op == BC_ISTC || op == BC_ISFC) { 2097 if (op == BC_ISTC || op == BC_ISFC) {
2094 dasm_put(Dst, 10799); 2098 dasm_put(Dst, 10822);
2095 } 2099 }
2096 dasm_put(Dst, 10112, -BCBIAS_J*4); 2100 dasm_put(Dst, 10135, -BCBIAS_J*4);
2097 break; 2101 break;
2098 2102
2099 /* -- Unary ops --------------------------------------------------------- */ 2103 /* -- Unary ops --------------------------------------------------------- */
2100 2104
2101 case BC_MOV: 2105 case BC_MOV:
2102 dasm_put(Dst, 10810); 2106 dasm_put(Dst, 10833);
2103 break; 2107 break;
2104 case BC_NOT: 2108 case BC_NOT:
2105 dasm_put(Dst, 10838, LJ_TISTRUECOND, LJ_TTRUE); 2109 dasm_put(Dst, 10861, LJ_TISTRUECOND, LJ_TTRUE);
2106 break; 2110 break;
2107 case BC_UNM: 2111 case BC_UNM:
2108 if (LJ_DUALNUM) { 2112 if (LJ_DUALNUM) {
2109 dasm_put(Dst, 10874, LJ_TISNUM, LJ_TISNUM); 2113 dasm_put(Dst, 10897, LJ_TISNUM, LJ_TISNUM);
2110 } else { 2114 } else {
2111 dasm_put(Dst, 10951, LJ_TISNUM); 2115 dasm_put(Dst, 10974, LJ_TISNUM);
2112 } 2116 }
2113 if (sse) { 2117 if (sse) {
2114 dasm_put(Dst, 10962, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 2118 dasm_put(Dst, 10985, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
2115 } else { 2119 } else {
2116 dasm_put(Dst, 10987); 2120 dasm_put(Dst, 11010);
2117 } 2121 }
2118 if (LJ_DUALNUM) { 2122 if (LJ_DUALNUM) {
2119 dasm_put(Dst, 10383); 2123 dasm_put(Dst, 10406);
2120 } else { 2124 } else {
2121 dasm_put(Dst, 10124); 2125 dasm_put(Dst, 10147);
2122 } 2126 }
2123 break; 2127 break;
2124 case BC_LEN: 2128 case BC_LEN:
2125 dasm_put(Dst, 10996, LJ_TSTR); 2129 dasm_put(Dst, 11019, LJ_TSTR);
2126 if (LJ_DUALNUM) { 2130 if (LJ_DUALNUM) {
2127 dasm_put(Dst, 11010, Dt5(->len), LJ_TISNUM); 2131 dasm_put(Dst, 11033, Dt5(->len), LJ_TISNUM);
2128 } else if (sse) { 2132 } else if (sse) {
2129 dasm_put(Dst, 11024, Dt5(->len)); 2133 dasm_put(Dst, 11047, Dt5(->len));
2130 } else { 2134 } else {
2131 dasm_put(Dst, 11042, Dt5(->len)); 2135 dasm_put(Dst, 11065, Dt5(->len));
2132 } 2136 }
2133 dasm_put(Dst, 11051, LJ_TTAB); 2137 dasm_put(Dst, 11074, LJ_TTAB);
2134 if (LJ_DUALNUM) { 2138 if (LJ_DUALNUM) {
2135 } else if (sse) { 2139 } else if (sse) {
2136 dasm_put(Dst, 11092); 2140 dasm_put(Dst, 11115);
2137 } else { 2141 } else {
2138 } 2142 }
2139 dasm_put(Dst, 11098); 2143 dasm_put(Dst, 11121);
2140 break; 2144 break;
2141 2145
2142 /* -- Binary ops -------------------------------------------------------- */ 2146 /* -- Binary ops -------------------------------------------------------- */
@@ -2144,605 +2148,605 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2144 2148
2145 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 2149 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
2146 if (LJ_DUALNUM) { 2150 if (LJ_DUALNUM) {
2147 dasm_put(Dst, 11111); 2151 dasm_put(Dst, 11134);
2148 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2152 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2149 switch (vk) { 2153 switch (vk) {
2150 case 0: 2154 case 0:
2151 dasm_put(Dst, 11119, LJ_TISNUM, LJ_TISNUM); 2155 dasm_put(Dst, 11142, LJ_TISNUM, LJ_TISNUM);
2152 break; 2156 break;
2153 case 1: 2157 case 1:
2154 dasm_put(Dst, 11152, LJ_TISNUM, LJ_TISNUM); 2158 dasm_put(Dst, 11175, LJ_TISNUM, LJ_TISNUM);
2155 break; 2159 break;
2156 default: 2160 default:
2157 dasm_put(Dst, 11185, LJ_TISNUM, LJ_TISNUM); 2161 dasm_put(Dst, 11208, LJ_TISNUM, LJ_TISNUM);
2158 break; 2162 break;
2159 } 2163 }
2160 dasm_put(Dst, 11218, LJ_TISNUM); 2164 dasm_put(Dst, 11241, LJ_TISNUM);
2161 if (vk == 1) { 2165 if (vk == 1) {
2162 dasm_put(Dst, 11020); 2166 dasm_put(Dst, 11043);
2163 } else { 2167 } else {
2164 dasm_put(Dst, 10806); 2168 dasm_put(Dst, 10829);
2165 } 2169 }
2166 dasm_put(Dst, 10124); 2170 dasm_put(Dst, 10147);
2167 } else { 2171 } else {
2168 dasm_put(Dst, 11111); 2172 dasm_put(Dst, 11134);
2169 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2173 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2170 switch (vk) { 2174 switch (vk) {
2171 case 0: 2175 case 0:
2172 dasm_put(Dst, 11224, LJ_TISNUM); 2176 dasm_put(Dst, 11247, LJ_TISNUM);
2173 if (LJ_DUALNUM) { 2177 if (LJ_DUALNUM) {
2174 dasm_put(Dst, 11236, LJ_TISNUM); 2178 dasm_put(Dst, 11259, LJ_TISNUM);
2175 } 2179 }
2176 if (sse) { 2180 if (sse) {
2177 dasm_put(Dst, 11247); 2181 dasm_put(Dst, 11270);
2178 } else { 2182 } else {
2179 dasm_put(Dst, 11261); 2183 dasm_put(Dst, 11284);
2180 } 2184 }
2181 break; 2185 break;
2182 case 1: 2186 case 1:
2183 dasm_put(Dst, 11269, LJ_TISNUM); 2187 dasm_put(Dst, 11292, LJ_TISNUM);
2184 if (LJ_DUALNUM) { 2188 if (LJ_DUALNUM) {
2185 dasm_put(Dst, 11281, LJ_TISNUM); 2189 dasm_put(Dst, 11304, LJ_TISNUM);
2186 } 2190 }
2187 if (sse) { 2191 if (sse) {
2188 dasm_put(Dst, 11292); 2192 dasm_put(Dst, 11315);
2189 } else { 2193 } else {
2190 dasm_put(Dst, 11306); 2194 dasm_put(Dst, 11329);
2191 } 2195 }
2192 break; 2196 break;
2193 default: 2197 default:
2194 dasm_put(Dst, 11314, LJ_TISNUM, LJ_TISNUM); 2198 dasm_put(Dst, 11337, LJ_TISNUM, LJ_TISNUM);
2195 if (sse) { 2199 if (sse) {
2196 dasm_put(Dst, 11336); 2200 dasm_put(Dst, 11359);
2197 } else { 2201 } else {
2198 dasm_put(Dst, 11350); 2202 dasm_put(Dst, 11373);
2199 } 2203 }
2200 break; 2204 break;
2201 } 2205 }
2202 if (sse) { 2206 if (sse) {
2203 dasm_put(Dst, 10980); 2207 dasm_put(Dst, 11003);
2204 } else { 2208 } else {
2205 dasm_put(Dst, 10992); 2209 dasm_put(Dst, 11015);
2206 } 2210 }
2207 dasm_put(Dst, 10124); 2211 dasm_put(Dst, 10147);
2208 } 2212 }
2209 break; 2213 break;
2210 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 2214 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
2211 if (LJ_DUALNUM) { 2215 if (LJ_DUALNUM) {
2212 dasm_put(Dst, 11111); 2216 dasm_put(Dst, 11134);
2213 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2217 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2214 switch (vk) { 2218 switch (vk) {
2215 case 0: 2219 case 0:
2216 dasm_put(Dst, 11358, LJ_TISNUM, LJ_TISNUM); 2220 dasm_put(Dst, 11381, LJ_TISNUM, LJ_TISNUM);
2217 break; 2221 break;
2218 case 1: 2222 case 1:
2219 dasm_put(Dst, 11391, LJ_TISNUM, LJ_TISNUM); 2223 dasm_put(Dst, 11414, LJ_TISNUM, LJ_TISNUM);
2220 break; 2224 break;
2221 default: 2225 default:
2222 dasm_put(Dst, 11424, LJ_TISNUM, LJ_TISNUM); 2226 dasm_put(Dst, 11447, LJ_TISNUM, LJ_TISNUM);
2223 break; 2227 break;
2224 } 2228 }
2225 dasm_put(Dst, 11218, LJ_TISNUM); 2229 dasm_put(Dst, 11241, LJ_TISNUM);
2226 if (vk == 1) { 2230 if (vk == 1) {
2227 dasm_put(Dst, 11020); 2231 dasm_put(Dst, 11043);
2228 } else { 2232 } else {
2229 dasm_put(Dst, 10806); 2233 dasm_put(Dst, 10829);
2230 } 2234 }
2231 dasm_put(Dst, 10124); 2235 dasm_put(Dst, 10147);
2232 } else { 2236 } else {
2233 dasm_put(Dst, 11111); 2237 dasm_put(Dst, 11134);
2234 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2238 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2235 switch (vk) { 2239 switch (vk) {
2236 case 0: 2240 case 0:
2237 dasm_put(Dst, 11224, LJ_TISNUM); 2241 dasm_put(Dst, 11247, LJ_TISNUM);
2238 if (LJ_DUALNUM) { 2242 if (LJ_DUALNUM) {
2239 dasm_put(Dst, 11236, LJ_TISNUM); 2243 dasm_put(Dst, 11259, LJ_TISNUM);
2240 } 2244 }
2241 if (sse) { 2245 if (sse) {
2242 dasm_put(Dst, 11457); 2246 dasm_put(Dst, 11480);
2243 } else { 2247 } else {
2244 dasm_put(Dst, 11471); 2248 dasm_put(Dst, 11494);
2245 } 2249 }
2246 break; 2250 break;
2247 case 1: 2251 case 1:
2248 dasm_put(Dst, 11269, LJ_TISNUM); 2252 dasm_put(Dst, 11292, LJ_TISNUM);
2249 if (LJ_DUALNUM) { 2253 if (LJ_DUALNUM) {
2250 dasm_put(Dst, 11281, LJ_TISNUM); 2254 dasm_put(Dst, 11304, LJ_TISNUM);
2251 } 2255 }
2252 if (sse) { 2256 if (sse) {
2253 dasm_put(Dst, 11479); 2257 dasm_put(Dst, 11502);
2254 } else { 2258 } else {
2255 dasm_put(Dst, 11493); 2259 dasm_put(Dst, 11516);
2256 } 2260 }
2257 break; 2261 break;
2258 default: 2262 default:
2259 dasm_put(Dst, 11314, LJ_TISNUM, LJ_TISNUM); 2263 dasm_put(Dst, 11337, LJ_TISNUM, LJ_TISNUM);
2260 if (sse) { 2264 if (sse) {
2261 dasm_put(Dst, 11501); 2265 dasm_put(Dst, 11524);
2262 } else { 2266 } else {
2263 dasm_put(Dst, 11515); 2267 dasm_put(Dst, 11538);
2264 } 2268 }
2265 break; 2269 break;
2266 } 2270 }
2267 if (sse) { 2271 if (sse) {
2268 dasm_put(Dst, 10980); 2272 dasm_put(Dst, 11003);
2269 } else { 2273 } else {
2270 dasm_put(Dst, 10992); 2274 dasm_put(Dst, 11015);
2271 } 2275 }
2272 dasm_put(Dst, 10124); 2276 dasm_put(Dst, 10147);
2273 } 2277 }
2274 break; 2278 break;
2275 case BC_MULVN: case BC_MULNV: case BC_MULVV: 2279 case BC_MULVN: case BC_MULNV: case BC_MULVV:
2276 if (LJ_DUALNUM) { 2280 if (LJ_DUALNUM) {
2277 dasm_put(Dst, 11111); 2281 dasm_put(Dst, 11134);
2278 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2282 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2279 switch (vk) { 2283 switch (vk) {
2280 case 0: 2284 case 0:
2281 dasm_put(Dst, 11523, LJ_TISNUM, LJ_TISNUM); 2285 dasm_put(Dst, 11546, LJ_TISNUM, LJ_TISNUM);
2282 break; 2286 break;
2283 case 1: 2287 case 1:
2284 dasm_put(Dst, 11557, LJ_TISNUM, LJ_TISNUM); 2288 dasm_put(Dst, 11580, LJ_TISNUM, LJ_TISNUM);
2285 break; 2289 break;
2286 default: 2290 default:
2287 dasm_put(Dst, 11591, LJ_TISNUM, LJ_TISNUM); 2291 dasm_put(Dst, 11614, LJ_TISNUM, LJ_TISNUM);
2288 break; 2292 break;
2289 } 2293 }
2290 dasm_put(Dst, 11218, LJ_TISNUM); 2294 dasm_put(Dst, 11241, LJ_TISNUM);
2291 if (vk == 1) { 2295 if (vk == 1) {
2292 dasm_put(Dst, 11020); 2296 dasm_put(Dst, 11043);
2293 } else { 2297 } else {
2294 dasm_put(Dst, 10806); 2298 dasm_put(Dst, 10829);
2295 } 2299 }
2296 dasm_put(Dst, 10124); 2300 dasm_put(Dst, 10147);
2297 } else { 2301 } else {
2298 dasm_put(Dst, 11111); 2302 dasm_put(Dst, 11134);
2299 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2303 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2300 switch (vk) { 2304 switch (vk) {
2301 case 0: 2305 case 0:
2302 dasm_put(Dst, 11224, LJ_TISNUM); 2306 dasm_put(Dst, 11247, LJ_TISNUM);
2303 if (LJ_DUALNUM) { 2307 if (LJ_DUALNUM) {
2304 dasm_put(Dst, 11236, LJ_TISNUM); 2308 dasm_put(Dst, 11259, LJ_TISNUM);
2305 } 2309 }
2306 if (sse) { 2310 if (sse) {
2307 dasm_put(Dst, 11625); 2311 dasm_put(Dst, 11648);
2308 } else { 2312 } else {
2309 dasm_put(Dst, 11639); 2313 dasm_put(Dst, 11662);
2310 } 2314 }
2311 break; 2315 break;
2312 case 1: 2316 case 1:
2313 dasm_put(Dst, 11269, LJ_TISNUM); 2317 dasm_put(Dst, 11292, LJ_TISNUM);
2314 if (LJ_DUALNUM) { 2318 if (LJ_DUALNUM) {
2315 dasm_put(Dst, 11281, LJ_TISNUM); 2319 dasm_put(Dst, 11304, LJ_TISNUM);
2316 } 2320 }
2317 if (sse) { 2321 if (sse) {
2318 dasm_put(Dst, 11647); 2322 dasm_put(Dst, 11670);
2319 } else { 2323 } else {
2320 dasm_put(Dst, 11661); 2324 dasm_put(Dst, 11684);
2321 } 2325 }
2322 break; 2326 break;
2323 default: 2327 default:
2324 dasm_put(Dst, 11314, LJ_TISNUM, LJ_TISNUM); 2328 dasm_put(Dst, 11337, LJ_TISNUM, LJ_TISNUM);
2325 if (sse) { 2329 if (sse) {
2326 dasm_put(Dst, 11669); 2330 dasm_put(Dst, 11692);
2327 } else { 2331 } else {
2328 dasm_put(Dst, 11683); 2332 dasm_put(Dst, 11706);
2329 } 2333 }
2330 break; 2334 break;
2331 } 2335 }
2332 if (sse) { 2336 if (sse) {
2333 dasm_put(Dst, 10980); 2337 dasm_put(Dst, 11003);
2334 } else { 2338 } else {
2335 dasm_put(Dst, 10992); 2339 dasm_put(Dst, 11015);
2336 } 2340 }
2337 dasm_put(Dst, 10124); 2341 dasm_put(Dst, 10147);
2338 } 2342 }
2339 break; 2343 break;
2340 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 2344 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
2341 dasm_put(Dst, 11111); 2345 dasm_put(Dst, 11134);
2342 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2346 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2343 switch (vk) { 2347 switch (vk) {
2344 case 0: 2348 case 0:
2345 dasm_put(Dst, 11224, LJ_TISNUM); 2349 dasm_put(Dst, 11247, LJ_TISNUM);
2346 if (LJ_DUALNUM) { 2350 if (LJ_DUALNUM) {
2347 dasm_put(Dst, 11236, LJ_TISNUM); 2351 dasm_put(Dst, 11259, LJ_TISNUM);
2348 } 2352 }
2349 if (sse) { 2353 if (sse) {
2350 dasm_put(Dst, 11691); 2354 dasm_put(Dst, 11714);
2351 } else { 2355 } else {
2352 dasm_put(Dst, 11705); 2356 dasm_put(Dst, 11728);
2353 } 2357 }
2354 break; 2358 break;
2355 case 1: 2359 case 1:
2356 dasm_put(Dst, 11269, LJ_TISNUM); 2360 dasm_put(Dst, 11292, LJ_TISNUM);
2357 if (LJ_DUALNUM) { 2361 if (LJ_DUALNUM) {
2358 dasm_put(Dst, 11281, LJ_TISNUM); 2362 dasm_put(Dst, 11304, LJ_TISNUM);
2359 } 2363 }
2360 if (sse) { 2364 if (sse) {
2361 dasm_put(Dst, 11713); 2365 dasm_put(Dst, 11736);
2362 } else { 2366 } else {
2363 dasm_put(Dst, 11727); 2367 dasm_put(Dst, 11750);
2364 } 2368 }
2365 break; 2369 break;
2366 default: 2370 default:
2367 dasm_put(Dst, 11314, LJ_TISNUM, LJ_TISNUM); 2371 dasm_put(Dst, 11337, LJ_TISNUM, LJ_TISNUM);
2368 if (sse) { 2372 if (sse) {
2369 dasm_put(Dst, 11735); 2373 dasm_put(Dst, 11758);
2370 } else { 2374 } else {
2371 dasm_put(Dst, 11749); 2375 dasm_put(Dst, 11772);
2372 } 2376 }
2373 break; 2377 break;
2374 } 2378 }
2375 if (sse) { 2379 if (sse) {
2376 dasm_put(Dst, 10980); 2380 dasm_put(Dst, 11003);
2377 } else { 2381 } else {
2378 dasm_put(Dst, 10992); 2382 dasm_put(Dst, 11015);
2379 } 2383 }
2380 dasm_put(Dst, 10124); 2384 dasm_put(Dst, 10147);
2381 break; 2385 break;
2382 case BC_MODVN: 2386 case BC_MODVN:
2383 dasm_put(Dst, 11111); 2387 dasm_put(Dst, 11134);
2384 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2388 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2385 switch (vk) { 2389 switch (vk) {
2386 case 0: 2390 case 0:
2387 dasm_put(Dst, 11224, LJ_TISNUM); 2391 dasm_put(Dst, 11247, LJ_TISNUM);
2388 if (LJ_DUALNUM) { 2392 if (LJ_DUALNUM) {
2389 dasm_put(Dst, 11236, LJ_TISNUM); 2393 dasm_put(Dst, 11259, LJ_TISNUM);
2390 } 2394 }
2391 if (sse) { 2395 if (sse) {
2392 dasm_put(Dst, 11757); 2396 dasm_put(Dst, 11780);
2393 } else { 2397 } else {
2394 dasm_put(Dst, 11771); 2398 dasm_put(Dst, 11794);
2395 } 2399 }
2396 break; 2400 break;
2397 case 1: 2401 case 1:
2398 dasm_put(Dst, 11269, LJ_TISNUM); 2402 dasm_put(Dst, 11292, LJ_TISNUM);
2399 if (LJ_DUALNUM) { 2403 if (LJ_DUALNUM) {
2400 dasm_put(Dst, 11281, LJ_TISNUM); 2404 dasm_put(Dst, 11304, LJ_TISNUM);
2401 } 2405 }
2402 if (sse) { 2406 if (sse) {
2403 dasm_put(Dst, 11779); 2407 dasm_put(Dst, 11802);
2404 } else { 2408 } else {
2405 dasm_put(Dst, 11793); 2409 dasm_put(Dst, 11816);
2406 } 2410 }
2407 break; 2411 break;
2408 default: 2412 default:
2409 dasm_put(Dst, 11314, LJ_TISNUM, LJ_TISNUM); 2413 dasm_put(Dst, 11337, LJ_TISNUM, LJ_TISNUM);
2410 if (sse) { 2414 if (sse) {
2411 dasm_put(Dst, 11801); 2415 dasm_put(Dst, 11824);
2412 } else { 2416 } else {
2413 dasm_put(Dst, 11815); 2417 dasm_put(Dst, 11838);
2414 } 2418 }
2415 break; 2419 break;
2416 } 2420 }
2417 dasm_put(Dst, 11823); 2421 dasm_put(Dst, 11846);
2418 if (sse) { 2422 if (sse) {
2419 dasm_put(Dst, 10980); 2423 dasm_put(Dst, 11003);
2420 } else { 2424 } else {
2421 dasm_put(Dst, 10992); 2425 dasm_put(Dst, 11015);
2422 } 2426 }
2423 dasm_put(Dst, 10124); 2427 dasm_put(Dst, 10147);
2424 break; 2428 break;
2425 case BC_MODNV: case BC_MODVV: 2429 case BC_MODNV: case BC_MODVV:
2426 dasm_put(Dst, 11111); 2430 dasm_put(Dst, 11134);
2427 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2431 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2428 switch (vk) { 2432 switch (vk) {
2429 case 0: 2433 case 0:
2430 dasm_put(Dst, 11224, LJ_TISNUM); 2434 dasm_put(Dst, 11247, LJ_TISNUM);
2431 if (LJ_DUALNUM) { 2435 if (LJ_DUALNUM) {
2432 dasm_put(Dst, 11236, LJ_TISNUM); 2436 dasm_put(Dst, 11259, LJ_TISNUM);
2433 } 2437 }
2434 if (sse) { 2438 if (sse) {
2435 dasm_put(Dst, 11757); 2439 dasm_put(Dst, 11780);
2436 } else { 2440 } else {
2437 dasm_put(Dst, 11771); 2441 dasm_put(Dst, 11794);
2438 } 2442 }
2439 break; 2443 break;
2440 case 1: 2444 case 1:
2441 dasm_put(Dst, 11269, LJ_TISNUM); 2445 dasm_put(Dst, 11292, LJ_TISNUM);
2442 if (LJ_DUALNUM) { 2446 if (LJ_DUALNUM) {
2443 dasm_put(Dst, 11281, LJ_TISNUM); 2447 dasm_put(Dst, 11304, LJ_TISNUM);
2444 } 2448 }
2445 if (sse) { 2449 if (sse) {
2446 dasm_put(Dst, 11779); 2450 dasm_put(Dst, 11802);
2447 } else { 2451 } else {
2448 dasm_put(Dst, 11793); 2452 dasm_put(Dst, 11816);
2449 } 2453 }
2450 break; 2454 break;
2451 default: 2455 default:
2452 dasm_put(Dst, 11314, LJ_TISNUM, LJ_TISNUM); 2456 dasm_put(Dst, 11337, LJ_TISNUM, LJ_TISNUM);
2453 if (sse) { 2457 if (sse) {
2454 dasm_put(Dst, 11801); 2458 dasm_put(Dst, 11824);
2455 } else { 2459 } else {
2456 dasm_put(Dst, 11815); 2460 dasm_put(Dst, 11838);
2457 } 2461 }
2458 break; 2462 break;
2459 } 2463 }
2460 dasm_put(Dst, 11829); 2464 dasm_put(Dst, 11852);
2461 break; 2465 break;
2462 case BC_POW: 2466 case BC_POW:
2463 dasm_put(Dst, 11111); 2467 dasm_put(Dst, 11134);
2464 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2468 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2465 switch (vk) { 2469 switch (vk) {
2466 case 0: 2470 case 0:
2467 dasm_put(Dst, 11224, LJ_TISNUM); 2471 dasm_put(Dst, 11247, LJ_TISNUM);
2468 if (LJ_DUALNUM) { 2472 if (LJ_DUALNUM) {
2469 dasm_put(Dst, 11236, LJ_TISNUM); 2473 dasm_put(Dst, 11259, LJ_TISNUM);
2470 } 2474 }
2471 if (sse) { 2475 if (sse) {
2472 dasm_put(Dst, 11757); 2476 dasm_put(Dst, 11780);
2473 } else { 2477 } else {
2474 dasm_put(Dst, 11771); 2478 dasm_put(Dst, 11794);
2475 } 2479 }
2476 break; 2480 break;
2477 case 1: 2481 case 1:
2478 dasm_put(Dst, 11269, LJ_TISNUM); 2482 dasm_put(Dst, 11292, LJ_TISNUM);
2479 if (LJ_DUALNUM) { 2483 if (LJ_DUALNUM) {
2480 dasm_put(Dst, 11281, LJ_TISNUM); 2484 dasm_put(Dst, 11304, LJ_TISNUM);
2481 } 2485 }
2482 if (sse) { 2486 if (sse) {
2483 dasm_put(Dst, 11779); 2487 dasm_put(Dst, 11802);
2484 } else { 2488 } else {
2485 dasm_put(Dst, 11793); 2489 dasm_put(Dst, 11816);
2486 } 2490 }
2487 break; 2491 break;
2488 default: 2492 default:
2489 dasm_put(Dst, 11314, LJ_TISNUM, LJ_TISNUM); 2493 dasm_put(Dst, 11337, LJ_TISNUM, LJ_TISNUM);
2490 if (sse) { 2494 if (sse) {
2491 dasm_put(Dst, 11801); 2495 dasm_put(Dst, 11824);
2492 } else { 2496 } else {
2493 dasm_put(Dst, 11815); 2497 dasm_put(Dst, 11838);
2494 } 2498 }
2495 break; 2499 break;
2496 } 2500 }
2497 dasm_put(Dst, 11834); 2501 dasm_put(Dst, 11857);
2498 if (sse) { 2502 if (sse) {
2499 dasm_put(Dst, 10980); 2503 dasm_put(Dst, 11003);
2500 } else { 2504 } else {
2501 dasm_put(Dst, 10992); 2505 dasm_put(Dst, 11015);
2502 } 2506 }
2503 dasm_put(Dst, 10124); 2507 dasm_put(Dst, 10147);
2504 break; 2508 break;
2505 2509
2506 case BC_CAT: 2510 case BC_CAT:
2507 dasm_put(Dst, 11838, Dt1(->base), Dt1(->base)); 2511 dasm_put(Dst, 11861, Dt1(->base), Dt1(->base));
2508 break; 2512 break;
2509 2513
2510 /* -- Constant ops ------------------------------------------------------ */ 2514 /* -- Constant ops ------------------------------------------------------ */
2511 2515
2512 case BC_KSTR: 2516 case BC_KSTR:
2513 dasm_put(Dst, 11921, LJ_TSTR); 2517 dasm_put(Dst, 11944, LJ_TSTR);
2514 break; 2518 break;
2515 case BC_KCDATA: 2519 case BC_KCDATA:
2516#if LJ_HASFFI 2520#if LJ_HASFFI
2517 dasm_put(Dst, 11921, LJ_TCDATA); 2521 dasm_put(Dst, 11944, LJ_TCDATA);
2518#endif 2522#endif
2519 break; 2523 break;
2520 case BC_KSHORT: 2524 case BC_KSHORT:
2521 if (LJ_DUALNUM) { 2525 if (LJ_DUALNUM) {
2522 dasm_put(Dst, 11956, LJ_TISNUM); 2526 dasm_put(Dst, 11979, LJ_TISNUM);
2523 } else if (sse) { 2527 } else if (sse) {
2524 dasm_put(Dst, 11968); 2528 dasm_put(Dst, 11991);
2525 } else { 2529 } else {
2526 dasm_put(Dst, 11983); 2530 dasm_put(Dst, 12006);
2527 } 2531 }
2528 dasm_put(Dst, 10124); 2532 dasm_put(Dst, 10147);
2529 break; 2533 break;
2530 case BC_KNUM: 2534 case BC_KNUM:
2531 if (sse) { 2535 if (sse) {
2532 dasm_put(Dst, 11991); 2536 dasm_put(Dst, 12014);
2533 } else { 2537 } else {
2534 dasm_put(Dst, 12004); 2538 dasm_put(Dst, 12027);
2535 } 2539 }
2536 dasm_put(Dst, 10124); 2540 dasm_put(Dst, 10147);
2537 break; 2541 break;
2538 case BC_KPRI: 2542 case BC_KPRI:
2539 dasm_put(Dst, 12011); 2543 dasm_put(Dst, 12034);
2540 break; 2544 break;
2541 case BC_KNIL: 2545 case BC_KNIL:
2542 dasm_put(Dst, 12039, LJ_TNIL); 2546 dasm_put(Dst, 12062, LJ_TNIL);
2543 break; 2547 break;
2544 2548
2545 /* -- Upvalue and function ops ------------------------------------------ */ 2549 /* -- Upvalue and function ops ------------------------------------------ */
2546 2550
2547 case BC_UGET: 2551 case BC_UGET:
2548 dasm_put(Dst, 12086, offsetof(GCfuncL, uvptr), DtA(->v)); 2552 dasm_put(Dst, 12109, offsetof(GCfuncL, uvptr), DtA(->v));
2549 break; 2553 break;
2550 case BC_USETV: 2554 case BC_USETV:
2551#define TV2MARKOFS \ 2555#define TV2MARKOFS \
2552 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2556 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2553 dasm_put(Dst, 12126, 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); 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);
2554 dasm_put(Dst, 12217); 2558 dasm_put(Dst, 12240);
2555 break; 2559 break;
2556#undef TV2MARKOFS 2560#undef TV2MARKOFS
2557 case BC_USETS: 2561 case BC_USETS:
2558 dasm_put(Dst, 12229, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 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);
2559 break; 2563 break;
2560 case BC_USETN: 2564 case BC_USETN:
2561 dasm_put(Dst, 12322); 2565 dasm_put(Dst, 12345);
2562 if (sse) { 2566 if (sse) {
2563 dasm_put(Dst, 12327); 2567 dasm_put(Dst, 12350);
2564 } else { 2568 } else {
2565 dasm_put(Dst, 10635); 2569 dasm_put(Dst, 10658);
2566 } 2570 }
2567 dasm_put(Dst, 12334, offsetof(GCfuncL, uvptr), DtA(->v)); 2571 dasm_put(Dst, 12357, offsetof(GCfuncL, uvptr), DtA(->v));
2568 if (sse) { 2572 if (sse) {
2569 dasm_put(Dst, 12343); 2573 dasm_put(Dst, 12366);
2570 } else { 2574 } else {
2571 dasm_put(Dst, 12349); 2575 dasm_put(Dst, 12372);
2572 } 2576 }
2573 dasm_put(Dst, 10124); 2577 dasm_put(Dst, 10147);
2574 break; 2578 break;
2575 case BC_USETP: 2579 case BC_USETP:
2576 dasm_put(Dst, 12352, offsetof(GCfuncL, uvptr), DtA(->v)); 2580 dasm_put(Dst, 12375, offsetof(GCfuncL, uvptr), DtA(->v));
2577 break; 2581 break;
2578 case BC_UCLO: 2582 case BC_UCLO:
2579 dasm_put(Dst, 12391, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2583 dasm_put(Dst, 12414, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2580 break; 2584 break;
2581 2585
2582 case BC_FNEW: 2586 case BC_FNEW:
2583 dasm_put(Dst, 12446, Dt1(->base), Dt1(->base), LJ_TFUNC); 2587 dasm_put(Dst, 12469, Dt1(->base), Dt1(->base), LJ_TFUNC);
2584 break; 2588 break;
2585 2589
2586 /* -- Table ops --------------------------------------------------------- */ 2590 /* -- Table ops --------------------------------------------------------- */
2587 2591
2588 case BC_TNEW: 2592 case BC_TNEW:
2589 dasm_put(Dst, 12512, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2593 dasm_put(Dst, 12535, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2590 break; 2594 break;
2591 case BC_TDUP: 2595 case BC_TDUP:
2592 dasm_put(Dst, 12634, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2596 dasm_put(Dst, 12657, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2593 break; 2597 break;
2594 2598
2595 case BC_GGET: 2599 case BC_GGET:
2596 dasm_put(Dst, 12729, Dt7(->env)); 2600 dasm_put(Dst, 12752, Dt7(->env));
2597 break; 2601 break;
2598 case BC_GSET: 2602 case BC_GSET:
2599 dasm_put(Dst, 12748, Dt7(->env)); 2603 dasm_put(Dst, 12771, Dt7(->env));
2600 break; 2604 break;
2601 2605
2602 case BC_TGETV: 2606 case BC_TGETV:
2603 dasm_put(Dst, 12767, LJ_TTAB); 2607 dasm_put(Dst, 12790, LJ_TTAB);
2604 if (LJ_DUALNUM) { 2608 if (LJ_DUALNUM) {
2605 dasm_put(Dst, 12790, LJ_TISNUM); 2609 dasm_put(Dst, 12813, LJ_TISNUM);
2606 } else { 2610 } else {
2607 dasm_put(Dst, 12804, LJ_TISNUM); 2611 dasm_put(Dst, 12827, LJ_TISNUM);
2608 if (sse) { 2612 if (sse) {
2609 dasm_put(Dst, 12815); 2613 dasm_put(Dst, 12838);
2610 } else { 2614 } else {
2611 } 2615 }
2612 dasm_put(Dst, 12836); 2616 dasm_put(Dst, 12859);
2613 } 2617 }
2614 dasm_put(Dst, 12841, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); 2618 dasm_put(Dst, 12864, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2615 dasm_put(Dst, 12932, LJ_TSTR); 2619 dasm_put(Dst, 12955, LJ_TSTR);
2616 break; 2620 break;
2617 case BC_TGETS: 2621 case BC_TGETS:
2618 dasm_put(Dst, 12950, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 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);
2619 dasm_put(Dst, 13034, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2623 dasm_put(Dst, 13057, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2620 break; 2624 break;
2621 case BC_TGETB: 2625 case BC_TGETB:
2622 dasm_put(Dst, 13105, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2626 dasm_put(Dst, 13128, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2623 dasm_put(Dst, 13200, LJ_TNIL); 2627 dasm_put(Dst, 13223, LJ_TNIL);
2624 break; 2628 break;
2625 2629
2626 case BC_TSETV: 2630 case BC_TSETV:
2627 dasm_put(Dst, 13217, LJ_TTAB); 2631 dasm_put(Dst, 13240, LJ_TTAB);
2628 if (LJ_DUALNUM) { 2632 if (LJ_DUALNUM) {
2629 dasm_put(Dst, 12790, LJ_TISNUM); 2633 dasm_put(Dst, 12813, LJ_TISNUM);
2630 } else { 2634 } else {
2631 dasm_put(Dst, 12804, LJ_TISNUM); 2635 dasm_put(Dst, 12827, LJ_TISNUM);
2632 if (sse) { 2636 if (sse) {
2633 dasm_put(Dst, 12815); 2637 dasm_put(Dst, 12838);
2634 } else { 2638 } else {
2635 } 2639 }
2636 dasm_put(Dst, 13240); 2640 dasm_put(Dst, 13263);
2637 } 2641 }
2638 dasm_put(Dst, 13245, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); 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);
2639 dasm_put(Dst, 13325, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2643 dasm_put(Dst, 13348, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2640 break; 2644 break;
2641 case BC_TSETS: 2645 case BC_TSETS:
2642 dasm_put(Dst, 13382, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 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);
2643 dasm_put(Dst, 13458, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2647 dasm_put(Dst, 13481, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2644 dasm_put(Dst, 13546, 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)); 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));
2645 break; 2649 break;
2646 case BC_TSETB: 2650 case BC_TSETB:
2647 dasm_put(Dst, 13637, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2651 dasm_put(Dst, 13660, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2648 dasm_put(Dst, 13731, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 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));
2649 break; 2653 break;
2650 2654
2651 case BC_TSETM: 2655 case BC_TSETM:
2652 dasm_put(Dst, 13777, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2656 dasm_put(Dst, 13800, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2653 dasm_put(Dst, 13920, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2657 dasm_put(Dst, 13943, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2654 break; 2658 break;
2655 2659
2656 /* -- Calls and vararg handling ----------------------------------------- */ 2660 /* -- Calls and vararg handling ----------------------------------------- */
2657 2661
2658 case BC_CALL: case BC_CALLM: 2662 case BC_CALL: case BC_CALLM:
2659 dasm_put(Dst, 11115); 2663 dasm_put(Dst, 11138);
2660 if (op == BC_CALLM) { 2664 if (op == BC_CALLM) {
2661 dasm_put(Dst, 13938); 2665 dasm_put(Dst, 13961);
2662 } 2666 }
2663 dasm_put(Dst, 13943, LJ_TFUNC, Dt7(->pc)); 2667 dasm_put(Dst, 13966, LJ_TFUNC, Dt7(->pc));
2664 break; 2668 break;
2665 2669
2666 case BC_CALLMT: 2670 case BC_CALLMT:
2667 dasm_put(Dst, 13938); 2671 dasm_put(Dst, 13961);
2668 break; 2672 break;
2669 case BC_CALLT: 2673 case BC_CALLT:
2670 dasm_put(Dst, 13985, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2674 dasm_put(Dst, 14008, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2671 dasm_put(Dst, 14100, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2675 dasm_put(Dst, 14123, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2672 break; 2676 break;
2673 2677
2674 case BC_ITERC: 2678 case BC_ITERC:
2675 dasm_put(Dst, 14171, LJ_TFUNC, 2+1, Dt7(->pc)); 2679 dasm_put(Dst, 14194, LJ_TFUNC, 2+1, Dt7(->pc));
2676 break; 2680 break;
2677 2681
2678 case BC_ITERN: 2682 case BC_ITERN:
2679#if LJ_HASJIT 2683#if LJ_HASJIT
2680#endif 2684#endif
2681 dasm_put(Dst, 14242, Dt6(->asize), Dt6(->array), LJ_TNIL); 2685 dasm_put(Dst, 14265, Dt6(->asize), Dt6(->array), LJ_TNIL);
2682 if (LJ_DUALNUM) { 2686 if (LJ_DUALNUM) {
2683 dasm_put(Dst, 11015, LJ_TISNUM); 2687 dasm_put(Dst, 11038, LJ_TISNUM);
2684 } else if (sse) { 2688 } else if (sse) {
2685 dasm_put(Dst, 11092); 2689 dasm_put(Dst, 11115);
2686 } else { 2690 } else {
2687 dasm_put(Dst, 14288); 2691 dasm_put(Dst, 14311);
2688 } 2692 }
2689 dasm_put(Dst, 14294); 2693 dasm_put(Dst, 14317);
2690 if (LJ_DUALNUM) { 2694 if (LJ_DUALNUM) {
2691 } else if (sse) { 2695 } else if (sse) {
2692 dasm_put(Dst, 10980); 2696 dasm_put(Dst, 11003);
2693 } else { 2697 } else {
2694 dasm_put(Dst, 10992); 2698 dasm_put(Dst, 11015);
2695 } 2699 }
2696 dasm_put(Dst, 14307, -BCBIAS_J*4); 2700 dasm_put(Dst, 14330, -BCBIAS_J*4);
2697 if (!LJ_DUALNUM && !sse) { 2701 if (!LJ_DUALNUM && !sse) {
2698 dasm_put(Dst, 14359); 2702 dasm_put(Dst, 14382);
2699 } 2703 }
2700 dasm_put(Dst, 14365, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); 2704 dasm_put(Dst, 14388, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
2701 break; 2705 break;
2702 2706
2703 case BC_ISNEXT: 2707 case BC_ISNEXT:
2704 dasm_put(Dst, 14437, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 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);
2705 break; 2709 break;
2706 2710
2707 case BC_VARG: 2711 case BC_VARG:
2708 dasm_put(Dst, 14537, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2712 dasm_put(Dst, 14560, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2709 dasm_put(Dst, 14697, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2713 dasm_put(Dst, 14720, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2710 break; 2714 break;
2711 2715
2712 /* -- Returns ----------------------------------------------------------- */ 2716 /* -- Returns ----------------------------------------------------------- */
2713 2717
2714 case BC_RETM: 2718 case BC_RETM:
2715 dasm_put(Dst, 13938); 2719 dasm_put(Dst, 13961);
2716 break; 2720 break;
2717 2721
2718 case BC_RET: case BC_RET0: case BC_RET1: 2722 case BC_RET: case BC_RET0: case BC_RET1:
2719 if (op != BC_RET0) { 2723 if (op != BC_RET0) {
2720 dasm_put(Dst, 14763); 2724 dasm_put(Dst, 14786);
2721 } 2725 }
2722 dasm_put(Dst, 14767, FRAME_TYPE); 2726 dasm_put(Dst, 14790, FRAME_TYPE);
2723 switch (op) { 2727 switch (op) {
2724 case BC_RET: 2728 case BC_RET:
2725 dasm_put(Dst, 14786); 2729 dasm_put(Dst, 14809);
2726 break; 2730 break;
2727 case BC_RET1: 2731 case BC_RET1:
2728 dasm_put(Dst, 14838); 2732 dasm_put(Dst, 14861);
2729 /* fallthrough */ 2733 /* fallthrough */
2730 case BC_RET0: 2734 case BC_RET0:
2731 dasm_put(Dst, 14848); 2735 dasm_put(Dst, 14871);
2732 default: 2736 default:
2733 break; 2737 break;
2734 } 2738 }
2735 dasm_put(Dst, 14859, Dt7(->pc), PC2PROTO(k)); 2739 dasm_put(Dst, 14882, Dt7(->pc), PC2PROTO(k));
2736 if (op == BC_RET) { 2740 if (op == BC_RET) {
2737 dasm_put(Dst, 14903, LJ_TNIL); 2741 dasm_put(Dst, 14926, LJ_TNIL);
2738 } else { 2742 } else {
2739 dasm_put(Dst, 14912, LJ_TNIL); 2743 dasm_put(Dst, 14935, LJ_TNIL);
2740 } 2744 }
2741 dasm_put(Dst, 14919, -FRAME_VARG, FRAME_TYPEP); 2745 dasm_put(Dst, 14942, -FRAME_VARG, FRAME_TYPEP);
2742 if (op != BC_RET0) { 2746 if (op != BC_RET0) {
2743 dasm_put(Dst, 14943); 2747 dasm_put(Dst, 14966);
2744 } 2748 }
2745 dasm_put(Dst, 4665); 2749 dasm_put(Dst, 4688);
2746 break; 2750 break;
2747 2751
2748 /* -- Loops and branches ------------------------------------------------ */ 2752 /* -- Loops and branches ------------------------------------------------ */
@@ -2750,7 +2754,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2750 2754
2751 case BC_FORL: 2755 case BC_FORL:
2752#if LJ_HASJIT 2756#if LJ_HASJIT
2753 dasm_put(Dst, 14947, HOTCOUNT_PCMASK, GG_DISP2HOT); 2757 dasm_put(Dst, 14970, HOTCOUNT_PCMASK, GG_DISP2HOT);
2754#endif 2758#endif
2755 break; 2759 break;
2756 2760
@@ -2762,111 +2766,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2762 case BC_FORI: 2766 case BC_FORI:
2763 case BC_IFORL: 2767 case BC_IFORL:
2764 vk = (op == BC_IFORL || op == BC_JFORL); 2768 vk = (op == BC_IFORL || op == BC_JFORL);
2765 dasm_put(Dst, 14968); 2769 dasm_put(Dst, 14991);
2766 if (LJ_DUALNUM) { 2770 if (LJ_DUALNUM) {
2767 dasm_put(Dst, 14972, LJ_TISNUM); 2771 dasm_put(Dst, 14995, LJ_TISNUM);
2768 if (!vk) { 2772 if (!vk) {
2769 dasm_put(Dst, 14982, LJ_TISNUM, LJ_TISNUM); 2773 dasm_put(Dst, 15005, LJ_TISNUM, LJ_TISNUM);
2770 } else { 2774 } else {
2771#ifdef LUA_USE_ASSERT 2775#ifdef LUA_USE_ASSERT
2772 dasm_put(Dst, 15011, LJ_TISNUM, LJ_TISNUM); 2776 dasm_put(Dst, 15034, LJ_TISNUM, LJ_TISNUM);
2773#endif 2777#endif
2774 dasm_put(Dst, 15030); 2778 dasm_put(Dst, 15053);
2775 } 2779 }
2776 dasm_put(Dst, 15049, LJ_TISNUM); 2780 dasm_put(Dst, 15072, LJ_TISNUM);
2777 if (op == BC_FORI) { 2781 if (op == BC_FORI) {
2778 dasm_put(Dst, 15060, -BCBIAS_J*4); 2782 dasm_put(Dst, 15083, -BCBIAS_J*4);
2779 } else if (op == BC_JFORI) { 2783 } else if (op == BC_JFORI) {
2780 dasm_put(Dst, 15074, -BCBIAS_J*4, BC_JLOOP); 2784 dasm_put(Dst, 15097, -BCBIAS_J*4, BC_JLOOP);
2781 } else if (op == BC_IFORL) { 2785 } else if (op == BC_IFORL) {
2782 dasm_put(Dst, 15092, -BCBIAS_J*4); 2786 dasm_put(Dst, 15115, -BCBIAS_J*4);
2783 } else { 2787 } else {
2784 dasm_put(Dst, 15084, BC_JLOOP); 2788 dasm_put(Dst, 15107, BC_JLOOP);
2785 } 2789 }
2786 dasm_put(Dst, 15106); 2790 dasm_put(Dst, 15129);
2787 if (vk) { 2791 if (vk) {
2788 dasm_put(Dst, 15130); 2792 dasm_put(Dst, 15153);
2789 } 2793 }
2790 dasm_put(Dst, 15049, LJ_TISNUM); 2794 dasm_put(Dst, 15072, LJ_TISNUM);
2791 if (op == BC_FORI) { 2795 if (op == BC_FORI) {
2792 dasm_put(Dst, 15139); 2796 dasm_put(Dst, 15162);
2793 } else if (op == BC_JFORI) { 2797 } else if (op == BC_JFORI) {
2794 dasm_put(Dst, 15144, -BCBIAS_J*4, BC_JLOOP); 2798 dasm_put(Dst, 15167, -BCBIAS_J*4, BC_JLOOP);
2795 } else if (op == BC_IFORL) { 2799 } else if (op == BC_IFORL) {
2796 dasm_put(Dst, 15158); 2800 dasm_put(Dst, 15181);
2797 } else { 2801 } else {
2798 dasm_put(Dst, 15154, BC_JLOOP); 2802 dasm_put(Dst, 15177, BC_JLOOP);
2799 } 2803 }
2800 dasm_put(Dst, 15163); 2804 dasm_put(Dst, 15186);
2801 } else if (!vk) { 2805 } else if (!vk) {
2802 dasm_put(Dst, 15170, LJ_TISNUM); 2806 dasm_put(Dst, 15193, LJ_TISNUM);
2803 } 2807 }
2804 if (!vk) { 2808 if (!vk) {
2805 dasm_put(Dst, 15176, LJ_TISNUM); 2809 dasm_put(Dst, 15199, LJ_TISNUM);
2806 } else { 2810 } else {
2807#ifdef LUA_USE_ASSERT 2811#ifdef LUA_USE_ASSERT
2808 dasm_put(Dst, 15190, LJ_TISNUM, LJ_TISNUM); 2812 dasm_put(Dst, 15213, LJ_TISNUM, LJ_TISNUM);
2809#endif 2813#endif
2810 } 2814 }
2811 dasm_put(Dst, 15209); 2815 dasm_put(Dst, 15232);
2812 if (!vk) { 2816 if (!vk) {
2813 dasm_put(Dst, 15213, LJ_TISNUM); 2817 dasm_put(Dst, 15236, LJ_TISNUM);
2814 } 2818 }
2815 if (sse) { 2819 if (sse) {
2816 dasm_put(Dst, 15222); 2820 dasm_put(Dst, 15245);
2817 if (vk) { 2821 if (vk) {
2818 dasm_put(Dst, 15234); 2822 dasm_put(Dst, 15257);
2819 } else { 2823 } else {
2820 dasm_put(Dst, 15253); 2824 dasm_put(Dst, 15276);
2821 } 2825 }
2822 dasm_put(Dst, 15258); 2826 dasm_put(Dst, 15281);
2823 } else { 2827 } else {
2824 dasm_put(Dst, 15271); 2828 dasm_put(Dst, 15294);
2825 if (vk) { 2829 if (vk) {
2826 dasm_put(Dst, 15277); 2830 dasm_put(Dst, 15300);
2827 } else { 2831 } else {
2828 dasm_put(Dst, 15293); 2832 dasm_put(Dst, 15316);
2829 } 2833 }
2830 dasm_put(Dst, 15301); 2834 dasm_put(Dst, 15324);
2831 if (cmov) { 2835 if (cmov) {
2832 dasm_put(Dst, 10079); 2836 dasm_put(Dst, 10102);
2833 } else { 2837 } else {
2834 dasm_put(Dst, 10085); 2838 dasm_put(Dst, 10108);
2835 } 2839 }
2836 if (!cmov) { 2840 if (!cmov) {
2837 dasm_put(Dst, 15306); 2841 dasm_put(Dst, 15329);
2838 } 2842 }
2839 } 2843 }
2840 if (op == BC_FORI) { 2844 if (op == BC_FORI) {
2841 if (LJ_DUALNUM) { 2845 if (LJ_DUALNUM) {
2842 dasm_put(Dst, 15312); 2846 dasm_put(Dst, 15335);
2843 } else { 2847 } else {
2844 dasm_put(Dst, 15317, -BCBIAS_J*4); 2848 dasm_put(Dst, 15340, -BCBIAS_J*4);
2845 } 2849 }
2846 } else if (op == BC_JFORI) { 2850 } else if (op == BC_JFORI) {
2847 dasm_put(Dst, 15327, -BCBIAS_J*4, BC_JLOOP); 2851 dasm_put(Dst, 15350, -BCBIAS_J*4, BC_JLOOP);
2848 } else if (op == BC_IFORL) { 2852 } else if (op == BC_IFORL) {
2849 if (LJ_DUALNUM) { 2853 if (LJ_DUALNUM) {
2850 dasm_put(Dst, 15341); 2854 dasm_put(Dst, 15364);
2851 } else { 2855 } else {
2852 dasm_put(Dst, 15346, -BCBIAS_J*4); 2856 dasm_put(Dst, 15369, -BCBIAS_J*4);
2853 } 2857 }
2854 } else { 2858 } else {
2855 dasm_put(Dst, 15337, BC_JLOOP); 2859 dasm_put(Dst, 15360, BC_JLOOP);
2856 } 2860 }
2857 if (LJ_DUALNUM) { 2861 if (LJ_DUALNUM) {
2858 dasm_put(Dst, 10008); 2862 dasm_put(Dst, 10031);
2859 } else { 2863 } else {
2860 dasm_put(Dst, 10765); 2864 dasm_put(Dst, 10788);
2861 } 2865 }
2862 if (sse) { 2866 if (sse) {
2863 dasm_put(Dst, 15356); 2867 dasm_put(Dst, 15379);
2864 } 2868 }
2865 break; 2869 break;
2866 2870
2867 case BC_ITERL: 2871 case BC_ITERL:
2868#if LJ_HASJIT 2872#if LJ_HASJIT
2869 dasm_put(Dst, 14947, HOTCOUNT_PCMASK, GG_DISP2HOT); 2873 dasm_put(Dst, 14970, HOTCOUNT_PCMASK, GG_DISP2HOT);
2870#endif 2874#endif
2871 break; 2875 break;
2872 2876
@@ -2875,33 +2879,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2875 break; 2879 break;
2876#endif 2880#endif
2877 case BC_IITERL: 2881 case BC_IITERL:
2878 dasm_put(Dst, 15367, LJ_TNIL); 2882 dasm_put(Dst, 15390, LJ_TNIL);
2879 if (op == BC_JITERL) { 2883 if (op == BC_JITERL) {
2880 dasm_put(Dst, 15382, BC_JLOOP); 2884 dasm_put(Dst, 15405, BC_JLOOP);
2881 } else { 2885 } else {
2882 dasm_put(Dst, 15396, -BCBIAS_J*4); 2886 dasm_put(Dst, 15419, -BCBIAS_J*4);
2883 } 2887 }
2884 dasm_put(Dst, 10122); 2888 dasm_put(Dst, 10145);
2885 break; 2889 break;
2886 2890
2887 case BC_LOOP: 2891 case BC_LOOP:
2888#if LJ_HASJIT 2892#if LJ_HASJIT
2889 dasm_put(Dst, 14947, HOTCOUNT_PCMASK, GG_DISP2HOT); 2893 dasm_put(Dst, 14970, HOTCOUNT_PCMASK, GG_DISP2HOT);
2890#endif 2894#endif
2891 break; 2895 break;
2892 2896
2893 case BC_ILOOP: 2897 case BC_ILOOP:
2894 dasm_put(Dst, 10124); 2898 dasm_put(Dst, 10147);
2895 break; 2899 break;
2896 2900
2897 case BC_JLOOP: 2901 case BC_JLOOP:
2898#if LJ_HASJIT 2902#if LJ_HASJIT
2899 dasm_put(Dst, 15412, 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); 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);
2900#endif 2904#endif
2901 break; 2905 break;
2902 2906
2903 case BC_JMP: 2907 case BC_JMP:
2904 dasm_put(Dst, 15521, -BCBIAS_J*4); 2908 dasm_put(Dst, 15544, -BCBIAS_J*4);
2905 break; 2909 break;
2906 2910
2907 /* -- Function headers -------------------------------------------------- */ 2911 /* -- Function headers -------------------------------------------------- */
@@ -2915,7 +2919,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2915 2919
2916 case BC_FUNCF: 2920 case BC_FUNCF:
2917#if LJ_HASJIT 2921#if LJ_HASJIT
2918 dasm_put(Dst, 15546, HOTCOUNT_PCMASK, GG_DISP2HOT); 2922 dasm_put(Dst, 15569, HOTCOUNT_PCMASK, GG_DISP2HOT);
2919#endif 2923#endif
2920 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2924 case BC_FUNCV: /* NYI: compiled vararg functions. */
2921 break; 2925 break;
@@ -2925,47 +2929,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2925 break; 2929 break;
2926#endif 2930#endif
2927 case BC_IFUNCF: 2931 case BC_IFUNCF:
2928 dasm_put(Dst, 15567, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2932 dasm_put(Dst, 15590, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2929 if (op == BC_JFUNCF) { 2933 if (op == BC_JFUNCF) {
2930 dasm_put(Dst, 15597, BC_JLOOP); 2934 dasm_put(Dst, 15620, BC_JLOOP);
2931 } else { 2935 } else {
2932 dasm_put(Dst, 10124); 2936 dasm_put(Dst, 10147);
2933 } 2937 }
2934 dasm_put(Dst, 15606, LJ_TNIL); 2938 dasm_put(Dst, 15629, LJ_TNIL);
2935 break; 2939 break;
2936 2940
2937 case BC_JFUNCV: 2941 case BC_JFUNCV:
2938#if !LJ_HASJIT 2942#if !LJ_HASJIT
2939 break; 2943 break;
2940#endif 2944#endif
2941 dasm_put(Dst, 9269); 2945 dasm_put(Dst, 9292);
2942 break; /* NYI: compiled vararg functions. */ 2946 break; /* NYI: compiled vararg functions. */
2943 2947
2944 case BC_IFUNCV: 2948 case BC_IFUNCV:
2945 dasm_put(Dst, 15628, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2949 dasm_put(Dst, 15651, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2946 if (op == BC_JFUNCV) { 2950 if (op == BC_JFUNCV) {
2947 dasm_put(Dst, 15597, BC_JLOOP); 2951 dasm_put(Dst, 15620, BC_JLOOP);
2948 } else { 2952 } else {
2949 dasm_put(Dst, 15719, -4+PC2PROTO(k)); 2953 dasm_put(Dst, 15742, -4+PC2PROTO(k));
2950 } 2954 }
2951 dasm_put(Dst, 15742, LJ_TNIL); 2955 dasm_put(Dst, 15765, LJ_TNIL);
2952 break; 2956 break;
2953 2957
2954 case BC_FUNCC: 2958 case BC_FUNCC:
2955 case BC_FUNCCW: 2959 case BC_FUNCCW:
2956 dasm_put(Dst, 15764, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2960 dasm_put(Dst, 15787, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2957 if (op == BC_FUNCC) { 2961 if (op == BC_FUNCC) {
2958 dasm_put(Dst, 2329); 2962 dasm_put(Dst, 2352);
2959 } else { 2963 } else {
2960 dasm_put(Dst, 15794); 2964 dasm_put(Dst, 15817);
2961 } 2965 }
2962 dasm_put(Dst, 15802, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2966 dasm_put(Dst, 15825, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2963 if (op == BC_FUNCC) { 2967 if (op == BC_FUNCC) {
2964 dasm_put(Dst, 15811); 2968 dasm_put(Dst, 15834);
2965 } else { 2969 } else {
2966 dasm_put(Dst, 15815, DISPATCH_GL(wrapf)); 2970 dasm_put(Dst, 15838, DISPATCH_GL(wrapf));
2967 } 2971 }
2968 dasm_put(Dst, 15820, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2972 dasm_put(Dst, 15843, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2969 break; 2973 break;
2970 2974
2971 /* ---------------------------------------------------------------------- */ 2975 /* ---------------------------------------------------------------------- */
@@ -2993,7 +2997,7 @@ static int build_backend(BuildCtx *ctx)
2993 2997
2994 build_subroutines(ctx, cmov, sse); 2998 build_subroutines(ctx, cmov, sse);
2995 2999
2996 dasm_put(Dst, 15845); 3000 dasm_put(Dst, 15868);
2997 for (op = 0; op < BC__MAX; op++) 3001 for (op = 0; op < BC__MAX; op++)
2998 build_ins(ctx, (BCOp)op, op, cmov, sse); 3002 build_ins(ctx, (BCOp)op, op, cmov, sse);
2999 3003
diff --git a/src/buildvm_x86.dasc b/src/buildvm_x86.dasc
index b64617f9..67282163 100644
--- a/src/buildvm_x86.dasc
+++ b/src/buildvm_x86.dasc
@@ -691,12 +691,12 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
691 |->vm_call_dispatch: 691 |->vm_call_dispatch:
692 | mov LFUNC:RB, [RA-8] 692 | mov LFUNC:RB, [RA-8]
693 | cmp dword [RA-4], LJ_TFUNC 693 | cmp dword [RA-4], LJ_TFUNC
694 | jne ->vmeta_call // Ensure KBASE defined and != BASE. 694 | jne ->vmeta_call // Ensure KBASE defined and != BASE.
695 | 695 |
696 |->vm_call_dispatch_f: 696 |->vm_call_dispatch_f:
697 | mov BASE, RA 697 | mov BASE, RA
698 | ins_call 698 | ins_call
699 | // BASE = new base, RD = nargs+1 699 | // BASE = new base, RB = func, RD = nargs+1, PC = caller PC
700 | 700 |
701 |->vm_cpcall: // Setup protected C frame, call C. 701 |->vm_cpcall: // Setup protected C frame, call C.
702 | // (lua_State *L, lua_CFunction func, void *ud, lua_CPFunction cp) 702 | // (lua_State *L, lua_CFunction func, void *ud, lua_CPFunction cp)
@@ -760,10 +760,14 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
760 | mov PC, [RB-12] // Restore PC from [cont|PC]. 760 | mov PC, [RB-12] // Restore PC from [cont|PC].
761 |.if X64 761 |.if X64
762 | movsxd RAa, dword [RB-16] // May be negative on WIN64 with debug. 762 | movsxd RAa, dword [RB-16] // May be negative on WIN64 with debug.
763 | test RA, RA
764 | jz >1
763 | lea KBASEa, qword [=>0] 765 | lea KBASEa, qword [=>0]
764 | add RAa, KBASEa 766 | add RAa, KBASEa
765 |.else 767 |.else
766 | mov RA, dword [RB-16] 768 | mov RA, dword [RB-16]
769 | test RA, RA
770 | jz >1
767 |.endif 771 |.endif
768 | mov LFUNC:KBASE, [BASE-8] 772 | mov LFUNC:KBASE, [BASE-8]
769 | mov KBASE, LFUNC:KBASE->pc 773 | mov KBASE, LFUNC:KBASE->pc
@@ -771,6 +775,12 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
771 | // BASE = base, RC = result, RB = meta base 775 | // BASE = base, RC = result, RB = meta base
772 | jmp RAa // Jump to continuation. 776 | jmp RAa // Jump to continuation.
773 | 777 |
778 |1: // Tail call from C function.
779 | sub RB, BASE
780 | shr RB, 3
781 | lea RD, [RB-1]
782 | jmp ->vm_call_tail
783 |
774 |->cont_cat: // BASE = base, RC = result, RB = mbase 784 |->cont_cat: // BASE = base, RC = result, RB = mbase
775 | movzx RA, PC_RB 785 | movzx RA, PC_RB
776 | sub RB, 16 786 | sub RB, 16
@@ -2735,10 +2745,11 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
2735 | test RD, RD 2745 | test RD, RD
2736 | lea NARGS:RD, [RA+1] 2746 | lea NARGS:RD, [RA+1]
2737 | mov LFUNC:RB, [BASE-8] 2747 | mov LFUNC:RB, [BASE-8]
2738 | jne >2 // Returned -1? 2748 | jne ->vm_call_tail // Returned -1?
2739 | ins_callt // Returned 0: retry fast path. 2749 | ins_callt // Returned 0: retry fast path.
2740 | 2750 |
2741 |2: // Reconstruct previous base for vmeta_call during tailcall. 2751 |// Reconstruct previous base for vmeta_call during tailcall.
2752 |->vm_call_tail:
2742 | mov RA, BASE 2753 | mov RA, BASE
2743 | test PC, FRAME_TYPE 2754 | test PC, FRAME_TYPE
2744 | jnz >3 2755 | jnz >3
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h
index 2df74098..8ada18ac 100644
--- a/src/buildvm_x86.h
+++ b/src/buildvm_x86.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[16947] = { 15static const unsigned char build_actionlist[16970] = {
16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141, 16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141,
17 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36, 17 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,
18 20,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,15, 18 20,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,15,
@@ -49,113 +49,114 @@ static const unsigned char build_actionlist[16947] = {
49 56,137,68,36,8,137,76,36,4,137,44,36,139,189,233,137,124,36,52,137,165,233, 49 56,137,68,36,8,137,76,36,4,137,44,36,139,189,233,137,124,36,52,137,165,233,
50 252,255,210,133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1, 50 252,255,210,133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1,
51 209,131,230,252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,139, 51 209,131,230,252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,139,
52 117,252,244,139,77,252,240,139,122,252,248,139,191,233,255,139,191,233,252, 52 117,252,244,139,77,252,240,133,201,15,132,244,247,255,139,122,252,248,139,
53 255,225,248,32,15,182,78,252,255,131,252,237,16,141,12,202,41,252,233,15, 53 191,233,139,191,233,252,255,225,248,1,41,213,193,252,237,3,141,69,252,255,
54 132,244,33,252,247,217,193,252,233,3,137,76,36,8,139,72,4,139,0,137,77,4, 54 252,233,244,32,248,33,15,182,78,252,255,131,252,237,16,141,12,202,41,252,
55 137,69,0,137,108,36,4,252,233,244,34,248,35,137,68,36,16,199,68,36,20,237, 55 233,15,132,244,34,252,247,217,193,252,233,3,137,76,36,8,139,72,4,139,0,137,
56 141,68,36,16,128,126,252,252,235,15,133,244,247,141,139,233,137,41,199,65, 56 77,4,137,69,0,137,108,36,4,252,233,244,35,248,36,137,68,36,16,199,68,36,20,
57 4,237,137,205,252,233,244,248,248,36,15,182,70,252,254,255,199,68,36,20,237, 57 237,141,68,36,16,128,126,252,252,235,15,133,244,247,141,139,233,137,41,199,
58 137,68,36,16,255,252,242,15,42,192,252,242,15,17,68,36,16,255,137,68,36,12, 58 65,4,237,137,205,252,233,244,248,248,37,255,15,182,70,252,254,255,199,68,
59 219,68,36,12,221,92,36,16,255,141,68,36,16,252,233,244,247,248,37,15,182, 59 36,20,237,137,68,36,16,255,252,242,15,42,192,252,242,15,17,68,36,16,255,137,
60 70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,137,108, 60 68,36,12,219,68,36,12,221,92,36,16,255,141,68,36,16,252,233,244,247,248,38,
61 36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251, 61 15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,
62 1,1,139,149,233,133,192,15,132,244,249,248,33,15,182,78,252,253,139,104,4, 62 137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,
63 139,0,137,108,202,4,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232, 63 232,251,1,1,139,149,233,133,192,15,132,244,249,248,34,15,182,78,252,253,139,
64 16,252,255,36,171,248,3,139,141,233,137,113,252,244,141,177,233,41,214,139, 64 104,4,139,0,137,108,202,4,137,4,202,139,6,15,182,204,15,182,232,131,198,4,
65 105,252,248,184,237,252,233,244,30,248,38,137,68,36,16,199,68,36,20,237,141, 65 193,232,16,252,255,36,171,248,3,139,141,233,137,113,252,244,141,177,233,41,
66 68,36,16,128,126,252,252,235,15,133,244,247,255,141,139,233,137,41,199,65, 66 214,139,105,252,248,184,237,252,233,244,30,248,39,137,68,36,16,199,68,36,
67 4,237,137,205,252,233,244,248,248,39,15,182,70,252,254,255,141,68,36,16,252, 67 20,237,141,68,36,16,128,126,252,252,235,15,133,244,247,255,141,139,233,137,
68 233,244,247,248,40,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141, 68 41,199,65,4,237,137,205,252,233,244,248,248,40,15,182,70,252,254,255,141,
69 44,252,234,248,2,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149, 69 68,36,16,252,233,244,247,248,41,15,182,70,252,254,141,4,194,248,1,15,182,
70 233,137,116,36,24,232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78, 70 110,252,255,141,44,252,234,248,2,137,108,36,4,139,108,36,48,137,68,36,8,137,
71 252,253,139,108,202,4,139,12,202,137,104,4,137,8,248,41,139,6,15,182,204, 71 44,36,137,149,233,137,116,36,24,232,251,1,2,139,149,233,133,192,15,132,244,
72 15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,139,141,233,137,113, 72 249,15,182,78,252,253,139,108,202,4,139,12,202,137,104,4,137,8,248,42,139,
73 252,244,15,182,70,252,253,139,108,194,4,139,4,194,137,105,20,137,65,16,141, 73 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,139,141,
74 177,233,41,214,139,105,252,248,184,237,252,233,244,30,248,42,15,182,110,252, 74 233,137,113,252,244,15,182,70,252,253,139,108,194,4,139,4,194,137,105,20,
75 252,141,4,194,141,12,202,137,108,36,12,139,108,36,48,137,68,36,8,137,76,36, 75 137,65,16,141,177,233,41,214,139,105,252,248,184,237,252,233,244,30,248,43,
76 4,137,44,36,137,149,233,137,116,36,24,232,251,1,3,248,3,139,149,233,255,131, 76 15,182,110,252,252,141,4,194,141,12,202,137,108,36,12,139,108,36,48,137,68,
77 252,248,1,15,135,244,43,248,4,141,118,4,15,130,244,252,248,5,15,183,70,252, 77 36,8,137,76,36,4,137,44,36,137,149,233,137,116,36,24,232,251,1,3,248,3,139,
78 254,141,180,253,134,233,248,6,139,6,15,182,204,15,182,232,131,198,4,193,232, 78 149,233,255,131,252,248,1,15,135,244,44,248,4,141,118,4,15,130,244,252,248,
79 16,252,255,36,171,248,44,131,198,4,129,120,253,4,239,15,130,244,5,252,233, 79 5,15,183,70,252,254,141,180,253,134,233,248,6,139,6,15,182,204,15,182,232,
80 244,6,248,45,129,120,253,4,239,252,233,244,4,248,46,131,252,238,4,137,108, 80 131,198,4,193,232,16,252,255,36,171,248,45,131,198,4,129,120,253,4,239,15,
81 36,12,139,108,36,48,137,68,36,8,137,76,36,4,137,44,36,137,149,233,255,137, 81 130,244,5,252,233,244,6,248,46,129,120,253,4,239,252,233,244,4,248,47,131,
82 116,36,24,232,251,1,4,252,233,244,3,248,47,255,131,252,238,4,139,108,36,48, 82 252,238,4,137,108,36,12,139,108,36,48,137,68,36,8,137,76,36,4,137,44,36,137,
83 137,149,233,137,252,233,139,86,252,252,137,116,36,24,232,251,1,5,252,233, 83 149,233,255,137,116,36,24,232,251,1,4,252,233,244,3,248,48,255,131,252,238,
84 244,3,255,248,48,255,15,182,110,252,255,255,248,49,141,4,199,252,233,244, 84 4,139,108,36,48,137,149,233,137,252,233,139,86,252,252,137,116,36,24,232,
85 247,248,50,255,248,51,141,4,199,141,44,252,234,149,252,233,244,248,248,52, 85 251,1,5,252,233,244,3,255,248,49,255,15,182,110,252,255,255,248,50,141,4,
86 141,4,194,137,197,252,233,244,248,248,53,255,248,54,141,4,194,248,1,141,44, 86 199,252,233,244,247,248,51,255,248,52,141,4,199,141,44,252,234,149,252,233,
87 252,234,248,2,141,12,202,137,108,36,8,139,108,36,48,137,68,36,12,15,182,70, 87 244,248,248,53,141,4,194,137,197,252,233,244,248,248,54,255,248,55,141,4,
88 252,252,137,76,36,4,137,68,36,16,137,44,36,137,149,233,137,116,36,24,232, 88 194,248,1,141,44,252,234,248,2,141,12,202,137,108,36,8,139,108,36,48,137,
89 251,1,6,139,149,233,133,192,15,132,244,41,248,43,137,193,41,208,137,113,252, 89 68,36,12,15,182,70,252,252,137,76,36,4,137,68,36,16,137,44,36,137,149,233,
90 244,141,176,233,184,237,252,233,244,28,248,55,139,108,36,48,137,149,233,141, 90 137,116,36,24,232,251,1,6,139,149,233,133,192,15,132,244,42,248,44,137,193,
91 20,194,137,252,233,137,116,36,24,232,251,1,7,139,149,233,252,233,244,43,248, 91 41,208,137,113,252,244,141,176,233,184,237,252,233,244,28,248,56,139,108,
92 56,141,76,202,8,248,29,137,76,36,20,137,68,36,16,131,252,233,8,141,4,193, 92 36,48,137,149,233,141,20,194,137,252,233,137,116,36,24,232,251,1,7,139,149,
93 139,108,36,48,137,76,36,4,137,68,36,8,137,44,36,137,149,233,255,137,116,36, 93 233,252,233,244,44,248,57,141,76,202,8,248,29,137,76,36,20,137,68,36,16,131,
94 24,232,251,1,8,139,149,233,139,76,36,20,139,68,36,16,139,105,252,248,131, 94 252,233,8,141,4,193,139,108,36,48,137,76,36,4,137,68,36,8,137,44,36,137,149,
95 192,1,57,215,15,132,244,57,137,202,137,114,252,252,139,181,233,139,14,15, 95 233,255,137,116,36,24,232,251,1,8,139,149,233,139,76,36,20,139,68,36,16,139,
96 182,252,233,15,182,205,131,198,4,252,255,36,171,248,58,139,108,36,48,137, 96 105,252,248,131,192,1,57,215,15,132,244,58,137,202,137,114,252,252,139,181,
97 149,233,137,202,137,252,233,137,116,36,24,232,251,1,9,139,149,233,139,70, 97 233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,248,59,139,
98 252,252,15,182,204,15,182,232,193,232,16,252,255,164,253,171,233,248,59,129, 98 108,36,48,137,149,233,137,202,137,252,233,137,116,36,24,232,251,1,9,139,149,
99 252,248,239,15,130,244,60,139,106,4,129,252,253,239,15,131,244,60,139,114, 99 233,139,70,252,252,15,182,204,15,182,232,193,232,16,252,255,164,253,171,233,
100 252,252,137,68,36,20,137,106,252,252,139,42,137,106,252,248,131,232,2,15, 100 248,60,129,252,248,239,15,130,244,61,139,106,4,129,252,253,239,15,131,244,
101 132,244,248,137,209,248,1,131,193,8,139,105,4,137,105,252,252,139,41,137, 101 61,139,114,252,252,137,68,36,20,137,106,252,252,139,42,137,106,252,248,131,
102 105,252,248,131,232,1,15,133,244,1,248,2,255,139,68,36,20,252,233,244,61, 102 232,2,15,132,244,248,137,209,248,1,131,193,8,139,105,4,137,105,252,252,139,
103 248,62,129,252,248,239,15,130,244,60,139,106,4,184,237,252,247,213,57,232, 103 41,137,105,252,248,131,232,1,15,133,244,1,248,2,255,139,68,36,20,252,233,
104 255,15,71,197,255,15,134,244,247,137,232,248,1,255,248,2,139,106,252,248, 104 244,62,248,63,129,252,248,239,15,130,244,61,139,106,4,184,237,252,247,213,
105 139,132,253,197,233,139,114,252,252,199,66,252,252,237,137,66,252,248,252, 105 57,232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,248,2,139,106,252,
106 233,244,63,248,64,129,252,248,239,15,130,244,60,139,106,4,139,114,252,252, 106 248,139,132,253,197,233,139,114,252,252,199,66,252,252,237,137,66,252,248,
107 129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237, 107 252,233,244,64,248,65,129,252,248,239,15,130,244,61,139,106,4,139,114,252,
108 199,66,252,252,237,15,132,244,63,139,131,233,199,66,252,252,237,255,137,106, 108 252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,
109 252,248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239, 109 237,199,66,252,252,237,15,132,244,64,139,131,233,199,66,252,252,237,255,137,
110 15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133, 110 106,252,248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,
111 244,3,252,233,244,63,248,5,139,105,4,129,252,253,239,255,15,132,244,63,139, 111 239,15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,
112 1,137,106,252,252,137,66,252,248,252,233,244,63,248,6,129,252,253,239,15, 112 133,244,3,252,233,244,64,248,5,139,105,4,129,252,253,239,255,15,132,244,64,
113 132,244,1,129,252,253,239,15,135,244,254,189,237,248,8,252,247,213,139,172, 113 139,1,137,106,252,252,137,66,252,248,252,233,244,64,248,6,129,252,253,239,
114 253,171,233,252,233,244,2,248,65,129,252,248,239,15,130,244,60,255,129,122, 114 15,132,244,1,129,252,253,239,15,135,244,254,189,237,248,8,252,247,213,139,
115 253,4,239,15,133,244,60,139,42,131,189,233,0,15,133,244,60,129,122,253,12, 115 172,253,171,233,252,233,244,2,248,66,129,252,248,239,15,130,244,61,255,129,
116 239,15,133,244,60,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237, 116 122,253,4,239,15,133,244,61,139,42,131,189,233,0,15,133,244,61,129,122,253,
117 137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,139,131, 117 12,239,15,133,244,61,139,66,8,137,133,233,139,114,252,252,199,66,252,252,
118 233,137,171,233,137,133,233,248,1,255,252,233,244,63,248,66,129,252,248,239, 118 237,137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,139,
119 15,130,244,60,129,122,253,4,239,15,133,244,60,139,2,139,108,36,48,137,68, 119 131,233,137,171,233,137,133,233,248,1,255,252,233,244,64,248,67,129,252,248,
120 36,4,137,44,36,137,213,131,194,8,137,84,36,8,232,251,1,10,137,252,234,139, 120 239,15,130,244,61,129,122,253,4,239,15,133,244,61,139,2,139,108,36,48,137,
121 40,139,64,4,139,114,252,252,137,106,252,248,137,66,252,252,252,233,244,63, 121 68,36,4,137,44,36,137,213,131,194,8,137,84,36,8,232,251,1,10,137,252,234,
122 248,67,129,252,248,239,15,133,244,60,129,122,253,4,239,255,15,133,244,247, 122 139,40,139,64,4,139,114,252,252,137,106,252,248,137,66,252,252,252,233,244,
123 139,42,252,233,244,68,248,1,15,135,244,60,255,15,131,244,60,255,252,242,15, 123 64,248,68,129,252,248,239,15,133,244,61,129,122,253,4,239,255,15,133,244,
124 16,2,252,233,244,69,255,221,2,252,233,244,70,255,248,71,129,252,248,239,15, 124 247,139,42,252,233,244,69,248,1,15,135,244,61,255,15,131,244,61,255,252,242,
125 130,244,60,139,114,252,252,129,122,253,4,239,15,133,244,249,139,2,248,2,199, 125 15,16,2,252,233,244,70,255,221,2,252,233,244,71,255,248,72,129,252,248,239,
126 66,252,252,237,137,66,252,248,252,233,244,63,248,3,129,122,253,4,239,15,135, 126 15,130,244,61,139,114,252,252,129,122,253,4,239,15,133,244,249,139,2,248,
127 244,60,131,187,233,0,15,133,244,60,139,171,233,59,171,233,255,15,130,244, 127 2,199,66,252,252,237,137,66,252,248,252,233,244,64,248,3,129,122,253,4,239,
128 247,232,244,72,248,1,139,108,36,48,137,149,233,137,116,36,24,137,252,233, 128 15,135,244,61,131,187,233,0,15,133,244,61,139,171,233,59,171,233,255,15,130,
129 255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233,244,2,248,73,129, 129 244,247,232,244,73,248,1,139,108,36,48,137,149,233,137,116,36,24,137,252,
130 252,248,239,15,130,244,60,15,132,244,248,248,1,129,122,253,4,239,15,133,244, 130 233,255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233,244,2,248,74,
131 60,139,108,36,48,137,149,233,137,149,233,139,114,252,252,139,2,137,68,36, 131 129,252,248,239,15,130,244,61,15,132,244,248,248,1,129,122,253,4,239,15,133,
132 4,137,44,36,131,194,8,137,84,36,8,137,116,36,24,232,251,1,13,139,149,233, 132 244,61,139,108,36,48,137,149,233,137,149,233,139,114,252,252,139,2,137,68,
133 36,4,137,44,36,131,194,8,137,84,36,8,137,116,36,24,232,251,1,13,139,149,233,
133 133,192,15,132,244,249,139,106,8,139,66,12,137,106,252,248,137,66,252,252, 134 133,192,15,132,244,249,139,106,8,139,66,12,137,106,252,248,137,66,252,252,
134 139,106,16,139,66,20,137,42,137,66,4,248,74,184,237,255,252,233,244,75,248, 135 139,106,16,139,66,20,137,42,137,66,4,248,75,184,237,255,252,233,244,76,248,
135 2,199,66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,63,248, 136 2,199,66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,64,248,
136 76,129,252,248,239,15,130,244,60,139,42,129,122,253,4,239,15,133,244,60,255, 137 77,129,252,248,239,15,130,244,61,139,42,129,122,253,4,239,15,133,244,61,255,
137 131,189,233,0,15,133,244,60,255,139,106,252,248,139,133,233,139,114,252,252, 138 131,189,233,0,15,133,244,61,255,139,106,252,248,139,133,233,139,114,252,252,
138 199,66,252,252,237,137,66,252,248,199,66,12,237,184,237,252,233,244,75,248, 139 199,66,252,252,237,137,66,252,248,199,66,12,237,184,237,252,233,244,76,248,
139 77,129,252,248,239,15,130,244,60,129,122,253,4,239,15,133,244,60,129,122, 140 78,129,252,248,239,15,130,244,61,129,122,253,4,239,15,133,244,61,129,122,
140 253,12,239,255,139,114,252,252,255,139,66,8,131,192,1,199,66,252,252,237, 141 253,12,239,255,139,114,252,252,255,139,66,8,131,192,1,199,66,252,252,237,
141 137,66,252,248,255,252,242,15,16,66,8,189,0,0,252,240,63,102,15,110,205,102, 142 137,66,252,248,255,252,242,15,16,66,8,189,0,0,252,240,63,102,15,110,205,102,
142 15,112,201,81,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,252,248, 143 15,112,201,81,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,252,248,
143 255,221,66,8,217,232,222,193,219,20,36,221,90,252,248,139,4,36,255,139,42, 144 255,221,66,8,217,232,222,193,219,20,36,221,90,252,248,139,4,36,255,139,42,
144 59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,15, 145 59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,15,
145 132,244,78,139,40,139,64,4,137,42,137,66,4,252,233,244,74,248,2,131,189,233, 146 132,244,79,139,40,139,64,4,137,42,137,66,4,252,233,244,75,248,2,131,189,233,
146 0,15,132,244,78,137,252,233,137,213,137,194,232,251,1,14,137,252,234,133, 147 0,15,132,244,79,137,252,233,137,213,137,194,232,251,1,14,137,252,234,133,
147 192,15,133,244,1,248,78,184,237,252,233,244,75,248,79,255,139,106,252,248, 148 192,15,133,244,1,248,79,184,237,252,233,244,76,248,80,255,139,106,252,248,
148 139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,255,199,66, 149 139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,255,199,66,
149 12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66,8,255,217,252,238, 150 12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66,8,255,217,252,238,
150 221,90,8,255,184,237,252,233,244,75,248,80,129,252,248,239,15,130,244,60, 151 221,90,8,255,184,237,252,233,244,76,248,81,129,252,248,239,15,130,244,61,
151 141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229,1, 152 141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229,1,
152 1,252,238,252,233,244,28,248,81,129,252,248,239,15,130,244,60,129,122,253, 153 1,252,238,252,233,244,28,248,82,129,252,248,239,15,130,244,61,129,122,253,
153 12,239,15,133,244,60,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114, 154 12,239,15,133,244,61,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114,
154 8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,82,129,252, 155 8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,83,129,252,
155 248,239,15,130,244,60,139,42,139,114,252,252,137,116,36,24,137,44,36,129, 156 248,239,15,130,244,61,139,42,139,114,252,252,137,116,36,24,137,44,36,129,
156 122,253,4,239,15,133,244,60,131,189,233,0,15,133,244,60,128,189,233,235,15, 157 122,253,4,239,15,133,244,61,131,189,233,0,15,133,244,61,128,189,233,235,15,
157 135,244,60,139,141,233,15,132,244,247,255,59,141,233,15,132,244,60,248,1, 158 135,244,61,139,141,233,15,132,244,247,255,59,141,233,15,132,244,61,248,1,
158 141,116,193,252,240,59,181,233,15,135,244,60,137,181,233,139,108,36,48,137, 159 141,116,193,252,240,59,181,233,15,135,244,61,137,181,233,139,108,36,48,137,
159 149,233,131,194,8,137,149,233,141,108,194,232,41,252,245,57,206,15,132,244, 160 149,233,131,194,8,137,149,233,141,108,194,232,41,252,245,57,206,15,132,244,
160 249,248,2,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238, 161 249,248,2,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238,
161 8,57,206,15,133,244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,36,8,232, 162 8,57,206,15,133,244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,36,8,232,
@@ -168,10 +169,10 @@ static const unsigned char build_actionlist[16947] = {
168 13,252,233,244,14,248,8,199,66,252,252,237,139,142,233,131,252,233,8,137, 169 13,252,233,244,14,248,8,199,66,252,252,237,139,142,233,131,252,233,8,137,
169 142,233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139,12, 170 142,233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139,12,
170 36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,52,36,139,149,233, 171 36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,52,36,139,149,233,
171 252,233,244,4,248,83,139,106,252,248,139,173,233,139,114,252,252,137,116, 172 252,233,244,4,248,84,139,106,252,248,139,173,233,139,114,252,252,137,116,
172 36,24,137,44,36,131,189,233,0,15,133,244,60,255,128,189,233,235,15,135,244, 173 36,24,137,44,36,131,189,233,0,15,133,244,61,255,128,189,233,235,15,135,244,
173 60,139,141,233,15,132,244,247,59,141,233,15,132,244,60,248,1,141,116,193, 174 61,139,141,233,15,132,244,247,59,141,233,15,132,244,61,248,1,141,116,193,
174 252,248,59,181,233,15,135,244,60,137,181,233,139,108,36,48,137,149,233,137, 175 252,248,59,181,233,15,135,244,61,137,181,233,139,108,36,48,137,149,233,137,
175 149,233,141,108,194,252,240,41,252,245,57,206,15,132,244,249,248,2,255,139, 176 149,233,141,108,194,252,240,41,252,245,57,206,15,132,244,249,248,2,255,139,
176 68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238,8,57,206,15,133, 177 68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238,8,57,206,15,133,
177 244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,36,8,232,244,25,199,131, 178 244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,36,8,232,244,25,199,131,
@@ -182,271 +183,271 @@ static const unsigned char build_actionlist[16947] = {
182 6,141,70,1,248,7,139,116,36,24,137,68,36,20,49,201,252,247,198,237,15,132, 183 6,141,70,1,248,7,139,116,36,24,137,68,36,20,49,201,252,247,198,237,15,132,
183 244,13,252,233,244,14,248,8,137,252,242,137,252,233,232,251,1,15,248,9,139, 184 244,13,252,233,244,14,248,8,137,252,242,137,252,233,232,251,1,15,248,9,139,
184 12,36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,52,36,139,149,233, 185 12,36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,52,36,139,149,233,
185 252,233,244,4,248,84,139,108,36,48,252,247,133,233,237,15,132,244,60,255, 186 252,233,244,4,248,85,139,108,36,48,252,247,133,233,237,15,132,244,61,255,
186 137,149,233,141,68,194,252,248,137,133,233,49,192,137,133,233,176,235,136, 187 137,149,233,141,68,194,252,248,137,133,233,49,192,137,133,233,176,235,136,
187 133,233,252,233,244,16,255,248,68,255,248,70,139,114,252,252,221,90,252,248, 188 133,233,252,233,244,16,255,248,69,255,248,71,139,114,252,252,221,90,252,248,
188 252,233,244,63,255,248,85,129,252,248,239,15,130,244,60,255,129,122,253,4, 189 252,233,244,64,255,248,86,129,252,248,239,15,130,244,61,255,129,122,253,4,
189 239,15,133,244,248,139,42,131,252,253,0,15,137,244,68,252,247,221,15,136, 190 239,15,133,244,248,139,42,131,252,253,0,15,137,244,69,252,247,221,15,136,
190 244,247,248,86,248,68,139,114,252,252,199,66,252,252,237,137,106,252,248, 191 244,247,248,87,248,69,139,114,252,252,199,66,252,252,237,137,106,252,248,
191 252,233,244,63,248,1,139,114,252,252,199,66,252,252,0,0,224,65,199,66,252, 192 252,233,244,64,248,1,139,114,252,252,199,66,252,252,0,0,224,65,199,66,252,
192 248,0,0,0,0,252,233,244,63,248,2,15,135,244,60,255,129,122,253,4,239,15,131, 193 248,0,0,0,0,252,233,244,64,248,2,15,135,244,61,255,129,122,253,4,239,15,131,
193 244,60,255,252,242,15,16,2,102,15,252,239,201,102,15,118,201,102,15,115,209, 194 244,61,255,252,242,15,16,2,102,15,252,239,201,102,15,118,201,102,15,115,209,
194 1,15,84,193,248,69,139,114,252,252,252,242,15,17,66,252,248,255,221,2,217, 195 1,15,84,193,248,70,139,114,252,252,252,242,15,17,66,252,248,255,221,2,217,
195 225,248,69,248,70,139,114,252,252,221,90,252,248,255,248,63,184,237,248,75, 196 225,248,70,248,71,139,114,252,252,221,90,252,248,255,248,64,184,237,248,76,
196 137,68,36,20,248,61,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15, 197 137,68,36,20,248,62,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15,
197 135,244,252,15,182,78,252,253,252,247,209,141,20,202,139,6,15,182,204,15, 198 135,244,252,15,182,78,252,253,252,247,209,141,20,202,139,6,15,182,204,15,
198 182,232,131,198,4,193,232,16,252,255,36,171,248,6,199,68,194,252,244,237, 199 182,232,131,198,4,193,232,16,252,255,36,171,248,6,199,68,194,252,244,237,
199 131,192,1,252,233,244,5,248,7,185,252,248,252,255,252,255,252,255,252,233, 200 131,192,1,252,233,244,5,248,7,185,252,248,252,255,252,255,252,255,252,233,
200 244,14,248,87,255,129,122,253,4,239,15,133,244,247,139,42,252,233,244,68, 201 244,14,248,88,255,129,122,253,4,239,15,133,244,247,139,42,252,233,244,69,
201 248,1,15,135,244,60,255,252,242,15,16,2,232,244,88,255,252,242,15,45,232, 202 248,1,15,135,244,61,255,252,242,15,16,2,232,244,89,255,252,242,15,45,232,
202 129,252,253,0,0,0,128,15,133,244,68,252,242,15,42,205,102,15,46,193,15,138, 203 129,252,253,0,0,0,128,15,133,244,69,252,242,15,42,205,102,15,46,193,15,138,
203 244,69,15,132,244,68,255,221,2,232,244,88,255,219,20,36,139,44,36,129,252, 204 244,70,15,132,244,69,255,221,2,232,244,89,255,219,20,36,139,44,36,129,252,
204 253,0,0,0,128,15,133,244,248,217,192,219,4,36,255,223,252,233,221,216,255, 205 253,0,0,0,128,15,133,244,248,217,192,219,4,36,255,223,252,233,221,216,255,
205 218,252,233,223,224,158,255,15,138,244,70,15,133,244,70,248,2,221,216,252, 206 218,252,233,223,224,158,255,15,138,244,71,15,133,244,71,248,2,221,216,252,
206 233,244,68,255,248,89,255,252,242,15,16,2,232,244,90,255,221,2,232,244,90, 207 233,244,69,255,248,90,255,252,242,15,16,2,232,244,91,255,221,2,232,244,91,
207 255,248,91,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60, 208 255,248,92,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,
208 252,242,15,81,2,252,233,244,69,255,248,91,129,252,248,239,15,130,244,60,129, 209 252,242,15,81,2,252,233,244,70,255,248,92,129,252,248,239,15,130,244,61,129,
209 122,253,4,239,15,131,244,60,221,2,217,252,250,252,233,244,70,255,248,92,129, 210 122,253,4,239,15,131,244,61,221,2,217,252,250,252,233,244,71,255,248,93,129,
210 252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,217,252,237,221, 211 252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,217,252,237,221,
211 2,217,252,241,252,233,244,70,248,93,129,252,248,239,15,130,244,60,129,122, 212 2,217,252,241,252,233,244,71,248,94,129,252,248,239,15,130,244,61,129,122,
212 253,4,239,15,131,244,60,217,252,236,221,2,217,252,241,252,233,244,70,248, 213 253,4,239,15,131,244,61,217,252,236,221,2,217,252,241,252,233,244,71,248,
213 94,129,252,248,239,255,15,130,244,60,129,122,253,4,239,15,131,244,60,221, 214 95,129,252,248,239,255,15,130,244,61,129,122,253,4,239,15,131,244,61,221,
214 2,232,244,95,252,233,244,70,248,96,129,252,248,239,15,130,244,60,129,122, 215 2,232,244,96,252,233,244,71,248,97,129,252,248,239,15,130,244,61,129,122,
215 253,4,239,15,131,244,60,221,2,217,252,254,252,233,244,70,248,97,129,252,248, 216 253,4,239,15,131,244,61,221,2,217,252,254,252,233,244,71,248,98,129,252,248,
216 239,255,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,252,255,252, 217 239,255,15,130,244,61,129,122,253,4,239,15,131,244,61,221,2,217,252,255,252,
217 233,244,70,248,98,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131, 218 233,244,71,248,99,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,
218 244,60,221,2,217,252,242,221,216,252,233,244,70,248,99,129,252,248,239,15, 219 244,61,221,2,217,252,242,221,216,252,233,244,71,248,100,129,252,248,239,15,
219 130,244,60,255,129,122,253,4,239,15,131,244,60,221,2,217,192,216,200,217, 220 130,244,61,255,129,122,253,4,239,15,131,244,61,221,2,217,192,216,200,217,
220 232,222,225,217,252,250,217,252,243,252,233,244,70,248,100,129,252,248,239, 221 232,222,225,217,252,250,217,252,243,252,233,244,71,248,101,129,252,248,239,
221 15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,192,216,200,217,232, 222 15,130,244,61,129,122,253,4,239,15,131,244,61,221,2,217,192,216,200,217,232,
222 222,225,217,252,250,217,201,217,252,243,252,233,244,70,248,101,129,252,248, 223 222,225,217,252,250,217,201,217,252,243,252,233,244,71,248,102,129,252,248,
223 239,15,130,244,60,129,122,253,4,239,15,131,244,60,255,221,2,217,232,217,252, 224 239,15,130,244,61,129,122,253,4,239,15,131,244,61,255,221,2,217,232,217,252,
224 243,252,233,244,70,255,248,102,129,252,248,239,15,130,244,60,129,122,253, 225 243,252,233,244,71,255,248,103,129,252,248,239,15,130,244,61,129,122,253,
225 4,239,15,131,244,60,252,242,15,16,2,252,242,15,17,4,36,255,248,102,129,252, 226 4,239,15,131,244,61,252,242,15,16,2,252,242,15,17,4,36,255,248,103,129,252,
226 248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,221,28,36,255, 227 248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,221,2,221,28,36,255,
227 137,213,232,251,1,16,137,252,234,252,233,244,70,255,248,103,129,252,248,239, 228 137,213,232,251,1,16,137,252,234,252,233,244,71,255,248,104,129,252,248,239,
228 15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,252,242,15, 229 15,130,244,61,129,122,253,4,239,15,131,244,61,252,242,15,16,2,252,242,15,
229 17,4,36,255,248,103,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131, 230 17,4,36,255,248,104,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,
230 244,60,221,2,221,28,36,255,137,213,232,251,1,17,137,252,234,252,233,244,70, 231 244,61,221,2,221,28,36,255,137,213,232,251,1,17,137,252,234,252,233,244,71,
231 255,248,104,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60, 232 255,248,105,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,
232 252,242,15,16,2,252,242,15,17,4,36,255,248,104,129,252,248,239,15,130,244, 233 252,242,15,16,2,252,242,15,17,4,36,255,248,105,129,252,248,239,15,130,244,
233 60,129,122,253,4,239,15,131,244,60,221,2,221,28,36,255,137,213,232,251,1, 234 61,129,122,253,4,239,15,131,244,61,221,2,221,28,36,255,137,213,232,251,1,
234 18,137,252,234,252,233,244,70,248,105,255,248,106,129,252,248,239,15,130, 235 18,137,252,234,252,233,244,71,248,106,255,248,107,129,252,248,239,15,130,
235 244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,139,106,252,248,252, 236 244,61,129,122,253,4,239,15,131,244,61,252,242,15,16,2,139,106,252,248,252,
236 242,15,89,133,233,252,233,244,69,255,248,106,129,252,248,239,15,130,244,60, 237 242,15,89,133,233,252,233,244,70,255,248,107,129,252,248,239,15,130,244,61,
237 129,122,253,4,239,15,131,244,60,221,2,139,106,252,248,220,141,233,252,233, 238 129,122,253,4,239,15,131,244,61,221,2,139,106,252,248,220,141,233,252,233,
238 244,70,255,248,107,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131, 239 244,71,255,248,108,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,
239 244,60,129,122,253,12,239,15,131,244,60,221,2,221,66,8,217,252,243,252,233, 240 244,61,129,122,253,12,239,15,131,244,61,221,2,221,66,8,217,252,243,252,233,
240 244,70,248,108,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244, 241 244,71,248,109,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,
241 60,129,122,253,12,239,255,15,131,244,60,221,66,8,221,2,217,252,253,221,217, 242 61,129,122,253,12,239,255,15,131,244,61,221,66,8,221,2,217,252,253,221,217,
242 252,233,244,70,248,109,129,252,248,239,15,130,244,60,139,106,4,129,252,253, 243 252,233,244,71,248,110,129,252,248,239,15,130,244,61,139,106,4,129,252,253,
243 239,15,131,244,60,139,114,252,252,139,2,137,106,252,252,137,66,252,248,209, 244 239,15,131,244,61,139,114,252,252,139,2,137,106,252,252,137,66,252,248,209,
244 229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,252, 245 229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,252,
245 254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,197, 246 254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,197,
246 255,252,242,15,42,197,255,137,108,36,16,219,68,36,16,255,139,106,252,252, 247 255,252,242,15,42,197,255,137,108,36,16,219,68,36,16,255,139,106,252,252,
247 129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,2,255, 248 129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,2,255,
248 252,242,15,17,2,255,221,26,255,184,237,252,233,244,75,248,3,255,15,87,192, 249 252,242,15,17,2,255,221,26,255,184,237,252,233,244,76,248,3,255,15,87,192,
249 252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,15,16,2, 250 252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,15,16,2,
250 189,0,0,80,67,102,15,110,205,102,15,112,201,81,252,242,15,89,193,252,242, 251 189,0,0,80,67,102,15,110,205,102,15,112,201,81,252,242,15,89,193,252,242,
251 15,17,66,252,248,255,221,2,199,68,36,16,0,0,128,90,216,76,36,16,221,90,252, 252 15,17,66,252,248,255,221,2,199,68,36,16,0,0,128,90,216,76,36,16,221,90,252,
252 248,255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,110,129, 253 248,255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,111,129,
253 252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2, 254 252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,252,242,15,16,2,
254 255,248,110,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60, 255 255,248,111,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,
255 221,2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15, 256 221,2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15,
256 132,244,250,255,15,40,224,232,244,111,252,242,15,92,224,248,1,252,242,15, 257 132,244,250,255,15,40,224,232,244,112,252,242,15,92,224,248,1,252,242,15,
257 17,66,252,248,252,242,15,17,34,255,217,192,232,244,111,220,252,233,248,1, 258 17,66,252,248,252,242,15,17,34,255,217,192,232,244,112,220,252,233,248,1,
258 221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249, 259 221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249,
259 248,2,184,237,252,233,244,75,248,3,129,252,245,0,0,0,128,137,106,4,252,233, 260 248,2,184,237,252,233,244,76,248,3,129,252,245,0,0,0,128,137,106,4,252,233,
260 244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244, 261 244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,
261 1,255,248,112,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244, 262 1,255,248,113,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,
262 60,129,122,253,12,239,15,131,244,60,221,66,8,221,2,248,1,217,252,248,223, 263 61,129,122,253,12,239,15,131,244,61,221,66,8,221,2,248,1,217,252,248,223,
263 224,158,15,138,244,1,221,217,252,233,244,70,255,248,113,129,252,248,239,15, 264 224,158,15,138,244,1,221,217,252,233,244,71,255,248,114,129,252,248,239,15,
264 130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244, 265 130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,
265 60,252,242,15,16,2,252,242,15,16,74,8,232,244,114,252,233,244,69,255,248, 266 61,252,242,15,16,2,252,242,15,16,74,8,232,244,115,252,233,244,70,255,248,
266 113,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122, 267 114,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,
267 253,12,239,15,131,244,60,221,2,221,66,8,232,244,114,252,233,244,70,255,248, 268 253,12,239,15,131,244,61,221,2,221,66,8,232,244,115,252,233,244,71,255,248,
268 115,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193, 269 116,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,
269 15,131,244,68,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248, 270 15,131,244,69,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,
270 15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,60,255,252, 271 15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,61,255,252,
271 233,244,252,248,4,15,135,244,60,255,252,242,15,16,2,248,5,57,193,15,131,244, 272 233,244,252,248,4,15,135,244,61,255,252,242,15,16,2,248,5,57,193,15,131,244,
272 69,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,60,252,242,15, 273 70,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,61,252,242,15,
273 42,76,202,252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248, 274 42,76,202,252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248,
274 248,7,252,242,15,93,193,131,193,1,252,233,244,5,255,221,2,248,5,57,193,15, 275 248,7,252,242,15,93,193,131,193,1,252,233,244,5,255,221,2,248,5,57,193,15,
275 131,244,70,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,255, 276 131,244,71,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,255,
276 219,68,202,252,248,252,233,244,253,255,15,131,244,255,255,248,6,221,68,202, 277 219,68,202,252,248,252,233,244,253,255,15,131,244,255,255,248,6,221,68,202,
277 252,248,248,7,255,219,252,233,219,209,221,217,255,80,221,225,223,224,252, 278 252,248,248,7,255,219,252,233,219,209,221,217,255,80,221,225,223,224,252,
278 246,196,1,15,132,244,248,217,201,248,2,221,216,88,255,248,116,185,2,0,0,0, 279 246,196,1,15,132,244,248,217,201,248,2,221,216,88,255,248,117,185,2,0,0,0,
279 129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,68,129, 280 129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,69,129,
280 124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252, 281 124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252,
281 248,131,193,1,252,233,244,1,248,3,15,135,244,60,255,248,6,252,242,15,16,76, 282 248,131,193,1,252,233,244,1,248,3,15,135,244,61,255,248,6,252,242,15,16,76,
282 202,252,248,248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,219,252,233, 283 202,252,248,248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,219,252,233,
283 218,209,221,217,255,80,221,225,223,224,252,246,196,1,15,133,244,248,217,201, 284 218,209,221,217,255,80,221,225,223,224,252,246,196,1,15,133,244,248,217,201,
284 248,2,221,216,88,255,248,9,221,216,252,233,244,60,255,248,117,129,252,248, 285 248,2,221,216,88,255,248,9,221,216,252,233,244,61,255,248,118,129,252,248,
285 239,15,130,244,60,129,122,253,4,239,15,133,244,60,139,42,255,139,173,233, 286 239,15,130,244,61,129,122,253,4,239,15,133,244,61,139,42,255,139,173,233,
286 252,233,244,68,255,252,242,15,42,133,233,252,233,244,69,255,219,133,233,252, 287 252,233,244,69,255,252,242,15,42,133,233,252,233,244,70,255,219,133,233,252,
287 233,244,70,255,248,118,129,252,248,239,15,133,244,60,129,122,253,4,239,15, 288 233,244,71,255,248,119,129,252,248,239,15,133,244,61,129,122,253,4,239,15,
288 133,244,60,139,42,139,114,252,252,131,189,233,1,15,130,244,78,15,182,173, 289 133,244,61,139,42,139,114,252,252,131,189,233,1,15,130,244,79,15,182,173,
289 233,255,252,242,15,42,197,252,233,244,69,255,137,108,36,16,219,68,36,16,252, 290 233,255,252,242,15,42,197,252,233,244,70,255,137,108,36,16,219,68,36,16,252,
290 233,244,70,255,248,119,139,171,233,59,171,233,15,130,244,247,232,244,72,248, 291 233,244,71,255,248,120,139,171,233,59,171,233,15,130,244,247,232,244,73,248,
291 1,129,252,248,239,15,133,244,60,129,122,253,4,239,255,15,133,244,60,139,42, 292 1,129,252,248,239,15,133,244,61,129,122,253,4,239,255,15,133,244,61,139,42,
292 129,252,253,252,255,0,0,0,15,135,244,60,137,108,36,20,255,15,131,244,60,252, 293 129,252,253,252,255,0,0,0,15,135,244,61,137,108,36,20,255,15,131,244,61,252,
293 242,15,44,42,129,252,253,252,255,0,0,0,15,135,244,60,137,108,36,20,255,15, 294 242,15,44,42,129,252,253,252,255,0,0,0,15,135,244,61,137,108,36,20,255,15,
294 131,244,60,221,2,219,92,36,20,129,124,36,20,252,255,0,0,0,15,135,244,60,255, 295 131,244,61,221,2,219,92,36,20,129,124,36,20,252,255,0,0,0,15,135,244,61,255,
295 199,68,36,8,1,0,0,0,141,68,36,20,248,120,139,108,36,48,137,149,233,137,68, 296 199,68,36,8,1,0,0,0,141,68,36,20,248,121,139,108,36,48,137,149,233,137,68,
296 36,4,137,44,36,137,116,36,24,232,251,1,19,139,149,233,139,114,252,252,199, 297 36,4,137,44,36,137,116,36,24,232,251,1,19,139,149,233,139,114,252,252,199,
297 66,252,252,237,137,66,252,248,252,233,244,63,248,121,139,171,233,59,171,233, 298 66,252,252,237,137,66,252,248,252,233,244,64,248,122,139,171,233,59,171,233,
298 15,130,244,247,232,244,72,248,1,199,68,36,20,252,255,252,255,252,255,252, 299 15,130,244,247,232,244,73,248,1,199,68,36,20,252,255,252,255,252,255,252,
299 255,129,252,248,239,15,130,244,60,15,134,244,247,129,122,253,20,239,255,15, 300 255,129,252,248,239,15,130,244,61,15,134,244,247,129,122,253,20,239,255,15,
300 133,244,60,139,106,16,137,108,36,20,255,15,131,244,60,252,242,15,44,106,16, 301 133,244,61,139,106,16,137,108,36,20,255,15,131,244,61,252,242,15,44,106,16,
301 137,108,36,20,255,15,131,244,60,221,66,16,219,92,36,20,255,248,1,129,122, 302 137,108,36,20,255,15,131,244,61,221,66,16,219,92,36,20,255,248,1,129,122,
302 253,4,239,15,133,244,60,129,122,253,12,239,255,139,42,137,108,36,12,139,173, 303 253,4,239,15,133,244,61,129,122,253,12,239,255,139,42,137,108,36,12,139,173,
303 233,255,139,74,8,255,252,242,15,44,74,8,255,221,66,8,219,92,36,8,139,76,36, 304 233,255,139,74,8,255,252,242,15,44,74,8,255,221,66,8,219,92,36,8,139,76,36,
304 8,255,139,68,36,20,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248, 305 8,255,139,68,36,20,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248,
305 3,139,108,36,12,41,200,15,140,244,122,141,172,253,13,233,131,192,1,248,4, 306 3,139,108,36,12,41,200,15,140,244,123,141,172,253,13,233,131,192,1,248,4,
306 137,68,36,8,137,232,252,233,244,120,248,5,15,140,244,252,141,68,40,1,252, 307 137,68,36,8,137,232,252,233,244,121,248,5,15,140,244,252,141,68,40,1,252,
307 233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233, 308 233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233,
308 131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,122,49,192,252, 309 131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,123,49,192,252,
309 233,244,4,248,123,129,252,248,239,15,130,244,60,139,171,233,59,171,233,15, 310 233,244,4,248,124,129,252,248,239,15,130,244,61,139,171,233,59,171,233,15,
310 130,244,247,232,244,72,248,1,255,129,122,253,4,239,15,133,244,60,129,122, 311 130,244,247,232,244,73,248,1,255,129,122,253,4,239,15,133,244,61,129,122,
311 253,12,239,139,42,255,15,133,244,60,139,66,8,255,15,131,244,60,252,242,15, 312 253,12,239,139,42,255,15,133,244,61,139,66,8,255,15,131,244,61,252,242,15,
312 44,66,8,255,15,131,244,60,221,66,8,219,92,36,20,139,68,36,20,255,133,192, 313 44,66,8,255,15,131,244,61,221,66,8,219,92,36,20,139,68,36,20,255,133,192,
313 15,142,244,122,131,189,233,1,15,130,244,122,15,133,244,124,57,131,233,15, 314 15,142,244,123,131,189,233,1,15,130,244,123,15,133,244,125,57,131,233,15,
314 130,244,124,15,182,141,233,139,171,233,137,68,36,8,248,1,136,77,0,131,197, 315 130,244,125,15,182,141,233,139,171,233,137,68,36,8,248,1,136,77,0,131,197,
315 1,131,232,1,15,133,244,1,139,131,233,252,233,244,120,248,125,129,252,248, 316 1,131,232,1,15,133,244,1,139,131,233,252,233,244,121,248,126,129,252,248,
316 239,255,15,130,244,60,139,171,233,59,171,233,15,130,244,247,232,244,72,248, 317 239,255,15,130,244,61,139,171,233,59,171,233,15,130,244,247,232,244,73,248,
317 1,129,122,253,4,239,15,133,244,60,139,42,139,133,233,133,192,15,132,244,122, 318 1,129,122,253,4,239,15,133,244,61,139,42,139,133,233,133,192,15,132,244,123,
318 57,131,233,15,130,244,126,129,197,239,137,116,36,20,137,68,36,8,139,179,233, 319 57,131,233,15,130,244,127,129,197,239,137,116,36,20,137,68,36,8,139,179,233,
319 248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,244,1,137,252,240, 320 248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,244,1,137,252,240,
320 139,116,36,20,252,233,244,120,248,127,129,252,248,239,15,130,244,60,139,171, 321 139,116,36,20,252,233,244,121,248,128,129,252,248,239,15,130,244,61,139,171,
321 233,59,171,233,15,130,244,247,232,244,72,248,1,129,122,253,4,239,15,133,244, 322 233,59,171,233,15,130,244,247,232,244,73,248,1,129,122,253,4,239,15,133,244,
322 60,139,42,139,133,233,57,131,233,255,15,130,244,126,129,197,239,137,116,36, 323 61,139,42,139,133,233,57,131,233,255,15,130,244,127,129,197,239,137,116,36,
323 20,137,68,36,8,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249, 324 20,137,68,36,8,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,
324 65,15,130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2,136, 325 65,15,130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2,136,
325 12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,20,252,233,244,120, 326 12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,20,252,233,244,121,
326 248,128,129,252,248,239,15,130,244,60,255,139,171,233,59,171,233,15,130,244, 327 248,129,129,252,248,239,15,130,244,61,255,139,171,233,59,171,233,15,130,244,
327 247,232,244,72,248,1,129,122,253,4,239,15,133,244,60,139,42,139,133,233,57, 328 247,232,244,73,248,1,129,122,253,4,239,15,133,244,61,139,42,139,133,233,57,
328 131,233,15,130,244,126,129,197,239,137,116,36,20,137,68,36,8,139,179,233, 329 131,233,15,130,244,127,129,197,239,137,116,36,20,137,68,36,8,139,179,233,
329 252,233,244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,255,131, 330 252,233,244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,
330 252,249,122,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1, 331 252,249,122,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,
331 15,137,244,1,137,252,240,139,116,36,20,252,233,244,120,248,129,129,252,248, 332 15,137,244,1,137,252,240,139,116,36,20,252,233,244,121,248,130,129,252,248,
332 239,15,130,244,60,129,122,253,4,239,15,133,244,60,137,213,139,10,232,251, 333 239,15,130,244,61,129,122,253,4,239,15,133,244,61,137,213,139,10,232,251,
333 1,20,137,252,234,255,137,197,252,233,244,68,255,252,242,15,42,192,252,233, 334 1,20,137,252,234,255,137,197,252,233,244,69,255,252,242,15,42,192,252,233,
334 244,69,255,137,4,36,219,4,36,252,233,244,70,255,248,130,129,122,253,4,239, 335 244,70,255,137,4,36,219,4,36,252,233,244,71,255,248,131,129,122,253,4,239,
335 255,15,133,244,247,139,42,252,233,244,86,248,1,15,135,244,60,255,252,242, 336 255,15,133,244,247,139,42,252,233,244,87,248,1,15,135,244,61,255,252,242,
336 15,16,2,189,0,0,56,67,102,15,110,205,102,15,112,201,81,252,242,15,88,193, 337 15,16,2,189,0,0,56,67,102,15,110,205,102,15,112,201,81,252,242,15,88,193,
337 102,15,126,197,255,221,2,199,68,36,16,0,0,192,89,216,68,36,16,221,28,36,255, 338 102,15,126,197,255,221,2,199,68,36,16,0,0,192,89,216,68,36,16,221,28,36,255,
338 139,44,36,255,252,233,244,86,255,248,131,255,189,0,0,56,67,102,15,110,205, 339 139,44,36,255,252,233,244,87,255,248,132,255,189,0,0,56,67,102,15,110,205,
339 102,15,112,201,81,255,199,68,36,16,0,0,192,89,255,15,133,244,247,139,42,252, 340 102,15,112,201,81,255,199,68,36,16,0,0,192,89,255,15,133,244,247,139,42,252,
340 233,244,248,248,1,15,135,244,60,255,252,242,15,16,2,252,242,15,88,193,102, 341 233,244,248,248,1,15,135,244,61,255,252,242,15,16,2,252,242,15,88,193,102,
341 15,126,197,255,221,2,216,68,36,16,221,28,36,139,44,36,255,248,2,137,68,36, 342 15,126,197,255,221,2,216,68,36,16,221,28,36,139,44,36,255,248,2,137,68,36,
342 20,141,68,194,252,240,248,1,57,208,15,134,244,86,129,120,253,4,239,255,15, 343 20,141,68,194,252,240,248,1,57,208,15,134,244,87,129,120,253,4,239,255,15,
343 133,244,248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,132,255,15,131, 344 133,244,248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,133,255,15,131,
344 244,132,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,221, 345 244,133,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,221,
345 0,216,68,36,16,221,28,36,35,44,36,255,131,232,8,252,233,244,1,248,133,255, 346 0,216,68,36,16,221,28,36,35,44,36,255,131,232,8,252,233,244,1,248,134,255,
346 15,133,244,248,11,40,131,232,8,252,233,244,1,248,2,15,135,244,132,255,252, 347 15,133,244,248,11,40,131,232,8,252,233,244,1,248,2,15,135,244,133,255,252,
347 242,15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,221,0,216,68,36,16, 348 242,15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,221,0,216,68,36,16,
348 221,28,36,11,44,36,255,131,232,8,252,233,244,1,248,134,255,15,133,244,248, 349 221,28,36,11,44,36,255,131,232,8,252,233,244,1,248,135,255,15,133,244,248,
349 51,40,131,232,8,252,233,244,1,248,2,15,135,244,132,255,252,242,15,16,0,252, 350 51,40,131,232,8,252,233,244,1,248,2,15,135,244,133,255,252,242,15,16,0,252,
350 242,15,88,193,102,15,126,193,49,205,255,221,0,216,68,36,16,221,28,36,51,44, 351 242,15,88,193,102,15,126,193,49,205,255,221,0,216,68,36,16,221,28,36,51,44,
351 36,255,131,232,8,252,233,244,1,248,135,129,122,253,4,239,255,221,2,199,68, 352 36,255,131,232,8,252,233,244,1,248,136,129,122,253,4,239,255,221,2,199,68,
352 36,16,0,0,192,89,216,68,36,16,221,28,36,139,44,36,255,248,2,15,205,252,233, 353 36,16,0,0,192,89,216,68,36,16,221,28,36,139,44,36,255,248,2,15,205,252,233,
353 244,86,248,136,129,122,253,4,239,255,248,2,252,247,213,255,248,86,252,242, 354 244,87,248,137,129,122,253,4,239,255,248,2,252,247,213,255,248,87,252,242,
354 15,42,197,252,233,244,69,255,248,86,137,44,36,219,4,36,252,233,244,70,255, 355 15,42,197,252,233,244,70,255,248,87,137,44,36,219,4,36,252,233,244,71,255,
355 248,132,139,68,36,20,252,233,244,60,255,248,137,129,122,253,4,239,255,248, 356 248,133,139,68,36,20,252,233,244,61,255,248,138,129,122,253,4,239,255,248,
356 2,129,122,253,12,239,15,133,244,60,139,74,8,255,248,137,129,252,248,239,15, 357 2,129,122,253,12,239,15,133,244,61,139,74,8,255,248,138,129,252,248,239,15,
357 130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244, 358 130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,
358 60,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15, 359 61,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,
359 112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126, 360 112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,
360 201,255,248,137,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244, 361 201,255,248,138,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,
361 60,129,122,253,12,239,15,131,244,60,221,2,221,66,8,199,68,36,16,0,0,192,89, 362 61,129,122,253,12,239,15,131,244,61,221,2,221,66,8,199,68,36,16,0,0,192,89,
362 216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255, 363 216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255,
363 211,229,252,233,244,86,255,248,138,129,122,253,4,239,255,248,138,129,252, 364 211,229,252,233,244,87,255,248,139,129,122,253,4,239,255,248,139,129,252,
364 248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239, 365 248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,
365 15,131,244,60,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110, 366 15,131,244,61,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,
366 213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197, 367 213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197,
367 102,15,126,201,255,248,138,129,252,248,239,15,130,244,60,129,122,253,4,239, 368 102,15,126,201,255,248,139,129,252,248,239,15,130,244,61,129,122,253,4,239,
368 15,131,244,60,129,122,253,12,239,15,131,244,60,221,2,221,66,8,199,68,36,16, 369 15,131,244,61,129,122,253,12,239,15,131,244,61,221,2,221,66,8,199,68,36,16,
369 0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139, 370 0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,
370 44,36,255,211,252,237,252,233,244,86,255,248,139,129,122,253,4,239,255,248, 371 44,36,255,211,252,237,252,233,244,87,255,248,140,129,122,253,4,239,255,248,
371 139,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122, 372 140,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,
372 253,12,239,15,131,244,60,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67, 373 253,12,239,15,131,244,61,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,
373 102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,202,102, 374 102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,202,102,
374 15,126,197,102,15,126,201,255,248,139,129,252,248,239,15,130,244,60,129,122, 375 15,126,197,102,15,126,201,255,248,140,129,252,248,239,15,130,244,61,129,122,
375 253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,221,2,221,66,8,199, 376 253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,221,2,221,66,8,199,
376 68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76, 377 68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,
377 36,8,139,44,36,255,211,252,253,252,233,244,86,255,248,140,129,122,253,4,239, 378 36,8,139,44,36,255,211,252,253,252,233,244,87,255,248,141,129,122,253,4,239,
378 255,248,140,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60, 379 255,248,141,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,
379 129,122,253,12,239,15,131,244,60,252,242,15,16,2,252,242,15,16,74,8,189,0, 380 129,122,253,12,239,15,131,244,61,252,242,15,16,2,252,242,15,16,74,8,189,0,
380 0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,242,15,88, 381 0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,
381 202,102,15,126,197,102,15,126,201,255,248,140,129,252,248,239,15,130,244, 382 202,102,15,126,197,102,15,126,201,255,248,141,129,252,248,239,15,130,244,
382 60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,221,2, 383 61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,221,2,
383 221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221, 384 221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,
384 28,36,139,76,36,8,139,44,36,255,211,197,252,233,244,86,255,248,141,129,122, 385 28,36,139,76,36,8,139,44,36,255,211,197,252,233,244,87,255,248,142,129,122,
385 253,4,239,255,248,141,129,252,248,239,15,130,244,60,129,122,253,4,239,15, 386 253,4,239,255,248,142,129,252,248,239,15,130,244,61,129,122,253,4,239,15,
386 131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,2,252,242,15,16, 387 131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,2,252,242,15,16,
387 74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,252, 388 74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,
388 242,15,88,202,102,15,126,197,102,15,126,201,255,248,141,129,252,248,239,15, 389 242,15,88,202,102,15,126,197,102,15,126,201,255,248,142,129,252,248,239,15,
389 130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244, 390 130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,
390 60,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68, 391 61,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,
391 36,16,221,28,36,139,76,36,8,139,44,36,255,211,205,252,233,244,86,248,124, 392 36,16,221,28,36,139,76,36,8,139,44,36,255,211,205,252,233,244,87,248,125,
392 184,237,252,233,244,60,248,126,184,237,248,60,139,108,36,48,139,114,252,252, 393 184,237,252,233,244,61,248,127,184,237,248,61,139,108,36,48,139,114,252,252,
393 137,116,36,24,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139, 394 137,116,36,24,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139,
394 66,252,248,59,141,233,15,135,244,251,137,44,36,252,255,144,233,139,149,233, 395 66,252,248,59,141,233,15,135,244,251,137,44,36,252,255,144,233,139,149,233,
395 133,192,15,143,244,75,248,1,255,139,141,233,41,209,193,252,233,3,133,192, 396 133,192,15,143,244,76,248,1,255,139,141,233,41,209,193,252,233,3,133,192,
396 141,65,1,139,106,252,248,15,133,244,248,139,181,233,139,14,15,182,252,233, 397 141,65,1,139,106,252,248,15,133,244,32,139,181,233,139,14,15,182,252,233,
397 15,182,205,131,198,4,252,255,36,171,248,2,137,209,252,247,198,237,15,133, 398 15,182,205,131,198,4,252,255,36,171,248,32,137,209,252,247,198,237,15,133,
398 244,249,15,182,110,252,253,252,247,213,141,20,252,234,252,233,244,28,248, 399 244,249,15,182,110,252,253,252,247,213,141,20,252,234,252,233,244,28,248,
399 3,137,252,245,131,229,252,248,41,252,234,252,233,244,28,248,5,186,237,137, 400 3,137,252,245,131,229,252,248,41,252,234,252,233,244,28,248,5,186,237,137,
400 252,233,232,251,1,0,139,149,233,49,192,252,233,244,1,248,72,93,137,108,36, 401 252,233,232,251,1,0,139,149,233,49,192,252,233,244,1,248,73,93,137,108,36,
401 16,139,108,36,48,137,116,36,24,137,149,233,255,141,68,194,252,248,137,252, 402 16,139,108,36,48,137,116,36,24,137,149,233,255,141,68,194,252,248,137,252,
402 233,137,133,233,232,251,1,21,139,149,233,139,133,233,41,208,193,232,3,131, 403 233,137,133,233,232,251,1,21,139,149,233,139,133,233,41,208,193,232,3,131,
403 192,1,139,108,36,16,85,195,248,142,255,15,182,131,233,168,235,15,133,244, 404 192,1,139,108,36,16,85,195,248,143,255,15,182,131,233,168,235,15,133,244,
404 251,168,235,15,133,244,247,168,235,15,132,244,247,252,255,139,233,252,233, 405 251,168,235,15,133,244,247,168,235,15,132,244,247,252,255,139,233,252,233,
405 244,247,255,248,143,15,182,131,233,168,235,15,133,244,251,252,233,244,247, 406 244,247,255,248,144,15,182,131,233,168,235,15,133,244,251,252,233,244,247,
406 248,144,15,182,131,233,168,235,15,133,244,251,168,235,15,132,244,251,252, 407 248,145,15,182,131,233,168,235,15,133,244,251,168,235,15,132,244,251,252,
407 255,139,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,48, 408 255,139,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,48,
408 137,149,233,137,252,242,137,252,233,232,251,1,22,248,3,139,149,233,248,4, 409 137,149,233,137,252,242,137,252,233,232,251,1,22,248,3,139,149,233,248,4,
409 15,182,78,252,253,248,5,15,182,110,252,252,15,183,70,252,254,252,255,164, 410 15,182,78,252,253,248,5,15,182,110,252,252,15,183,70,252,254,252,255,164,
410 253,171,233,248,145,131,198,4,139,77,232,137,76,36,20,252,233,244,4,248,146, 411 253,171,233,248,146,131,198,4,139,77,232,137,76,36,20,252,233,244,4,248,147,
411 255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,48,137, 412 255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,48,137,
412 149,233,137,133,233,137,252,242,141,139,233,137,171,233,137,116,36,24,232, 413 149,233,137,133,233,137,252,242,141,139,233,137,171,233,137,116,36,24,232,
413 251,1,23,252,233,244,3,255,248,147,137,116,36,24,255,248,148,255,137,116, 414 251,1,23,252,233,244,3,255,248,148,137,116,36,24,255,248,149,255,137,116,
414 36,24,131,206,1,248,1,255,141,68,194,252,248,139,108,36,48,137,149,233,137, 415 36,24,131,206,1,248,1,255,141,68,194,252,248,139,108,36,48,137,149,233,137,
415 133,233,137,252,242,137,252,233,232,251,1,24,199,68,36,24,0,0,0,0,255,131, 416 133,233,137,252,242,137,252,233,232,251,1,24,199,68,36,24,0,0,0,0,255,131,
416 230,252,254,255,139,149,233,137,193,139,133,233,41,208,137,205,15,182,78, 417 230,252,254,255,139,149,233,137,193,139,133,233,41,208,137,205,15,182,78,
417 252,253,193,232,3,131,192,1,252,255,229,248,149,255,85,141,108,36,12,85,83, 418 252,253,193,232,3,131,192,1,252,255,229,248,150,255,85,141,108,36,12,85,83,
418 82,81,80,15,182,69,252,252,138,101,252,248,137,125,252,252,137,117,252,248, 419 82,81,80,15,182,69,252,252,138,101,252,248,137,125,252,252,137,117,252,248,
419 139,93,0,139,139,233,199,131,233,237,137,131,233,137,139,233,129,252,236, 420 139,93,0,139,139,233,199,131,233,237,137,131,233,137,139,233,129,252,236,
420 239,252,242,15,17,125,216,252,242,15,17,117,208,252,242,15,17,109,200,252, 421 239,252,242,15,17,125,216,252,242,15,17,117,208,252,242,15,17,109,200,252,
421 242,15,17,101,192,252,242,15,17,93,184,252,242,15,17,85,176,252,242,15,17, 422 242,15,17,101,192,252,242,15,17,93,184,252,242,15,17,85,176,252,242,15,17,
422 77,168,252,242,15,17,69,160,139,171,233,139,147,233,137,171,233,199,131,233, 423 77,168,252,242,15,17,69,160,139,171,233,139,147,233,137,171,233,199,131,233,
423 0,0,0,0,137,149,233,141,84,36,16,141,139,233,232,251,1,25,139,141,233,129, 424 0,0,0,0,137,149,233,141,84,36,16,141,139,233,232,251,1,25,139,141,233,129,
424 225,239,137,204,137,169,233,139,149,233,139,177,233,255,248,150,255,133,192, 425 225,239,137,204,137,169,233,139,149,233,139,177,233,255,248,151,255,133,192,
425 15,136,244,249,137,68,36,20,139,122,252,248,139,191,233,139,191,233,199,131, 426 15,136,244,249,137,68,36,20,139,122,252,248,139,191,233,139,191,233,199,131,
426 233,0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,4,193,232, 427 233,0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,
427 16,129,252,253,239,15,130,244,248,139,68,36,20,248,2,252,255,36,171,248,3, 428 16,129,252,253,239,15,130,244,248,139,68,36,20,248,2,252,255,36,171,248,3,
428 252,247,216,137,252,233,137,194,232,251,1,26,255,248,88,255,217,124,36,4, 429 252,247,216,137,252,233,137,194,232,251,1,26,255,248,89,255,217,124,36,4,
429 137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68, 430 137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,
430 36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,151,102, 431 36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,152,102,
431 15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216, 432 15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,
432 102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102, 433 102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,
433 15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240, 434 15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240,
434 63,102,15,110,208,102,15,112,210,81,252,242,15,194,193,1,102,15,84,194,252, 435 63,102,15,110,208,102,15,112,210,81,252,242,15,194,193,1,102,15,84,194,252,
435 242,15,92,200,15,40,193,248,1,195,248,90,255,217,124,36,4,137,68,36,8,102, 436 242,15,92,200,15,40,193,248,1,195,248,91,255,217,124,36,4,137,68,36,8,102,
436 184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36, 437 184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,
437 6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,152,102,15,252,239,210, 438 6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,153,102,15,252,239,210,
438 102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219, 439 102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,
439 81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252, 440 81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,
440 242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240,191,102,15, 441 242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240,191,102,15,
441 110,208,102,15,112,210,81,252,242,15,194,193,6,102,15,84,194,252,242,15,92, 442 110,208,102,15,112,210,81,252,242,15,194,193,6,102,15,84,194,252,242,15,92,
442 200,15,40,193,248,1,195,248,111,255,217,124,36,4,137,68,36,8,102,184,0,12, 443 200,15,40,193,248,1,195,248,112,255,217,124,36,4,137,68,36,8,102,184,0,12,
443 102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139, 444 102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,
444 68,36,8,195,255,248,153,102,15,252,239,210,102,15,118,210,102,15,115,210, 445 68,36,8,195,255,248,154,102,15,252,239,210,102,15,118,210,102,15,115,210,
445 1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202, 446 1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202,
446 102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252, 447 102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,
447 242,15,92,203,184,0,0,252,240,63,102,15,110,216,102,15,112,219,81,252,242, 448 242,15,92,203,184,0,0,252,240,63,102,15,110,216,102,15,112,219,81,252,242,
448 15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40,193,248, 449 15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,
449 1,195,248,154,255,15,40,232,252,242,15,94,193,102,15,252,239,210,102,15,118, 450 1,195,248,155,255,15,40,232,252,242,15,94,193,102,15,252,239,210,102,15,118,
450 210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40, 451 210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,
451 224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88, 452 224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,
452 227,252,242,15,92,227,102,15,86,226,184,0,0,252,240,63,102,15,110,208,102, 453 227,252,242,15,92,227,102,15,86,226,184,0,0,252,240,63,102,15,110,208,102,
@@ -454,11 +455,11 @@ static const unsigned char build_actionlist[16947] = {
454 197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40, 455 197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,
455 197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0, 456 197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,
456 4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217, 457 4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,
457 252,252,217,108,36,4,222,201,222,252,233,195,255,248,95,217,252,234,222,201, 458 252,252,217,108,36,4,222,201,222,252,233,195,255,248,96,217,252,234,222,201,
458 248,155,217,84,36,4,129,124,36,4,0,0,128,127,15,132,244,247,129,124,36,4, 459 248,156,217,84,36,4,129,124,36,4,0,0,128,127,15,132,244,247,129,124,36,4,
459 0,0,128,252,255,15,132,244,248,248,156,217,192,217,252,252,220,252,233,217, 460 0,0,128,252,255,15,132,244,248,248,157,217,192,217,252,252,220,252,233,217,
460 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216, 461 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,
461 217,252,238,195,255,248,114,219,84,36,4,219,68,36,4,255,223,252,233,255,221, 462 217,252,238,195,255,248,115,219,84,36,4,219,68,36,4,255,223,252,233,255,221,
462 252,233,223,224,158,255,15,133,244,254,15,138,244,255,221,216,139,68,36,4, 463 252,233,223,224,158,255,15,133,244,254,15,138,244,255,221,216,139,68,36,4,
463 131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,216,200,209, 464 131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,216,200,209,
464 232,252,233,244,1,248,2,209,232,15,132,244,251,217,192,248,3,216,200,209, 465 232,252,233,244,1,248,2,209,232,15,132,244,251,217,192,248,3,216,200,209,
@@ -467,14 +468,14 @@ static const unsigned char build_actionlist[16947] = {
467 252,248,1,15,132,244,5,252,233,244,1,248,7,221,216,217,232,195,248,8,217, 468 252,248,1,15,132,244,5,252,233,244,1,248,7,221,216,217,232,195,248,8,217,
468 84,36,4,217,201,217,84,36,8,139,68,36,4,209,224,61,0,0,0,252,255,15,132,244, 469 84,36,4,217,201,217,84,36,8,139,68,36,4,209,224,61,0,0,0,252,255,15,132,244,
469 248,139,68,36,8,209,224,15,132,244,250,61,0,0,0,252,255,15,132,244,250,217, 470 248,139,68,36,8,209,224,15,132,244,250,61,0,0,0,252,255,15,132,244,250,217,
470 252,241,252,233,244,156,248,9,255,217,232,255,223,252,234,255,221,252,234, 471 252,241,252,233,244,157,248,9,255,217,232,255,223,252,234,255,221,252,234,
471 223,224,158,255,15,132,244,247,217,201,248,1,221,216,195,248,2,217,225,217, 472 223,224,158,255,15,132,244,247,217,201,248,1,221,216,195,248,2,217,225,217,
472 232,255,15,132,244,249,221,216,217,225,217,252,238,184,0,0,0,0,15,146,208, 473 232,255,15,132,244,249,221,216,217,225,217,252,238,184,0,0,0,0,15,146,208,
473 209,200,51,68,36,4,15,137,244,249,217,201,248,3,221,217,217,225,195,248,4, 474 209,200,51,68,36,4,15,137,244,249,217,201,248,3,221,217,217,225,195,248,4,
474 131,124,36,4,0,15,141,244,3,221,216,221,216,133,192,15,132,244,251,217,252, 475 131,124,36,4,0,15,141,244,3,221,216,221,216,133,192,15,132,244,251,217,252,
475 238,195,248,5,199,68,36,4,0,0,128,127,217,68,36,4,195,255,248,114,255,248, 476 238,195,248,5,199,68,36,4,0,0,128,127,217,68,36,4,195,255,248,115,255,248,
476 157,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138, 477 158,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138,
477 244,255,248,158,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244, 478 244,255,248,159,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,
478 248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251, 479 248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251,
479 15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255, 480 15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255,
480 252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15, 481 252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15,
@@ -492,30 +493,30 @@ static const unsigned char build_actionlist[16947] = {
492 208,102,15,112,210,81,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192, 493 208,102,15,112,210,81,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,
493 136,196,15,146,208,48,224,15,133,244,1,248,3,184,0,0,252,240,127,102,15,110, 494 136,196,15,146,208,48,224,15,133,244,1,248,3,184,0,0,252,240,127,102,15,110,
494 192,102,15,112,192,81,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87, 495 192,102,15,112,192,81,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87,
495 192,195,248,5,102,15,80,193,133,192,15,132,244,3,255,15,87,192,195,248,159, 496 192,195,248,5,102,15,80,193,133,192,15,132,244,3,255,15,87,192,195,248,160,
496 255,139,68,36,12,252,242,15,16,68,36,4,131,252,248,1,15,132,244,247,15,135, 497 255,139,68,36,12,252,242,15,16,68,36,4,131,252,248,1,15,132,244,247,15,135,
497 244,248,232,244,88,252,233,244,253,248,1,232,244,90,252,233,244,253,248,2, 498 244,248,232,244,89,252,233,244,253,248,1,232,244,91,252,233,244,253,248,2,
498 131,252,248,3,15,132,244,247,15,135,244,248,232,244,111,255,252,233,244,253, 499 131,252,248,3,15,132,244,247,15,135,244,248,232,244,112,255,252,233,244,253,
499 248,1,252,242,15,81,192,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,2, 500 248,1,252,242,15,81,192,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,2,
500 221,68,36,4,131,252,248,5,15,130,244,95,15,132,244,155,248,2,131,252,248, 501 221,68,36,4,131,252,248,5,15,130,244,96,15,132,244,156,248,2,131,252,248,
501 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1, 502 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,
502 217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,15,135, 503 217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,15,135,
503 244,248,255,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248, 504 244,248,255,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,
504 2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217, 505 2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,
505 252,242,221,216,195,255,139,68,36,12,221,68,36,4,131,252,248,1,15,130,244, 506 252,242,221,216,195,255,139,68,36,12,221,68,36,4,131,252,248,1,15,130,244,
506 88,15,132,244,90,131,252,248,3,15,130,244,111,15,135,244,248,217,252,250, 507 89,15,132,244,91,131,252,248,3,15,130,244,112,15,135,244,248,217,252,250,
507 195,248,2,131,252,248,5,15,130,244,95,15,132,244,155,131,252,248,7,15,132, 508 195,248,2,131,252,248,5,15,130,244,96,15,132,244,156,131,252,248,7,15,132,
508 244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,217,232, 509 244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,217,232,
509 217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,255,15,135,244, 510 217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,255,15,135,244,
510 248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252, 511 248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,
511 248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221, 512 248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,
512 216,195,255,248,9,204,255,248,160,255,139,68,36,20,252,242,15,16,68,36,4, 513 216,195,255,248,9,204,255,248,161,255,139,68,36,20,252,242,15,16,68,36,4,
513 252,242,15,16,76,36,12,131,252,248,1,15,132,244,247,15,135,244,248,252,242, 514 252,242,15,16,76,36,12,131,252,248,1,15,132,244,247,15,135,244,248,252,242,
514 15,88,193,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,1,252,242,15,92, 515 15,88,193,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,1,252,242,15,92,
515 193,252,233,244,7,248,2,131,252,248,3,15,132,244,247,15,135,244,248,252,242, 516 193,252,233,244,7,248,2,131,252,248,3,15,132,244,247,15,135,244,248,252,242,
516 15,89,193,252,233,244,7,248,1,252,242,15,94,193,252,233,244,7,248,2,131,252, 517 15,89,193,252,233,244,7,248,1,252,242,15,94,193,252,233,244,7,248,2,131,252,
517 248,5,15,132,244,247,255,15,135,244,248,232,244,154,252,233,244,7,248,1,90, 518 248,5,15,132,244,247,255,15,135,244,248,232,244,155,252,233,244,7,248,1,90,
518 232,244,114,82,252,233,244,7,248,2,131,252,248,7,15,132,244,247,15,135,244, 519 232,244,115,82,252,233,244,7,248,2,131,252,248,7,15,132,244,247,15,135,244,
519 248,184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,233,244, 520 248,184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,233,244,
520 7,248,1,102,15,252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,252, 521 7,248,1,102,15,252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,252,
521 233,244,7,248,2,255,131,252,248,9,15,135,244,248,221,68,36,4,221,68,36,12, 522 233,244,7,248,2,255,131,252,248,9,15,135,244,248,221,68,36,4,221,68,36,12,
@@ -524,32 +525,32 @@ static const unsigned char build_actionlist[16947] = {
524 244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204,255,139,68,36,20,221, 525 244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204,255,139,68,36,20,221,
525 68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193, 526 68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193,
526 195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248, 527 195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248,
527 222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,154,15,132, 528 222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,155,15,132,
528 244,114,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195, 529 244,115,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195,
529 248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248, 530 248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,
530 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11, 531 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,
531 15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219, 532 15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,
532 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244, 533 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,
533 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133, 534 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,
534 244,248,217,201,248,2,221,216,195,255,248,161,156,90,137,209,129,252,242, 535 244,248,217,201,248,2,221,216,195,255,248,162,156,90,137,209,129,252,242,
535 0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,247,139,68,36,4,87,83,15, 536 0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,247,139,68,36,4,87,83,15,
536 162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248,1,195,248,162, 537 162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248,1,195,248,163,
537 255,85,137,229,83,137,203,43,163,233,255,137,163,233,255,15,182,139,233,131, 538 255,85,137,229,83,137,203,43,163,233,255,137,163,233,255,15,182,139,233,131,
538 252,233,1,15,136,244,248,248,1,139,132,253,139,233,137,4,140,131,252,233, 539 252,233,1,15,136,244,248,248,1,139,132,253,139,233,137,4,140,131,252,233,
539 1,15,137,244,1,248,2,139,139,233,139,147,233,252,255,147,233,137,131,233, 540 1,15,137,244,1,248,2,139,139,233,139,147,233,252,255,147,233,137,131,233,
540 137,147,233,128,187,233,1,15,130,244,253,15,132,244,252,221,155,233,252,233, 541 137,147,233,128,187,233,1,15,130,244,253,15,132,244,252,221,155,233,252,233,
541 244,253,248,6,255,217,155,233,248,7,255,41,163,233,255,139,93,252,252,201, 542 244,253,248,6,255,217,155,233,248,7,255,41,163,233,255,139,93,252,252,201,
542 195,255,248,163,255,249,255,129,124,253,202,4,239,15,133,244,253,129,124, 543 195,255,248,164,255,249,255,129,124,253,202,4,239,15,133,244,253,129,124,
543 253,194,4,239,15,133,244,254,139,44,202,131,198,4,59,44,194,255,15,141,244, 544 253,194,4,239,15,133,244,254,139,44,202,131,198,4,59,44,194,255,15,141,244,
544 255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255,248,6,15, 545 255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255,248,6,15,
545 183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182,232,131, 546 183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182,232,131,
546 198,4,193,232,16,252,255,36,171,248,7,15,135,244,42,129,124,253,194,4,239, 547 198,4,193,232,16,252,255,36,171,248,7,15,135,244,43,129,124,253,194,4,239,
547 15,130,244,247,15,133,244,42,255,252,242,15,42,4,194,252,233,244,248,255, 548 15,130,244,247,15,133,244,43,255,252,242,15,42,4,194,252,233,244,248,255,
548 221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,42,255,252,242,15, 549 221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,43,255,252,242,15,
549 42,12,202,252,242,15,16,4,194,131,198,4,102,15,46,193,255,15,134,244,9,255, 550 42,12,202,252,242,15,16,4,194,131,198,4,102,15,46,193,255,15,134,244,9,255,
550 15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255,219, 551 15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255,219,
551 4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,42,129,124,253, 552 4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,43,129,124,253,
552 194,4,239,15,131,244,42,255,248,1,252,242,15,16,4,194,248,2,131,198,4,102, 553 194,4,239,15,131,244,43,255,248,1,252,242,15,16,4,194,248,2,131,198,4,102,
553 15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4,255, 554 15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4,255,
554 15,134,244,247,255,15,135,244,247,255,15,130,244,247,255,15,131,244,247,255, 555 15,134,244,247,255,15,135,244,247,255,15,130,244,247,255,15,131,244,247,255,
555 15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131, 556 15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,
@@ -565,12 +566,12 @@ static const unsigned char build_actionlist[16947] = {
565 255,248,1,221,4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248, 566 255,248,1,221,4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,
566 255,15,138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253, 567 255,15,138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,
567 134,233,248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252, 568 134,233,248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252,
568 233,244,9,255,248,5,255,129,252,253,239,15,132,244,47,129,124,253,202,4,239, 569 233,244,9,255,248,5,255,129,252,253,239,15,132,244,48,129,124,253,202,4,239,
569 15,132,244,47,255,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1, 570 15,132,244,48,255,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,
570 139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139, 571 139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,
571 169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49, 572 169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,
572 252,237,255,189,1,0,0,0,255,252,233,244,46,255,248,3,129,252,253,239,255, 573 252,237,255,189,1,0,0,0,255,252,233,244,47,255,248,3,129,252,253,239,255,
573 15,133,244,9,255,252,233,244,47,255,252,247,208,139,108,202,4,131,198,4,129, 574 15,133,244,9,255,252,233,244,48,255,252,247,208,139,108,202,4,131,198,4,129,
574 252,253,239,15,133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198, 575 252,253,239,15,133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,
575 4,255,129,252,253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,254, 576 4,255,129,252,253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,254,
576 139,44,199,59,44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139, 577 139,44,199,59,44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139,
@@ -582,7 +583,7 @@ static const unsigned char build_actionlist[16947] = {
582 4,202,248,4,255,252,247,208,139,108,202,4,131,198,4,57,197,255,15,133,244, 583 4,202,248,4,255,252,247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,
583 249,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232, 584 249,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,
584 131,198,4,193,232,16,252,255,36,171,248,3,129,252,253,239,15,133,244,2,252, 585 131,198,4,193,232,16,252,255,36,171,248,3,129,252,253,239,15,133,244,2,252,
585 233,244,47,255,15,132,244,248,129,252,253,239,15,132,244,47,15,183,70,252, 586 233,244,48,255,15,132,244,248,129,252,253,239,15,132,244,48,15,183,70,252,
586 254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232, 587 254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,
587 16,252,255,36,171,255,139,108,194,4,131,198,4,129,252,253,239,255,137,108, 588 16,252,255,36,171,255,139,108,194,4,131,198,4,129,252,253,239,255,137,108,
588 202,4,139,44,194,137,44,202,255,139,108,194,4,139,4,194,137,108,202,4,137, 589 202,4,139,44,194,137,44,202,255,139,108,194,4,139,4,194,137,108,202,4,137,
@@ -592,39 +593,39 @@ static const unsigned char build_actionlist[16947] = {
592 15,133,244,251,139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,137, 593 15,133,244,251,139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,137,
593 44,202,248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 594 44,202,248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
594 171,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15, 595 171,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,
595 135,244,52,255,129,124,253,194,4,239,15,131,244,52,255,252,242,15,16,4,194, 596 135,244,53,255,129,124,253,194,4,239,15,131,244,53,255,252,242,15,16,4,194,
596 184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,242,15,17,4, 597 184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,242,15,17,4,
597 202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244, 598 202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244,
598 248,139,4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255,15,87, 599 248,139,4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255,15,87,
599 192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1, 600 192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,
600 221,28,202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 601 221,28,202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
601 171,248,2,129,124,253,194,4,239,15,133,244,55,139,12,194,137,213,232,251, 602 171,248,2,129,124,253,194,4,239,15,133,244,56,139,12,194,137,213,232,251,
602 1,20,255,252,242,15,42,192,255,137,4,36,219,4,36,255,137,252,234,15,182,78, 603 1,20,255,252,242,15,42,192,255,137,4,36,219,4,36,255,137,252,234,15,182,78,
603 252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234, 604 252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,
604 4,239,15,133,244,49,129,124,253,199,4,239,15,133,244,49,139,44,252,234,3, 605 4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,44,252,234,3,
605 44,199,15,128,244,48,255,129,124,253,252,234,4,239,15,133,244,51,129,124, 606 44,199,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,52,129,124,
606 253,199,4,239,15,133,244,51,139,4,199,3,4,252,234,15,128,244,50,255,129,124, 607 253,199,4,239,15,133,244,52,139,4,199,3,4,252,234,15,128,244,51,255,129,124,
607 253,252,234,4,239,15,133,244,54,129,124,253,194,4,239,15,133,244,54,139,44, 608 253,252,234,4,239,15,133,244,55,129,124,253,194,4,239,15,133,244,55,139,44,
608 252,234,3,44,194,15,128,244,53,255,199,68,202,4,237,255,129,124,253,252,234, 609 252,234,3,44,194,15,128,244,54,255,199,68,202,4,237,255,129,124,253,252,234,
609 4,239,15,131,244,49,255,129,124,253,199,4,239,15,131,244,49,255,252,242,15, 610 4,239,15,131,244,50,255,129,124,253,199,4,239,15,131,244,50,255,252,242,15,
610 16,4,252,234,252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124, 611 16,4,252,234,252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,
611 253,252,234,4,239,15,131,244,51,255,129,124,253,199,4,239,15,131,244,51,255, 612 253,252,234,4,239,15,131,244,52,255,129,124,253,199,4,239,15,131,244,52,255,
612 252,242,15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255, 613 252,242,15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,
613 129,124,253,252,234,4,239,15,131,244,54,129,124,253,194,4,239,15,131,244, 614 129,124,253,252,234,4,239,15,131,244,55,129,124,253,194,4,239,15,131,244,
614 54,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220, 615 55,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,
615 4,194,255,129,124,253,252,234,4,239,15,133,244,49,129,124,253,199,4,239,15, 616 4,194,255,129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,
616 133,244,49,139,44,252,234,43,44,199,15,128,244,48,255,129,124,253,252,234, 617 133,244,50,139,44,252,234,43,44,199,15,128,244,49,255,129,124,253,252,234,
617 4,239,15,133,244,51,129,124,253,199,4,239,15,133,244,51,139,4,199,43,4,252, 618 4,239,15,133,244,52,129,124,253,199,4,239,15,133,244,52,139,4,199,43,4,252,
618 234,15,128,244,50,255,129,124,253,252,234,4,239,15,133,244,54,129,124,253, 619 234,15,128,244,51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,253,
619 194,4,239,15,133,244,54,139,44,252,234,43,44,194,15,128,244,53,255,252,242, 620 194,4,239,15,133,244,55,139,44,252,234,43,44,194,15,128,244,54,255,252,242,
620 15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,252, 621 15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,252,
621 242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,255, 622 242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,255,
622 252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,194, 623 252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,194,
623 255,129,124,253,252,234,4,239,15,133,244,49,129,124,253,199,4,239,15,133, 624 255,129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,
624 244,49,139,44,252,234,15,175,44,199,15,128,244,48,255,129,124,253,252,234, 625 244,50,139,44,252,234,15,175,44,199,15,128,244,49,255,129,124,253,252,234,
625 4,239,15,133,244,51,129,124,253,199,4,239,15,133,244,51,139,4,199,15,175, 626 4,239,15,133,244,52,129,124,253,199,4,239,15,133,244,52,139,4,199,15,175,
626 4,252,234,15,128,244,50,255,129,124,253,252,234,4,239,15,133,244,54,129,124, 627 4,252,234,15,128,244,51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,
627 253,194,4,239,15,133,244,54,139,44,252,234,15,175,44,194,15,128,244,53,255, 628 253,194,4,239,15,133,244,55,139,44,252,234,15,175,44,194,15,128,244,54,255,
628 252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199, 629 252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199,
629 255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252, 630 255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252,
630 234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220, 631 234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,
@@ -634,10 +635,10 @@ static const unsigned char build_actionlist[16947] = {
634 252,234,220,52,194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221, 635 252,234,220,52,194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221,
635 4,252,234,221,4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255, 636 4,252,234,221,4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255,
636 221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194, 637 221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,
637 255,221,4,252,234,221,4,194,255,248,164,232,244,154,255,252,233,244,164,255, 638 255,221,4,252,234,221,4,194,255,248,165,232,244,155,255,252,233,244,165,255,
638 232,244,114,255,15,182,252,236,15,182,192,141,12,194,41,232,137,76,36,4,137, 639 232,244,115,255,15,182,252,236,15,182,192,141,12,194,41,232,137,76,36,4,137,
639 68,36,8,248,34,139,108,36,48,137,44,36,137,149,233,137,116,36,24,232,251, 640 68,36,8,248,35,139,108,36,48,137,44,36,137,149,233,137,116,36,24,232,251,
640 1,27,139,149,233,133,192,15,133,244,43,15,182,110,252,255,15,182,78,252,253, 641 1,27,139,149,233,133,192,15,133,244,44,15,182,110,252,255,15,182,78,252,253,
641 139,68,252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,15,182,204, 642 139,68,252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,15,182,204,
642 15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,4,135, 643 15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,4,135,
643 199,68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232, 644 199,68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,
@@ -679,57 +680,57 @@ static const unsigned char build_actionlist[16947] = {
679 78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198, 680 78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,
680 4,193,232,16,252,255,36,171,248,3,137,252,233,232,251,1,32,15,183,70,252, 681 4,193,232,16,252,255,36,171,248,3,137,252,233,232,251,1,32,15,183,70,252,
681 254,252,247,208,252,233,244,2,255,252,247,208,139,106,252,248,139,173,233, 682 254,252,247,208,252,233,244,2,255,252,247,208,139,106,252,248,139,173,233,
682 139,4,135,252,233,244,165,255,252,247,208,139,106,252,248,139,173,233,139, 683 139,4,135,252,233,244,166,255,252,247,208,139,106,252,248,139,173,233,139,
683 4,135,252,233,244,166,255,15,182,252,236,15,182,192,129,124,253,252,234,4, 684 4,135,252,233,244,167,255,15,182,252,236,15,182,192,129,124,253,252,234,4,
684 239,15,133,244,37,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251, 685 239,15,133,244,38,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251,
685 139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194, 686 139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194,
686 252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,221,4,194,219,20,36, 687 252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,221,4,194,219,20,36,
687 219,4,36,255,15,133,244,37,255,59,133,233,15,131,244,37,193,224,3,3,133,233, 688 219,4,36,255,15,133,244,38,255,59,133,233,15,131,244,38,193,224,3,3,133,233,
688 129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4, 689 129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4,
689 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, 690 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
690 2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244, 691 2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244,
691 37,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,248,5,255,129,124, 692 38,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,248,5,255,129,124,
692 253,194,4,239,15,133,244,37,139,4,194,252,233,244,165,255,15,182,252,236, 693 253,194,4,239,15,133,244,38,139,4,194,252,233,244,166,255,15,182,252,236,
693 15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,35, 694 15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,36,
694 139,44,252,234,248,165,139,141,233,35,136,233,105,201,239,3,141,233,248,1, 695 139,44,252,234,248,166,139,141,233,35,136,233,105,201,239,3,141,233,248,1,
695 129,185,233,239,15,133,244,250,57,129,233,15,133,244,250,129,121,253,4,239, 696 129,185,233,239,15,133,244,250,57,129,233,15,133,244,250,129,121,253,4,239,
696 15,132,244,251,15,182,70,252,253,139,41,139,73,4,137,44,194,137,76,194,4, 697 15,132,244,251,15,182,70,252,253,139,41,139,73,4,137,44,194,137,76,194,4,
697 248,2,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171, 698 248,2,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,
698 248,3,15,182,70,252,253,199,68,194,4,237,252,233,244,2,248,4,139,137,233, 699 248,3,15,182,70,252,253,199,68,194,4,237,252,233,244,2,248,4,139,137,233,
699 133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,233, 700 133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,233,
700 235,15,133,244,3,252,233,244,35,255,15,182,252,236,15,182,192,129,124,253, 701 235,15,133,244,3,252,233,244,36,255,15,182,252,236,15,182,192,129,124,253,
701 252,234,4,239,15,133,244,36,139,44,252,234,59,133,233,15,131,244,36,193,224, 702 252,234,4,239,15,133,244,37,139,44,252,234,59,133,233,15,131,244,37,193,224,
702 3,3,133,233,129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137, 703 3,3,133,233,129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137,
703 68,202,4,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 704 68,202,4,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
704 171,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15, 705 171,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,
705 132,244,36,255,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,255, 706 132,244,37,255,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,255,
706 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,40,139,44, 707 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,41,139,44,
707 252,234,255,15,133,244,40,255,59,133,233,15,131,244,40,193,224,3,3,133,233, 708 252,234,255,15,133,244,41,255,59,133,233,15,131,244,41,193,224,3,3,133,233,
708 129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253, 709 129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,
709 248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232, 710 248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,
710 131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139, 711 131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139,
711 141,233,252,246,129,233,235,255,15,132,244,40,15,182,78,252,253,252,233,244, 712 141,233,252,246,129,233,235,255,15,132,244,41,15,182,78,252,253,252,233,244,
712 1,248,5,129,124,253,194,4,239,15,133,244,40,139,4,194,252,233,244,166,248, 713 1,248,5,129,124,253,194,4,239,15,133,244,41,139,4,194,252,233,244,167,248,
713 7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252, 714 7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252,
714 233,244,2,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,253, 715 233,244,2,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,253,
715 252,234,4,239,15,133,244,38,139,44,252,234,248,166,139,141,233,35,136,233, 716 252,234,4,239,15,133,244,39,139,44,252,234,248,167,139,141,233,35,136,233,
716 105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251, 717 105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,
717 57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,252, 718 57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,
718 246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194,4,139, 719 246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194,4,139,
719 4,194,137,105,4,137,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 720 4,194,137,105,4,137,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
720 255,36,171,248,4,131,189,233,0,15,132,244,2,137,76,36,16,139,141,233,252, 721 255,36,171,248,4,131,189,233,0,15,132,244,2,137,76,36,16,139,141,233,252,
721 246,129,233,235,15,132,244,38,139,76,36,16,252,233,244,2,248,5,139,137,233, 722 246,129,233,235,15,132,244,39,139,76,36,16,252,233,244,2,248,5,139,137,233,
722 133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,233, 723 133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,233,
723 235,15,132,244,38,248,6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68, 724 235,15,132,244,39,248,6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68,
724 36,16,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116, 725 36,16,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,
725 36,24,232,251,1,34,139,149,233,139,108,36,12,137,193,252,233,244,2,248,7, 726 36,24,232,251,1,34,139,149,233,139,108,36,12,137,193,252,233,244,2,248,7,
726 128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,255,15, 727 128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,255,15,
727 182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,44,252, 728 182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,40,139,44,252,
728 234,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132, 729 234,59,133,233,15,131,244,40,193,224,3,3,133,233,129,120,253,4,239,15,132,
729 244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139, 730 244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,
730 12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 731 12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
731 255,36,171,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233, 732 255,36,171,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,
732 235,15,132,244,39,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139, 733 235,15,132,244,40,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,
733 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124, 734 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,
734 36,16,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15, 735 36,16,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,
735 133,244,253,248,2,139,68,36,20,131,232,1,15,132,244,250,1,252,248,59,133, 736 133,244,253,248,2,139,68,36,20,131,232,1,15,132,244,250,1,252,248,59,133,
@@ -739,10 +740,10 @@ static const unsigned char build_actionlist[16947] = {
739 5,137,108,36,4,139,108,36,48,137,149,233,137,68,36,8,137,44,36,137,116,36, 740 5,137,108,36,4,139,108,36,48,137,149,233,137,68,36,8,137,44,36,137,116,36,
740 24,232,251,1,35,139,149,233,15,182,78,252,253,252,233,244,1,248,7,255,128, 741 24,232,251,1,35,139,149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,
741 165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,2,255,3,68,36, 742 165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,
742 20,255,129,124,253,202,4,239,139,44,202,15,133,244,56,141,84,202,8,137,114, 743 20,255,129,124,253,202,4,239,139,44,202,15,133,244,57,141,84,202,8,137,114,
743 252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36, 744 252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,
744 171,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133, 745 171,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,
745 244,29,248,57,139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106, 746 244,29,248,58,139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,
746 252,248,137,68,36,20,131,232,1,15,132,244,249,248,2,139,41,137,47,139,105, 747 252,248,137,68,36,20,131,232,1,15,132,244,249,248,2,139,41,137,47,139,105,
747 4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248, 748 4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248,
748 3,139,68,36,20,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182, 749 3,139,68,36,20,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,
@@ -790,20 +791,20 @@ static const unsigned char build_actionlist[16947] = {
790 204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,6,255,199,71,252,252, 791 204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,6,255,199,71,252,252,
791 237,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248, 792 237,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,
792 7,141,174,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255, 793 7,141,174,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255,
793 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,146, 794 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,147,
794 255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,129,121,253,12,239, 795 255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,129,121,253,12,239,
795 15,133,244,58,129,121,253,20,239,15,133,244,58,139,41,131,121,16,0,15,140, 796 15,133,244,59,129,121,253,20,239,15,133,244,59,139,41,131,121,16,0,15,140,
796 244,251,255,129,121,253,12,239,15,133,244,163,129,121,253,20,239,15,133,244, 797 244,251,255,129,121,253,12,239,15,133,244,164,129,121,253,20,239,15,133,244,
797 163,255,139,105,16,133,252,237,15,136,244,251,3,41,15,128,244,247,137,41, 798 164,255,139,105,16,133,252,237,15,136,244,251,3,41,15,128,244,247,137,41,
798 255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,253,248,1,248,6,141, 799 255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,253,248,1,248,6,141,
799 180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,142,245,248, 800 180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,142,245,248,
800 1,248,6,255,15,143,244,253,248,6,141,180,253,134,233,248,1,255,248,7,139, 801 1,248,6,255,15,143,244,253,248,6,141,180,253,134,233,248,1,255,248,7,139,
801 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,255,3,41, 802 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,255,3,41,
802 15,128,244,1,137,41,255,15,141,244,7,255,141,180,253,134,233,15,183,70,252, 803 15,128,244,1,137,41,255,15,141,244,7,255,141,180,253,134,233,15,183,70,252,
803 254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,9,255,129,121,253,4, 804 254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,9,255,129,121,253,4,
804 239,255,15,131,244,58,129,121,253,12,239,15,131,244,58,255,129,121,253,12, 805 239,255,15,131,244,59,129,121,253,12,239,15,131,244,59,255,129,121,253,12,
805 239,15,131,244,163,129,121,253,20,239,15,131,244,163,255,139,105,20,255,129, 806 239,15,131,244,164,129,121,253,20,239,15,131,244,164,255,139,105,20,255,129,
806 252,253,239,15,131,244,58,255,252,242,15,16,1,252,242,15,16,73,8,255,252, 807 252,253,239,15,131,244,59,255,252,242,15,16,1,252,242,15,16,73,8,255,252,
807 242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,15,140,244, 808 242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,15,140,244,
808 249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,220, 809 249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,220,
809 65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140,244, 810 65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140,244,
@@ -815,7 +816,7 @@ static const unsigned char build_actionlist[16947] = {
815 134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,139, 816 134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,139,
816 128,233,139,108,36,48,137,147,233,137,171,233,252,255,224,255,141,180,253, 817 128,233,139,108,36,48,137,147,233,137,171,233,252,255,224,255,141,180,253,
817 134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, 818 134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,
818 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,148, 819 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,149,
819 255,139,190,233,139,108,36,48,141,12,202,59,141,233,15,135,244,24,15,182, 820 255,139,190,233,139,108,36,48,141,12,202,59,141,233,15,135,244,24,15,182,
820 142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255, 821 142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,
821 248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2, 822 248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,
@@ -855,6 +856,7 @@ enum {
855 GLOB_vmeta_call, 856 GLOB_vmeta_call,
856 GLOB_vm_call_dispatch_f, 857 GLOB_vm_call_dispatch_f,
857 GLOB_vm_cpcall, 858 GLOB_vm_cpcall,
859 GLOB_vm_call_tail,
858 GLOB_cont_cat, 860 GLOB_cont_cat,
859 GLOB_cont_ra, 861 GLOB_cont_ra,
860 GLOB_BC_CAT_Z, 862 GLOB_BC_CAT_Z,
@@ -1015,6 +1017,7 @@ static const char *const globnames[] = {
1015 "vmeta_call", 1017 "vmeta_call",
1016 "vm_call_dispatch_f", 1018 "vm_call_dispatch_f",
1017 "vm_cpcall", 1019 "vm_cpcall",
1020 "vm_call_tail",
1018 "cont_cat", 1021 "cont_cat",
1019 "cont_ra", 1022 "cont_ra",
1020 "BC_CAT_Z", 1023 "BC_CAT_Z",
@@ -1219,766 +1222,767 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1219 dasm_put(Dst, 275, 1+1, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base)); 1222 dasm_put(Dst, 275, 1+1, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base));
1220 dasm_put(Dst, 353, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE); 1223 dasm_put(Dst, 353, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE);
1221 dasm_put(Dst, 495, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base)); 1224 dasm_put(Dst, 495, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base));
1222 dasm_put(Dst, 573, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, Dt7(->pc)); 1225 dasm_put(Dst, 573, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL);
1223 dasm_put(Dst, 754, PC2PROTO(k), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); 1226 dasm_put(Dst, 753, Dt7(->pc), PC2PROTO(k), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
1227 dasm_put(Dst, 875);
1224 if (LJ_DUALNUM) { 1228 if (LJ_DUALNUM) {
1225 dasm_put(Dst, 858, LJ_TISNUM); 1229 dasm_put(Dst, 881, LJ_TISNUM);
1226 } else if (sse) { 1230 } else if (sse) {
1227 dasm_put(Dst, 868); 1231 dasm_put(Dst, 891);
1228 } else { 1232 } else {
1229 dasm_put(Dst, 881); 1233 dasm_put(Dst, 904);
1230 } 1234 }
1231 dasm_put(Dst, 894, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); 1235 dasm_put(Dst, 917, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET);
1232 dasm_put(Dst, 1046, DISPATCH_GL(tmptv), LJ_TTAB); 1236 dasm_put(Dst, 1069, DISPATCH_GL(tmptv), LJ_TTAB);
1233 if (LJ_DUALNUM) { 1237 if (LJ_DUALNUM) {
1234 dasm_put(Dst, 858, LJ_TISNUM); 1238 dasm_put(Dst, 881, LJ_TISNUM);
1235 } else if (sse) { 1239 } else if (sse) {
1236 dasm_put(Dst, 868); 1240 dasm_put(Dst, 891);
1237 } else { 1241 } else {
1238 dasm_put(Dst, 881); 1242 dasm_put(Dst, 904);
1239 } 1243 }
1240 dasm_put(Dst, 1069, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); 1244 dasm_put(Dst, 1092, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base));
1241 dasm_put(Dst, 1263, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); 1245 dasm_put(Dst, 1286, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
1242 dasm_put(Dst, 1370); 1246 dasm_put(Dst, 1393);
1243#if LJ_HASFFI 1247#if LJ_HASFFI
1244 dasm_put(Dst, 1385, Dt1(->base)); 1248 dasm_put(Dst, 1408, Dt1(->base));
1245#endif 1249#endif
1246 dasm_put(Dst, 1416); 1250 dasm_put(Dst, 1439);
1247#if LJ_DUALNUM 1251#if LJ_DUALNUM
1248 dasm_put(Dst, 1419); 1252 dasm_put(Dst, 1442);
1249#endif 1253#endif
1250 dasm_put(Dst, 1425); 1254 dasm_put(Dst, 1448);
1251#if LJ_DUALNUM 1255#if LJ_DUALNUM
1252 dasm_put(Dst, 852); 1256 dasm_put(Dst, 875);
1253#endif 1257#endif
1254 dasm_put(Dst, 1437); 1258 dasm_put(Dst, 1460);
1255#if LJ_DUALNUM 1259#if LJ_DUALNUM
1256 dasm_put(Dst, 1419); 1260 dasm_put(Dst, 1442);
1257#endif 1261#endif
1258 dasm_put(Dst, 1465, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base)); 1262 dasm_put(Dst, 1488, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base));
1259 dasm_put(Dst, 1620, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); 1263 dasm_put(Dst, 1643, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND);
1260 dasm_put(Dst, 1797, 1+1, ~LJ_TNUMX); 1264 dasm_put(Dst, 1820, 1+1, ~LJ_TNUMX);
1261 if (cmov) { 1265 if (cmov) {
1262 dasm_put(Dst, 1826); 1266 dasm_put(Dst, 1849);
1263 } else { 1267 } else {
1264 dasm_put(Dst, 1830); 1268 dasm_put(Dst, 1853);
1265 } 1269 }
1266 dasm_put(Dst, 1839, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB); 1270 dasm_put(Dst, 1862, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB);
1267 dasm_put(Dst, 1922, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL); 1271 dasm_put(Dst, 1945, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL);
1268 dasm_put(Dst, 1980, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1); 1272 dasm_put(Dst, 2003, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1);
1269 dasm_put(Dst, 2043, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1273 dasm_put(Dst, 2066, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1270 dasm_put(Dst, 2115, 2+1, LJ_TTAB, 1+1, LJ_TISNUM); 1274 dasm_put(Dst, 2138, 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
1271 if (LJ_DUALNUM) { 1275 if (LJ_DUALNUM) {
1272 dasm_put(Dst, 2204); 1276 dasm_put(Dst, 2227);
1273 } else { 1277 } else {
1274 dasm_put(Dst, 2221); 1278 dasm_put(Dst, 2244);
1275 } 1279 }
1276 if (sse) { 1280 if (sse) {
1277 dasm_put(Dst, 2226); 1281 dasm_put(Dst, 2249);
1278 } else { 1282 } else {
1279 dasm_put(Dst, 2236); 1283 dasm_put(Dst, 2259);
1280 } 1284 }
1281 dasm_put(Dst, 2243, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1285 dasm_put(Dst, 2266, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1282 dasm_put(Dst, 2309, Dt1(->base)); 1286 dasm_put(Dst, 2332, Dt1(->base));
1283 if (LJ_DUALNUM) { 1287 if (LJ_DUALNUM) {
1284 dasm_put(Dst, 2333); 1288 dasm_put(Dst, 2356);
1285 } else { 1289 } else {
1286 dasm_put(Dst, 2338); 1290 dasm_put(Dst, 2361);
1287 } 1291 }
1288 dasm_put(Dst, 2343, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); 1292 dasm_put(Dst, 2366, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
1289 dasm_put(Dst, 2452, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); 1293 dasm_put(Dst, 2475, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1290#ifdef LUAJIT_ENABLE_LUA52COMPAT 1294#ifdef LUAJIT_ENABLE_LUA52COMPAT
1291 dasm_put(Dst, 2499, Dt6(->metatable)); 1295 dasm_put(Dst, 2522, Dt6(->metatable));
1292#endif 1296#endif
1293 dasm_put(Dst, 2508, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1297 dasm_put(Dst, 2531, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1294 if (LJ_DUALNUM) { 1298 if (LJ_DUALNUM) {
1295 dasm_put(Dst, 2494); 1299 dasm_put(Dst, 2517);
1296 } else { 1300 } else {
1297 dasm_put(Dst, 2221); 1301 dasm_put(Dst, 2244);
1298 } 1302 }
1299 dasm_put(Dst, 2563); 1303 dasm_put(Dst, 2586);
1300 if (LJ_DUALNUM) { 1304 if (LJ_DUALNUM) {
1301 dasm_put(Dst, 2568, LJ_TISNUM); 1305 dasm_put(Dst, 2591, LJ_TISNUM);
1302 } else if (sse) { 1306 } else if (sse) {
1303 dasm_put(Dst, 2584); 1307 dasm_put(Dst, 2607);
1304 } else { 1308 } else {
1305 dasm_put(Dst, 2623); 1309 dasm_put(Dst, 2646);
1306 } 1310 }
1307 dasm_put(Dst, 2641, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1311 dasm_put(Dst, 2664, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1308 dasm_put(Dst, 2479, 1+1, LJ_TTAB); 1312 dasm_put(Dst, 2502, 1+1, LJ_TTAB);
1309#ifdef LUAJIT_ENABLE_LUA52COMPAT 1313#ifdef LUAJIT_ENABLE_LUA52COMPAT
1310 dasm_put(Dst, 2499, Dt6(->metatable)); 1314 dasm_put(Dst, 2522, Dt6(->metatable));
1311#endif 1315#endif
1312 dasm_put(Dst, 2722, Dt8(->upvalue[0]), LJ_TFUNC); 1316 dasm_put(Dst, 2745, Dt8(->upvalue[0]), LJ_TFUNC);
1313 if (LJ_DUALNUM) { 1317 if (LJ_DUALNUM) {
1314 dasm_put(Dst, 2743, LJ_TISNUM); 1318 dasm_put(Dst, 2766, LJ_TISNUM);
1315 } else if (sse) { 1319 } else if (sse) {
1316 dasm_put(Dst, 2755); 1320 dasm_put(Dst, 2778);
1317 } else { 1321 } else {
1318 dasm_put(Dst, 2765); 1322 dasm_put(Dst, 2788);
1319 } 1323 }
1320 dasm_put(Dst, 2772, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); 1324 dasm_put(Dst, 2795, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1321 dasm_put(Dst, 2836, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); 1325 dasm_put(Dst, 2859, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1322 dasm_put(Dst, 2924, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1326 dasm_put(Dst, 2947, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1323 dasm_put(Dst, 3025, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1327 dasm_put(Dst, 3048, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1324 dasm_put(Dst, 3139, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1328 dasm_put(Dst, 3162, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1325 dasm_put(Dst, 3237, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1329 dasm_put(Dst, 3260, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1326 dasm_put(Dst, 3303, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1330 dasm_put(Dst, 3326, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1327 dasm_put(Dst, 3404, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1331 dasm_put(Dst, 3427, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1328 dasm_put(Dst, 3517, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1332 dasm_put(Dst, 3540, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1329 if (!LJ_DUALNUM) { 1333 if (!LJ_DUALNUM) {
1330 dasm_put(Dst, 3543); 1334 dasm_put(Dst, 3566);
1331 } 1335 }
1332 if (sse) { 1336 if (sse) {
1333 dasm_put(Dst, 3546); 1337 dasm_put(Dst, 3569);
1334 } 1338 }
1335 dasm_put(Dst, 3561, 1+1); 1339 dasm_put(Dst, 3584, 1+1);
1336 if (LJ_DUALNUM) { 1340 if (LJ_DUALNUM) {
1337 dasm_put(Dst, 3572, LJ_TISNUM, LJ_TISNUM); 1341 dasm_put(Dst, 3595, LJ_TISNUM, LJ_TISNUM);
1338 } else { 1342 } else {
1339 dasm_put(Dst, 3652, LJ_TISNUM); 1343 dasm_put(Dst, 3675, LJ_TISNUM);
1340 } 1344 }
1341 if (sse) { 1345 if (sse) {
1342 dasm_put(Dst, 3662); 1346 dasm_put(Dst, 3685);
1343 } else { 1347 } else {
1344 dasm_put(Dst, 3698); 1348 dasm_put(Dst, 3721);
1345 } 1349 }
1346 dasm_put(Dst, 3715, 1+1, FRAME_TYPE, LJ_TNIL); 1350 dasm_put(Dst, 3738, 1+1, FRAME_TYPE, LJ_TNIL);
1347 if (LJ_DUALNUM) { 1351 if (LJ_DUALNUM) {
1348 dasm_put(Dst, 3807, LJ_TISNUM); 1352 dasm_put(Dst, 3830, LJ_TISNUM);
1349 } else { 1353 } else {
1350 dasm_put(Dst, 3652, LJ_TISNUM); 1354 dasm_put(Dst, 3675, LJ_TISNUM);
1351 } 1355 }
1352 if (sse) { 1356 if (sse) {
1353 dasm_put(Dst, 3829); 1357 dasm_put(Dst, 3852);
1354 if (LJ_DUALNUM) { 1358 if (LJ_DUALNUM) {
1355 dasm_put(Dst, 3838); 1359 dasm_put(Dst, 3861);
1356 } 1360 }
1357 dasm_put(Dst, 2231); 1361 dasm_put(Dst, 2254);
1358 } else { 1362 } else {
1359 dasm_put(Dst, 3872); 1363 dasm_put(Dst, 3895);
1360 if (LJ_DUALNUM) { 1364 if (LJ_DUALNUM) {
1361 dasm_put(Dst, 3878);
1362 if (cmov) {
1363 dasm_put(Dst, 3901); 1365 dasm_put(Dst, 3901);
1366 if (cmov) {
1367 dasm_put(Dst, 3924);
1364 } else { 1368 } else {
1365 dasm_put(Dst, 3907); 1369 dasm_put(Dst, 3930);
1366 } 1370 }
1367 dasm_put(Dst, 3914); 1371 dasm_put(Dst, 3937);
1368 } else { 1372 } else {
1369 dasm_put(Dst, 2238); 1373 dasm_put(Dst, 2261);
1370 } 1374 }
1371 } 1375 }
1372 dasm_put(Dst, 3931); 1376 dasm_put(Dst, 3954);
1373 if (LJ_DUALNUM) { 1377 if (LJ_DUALNUM) {
1374 dasm_put(Dst, 3807, LJ_TISNUM); 1378 dasm_put(Dst, 3830, LJ_TISNUM);
1375 } else { 1379 } else {
1376 dasm_put(Dst, 3652, LJ_TISNUM); 1380 dasm_put(Dst, 3675, LJ_TISNUM);
1377 } 1381 }
1378 if (sse) { 1382 if (sse) {
1379 dasm_put(Dst, 3934); 1383 dasm_put(Dst, 3957);
1380 if (LJ_DUALNUM) { 1384 if (LJ_DUALNUM) {
1381 dasm_put(Dst, 3838); 1385 dasm_put(Dst, 3861);
1382 } 1386 }
1383 dasm_put(Dst, 2231); 1387 dasm_put(Dst, 2254);
1384 } else { 1388 } else {
1385 dasm_put(Dst, 3943); 1389 dasm_put(Dst, 3966);
1386 if (LJ_DUALNUM) { 1390 if (LJ_DUALNUM) {
1387 dasm_put(Dst, 3878);
1388 if (cmov) {
1389 dasm_put(Dst, 3901); 1391 dasm_put(Dst, 3901);
1392 if (cmov) {
1393 dasm_put(Dst, 3924);
1390 } else { 1394 } else {
1391 dasm_put(Dst, 3907); 1395 dasm_put(Dst, 3930);
1392 } 1396 }
1393 dasm_put(Dst, 3914); 1397 dasm_put(Dst, 3937);
1394 } else { 1398 } else {
1395 dasm_put(Dst, 2238); 1399 dasm_put(Dst, 2261);
1396 } 1400 }
1397 } 1401 }
1398 if (sse) { 1402 if (sse) {
1399 dasm_put(Dst, 3949, 1+1, LJ_TISNUM); 1403 dasm_put(Dst, 3972, 1+1, LJ_TISNUM);
1400 } else { 1404 } else {
1401 dasm_put(Dst, 3978, 1+1, LJ_TISNUM); 1405 dasm_put(Dst, 4001, 1+1, LJ_TISNUM);
1402 } 1406 }
1403 dasm_put(Dst, 4007, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1407 dasm_put(Dst, 4030, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1404 dasm_put(Dst, 4076, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1408 dasm_put(Dst, 4099, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1405 dasm_put(Dst, 4133, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1409 dasm_put(Dst, 4156, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1406 dasm_put(Dst, 4196, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1410 dasm_put(Dst, 4219, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1407 dasm_put(Dst, 4286); 1411 dasm_put(Dst, 4309);
1408 if (sse) { 1412 if (sse) {
1409 dasm_put(Dst, 4298, 1+1, LJ_TISNUM); 1413 dasm_put(Dst, 4321, 1+1, LJ_TISNUM);
1410 } else { 1414 } else {
1411 dasm_put(Dst, 4329, 1+1, LJ_TISNUM); 1415 dasm_put(Dst, 4352, 1+1, LJ_TISNUM);
1412 } 1416 }
1413 dasm_put(Dst, 4354); 1417 dasm_put(Dst, 4377);
1414 if (sse) { 1418 if (sse) {
1415 dasm_put(Dst, 4368, 1+1, LJ_TISNUM); 1419 dasm_put(Dst, 4391, 1+1, LJ_TISNUM);
1416 } else { 1420 } else {
1417 dasm_put(Dst, 4399, 1+1, LJ_TISNUM); 1421 dasm_put(Dst, 4422, 1+1, LJ_TISNUM);
1418 } 1422 }
1419 dasm_put(Dst, 4424); 1423 dasm_put(Dst, 4447);
1420 if (sse) { 1424 if (sse) {
1421 dasm_put(Dst, 4438, 1+1, LJ_TISNUM); 1425 dasm_put(Dst, 4461, 1+1, LJ_TISNUM);
1422 } else { 1426 } else {
1423 dasm_put(Dst, 4469, 1+1, LJ_TISNUM); 1427 dasm_put(Dst, 4492, 1+1, LJ_TISNUM);
1424 } 1428 }
1425 dasm_put(Dst, 4494); 1429 dasm_put(Dst, 4517);
1426 if (sse) { 1430 if (sse) {
1427 dasm_put(Dst, 4510, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1431 dasm_put(Dst, 4533, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1428 } else { 1432 } else {
1429 dasm_put(Dst, 4549, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1433 dasm_put(Dst, 4572, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1430 } 1434 }
1431 dasm_put(Dst, 4582, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1435 dasm_put(Dst, 4605, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1432 dasm_put(Dst, 4647, 1+1, LJ_TISNUM); 1436 dasm_put(Dst, 4670, 1+1, LJ_TISNUM);
1433 if (sse) { 1437 if (sse) {
1434 dasm_put(Dst, 4746); 1438 dasm_put(Dst, 4769);
1435 } else { 1439 } else {
1436 dasm_put(Dst, 4752); 1440 dasm_put(Dst, 4775);
1437 } 1441 }
1438 dasm_put(Dst, 4761); 1442 dasm_put(Dst, 4784);
1439 if (sse) { 1443 if (sse) {
1440 dasm_put(Dst, 4786); 1444 dasm_put(Dst, 4809);
1441 } else { 1445 } else {
1442 dasm_put(Dst, 4792); 1446 dasm_put(Dst, 4815);
1443 } 1447 }
1444 dasm_put(Dst, 4795, 1+2); 1448 dasm_put(Dst, 4818, 1+2);
1445 if (sse) { 1449 if (sse) {
1446 dasm_put(Dst, 4804); 1450 dasm_put(Dst, 4827);
1447 } else { 1451 } else {
1448 dasm_put(Dst, 4812); 1452 dasm_put(Dst, 4835);
1449 } 1453 }
1450 dasm_put(Dst, 4820); 1454 dasm_put(Dst, 4843);
1451 if (sse) { 1455 if (sse) {
1452 dasm_put(Dst, 4823); 1456 dasm_put(Dst, 4846);
1453 } else { 1457 } else {
1454 dasm_put(Dst, 4855); 1458 dasm_put(Dst, 4878);
1455 } 1459 }
1456 dasm_put(Dst, 4874); 1460 dasm_put(Dst, 4897);
1457 if (sse) { 1461 if (sse) {
1458 dasm_put(Dst, 4890, 1+1, LJ_TISNUM); 1462 dasm_put(Dst, 4913, 1+1, LJ_TISNUM);
1459 } else { 1463 } else {
1460 dasm_put(Dst, 4915, 1+1, LJ_TISNUM); 1464 dasm_put(Dst, 4938, 1+1, LJ_TISNUM);
1461 } 1465 }
1462 dasm_put(Dst, 4937); 1466 dasm_put(Dst, 4960);
1463 if (sse) { 1467 if (sse) {
1464 dasm_put(Dst, 4959); 1468 dasm_put(Dst, 4982);
1465 } else { 1469 } else {
1466 dasm_put(Dst, 4985); 1470 dasm_put(Dst, 5008);
1467 } 1471 }
1468 dasm_put(Dst, 5002, 1+2); 1472 dasm_put(Dst, 5025, 1+2);
1469 if (sse) { 1473 if (sse) {
1470 dasm_put(Dst, 5042); 1474 dasm_put(Dst, 5065);
1471 } else { 1475 } else {
1472 dasm_put(Dst, 5050); 1476 dasm_put(Dst, 5073);
1473 } 1477 }
1474 dasm_put(Dst, 5060, 2+1, LJ_TISNUM, LJ_TISNUM); 1478 dasm_put(Dst, 5083, 2+1, LJ_TISNUM, LJ_TISNUM);
1475 if (sse) { 1479 if (sse) {
1476 dasm_put(Dst, 5112, 2+1, LJ_TISNUM, LJ_TISNUM); 1480 dasm_put(Dst, 5135, 2+1, LJ_TISNUM, LJ_TISNUM);
1477 } else { 1481 } else {
1478 dasm_put(Dst, 5159, 2+1, LJ_TISNUM, LJ_TISNUM); 1482 dasm_put(Dst, 5182, 2+1, LJ_TISNUM, LJ_TISNUM);
1479 } 1483 }
1480 dasm_put(Dst, 5200, LJ_TISNUM); 1484 dasm_put(Dst, 5223, LJ_TISNUM);
1481 if (LJ_DUALNUM) { 1485 if (LJ_DUALNUM) {
1482 dasm_put(Dst, 5213, LJ_TISNUM); 1486 dasm_put(Dst, 5236, LJ_TISNUM);
1483 if (sse) { 1487 if (sse) {
1484 dasm_put(Dst, 4746); 1488 dasm_put(Dst, 4769);
1485 } else { 1489 } else {
1486 dasm_put(Dst, 4752); 1490 dasm_put(Dst, 4775);
1487 } 1491 }
1488 dasm_put(Dst, 5263); 1492 dasm_put(Dst, 5286);
1489 } else { 1493 } else {
1490 dasm_put(Dst, 2221); 1494 dasm_put(Dst, 2244);
1491 } 1495 }
1492 if (sse) { 1496 if (sse) {
1493 dasm_put(Dst, 5274, LJ_TISNUM); 1497 dasm_put(Dst, 5297, LJ_TISNUM);
1494 if (LJ_DUALNUM) { 1498 if (LJ_DUALNUM) {
1495 dasm_put(Dst, 5295); 1499 dasm_put(Dst, 5318);
1496 } else { 1500 } else {
1497 dasm_put(Dst, 2221); 1501 dasm_put(Dst, 2244);
1498 } 1502 }
1499 dasm_put(Dst, 5316); 1503 dasm_put(Dst, 5339);
1500 } else { 1504 } else {
1501 dasm_put(Dst, 5341, LJ_TISNUM); 1505 dasm_put(Dst, 5364, LJ_TISNUM);
1502 if (LJ_DUALNUM) { 1506 if (LJ_DUALNUM) {
1503 dasm_put(Dst, 5359); 1507 dasm_put(Dst, 5382);
1504 } else { 1508 } else {
1505 dasm_put(Dst, 5377); 1509 dasm_put(Dst, 5400);
1506 } 1510 }
1507 dasm_put(Dst, 5382); 1511 dasm_put(Dst, 5405);
1508 if (cmov) { 1512 if (cmov) {
1509 dasm_put(Dst, 5392); 1513 dasm_put(Dst, 5415);
1510 } else { 1514 } else {
1511 dasm_put(Dst, 5400); 1515 dasm_put(Dst, 5423);
1512 } 1516 }
1513 dasm_put(Dst, 5333); 1517 dasm_put(Dst, 5356);
1514 } 1518 }
1515 dasm_put(Dst, 5421, LJ_TISNUM); 1519 dasm_put(Dst, 5444, LJ_TISNUM);
1516 if (LJ_DUALNUM) { 1520 if (LJ_DUALNUM) {
1517 dasm_put(Dst, 5434, LJ_TISNUM); 1521 dasm_put(Dst, 5457, LJ_TISNUM);
1518 if (sse) { 1522 if (sse) {
1519 dasm_put(Dst, 4746); 1523 dasm_put(Dst, 4769);
1520 } else { 1524 } else {
1521 dasm_put(Dst, 4752); 1525 dasm_put(Dst, 4775);
1522 } 1526 }
1523 dasm_put(Dst, 5263); 1527 dasm_put(Dst, 5286);
1524 } else { 1528 } else {
1525 dasm_put(Dst, 2221); 1529 dasm_put(Dst, 2244);
1526 } 1530 }
1527 if (sse) { 1531 if (sse) {
1528 dasm_put(Dst, 5274, LJ_TISNUM); 1532 dasm_put(Dst, 5297, LJ_TISNUM);
1529 if (LJ_DUALNUM) { 1533 if (LJ_DUALNUM) {
1530 dasm_put(Dst, 5295); 1534 dasm_put(Dst, 5318);
1531 } else { 1535 } else {
1532 dasm_put(Dst, 2221); 1536 dasm_put(Dst, 2244);
1533 } 1537 }
1534 dasm_put(Dst, 5484); 1538 dasm_put(Dst, 5507);
1535 } else { 1539 } else {
1536 dasm_put(Dst, 5341, LJ_TISNUM); 1540 dasm_put(Dst, 5364, LJ_TISNUM);
1537 if (LJ_DUALNUM) { 1541 if (LJ_DUALNUM) {
1538 dasm_put(Dst, 5359); 1542 dasm_put(Dst, 5382);
1539 } else { 1543 } else {
1540 dasm_put(Dst, 5377); 1544 dasm_put(Dst, 5400);
1541 } 1545 }
1542 dasm_put(Dst, 5382); 1546 dasm_put(Dst, 5405);
1543 if (cmov) { 1547 if (cmov) {
1544 dasm_put(Dst, 5509); 1548 dasm_put(Dst, 5532);
1545 } else { 1549 } else {
1546 dasm_put(Dst, 5517); 1550 dasm_put(Dst, 5540);
1547 } 1551 }
1548 dasm_put(Dst, 5333); 1552 dasm_put(Dst, 5356);
1549 } 1553 }
1550 if (!sse) { 1554 if (!sse) {
1551 dasm_put(Dst, 5538); 1555 dasm_put(Dst, 5561);
1552 } 1556 }
1553 dasm_put(Dst, 5547, 1+1, LJ_TSTR); 1557 dasm_put(Dst, 5570, 1+1, LJ_TSTR);
1554 if (LJ_DUALNUM) { 1558 if (LJ_DUALNUM) {
1555 dasm_put(Dst, 5569, Dt5(->len)); 1559 dasm_put(Dst, 5592, Dt5(->len));
1556 } else if (sse) { 1560 } else if (sse) {
1557 dasm_put(Dst, 5577, Dt5(->len)); 1561 dasm_put(Dst, 5600, Dt5(->len));
1558 } else { 1562 } else {
1559 dasm_put(Dst, 5588, Dt5(->len)); 1563 dasm_put(Dst, 5611, Dt5(->len));
1560 } 1564 }
1561 dasm_put(Dst, 5596, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1565 dasm_put(Dst, 5619, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1562 if (LJ_DUALNUM) { 1566 if (LJ_DUALNUM) {
1563 dasm_put(Dst, 3926); 1567 dasm_put(Dst, 3949);
1564 } else if (sse) { 1568 } else if (sse) {
1565 dasm_put(Dst, 5634); 1569 dasm_put(Dst, 5657);
1566 } else { 1570 } else {
1567 dasm_put(Dst, 5644); 1571 dasm_put(Dst, 5667);
1568 } 1572 }
1569 dasm_put(Dst, 5657, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1573 dasm_put(Dst, 5680, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1570 if (LJ_DUALNUM) { 1574 if (LJ_DUALNUM) {
1571 dasm_put(Dst, 5688);
1572 } else if (sse) {
1573 dasm_put(Dst, 5711); 1575 dasm_put(Dst, 5711);
1576 } else if (sse) {
1577 dasm_put(Dst, 5734);
1574 } else { 1578 } else {
1575 dasm_put(Dst, 5737); 1579 dasm_put(Dst, 5760);
1576 } 1580 }
1577 dasm_put(Dst, 5761, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1581 dasm_put(Dst, 5784, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1578 if (LJ_DUALNUM) { 1582 if (LJ_DUALNUM) {
1579 dasm_put(Dst, 5864); 1583 dasm_put(Dst, 5887);
1580 } else if (sse) { 1584 } else if (sse) {
1581 dasm_put(Dst, 5876); 1585 dasm_put(Dst, 5899);
1582 } else { 1586 } else {
1583 dasm_put(Dst, 5891); 1587 dasm_put(Dst, 5914);
1584 } 1588 }
1585 dasm_put(Dst, 5903, LJ_TSTR, LJ_TISNUM); 1589 dasm_put(Dst, 5926, LJ_TSTR, LJ_TISNUM);
1586 if (LJ_DUALNUM) { 1590 if (LJ_DUALNUM) {
1587 dasm_put(Dst, 2494); 1591 dasm_put(Dst, 2517);
1588 } else { 1592 } else {
1589 dasm_put(Dst, 2221); 1593 dasm_put(Dst, 2244);
1590 } 1594 }
1591 dasm_put(Dst, 5920, Dt5(->len)); 1595 dasm_put(Dst, 5943, Dt5(->len));
1592 if (LJ_DUALNUM) { 1596 if (LJ_DUALNUM) {
1593 dasm_put(Dst, 5930); 1597 dasm_put(Dst, 5953);
1594 } else if (sse) { 1598 } else if (sse) {
1595 dasm_put(Dst, 5934); 1599 dasm_put(Dst, 5957);
1596 } else { 1600 } else {
1597 dasm_put(Dst, 5941); 1601 dasm_put(Dst, 5964);
1598 } 1602 }
1599 dasm_put(Dst, 5953, sizeof(GCstr)-1); 1603 dasm_put(Dst, 5976, sizeof(GCstr)-1);
1600 dasm_put(Dst, 6028, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1604 dasm_put(Dst, 6051, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1601 dasm_put(Dst, 6087, LJ_TSTR, LJ_TISNUM); 1605 dasm_put(Dst, 6110, LJ_TSTR, LJ_TISNUM);
1602 if (LJ_DUALNUM) { 1606 if (LJ_DUALNUM) {
1603 dasm_put(Dst, 6104); 1607 dasm_put(Dst, 6127);
1604 } else if (sse) { 1608 } else if (sse) {
1605 dasm_put(Dst, 6112); 1609 dasm_put(Dst, 6135);
1606 } else { 1610 } else {
1607 dasm_put(Dst, 6123); 1611 dasm_put(Dst, 6146);
1608 } 1612 }
1609 dasm_put(Dst, 6139, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1613 dasm_put(Dst, 6162, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1610 dasm_put(Dst, 6204, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1614 dasm_put(Dst, 6227, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1611 dasm_put(Dst, 6267, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1615 dasm_put(Dst, 6290, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1612 dasm_put(Dst, 6338, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1616 dasm_put(Dst, 6361, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1613 dasm_put(Dst, 6423, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1617 dasm_put(Dst, 6446, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1614 dasm_put(Dst, 6493, 1+1, LJ_TTAB); 1618 dasm_put(Dst, 6516, 1+1, LJ_TTAB);
1615 if (LJ_DUALNUM) { 1619 if (LJ_DUALNUM) {
1616 dasm_put(Dst, 6561); 1620 dasm_put(Dst, 6584);
1617 } else if (sse) { 1621 } else if (sse) {
1618 dasm_put(Dst, 6568); 1622 dasm_put(Dst, 6591);
1619 } else { 1623 } else {
1620 dasm_put(Dst, 6578); 1624 dasm_put(Dst, 6601);
1621 } 1625 }
1622 dasm_put(Dst, 6589, LJ_TISNUM); 1626 dasm_put(Dst, 6612, LJ_TISNUM);
1623 if (LJ_DUALNUM) { 1627 if (LJ_DUALNUM) {
1624 dasm_put(Dst, 6597); 1628 dasm_put(Dst, 6620);
1625 } else { 1629 } else {
1626 dasm_put(Dst, 2221); 1630 dasm_put(Dst, 2244);
1627 } 1631 }
1628 if (sse) { 1632 if (sse) {
1629 dasm_put(Dst, 6614); 1633 dasm_put(Dst, 6637);
1630 } else { 1634 } else {
1631 dasm_put(Dst, 6643); 1635 dasm_put(Dst, 6666);
1632 } 1636 }
1633 dasm_put(Dst, 111); 1637 dasm_put(Dst, 111);
1634 if (LJ_DUALNUM || sse) { 1638 if (LJ_DUALNUM || sse) {
1635 if (!sse) { 1639 if (!sse) {
1636 dasm_put(Dst, 6661); 1640 dasm_put(Dst, 6684);
1637 } 1641 }
1638 dasm_put(Dst, 6665); 1642 dasm_put(Dst, 6688);
1639 } else { 1643 } else {
1640 dasm_put(Dst, 6581); 1644 dasm_put(Dst, 6604);
1641 } 1645 }
1642 dasm_put(Dst, 6670); 1646 dasm_put(Dst, 6693);
1643 if (sse) { 1647 if (sse) {
1644 dasm_put(Dst, 6673); 1648 dasm_put(Dst, 6696);
1645 } else { 1649 } else {
1646 dasm_put(Dst, 6688); 1650 dasm_put(Dst, 6711);
1647 } 1651 }
1648 dasm_put(Dst, 2198, LJ_TISNUM); 1652 dasm_put(Dst, 2221, LJ_TISNUM);
1649 if (LJ_DUALNUM) { 1653 if (LJ_DUALNUM) {
1650 dasm_put(Dst, 6697); 1654 dasm_put(Dst, 6720);
1651 } else { 1655 } else {
1652 dasm_put(Dst, 2221); 1656 dasm_put(Dst, 2244);
1653 } 1657 }
1654 if (sse) { 1658 if (sse) {
1655 dasm_put(Dst, 6714); 1659 dasm_put(Dst, 6737);
1656 } else { 1660 } else {
1657 dasm_put(Dst, 6729); 1661 dasm_put(Dst, 6752);
1658 } 1662 }
1659 dasm_put(Dst, 6742, LJ_TISNUM); 1663 dasm_put(Dst, 6765, LJ_TISNUM);
1660 if (LJ_DUALNUM) { 1664 if (LJ_DUALNUM) {
1661 dasm_put(Dst, 6767); 1665 dasm_put(Dst, 6790);
1662 } else { 1666 } else {
1663 dasm_put(Dst, 6787); 1667 dasm_put(Dst, 6810);
1664 } 1668 }
1665 if (sse) { 1669 if (sse) {
1666 dasm_put(Dst, 6792); 1670 dasm_put(Dst, 6815);
1667 } else { 1671 } else {
1668 dasm_put(Dst, 6809); 1672 dasm_put(Dst, 6832);
1669 } 1673 }
1670 dasm_put(Dst, 6822); 1674 dasm_put(Dst, 6845);
1671 if (sse) { 1675 if (sse) {
1672 dasm_put(Dst, 6673); 1676 dasm_put(Dst, 6696);
1673 } else { 1677 } else {
1674 dasm_put(Dst, 6688); 1678 dasm_put(Dst, 6711);
1675 } 1679 }
1676 dasm_put(Dst, 2198, LJ_TISNUM); 1680 dasm_put(Dst, 2221, LJ_TISNUM);
1677 if (LJ_DUALNUM) { 1681 if (LJ_DUALNUM) {
1678 dasm_put(Dst, 6697); 1682 dasm_put(Dst, 6720);
1679 } else { 1683 } else {
1680 dasm_put(Dst, 2221); 1684 dasm_put(Dst, 2244);
1681 } 1685 }
1682 if (sse) { 1686 if (sse) {
1683 dasm_put(Dst, 6714); 1687 dasm_put(Dst, 6737);
1684 } else { 1688 } else {
1685 dasm_put(Dst, 6729); 1689 dasm_put(Dst, 6752);
1686 } 1690 }
1687 dasm_put(Dst, 6742, LJ_TISNUM); 1691 dasm_put(Dst, 6765, LJ_TISNUM);
1688 if (LJ_DUALNUM) { 1692 if (LJ_DUALNUM) {
1689 dasm_put(Dst, 6832); 1693 dasm_put(Dst, 6855);
1690 } else { 1694 } else {
1691 dasm_put(Dst, 6787); 1695 dasm_put(Dst, 6810);
1692 } 1696 }
1693 if (sse) { 1697 if (sse) {
1694 dasm_put(Dst, 6852); 1698 dasm_put(Dst, 6875);
1695 } else { 1699 } else {
1696 dasm_put(Dst, 6869); 1700 dasm_put(Dst, 6892);
1697 } 1701 }
1698 dasm_put(Dst, 6882); 1702 dasm_put(Dst, 6905);
1699 if (sse) { 1703 if (sse) {
1700 dasm_put(Dst, 6673); 1704 dasm_put(Dst, 6696);
1701 } else { 1705 } else {
1702 dasm_put(Dst, 6688); 1706 dasm_put(Dst, 6711);
1703 } 1707 }
1704 dasm_put(Dst, 2198, LJ_TISNUM); 1708 dasm_put(Dst, 2221, LJ_TISNUM);
1705 if (LJ_DUALNUM) { 1709 if (LJ_DUALNUM) {
1706 dasm_put(Dst, 6697); 1710 dasm_put(Dst, 6720);
1707 } else { 1711 } else {
1708 dasm_put(Dst, 2221); 1712 dasm_put(Dst, 2244);
1709 } 1713 }
1710 if (sse) { 1714 if (sse) {
1711 dasm_put(Dst, 6714); 1715 dasm_put(Dst, 6737);
1712 } else { 1716 } else {
1713 dasm_put(Dst, 6729); 1717 dasm_put(Dst, 6752);
1714 } 1718 }
1715 dasm_put(Dst, 6742, LJ_TISNUM); 1719 dasm_put(Dst, 6765, LJ_TISNUM);
1716 if (LJ_DUALNUM) { 1720 if (LJ_DUALNUM) {
1717 dasm_put(Dst, 6892); 1721 dasm_put(Dst, 6915);
1718 } else { 1722 } else {
1719 dasm_put(Dst, 6787); 1723 dasm_put(Dst, 6810);
1720 } 1724 }
1721 if (sse) { 1725 if (sse) {
1722 dasm_put(Dst, 6912); 1726 dasm_put(Dst, 6935);
1723 } else { 1727 } else {
1724 dasm_put(Dst, 6929); 1728 dasm_put(Dst, 6952);
1725 } 1729 }
1726 dasm_put(Dst, 6942, LJ_TISNUM); 1730 dasm_put(Dst, 6965, LJ_TISNUM);
1727 if (LJ_DUALNUM) { 1731 if (LJ_DUALNUM) {
1728 dasm_put(Dst, 6697); 1732 dasm_put(Dst, 6720);
1729 } else { 1733 } else {
1730 dasm_put(Dst, 2221); 1734 dasm_put(Dst, 2244);
1731 } 1735 }
1732 if (sse) { 1736 if (sse) {
1733 dasm_put(Dst, 6614); 1737 dasm_put(Dst, 6637);
1734 } else { 1738 } else {
1735 dasm_put(Dst, 6957); 1739 dasm_put(Dst, 6980);
1736 } 1740 }
1737 dasm_put(Dst, 6978, LJ_TISNUM); 1741 dasm_put(Dst, 7001, LJ_TISNUM);
1738 if (LJ_DUALNUM) { 1742 if (LJ_DUALNUM) {
1739 dasm_put(Dst, 6697); 1743 dasm_put(Dst, 6720);
1740 } else { 1744 } else {
1741 dasm_put(Dst, 2221); 1745 dasm_put(Dst, 2244);
1742 } 1746 }
1743 if (sse) { 1747 if (sse) {
1744 dasm_put(Dst, 6614); 1748 dasm_put(Dst, 6637);
1745 } else { 1749 } else {
1746 dasm_put(Dst, 6957); 1750 dasm_put(Dst, 6980);
1747 } 1751 }
1748 dasm_put(Dst, 6994); 1752 dasm_put(Dst, 7017);
1749 if (LJ_DUALNUM) { 1753 if (LJ_DUALNUM) {
1750 dasm_put(Dst, 6665); 1754 dasm_put(Dst, 6688);
1751 } else if (sse) { 1755 } else if (sse) {
1752 dasm_put(Dst, 7000); 1756 dasm_put(Dst, 7023);
1753 } else { 1757 } else {
1754 dasm_put(Dst, 7012); 1758 dasm_put(Dst, 7035);
1755 } 1759 }
1756 dasm_put(Dst, 7025); 1760 dasm_put(Dst, 7048);
1757 if (LJ_DUALNUM) { 1761 if (LJ_DUALNUM) {
1758 dasm_put(Dst, 7036, LJ_TISNUM); 1762 dasm_put(Dst, 7059, LJ_TISNUM);
1759 if (LJ_DUALNUM) { 1763 if (LJ_DUALNUM) {
1760 dasm_put(Dst, 6697); 1764 dasm_put(Dst, 6720);
1761 } else { 1765 } else {
1762 dasm_put(Dst, 2221); 1766 dasm_put(Dst, 2244);
1763 } 1767 }
1764 if (sse) { 1768 if (sse) {
1765 dasm_put(Dst, 6614); 1769 dasm_put(Dst, 6637);
1766 } else { 1770 } else {
1767 dasm_put(Dst, 6957); 1771 dasm_put(Dst, 6980);
1768 } 1772 }
1769 dasm_put(Dst, 7044, LJ_TISNUM); 1773 dasm_put(Dst, 7067, LJ_TISNUM);
1770 } else if (sse) { 1774 } else if (sse) {
1771 dasm_put(Dst, 7059, 2+1, LJ_TISNUM, LJ_TISNUM); 1775 dasm_put(Dst, 7082, 2+1, LJ_TISNUM, LJ_TISNUM);
1772 } else { 1776 } else {
1773 dasm_put(Dst, 7131, 2+1, LJ_TISNUM, LJ_TISNUM); 1777 dasm_put(Dst, 7154, 2+1, LJ_TISNUM, LJ_TISNUM);
1774 } 1778 }
1775 dasm_put(Dst, 7195); 1779 dasm_put(Dst, 7218);
1776 if (LJ_DUALNUM) { 1780 if (LJ_DUALNUM) {
1777 dasm_put(Dst, 7202, LJ_TISNUM); 1781 dasm_put(Dst, 7225, LJ_TISNUM);
1778 if (LJ_DUALNUM) { 1782 if (LJ_DUALNUM) {
1779 dasm_put(Dst, 6697); 1783 dasm_put(Dst, 6720);
1780 } else { 1784 } else {
1781 dasm_put(Dst, 2221); 1785 dasm_put(Dst, 2244);
1782 } 1786 }
1783 if (sse) { 1787 if (sse) {
1784 dasm_put(Dst, 6614); 1788 dasm_put(Dst, 6637);
1785 } else { 1789 } else {
1786 dasm_put(Dst, 6957); 1790 dasm_put(Dst, 6980);
1787 } 1791 }
1788 dasm_put(Dst, 7044, LJ_TISNUM); 1792 dasm_put(Dst, 7067, LJ_TISNUM);
1789 } else if (sse) { 1793 } else if (sse) {
1790 dasm_put(Dst, 7210, 2+1, LJ_TISNUM, LJ_TISNUM); 1794 dasm_put(Dst, 7233, 2+1, LJ_TISNUM, LJ_TISNUM);
1791 } else { 1795 } else {
1792 dasm_put(Dst, 7282, 2+1, LJ_TISNUM, LJ_TISNUM); 1796 dasm_put(Dst, 7305, 2+1, LJ_TISNUM, LJ_TISNUM);
1793 } 1797 }
1794 dasm_put(Dst, 7346); 1798 dasm_put(Dst, 7369);
1795 if (LJ_DUALNUM) { 1799 if (LJ_DUALNUM) {
1796 dasm_put(Dst, 7354, LJ_TISNUM); 1800 dasm_put(Dst, 7377, LJ_TISNUM);
1797 if (LJ_DUALNUM) { 1801 if (LJ_DUALNUM) {
1798 dasm_put(Dst, 6697); 1802 dasm_put(Dst, 6720);
1799 } else { 1803 } else {
1800 dasm_put(Dst, 2221); 1804 dasm_put(Dst, 2244);
1801 } 1805 }
1802 if (sse) { 1806 if (sse) {
1803 dasm_put(Dst, 6614); 1807 dasm_put(Dst, 6637);
1804 } else { 1808 } else {
1805 dasm_put(Dst, 6957); 1809 dasm_put(Dst, 6980);
1806 } 1810 }
1807 dasm_put(Dst, 7044, LJ_TISNUM); 1811 dasm_put(Dst, 7067, LJ_TISNUM);
1808 } else if (sse) { 1812 } else if (sse) {
1809 dasm_put(Dst, 7362, 2+1, LJ_TISNUM, LJ_TISNUM); 1813 dasm_put(Dst, 7385, 2+1, LJ_TISNUM, LJ_TISNUM);
1810 } else { 1814 } else {
1811 dasm_put(Dst, 7434, 2+1, LJ_TISNUM, LJ_TISNUM); 1815 dasm_put(Dst, 7457, 2+1, LJ_TISNUM, LJ_TISNUM);
1812 } 1816 }
1813 dasm_put(Dst, 7498); 1817 dasm_put(Dst, 7521);
1814 if (LJ_DUALNUM) { 1818 if (LJ_DUALNUM) {
1815 dasm_put(Dst, 7506, LJ_TISNUM); 1819 dasm_put(Dst, 7529, LJ_TISNUM);
1816 if (LJ_DUALNUM) { 1820 if (LJ_DUALNUM) {
1817 dasm_put(Dst, 6697); 1821 dasm_put(Dst, 6720);
1818 } else { 1822 } else {
1819 dasm_put(Dst, 2221); 1823 dasm_put(Dst, 2244);
1820 } 1824 }
1821 if (sse) { 1825 if (sse) {
1822 dasm_put(Dst, 6614); 1826 dasm_put(Dst, 6637);
1823 } else { 1827 } else {
1824 dasm_put(Dst, 6957); 1828 dasm_put(Dst, 6980);
1825 } 1829 }
1826 dasm_put(Dst, 7044, LJ_TISNUM); 1830 dasm_put(Dst, 7067, LJ_TISNUM);
1827 } else if (sse) { 1831 } else if (sse) {
1828 dasm_put(Dst, 7514, 2+1, LJ_TISNUM, LJ_TISNUM); 1832 dasm_put(Dst, 7537, 2+1, LJ_TISNUM, LJ_TISNUM);
1829 } else { 1833 } else {
1830 dasm_put(Dst, 7586, 2+1, LJ_TISNUM, LJ_TISNUM); 1834 dasm_put(Dst, 7609, 2+1, LJ_TISNUM, LJ_TISNUM);
1831 } 1835 }
1832 dasm_put(Dst, 7650); 1836 dasm_put(Dst, 7673);
1833 if (LJ_DUALNUM) { 1837 if (LJ_DUALNUM) {
1834 dasm_put(Dst, 7657, LJ_TISNUM); 1838 dasm_put(Dst, 7680, LJ_TISNUM);
1835 if (LJ_DUALNUM) { 1839 if (LJ_DUALNUM) {
1836 dasm_put(Dst, 6697); 1840 dasm_put(Dst, 6720);
1837 } else { 1841 } else {
1838 dasm_put(Dst, 2221); 1842 dasm_put(Dst, 2244);
1839 } 1843 }
1840 if (sse) { 1844 if (sse) {
1841 dasm_put(Dst, 6614); 1845 dasm_put(Dst, 6637);
1842 } else { 1846 } else {
1843 dasm_put(Dst, 6957); 1847 dasm_put(Dst, 6980);
1844 } 1848 }
1845 dasm_put(Dst, 7044, LJ_TISNUM); 1849 dasm_put(Dst, 7067, LJ_TISNUM);
1846 } else if (sse) { 1850 } else if (sse) {
1847 dasm_put(Dst, 7665, 2+1, LJ_TISNUM, LJ_TISNUM); 1851 dasm_put(Dst, 7688, 2+1, LJ_TISNUM, LJ_TISNUM);
1848 } else { 1852 } else {
1849 dasm_put(Dst, 7737, 2+1, LJ_TISNUM, LJ_TISNUM); 1853 dasm_put(Dst, 7760, 2+1, LJ_TISNUM, LJ_TISNUM);
1850 } 1854 }
1851 dasm_put(Dst, 7801, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1855 dasm_put(Dst, 7824, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1852 dasm_put(Dst, 7877, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1856 dasm_put(Dst, 7900, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1853 dasm_put(Dst, 8001, Dt1(->top), Dt1(->base), Dt1(->top)); 1857 dasm_put(Dst, 8024, Dt1(->top), Dt1(->base), Dt1(->top));
1854#if LJ_HASJIT 1858#if LJ_HASJIT
1855 dasm_put(Dst, 8039, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1859 dasm_put(Dst, 8062, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1856#endif 1860#endif
1857 dasm_put(Dst, 8070, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1861 dasm_put(Dst, 8093, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1858 dasm_put(Dst, 8121, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1862 dasm_put(Dst, 8144, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1859#if LJ_HASJIT 1863#if LJ_HASJIT
1860 dasm_put(Dst, 8187, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1864 dasm_put(Dst, 8210, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1861#endif 1865#endif
1862 dasm_put(Dst, 8233); 1866 dasm_put(Dst, 8256);
1863#if LJ_HASJIT 1867#if LJ_HASJIT
1864 dasm_put(Dst, 8065); 1868 dasm_put(Dst, 8088);
1865#endif 1869#endif
1866 dasm_put(Dst, 8240); 1870 dasm_put(Dst, 8263);
1867#if LJ_HASJIT 1871#if LJ_HASJIT
1868 dasm_put(Dst, 8243); 1872 dasm_put(Dst, 8266);
1869#endif 1873#endif
1870 dasm_put(Dst, 8253, Dt1(->base), Dt1(->top)); 1874 dasm_put(Dst, 8276, Dt1(->base), Dt1(->top));
1871#if LJ_HASJIT 1875#if LJ_HASJIT
1872 dasm_put(Dst, 8287); 1876 dasm_put(Dst, 8310);
1873#endif 1877#endif
1874 dasm_put(Dst, 8292, Dt1(->base), Dt1(->top)); 1878 dasm_put(Dst, 8315, Dt1(->base), Dt1(->top));
1875#if LJ_HASJIT 1879#if LJ_HASJIT
1876 dasm_put(Dst, 8321, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); 1880 dasm_put(Dst, 8344, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
1877#endif 1881#endif
1878 dasm_put(Dst, 8464); 1882 dasm_put(Dst, 8487);
1879#if LJ_HASJIT 1883#if LJ_HASJIT
1880 dasm_put(Dst, 8467, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1884 dasm_put(Dst, 8490, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1881#endif 1885#endif
1882 dasm_put(Dst, 8545); 1886 dasm_put(Dst, 8568);
1883 if (!sse) { 1887 if (!sse) {
1884 dasm_put(Dst, 8548); 1888 dasm_put(Dst, 8571);
1885 } 1889 }
1886 dasm_put(Dst, 8593); 1890 dasm_put(Dst, 8616);
1887 if (!sse) { 1891 if (!sse) {
1888 dasm_put(Dst, 8695); 1892 dasm_put(Dst, 8718);
1889 } 1893 }
1890 dasm_put(Dst, 8740); 1894 dasm_put(Dst, 8763);
1891 if (!sse) { 1895 if (!sse) {
1892 dasm_put(Dst, 8842); 1896 dasm_put(Dst, 8865);
1893 } 1897 }
1894 dasm_put(Dst, 8881); 1898 dasm_put(Dst, 8904);
1895 if (sse) { 1899 if (sse) {
1896 dasm_put(Dst, 8986); 1900 dasm_put(Dst, 9009);
1897 } else { 1901 } else {
1898 dasm_put(Dst, 9116); 1902 dasm_put(Dst, 9139);
1899 } 1903 }
1900 dasm_put(Dst, 9163); 1904 dasm_put(Dst, 9186);
1901 if (!sse) { 1905 if (!sse) {
1902 dasm_put(Dst, 9237); 1906 dasm_put(Dst, 9260);
1903 if (cmov) { 1907 if (cmov) {
1904 dasm_put(Dst, 9248); 1908 dasm_put(Dst, 9271);
1905 } else { 1909 } else {
1906 dasm_put(Dst, 9252); 1910 dasm_put(Dst, 9275);
1907 } 1911 }
1908 dasm_put(Dst, 9259); 1912 dasm_put(Dst, 9282);
1909 dasm_put(Dst, 9333); 1913 dasm_put(Dst, 9356);
1910 dasm_put(Dst, 9433); 1914 dasm_put(Dst, 9456);
1911 if (cmov) { 1915 if (cmov) {
1912 dasm_put(Dst, 9436); 1916 dasm_put(Dst, 9459);
1913 } else { 1917 } else {
1914 dasm_put(Dst, 9440); 1918 dasm_put(Dst, 9463);
1915 } 1919 }
1916 dasm_put(Dst, 9447); 1920 dasm_put(Dst, 9470);
1917 if (cmov) { 1921 if (cmov) {
1918 dasm_put(Dst, 9248); 1922 dasm_put(Dst, 9271);
1919 } else { 1923 } else {
1920 dasm_put(Dst, 9252); 1924 dasm_put(Dst, 9275);
1921 } 1925 }
1922 dasm_put(Dst, 9465); 1926 dasm_put(Dst, 9488);
1923 } else { 1927 } else {
1924 dasm_put(Dst, 9544); 1928 dasm_put(Dst, 9567);
1925 } 1929 }
1926 dasm_put(Dst, 9547); 1930 dasm_put(Dst, 9570);
1927 dasm_put(Dst, 9632); 1931 dasm_put(Dst, 9655);
1928 dasm_put(Dst, 9762); 1932 dasm_put(Dst, 9785);
1929 dasm_put(Dst, 9968); 1933 dasm_put(Dst, 9991);
1930#if LJ_HASJIT 1934#if LJ_HASJIT
1931 if (sse) { 1935 if (sse) {
1932 dasm_put(Dst, 9975); 1936 dasm_put(Dst, 9998);
1933 dasm_put(Dst, 10032); 1937 dasm_put(Dst, 10055);
1934 dasm_put(Dst, 10123); 1938 dasm_put(Dst, 10146);
1935 } else { 1939 } else {
1936 dasm_put(Dst, 10165); 1940 dasm_put(Dst, 10188);
1937 dasm_put(Dst, 10257); 1941 dasm_put(Dst, 10280);
1938 } 1942 }
1939 dasm_put(Dst, 10303); 1943 dasm_put(Dst, 10326);
1940#endif 1944#endif
1941 dasm_put(Dst, 10307); 1945 dasm_put(Dst, 10330);
1942 if (sse) { 1946 if (sse) {
1943 dasm_put(Dst, 10310); 1947 dasm_put(Dst, 10333);
1944 dasm_put(Dst, 10415); 1948 dasm_put(Dst, 10438);
1945 dasm_put(Dst, 10498); 1949 dasm_put(Dst, 10521);
1946 } else { 1950 } else {
1947 dasm_put(Dst, 10570); 1951 dasm_put(Dst, 10593);
1948 dasm_put(Dst, 10653); 1952 dasm_put(Dst, 10676);
1949 if (cmov) { 1953 if (cmov) {
1950 dasm_put(Dst, 10708); 1954 dasm_put(Dst, 10731);
1951 } else { 1955 } else {
1952 dasm_put(Dst, 10727); 1956 dasm_put(Dst, 10750);
1953 } 1957 }
1954 dasm_put(Dst, 10303); 1958 dasm_put(Dst, 10326);
1955 } 1959 }
1956 dasm_put(Dst, 10768); 1960 dasm_put(Dst, 10791);
1957#if LJ_HASFFI 1961#if LJ_HASFFI
1958#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 1962#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1959 dasm_put(Dst, 10824, DtE(->spadj)); 1963 dasm_put(Dst, 10847, DtE(->spadj));
1960#if LJ_TARGET_WINDOWS 1964#if LJ_TARGET_WINDOWS
1961 dasm_put(Dst, 10834, DtE(->spadj)); 1965 dasm_put(Dst, 10857, DtE(->spadj));
1962#endif 1966#endif
1963 dasm_put(Dst, 10838, DtE(->nsp), offsetof(CCallState, stack), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->func), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->resx87), DtE(->fpr[0].d[0])); 1967 dasm_put(Dst, 10861, DtE(->nsp), offsetof(CCallState, stack), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->func), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->resx87), DtE(->fpr[0].d[0]));
1964 dasm_put(Dst, 10908, DtE(->fpr[0].f[0])); 1968 dasm_put(Dst, 10931, DtE(->fpr[0].f[0]));
1965#if LJ_TARGET_WINDOWS 1969#if LJ_TARGET_WINDOWS
1966 dasm_put(Dst, 10914, DtE(->spadj)); 1970 dasm_put(Dst, 10937, DtE(->spadj));
1967#endif 1971#endif
1968 dasm_put(Dst, 10918); 1972 dasm_put(Dst, 10941);
1969#endif 1973#endif
1970 dasm_put(Dst, 10925); 1974 dasm_put(Dst, 10948);
1971#ifdef LUA_USE_ASSERT 1975#ifdef LUA_USE_ASSERT
1972 dasm_put(Dst, 10305); 1976 dasm_put(Dst, 10328);
1973#endif 1977#endif
1974 dasm_put(Dst, 10305); 1978 dasm_put(Dst, 10328);
1975} 1979}
1976 1980
1977/* Generate the code for a single instruction. */ 1981/* Generate the code for a single instruction. */
1978static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1982static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1979{ 1983{
1980 int vk = 0; 1984 int vk = 0;
1981 dasm_put(Dst, 10928, defop); 1985 dasm_put(Dst, 10951, defop);
1982 1986
1983 switch (op) { 1987 switch (op) {
1984 1988
@@ -1989,297 +1993,297 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1989 1993
1990 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1994 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1991 if (LJ_DUALNUM) { 1995 if (LJ_DUALNUM) {
1992 dasm_put(Dst, 10930, LJ_TISNUM, LJ_TISNUM); 1996 dasm_put(Dst, 10953, LJ_TISNUM, LJ_TISNUM);
1993 switch (op) { 1997 switch (op) {
1994 case BC_ISLT: 1998 case BC_ISLT:
1995 dasm_put(Dst, 10960); 1999 dasm_put(Dst, 10983);
1996 break; 2000 break;
1997 case BC_ISGE: 2001 case BC_ISGE:
1998 dasm_put(Dst, 10965); 2002 dasm_put(Dst, 10988);
1999 break; 2003 break;
2000 case BC_ISLE: 2004 case BC_ISLE:
2001 dasm_put(Dst, 10970); 2005 dasm_put(Dst, 10993);
2002 break; 2006 break;
2003 case BC_ISGT: 2007 case BC_ISGT:
2004 dasm_put(Dst, 10975); 2008 dasm_put(Dst, 10998);
2005 break; 2009 break;
2006 default: break; /* Shut up GCC. */ 2010 default: break; /* Shut up GCC. */
2007 } 2011 }
2008 dasm_put(Dst, 10980, -BCBIAS_J*4, LJ_TISNUM); 2012 dasm_put(Dst, 11003, -BCBIAS_J*4, LJ_TISNUM);
2009 if (sse) { 2013 if (sse) {
2010 dasm_put(Dst, 11033); 2014 dasm_put(Dst, 11056);
2011 } else { 2015 } else {
2012 dasm_put(Dst, 11044); 2016 dasm_put(Dst, 11067);
2013 } 2017 }
2014 dasm_put(Dst, 11055); 2018 dasm_put(Dst, 11078);
2015 if (sse) { 2019 if (sse) {
2016 dasm_put(Dst, 11062); 2020 dasm_put(Dst, 11085);
2017 switch (op) { 2021 switch (op) {
2018 case BC_ISLT: 2022 case BC_ISLT:
2019 dasm_put(Dst, 11082); 2023 dasm_put(Dst, 11105);
2020 break; 2024 break;
2021 case BC_ISGE: 2025 case BC_ISGE:
2022 dasm_put(Dst, 11087); 2026 dasm_put(Dst, 11110);
2023 break; 2027 break;
2024 case BC_ISLE: 2028 case BC_ISLE:
2025 dasm_put(Dst, 11092); 2029 dasm_put(Dst, 11115);
2026 break; 2030 break;
2027 case BC_ISGT: 2031 case BC_ISGT:
2028 dasm_put(Dst, 11097); 2032 dasm_put(Dst, 11120);
2029 break; 2033 break;
2030 default: break; /* Shut up GCC. */ 2034 default: break; /* Shut up GCC. */
2031 } 2035 }
2032 dasm_put(Dst, 11102); 2036 dasm_put(Dst, 11125);
2033 } else { 2037 } else {
2034 dasm_put(Dst, 11107); 2038 dasm_put(Dst, 11130);
2035 } 2039 }
2036 } else { 2040 } else {
2037 dasm_put(Dst, 11115, LJ_TISNUM, LJ_TISNUM); 2041 dasm_put(Dst, 11138, LJ_TISNUM, LJ_TISNUM);
2038 } 2042 }
2039 if (sse) { 2043 if (sse) {
2040 dasm_put(Dst, 11136); 2044 dasm_put(Dst, 11159);
2041 } else { 2045 } else {
2042 dasm_put(Dst, 11157); 2046 dasm_put(Dst, 11180);
2043 if (cmov) { 2047 if (cmov) {
2044 dasm_put(Dst, 3901); 2048 dasm_put(Dst, 3924);
2045 } else { 2049 } else {
2046 dasm_put(Dst, 3907); 2050 dasm_put(Dst, 3930);
2047 } 2051 }
2048 } 2052 }
2049 if (LJ_DUALNUM) { 2053 if (LJ_DUALNUM) {
2050 switch (op) { 2054 switch (op) {
2051 case BC_ISLT: 2055 case BC_ISLT:
2052 dasm_put(Dst, 11082); 2056 dasm_put(Dst, 11105);
2053 break; 2057 break;
2054 case BC_ISGE: 2058 case BC_ISGE:
2055 dasm_put(Dst, 11087); 2059 dasm_put(Dst, 11110);
2056 break; 2060 break;
2057 case BC_ISLE: 2061 case BC_ISLE:
2058 dasm_put(Dst, 11092); 2062 dasm_put(Dst, 11115);
2059 break; 2063 break;
2060 case BC_ISGT: 2064 case BC_ISGT:
2061 dasm_put(Dst, 11097); 2065 dasm_put(Dst, 11120);
2062 break; 2066 break;
2063 default: break; /* Shut up GCC. */ 2067 default: break; /* Shut up GCC. */
2064 } 2068 }
2065 dasm_put(Dst, 11102); 2069 dasm_put(Dst, 11125);
2066 } else { 2070 } else {
2067 switch (op) { 2071 switch (op) {
2068 case BC_ISLT: 2072 case BC_ISLT:
2069 dasm_put(Dst, 11173); 2073 dasm_put(Dst, 11196);
2070 break; 2074 break;
2071 case BC_ISGE: 2075 case BC_ISGE:
2072 dasm_put(Dst, 11178); 2076 dasm_put(Dst, 11201);
2073 break; 2077 break;
2074 case BC_ISLE: 2078 case BC_ISLE:
2075 dasm_put(Dst, 11183); 2079 dasm_put(Dst, 11206);
2076 break; 2080 break;
2077 case BC_ISGT: 2081 case BC_ISGT:
2078 dasm_put(Dst, 11188); 2082 dasm_put(Dst, 11211);
2079 break; 2083 break;
2080 default: break; /* Shut up GCC. */ 2084 default: break; /* Shut up GCC. */
2081 } 2085 }
2082 dasm_put(Dst, 11193, -BCBIAS_J*4); 2086 dasm_put(Dst, 11216, -BCBIAS_J*4);
2083 } 2087 }
2084 break; 2088 break;
2085 2089
2086 case BC_ISEQV: case BC_ISNEV: 2090 case BC_ISEQV: case BC_ISNEV:
2087 vk = op == BC_ISEQV; 2091 vk = op == BC_ISEQV;
2088 dasm_put(Dst, 11224); 2092 dasm_put(Dst, 11247);
2089 if (LJ_DUALNUM) { 2093 if (LJ_DUALNUM) {
2090 dasm_put(Dst, 11232, LJ_TISNUM, LJ_TISNUM); 2094 dasm_put(Dst, 11255, LJ_TISNUM, LJ_TISNUM);
2091 if (vk) { 2095 if (vk) {
2092 dasm_put(Dst, 11257); 2096 dasm_put(Dst, 11280);
2093 } else { 2097 } else {
2094 dasm_put(Dst, 11262); 2098 dasm_put(Dst, 11285);
2095 } 2099 }
2096 dasm_put(Dst, 11267, -BCBIAS_J*4, LJ_TISNUM); 2100 dasm_put(Dst, 11290, -BCBIAS_J*4, LJ_TISNUM);
2097 if (sse) { 2101 if (sse) {
2098 dasm_put(Dst, 11318); 2102 dasm_put(Dst, 11341);
2099 } else { 2103 } else {
2100 dasm_put(Dst, 11325); 2104 dasm_put(Dst, 11348);
2101 } 2105 }
2102 dasm_put(Dst, 11329); 2106 dasm_put(Dst, 11352);
2103 if (sse) { 2107 if (sse) {
2104 dasm_put(Dst, 11340); 2108 dasm_put(Dst, 11363);
2105 } else { 2109 } else {
2106 dasm_put(Dst, 11352); 2110 dasm_put(Dst, 11375);
2107 } 2111 }
2108 dasm_put(Dst, 11359); 2112 dasm_put(Dst, 11382);
2109 } else { 2113 } else {
2110 dasm_put(Dst, 11364, LJ_TISNUM, LJ_TISNUM); 2114 dasm_put(Dst, 11387, LJ_TISNUM, LJ_TISNUM);
2111 } 2115 }
2112 if (sse) { 2116 if (sse) {
2113 dasm_put(Dst, 11383); 2117 dasm_put(Dst, 11406);
2114 } else { 2118 } else {
2115 dasm_put(Dst, 11401); 2119 dasm_put(Dst, 11424);
2116 if (cmov) { 2120 if (cmov) {
2117 dasm_put(Dst, 3901); 2121 dasm_put(Dst, 3924);
2118 } else { 2122 } else {
2119 dasm_put(Dst, 3907); 2123 dasm_put(Dst, 3930);
2120 } 2124 }
2121 } 2125 }
2122 iseqne_fp: 2126 iseqne_fp:
2123 if (vk) { 2127 if (vk) {
2124 dasm_put(Dst, 11414); 2128 dasm_put(Dst, 11437);
2125 } else { 2129 } else {
2126 dasm_put(Dst, 11423); 2130 dasm_put(Dst, 11446);
2127 } 2131 }
2128 iseqne_end: 2132 iseqne_end:
2129 if (vk) { 2133 if (vk) {
2130 dasm_put(Dst, 11432, -BCBIAS_J*4); 2134 dasm_put(Dst, 11455, -BCBIAS_J*4);
2131 if (!LJ_HASFFI) { 2135 if (!LJ_HASFFI) {
2132 dasm_put(Dst, 4801); 2136 dasm_put(Dst, 4824);
2133 } 2137 }
2134 } else { 2138 } else {
2135 if (!LJ_HASFFI) { 2139 if (!LJ_HASFFI) {
2136 dasm_put(Dst, 4801); 2140 dasm_put(Dst, 4824);
2137 } 2141 }
2138 dasm_put(Dst, 11447, -BCBIAS_J*4); 2142 dasm_put(Dst, 11470, -BCBIAS_J*4);
2139 } 2143 }
2140 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || 2144 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
2141 op == BC_ISEQN || op == BC_ISNEN)) { 2145 op == BC_ISEQN || op == BC_ISNEN)) {
2142 dasm_put(Dst, 11462); 2146 dasm_put(Dst, 11485);
2143 } else { 2147 } else {
2144 dasm_put(Dst, 11205); 2148 dasm_put(Dst, 11228);
2145 } 2149 }
2146 if (op == BC_ISEQV || op == BC_ISNEV) { 2150 if (op == BC_ISEQV || op == BC_ISNEV) {
2147 dasm_put(Dst, 11467); 2151 dasm_put(Dst, 11490);
2148 if (LJ_HASFFI) { 2152 if (LJ_HASFFI) {
2149 dasm_put(Dst, 11470, LJ_TCDATA, LJ_TCDATA); 2153 dasm_put(Dst, 11493, LJ_TCDATA, LJ_TCDATA);
2150 } 2154 }
2151 dasm_put(Dst, 11489, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 2155 dasm_put(Dst, 11512, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
2152 if (vk) { 2156 if (vk) {
2153 dasm_put(Dst, 11545); 2157 dasm_put(Dst, 11568);
2154 } else { 2158 } else {
2155 dasm_put(Dst, 11549); 2159 dasm_put(Dst, 11572);
2156 } 2160 }
2157 dasm_put(Dst, 11555); 2161 dasm_put(Dst, 11578);
2158 } else if (LJ_HASFFI) { 2162 } else if (LJ_HASFFI) {
2159 dasm_put(Dst, 11560, LJ_TCDATA); 2163 dasm_put(Dst, 11583, LJ_TCDATA);
2160 if (LJ_DUALNUM && vk) { 2164 if (LJ_DUALNUM && vk) {
2161 dasm_put(Dst, 11567); 2165 dasm_put(Dst, 11590);
2162 } else { 2166 } else {
2163 dasm_put(Dst, 11540); 2167 dasm_put(Dst, 11563);
2164 } 2168 }
2165 dasm_put(Dst, 11572); 2169 dasm_put(Dst, 11595);
2166 } 2170 }
2167 break; 2171 break;
2168 case BC_ISEQS: case BC_ISNES: 2172 case BC_ISEQS: case BC_ISNES:
2169 vk = op == BC_ISEQS; 2173 vk = op == BC_ISEQS;
2170 dasm_put(Dst, 11577, LJ_TSTR); 2174 dasm_put(Dst, 11600, LJ_TSTR);
2171 iseqne_test: 2175 iseqne_test:
2172 if (vk) { 2176 if (vk) {
2173 dasm_put(Dst, 11418); 2177 dasm_put(Dst, 11441);
2174 } else { 2178 } else {
2175 dasm_put(Dst, 2919); 2179 dasm_put(Dst, 748);
2176 } 2180 }
2177 goto iseqne_end; 2181 goto iseqne_end;
2178 case BC_ISEQN: case BC_ISNEN: 2182 case BC_ISEQN: case BC_ISNEN:
2179 vk = op == BC_ISEQN; 2183 vk = op == BC_ISEQN;
2180 dasm_put(Dst, 11602); 2184 dasm_put(Dst, 11625);
2181 if (LJ_DUALNUM) { 2185 if (LJ_DUALNUM) {
2182 dasm_put(Dst, 11610, LJ_TISNUM, LJ_TISNUM); 2186 dasm_put(Dst, 11633, LJ_TISNUM, LJ_TISNUM);
2183 if (vk) { 2187 if (vk) {
2184 dasm_put(Dst, 11257); 2188 dasm_put(Dst, 11280);
2185 } else { 2189 } else {
2186 dasm_put(Dst, 11262); 2190 dasm_put(Dst, 11285);
2187 } 2191 }
2188 dasm_put(Dst, 11635, -BCBIAS_J*4, LJ_TISNUM); 2192 dasm_put(Dst, 11658, -BCBIAS_J*4, LJ_TISNUM);
2189 if (sse) { 2193 if (sse) {
2190 dasm_put(Dst, 11682); 2194 dasm_put(Dst, 11705);
2191 } else { 2195 } else {
2192 dasm_put(Dst, 11689); 2196 dasm_put(Dst, 11712);
2193 } 2197 }
2194 dasm_put(Dst, 11693); 2198 dasm_put(Dst, 11716);
2195 if (sse) { 2199 if (sse) {
2196 dasm_put(Dst, 11700); 2200 dasm_put(Dst, 11723);
2197 } else { 2201 } else {
2198 dasm_put(Dst, 11712); 2202 dasm_put(Dst, 11735);
2199 } 2203 }
2200 dasm_put(Dst, 11359); 2204 dasm_put(Dst, 11382);
2201 } else { 2205 } else {
2202 dasm_put(Dst, 11719, LJ_TISNUM); 2206 dasm_put(Dst, 11742, LJ_TISNUM);
2203 } 2207 }
2204 if (sse) { 2208 if (sse) {
2205 dasm_put(Dst, 11728); 2209 dasm_put(Dst, 11751);
2206 } else { 2210 } else {
2207 dasm_put(Dst, 11746); 2211 dasm_put(Dst, 11769);
2208 if (cmov) { 2212 if (cmov) {
2209 dasm_put(Dst, 3901); 2213 dasm_put(Dst, 3924);
2210 } else { 2214 } else {
2211 dasm_put(Dst, 3907); 2215 dasm_put(Dst, 3930);
2212 } 2216 }
2213 } 2217 }
2214 goto iseqne_fp; 2218 goto iseqne_fp;
2215 case BC_ISEQP: case BC_ISNEP: 2219 case BC_ISEQP: case BC_ISNEP:
2216 vk = op == BC_ISEQP; 2220 vk = op == BC_ISEQP;
2217 dasm_put(Dst, 11759); 2221 dasm_put(Dst, 11782);
2218 if (!LJ_HASFFI) goto iseqne_test; 2222 if (!LJ_HASFFI) goto iseqne_test;
2219 if (vk) { 2223 if (vk) {
2220 dasm_put(Dst, 11772, -BCBIAS_J*4, LJ_TCDATA); 2224 dasm_put(Dst, 11795, -BCBIAS_J*4, LJ_TCDATA);
2221 } else { 2225 } else {
2222 dasm_put(Dst, 11821, LJ_TCDATA, -BCBIAS_J*4); 2226 dasm_put(Dst, 11844, LJ_TCDATA, -BCBIAS_J*4);
2223 } 2227 }
2224 break; 2228 break;
2225 2229
2226 /* -- Unary test and copy ops ------------------------------------------- */ 2230 /* -- Unary test and copy ops ------------------------------------------- */
2227 2231
2228 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 2232 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
2229 dasm_put(Dst, 11864, LJ_TISTRUECOND); 2233 dasm_put(Dst, 11887, LJ_TISTRUECOND);
2230 if (op == BC_IST || op == BC_ISTC) { 2234 if (op == BC_IST || op == BC_ISTC) {
2231 dasm_put(Dst, 11188); 2235 dasm_put(Dst, 11211);
2232 } else { 2236 } else {
2233 dasm_put(Dst, 11183); 2237 dasm_put(Dst, 11206);
2234 } 2238 }
2235 if (op == BC_ISTC || op == BC_ISFC) { 2239 if (op == BC_ISTC || op == BC_ISFC) {
2236 dasm_put(Dst, 11876); 2240 dasm_put(Dst, 11899);
2237 } 2241 }
2238 dasm_put(Dst, 11193, -BCBIAS_J*4); 2242 dasm_put(Dst, 11216, -BCBIAS_J*4);
2239 break; 2243 break;
2240 2244
2241 /* -- Unary ops --------------------------------------------------------- */ 2245 /* -- Unary ops --------------------------------------------------------- */
2242 2246
2243 case BC_MOV: 2247 case BC_MOV:
2244 dasm_put(Dst, 11887); 2248 dasm_put(Dst, 11910);
2245 break; 2249 break;
2246 case BC_NOT: 2250 case BC_NOT:
2247 dasm_put(Dst, 11920, LJ_TISTRUECOND, LJ_TTRUE); 2251 dasm_put(Dst, 11943, LJ_TISTRUECOND, LJ_TTRUE);
2248 break; 2252 break;
2249 case BC_UNM: 2253 case BC_UNM:
2250 if (LJ_DUALNUM) { 2254 if (LJ_DUALNUM) {
2251 dasm_put(Dst, 11955, LJ_TISNUM, LJ_TISNUM); 2255 dasm_put(Dst, 11978, LJ_TISNUM, LJ_TISNUM);
2252 } else { 2256 } else {
2253 dasm_put(Dst, 12031, LJ_TISNUM); 2257 dasm_put(Dst, 12054, LJ_TISNUM);
2254 } 2258 }
2255 if (sse) { 2259 if (sse) {
2256 dasm_put(Dst, 12042); 2260 dasm_put(Dst, 12065);
2257 } else { 2261 } else {
2258 dasm_put(Dst, 12072); 2262 dasm_put(Dst, 12095);
2259 } 2263 }
2260 if (LJ_DUALNUM) { 2264 if (LJ_DUALNUM) {
2261 dasm_put(Dst, 11462); 2265 dasm_put(Dst, 11485);
2262 } else { 2266 } else {
2263 dasm_put(Dst, 11205); 2267 dasm_put(Dst, 11228);
2264 } 2268 }
2265 break; 2269 break;
2266 case BC_LEN: 2270 case BC_LEN:
2267 dasm_put(Dst, 12081, LJ_TSTR); 2271 dasm_put(Dst, 12104, LJ_TSTR);
2268 if (LJ_DUALNUM) { 2272 if (LJ_DUALNUM) {
2269 dasm_put(Dst, 12095, Dt5(->len), LJ_TISNUM); 2273 dasm_put(Dst, 12118, Dt5(->len), LJ_TISNUM);
2270 } else if (sse) { 2274 } else if (sse) {
2271 dasm_put(Dst, 12109, Dt5(->len)); 2275 dasm_put(Dst, 12132, Dt5(->len));
2272 } else { 2276 } else {
2273 dasm_put(Dst, 12127, Dt5(->len)); 2277 dasm_put(Dst, 12150, Dt5(->len));
2274 } 2278 }
2275 dasm_put(Dst, 12136, LJ_TTAB); 2279 dasm_put(Dst, 12159, LJ_TTAB);
2276 if (LJ_DUALNUM) { 2280 if (LJ_DUALNUM) {
2277 } else if (sse) { 2281 } else if (sse) {
2278 dasm_put(Dst, 12176); 2282 dasm_put(Dst, 12199);
2279 } else { 2283 } else {
2280 dasm_put(Dst, 12182); 2284 dasm_put(Dst, 12205);
2281 } 2285 }
2282 dasm_put(Dst, 12189); 2286 dasm_put(Dst, 12212);
2283 break; 2287 break;
2284 2288
2285 /* -- Binary ops -------------------------------------------------------- */ 2289 /* -- Binary ops -------------------------------------------------------- */
@@ -2287,620 +2291,620 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2287 2291
2288 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 2292 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
2289 if (LJ_DUALNUM) { 2293 if (LJ_DUALNUM) {
2290 dasm_put(Dst, 12202); 2294 dasm_put(Dst, 12225);
2291 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2295 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2292 switch (vk) { 2296 switch (vk) {
2293 case 0: 2297 case 0:
2294 dasm_put(Dst, 12210, LJ_TISNUM, LJ_TISNUM); 2298 dasm_put(Dst, 12233, LJ_TISNUM, LJ_TISNUM);
2295 break; 2299 break;
2296 case 1: 2300 case 1:
2297 dasm_put(Dst, 12243, LJ_TISNUM, LJ_TISNUM); 2301 dasm_put(Dst, 12266, LJ_TISNUM, LJ_TISNUM);
2298 break; 2302 break;
2299 default: 2303 default:
2300 dasm_put(Dst, 12276, LJ_TISNUM, LJ_TISNUM); 2304 dasm_put(Dst, 12299, LJ_TISNUM, LJ_TISNUM);
2301 break; 2305 break;
2302 } 2306 }
2303 dasm_put(Dst, 12309, LJ_TISNUM); 2307 dasm_put(Dst, 12332, LJ_TISNUM);
2304 if (vk == 1) { 2308 if (vk == 1) {
2305 dasm_put(Dst, 12105); 2309 dasm_put(Dst, 12128);
2306 } else { 2310 } else {
2307 dasm_put(Dst, 11883); 2311 dasm_put(Dst, 11906);
2308 } 2312 }
2309 dasm_put(Dst, 11205); 2313 dasm_put(Dst, 11228);
2310 } else { 2314 } else {
2311 dasm_put(Dst, 12202); 2315 dasm_put(Dst, 12225);
2312 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2316 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2313 switch (vk) { 2317 switch (vk) {
2314 case 0: 2318 case 0:
2315 dasm_put(Dst, 12315, LJ_TISNUM); 2319 dasm_put(Dst, 12338, LJ_TISNUM);
2316 if (LJ_DUALNUM) { 2320 if (LJ_DUALNUM) {
2317 dasm_put(Dst, 12327, LJ_TISNUM); 2321 dasm_put(Dst, 12350, LJ_TISNUM);
2318 } 2322 }
2319 if (sse) { 2323 if (sse) {
2320 dasm_put(Dst, 12338); 2324 dasm_put(Dst, 12361);
2321 } else { 2325 } else {
2322 dasm_put(Dst, 12352); 2326 dasm_put(Dst, 12375);
2323 } 2327 }
2324 break; 2328 break;
2325 case 1: 2329 case 1:
2326 dasm_put(Dst, 12360, LJ_TISNUM); 2330 dasm_put(Dst, 12383, LJ_TISNUM);
2327 if (LJ_DUALNUM) { 2331 if (LJ_DUALNUM) {
2328 dasm_put(Dst, 12372, LJ_TISNUM); 2332 dasm_put(Dst, 12395, LJ_TISNUM);
2329 } 2333 }
2330 if (sse) { 2334 if (sse) {
2331 dasm_put(Dst, 12383); 2335 dasm_put(Dst, 12406);
2332 } else { 2336 } else {
2333 dasm_put(Dst, 12397); 2337 dasm_put(Dst, 12420);
2334 } 2338 }
2335 break; 2339 break;
2336 default: 2340 default:
2337 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM); 2341 dasm_put(Dst, 12428, LJ_TISNUM, LJ_TISNUM);
2338 if (sse) { 2342 if (sse) {
2339 dasm_put(Dst, 12427); 2343 dasm_put(Dst, 12450);
2340 } else { 2344 } else {
2341 dasm_put(Dst, 12441); 2345 dasm_put(Dst, 12464);
2342 } 2346 }
2343 break; 2347 break;
2344 } 2348 }
2345 if (sse) { 2349 if (sse) {
2346 dasm_put(Dst, 12065); 2350 dasm_put(Dst, 12088);
2347 } else { 2351 } else {
2348 dasm_put(Dst, 12077); 2352 dasm_put(Dst, 12100);
2349 } 2353 }
2350 dasm_put(Dst, 11205); 2354 dasm_put(Dst, 11228);
2351 } 2355 }
2352 break; 2356 break;
2353 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 2357 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
2354 if (LJ_DUALNUM) { 2358 if (LJ_DUALNUM) {
2355 dasm_put(Dst, 12202); 2359 dasm_put(Dst, 12225);
2356 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2360 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2357 switch (vk) { 2361 switch (vk) {
2358 case 0: 2362 case 0:
2359 dasm_put(Dst, 12449, LJ_TISNUM, LJ_TISNUM); 2363 dasm_put(Dst, 12472, LJ_TISNUM, LJ_TISNUM);
2360 break; 2364 break;
2361 case 1: 2365 case 1:
2362 dasm_put(Dst, 12482, LJ_TISNUM, LJ_TISNUM); 2366 dasm_put(Dst, 12505, LJ_TISNUM, LJ_TISNUM);
2363 break; 2367 break;
2364 default: 2368 default:
2365 dasm_put(Dst, 12515, LJ_TISNUM, LJ_TISNUM); 2369 dasm_put(Dst, 12538, LJ_TISNUM, LJ_TISNUM);
2366 break; 2370 break;
2367 } 2371 }
2368 dasm_put(Dst, 12309, LJ_TISNUM); 2372 dasm_put(Dst, 12332, LJ_TISNUM);
2369 if (vk == 1) { 2373 if (vk == 1) {
2370 dasm_put(Dst, 12105); 2374 dasm_put(Dst, 12128);
2371 } else { 2375 } else {
2372 dasm_put(Dst, 11883); 2376 dasm_put(Dst, 11906);
2373 } 2377 }
2374 dasm_put(Dst, 11205); 2378 dasm_put(Dst, 11228);
2375 } else { 2379 } else {
2376 dasm_put(Dst, 12202); 2380 dasm_put(Dst, 12225);
2377 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2381 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2378 switch (vk) { 2382 switch (vk) {
2379 case 0: 2383 case 0:
2380 dasm_put(Dst, 12315, LJ_TISNUM); 2384 dasm_put(Dst, 12338, LJ_TISNUM);
2381 if (LJ_DUALNUM) { 2385 if (LJ_DUALNUM) {
2382 dasm_put(Dst, 12327, LJ_TISNUM); 2386 dasm_put(Dst, 12350, LJ_TISNUM);
2383 } 2387 }
2384 if (sse) { 2388 if (sse) {
2385 dasm_put(Dst, 12548); 2389 dasm_put(Dst, 12571);
2386 } else { 2390 } else {
2387 dasm_put(Dst, 12562); 2391 dasm_put(Dst, 12585);
2388 } 2392 }
2389 break; 2393 break;
2390 case 1: 2394 case 1:
2391 dasm_put(Dst, 12360, LJ_TISNUM); 2395 dasm_put(Dst, 12383, LJ_TISNUM);
2392 if (LJ_DUALNUM) { 2396 if (LJ_DUALNUM) {
2393 dasm_put(Dst, 12372, LJ_TISNUM); 2397 dasm_put(Dst, 12395, LJ_TISNUM);
2394 } 2398 }
2395 if (sse) { 2399 if (sse) {
2396 dasm_put(Dst, 12570); 2400 dasm_put(Dst, 12593);
2397 } else { 2401 } else {
2398 dasm_put(Dst, 12584); 2402 dasm_put(Dst, 12607);
2399 } 2403 }
2400 break; 2404 break;
2401 default: 2405 default:
2402 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM); 2406 dasm_put(Dst, 12428, LJ_TISNUM, LJ_TISNUM);
2403 if (sse) { 2407 if (sse) {
2404 dasm_put(Dst, 12592); 2408 dasm_put(Dst, 12615);
2405 } else { 2409 } else {
2406 dasm_put(Dst, 12606); 2410 dasm_put(Dst, 12629);
2407 } 2411 }
2408 break; 2412 break;
2409 } 2413 }
2410 if (sse) { 2414 if (sse) {
2411 dasm_put(Dst, 12065); 2415 dasm_put(Dst, 12088);
2412 } else { 2416 } else {
2413 dasm_put(Dst, 12077); 2417 dasm_put(Dst, 12100);
2414 } 2418 }
2415 dasm_put(Dst, 11205); 2419 dasm_put(Dst, 11228);
2416 } 2420 }
2417 break; 2421 break;
2418 case BC_MULVN: case BC_MULNV: case BC_MULVV: 2422 case BC_MULVN: case BC_MULNV: case BC_MULVV:
2419 if (LJ_DUALNUM) { 2423 if (LJ_DUALNUM) {
2420 dasm_put(Dst, 12202); 2424 dasm_put(Dst, 12225);
2421 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2425 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2422 switch (vk) { 2426 switch (vk) {
2423 case 0: 2427 case 0:
2424 dasm_put(Dst, 12614, LJ_TISNUM, LJ_TISNUM); 2428 dasm_put(Dst, 12637, LJ_TISNUM, LJ_TISNUM);
2425 break; 2429 break;
2426 case 1: 2430 case 1:
2427 dasm_put(Dst, 12648, LJ_TISNUM, LJ_TISNUM); 2431 dasm_put(Dst, 12671, LJ_TISNUM, LJ_TISNUM);
2428 break; 2432 break;
2429 default: 2433 default:
2430 dasm_put(Dst, 12682, LJ_TISNUM, LJ_TISNUM); 2434 dasm_put(Dst, 12705, LJ_TISNUM, LJ_TISNUM);
2431 break; 2435 break;
2432 } 2436 }
2433 dasm_put(Dst, 12309, LJ_TISNUM); 2437 dasm_put(Dst, 12332, LJ_TISNUM);
2434 if (vk == 1) { 2438 if (vk == 1) {
2435 dasm_put(Dst, 12105); 2439 dasm_put(Dst, 12128);
2436 } else { 2440 } else {
2437 dasm_put(Dst, 11883); 2441 dasm_put(Dst, 11906);
2438 } 2442 }
2439 dasm_put(Dst, 11205); 2443 dasm_put(Dst, 11228);
2440 } else { 2444 } else {
2441 dasm_put(Dst, 12202); 2445 dasm_put(Dst, 12225);
2442 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2446 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2443 switch (vk) { 2447 switch (vk) {
2444 case 0: 2448 case 0:
2445 dasm_put(Dst, 12315, LJ_TISNUM); 2449 dasm_put(Dst, 12338, LJ_TISNUM);
2446 if (LJ_DUALNUM) { 2450 if (LJ_DUALNUM) {
2447 dasm_put(Dst, 12327, LJ_TISNUM); 2451 dasm_put(Dst, 12350, LJ_TISNUM);
2448 } 2452 }
2449 if (sse) { 2453 if (sse) {
2450 dasm_put(Dst, 12716); 2454 dasm_put(Dst, 12739);
2451 } else { 2455 } else {
2452 dasm_put(Dst, 12730); 2456 dasm_put(Dst, 12753);
2453 } 2457 }
2454 break; 2458 break;
2455 case 1: 2459 case 1:
2456 dasm_put(Dst, 12360, LJ_TISNUM); 2460 dasm_put(Dst, 12383, LJ_TISNUM);
2457 if (LJ_DUALNUM) { 2461 if (LJ_DUALNUM) {
2458 dasm_put(Dst, 12372, LJ_TISNUM); 2462 dasm_put(Dst, 12395, LJ_TISNUM);
2459 } 2463 }
2460 if (sse) { 2464 if (sse) {
2461 dasm_put(Dst, 12738); 2465 dasm_put(Dst, 12761);
2462 } else { 2466 } else {
2463 dasm_put(Dst, 12752); 2467 dasm_put(Dst, 12775);
2464 } 2468 }
2465 break; 2469 break;
2466 default: 2470 default:
2467 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM); 2471 dasm_put(Dst, 12428, LJ_TISNUM, LJ_TISNUM);
2468 if (sse) { 2472 if (sse) {
2469 dasm_put(Dst, 12760); 2473 dasm_put(Dst, 12783);
2470 } else { 2474 } else {
2471 dasm_put(Dst, 12774); 2475 dasm_put(Dst, 12797);
2472 } 2476 }
2473 break; 2477 break;
2474 } 2478 }
2475 if (sse) { 2479 if (sse) {
2476 dasm_put(Dst, 12065); 2480 dasm_put(Dst, 12088);
2477 } else { 2481 } else {
2478 dasm_put(Dst, 12077); 2482 dasm_put(Dst, 12100);
2479 } 2483 }
2480 dasm_put(Dst, 11205); 2484 dasm_put(Dst, 11228);
2481 } 2485 }
2482 break; 2486 break;
2483 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 2487 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
2484 dasm_put(Dst, 12202); 2488 dasm_put(Dst, 12225);
2485 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2489 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2486 switch (vk) { 2490 switch (vk) {
2487 case 0: 2491 case 0:
2488 dasm_put(Dst, 12315, LJ_TISNUM); 2492 dasm_put(Dst, 12338, LJ_TISNUM);
2489 if (LJ_DUALNUM) { 2493 if (LJ_DUALNUM) {
2490 dasm_put(Dst, 12327, LJ_TISNUM); 2494 dasm_put(Dst, 12350, LJ_TISNUM);
2491 } 2495 }
2492 if (sse) { 2496 if (sse) {
2493 dasm_put(Dst, 12782); 2497 dasm_put(Dst, 12805);
2494 } else { 2498 } else {
2495 dasm_put(Dst, 12796); 2499 dasm_put(Dst, 12819);
2496 } 2500 }
2497 break; 2501 break;
2498 case 1: 2502 case 1:
2499 dasm_put(Dst, 12360, LJ_TISNUM); 2503 dasm_put(Dst, 12383, LJ_TISNUM);
2500 if (LJ_DUALNUM) { 2504 if (LJ_DUALNUM) {
2501 dasm_put(Dst, 12372, LJ_TISNUM); 2505 dasm_put(Dst, 12395, LJ_TISNUM);
2502 } 2506 }
2503 if (sse) { 2507 if (sse) {
2504 dasm_put(Dst, 12804); 2508 dasm_put(Dst, 12827);
2505 } else { 2509 } else {
2506 dasm_put(Dst, 12818); 2510 dasm_put(Dst, 12841);
2507 } 2511 }
2508 break; 2512 break;
2509 default: 2513 default:
2510 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM); 2514 dasm_put(Dst, 12428, LJ_TISNUM, LJ_TISNUM);
2511 if (sse) { 2515 if (sse) {
2512 dasm_put(Dst, 12826); 2516 dasm_put(Dst, 12849);
2513 } else { 2517 } else {
2514 dasm_put(Dst, 12840); 2518 dasm_put(Dst, 12863);
2515 } 2519 }
2516 break; 2520 break;
2517 } 2521 }
2518 if (sse) { 2522 if (sse) {
2519 dasm_put(Dst, 12065); 2523 dasm_put(Dst, 12088);
2520 } else { 2524 } else {
2521 dasm_put(Dst, 12077); 2525 dasm_put(Dst, 12100);
2522 } 2526 }
2523 dasm_put(Dst, 11205); 2527 dasm_put(Dst, 11228);
2524 break; 2528 break;
2525 case BC_MODVN: 2529 case BC_MODVN:
2526 dasm_put(Dst, 12202); 2530 dasm_put(Dst, 12225);
2527 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2531 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2528 switch (vk) { 2532 switch (vk) {
2529 case 0: 2533 case 0:
2530 dasm_put(Dst, 12315, LJ_TISNUM); 2534 dasm_put(Dst, 12338, LJ_TISNUM);
2531 if (LJ_DUALNUM) { 2535 if (LJ_DUALNUM) {
2532 dasm_put(Dst, 12327, LJ_TISNUM); 2536 dasm_put(Dst, 12350, LJ_TISNUM);
2533 } 2537 }
2534 if (sse) { 2538 if (sse) {
2535 dasm_put(Dst, 12848); 2539 dasm_put(Dst, 12871);
2536 } else { 2540 } else {
2537 dasm_put(Dst, 12862); 2541 dasm_put(Dst, 12885);
2538 } 2542 }
2539 break; 2543 break;
2540 case 1: 2544 case 1:
2541 dasm_put(Dst, 12360, LJ_TISNUM); 2545 dasm_put(Dst, 12383, LJ_TISNUM);
2542 if (LJ_DUALNUM) { 2546 if (LJ_DUALNUM) {
2543 dasm_put(Dst, 12372, LJ_TISNUM); 2547 dasm_put(Dst, 12395, LJ_TISNUM);
2544 } 2548 }
2545 if (sse) { 2549 if (sse) {
2546 dasm_put(Dst, 12870); 2550 dasm_put(Dst, 12893);
2547 } else { 2551 } else {
2548 dasm_put(Dst, 12884); 2552 dasm_put(Dst, 12907);
2549 } 2553 }
2550 break; 2554 break;
2551 default: 2555 default:
2552 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM); 2556 dasm_put(Dst, 12428, LJ_TISNUM, LJ_TISNUM);
2553 if (sse) { 2557 if (sse) {
2554 dasm_put(Dst, 12892); 2558 dasm_put(Dst, 12915);
2555 } else { 2559 } else {
2556 dasm_put(Dst, 12906); 2560 dasm_put(Dst, 12929);
2557 } 2561 }
2558 break; 2562 break;
2559 } 2563 }
2560 dasm_put(Dst, 12914); 2564 dasm_put(Dst, 12937);
2561 if (sse) { 2565 if (sse) {
2562 dasm_put(Dst, 12065); 2566 dasm_put(Dst, 12088);
2563 } else { 2567 } else {
2564 dasm_put(Dst, 12077); 2568 dasm_put(Dst, 12100);
2565 } 2569 }
2566 dasm_put(Dst, 11205); 2570 dasm_put(Dst, 11228);
2567 break; 2571 break;
2568 case BC_MODNV: case BC_MODVV: 2572 case BC_MODNV: case BC_MODVV:
2569 dasm_put(Dst, 12202); 2573 dasm_put(Dst, 12225);
2570 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2574 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2571 switch (vk) { 2575 switch (vk) {
2572 case 0: 2576 case 0:
2573 dasm_put(Dst, 12315, LJ_TISNUM); 2577 dasm_put(Dst, 12338, LJ_TISNUM);
2574 if (LJ_DUALNUM) { 2578 if (LJ_DUALNUM) {
2575 dasm_put(Dst, 12327, LJ_TISNUM); 2579 dasm_put(Dst, 12350, LJ_TISNUM);
2576 } 2580 }
2577 if (sse) { 2581 if (sse) {
2578 dasm_put(Dst, 12848); 2582 dasm_put(Dst, 12871);
2579 } else { 2583 } else {
2580 dasm_put(Dst, 12862); 2584 dasm_put(Dst, 12885);
2581 } 2585 }
2582 break; 2586 break;
2583 case 1: 2587 case 1:
2584 dasm_put(Dst, 12360, LJ_TISNUM); 2588 dasm_put(Dst, 12383, LJ_TISNUM);
2585 if (LJ_DUALNUM) { 2589 if (LJ_DUALNUM) {
2586 dasm_put(Dst, 12372, LJ_TISNUM); 2590 dasm_put(Dst, 12395, LJ_TISNUM);
2587 } 2591 }
2588 if (sse) { 2592 if (sse) {
2589 dasm_put(Dst, 12870); 2593 dasm_put(Dst, 12893);
2590 } else { 2594 } else {
2591 dasm_put(Dst, 12884); 2595 dasm_put(Dst, 12907);
2592 } 2596 }
2593 break; 2597 break;
2594 default: 2598 default:
2595 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM); 2599 dasm_put(Dst, 12428, LJ_TISNUM, LJ_TISNUM);
2596 if (sse) { 2600 if (sse) {
2597 dasm_put(Dst, 12892); 2601 dasm_put(Dst, 12915);
2598 } else { 2602 } else {
2599 dasm_put(Dst, 12906); 2603 dasm_put(Dst, 12929);
2600 } 2604 }
2601 break; 2605 break;
2602 } 2606 }
2603 dasm_put(Dst, 12920); 2607 dasm_put(Dst, 12943);
2604 break; 2608 break;
2605 case BC_POW: 2609 case BC_POW:
2606 dasm_put(Dst, 12202); 2610 dasm_put(Dst, 12225);
2607 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2611 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2608 switch (vk) { 2612 switch (vk) {
2609 case 0: 2613 case 0:
2610 dasm_put(Dst, 12315, LJ_TISNUM); 2614 dasm_put(Dst, 12338, LJ_TISNUM);
2611 if (LJ_DUALNUM) { 2615 if (LJ_DUALNUM) {
2612 dasm_put(Dst, 12327, LJ_TISNUM); 2616 dasm_put(Dst, 12350, LJ_TISNUM);
2613 } 2617 }
2614 if (sse) { 2618 if (sse) {
2615 dasm_put(Dst, 12848); 2619 dasm_put(Dst, 12871);
2616 } else { 2620 } else {
2617 dasm_put(Dst, 12862); 2621 dasm_put(Dst, 12885);
2618 } 2622 }
2619 break; 2623 break;
2620 case 1: 2624 case 1:
2621 dasm_put(Dst, 12360, LJ_TISNUM); 2625 dasm_put(Dst, 12383, LJ_TISNUM);
2622 if (LJ_DUALNUM) { 2626 if (LJ_DUALNUM) {
2623 dasm_put(Dst, 12372, LJ_TISNUM); 2627 dasm_put(Dst, 12395, LJ_TISNUM);
2624 } 2628 }
2625 if (sse) { 2629 if (sse) {
2626 dasm_put(Dst, 12870); 2630 dasm_put(Dst, 12893);
2627 } else { 2631 } else {
2628 dasm_put(Dst, 12884); 2632 dasm_put(Dst, 12907);
2629 } 2633 }
2630 break; 2634 break;
2631 default: 2635 default:
2632 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM); 2636 dasm_put(Dst, 12428, LJ_TISNUM, LJ_TISNUM);
2633 if (sse) { 2637 if (sse) {
2634 dasm_put(Dst, 12892); 2638 dasm_put(Dst, 12915);
2635 } else { 2639 } else {
2636 dasm_put(Dst, 12906); 2640 dasm_put(Dst, 12929);
2637 } 2641 }
2638 break; 2642 break;
2639 } 2643 }
2640 dasm_put(Dst, 12925); 2644 dasm_put(Dst, 12948);
2641 if (sse) { 2645 if (sse) {
2642 dasm_put(Dst, 12065); 2646 dasm_put(Dst, 12088);
2643 } else { 2647 } else {
2644 dasm_put(Dst, 12077); 2648 dasm_put(Dst, 12100);
2645 } 2649 }
2646 dasm_put(Dst, 11205); 2650 dasm_put(Dst, 11228);
2647 break; 2651 break;
2648 2652
2649 case BC_CAT: 2653 case BC_CAT:
2650 dasm_put(Dst, 12929, Dt1(->base), Dt1(->base)); 2654 dasm_put(Dst, 12952, Dt1(->base), Dt1(->base));
2651 break; 2655 break;
2652 2656
2653 /* -- Constant ops ------------------------------------------------------ */ 2657 /* -- Constant ops ------------------------------------------------------ */
2654 2658
2655 case BC_KSTR: 2659 case BC_KSTR:
2656 dasm_put(Dst, 13023, LJ_TSTR); 2660 dasm_put(Dst, 13046, LJ_TSTR);
2657 break; 2661 break;
2658 case BC_KCDATA: 2662 case BC_KCDATA:
2659#if LJ_HASFFI 2663#if LJ_HASFFI
2660 dasm_put(Dst, 13023, LJ_TCDATA); 2664 dasm_put(Dst, 13046, LJ_TCDATA);
2661#endif 2665#endif
2662 break; 2666 break;
2663 case BC_KSHORT: 2667 case BC_KSHORT:
2664 if (LJ_DUALNUM) { 2668 if (LJ_DUALNUM) {
2665 dasm_put(Dst, 13056, LJ_TISNUM); 2669 dasm_put(Dst, 13079, LJ_TISNUM);
2666 } else if (sse) { 2670 } else if (sse) {
2667 dasm_put(Dst, 13068); 2671 dasm_put(Dst, 13091);
2668 } else { 2672 } else {
2669 dasm_put(Dst, 13083); 2673 dasm_put(Dst, 13106);
2670 } 2674 }
2671 dasm_put(Dst, 11205); 2675 dasm_put(Dst, 11228);
2672 break; 2676 break;
2673 case BC_KNUM: 2677 case BC_KNUM:
2674 if (sse) { 2678 if (sse) {
2675 dasm_put(Dst, 13091); 2679 dasm_put(Dst, 13114);
2676 } else { 2680 } else {
2677 dasm_put(Dst, 13104); 2681 dasm_put(Dst, 13127);
2678 } 2682 }
2679 dasm_put(Dst, 11205); 2683 dasm_put(Dst, 11228);
2680 break; 2684 break;
2681 case BC_KPRI: 2685 case BC_KPRI:
2682 dasm_put(Dst, 13111); 2686 dasm_put(Dst, 13134);
2683 break; 2687 break;
2684 case BC_KNIL: 2688 case BC_KNIL:
2685 dasm_put(Dst, 13137, LJ_TNIL); 2689 dasm_put(Dst, 13160, LJ_TNIL);
2686 break; 2690 break;
2687 2691
2688 /* -- Upvalue and function ops ------------------------------------------ */ 2692 /* -- Upvalue and function ops ------------------------------------------ */
2689 2693
2690 case BC_UGET: 2694 case BC_UGET:
2691 dasm_put(Dst, 13183, offsetof(GCfuncL, uvptr), DtA(->v)); 2695 dasm_put(Dst, 13206, offsetof(GCfuncL, uvptr), DtA(->v));
2692 break; 2696 break;
2693 case BC_USETV: 2697 case BC_USETV:
2694#define TV2MARKOFS \ 2698#define TV2MARKOFS \
2695 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2699 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2696 dasm_put(Dst, 13227, 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); 2700 dasm_put(Dst, 13250, 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);
2697 dasm_put(Dst, 13317); 2701 dasm_put(Dst, 13340);
2698 break; 2702 break;
2699#undef TV2MARKOFS 2703#undef TV2MARKOFS
2700 case BC_USETS: 2704 case BC_USETS:
2701 dasm_put(Dst, 13329, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 2705 dasm_put(Dst, 13352, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
2702 break; 2706 break;
2703 case BC_USETN: 2707 case BC_USETN:
2704 dasm_put(Dst, 13420); 2708 dasm_put(Dst, 13443);
2705 if (sse) { 2709 if (sse) {
2706 dasm_put(Dst, 13425); 2710 dasm_put(Dst, 13448);
2707 } else { 2711 } else {
2708 dasm_put(Dst, 11715); 2712 dasm_put(Dst, 11738);
2709 } 2713 }
2710 dasm_put(Dst, 13432, offsetof(GCfuncL, uvptr), DtA(->v)); 2714 dasm_put(Dst, 13455, offsetof(GCfuncL, uvptr), DtA(->v));
2711 if (sse) { 2715 if (sse) {
2712 dasm_put(Dst, 13441); 2716 dasm_put(Dst, 13464);
2713 } else { 2717 } else {
2714 dasm_put(Dst, 13447); 2718 dasm_put(Dst, 13470);
2715 } 2719 }
2716 dasm_put(Dst, 11205); 2720 dasm_put(Dst, 11228);
2717 break; 2721 break;
2718 case BC_USETP: 2722 case BC_USETP:
2719 dasm_put(Dst, 13450, offsetof(GCfuncL, uvptr), DtA(->v)); 2723 dasm_put(Dst, 13473, offsetof(GCfuncL, uvptr), DtA(->v));
2720 break; 2724 break;
2721 case BC_UCLO: 2725 case BC_UCLO:
2722 dasm_put(Dst, 13487, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2726 dasm_put(Dst, 13510, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2723 break; 2727 break;
2724 2728
2725 case BC_FNEW: 2729 case BC_FNEW:
2726 dasm_put(Dst, 13541, Dt1(->base), Dt1(->base), LJ_TFUNC); 2730 dasm_put(Dst, 13564, Dt1(->base), Dt1(->base), LJ_TFUNC);
2727 break; 2731 break;
2728 2732
2729 /* -- Table ops --------------------------------------------------------- */ 2733 /* -- Table ops --------------------------------------------------------- */
2730 2734
2731 case BC_TNEW: 2735 case BC_TNEW:
2732 dasm_put(Dst, 13612, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2736 dasm_put(Dst, 13635, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2733 break; 2737 break;
2734 case BC_TDUP: 2738 case BC_TDUP:
2735 dasm_put(Dst, 13738, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2739 dasm_put(Dst, 13761, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2736 break; 2740 break;
2737 2741
2738 case BC_GGET: 2742 case BC_GGET:
2739 dasm_put(Dst, 13830, Dt7(->env)); 2743 dasm_put(Dst, 13853, Dt7(->env));
2740 break; 2744 break;
2741 case BC_GSET: 2745 case BC_GSET:
2742 dasm_put(Dst, 13848, Dt7(->env)); 2746 dasm_put(Dst, 13871, Dt7(->env));
2743 break; 2747 break;
2744 2748
2745 case BC_TGETV: 2749 case BC_TGETV:
2746 dasm_put(Dst, 13866, LJ_TTAB); 2750 dasm_put(Dst, 13889, LJ_TTAB);
2747 if (LJ_DUALNUM) { 2751 if (LJ_DUALNUM) {
2748 dasm_put(Dst, 13889, LJ_TISNUM); 2752 dasm_put(Dst, 13912, LJ_TISNUM);
2749 } else { 2753 } else {
2750 dasm_put(Dst, 13903, LJ_TISNUM); 2754 dasm_put(Dst, 13926, LJ_TISNUM);
2751 if (sse) { 2755 if (sse) {
2752 dasm_put(Dst, 13914); 2756 dasm_put(Dst, 13937);
2753 } else { 2757 } else {
2754 dasm_put(Dst, 13935); 2758 dasm_put(Dst, 13958);
2755 if (cmov) { 2759 if (cmov) {
2756 dasm_put(Dst, 3901); 2760 dasm_put(Dst, 3924);
2757 } else { 2761 } else {
2758 dasm_put(Dst, 3907); 2762 dasm_put(Dst, 3930);
2759 } 2763 }
2760 dasm_put(Dst, 2637); 2764 dasm_put(Dst, 2660);
2761 } 2765 }
2762 dasm_put(Dst, 13945); 2766 dasm_put(Dst, 13968);
2763 } 2767 }
2764 dasm_put(Dst, 13950, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); 2768 dasm_put(Dst, 13973, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2765 dasm_put(Dst, 14045, LJ_TSTR); 2769 dasm_put(Dst, 14068, LJ_TSTR);
2766 break; 2770 break;
2767 case BC_TGETS: 2771 case BC_TGETS:
2768 dasm_put(Dst, 14063, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2772 dasm_put(Dst, 14086, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2769 dasm_put(Dst, 14151, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2773 dasm_put(Dst, 14174, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2770 break; 2774 break;
2771 case BC_TGETB: 2775 case BC_TGETB:
2772 dasm_put(Dst, 14221, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2776 dasm_put(Dst, 14244, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2773 dasm_put(Dst, 14320, LJ_TNIL); 2777 dasm_put(Dst, 14343, LJ_TNIL);
2774 break; 2778 break;
2775 2779
2776 case BC_TSETV: 2780 case BC_TSETV:
2777 dasm_put(Dst, 14337, LJ_TTAB); 2781 dasm_put(Dst, 14360, LJ_TTAB);
2778 if (LJ_DUALNUM) { 2782 if (LJ_DUALNUM) {
2779 dasm_put(Dst, 13889, LJ_TISNUM); 2783 dasm_put(Dst, 13912, LJ_TISNUM);
2780 } else { 2784 } else {
2781 dasm_put(Dst, 13903, LJ_TISNUM); 2785 dasm_put(Dst, 13926, LJ_TISNUM);
2782 if (sse) { 2786 if (sse) {
2783 dasm_put(Dst, 13914); 2787 dasm_put(Dst, 13937);
2784 } else { 2788 } else {
2785 dasm_put(Dst, 13935); 2789 dasm_put(Dst, 13958);
2786 if (cmov) { 2790 if (cmov) {
2787 dasm_put(Dst, 3901); 2791 dasm_put(Dst, 3924);
2788 } else { 2792 } else {
2789 dasm_put(Dst, 3907); 2793 dasm_put(Dst, 3930);
2790 } 2794 }
2791 dasm_put(Dst, 2637); 2795 dasm_put(Dst, 2660);
2792 } 2796 }
2793 dasm_put(Dst, 14360); 2797 dasm_put(Dst, 14383);
2794 } 2798 }
2795 dasm_put(Dst, 14365, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); 2799 dasm_put(Dst, 14388, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
2796 dasm_put(Dst, 14449, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2800 dasm_put(Dst, 14472, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2797 break; 2801 break;
2798 case BC_TSETS: 2802 case BC_TSETS:
2799 dasm_put(Dst, 14506, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2803 dasm_put(Dst, 14529, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2800 dasm_put(Dst, 14581, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2804 dasm_put(Dst, 14604, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2801 dasm_put(Dst, 14673, 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)); 2805 dasm_put(Dst, 14696, 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));
2802 break; 2806 break;
2803 case BC_TSETB: 2807 case BC_TSETB:
2804 dasm_put(Dst, 14769, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2808 dasm_put(Dst, 14792, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2805 dasm_put(Dst, 14867, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2809 dasm_put(Dst, 14890, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2806 break; 2810 break;
2807 2811
2808 case BC_TSETM: 2812 case BC_TSETM:
2809 dasm_put(Dst, 14913, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2813 dasm_put(Dst, 14936, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2810 dasm_put(Dst, 15062, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2814 dasm_put(Dst, 15085, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2811 break; 2815 break;
2812 2816
2813 /* -- Calls and vararg handling ----------------------------------------- */ 2817 /* -- Calls and vararg handling ----------------------------------------- */
2814 2818
2815 case BC_CALL: case BC_CALLM: 2819 case BC_CALL: case BC_CALLM:
2816 dasm_put(Dst, 12206); 2820 dasm_put(Dst, 12229);
2817 if (op == BC_CALLM) { 2821 if (op == BC_CALLM) {
2818 dasm_put(Dst, 15080); 2822 dasm_put(Dst, 15103);
2819 } 2823 }
2820 dasm_put(Dst, 15085, LJ_TFUNC, Dt7(->pc)); 2824 dasm_put(Dst, 15108, LJ_TFUNC, Dt7(->pc));
2821 break; 2825 break;
2822 2826
2823 case BC_CALLMT: 2827 case BC_CALLMT:
2824 dasm_put(Dst, 15080); 2828 dasm_put(Dst, 15103);
2825 break; 2829 break;
2826 case BC_CALLT: 2830 case BC_CALLT:
2827 dasm_put(Dst, 15126, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2831 dasm_put(Dst, 15149, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2828 dasm_put(Dst, 15244, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2832 dasm_put(Dst, 15267, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2829 break; 2833 break;
2830 2834
2831 case BC_ITERC: 2835 case BC_ITERC:
2832 dasm_put(Dst, 15314, LJ_TFUNC, 2+1, Dt7(->pc)); 2836 dasm_put(Dst, 15337, LJ_TFUNC, 2+1, Dt7(->pc));
2833 break; 2837 break;
2834 2838
2835 case BC_ITERN: 2839 case BC_ITERN:
2836#if LJ_HASJIT 2840#if LJ_HASJIT
2837#endif 2841#endif
2838 dasm_put(Dst, 15394, Dt6(->asize), Dt6(->array), LJ_TNIL); 2842 dasm_put(Dst, 15417, Dt6(->asize), Dt6(->array), LJ_TNIL);
2839 if (LJ_DUALNUM) { 2843 if (LJ_DUALNUM) {
2840 dasm_put(Dst, 12100, LJ_TISNUM); 2844 dasm_put(Dst, 12123, LJ_TISNUM);
2841 } else if (sse) { 2845 } else if (sse) {
2842 dasm_put(Dst, 12176); 2846 dasm_put(Dst, 12199);
2843 } else { 2847 } else {
2844 dasm_put(Dst, 15440); 2848 dasm_put(Dst, 15463);
2845 } 2849 }
2846 dasm_put(Dst, 15446); 2850 dasm_put(Dst, 15469);
2847 if (LJ_DUALNUM) { 2851 if (LJ_DUALNUM) {
2848 } else if (sse) { 2852 } else if (sse) {
2849 dasm_put(Dst, 12065); 2853 dasm_put(Dst, 12088);
2850 } else { 2854 } else {
2851 dasm_put(Dst, 12077); 2855 dasm_put(Dst, 12100);
2852 } 2856 }
2853 dasm_put(Dst, 15465, -BCBIAS_J*4); 2857 dasm_put(Dst, 15488, -BCBIAS_J*4);
2854 if (!LJ_DUALNUM && !sse) { 2858 if (!LJ_DUALNUM && !sse) {
2855 dasm_put(Dst, 15516); 2859 dasm_put(Dst, 15539);
2856 } 2860 }
2857 dasm_put(Dst, 15522, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it)); 2861 dasm_put(Dst, 15545, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it));
2858 dasm_put(Dst, 15597); 2862 dasm_put(Dst, 15620);
2859 break; 2863 break;
2860 2864
2861 case BC_ISNEXT: 2865 case BC_ISNEXT:
2862 dasm_put(Dst, 15605, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2866 dasm_put(Dst, 15628, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2863 break; 2867 break;
2864 2868
2865 case BC_VARG: 2869 case BC_VARG:
2866 dasm_put(Dst, 15704, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2870 dasm_put(Dst, 15727, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2867 dasm_put(Dst, 15868, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2871 dasm_put(Dst, 15891, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2868 break; 2872 break;
2869 2873
2870 /* -- Returns ----------------------------------------------------------- */ 2874 /* -- Returns ----------------------------------------------------------- */
2871 2875
2872 case BC_RETM: 2876 case BC_RETM:
2873 dasm_put(Dst, 15080); 2877 dasm_put(Dst, 15103);
2874 break; 2878 break;
2875 2879
2876 case BC_RET: case BC_RET0: case BC_RET1: 2880 case BC_RET: case BC_RET0: case BC_RET1:
2877 if (op != BC_RET0) { 2881 if (op != BC_RET0) {
2878 dasm_put(Dst, 15939); 2882 dasm_put(Dst, 15962);
2879 } 2883 }
2880 dasm_put(Dst, 15943, FRAME_TYPE); 2884 dasm_put(Dst, 15966, FRAME_TYPE);
2881 switch (op) { 2885 switch (op) {
2882 case BC_RET: 2886 case BC_RET:
2883 dasm_put(Dst, 15962); 2887 dasm_put(Dst, 15985);
2884 break; 2888 break;
2885 case BC_RET1: 2889 case BC_RET1:
2886 dasm_put(Dst, 16020); 2890 dasm_put(Dst, 16043);
2887 /* fallthrough */ 2891 /* fallthrough */
2888 case BC_RET0: 2892 case BC_RET0:
2889 dasm_put(Dst, 16036); 2893 dasm_put(Dst, 16059);
2890 default: 2894 default:
2891 break; 2895 break;
2892 } 2896 }
2893 dasm_put(Dst, 16047, Dt7(->pc), PC2PROTO(k)); 2897 dasm_put(Dst, 16070, Dt7(->pc), PC2PROTO(k));
2894 if (op == BC_RET) { 2898 if (op == BC_RET) {
2895 dasm_put(Dst, 16089, LJ_TNIL); 2899 dasm_put(Dst, 16112, LJ_TNIL);
2896 } else { 2900 } else {
2897 dasm_put(Dst, 16098, LJ_TNIL); 2901 dasm_put(Dst, 16121, LJ_TNIL);
2898 } 2902 }
2899 dasm_put(Dst, 16105, -FRAME_VARG, FRAME_TYPEP); 2903 dasm_put(Dst, 16128, -FRAME_VARG, FRAME_TYPEP);
2900 if (op != BC_RET0) { 2904 if (op != BC_RET0) {
2901 dasm_put(Dst, 16129); 2905 dasm_put(Dst, 16152);
2902 } 2906 }
2903 dasm_put(Dst, 4885); 2907 dasm_put(Dst, 4908);
2904 break; 2908 break;
2905 2909
2906 /* -- Loops and branches ------------------------------------------------ */ 2910 /* -- Loops and branches ------------------------------------------------ */
@@ -2908,7 +2912,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2908 2912
2909 case BC_FORL: 2913 case BC_FORL:
2910#if LJ_HASJIT 2914#if LJ_HASJIT
2911 dasm_put(Dst, 16133, HOTCOUNT_PCMASK, GG_DISP2HOT); 2915 dasm_put(Dst, 16156, HOTCOUNT_PCMASK, GG_DISP2HOT);
2912#endif 2916#endif
2913 break; 2917 break;
2914 2918
@@ -2920,111 +2924,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2920 case BC_FORI: 2924 case BC_FORI:
2921 case BC_IFORL: 2925 case BC_IFORL:
2922 vk = (op == BC_IFORL || op == BC_JFORL); 2926 vk = (op == BC_IFORL || op == BC_JFORL);
2923 dasm_put(Dst, 16154); 2927 dasm_put(Dst, 16177);
2924 if (LJ_DUALNUM) { 2928 if (LJ_DUALNUM) {
2925 dasm_put(Dst, 16158, LJ_TISNUM); 2929 dasm_put(Dst, 16181, LJ_TISNUM);
2926 if (!vk) { 2930 if (!vk) {
2927 dasm_put(Dst, 16168, LJ_TISNUM, LJ_TISNUM); 2931 dasm_put(Dst, 16191, LJ_TISNUM, LJ_TISNUM);
2928 } else { 2932 } else {
2929#ifdef LUA_USE_ASSERT 2933#ifdef LUA_USE_ASSERT
2930 dasm_put(Dst, 16197, LJ_TISNUM, LJ_TISNUM); 2934 dasm_put(Dst, 16220, LJ_TISNUM, LJ_TISNUM);
2931#endif 2935#endif
2932 dasm_put(Dst, 16216); 2936 dasm_put(Dst, 16239);
2933 } 2937 }
2934 dasm_put(Dst, 16235, LJ_TISNUM); 2938 dasm_put(Dst, 16258, LJ_TISNUM);
2935 if (op == BC_FORI) { 2939 if (op == BC_FORI) {
2936 dasm_put(Dst, 16246, -BCBIAS_J*4); 2940 dasm_put(Dst, 16269, -BCBIAS_J*4);
2937 } else if (op == BC_JFORI) { 2941 } else if (op == BC_JFORI) {
2938 dasm_put(Dst, 16260, -BCBIAS_J*4, BC_JLOOP); 2942 dasm_put(Dst, 16283, -BCBIAS_J*4, BC_JLOOP);
2939 } else if (op == BC_IFORL) { 2943 } else if (op == BC_IFORL) {
2940 dasm_put(Dst, 16278, -BCBIAS_J*4); 2944 dasm_put(Dst, 16301, -BCBIAS_J*4);
2941 } else { 2945 } else {
2942 dasm_put(Dst, 16270, BC_JLOOP); 2946 dasm_put(Dst, 16293, BC_JLOOP);
2943 } 2947 }
2944 dasm_put(Dst, 16292); 2948 dasm_put(Dst, 16315);
2945 if (vk) { 2949 if (vk) {
2946 dasm_put(Dst, 16315); 2950 dasm_put(Dst, 16338);
2947 } 2951 }
2948 dasm_put(Dst, 16235, LJ_TISNUM); 2952 dasm_put(Dst, 16258, LJ_TISNUM);
2949 if (op == BC_FORI) { 2953 if (op == BC_FORI) {
2950 dasm_put(Dst, 16324); 2954 dasm_put(Dst, 16347);
2951 } else if (op == BC_JFORI) { 2955 } else if (op == BC_JFORI) {
2952 dasm_put(Dst, 16329, -BCBIAS_J*4, BC_JLOOP); 2956 dasm_put(Dst, 16352, -BCBIAS_J*4, BC_JLOOP);
2953 } else if (op == BC_IFORL) { 2957 } else if (op == BC_IFORL) {
2954 dasm_put(Dst, 16343); 2958 dasm_put(Dst, 16366);
2955 } else { 2959 } else {
2956 dasm_put(Dst, 16339, BC_JLOOP); 2960 dasm_put(Dst, 16362, BC_JLOOP);
2957 } 2961 }
2958 dasm_put(Dst, 16348); 2962 dasm_put(Dst, 16371);
2959 } else if (!vk) { 2963 } else if (!vk) {
2960 dasm_put(Dst, 16355, LJ_TISNUM); 2964 dasm_put(Dst, 16378, LJ_TISNUM);
2961 } 2965 }
2962 if (!vk) { 2966 if (!vk) {
2963 dasm_put(Dst, 16361, LJ_TISNUM); 2967 dasm_put(Dst, 16384, LJ_TISNUM);
2964 } else { 2968 } else {
2965#ifdef LUA_USE_ASSERT 2969#ifdef LUA_USE_ASSERT
2966 dasm_put(Dst, 16375, LJ_TISNUM, LJ_TISNUM); 2970 dasm_put(Dst, 16398, LJ_TISNUM, LJ_TISNUM);
2967#endif 2971#endif
2968 } 2972 }
2969 dasm_put(Dst, 16394); 2973 dasm_put(Dst, 16417);
2970 if (!vk) { 2974 if (!vk) {
2971 dasm_put(Dst, 16398, LJ_TISNUM); 2975 dasm_put(Dst, 16421, LJ_TISNUM);
2972 } 2976 }
2973 if (sse) { 2977 if (sse) {
2974 dasm_put(Dst, 16407); 2978 dasm_put(Dst, 16430);
2975 if (vk) { 2979 if (vk) {
2976 dasm_put(Dst, 16419); 2980 dasm_put(Dst, 16442);
2977 } else { 2981 } else {
2978 dasm_put(Dst, 16438); 2982 dasm_put(Dst, 16461);
2979 } 2983 }
2980 dasm_put(Dst, 16443); 2984 dasm_put(Dst, 16466);
2981 } else { 2985 } else {
2982 dasm_put(Dst, 16456); 2986 dasm_put(Dst, 16479);
2983 if (vk) { 2987 if (vk) {
2984 dasm_put(Dst, 16462); 2988 dasm_put(Dst, 16485);
2985 } else { 2989 } else {
2986 dasm_put(Dst, 16478); 2990 dasm_put(Dst, 16501);
2987 } 2991 }
2988 dasm_put(Dst, 16486); 2992 dasm_put(Dst, 16509);
2989 if (cmov) { 2993 if (cmov) {
2990 dasm_put(Dst, 3901); 2994 dasm_put(Dst, 3924);
2991 } else { 2995 } else {
2992 dasm_put(Dst, 3907); 2996 dasm_put(Dst, 3930);
2993 } 2997 }
2994 if (!cmov) { 2998 if (!cmov) {
2995 dasm_put(Dst, 16491); 2999 dasm_put(Dst, 16514);
2996 } 3000 }
2997 } 3001 }
2998 if (op == BC_FORI) { 3002 if (op == BC_FORI) {
2999 if (LJ_DUALNUM) { 3003 if (LJ_DUALNUM) {
3000 dasm_put(Dst, 16497); 3004 dasm_put(Dst, 16520);
3001 } else { 3005 } else {
3002 dasm_put(Dst, 16502, -BCBIAS_J*4); 3006 dasm_put(Dst, 16525, -BCBIAS_J*4);
3003 } 3007 }
3004 } else if (op == BC_JFORI) { 3008 } else if (op == BC_JFORI) {
3005 dasm_put(Dst, 16512, -BCBIAS_J*4, BC_JLOOP); 3009 dasm_put(Dst, 16535, -BCBIAS_J*4, BC_JLOOP);
3006 } else if (op == BC_IFORL) { 3010 } else if (op == BC_IFORL) {
3007 if (LJ_DUALNUM) { 3011 if (LJ_DUALNUM) {
3008 dasm_put(Dst, 16526); 3012 dasm_put(Dst, 16549);
3009 } else { 3013 } else {
3010 dasm_put(Dst, 16531, -BCBIAS_J*4); 3014 dasm_put(Dst, 16554, -BCBIAS_J*4);
3011 } 3015 }
3012 } else { 3016 } else {
3013 dasm_put(Dst, 16522, BC_JLOOP); 3017 dasm_put(Dst, 16545, BC_JLOOP);
3014 } 3018 }
3015 if (LJ_DUALNUM) { 3019 if (LJ_DUALNUM) {
3016 dasm_put(Dst, 11102); 3020 dasm_put(Dst, 11125);
3017 } else { 3021 } else {
3018 dasm_put(Dst, 11843); 3022 dasm_put(Dst, 11866);
3019 } 3023 }
3020 if (sse) { 3024 if (sse) {
3021 dasm_put(Dst, 16541); 3025 dasm_put(Dst, 16564);
3022 } 3026 }
3023 break; 3027 break;
3024 3028
3025 case BC_ITERL: 3029 case BC_ITERL:
3026#if LJ_HASJIT 3030#if LJ_HASJIT
3027 dasm_put(Dst, 16133, HOTCOUNT_PCMASK, GG_DISP2HOT); 3031 dasm_put(Dst, 16156, HOTCOUNT_PCMASK, GG_DISP2HOT);
3028#endif 3032#endif
3029 break; 3033 break;
3030 3034
@@ -3033,33 +3037,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3033 break; 3037 break;
3034#endif 3038#endif
3035 case BC_IITERL: 3039 case BC_IITERL:
3036 dasm_put(Dst, 16552, LJ_TNIL); 3040 dasm_put(Dst, 16575, LJ_TNIL);
3037 if (op == BC_JITERL) { 3041 if (op == BC_JITERL) {
3038 dasm_put(Dst, 16567, BC_JLOOP); 3042 dasm_put(Dst, 16590, BC_JLOOP);
3039 } else { 3043 } else {
3040 dasm_put(Dst, 16581, -BCBIAS_J*4); 3044 dasm_put(Dst, 16604, -BCBIAS_J*4);
3041 } 3045 }
3042 dasm_put(Dst, 11203); 3046 dasm_put(Dst, 11226);
3043 break; 3047 break;
3044 3048
3045 case BC_LOOP: 3049 case BC_LOOP:
3046#if LJ_HASJIT 3050#if LJ_HASJIT
3047 dasm_put(Dst, 16133, HOTCOUNT_PCMASK, GG_DISP2HOT); 3051 dasm_put(Dst, 16156, HOTCOUNT_PCMASK, GG_DISP2HOT);
3048#endif 3052#endif
3049 break; 3053 break;
3050 3054
3051 case BC_ILOOP: 3055 case BC_ILOOP:
3052 dasm_put(Dst, 11205); 3056 dasm_put(Dst, 11228);
3053 break; 3057 break;
3054 3058
3055 case BC_JLOOP: 3059 case BC_JLOOP:
3056#if LJ_HASJIT 3060#if LJ_HASJIT
3057 dasm_put(Dst, 16597, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 3061 dasm_put(Dst, 16620, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
3058#endif 3062#endif
3059 break; 3063 break;
3060 3064
3061 case BC_JMP: 3065 case BC_JMP:
3062 dasm_put(Dst, 16620, -BCBIAS_J*4); 3066 dasm_put(Dst, 16643, -BCBIAS_J*4);
3063 break; 3067 break;
3064 3068
3065 /* -- Function headers -------------------------------------------------- */ 3069 /* -- Function headers -------------------------------------------------- */
@@ -3073,7 +3077,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3073 3077
3074 case BC_FUNCF: 3078 case BC_FUNCF:
3075#if LJ_HASJIT 3079#if LJ_HASJIT
3076 dasm_put(Dst, 16644, HOTCOUNT_PCMASK, GG_DISP2HOT); 3080 dasm_put(Dst, 16667, HOTCOUNT_PCMASK, GG_DISP2HOT);
3077#endif 3081#endif
3078 case BC_FUNCV: /* NYI: compiled vararg functions. */ 3082 case BC_FUNCV: /* NYI: compiled vararg functions. */
3079 break; 3083 break;
@@ -3083,47 +3087,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3083 break; 3087 break;
3084#endif 3088#endif
3085 case BC_IFUNCF: 3089 case BC_IFUNCF:
3086 dasm_put(Dst, 16665, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 3090 dasm_put(Dst, 16688, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
3087 if (op == BC_JFUNCF) { 3091 if (op == BC_JFUNCF) {
3088 dasm_put(Dst, 16695, BC_JLOOP); 3092 dasm_put(Dst, 16718, BC_JLOOP);
3089 } else { 3093 } else {
3090 dasm_put(Dst, 11205); 3094 dasm_put(Dst, 11228);
3091 } 3095 }
3092 dasm_put(Dst, 16704, LJ_TNIL); 3096 dasm_put(Dst, 16727, LJ_TNIL);
3093 break; 3097 break;
3094 3098
3095 case BC_JFUNCV: 3099 case BC_JFUNCV:
3096#if !LJ_HASJIT 3100#if !LJ_HASJIT
3097 break; 3101 break;
3098#endif 3102#endif
3099 dasm_put(Dst, 10305); 3103 dasm_put(Dst, 10328);
3100 break; /* NYI: compiled vararg functions. */ 3104 break; /* NYI: compiled vararg functions. */
3101 3105
3102 case BC_IFUNCV: 3106 case BC_IFUNCV:
3103 dasm_put(Dst, 16726, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 3107 dasm_put(Dst, 16749, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
3104 if (op == BC_JFUNCV) { 3108 if (op == BC_JFUNCV) {
3105 dasm_put(Dst, 16695, BC_JLOOP); 3109 dasm_put(Dst, 16718, BC_JLOOP);
3106 } else { 3110 } else {
3107 dasm_put(Dst, 16817, -4+PC2PROTO(k)); 3111 dasm_put(Dst, 16840, -4+PC2PROTO(k));
3108 } 3112 }
3109 dasm_put(Dst, 16839, LJ_TNIL); 3113 dasm_put(Dst, 16862, LJ_TNIL);
3110 break; 3114 break;
3111 3115
3112 case BC_FUNCC: 3116 case BC_FUNCC:
3113 case BC_FUNCCW: 3117 case BC_FUNCCW:
3114 dasm_put(Dst, 16861, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 3118 dasm_put(Dst, 16884, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
3115 if (op == BC_FUNCC) { 3119 if (op == BC_FUNCC) {
3116 dasm_put(Dst, 16890); 3120 dasm_put(Dst, 16913);
3117 } else { 3121 } else {
3118 dasm_put(Dst, 16894); 3122 dasm_put(Dst, 16917);
3119 } 3123 }
3120 dasm_put(Dst, 16902, DISPATCH_GL(vmstate), ~LJ_VMST_C); 3124 dasm_put(Dst, 16925, DISPATCH_GL(vmstate), ~LJ_VMST_C);
3121 if (op == BC_FUNCC) { 3125 if (op == BC_FUNCC) {
3122 dasm_put(Dst, 16911); 3126 dasm_put(Dst, 16934);
3123 } else { 3127 } else {
3124 dasm_put(Dst, 16915, DISPATCH_GL(wrapf)); 3128 dasm_put(Dst, 16938, DISPATCH_GL(wrapf));
3125 } 3129 }
3126 dasm_put(Dst, 16920, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 3130 dasm_put(Dst, 16943, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
3127 break; 3131 break;
3128 3132
3129 /* ---------------------------------------------------------------------- */ 3133 /* ---------------------------------------------------------------------- */
@@ -3151,7 +3155,7 @@ static int build_backend(BuildCtx *ctx)
3151 3155
3152 build_subroutines(ctx, cmov, sse); 3156 build_subroutines(ctx, cmov, sse);
3153 3157
3154 dasm_put(Dst, 16945); 3158 dasm_put(Dst, 16968);
3155 for (op = 0; op < BC__MAX; op++) 3159 for (op = 0; op < BC__MAX; op++)
3156 build_ins(ctx, (BCOp)op, op, cmov, sse); 3160 build_ins(ctx, (BCOp)op, op, cmov, sse);
3157 3161
diff --git a/src/lj_api.c b/src/lj_api.c
index 4942c1d6..3a8448b5 100644
--- a/src/lj_api.c
+++ b/src/lj_api.c
@@ -1104,7 +1104,7 @@ LUA_API int lua_yield(lua_State *L, int nresults)
1104 setcont(top+1, lj_cont_hook); 1104 setcont(top+1, lj_cont_hook);
1105 setframe_pc(top+1, cframe_pc(cf)-1); 1105 setframe_pc(top+1, cframe_pc(cf)-1);
1106 setframe_gc(top+2, obj2gco(L)); 1106 setframe_gc(top+2, obj2gco(L));
1107 top[2].fr.tp.ftsz = (int)((char *)(top+3)-(char *)L->base)+FRAME_CONT; 1107 setframe_ftsz(top+2, (int)((char *)(top+3)-(char *)L->base)+FRAME_CONT);
1108 L->top = L->base = top+3; 1108 L->top = L->base = top+3;
1109 } 1109 }
1110#if LJ_TARGET_X64 1110#if LJ_TARGET_X64
diff --git a/src/lj_frame.h b/src/lj_frame.h
index c123353e..4a2a767a 100644
--- a/src/lj_frame.h
+++ b/src/lj_frame.h
@@ -51,6 +51,7 @@ enum {
51/* Note: this macro does not skip over FRAME_VARG. */ 51/* Note: this macro does not skip over FRAME_VARG. */
52 52
53#define setframe_pc(f, pc) (setmref((f)->fr.tp.pcr, (pc))) 53#define setframe_pc(f, pc) (setmref((f)->fr.tp.pcr, (pc)))
54#define setframe_ftsz(f, sz) ((f)->fr.tp.ftsz = (sz))
54#define setframe_gc(f, p) (setgcref((f)->fr.func, (p))) 55#define setframe_gc(f, p) (setgcref((f)->fr.func, (p)))
55 56
56/* -- C stack frame ------------------------------------------------------- */ 57/* -- C stack frame ------------------------------------------------------- */
diff --git a/src/lj_meta.c b/src/lj_meta.c
index cd6fa8d3..58c6c73a 100644
--- a/src/lj_meta.c
+++ b/src/lj_meta.c
@@ -15,6 +15,7 @@
15#include "lj_str.h" 15#include "lj_str.h"
16#include "lj_tab.h" 16#include "lj_tab.h"
17#include "lj_meta.h" 17#include "lj_meta.h"
18#include "lj_frame.h"
18#include "lj_bc.h" 19#include "lj_bc.h"
19#include "lj_vm.h" 20#include "lj_vm.h"
20 21
@@ -68,6 +69,29 @@ cTValue *lj_meta_lookup(lua_State *L, cTValue *o, MMS mm)
68 return niltv(L); 69 return niltv(L);
69} 70}
70 71
72/* Tailcall from C function. */
73int lj_meta_tailcall(lua_State *L, cTValue *tv)
74{
75 TValue *base = L->base;
76 TValue *top = L->top;
77 const BCIns *pc = frame_pc(base-1); /* Preserve old PC from frame. */
78 copyTV(L, base-1, tv); /* Replace frame with new object. */
79 top->u64 = 0;
80 setframe_pc(top, pc);
81 setframe_gc(top+1, obj2gco(L)); /* Dummy frame object. */
82 setframe_ftsz(top+1, (int)((char *)(top+2) - (char *)base) + FRAME_CONT);
83 L->base = L->top = top+2;
84 /*
85 ** before: [old_mo|PC] [... ...]
86 ** ^base ^top
87 ** after: [new_mo|itype] [... ...] [NULL|PC] [dummy|delta]
88 ** ^base/top
89 ** tailcall: [new_mo|PC] [... ...]
90 ** ^base ^top
91 */
92 return 0;
93}
94
71/* Setup call to metamethod to be run by Assembler VM. */ 95/* Setup call to metamethod to be run by Assembler VM. */
72static TValue *mmcall(lua_State *L, ASMFunction cont, cTValue *mo, 96static TValue *mmcall(lua_State *L, ASMFunction cont, cTValue *mo,
73 cTValue *a, cTValue *b) 97 cTValue *a, cTValue *b)
diff --git a/src/lj_meta.h b/src/lj_meta.h
index 32b3dec3..c16c0da3 100644
--- a/src/lj_meta.h
+++ b/src/lj_meta.h
@@ -12,6 +12,7 @@
12LJ_FUNC void lj_meta_init(lua_State *L); 12LJ_FUNC void lj_meta_init(lua_State *L);
13LJ_FUNC cTValue *lj_meta_cache(GCtab *mt, MMS mm, GCstr *name); 13LJ_FUNC cTValue *lj_meta_cache(GCtab *mt, MMS mm, GCstr *name);
14LJ_FUNC cTValue *lj_meta_lookup(lua_State *L, cTValue *o, MMS mm); 14LJ_FUNC cTValue *lj_meta_lookup(lua_State *L, cTValue *o, MMS mm);
15LJ_FUNC int lj_meta_tailcall(lua_State *L, cTValue *tv);
15 16
16#define lj_meta_fastg(g, mt, mm) \ 17#define lj_meta_fastg(g, mt, mm) \
17 ((mt) == NULL ? NULL : ((mt)->nomm & (1u<<(mm))) ? NULL : \ 18 ((mt) == NULL ? NULL : ((mt)->nomm & (1u<<(mm))) ? NULL : \