aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2011-04-18 21:23:21 +0200
committerMike Pall <mike>2011-04-18 21:24:47 +0200
commita1ffb6114f2e2651831e7abc44dd313b7ee5ac97 (patch)
tree37809b4e22a4c7e0752909409f3d7a4bc690e4e3 /src
parentca18293ebc80d83ba32737d308c6a8e7a526174d (diff)
downloadluajit-a1ffb6114f2e2651831e7abc44dd313b7ee5ac97.tar.gz
luajit-a1ffb6114f2e2651831e7abc44dd313b7ee5ac97.tar.bz2
luajit-a1ffb6114f2e2651831e7abc44dd313b7ee5ac97.zip
ARM: Add missing FFI functionality. Enable FFI for ARM.
Diffstat (limited to 'src')
-rw-r--r--src/buildvm_arm.dasc61
-rw-r--r--src/buildvm_arm.h1645
-rw-r--r--src/lj_arch.h1
3 files changed, 920 insertions, 787 deletions
diff --git a/src/buildvm_arm.dasc b/src/buildvm_arm.dasc
index 68f33d97..9032c9c2 100644
--- a/src/buildvm_arm.dasc
+++ b/src/buildvm_arm.dasc
@@ -172,6 +172,7 @@
172|// Macros to test operand types. 172|// Macros to test operand types.
173|.macro checktp, reg, tp; cmn reg, #-tp; .endmacro 173|.macro checktp, reg, tp; cmn reg, #-tp; .endmacro
174|.macro checktpeq, reg, tp; cmneq reg, #-tp; .endmacro 174|.macro checktpeq, reg, tp; cmneq reg, #-tp; .endmacro
175|.macro checktpne, reg, tp; cmnne reg, #-tp; .endmacro
175|.macro checkstr, reg, target; checktp reg, LJ_TSTR; bne target; .endmacro 176|.macro checkstr, reg, target; checktp reg, LJ_TSTR; bne target; .endmacro
176|.macro checktab, reg, target; checktp reg, LJ_TTAB; bne target; .endmacro 177|.macro checktab, reg, target; checktp reg, LJ_TTAB; bne target; .endmacro
177|.macro checkfunc, reg, target; checktp reg, LJ_TFUNC; bne target; .endmacro 178|.macro checkfunc, reg, target; checktp reg, LJ_TFUNC; bne target; .endmacro
@@ -674,6 +675,18 @@ static void build_subroutines(BuildCtx *ctx)
674 | // Returns 0/1 or TValue * (metamethod). 675 | // Returns 0/1 or TValue * (metamethod).
675 | b <3 676 | b <3
676 | 677 |
678 |->vmeta_equal_cd:
679#if LJ_HASFFI
680 | sub PC, PC, #4
681 | str BASE, L->base
682 | mov CARG1, L
683 | mov CARG2, INS
684 | str PC, SAVE_PC
685 | bl extern lj_meta_equal_cd // (lua_State *L, BCIns op)
686 | // Returns 0/1 or TValue * (metamethod).
687 | b <3
688#endif
689 |
677 |//-- Arithmetic metamethods --------------------------------------------- 690 |//-- Arithmetic metamethods ---------------------------------------------
678 | 691 |
679 |->vmeta_arith_vn: 692 |->vmeta_arith_vn:
@@ -2084,6 +2097,11 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
2084 | bls ->BC_ISNEN_Z 2097 | bls ->BC_ISNEN_Z
2085 } 2098 }
2086 | // Either or both types are not numbers. 2099 | // Either or both types are not numbers.
2100 if (LJ_HASFFI) {
2101 | checktp CARG2, LJ_TCDATA
2102 | checktpne CARG4, LJ_TCDATA
2103 | beq ->vmeta_equal_cd
2104 }
2087 | cmp CARG2, CARG4 // Compare types. 2105 | cmp CARG2, CARG4 // Compare types.
2088 | bne >2 // Not the same type? 2106 | bne >2 // Not the same type?
2089 | checktp CARG2, LJ_TISPRI 2107 | checktp CARG2, LJ_TISPRI
@@ -2137,13 +2155,27 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
2137 | add PC, PC, #4 2155 | add PC, PC, #4
2138 | add RB, PC, RB, lsl #2 2156 | add RB, PC, RB, lsl #2
2139 | checktp CARG2, LJ_TSTR 2157 | checktp CARG2, LJ_TSTR
2140 | cmpeq CARG1, CARG3 2158 if (LJ_HASFFI) {
2159 | bne >7
2160 | cmp CARG1, CARG3
2161 } else {
2162 | cmpeq CARG1, CARG3
2163 }
2141 if (vk) { 2164 if (vk) {
2142 | subeq PC, RB, #0x20000 2165 | subeq PC, RB, #0x20000
2166 |1:
2143 } else { 2167 } else {
2168 |1:
2144 | subne PC, RB, #0x20000 2169 | subne PC, RB, #0x20000
2145 } 2170 }
2146 | ins_next 2171 | ins_next
2172 |
2173 if (LJ_HASFFI) {
2174 |7:
2175 | checktp CARG2, LJ_TCDATA
2176 | bne <1
2177 | b ->vmeta_equal_cd
2178 }
2147 break; 2179 break;
2148 2180
2149 case BC_ISEQN: case BC_ISNEN: 2181 case BC_ISEQN: case BC_ISNEN:
@@ -2167,17 +2199,23 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
2167 | cmp CARG1, CARG3 2199 | cmp CARG1, CARG3
2168 if (vk) { 2200 if (vk) {
2169 | subeq PC, RB, #0x20000 2201 | subeq PC, RB, #0x20000
2202 |1:
2170 } else { 2203 } else {
2204 |1:
2171 | subne PC, RB, #0x20000 2205 | subne PC, RB, #0x20000
2172 } 2206 }
2173 |1: 2207 |2:
2174 | ins_next 2208 | ins_next
2175 | 2209 |
2176 |3: // CARG12 is not an integer. 2210 |3: // CARG12 is not an integer.
2177 if (!vk) { 2211 if (LJ_HASFFI) {
2178 | subhi PC, RB, #0x20000 2212 | bhi >7
2213 } else {
2214 if (!vk) {
2215 | subhi PC, RB, #0x20000
2216 }
2217 | bhi <2
2179 } 2218 }
2180 | bhi <1
2181 | // CARG12 is a number. 2219 | // CARG12 is a number.
2182 | checktp CARG4, LJ_TISNUM 2220 | checktp CARG4, LJ_TISNUM
2183 | movlo RA, RB // Save RB. 2221 | movlo RA, RB // Save RB.
@@ -2196,7 +2234,14 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
2196 } else { 2234 } else {
2197 | subne PC, RA, #0x20000 2235 | subne PC, RA, #0x20000
2198 } 2236 }
2199 | b <1 2237 | b <2
2238 |
2239 if (LJ_HASFFI) {
2240 |7:
2241 | checktp CARG2, LJ_TCDATA
2242 | bne <1
2243 | b ->vmeta_equal_cd
2244 }
2200 break; 2245 break;
2201 2246
2202 case BC_ISEQP: case BC_ISNEP: 2247 case BC_ISEQP: case BC_ISNEP:
@@ -2207,6 +2252,10 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
2207 | add PC, PC, #4 2252 | add PC, PC, #4
2208 | mvn RC, RC 2253 | mvn RC, RC
2209 | add RB, PC, RB, lsl #2 2254 | add RB, PC, RB, lsl #2
2255 if (LJ_HASFFI) {
2256 | checktp CARG2, LJ_TCDATA
2257 | beq ->vmeta_equal_cd
2258 }
2210 | cmp CARG2, RC 2259 | cmp CARG2, RC
2211 if (vk) { 2260 if (vk) {
2212 | subeq PC, RB, #0x20000 2261 | subeq PC, RB, #0x20000
diff --git a/src/buildvm_arm.h b/src/buildvm_arm.h
index 738d293a..70c21538 100644
--- a/src/buildvm_arm.h
+++ b/src/buildvm_arm.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[5145] = { 15static const unsigned int build_actionlist[5200] = {
160x00010001, 160x00010001,
170x00060014, 170x00060014,
180xe3160000, 180xe3160000,
@@ -543,27 +543,40 @@ static const unsigned int build_actionlist[5145] = {
5430xea000000, 5430xea000000,
5440x0005000d, 5440x0005000d,
5450x0006003a, 5450x0006003a,
5460x00000000,
5470xe2466004,
5480xe5084000,
5490x000d8180,
5500xe1a00008,
5510xe1a0100e,
5520xe58d6008,
5530xeb000000,
5540x00030005,
5550xea000000,
5560x0005000d,
5570x00000000,
5580x0006003b,
5460xe009caae, 5590xe009caae,
5470xe009b6ae, 5600xe009b6ae,
5480xe084200c, 5610xe084200c,
5490xe085300b, 5620xe085300b,
5500xea000000, 5630xea000000,
5510x00050001, 5640x00050001,
5520x0006003b, 5650x0006003c,
5530xe009caae, 5660xe009caae,
5540xe009b6ae, 5670xe009b6ae,
5550xe084300c, 5680xe084300c,
5560xe085200b, 5690xe085200b,
5570xea000000, 5700xea000000,
5580x00050001, 5710x00050001,
5590x0006003c, 5720x0006003d,
5600xe516e008, 5730xe516e008,
5610xe2466004, 5740xe2466004,
5620xe084200b, 5750xe084200b,
5630xe084300b, 5760xe084300b,
5640xea000000, 5770xea000000,
5650x00050001, 5780x00050001,
5660x0006003d, 5790x0006003e,
5670xe009caae, 5800xe009caae,
5680xe009b6ae, 5810xe009b6ae,
5690xe084200c, 5820xe084200c,
@@ -577,7 +590,7 @@ static const unsigned int build_actionlist[5145] = {
5770xe58d6008, 5900xe58d6008,
5780xe58dc000, 5910xe58dc000,
5790xeb000000, 5920xeb000000,
5800x00030005, 5930x00030006,
5810xe3500000, 5940xe3500000,
5820x0a000000, 5950x0a000000,
5830x0005002b, 5960x0005002b,
@@ -590,18 +603,17 @@ static const unsigned int build_actionlist[5145] = {
5900xe3a0b010, 6030xe3a0b010,
5910xea000000, 6040xea000000,
5920x00050024, 6050x00050024,
5930x0006003e, 6060x0006003f,
5940xe084100b, 6070xe084100b,
5950xe5084000, 6080xe5084000,
5960x000d8180, 6090x000d8180,
5970xe1a00008, 6100xe1a00008,
5980xe58d6008, 6110xe58d6008,
5990xeb000000, 6120xeb000000,
6000x00030006, 6130x00030007,
6010xea000000, 6140xea000000,
6020x00050035, 6150x00050035,
6030x00060025, 6160x00060025,
6040x00000000,
6050xe1a00008, 6170xe1a00008,
6060xe508c000, 6180xe508c000,
6070x000d8180, 6190x000d8180,
@@ -609,19 +621,20 @@ static const unsigned int build_actionlist[5145] = {
6090xe58d6008, 6210xe58d6008,
6100xe084200b, 6220xe084200b,
6110xeb000000, 6230xeb000000,
6120x00030007, 6240x00030008,
6130xe5142008, 6250xe5142008,
6140xe28bb008, 6260xe28bb008,
6150xe5046004, 6270xe5046004,
6160xe5126000, 6280xe5126000,
6170x000d8180, 6290x000d8180,
6300x00000000,
6180xe5d6c000, 6310xe5d6c000,
6190xe496e004, 6320xe496e004,
6200xe797c10c, 6330xe797c10c,
6210xe009a2ae, 6340xe009a2ae,
6220xe08aa004, 6350xe08aa004,
6230xe12fff1c, 6360xe12fff1c,
6240x0006003f, 6370x00060040,
6250xe1a00008, 6380xe1a00008,
6260xe5084000, 6390xe5084000,
6270x000d8180, 6400x000d8180,
@@ -629,20 +642,20 @@ static const unsigned int build_actionlist[5145] = {
6290xe58d6008, 6420xe58d6008,
6300xe08a200b, 6430xe08a200b,
6310xeb000000, 6440xeb000000,
6320x00030007, 6450x00030008,
6330xe51a2008, 6460xe51a2008,
6340xe5146004, 6470xe5146004,
6350xe28bb008, 6480xe28bb008,
6360xea000000, 6490xea000000,
6370x00050040, 6500x00050041,
6380x00060041, 6510x00060042,
6390xe1a00008, 6520xe1a00008,
6400xe5084000, 6530xe5084000,
6410x000d8180, 6540x000d8180,
6420xe1a0100a, 6550xe1a0100a,
6430xe58d6008, 6560xe58d6008,
6440xeb000000, 6570xeb000000,
6450x00030008, 6580x00030009,
6460x00000000, 6590x00000000,
6470xe556c004, 6600xe556c004,
6480x00000000, 6610x00000000,
@@ -659,22 +672,22 @@ static const unsigned int build_actionlist[5145] = {
6590x00000000, 6720x00000000,
6600xea000000, 6730xea000000,
6610x00070000, 6740x00070000,
6620x00060042, 6750x00060043,
6630xe1c400d0, 6760xe1c400d0,
6640xe35b0008, 6770xe35b0008,
6650x3a000000, 6780x3a000000,
6660x00050043, 6790x00050044,
6670xe3710000, 6800xe3710000,
6680x000a0000, 6810x000a0000,
6690x8a000000, 6820x8a000000,
6700x00050043, 6830x00050044,
6710xe5146004, 6840xe5146004,
6720xe14400f8, 6850xe14400f8,
6730xe1a0c004, 6860xe1a0c004,
6740xe25ba008, 6870xe25ba008,
6750xe28bb008, 6880xe28bb008,
6760x0a000000, 6890x0a000000,
6770x00050044, 6900x00050045,
6780x0006000b, 6910x0006000b,
6790xe1cc00d8, 6920xe1cc00d8,
6800xe25aa008, 6930xe25aa008,
@@ -682,12 +695,12 @@ static const unsigned int build_actionlist[5145] = {
6820x1a000000, 6950x1a000000,
6830x0005000b, 6960x0005000b,
6840xea000000, 6970xea000000,
6850x00050044, 6980x00050045,
6860x00060045, 6990x00060046,
6870xe5941004, 7000xe5941004,
6880xe35b0008, 7010xe35b0008,
6890x3a000000, 7020x3a000000,
6900x00050043, 7030x00050044,
6910xe3710000, 7040xe3710000,
6920x000a0000, 7050x000a0000,
6930x33e01000, 7060x33e01000,
@@ -697,12 +710,12 @@ static const unsigned int build_actionlist[5145] = {
6970xe1a03183, 7100xe1a03183,
6980xe18200d3, 7110xe18200d3,
6990xea000000, 7120xea000000,
7000x00050046, 7130x00050047,
7010x00060047, 7140x00060048,
7020xe1c400d0, 7150xe1c400d0,
7030xe35b0008, 7160xe35b0008,
7040x3a000000, 7170x3a000000,
7050x00050043, 7180x00050044,
7060xe3710000, 7190xe3710000,
7070x000a0000, 7200x000a0000,
7080x13710000, 7210x13710000,
@@ -720,7 +733,7 @@ static const unsigned int build_actionlist[5145] = {
7200x000d8180, 7330x000d8180,
7210xe35c0000, 7340xe35c0000,
7220x0a000000, 7350x0a000000,
7230x00050046, 7360x00050047,
7240xe51c2000, 7370xe51c2000,
7250x000d8180, 7380x000d8180,
7260xe51b3000, 7390xe51b3000,
@@ -750,12 +763,12 @@ static const unsigned int build_actionlist[5145] = {
7500xe3e01000, 7630xe3e01000,
7510x000a0000, 7640x000a0000,
7520xea000000, 7650xea000000,
7530x00050046, 7660x00050047,
7540x0006000f, 7670x0006000f,
7550xe3710000, 7680xe3710000,
7560x000a0000, 7690x000a0000,
7570x1a000000, 7700x1a000000,
7580x00050046, 7710x00050047,
7590xea000000, 7720xea000000,
7600x0005000e, 7730x0005000e,
7610x00060010, 7740x00060010,
@@ -770,12 +783,12 @@ static const unsigned int build_actionlist[5145] = {
7700x000d8180, 7830x000d8180,
7710xea000000, 7840xea000000,
7720x0005000c, 7850x0005000c,
7730x00060048, 7860x00060049,
7740xe1c400d0, 7870xe1c400d0,
7750xe1c420d8, 7880xe1c420d8,
7760xe35b0010, 7890xe35b0010,
7770x3a000000, 7900x3a000000,
7780x00050043, 7910x00050044,
7790xe3710000, 7920xe3710000,
7800x000a0000, 7930x000a0000,
7810x0510c000, 7940x0510c000,
@@ -786,13 +799,13 @@ static const unsigned int build_actionlist[5145] = {
7860x000d8180, 7990x000d8180,
7870x035c0000, 8000x035c0000,
7880x1a000000, 8010x1a000000,
7890x00050043, 8020x00050044,
7900xe3130000, 8030xe3130000,
7910x000a0000, 8040x000a0000,
7920xe5002000, 8050xe5002000,
7930x000d8180, 8060x000d8180,
7940x0a000000, 8070x0a000000,
7950x00050046, 8080x00050047,
7960xe5172000, 8090xe5172000,
7970x000d8180, 8100x000d8180,
7980xe3c33000, 8110xe3c33000,
@@ -804,45 +817,45 @@ static const unsigned int build_actionlist[5145] = {
8040xe5002000, 8170xe5002000,
8050x000d8180, 8180x000d8180,
8060xea000000, 8190xea000000,
8070x00050046, 8200x00050047,
8080x00060049, 8210x0006004a,
8090xe1c420d0, 8220xe1c420d0,
8100xe35b0010, 8230xe35b0010,
8110x3a000000, 8240x3a000000,
8120x00050043, 8250x00050044,
8130xe1a01002, 8260xe1a01002,
8140xe3730000, 8270xe3730000,
8150x000a0000, 8280x000a0000,
8160x00000000, 8290x00000000,
8170x1a000000, 8300x1a000000,
8180x00050043, 8310x00050044,
8190xe1a00008, 8320xe1a00008,
8200xe2842008, 8330xe2842008,
8210xeb000000, 8340xeb000000,
8220x00030009, 8350x0003000a,
8230xe1c000d0, 8360xe1c000d0,
8240xea000000, 8370xea000000,
8250x00050046, 8380x00050047,
8260x0006004a, 8390x0006004b,
8270xe1c400d0, 8400xe1c400d0,
8280xe35b0008, 8410xe35b0008,
8290x3a000000, 8420x3a000000,
8300x00050043, 8430x00050044,
8310xe3710000, 8440xe3710000,
8320x000a0000, 8450x000a0000,
8330x9a000000, 8460x9a000000,
8340x00050046, 8470x00050047,
8350xea000000, 8480xea000000,
8360x00050043, 8490x00050044,
8370x0006004b, 8500x0006004c,
8380xe1c400d0, 8510xe1c400d0,
8390xe35b0008, 8520xe35b0008,
8400x3a000000, 8530x3a000000,
8410x00050043, 8540x00050044,
8420xe3710000, 8550xe3710000,
8430x000a0000, 8560x000a0000,
8440x0a000000, 8570x0a000000,
8450x00050046, 8580x00050047,
8460xe5173000, 8590xe5173000,
8470x000d8180, 8600x000d8180,
8480xe5084000, 8610xe5084000,
@@ -852,36 +865,36 @@ static const unsigned int build_actionlist[5145] = {
8520x93530000, 8650x93530000,
8530xe58d6008, 8660xe58d6008,
8540x8a000000, 8670x8a000000,
8550x00050043, 8680x00050044,
8560xe5170000, 8690xe5170000,
8570x000d8180, 8700x000d8180,
8580xe5171000, 8710xe5171000,
8590x000d8180, 8720x000d8180,
8600xe1500001, 8730xe1500001,
8610xab000000, 8740xab000000,
8620x0005004c, 8750x0005004d,
8630xe1a00008, 8760xe1a00008,
8640xe1a01004, 8770xe1a01004,
8650xeb000000, 8780xeb000000,
8660x0003000a, 8790x0003000b,
8670xe5184000, 8800xe5184000,
8680x000d8180, 8810x000d8180,
8690xe3e01000, 8820xe3e01000,
8700x000a0000, 8830x000a0000,
8710x00000000, 8840x00000000,
8720xea000000, 8850xea000000,
8730x00050046, 8860x00050047,
8740x0006004d, 8870x0006004e,
8750xe1c400d0, 8880xe1c400d0,
8760xe35b0008, 8890xe35b0008,
8770x3a000000, 8900x3a000000,
8780x00050043, 8910x00050044,
8790xe3e03000, 8920xe3e03000,
8800x000a0000, 8930x000a0000,
8810xe3710000, 8940xe3710000,
8820x000a0000, 8950x000a0000,
8830x1a000000, 8960x1a000000,
8840x00050043, 8970x00050044,
8850xe18420fb, 8980xe18420fb,
8860xe5146004, 8990xe5146004,
8870xe1a01000, 9000xe1a01000,
@@ -893,12 +906,12 @@ static const unsigned int build_actionlist[5145] = {
8930xe2842008, 9060xe2842008,
8940xe58d6008, 9070xe58d6008,
8950xeb000000, 9080xeb000000,
8960x0003000b, 9090x0003000c,
8970xe3500000, 9100xe3500000,
8980x03e01000, 9110x03e01000,
8990x000a0000, 9120x000a0000,
9000x0a000000, 9130x0a000000,
9010x00050046, 9140x00050047,
9020xe1c400d8, 9150xe1c400d8,
9030xe1c421d0, 9160xe1c421d0,
9040xe3a0b000, 9170xe3a0b000,
@@ -906,16 +919,16 @@ static const unsigned int build_actionlist[5145] = {
9060xe14400f8, 9190xe14400f8,
9070xe1c420f0, 9200xe1c420f0,
9080xea000000, 9210xea000000,
9090x00050044, 9220x00050045,
9100x0006004e, 9230x0006004f,
9110xe1c400d0, 9240xe1c400d0,
9120xe35b0008, 9250xe35b0008,
9130x3a000000, 9260x3a000000,
9140x00050043, 9270x00050044,
9150xe3710000, 9280xe3710000,
9160x000a0000, 9290x000a0000,
9170x1a000000, 9300x1a000000,
9180x00050043, 9310x00050044,
9190x00000000, 9320x00000000,
9200xe510c000, 9330xe510c000,
9210x000d8180, 9340x000d8180,
@@ -926,7 +939,7 @@ static const unsigned int build_actionlist[5145] = {
9260x00000000, 9390x00000000,
9270xe35c0000, 9400xe35c0000,
9280x1a000000, 9410x1a000000,
9290x00050043, 9420x00050044,
9300x00000000, 9430x00000000,
9310xe3e01000, 9440xe3e01000,
9320x000a0000, 9450x000a0000,
@@ -935,19 +948,19 @@ static const unsigned int build_actionlist[5145] = {
9350xe14420f8, 9480xe14420f8,
9360xe584100c, 9490xe584100c,
9370xea000000, 9500xea000000,
9380x00050044, 9510x00050045,
9390x0006004f, 9520x00060050,
9400xe1c400d0, 9530xe1c400d0,
9410xe1c420d8, 9540xe1c420d8,
9420xe35b0010, 9550xe35b0010,
9430x3a000000, 9560x3a000000,
9440x00050043, 9570x00050044,
9450xe3710000, 9580xe3710000,
9460x000a0000, 9590x000a0000,
9470x03730000, 9600x03730000,
9480x000a0000, 9610x000a0000,
9490x1a000000, 9620x1a000000,
9500x00050043, 9630x00050044,
9510xe510c000, 9640xe510c000,
9520x000d8180, 9650x000d8180,
9530xe510b000, 9660xe510b000,
@@ -969,32 +982,32 @@ static const unsigned int build_actionlist[5145] = {
9690x000a0000, 9820x000a0000,
9700x11c400f0, 9830x11c400f0,
9710xea000000, 9840xea000000,
9720x00050044, 9850x00050045,
9730x0006000c, 9860x0006000c,
9740xe510c000, 9870xe510c000,
9750x000d8180, 9880x000d8180,
9760xe1a01002, 9890xe1a01002,
9770xe35c0000, 9900xe35c0000,
9780x0a000000, 9910x0a000000,
9790x00050044, 9920x00050045,
9800xeb000000, 9930xeb000000,
9810x0003000c, 9940x0003000d,
9820xe3500000, 9950xe3500000,
9830x0a000000, 9960x0a000000,
9840x00050044, 9970x00050045,
9850xe1c000d0, 9980xe1c000d0,
9860xea000000, 9990xea000000,
9870x0005000b, 10000x0005000b,
9880x00060050, 10010x00060051,
9890x00000000, 10020x00000000,
9900xe1c400d0, 10030xe1c400d0,
9910xe35b0008, 10040xe35b0008,
9920x3a000000, 10050x3a000000,
9930x00050043, 10060x00050044,
9940xe3710000, 10070xe3710000,
9950x000a0000, 10080x000a0000,
9960x1a000000, 10090x1a000000,
9970x00050043, 10100x00050044,
9980x00000000, 10110x00000000,
9990xe510c000, 10120xe510c000,
10000x000d8180, 10130x000d8180,
@@ -1005,7 +1018,7 @@ static const unsigned int build_actionlist[5145] = {
10050x00000000, 10180x00000000,
10060xe35c0000, 10190xe35c0000,
10070x1a000000, 10200x1a000000,
10080x00050043, 10210x00050044,
10090x00000000, 10220x00000000,
10100xe3a00000, 10230xe3a00000,
10110xe3e01000, 10240xe3e01000,
@@ -1015,13 +1028,13 @@ static const unsigned int build_actionlist[5145] = {
10150xe14420f8, 10280xe14420f8,
10160xe1c400f8, 10290xe1c400f8,
10170xea000000, 10300xea000000,
10180x00050044, 10310x00050045,
10190x00060051, 10320x00060052,
10200xe557a000, 10330xe557a000,
10210x000d8180, 10340x000d8180,
10220xe35b0008, 10350xe35b0008,
10230x3a000000, 10360x3a000000,
10240x00050043, 10370x00050044,
10250xe31a0000, 10380xe31a0000,
10260x000a0000, 10390x000a0000,
10270xe1a0c004, 10400xe1a0c004,
@@ -1033,18 +1046,18 @@ static const unsigned int build_actionlist[5145] = {
10330xe24bb008, 10460xe24bb008,
10340xea000000, 10470xea000000,
10350x00050024, 10480x00050024,
10360x00060052, 10490x00060053,
10370xe1c400d0, 10500xe1c400d0,
10380xe1c420d8, 10510xe1c420d8,
10390xe35b0010, 10520xe35b0010,
10400x3a000000, 10530x3a000000,
10410x00050043, 10540x00050044,
10420xe557a000, 10550xe557a000,
10430x000d8180, 10560x000d8180,
10440xe3730000, 10570xe3730000,
10450x000a0000, 10580x000a0000,
10460x1a000000, 10590x1a000000,
10470x00050043, 10600x00050044,
10480xe1a0c004, 10610xe1a0c004,
10490xe1c400f8, 10620xe1c400f8,
10500xe1c420f0, 10630xe1c420f0,
@@ -1058,16 +1071,16 @@ static const unsigned int build_actionlist[5145] = {
10580xe24bb010, 10710xe24bb010,
10590xea000000, 10720xea000000,
10600x00050024, 10730x00050024,
10610x00060053, 10740x00060054,
10620xe1c400d0, 10750xe1c400d0,
10630xe35b0008, 10760xe35b0008,
10640x3a000000, 10770x3a000000,
10650x00050043, 10780x00050044,
10660xe3710000, 10790xe3710000,
10670x000a0000, 10800x000a0000,
10680x00000000, 10810x00000000,
10690x1a000000, 10820x1a000000,
10700x00050043, 10830x00050044,
10710xe5146004, 10840xe5146004,
10720xe5084000, 10850xe5084000,
10730x000d8180, 10860x000d8180,
@@ -1082,7 +1095,7 @@ static const unsigned int build_actionlist[5145] = {
10820xe58d6008, 10950xe58d6008,
10830xe153000c, 10960xe153000c,
10840x0a000000, 10970x0a000000,
10850x00050043, 10980x00050044,
10860xe5103000, 10990xe5103000,
10870x000d8180, 11000x000d8180,
10880xe510c000, 11010xe510c000,
@@ -1092,7 +1105,7 @@ static const unsigned int build_actionlist[5145] = {
10920x91520003, 11050x91520003,
10930x935c0000, 11060x935c0000,
10940x8a000000, 11070x8a000000,
10950x00050043, 11080x00050044,
10960x0006000b, 11090x0006000b,
10970xe2422008, 11100xe2422008,
10980xe2844008, 11110xe2844008,
@@ -1183,7 +1196,7 @@ static const unsigned int build_actionlist[5145] = {
11830xe3a00000, 11960xe3a00000,
11840xea000000, 11970xea000000,
11850x0005000e, 11980x0005000e,
11860x00060054, 11990x00060055,
11870x00000000, 12000x00000000,
11880xe5120000, 12010xe5120000,
11890x000d8180, 12020x000d8180,
@@ -1201,7 +1214,7 @@ static const unsigned int build_actionlist[5145] = {
12010xe58d6008, 12140xe58d6008,
12020xe153000c, 12150xe153000c,
12030x0a000000, 12160x0a000000,
12040x00050043, 12170x00050044,
12050xe5103000, 12180xe5103000,
12060x000d8180, 12190x000d8180,
12070xe510c000, 12200xe510c000,
@@ -1211,7 +1224,7 @@ static const unsigned int build_actionlist[5145] = {
12110x91520003, 12240x91520003,
12120x935c0000, 12250x935c0000,
12130x8a000000, 12260x8a000000,
12140x00050043, 12270x00050044,
12150x0006000b, 12280x0006000b,
12160xe5002000, 12290xe5002000,
12170x000d8180, 12300x000d8180,
@@ -1280,7 +1293,7 @@ static const unsigned int build_actionlist[5145] = {
12800xe1a00008, 12930xe1a00008,
12810xe1a0100a, 12940xe1a0100a,
12820xeb000000, 12950xeb000000,
12830x0003000d, 12960x0003000e,
12840x00060013, 12970x00060013,
12850xe1a00008, 12980xe1a00008,
12860xe1a011ab, 12990xe1a011ab,
@@ -1289,7 +1302,7 @@ static const unsigned int build_actionlist[5145] = {
12890xe3a00000, 13020xe3a00000,
12900xea000000, 13030xea000000,
12910x0005000e, 13040x0005000e,
12920x00060055, 13050x00060056,
12930xe5180000, 13060xe5180000,
12940x000d8180, 13070x000d8180,
12950xe084100b, 13080xe084100b,
@@ -1304,24 +1317,24 @@ static const unsigned int build_actionlist[5145] = {
13040x000a0000, 13170x000a0000,
13050xe3a02000, 13180xe3a02000,
13060x0a000000, 13190x0a000000,
13070x00050043, 13200x00050044,
13080xe5082000, 13210xe5082000,
13090x000d8180, 13220x000d8180,
13100xe5480000, 13230xe5480000,
13110x000d8180, 13240x000d8180,
13120xea000000, 13250xea000000,
13130x0005001a, 13260x0005001a,
13140x00060056, 13270x00060057,
13150xe1c400d0, 13280xe1c400d0,
13160xe35b0008, 13290xe35b0008,
13170x3a000000, 13300x3a000000,
13180x00050043, 13310x00050044,
13190xe3710000, 13320xe3710000,
13200x000a0000, 13330x000a0000,
13210x0a000000, 13340x0a000000,
13220x00050046, 13350x00050047,
13230x8a000000, 13360x8a000000,
13240x00050043, 13370x00050044,
13250xe1a02081, 13380xe1a02081,
13260xe292c980, 13390xe292c980,
13270x5a000000, 13400x5a000000,
@@ -1345,7 +1358,7 @@ static const unsigned int build_actionlist[5145] = {
13450xe3e01000, 13580xe3e01000,
13460x000a0000, 13590x000a0000,
13470xea000000, 13600xea000000,
13480x00050046, 13610x00050047,
13490x0006000c, 13620x0006000c,
13500xe1822000, 13630xe1822000,
13510xe1120fc1, 13640xe1120fc1,
@@ -1354,7 +1367,7 @@ static const unsigned int build_actionlist[5145] = {
13540xe3e01000, 13670xe3e01000,
13550x000a0000, 13680x000a0000,
13560xea000000, 13690xea000000,
13570x00050046, 13700x00050047,
13580x0006000d, 13710x0006000d,
13590x03530480, 13720x03530480,
13600x03520000, 13730x03520000,
@@ -1367,20 +1380,20 @@ static const unsigned int build_actionlist[5145] = {
13670x0006000e, 13800x0006000e,
13680x00000000, 13810x00000000,
13690xeb000000, 13820xeb000000,
13700x0003000e, 13830x0003000f,
13710xea000000, 13840xea000000,
13720x00050046, 13850x00050047,
13730x00060057, 13860x00060058,
13740xe1c400d0, 13870xe1c400d0,
13750xe35b0008, 13880xe35b0008,
13760x3a000000, 13890x3a000000,
13770x00050043, 13900x00050044,
13780xe3710000, 13910xe3710000,
13790x000a0000, 13920x000a0000,
13800x0a000000, 13930x0a000000,
13810x00050046, 13940x00050047,
13820x8a000000, 13950x8a000000,
13830x00050043, 13960x00050044,
13840xe1a02081, 13970xe1a02081,
13850xe292c980, 13980xe292c980,
13860x5a000000, 13990x5a000000,
@@ -1401,14 +1414,14 @@ static const unsigned int build_actionlist[5145] = {
14010x614f00d0, 14140x614f00d0,
14020x00051809, 14150x00051809,
14030x6a000000, 14160x6a000000,
14040x00050046, 14170x00050047,
14050xe3510000, 14180xe3510000,
14060xb2600000, 14190xb2600000,
14070x0006000b, 14200x0006000b,
14080xe3e01000, 14210xe3e01000,
14090x000a0000, 14220x000a0000,
14100xea000000, 14230xea000000,
14110x00050046, 14240x00050047,
14120x0006000c, 14250x0006000c,
14130xe1822000, 14260xe1822000,
14140xe1d22fc1, 14270xe1d22fc1,
@@ -1417,7 +1430,7 @@ static const unsigned int build_actionlist[5145] = {
14170xe3e01000, 14300xe3e01000,
14180x000a0000, 14310x000a0000,
14190xea000000, 14320xea000000,
14200x00050046, 14330x00050047,
14210x0006000d, 14340x0006000d,
14220x03530480, 14350x03530480,
14230x1a000000, 14360x1a000000,
@@ -1428,38 +1441,38 @@ static const unsigned int build_actionlist[5145] = {
14280x0005000b, 14410x0005000b,
14290x0006000e, 14420x0006000e,
14300xeb000000, 14430xeb000000,
14310x0003000f, 14440x00030010,
14320x00000000, 14450x00000000,
14330xea000000, 14460xea000000,
14340x00050046, 14470x00050047,
14350x00040007, 14480x00040007,
14360x00060013, 14490x00060013,
14370x00020000, 14500x00020000,
14380x00000000, 14510x00000000,
14390x41e00000, 14520x41e00000,
14400x00060058, 14530x00060059,
14410xe1c400d0, 14540xe1c400d0,
14420xe35b0008, 14550xe35b0008,
14430x3a000000, 14560x3a000000,
14440x00050043, 14570x00050044,
14450xe3710000, 14580xe3710000,
14460x000a0000, 14590x000a0000,
14470x8a000000, 14600x8a000000,
14480x00050043, 14610x00050044,
14490x13c11480, 14620x13c11480,
14500x1a000000, 14630x1a000000,
14510x00050046, 14640x00050047,
14520xe3500000, 14650xe3500000,
14530xb2700000, 14660xb2700000,
14540x614f00d0, 14670x614f00d0,
14550x00051813, 14680x00051813,
14560x00060046, 14690x00060047,
14570xe5146004, 14700xe5146004,
14580xe14400f8, 14710xe14400f8,
14590x00060059, 14720x0006005a,
14600xe3a0b000, 14730xe3a0b000,
14610x000a0000, 14740x000a0000,
14620x00060044, 14750x00060045,
14630xe2160000, 14760xe2160000,
14640x000a0000, 14770x000a0000,
14650x0516e004, 14780x0516e004,
@@ -1488,275 +1501,275 @@ static const unsigned int build_actionlist[5145] = {
14880xe5010004, 15010xe5010004,
14890xea000000, 15020xea000000,
14900x0005000f, 15030x0005000f,
14910x0006005a,
14920xe1c400d0,
14930xe35b0008,
14940x3a000000,
14950x00050043,
14960x00000000,
14970xe3710000,
14980x000a0000,
14990x2a000000,
15000x00050043,
15010xeb000000,
15020x00030010,
15030xea000000,
15040x00050046,
15050x0006005b, 15040x0006005b,
15060xe1c400d0, 15050xe1c400d0,
15070xe35b0008, 15060xe35b0008,
15080x3a000000, 15070x3a000000,
15090x00050043, 15080x00050044,
15090x00000000,
15100xe3710000, 15100xe3710000,
15110x000a0000, 15110x000a0000,
15120x2a000000, 15120x2a000000,
15130x00050043, 15130x00050044,
15140xeb000000, 15140xeb000000,
15150x00030011, 15150x00030011,
15160xea000000, 15160xea000000,
15170x00050046, 15170x00050047,
15180x0006005c, 15180x0006005c,
15190xe1c400d0, 15190xe1c400d0,
15200xe35b0008, 15200xe35b0008,
15210x3a000000, 15210x3a000000,
15220x00050043, 15220x00050044,
15230xe3710000, 15230xe3710000,
15240x000a0000, 15240x000a0000,
15250x2a000000, 15250x2a000000,
15260x00050043, 15260x00050044,
15270xeb000000, 15270xeb000000,
15280x00030012, 15280x00030012,
15290xea000000, 15290xea000000,
15300x00050046, 15300x00050047,
15310x0006005d, 15310x0006005d,
15320xe1c400d0, 15320xe1c400d0,
15330xe35b0008, 15330xe35b0008,
15340x3a000000, 15340x3a000000,
15350x00050043, 15350x00050044,
15360xe3710000, 15360xe3710000,
15370x000a0000, 15370x000a0000,
15380x2a000000, 15380x2a000000,
15390x00050043, 15390x00050044,
15400xeb000000, 15400xeb000000,
15410x00030013, 15410x00030013,
15420xea000000, 15420xea000000,
15430x00050046, 15430x00050047,
15440x0006005e, 15440x0006005e,
15450x00000000,
15460xe1c400d0, 15450xe1c400d0,
15470xe35b0008, 15460xe35b0008,
15480x3a000000, 15470x3a000000,
15490x00050043, 15480x00050044,
15500xe3710000, 15490xe3710000,
15510x000a0000, 15500x000a0000,
15520x2a000000, 15510x2a000000,
15530x00050043, 15520x00050044,
15540xeb000000, 15530xeb000000,
15550x00030014, 15540x00030014,
15560xea000000, 15550xea000000,
15570x00050046, 15560x00050047,
15580x0006005f, 15570x0006005f,
15580x00000000,
15590xe1c400d0, 15590xe1c400d0,
15600xe35b0008, 15600xe35b0008,
15610x3a000000, 15610x3a000000,
15620x00050043, 15620x00050044,
15630xe3710000, 15630xe3710000,
15640x000a0000, 15640x000a0000,
15650x2a000000, 15650x2a000000,
15660x00050043, 15660x00050044,
15670xeb000000, 15670xeb000000,
15680x00030015, 15680x00030015,
15690xea000000, 15690xea000000,
15700x00050046, 15700x00050047,
15710x00060060, 15710x00060060,
15720xe1c400d0, 15720xe1c400d0,
15730xe35b0008, 15730xe35b0008,
15740x3a000000, 15740x3a000000,
15750x00050043, 15750x00050044,
15760xe3710000, 15760xe3710000,
15770x000a0000, 15770x000a0000,
15780x2a000000, 15780x2a000000,
15790x00050043, 15790x00050044,
15800xeb000000, 15800xeb000000,
15810x00030016, 15810x00030016,
15820xea000000, 15820xea000000,
15830x00050046, 15830x00050047,
15840x00060061, 15840x00060061,
15850xe1c400d0, 15850xe1c400d0,
15860xe35b0008, 15860xe35b0008,
15870x3a000000, 15870x3a000000,
15880x00050043, 15880x00050044,
15890xe3710000, 15890xe3710000,
15900x000a0000, 15900x000a0000,
15910x2a000000, 15910x2a000000,
15920x00050043, 15920x00050044,
15930xeb000000, 15930xeb000000,
15940x00030017, 15940x00030017,
15950x00000000,
15960xea000000, 15950xea000000,
15970x00050046, 15960x00050047,
15980x00060062, 15970x00060062,
15990xe1c400d0, 15980xe1c400d0,
16000xe35b0008, 15990xe35b0008,
16010x3a000000, 16000x3a000000,
16020x00050043, 16010x00050044,
16030xe3710000, 16020xe3710000,
16040x000a0000, 16030x000a0000,
16050x2a000000, 16040x2a000000,
16060x00050043, 16050x00050044,
16070xeb000000, 16060xeb000000,
16080x00030018, 16070x00030018,
16080x00000000,
16090xea000000, 16090xea000000,
16100x00050046, 16100x00050047,
16110x00060063, 16110x00060063,
16120xe1c400d0, 16120xe1c400d0,
16130xe35b0008, 16130xe35b0008,
16140x3a000000, 16140x3a000000,
16150x00050043, 16150x00050044,
16160xe3710000, 16160xe3710000,
16170x000a0000, 16170x000a0000,
16180x2a000000, 16180x2a000000,
16190x00050043, 16190x00050044,
16200xeb000000, 16200xeb000000,
16210x00030019, 16210x00030019,
16220xea000000, 16220xea000000,
16230x00050046, 16230x00050047,
16240x00060064, 16240x00060064,
16250xe1c400d0, 16250xe1c400d0,
16260xe35b0008, 16260xe35b0008,
16270x3a000000, 16270x3a000000,
16280x00050043, 16280x00050044,
16290xe3710000, 16290xe3710000,
16300x000a0000, 16300x000a0000,
16310x2a000000, 16310x2a000000,
16320x00050043, 16320x00050044,
16330xeb000000, 16330xeb000000,
16340x0003001a, 16340x0003001a,
16350xea000000, 16350xea000000,
16360x00050046, 16360x00050047,
16370x00060065, 16370x00060065,
16380xe1c400d0, 16380xe1c400d0,
16390xe35b0008, 16390xe35b0008,
16400x3a000000, 16400x3a000000,
16410x00050043, 16410x00050044,
16420xe3710000, 16420xe3710000,
16430x000a0000, 16430x000a0000,
16440x00000000,
16450x2a000000, 16440x2a000000,
16460x00050043, 16450x00050044,
16470xeb000000, 16460xeb000000,
16480x0003001b, 16470x0003001b,
16490xea000000, 16480xea000000,
16500x00050046, 16490x00050047,
16510x00060066, 16500x00060066,
16520xe1c400d0, 16510xe1c400d0,
16530xe35b0008, 16520xe35b0008,
16540x3a000000, 16530x3a000000,
16550x00050043, 16540x00050044,
16560xe3710000, 16550xe3710000,
16570x000a0000, 16560x000a0000,
16570x00000000,
16580x2a000000, 16580x2a000000,
16590x00050043, 16590x00050044,
16600xeb000000, 16600xeb000000,
16610x0003001c, 16610x0003001c,
16620xea000000, 16620xea000000,
16630x00050046, 16630x00050047,
16640x00060067, 16640x00060067,
16650xe1c400d0, 16650xe1c400d0,
16660xe1c420d8, 16660xe35b0008,
16670xe35b0010,
16680x3a000000, 16670x3a000000,
16690x00050043, 16680x00050044,
16700xe3710000, 16690xe3710000,
16710x000a0000, 16700x000a0000,
16720x33730000,
16730x000a0000,
16740x2a000000, 16710x2a000000,
16750x00050043, 16720x00050044,
16760xeb000000, 16730xeb000000,
16770x0003001d, 16740x0003001d,
16780xea000000, 16750xea000000,
16790x00050046, 16760x00050047,
16800x00060068, 16770x00060068,
16810xe1c400d0, 16780xe1c400d0,
16820xe1c420d8, 16790xe1c420d8,
16830xe35b0010, 16800xe35b0010,
16840x3a000000, 16810x3a000000,
16850x00050043, 16820x00050044,
16860xe3710000, 16830xe3710000,
16870x000a0000, 16840x000a0000,
16880x33730000, 16850x33730000,
16890x000a0000, 16860x000a0000,
16900x2a000000, 16870x2a000000,
16910x00050043, 16880x00050044,
16920xeb000000, 16890xeb000000,
16930x0003001e, 16900x0003001e,
16940x00000000,
16950xea000000, 16910xea000000,
16960x00050046, 16920x00050047,
16970x00060069, 16930x00060069,
16980xe1c400d0, 16940xe1c400d0,
16990xe1c420d8, 16950xe1c420d8,
17000xe35b0010, 16960xe35b0010,
17010x3a000000, 16970x3a000000,
17020x00050043, 16980x00050044,
17030xe3710000, 16990xe3710000,
17040x000a0000, 17000x000a0000,
17050x33730000, 17010x33730000,
17060x000a0000, 17020x000a0000,
17070x2a000000, 17030x2a000000,
17080x00050043, 17040x00050044,
17090xeb000000, 17050xeb000000,
17100x0003001f, 17060x0003001f,
17070x00000000,
17110xea000000, 17080xea000000,
17120x00050046, 17090x00050047,
17130x0006006a, 17100x0006006a,
17110xe1c400d0,
17120xe1c420d8,
17130xe35b0010,
17140x3a000000,
17150x00050044,
17160xe3710000,
17170x000a0000,
17180x33730000,
17190x000a0000,
17200x2a000000,
17210x00050044,
17220xeb000000,
17230x00030020,
17240xea000000,
17250x00050047,
17140x0006006b, 17260x0006006b,
17270x0006006c,
17150xe1c400d0, 17280xe1c400d0,
17160xe35b0008, 17290xe35b0008,
17170x3a000000, 17300x3a000000,
17180x00050043, 17310x00050044,
17190xe3710000, 17320xe3710000,
17200x000a0000, 17330x000a0000,
17210x2a000000, 17340x2a000000,
17220x00050043, 17350x00050044,
17230xe14220d0, 17360xe14220d0,
17240x000c8100, 17370x000c8100,
17250xeb000000, 17380xeb000000,
17260x00030020, 17390x00030021,
17270xea000000, 17400xea000000,
17280x00050046, 17410x00050047,
17290x0006006c, 17420x0006006d,
17300xe1c400d0, 17430xe1c400d0,
17310xe1c420d8, 17440xe1c420d8,
17320xe35b0010, 17450xe35b0010,
17330x3a000000, 17460x3a000000,
17340x00050043, 17470x00050044,
17350xe3710000, 17480xe3710000,
17360x000a0000, 17490x000a0000,
17370x2a000000, 17500x2a000000,
17380x00050043, 17510x00050044,
17390xe3730000, 17520xe3730000,
17400x000a0000, 17530x000a0000,
17410x1a000000, 17540x1a000000,
17420x00050043, 17550x00050044,
17430x00000000, 17560x00000000,
17440xeb000000, 17570xeb000000,
17450x00030021, 17580x00030022,
17460xea000000, 17590xea000000,
17470x00050046, 17600x00050047,
17480x0006006d, 17610x0006006e,
17490xe1c400d0, 17620xe1c400d0,
17500xe35b0008, 17630xe35b0008,
17510x3a000000, 17640x3a000000,
17520x00050043, 17650x00050044,
17530xe3710000, 17660xe3710000,
17540x000a0000, 17670x000a0000,
17550x2a000000, 17680x2a000000,
17560x00050043, 17690x00050044,
17570xe1a0200d, 17700xe1a0200d,
17580xeb000000, 17710xeb000000,
17590x00030022, 17720x00030023,
17600xe59d2000, 17730xe59d2000,
17610xe3e03000, 17740xe3e03000,
17620x000a0000, 17750x000a0000,
@@ -1766,30 +1779,30 @@ static const unsigned int build_actionlist[5145] = {
17660x000a0000, 17790x000a0000,
17670xe1c420f0, 17800xe1c420f0,
17680xea000000, 17810xea000000,
17690x00050044, 17820x00050045,
17700x0006006e, 17830x0006006f,
17710xe1c400d0, 17840xe1c400d0,
17720xe35b0008, 17850xe35b0008,
17730x3a000000, 17860x3a000000,
17740x00050043, 17870x00050044,
17750xe3710000, 17880xe3710000,
17760x000a0000, 17890x000a0000,
17770x2a000000, 17900x2a000000,
17780x00050043, 17910x00050044,
17790xe2442008, 17920xe2442008,
17800xe5146004, 17930xe5146004,
17810xeb000000, 17940xeb000000,
17820x00030023, 17950x00030024,
17830xe3a0b000, 17960xe3a0b000,
17840x000a0000, 17970x000a0000,
17850xe1c400f0, 17980xe1c400f0,
17860xea000000, 17990xea000000,
17870x00050044, 18000x00050045,
17880x0006006f, 18010x00060070,
17890xe1c400d0, 18020xe1c400d0,
17900xe35b0008, 18030xe35b0008,
17910x3a000000, 18040x3a000000,
17920x00050043, 18050x00050044,
17930xe3710000, 18060xe3710000,
17940x000a0000, 18070x000a0000,
17950xe3a0a008, 18080xe3a0a008,
@@ -1800,7 +1813,7 @@ static const unsigned int build_actionlist[5145] = {
18000xe18420da, 18130xe18420da,
18010xe15a000b, 18140xe15a000b,
18020x2a000000, 18150x2a000000,
18030x00050046, 18160x00050047,
18040xe3730000, 18170xe3730000,
18050x000a0000, 18180x000a0000,
18060x1a000000, 18190x1a000000,
@@ -1812,27 +1825,27 @@ static const unsigned int build_actionlist[5145] = {
18120x0005000b, 18250x0005000b,
18130x0006000d, 18260x0006000d,
18140x8a000000, 18270x8a000000,
18150x00050043, 18280x00050044,
18160xeb000000, 18290xeb000000,
18170x00030024, 18300x00030025,
18180xe18420da, 18310xe18420da,
18190xea000000, 18320xea000000,
18200x00050006, 18330x00050006,
18210x0006000e, 18340x0006000e,
18220x8a000000, 18350x8a000000,
18230x00050043, 18360x00050044,
18240x0006000f, 18370x0006000f,
18250xe18420da, 18380xe18420da,
18260xe15a000b, 18390xe15a000b,
18270x2a000000, 18400x2a000000,
18280x00050046, 18410x00050047,
18290xe3730000, 18420xe3730000,
18300x000a0000, 18430x000a0000,
18310x2a000000, 18440x2a000000,
18320x00050007, 18450x00050007,
18330x00060010, 18460x00060010,
18340xeb000000, 18470xeb000000,
18350x00030025, 18480x00030026,
18360xe28aa008, 18490xe28aa008,
18370x81a00002, 18500x81a00002,
18380x81a01003, 18510x81a01003,
@@ -1840,20 +1853,20 @@ static const unsigned int build_actionlist[5145] = {
18400x0005000f, 18530x0005000f,
18410x00060011, 18540x00060011,
18420x8a000000, 18550x8a000000,
18430x00050043, 18560x00050044,
18440xe1cd00f0, 18570xe1cd00f0,
18450xe1a00002, 18580xe1a00002,
18460xeb000000, 18590xeb000000,
18470x00030024, 18600x00030025,
18480xe1cd20d0, 18610xe1cd20d0,
18490xea000000, 18620xea000000,
18500x00050010, 18630x00050010,
18510x00060070, 18640x00060071,
18520x00000000, 18650x00000000,
18530xe1c400d0, 18660xe1c400d0,
18540xe35b0008, 18670xe35b0008,
18550x3a000000, 18680x3a000000,
18560x00050043, 18690x00050044,
18570xe3710000, 18700xe3710000,
18580x000a0000, 18710x000a0000,
18590xe3a0a008, 18720xe3a0a008,
@@ -1863,7 +1876,7 @@ static const unsigned int build_actionlist[5145] = {
18630xe18420da, 18760xe18420da,
18640xe15a000b, 18770xe15a000b,
18650x2a000000, 18780x2a000000,
18660x00050046, 18790x00050047,
18670xe3730000, 18800xe3730000,
18680x000a0000, 18810x000a0000,
18690x1a000000, 18820x1a000000,
@@ -1875,27 +1888,27 @@ static const unsigned int build_actionlist[5145] = {
18750x0005000b, 18880x0005000b,
18760x0006000d, 18890x0006000d,
18770x8a000000, 18900x8a000000,
18780x00050043, 18910x00050044,
18790xeb000000, 18920xeb000000,
18800x00030024, 18930x00030025,
18810xe18420da, 18940xe18420da,
18820xea000000, 18950xea000000,
18830x00050006, 18960x00050006,
18840x0006000e, 18970x0006000e,
18850x8a000000, 18980x8a000000,
18860x00050043, 18990x00050044,
18870x0006000f, 19000x0006000f,
18880xe18420da, 19010xe18420da,
18890xe15a000b, 19020xe15a000b,
18900x2a000000, 19030x2a000000,
18910x00050046, 19040x00050047,
18920xe3730000, 19050xe3730000,
18930x000a0000, 19060x000a0000,
18940x2a000000, 19070x2a000000,
18950x00050007, 19080x00050007,
18960x00060010, 19090x00060010,
18970xeb000000, 19100xeb000000,
18980x00030025, 19110x00030026,
18990xe28aa008, 19120xe28aa008,
19000x31a00002, 19130x31a00002,
19010x31a01003, 19140x31a01003,
@@ -1904,37 +1917,37 @@ static const unsigned int build_actionlist[5145] = {
19040x00060011, 19170x00060011,
19050x00000000, 19180x00000000,
19060x8a000000, 19190x8a000000,
19070x00050043, 19200x00050044,
19080xe1cd00f0, 19210xe1cd00f0,
19090xe1a00002, 19220xe1a00002,
19100xeb000000, 19230xeb000000,
19110x00030024, 19240x00030025,
19120xe1cd20d0, 19250xe1cd20d0,
19130xea000000, 19260xea000000,
19140x00050010, 19270x00050010,
19150x00060071, 19280x00060072,
19160xe1c400d0, 19290xe1c400d0,
19170xe35b0008, 19300xe35b0008,
19180x3a000000, 19310x3a000000,
19190x00050043, 19320x00050044,
19200xe3710000, 19330xe3710000,
19210x000a0000, 19340x000a0000,
19220x1a000000, 19350x1a000000,
19230x00050043, 19360x00050044,
19240xe5100000, 19370xe5100000,
19250x000d8180, 19380x000d8180,
19260xe3e01000, 19390xe3e01000,
19270x000a0000, 19400x000a0000,
19280xea000000, 19410xea000000,
19290x00050046, 19420x00050047,
19300x00060072, 19430x00060073,
19310xe1c400d0, 19440xe1c400d0,
19320xe5146004, 19450xe5146004,
19330xe35b0008, 19460xe35b0008,
19340x03710000, 19470x03710000,
19350x000a0000, 19480x000a0000,
19360x1a000000, 19490x1a000000,
19370x00050043, 19500x00050044,
19380xe5102000, 19510xe5102000,
19390x000d8180, 19520x000d8180,
19400xe5500000, 19530xe5500000,
@@ -1948,8 +1961,8 @@ static const unsigned int build_actionlist[5145] = {
19480x000a0000, 19610x000a0000,
19490xe14400f8, 19620xe14400f8,
19500xea000000, 19630xea000000,
19510x00050044, 19640x00050045,
19520x00060073, 19650x00060074,
19530xe5170000, 19660xe5170000,
19540x000d8180, 19670x000d8180,
19550xe5171000, 19680xe5171000,
@@ -1957,7 +1970,7 @@ static const unsigned int build_actionlist[5145] = {
19570x00000000, 19700x00000000,
19580xe1500001, 19710xe1500001,
19590xab000000, 19720xab000000,
19600x0005004c, 19730x0005004d,
19610xe1c400d0, 19740xe1c400d0,
19620xe5146004, 19750xe5146004,
19630xe35b0008, 19760xe35b0008,
@@ -1966,30 +1979,30 @@ static const unsigned int build_actionlist[5145] = {
19660x03d030ff, 19790x03d030ff,
19670xe3a02001, 19800xe3a02001,
19680x1a000000, 19810x1a000000,
19690x00050043, 19820x00050044,
19700xe58d0000, 19830xe58d0000,
19710xe1a0100d, 19840xe1a0100d,
19720x00060074, 19850x00060075,
19730xe5084000, 19860xe5084000,
19740x000d8180, 19870x000d8180,
19750xe1a00008, 19880xe1a00008,
19760xe58d6008, 19890xe58d6008,
19770xeb000000, 19900xeb000000,
19780x00030026, 19910x00030027,
19790xe5184000, 19920xe5184000,
19800x000d8180, 19930x000d8180,
19810xe3e01000, 19940xe3e01000,
19820x000a0000, 19950x000a0000,
19830xea000000, 19960xea000000,
19840x00050046, 19970x00050047,
19850x00060075, 19980x00060076,
19860xe5170000, 19990xe5170000,
19870x000d8180, 20000x000d8180,
19880xe5171000, 20010xe5171000,
19890x000d8180, 20020x000d8180,
19900xe1500001, 20030xe1500001,
19910xab000000, 20040xab000000,
19920x0005004c, 20050x0005004d,
19930xe1c400d0, 20060xe1c400d0,
19940xe1c421d0, 20070xe1c421d0,
19950xe35b0010, 20080xe35b0010,
@@ -1997,12 +2010,12 @@ static const unsigned int build_actionlist[5145] = {
19970x0a000000, 20100x0a000000,
19980x00050001, 20110x00050001,
19990x3a000000, 20120x3a000000,
20000x00050043, 20130x00050044,
20010xe3730000, 20140xe3730000,
20020x000a0000, 20150x000a0000,
20030xe1a0c002, 20160xe1a0c002,
20040x1a000000, 20170x1a000000,
20050x00050043, 20180x00050044,
20060x0006000b, 20190x0006000b,
20070xe5942008, 20200xe5942008,
20080xe3710000, 20210xe3710000,
@@ -2012,7 +2025,7 @@ static const unsigned int build_actionlist[5145] = {
20120x03730000, 20250x03730000,
20130x000a0000, 20260x000a0000,
20140x1a000000, 20270x1a000000,
20150x00050043, 20280x00050044,
20160x00000000, 20290x00000000,
20170xe2813001, 20300xe2813001,
20180xe3520000, 20310xe3520000,
@@ -2030,43 +2043,43 @@ static const unsigned int build_actionlist[5145] = {
20300xe05c2002, 20430xe05c2002,
20310xe2822001, 20440xe2822001,
20320xaa000000, 20450xaa000000,
20330x00050074, 20460x00050075,
20340x00060076, 20470x00060077,
20350xe2470000, 20480xe2470000,
20360x000a0000, 20490x000a0000,
20370xe3e01000, 20500xe3e01000,
20380x000a0000, 20510x000a0000,
20390xea000000, 20520xea000000,
20400x00050046, 20530x00050047,
20410x00060077, 20540x00060078,
20420xe5170000, 20550xe5170000,
20430x000d8180, 20560x000d8180,
20440xe5171000, 20570xe5171000,
20450x000d8180, 20580x000d8180,
20460xe1500001, 20590xe1500001,
20470xab000000, 20600xab000000,
20480x0005004c, 20610x0005004d,
20490xe1c400d0, 20620xe1c400d0,
20500xe1c420d8, 20630xe1c420d8,
20510xe35b0010, 20640xe35b0010,
20520x3a000000, 20650x3a000000,
20530x00050043, 20660x00050044,
20540xe3710000, 20670xe3710000,
20550x000a0000, 20680x000a0000,
20560x03730000, 20690x03730000,
20570x000a0000, 20700x000a0000,
20580x1a000000, 20710x1a000000,
20590x00050043, 20720x00050044,
20600xe2523001, 20730xe2523001,
20610xe5101000, 20740xe5101000,
20620x000d8180, 20750x000d8180,
20630xba000000, 20760xba000000,
20640x00050076, 20770x00050077,
20650xe3510001, 20780xe3510001,
20660x3a000000, 20790x3a000000,
20670x00050076, 20800x00050077,
20680x1a000000, 20810x1a000000,
20690x00050043, 20820x00050044,
20700xe517c000, 20830xe517c000,
20710x000d8180, 20840x000d8180,
20720xe5171000, 20850xe5171000,
@@ -2075,7 +2088,7 @@ static const unsigned int build_actionlist[5145] = {
20750x000d8180, 20880x000d8180,
20760xe15c0002, 20890xe15c0002,
20770x3a000000, 20900x3a000000,
20780x00050043, 20910x00050044,
20790x0006000b, 20920x0006000b,
20800x00000000, 20930x00000000,
20810xe7c10003, 20940xe7c10003,
@@ -2083,23 +2096,23 @@ static const unsigned int build_actionlist[5145] = {
20830xaa000000, 20960xaa000000,
20840x0005000b, 20970x0005000b,
20850xea000000, 20980xea000000,
20860x00050074, 20990x00050075,
20870x00060078, 21000x00060079,
20880xe5170000, 21010xe5170000,
20890x000d8180, 21020x000d8180,
20900xe5171000, 21030xe5171000,
20910x000d8180, 21040x000d8180,
20920xe1500001, 21050xe1500001,
20930xab000000, 21060xab000000,
20940x0005004c, 21070x0005004d,
20950xe1c400d0, 21080xe1c400d0,
20960xe35b0008, 21090xe35b0008,
20970x3a000000, 21100x3a000000,
20980x00050043, 21110x00050044,
20990xe3710000, 21120xe3710000,
21000x000a0000, 21130x000a0000,
21010x1a000000, 21140x1a000000,
21020x00050043, 21150x00050044,
21030xe5102000, 21160xe5102000,
21040x000d8180, 21170x000d8180,
21050xe517c000, 21180xe517c000,
@@ -2111,32 +2124,32 @@ static const unsigned int build_actionlist[5145] = {
21110x000a0000, 21240x000a0000,
21120xe15c0002, 21250xe15c0002,
21130x3a000000, 21260x3a000000,
21140x00050043, 21270x00050044,
21150x0006000b, 21280x0006000b,
21160xe4d0c001, 21290xe4d0c001,
21170xe2533001, 21300xe2533001,
21180xba000000, 21310xba000000,
21190x00050074, 21320x00050075,
21200xe7c1c003, 21330xe7c1c003,
21210xea000000, 21340xea000000,
21220x0005000b, 21350x0005000b,
21230x00060079, 21360x0006007a,
21240xe5170000, 21370xe5170000,
21250x000d8180, 21380x000d8180,
21260xe5171000, 21390xe5171000,
21270x000d8180, 21400x000d8180,
21280xe1500001, 21410xe1500001,
21290xab000000, 21420xab000000,
21300x0005004c, 21430x0005004d,
21310xe1c400d0, 21440xe1c400d0,
21320xe35b0008, 21450xe35b0008,
21330x3a000000, 21460x3a000000,
21340x00050043, 21470x00050044,
21350x00000000, 21480x00000000,
21360xe3710000, 21490xe3710000,
21370x000a0000, 21500x000a0000,
21380x1a000000, 21510x1a000000,
21390x00050043, 21520x00050044,
21400xe5102000, 21530xe5102000,
21410x000d8180, 21540x000d8180,
21420xe517c000, 21550xe517c000,
@@ -2148,12 +2161,12 @@ static const unsigned int build_actionlist[5145] = {
21480x000a0000, 21610x000a0000,
21490xe15c0002, 21620xe15c0002,
21500x3a000000, 21630x3a000000,
21510x00050043, 21640x00050044,
21520x0006000b, 21650x0006000b,
21530xe7d0c003, 21660xe7d0c003,
21540xe1530002, 21670xe1530002,
21550x2a000000, 21680x2a000000,
21560x00050074, 21690x00050075,
21570xe24cb041, 21700xe24cb041,
21580xe35b001a, 21710xe35b001a,
21590x322cc020, 21720x322cc020,
@@ -2161,22 +2174,22 @@ static const unsigned int build_actionlist[5145] = {
21610xe2833001, 21740xe2833001,
21620xea000000, 21750xea000000,
21630x0005000b, 21760x0005000b,
21640x0006007a, 21770x0006007b,
21650xe5170000, 21780xe5170000,
21660x000d8180, 21790x000d8180,
21670xe5171000, 21800xe5171000,
21680x000d8180, 21810x000d8180,
21690xe1500001, 21820xe1500001,
21700xab000000, 21830xab000000,
21710x0005004c, 21840x0005004d,
21720xe1c400d0, 21850xe1c400d0,
21730xe35b0008, 21860xe35b0008,
21740x3a000000, 21870x3a000000,
21750x00050043, 21880x00050044,
21760xe3710000, 21890xe3710000,
21770x000a0000, 21900x000a0000,
21780x1a000000, 21910x1a000000,
21790x00050043, 21920x00050044,
21800xe5102000, 21930xe5102000,
21810x000d8180, 21940x000d8180,
21820xe517c000, 21950xe517c000,
@@ -2188,13 +2201,13 @@ static const unsigned int build_actionlist[5145] = {
21880x000a0000, 22010x000a0000,
21890xe15c0002, 22020xe15c0002,
21900x3a000000, 22030x3a000000,
21910x00050043, 22040x00050044,
21920x0006000b, 22050x0006000b,
21930x00000000, 22060x00000000,
21940xe7d0c003, 22070xe7d0c003,
21950xe1530002, 22080xe1530002,
21960x2a000000, 22090x2a000000,
21970x00050074, 22100x00050075,
21980xe24cb061, 22110xe24cb061,
21990xe35b001a, 22120xe35b001a,
22000x322cc020, 22130x322cc020,
@@ -2202,25 +2215,25 @@ static const unsigned int build_actionlist[5145] = {
22020xe2833001, 22150xe2833001,
22030xea000000, 22160xea000000,
22040x0005000b, 22170x0005000b,
22050x0006007b, 22180x0006007c,
22060xe1c400d0, 22190xe1c400d0,
22070xe35b0008, 22200xe35b0008,
22080x3a000000, 22210x3a000000,
22090x00050043, 22220x00050044,
22100xe3710000, 22230xe3710000,
22110x000a0000, 22240x000a0000,
22120x1a000000, 22250x1a000000,
22130x00050043, 22260x00050044,
22140xeb000000, 22270xeb000000,
22150x00030027, 22280x00030028,
22160xe3e01000, 22290xe3e01000,
22170x000a0000, 22300x000a0000,
22180xea000000, 22310xea000000,
22190x00050046, 22320x00050047,
22200x0006007c,
22210x8a000000,
22220x00050043,
22230x0006007d, 22330x0006007d,
22340x8a000000,
22350x00050044,
22360x0006007e,
22240xe1a0c081, 22370xe1a0c081,
22250xe29cc980, 22380xe29cc980,
22260x53a00000, 22390x53a00000,
@@ -2245,29 +2258,29 @@ static const unsigned int build_actionlist[5145] = {
22450xe1830c10, 22580xe1830c10,
22460xb2600000, 22590xb2600000,
22470xe12fff1e, 22600xe12fff1e,
22480x0006007e, 22610x0006007f,
22490xe1c400d0, 22620xe1c400d0,
22500xe35b0008, 22630xe35b0008,
22510x3a000000, 22640x3a000000,
22520x00050043, 22650x00050044,
22530xe3710000, 22660xe3710000,
22540x000a0000, 22670x000a0000,
22550x1b000000, 22680x1b000000,
22560x0005007c, 22690x0005007d,
22570xe3e01000, 22700xe3e01000,
22580x000a0000, 22710x000a0000,
22590xea000000, 22720xea000000,
22600x00050046, 22730x00050047,
22610x0006007f, 22740x00060080,
22620xe1c400d0, 22750xe1c400d0,
22630xe35b0008, 22760xe35b0008,
22640x3a000000, 22770x3a000000,
22650x00050043, 22780x00050044,
22660x00000000, 22790x00000000,
22670xe3710000, 22800xe3710000,
22680x000a0000, 22810x000a0000,
22690x1b000000, 22820x1b000000,
22700x0005007c, 22830x0005007d,
22710xe1a02000, 22840xe1a02000,
22720xe3a0a008, 22850xe3a0a008,
22730x0006000b, 22860x0006000b,
@@ -2279,19 +2292,19 @@ static const unsigned int build_actionlist[5145] = {
22790xe3710000, 22920xe3710000,
22800x000a0000, 22930x000a0000,
22810x1b000000, 22940x1b000000,
22820x0005007c, 22950x0005007d,
22830xe0022000, 22960xe0022000,
22840xea000000, 22970xea000000,
22850x0005000b, 22980x0005000b,
22860x00060080, 22990x00060081,
22870xe1c400d0, 23000xe1c400d0,
22880xe35b0008, 23010xe35b0008,
22890x3a000000, 23020x3a000000,
22900x00050043, 23030x00050044,
22910xe3710000, 23040xe3710000,
22920x000a0000, 23050x000a0000,
22930x1b000000, 23060x1b000000,
22940x0005007c, 23070x0005007d,
22950xe1a02000, 23080xe1a02000,
22960xe3a0a008, 23090xe3a0a008,
22970x0006000b, 23100x0006000b,
@@ -2303,19 +2316,19 @@ static const unsigned int build_actionlist[5145] = {
23030xe3710000, 23160xe3710000,
23040x000a0000, 23170x000a0000,
23050x1b000000, 23180x1b000000,
23060x0005007c, 23190x0005007d,
23070xe1822000, 23200xe1822000,
23080xea000000, 23210xea000000,
23090x0005000b, 23220x0005000b,
23100x00060081, 23230x00060082,
23110xe1c400d0, 23240xe1c400d0,
23120xe35b0008, 23250xe35b0008,
23130x3a000000, 23260x3a000000,
23140x00050043, 23270x00050044,
23150xe3710000, 23280xe3710000,
23160x000a0000, 23290x000a0000,
23170x1b000000, 23300x1b000000,
23180x0005007c, 23310x0005007d,
23190xe1a02000, 23320xe1a02000,
23200xe3a0a008, 23330xe3a0a008,
23210x0006000b, 23340x0006000b,
@@ -2328,7 +2341,7 @@ static const unsigned int build_actionlist[5145] = {
23280xe3710000, 23410xe3710000,
23290x000a0000, 23420x000a0000,
23300x1b000000, 23430x1b000000,
23310x0005007c, 23440x0005007d,
23320xe0222000, 23450xe0222000,
23330xea000000, 23460xea000000,
23340x0005000b, 23470x0005000b,
@@ -2338,16 +2351,16 @@ static const unsigned int build_actionlist[5145] = {
23380xe5146004, 23510xe5146004,
23390xe14420f8, 23520xe14420f8,
23400xea000000, 23530xea000000,
23410x00050059, 23540x0005005a,
23420x00060082, 23550x00060083,
23430xe1c400d0, 23560xe1c400d0,
23440xe35b0008, 23570xe35b0008,
23450x3a000000, 23580x3a000000,
23460x00050043, 23590x00050044,
23470xe3710000, 23600xe3710000,
23480x000a0000, 23610x000a0000,
23490x1b000000, 23620x1b000000,
23500x0005007c, 23630x0005007d,
23510xe0202860, 23640xe0202860,
23520xe3c228ff, 23650xe3c228ff,
23530xe1a00460, 23660xe1a00460,
@@ -2355,124 +2368,124 @@ static const unsigned int build_actionlist[5145] = {
23550x000a0000, 23680x000a0000,
23560xe0200422, 23690xe0200422,
23570xea000000, 23700xea000000,
23580x00050046, 23710x00050047,
23590x00060083, 23720x00060084,
23600xe1c400d0, 23730xe1c400d0,
23610xe35b0008, 23740xe35b0008,
23620x3a000000, 23750x3a000000,
23630x00050043, 23760x00050044,
23640xe3710000, 23770xe3710000,
23650x000a0000, 23780x000a0000,
23660x1b000000, 23790x1b000000,
23670x0005007c, 23800x0005007d,
23680xe1e00000, 23810xe1e00000,
23690xe3e01000, 23820xe3e01000,
23700x000a0000, 23830x000a0000,
23710xea000000, 23840xea000000,
23720x00050046, 23850x00050047,
23730x00060084, 23860x00060085,
23740xe1c400d8, 23870xe1c400d8,
23750xe35b0010, 23880xe35b0010,
23760x3a000000, 23890x3a000000,
23770x00050043, 23900x00050044,
23780xe3710000, 23910xe3710000,
23790x000a0000, 23920x000a0000,
23800x1b000000, 23930x1b000000,
23810x0005007c, 23940x0005007d,
23820x00000000, 23950x00000000,
23830xe200a01f, 23960xe200a01f,
23840xe1c400d0, 23970xe1c400d0,
23850xe3710000, 23980xe3710000,
23860x000a0000, 23990x000a0000,
23870x1b000000, 24000x1b000000,
23880x0005007c, 24010x0005007d,
23890xe1a00a10, 24020xe1a00a10,
23900xe3e01000, 24030xe3e01000,
23910x000a0000, 24040x000a0000,
23920xea000000, 24050xea000000,
23930x00050046, 24060x00050047,
23940x00060085, 24070x00060086,
23950xe1c400d8, 24080xe1c400d8,
23960xe35b0010, 24090xe35b0010,
23970x3a000000, 24100x3a000000,
23980x00050043, 24110x00050044,
23990xe3710000, 24120xe3710000,
24000x000a0000, 24130x000a0000,
24010x1b000000, 24140x1b000000,
24020x0005007c, 24150x0005007d,
24030xe200a01f, 24160xe200a01f,
24040xe1c400d0, 24170xe1c400d0,
24050xe3710000, 24180xe3710000,
24060x000a0000, 24190x000a0000,
24070x1b000000, 24200x1b000000,
24080x0005007c, 24210x0005007d,
24090xe1a00a30, 24220xe1a00a30,
24100xe3e01000, 24230xe3e01000,
24110x000a0000, 24240x000a0000,
24120xea000000, 24250xea000000,
24130x00050046, 24260x00050047,
24140x00060086, 24270x00060087,
24150xe1c400d8, 24280xe1c400d8,
24160xe35b0010, 24290xe35b0010,
24170x3a000000, 24300x3a000000,
24180x00050043, 24310x00050044,
24190xe3710000, 24320xe3710000,
24200x000a0000, 24330x000a0000,
24210x1b000000, 24340x1b000000,
24220x0005007c, 24350x0005007d,
24230xe200a01f, 24360xe200a01f,
24240xe1c400d0, 24370xe1c400d0,
24250xe3710000, 24380xe3710000,
24260x000a0000, 24390x000a0000,
24270x1b000000, 24400x1b000000,
24280x0005007c, 24410x0005007d,
24290xe1a00a50, 24420xe1a00a50,
24300xe3e01000, 24430xe3e01000,
24310x000a0000, 24440x000a0000,
24320xea000000, 24450xea000000,
24330x00050046, 24460x00050047,
24340x00060087, 24470x00060088,
24350xe1c400d8, 24480xe1c400d8,
24360xe35b0010, 24490xe35b0010,
24370x3a000000, 24500x3a000000,
24380x00050043, 24510x00050044,
24390x00000000, 24520x00000000,
24400xe3710000, 24530xe3710000,
24410x000a0000, 24540x000a0000,
24420x1b000000, 24550x1b000000,
24430x0005007c, 24560x0005007d,
24440xe260a000, 24570xe260a000,
24450xe1c400d0, 24580xe1c400d0,
24460xe3710000, 24590xe3710000,
24470x000a0000, 24600x000a0000,
24480x1b000000, 24610x1b000000,
24490x0005007c, 24620x0005007d,
24500xe1a00a70, 24630xe1a00a70,
24510xe3e01000, 24640xe3e01000,
24520x000a0000, 24650x000a0000,
24530xea000000, 24660xea000000,
24540x00050046, 24670x00050047,
24550x00060088, 24680x00060089,
24560xe1c400d8, 24690xe1c400d8,
24570xe35b0010, 24700xe35b0010,
24580x3a000000, 24710x3a000000,
24590x00050043, 24720x00050044,
24600xe3710000, 24730xe3710000,
24610x000a0000, 24740x000a0000,
24620x1b000000, 24750x1b000000,
24630x0005007c, 24760x0005007d,
24640xe200a01f, 24770xe200a01f,
24650xe1c400d0, 24780xe1c400d0,
24660xe3710000, 24790xe3710000,
24670x000a0000, 24800x000a0000,
24680x1b000000, 24810x1b000000,
24690x0005007c, 24820x0005007d,
24700xe1a00a70, 24830xe1a00a70,
24710xe3e01000, 24840xe3e01000,
24720x000a0000, 24850x000a0000,
24730xea000000, 24860xea000000,
24740x00050046, 24870x00050047,
24750x00060043, 24880x00060044,
24760xe5142008, 24890xe5142008,
24770xe5181000, 24900xe5181000,
24780x000d8180, 24910x000d8180,
@@ -2499,7 +2512,7 @@ static const unsigned int build_actionlist[5145] = {
24990xe1a0b180, 25120xe1a0b180,
25000xe244a008, 25130xe244a008,
25010xca000000, 25140xca000000,
25020x00050044, 25150x00050045,
25030x0006000b, 25160x0006000b,
25040xe5180000, 25170xe5180000,
25050x000d8180, 25180x000d8180,
@@ -2536,7 +2549,7 @@ static const unsigned int build_actionlist[5145] = {
25360xe1500000, 25490xe1500000,
25370xea000000, 25500xea000000,
25380x0005000b, 25510x0005000b,
25390x0006004c, 25520x0006004d,
25400xe1a0a00e, 25530xe1a0a00e,
25410xe5084000, 25540xe5084000,
25420x000d8180, 25550x000d8180,
@@ -2546,17 +2559,17 @@ static const unsigned int build_actionlist[5145] = {
25460x000d8180, 25590x000d8180,
25470xe1a00008, 25600xe1a00008,
25480xeb000000, 25610xeb000000,
25490x00030028, 25620x00030029,
25500xe5184000, 25630xe5184000,
25510x000d8180, 25640x000d8180,
25520xe1a0e00a, 25650xe1a0e00a,
25530xe5142008, 25660xe5142008,
25540xe12fff1e, 25670xe12fff1e,
25550x00060089, 25680x0006008a,
25560x00000000, 25690x00000000,
25570xe7f001f0, 25700xe7f001f0,
25580x00000000, 25710x00000000,
25590x0006008a, 25720x0006008b,
25600xe5570000, 25730xe5570000,
25610x000d8180, 25740x000d8180,
25620xe3100000, 25750xe3100000,
@@ -2568,7 +2581,7 @@ static const unsigned int build_actionlist[5145] = {
25680xe087c10c, 25810xe087c10c,
25690xe51cf000, 25820xe51cf000,
25700x000d8180, 25830x000d8180,
25710x0006008b, 25840x0006008c,
25720xe5570000, 25850xe5570000,
25730x000d8180, 25860x000d8180,
25740xe5171000, 25870xe5171000,
@@ -2596,7 +2609,7 @@ static const unsigned int build_actionlist[5145] = {
25960x000d8180, 26090x000d8180,
25970xe1a01006, 26100xe1a01006,
25980xeb000000, 26110xeb000000,
25990x00030029, 26120x0003002a,
26000x0006000d, 26130x0006000d,
26010xe5184000, 26140xe5184000,
26020x000d8180, 26150x000d8180,
@@ -2610,23 +2623,23 @@ static const unsigned int build_actionlist[5145] = {
26100xe009a2ae, 26230xe009a2ae,
26110xe1a0b82e, 26240xe1a0b82e,
26120xe12fff1c, 26250xe12fff1c,
26130x0006008c, 26260x0006008d,
26140xe5130018, 26270xe5130018,
26150xe2866004, 26280xe2866004,
26160xe58d0004, 26290xe58d0004,
26170xea000000, 26300xea000000,
26180x0005000e, 26310x0005000e,
26190x0006008d, 26320x0006008e,
26200x00000000, 26330x00000000,
26210xe7f001f0, 26340xe7f001f0,
26220x00000000, 26350x00000000,
26230x0006008e, 26360x0006008f,
26240xe1a01006, 26370xe1a01006,
26250x00000000, 26380x00000000,
26260xea000000, 26390xea000000,
26270x00050001, 26400x00050001,
26280x00000000, 26410x00000000,
26290x0006008f, 26420x00060090,
26300x00000000, 26430x00000000,
26310xe3861001, 26440xe3861001,
26320x0006000b, 26450x0006000b,
@@ -2640,7 +2653,7 @@ static const unsigned int build_actionlist[5145] = {
26400xe5083000, 26530xe5083000,
26410x000d8180, 26540x000d8180,
26420xeb000000, 26550xeb000000,
26430x0003002a, 26560x0003002b,
26440xe5184000, 26570xe5184000,
26450x000d8180, 26580x000d8180,
26460xe5183000, 26590xe5183000,
@@ -2651,40 +2664,40 @@ static const unsigned int build_actionlist[5145] = {
26510xe58d1008, 26640xe58d1008,
26520xe5142008, 26650xe5142008,
26530xe12fff10, 26660xe12fff10,
26540x00060090,
26550x00000000,
26560xe7f001f0,
26570x00000000,
26580x00060091, 26670x00060091,
26590x00000000, 26680x00000000,
26600xe7f001f0, 26690xe7f001f0,
26610x00000000, 26700x00000000,
26620x00060092, 26710x00060092,
26720x00000000,
26630xe7f001f0, 26730xe7f001f0,
26740x00000000,
26640x00060093, 26750x00060093,
26650xe7f001f0, 26760xe7f001f0,
26660x00000000,
26670x00060094, 26770x00060094,
26680xe7f001f0, 26780xe7f001f0,
26690x00000000, 26790x00000000,
26700x00060094, 26800x00060095,
26810xe7f001f0,
26710x00000000, 26820x00000000,
26720x00060095, 26830x00060095,
26840x00000000,
26850x00060096,
26730xe92d401f, 26860xe92d401f,
26740xeb000000, 26870xeb000000,
26750x0003002b, 26880x0003002c,
26760xeb000000, 26890xeb000000,
26770x0003000e, 26900x0003000f,
26780xe1cd20d8, 26910xe1cd20d8,
26790xeb000000, 26920xeb000000,
26800x00030020, 26930x00030021,
26810xe1cd20d0, 26940xe1cd20d0,
26820xe2211480, 26950xe2211480,
26830xeb000000, 26960xeb000000,
26840x0003002c, 26970x0003002d,
26850xe28dd014, 26980xe28dd014,
26860xe8bd8000, 26990xe8bd8000,
26870x00060096, 27000x00060097,
26880xe210c480, 27010xe210c480,
26890x42600000, 27020x42600000,
26900xe02cc0c1, 27030xe02cc0c1,
@@ -2717,37 +2730,37 @@ static const unsigned int build_actionlist[5145] = {
27170xe030108c, 27300xe030108c,
27180x42600000, 27310x42600000,
27190xe12fff1e, 27320xe12fff1e,
27200x00060097, 27330x00060098,
27210x00000000, 27340x00000000,
27220xe7f001f0, 27350xe7f001f0,
27230x00000000, 27360x00000000,
27240x00060098, 27370x00060099,
27250x00000000, 27380x00000000,
27260xe7f001f0, 27390xe7f001f0,
27270x00000000, 27400x00000000,
27280x00060099, 27410x0006009a,
27290xe59dc000, 27420xe59dc000,
27300xe35c0001, 27430xe35c0001,
27310x3a000000, 27440x3a000000,
27320x0003002c,
27330x0a000000,
27340x0003002d, 27450x0003002d,
27460x0a000000,
27470x0003002e,
27350xe35c0003, 27480xe35c0003,
27360x3a000000, 27490x3a000000,
27370x00030020, 27500x00030021,
27380x0a000000, 27510x0a000000,
27390x0003002b, 27520x0003002c,
27400xe35c0005, 27530xe35c0005,
27410x3a000000, 27540x3a000000,
27420x00050095, 27550x00050096,
27430x0a000000, 27560x0a000000,
27440x0003001d, 27570x0003001e,
27450xe35c0007, 27580xe35c0007,
27460x32211480, 27590x32211480,
27470x03c11480, 27600x03c11480,
27480x912fff1e, 27610x912fff1e,
27490xe7f001f0, 27620xe7f001f0,
27500x0006009a, 27630x0006009b,
27510x00000000, 27640x00000000,
27520xe92d4830, 27650xe92d4830,
27530xe1a04000, 27660xe1a04000,
@@ -2832,7 +2845,7 @@ static const unsigned int build_actionlist[5145] = {
28320xe1a0b00a, 28450xe1a0b00a,
28330xe1a0a00c, 28460xe1a0a00c,
28340xeb000000, 28470xeb000000,
28350x00030024, 28480x00030025,
28360xe1a02000, 28490xe1a02000,
28370xe1a03001, 28500xe1a03001,
28380xe1cb00d0, 28510xe1cb00d0,
@@ -2843,11 +2856,11 @@ static const unsigned int build_actionlist[5145] = {
28430x00050034, 28560x00050034,
28440xe1a0a00c, 28570xe1a0a00c,
28450xeb000000, 28580xeb000000,
28460x00030024, 28590x00030025,
28470xe1cb20d0, 28600xe1cb20d0,
28480x0006000f, 28610x0006000f,
28490xeb000000, 28620xeb000000,
28500x00030025, 28630x00030026,
28510x00000000, 28640x00000000,
28520x324a6b80, 28650x324a6b80,
28530x00000000, 28660x00000000,
@@ -2872,10 +2885,17 @@ static const unsigned int build_actionlist[5145] = {
28720x000a0000, 28850x000a0000,
28730x00000000, 28860x00000000,
28740x9a000000, 28870x9a000000,
28750x0005009b, 28880x0005009c,
28760x00000000, 28890x00000000,
28770x9a000000, 28900x9a000000,
28780x0005009c, 28910x0005009d,
28920x00000000,
28930xe3710000,
28940x000a0000,
28950x13730000,
28960x000a0000,
28970x0a000000,
28980x0005003a,
28790x00000000, 28990x00000000,
28800xe1510003, 29000xe1510003,
28810x1a000000, 29010x1a000000,
@@ -2948,10 +2968,17 @@ static const unsigned int build_actionlist[5145] = {
29480xe086c10c, 29680xe086c10c,
29490xe3710000, 29690xe3710000,
29500x000a0000, 29700x000a0000,
29710x00000000,
29720x1a000000,
29730x00050007,
29740xe1500002,
29750x00000000,
29510x01500002, 29760x01500002,
29520x00000000, 29770x00000000,
29530x024c6b80, 29780x024c6b80,
29790x0006000b,
29540x00000000, 29800x00000000,
29810x0006000b,
29550x124c6b80, 29820x124c6b80,
29560x00000000, 29830x00000000,
29570xe5d6c000, 29840xe5d6c000,
@@ -2961,6 +2988,14 @@ static const unsigned int build_actionlist[5145] = {
29610xe1a0b82e, 29880xe1a0b82e,
29620xe12fff1c, 29890xe12fff1c,
29630x00000000, 29900x00000000,
29910x00060011,
29920xe3710000,
29930x000a0000,
29940x1a000000,
29950x0005000b,
29960xea000000,
29970x0005003a,
29980x00000000,
29640xe1a0b18b, 29990xe1a0b18b,
29650xe1aa00d4, 30000xe1aa00d4,
29660xe1d6c0b2, 30010xe1d6c0b2,
@@ -2968,10 +3003,10 @@ static const unsigned int build_actionlist[5145] = {
29680xe2866004, 30030xe2866004,
29690xe086c10c, 30040xe086c10c,
29700x00000000, 30050x00000000,
29710x0006009b,
29720x00000000,
29730x0006009c, 30060x0006009c,
29740x00000000, 30070x00000000,
30080x0006009d,
30090x00000000,
29750xe3710000, 30100xe3710000,
29760x000a0000, 30110x000a0000,
29770x1a000000, 30120x1a000000,
@@ -2983,10 +3018,12 @@ static const unsigned int build_actionlist[5145] = {
29830xe1500002, 30180xe1500002,
29840x00000000, 30190x00000000,
29850x024c6b80, 30200x024c6b80,
30210x0006000b,
29860x00000000, 30220x00000000,
30230x0006000b,
29870x124c6b80, 30240x124c6b80,
29880x00000000, 30250x00000000,
29890x0006000b, 30260x0006000c,
29900xe5d6c000, 30270xe5d6c000,
29910xe496e004, 30280xe496e004,
29920xe797c10c, 30290xe797c10c,
@@ -2995,10 +3032,14 @@ static const unsigned int build_actionlist[5145] = {
29950xe12fff1c, 30320xe12fff1c,
29960x0006000d, 30330x0006000d,
29970x00000000, 30340x00000000,
30350x8a000000,
30360x00050007,
30370x00000000,
29980x824c6b80, 30380x824c6b80,
29990x00000000, 30390x00000000,
30000x8a000000, 30400x8a000000,
30010x0005000b, 30410x0005000c,
30420x00000000,
30020xe3730000, 30430xe3730000,
30030x000a0000, 30440x000a0000,
30040x31a0a00c, 30450x31a0a00c,
@@ -3009,24 +3050,38 @@ static const unsigned int build_actionlist[5145] = {
30090x0006000e, 30500x0006000e,
30100xe1a0a00c, 30510xe1a0a00c,
30110xeb000000, 30520xeb000000,
30120x00030024, 30530x00030025,
30130xe1cb20d0, 30540xe1cb20d0,
30140x0006000f, 30550x0006000f,
30150xeb000000, 30560xeb000000,
30160x0003002e, 30570x0003002f,
30170x00000000, 30580x00000000,
30180x024a6b80, 30590x024a6b80,
30190x00000000, 30600x00000000,
30200x124a6b80, 30610x124a6b80,
30210x00000000, 30620x00000000,
30220xea000000, 30630xea000000,
30640x0005000c,
30650x00000000,
30660x00060011,
30670xe3710000,
30680x000a0000,
30690x1a000000,
30230x0005000b, 30700x0005000b,
30710xea000000,
30720x0005003a,
30240x00000000, 30730x00000000,
30250xe18400da, 30740xe18400da,
30260xe1d6c0b2, 30750xe1d6c0b2,
30270xe2866004, 30760xe2866004,
30280xe1e0b00b, 30770xe1e0b00b,
30290xe086c10c, 30780xe086c10c,
30790x00000000,
30800xe3710000,
30810x000a0000,
30820x0a000000,
30830x0005003a,
30840x00000000,
30300xe151000b, 30850xe151000b,
30310x00000000, 30860x00000000,
30320x024c6b80, 30870x024c6b80,
@@ -3097,7 +3152,7 @@ static const unsigned int build_actionlist[5145] = {
30970xe3710000, 31520xe3710000,
30980x000a0000, 31530x000a0000,
30990x8a000000, 31540x8a000000,
31000x0005003c, 31550x0005003d,
31010x12211480, 31560x12211480,
31020x1a000000, 31570x1a000000,
31030x00050005, 31580x00050005,
@@ -3138,9 +3193,9 @@ static const unsigned int build_actionlist[5145] = {
31380xe3710000, 31930xe3710000,
31390x000a0000, 31940x000a0000,
31400x1a000000, 31950x1a000000,
31410x0005003e, 31960x0005003f,
31420xeb000000, 31970xeb000000,
31430x00030027, 31980x00030028,
31440xea000000, 31990xea000000,
31450x0005000b, 32000x0005000b,
31460x00000000, 32010x00000000,
@@ -3173,13 +3228,13 @@ static const unsigned int build_actionlist[5145] = {
31730xe0900002, 32280xe0900002,
31740x00000000, 32290x00000000,
31750x6a000000, 32300x6a000000,
31760x0005003a, 32310x0005003b,
31770x00000000, 32320x00000000,
31780x6a000000, 32330x6a000000,
31790x0005003b, 32340x0005003c,
31800x00000000, 32350x00000000,
31810x6a000000, 32360x6a000000,
31820x0005003d, 32370x0005003e,
31830x00000000, 32380x00000000,
31840x0006000e, 32390x0006000e,
31850xe496e004, 32400xe496e004,
@@ -3201,7 +3256,7 @@ static const unsigned int build_actionlist[5145] = {
32010x000a0000, 32560x000a0000,
32020x00000000, 32570x00000000,
32030x2a000000, 32580x2a000000,
32040x0005003a, 32590x0005003b,
32050x00000000, 32600x00000000,
32060xe3730000, 32610xe3730000,
32070x000a0000, 32620x000a0000,
@@ -3214,7 +3269,7 @@ static const unsigned int build_actionlist[5145] = {
32140x000a0000, 32690x000a0000,
32150x00000000, 32700x00000000,
32160x2a000000, 32710x2a000000,
32170x0005003b, 32720x0005003c,
32180x00000000, 32730x00000000,
32190xe3730000, 32740xe3730000,
32200x000a0000, 32750x000a0000,
@@ -3227,10 +3282,10 @@ static const unsigned int build_actionlist[5145] = {
32270x000a0000, 32820x000a0000,
32280x00000000, 32830x00000000,
32290x2a000000, 32840x2a000000,
32300x0005003d, 32850x0005003e,
32310x00000000, 32860x00000000,
32320xeb000000, 32870xeb000000,
32330x0003002c, 32880x0003002d,
32340xe5d6c000, 32890xe5d6c000,
32350xea000000, 32900xea000000,
32360x0005000e, 32910x0005000e,
@@ -3264,13 +3319,13 @@ static const unsigned int build_actionlist[5145] = {
32640xe0500002, 33190xe0500002,
32650x00000000, 33200x00000000,
32660x6a000000, 33210x6a000000,
32670x0005003a, 33220x0005003b,
32680x00000000, 33230x00000000,
32690x6a000000, 33240x6a000000,
32700x0005003b, 33250x0005003c,
32710x00000000, 33260x00000000,
32720x6a000000, 33270x6a000000,
32730x0005003d, 33280x0005003e,
32740x00000000, 33290x00000000,
32750x0006000e, 33300x0006000e,
32760xe496e004, 33310xe496e004,
@@ -3292,7 +3347,7 @@ static const unsigned int build_actionlist[5145] = {
32920x000a0000, 33470x000a0000,
32930x00000000, 33480x00000000,
32940x2a000000, 33490x2a000000,
32950x0005003a, 33500x0005003b,
32960x00000000, 33510x00000000,
32970xe3730000, 33520xe3730000,
32980x000a0000, 33530x000a0000,
@@ -3305,7 +3360,7 @@ static const unsigned int build_actionlist[5145] = {
33050x000a0000, 33600x000a0000,
33060x00000000, 33610x00000000,
33070x2a000000, 33620x2a000000,
33080x0005003b, 33630x0005003c,
33090x00000000, 33640x00000000,
33100xe3730000, 33650xe3730000,
33110x000a0000, 33660x000a0000,
@@ -3318,10 +3373,10 @@ static const unsigned int build_actionlist[5145] = {
33180x000a0000, 33730x000a0000,
33190x00000000, 33740x00000000,
33200x2a000000, 33750x2a000000,
33210x0005003d, 33760x0005003e,
33220x00000000, 33770x00000000,
33230xeb000000, 33780xeb000000,
33240x0003002d, 33790x0003002e,
33250xe5d6c000, 33800xe5d6c000,
33260xea000000, 33810xea000000,
33270x0005000e, 33820x0005000e,
@@ -3356,13 +3411,13 @@ static const unsigned int build_actionlist[5145] = {
33560xe15b0fc0, 34110xe15b0fc0,
33570x00000000, 34120x00000000,
33580x1a000000, 34130x1a000000,
33590x0005003a, 34140x0005003b,
33600x00000000, 34150x00000000,
33610x1a000000, 34160x1a000000,
33620x0005003b, 34170x0005003c,
33630x00000000, 34180x00000000,
33640x1a000000, 34190x1a000000,
33650x0005003d, 34200x0005003e,
33660x00000000, 34210x00000000,
33670x0006000e, 34220x0006000e,
33680xe496e004, 34230xe496e004,
@@ -3384,7 +3439,7 @@ static const unsigned int build_actionlist[5145] = {
33840x000a0000, 34390x000a0000,
33850x00000000, 34400x00000000,
33860x2a000000, 34410x2a000000,
33870x0005003a, 34420x0005003b,
33880x00000000, 34430x00000000,
33890xe3730000, 34440xe3730000,
33900x000a0000, 34450x000a0000,
@@ -3397,7 +3452,7 @@ static const unsigned int build_actionlist[5145] = {
33970x000a0000, 34520x000a0000,
33980x00000000, 34530x00000000,
33990x2a000000, 34540x2a000000,
34000x0005003b, 34550x0005003c,
34010x00000000, 34560x00000000,
34020xe3730000, 34570xe3730000,
34030x000a0000, 34580x000a0000,
@@ -3410,10 +3465,10 @@ static const unsigned int build_actionlist[5145] = {
34100x000a0000, 34650x000a0000,
34110x00000000, 34660x00000000,
34120x2a000000, 34670x2a000000,
34130x0005003d, 34680x0005003e,
34140x00000000, 34690x00000000,
34150xeb000000, 34700xeb000000,
34160x00030020, 34710x00030021,
34170xe5d6c000, 34720xe5d6c000,
34180xea000000, 34730xea000000,
34190x0005000e, 34740x0005000e,
@@ -3441,7 +3496,7 @@ static const unsigned int build_actionlist[5145] = {
34410x000a0000, 34960x000a0000,
34420x00000000, 34970x00000000,
34430x2a000000, 34980x2a000000,
34440x0005003a, 34990x0005003b,
34450x00000000, 35000x00000000,
34460xe3730000, 35010xe3730000,
34470x000a0000, 35020x000a0000,
@@ -3454,7 +3509,7 @@ static const unsigned int build_actionlist[5145] = {
34540x000a0000, 35090x000a0000,
34550x00000000, 35100x00000000,
34560x2a000000, 35110x2a000000,
34570x0005003b, 35120x0005003c,
34580x00000000, 35130x00000000,
34590xe3730000, 35140xe3730000,
34600x000a0000, 35150x000a0000,
@@ -3467,10 +3522,10 @@ static const unsigned int build_actionlist[5145] = {
34670x000a0000, 35220x000a0000,
34680x00000000, 35230x00000000,
34690x2a000000, 35240x2a000000,
34700x0005003d, 35250x0005003e,
34710x00000000, 35260x00000000,
34720xeb000000, 35270xeb000000,
34730x0003002b, 35280x0003002c,
34740xe5d6c000, 35290xe5d6c000,
34750xe496e004, 35300xe496e004,
34760xe18400fa, 35310xe18400fa,
@@ -3506,16 +3561,16 @@ static const unsigned int build_actionlist[5145] = {
35060xe1b01002, 35610xe1b01002,
35070x00000000, 35620x00000000,
35080x0a000000, 35630x0a000000,
35090x0005003a, 35640x0005003b,
35100x00000000, 35650x00000000,
35110x0a000000, 35660x0a000000,
35120x0005003b, 35670x0005003c,
35130x00000000, 35680x00000000,
35140x0a000000, 35690x0a000000,
35150x0005003d, 35700x0005003e,
35160x00000000, 35710x00000000,
35170xeb000000, 35720xeb000000,
35180x00050096, 35730x00050097,
35190xe3e01000, 35740xe3e01000,
35200x000a0000, 35750x000a0000,
35210x0006000e, 35760x0006000e,
@@ -3539,7 +3594,7 @@ static const unsigned int build_actionlist[5145] = {
35390x000a0000, 35940x000a0000,
35400x00000000, 35950x00000000,
35410x2a000000, 35960x2a000000,
35420x0005003a, 35970x0005003b,
35430x00000000, 35980x00000000,
35440xe3730000, 35990xe3730000,
35450x000a0000, 36000x000a0000,
@@ -3552,7 +3607,7 @@ static const unsigned int build_actionlist[5145] = {
35520x000a0000, 36070x000a0000,
35530x00000000, 36080x00000000,
35540x2a000000, 36090x2a000000,
35550x0005003b, 36100x0005003c,
35560x00000000, 36110x00000000,
35570xe3730000, 36120xe3730000,
35580x000a0000, 36130x000a0000,
@@ -3565,10 +3620,10 @@ static const unsigned int build_actionlist[5145] = {
35650x000a0000, 36200x000a0000,
35660x00000000, 36210x00000000,
35670x2a000000, 36220x2a000000,
35680x0005003d, 36230x0005003e,
35690x00000000, 36240x00000000,
35700xeb000000, 36250xeb000000,
35710x00050095, 36260x00050096,
35720xea000000, 36270xea000000,
35730x0005000e, 36280x0005000e,
35740x00000000, 36290x00000000,
@@ -3595,7 +3650,7 @@ static const unsigned int build_actionlist[5145] = {
35950x000a0000, 36500x000a0000,
35960x00000000, 36510x00000000,
35970x2a000000, 36520x2a000000,
35980x0005003a, 36530x0005003b,
35990x00000000, 36540x00000000,
36000xe3730000, 36550xe3730000,
36010x000a0000, 36560x000a0000,
@@ -3608,7 +3663,7 @@ static const unsigned int build_actionlist[5145] = {
36080x000a0000, 36630x000a0000,
36090x00000000, 36640x00000000,
36100x2a000000, 36650x2a000000,
36110x0005003b, 36660x0005003c,
36120x00000000, 36670x00000000,
36130xe3730000, 36680xe3730000,
36140x000a0000, 36690x000a0000,
@@ -3621,10 +3676,10 @@ static const unsigned int build_actionlist[5145] = {
36210x000a0000, 36760x000a0000,
36220x00000000, 36770x00000000,
36230x2a000000, 36780x2a000000,
36240x0005003d, 36790x0005003e,
36250x00000000, 36800x00000000,
36260xeb000000, 36810xeb000000,
36270x0003001d, 36820x0003001e,
36280xe5d6c000, 36830xe5d6c000,
36290xe496e004, 36840xe496e004,
36300xe18400fa, 36850xe18400fa,
@@ -3644,7 +3699,7 @@ static const unsigned int build_actionlist[5145] = {
36440xe58d6008, 36990xe58d6008,
36450xe1a021a2, 37000xe1a021a2,
36460xeb000000, 37010xeb000000,
36470x0003002f, 37020x00030030,
36480xe5184000, 37030xe5184000,
36490x000d8180, 37040x000d8180,
36500xe3500000, 37050xe3500000,
@@ -3789,7 +3844,7 @@ static const unsigned int build_actionlist[5145] = {
37890xe31b0000, 38440xe31b0000,
37900x000a0000, 38450x000a0000,
37910x1b000000, 38460x1b000000,
37920x00030030, 38470x00030031,
37930xea000000, 38480xea000000,
37940x0005000b, 38490x0005000b,
37950x00000000, 38500x00000000,
@@ -3829,7 +3884,7 @@ static const unsigned int build_actionlist[5145] = {
38290xe2470000, 38840xe2470000,
38300x000a0000, 38850x000a0000,
38310x1b000000, 38860x1b000000,
38320x00030030, 38870x00030031,
38330xea000000, 38880xea000000,
38340x0005000b, 38890x0005000b,
38350x00000000, 38900x00000000,
@@ -3878,7 +3933,7 @@ static const unsigned int build_actionlist[5145] = {
38780xe1a00008, 39330xe1a00008,
38790xe084100a, 39340xe084100a,
38800xeb000000, 39350xeb000000,
38810x00030031, 39360x00030032,
38820xe5184000, 39370xe5184000,
38830x000d8180, 39380x000d8180,
38840x0006000b, 39390x0006000b,
@@ -3897,7 +3952,7 @@ static const unsigned int build_actionlist[5145] = {
38970xe5142008, 39520xe5142008,
38980xe1a00008, 39530xe1a00008,
38990xeb000000, 39540xeb000000,
39000x00030032, 39550x00030033,
39010xe5184000, 39560xe5184000,
39020x000d8180, 39570x000d8180,
39030xe3e01000, 39580xe3e01000,
@@ -3932,11 +3987,11 @@ static const unsigned int build_actionlist[5145] = {
39320xe37b0001, 39870xe37b0001,
39330x02811002, 39880x02811002,
39340xeb000000, 39890xeb000000,
39350x00030033, 39900x00030034,
39360x00000000, 39910x00000000,
39370xe795110b, 39920xe795110b,
39380xeb000000, 39930xeb000000,
39390x00030034, 39940x00030035,
39400x00000000, 39950x00000000,
39410xe5184000, 39960xe5184000,
39420x000d8180, 39970x000d8180,
@@ -3951,7 +4006,7 @@ static const unsigned int build_actionlist[5145] = {
39510xe12fff1c, 40060xe12fff1c,
39520x0006000f, 40070x0006000f,
39530xeb000000, 40080xeb000000,
39540x00030035, 40090x00030036,
39550xe1a00008, 40100xe1a00008,
39560xea000000, 40110xea000000,
39570x0005000b, 40120x0005000b,
@@ -3963,10 +4018,10 @@ static const unsigned int build_actionlist[5145] = {
39630xe795b10b, 40180xe795b10b,
39640x00000000, 40190x00000000,
39650xea000000, 40200xea000000,
39660x0005009d, 40210x0005009e,
39670x00000000, 40220x00000000,
39680xea000000, 40230xea000000,
39690x0005009e, 40240x0005009f,
39700x00000000, 40250x00000000,
39710xe009caae, 40260xe009caae,
39720xe009b6ae, 40270xe009b6ae,
@@ -4021,7 +4076,7 @@ static const unsigned int build_actionlist[5145] = {
40210x000a0000, 40760x000a0000,
40220x01a0b002, 40770x01a0b002,
40230x0a000000, 40780x0a000000,
40240x0005009d, 40790x0005009e,
40250xea000000, 40800xea000000,
40260x0005002f, 40810x0005002f,
40270x00000000, 40820x00000000,
@@ -4034,7 +4089,7 @@ static const unsigned int build_actionlist[5145] = {
40340x000a0000, 40890x000a0000,
40350x1a000000, 40900x1a000000,
40360x0005002c, 40910x0005002c,
40370x0006009d, 40920x0006009e,
40380xe5102000, 40930xe5102000,
40390x000d8180, 40940x000d8180,
40400xe51b3000, 40950xe51b3000,
@@ -4212,7 +4267,7 @@ static const unsigned int build_actionlist[5145] = {
42120x000a0000, 42670x000a0000,
42130x01a0b002, 42680x01a0b002,
42140x0a000000, 42690x0a000000,
42150x0005009e, 42700x0005009f,
42160xea000000, 42710xea000000,
42170x00050033, 42720x00050033,
42180x00000000, 42730x00000000,
@@ -4225,7 +4280,7 @@ static const unsigned int build_actionlist[5145] = {
42250x000a0000, 42800x000a0000,
42260x1a000000, 42810x1a000000,
42270x00050030, 42820x00050030,
42280x0006009e, 42830x0006009f,
42290xe5102000, 42840xe5102000,
42300x000d8180, 42850x000d8180,
42310xe51b3000, 42860xe51b3000,
@@ -4314,7 +4369,7 @@ static const unsigned int build_actionlist[5145] = {
43140xe1a0100c, 43690xe1a0100c,
43150xe58d3004, 43700xe58d3004,
43160xeb000000, 43710xeb000000,
43170x00030036, 43720x00030037,
43180xe5184000, 43730xe5184000,
43190x000d8180, 43740x000d8180,
43200xe18420da, 43750xe18420da,
@@ -4445,7 +4500,7 @@ static const unsigned int build_actionlist[5145] = {
44450xe1a00008, 45000xe1a00008,
44460xe58d6008, 45010xe58d6008,
44470xeb000000, 45020xeb000000,
44480x00030037, 45030x00030038,
44490xea000000, 45040xea000000,
44500x0005000b, 45050x0005000b,
44510x00060011, 45060x00060011,
@@ -4466,10 +4521,10 @@ static const unsigned int build_actionlist[5145] = {
44660xe009b6ae, 45210xe009b6ae,
44670xe08bb000, 45220xe08bb000,
44680xea000000, 45230xea000000,
44690x0005009f, 45240x000500a0,
44700x00000000, 45250x00000000,
44710xe009b6ae, 45260xe009b6ae,
44720x0006009f, 45270x000600a0,
44730xe1a0c004, 45280xe1a0c004,
44740xe1a420da, 45290xe1a420da,
44750xe24bb008, 45300xe24bb008,
@@ -4491,19 +4546,19 @@ static const unsigned int build_actionlist[5145] = {
44910xe59d0004, 45460xe59d0004,
44920xe080b18b, 45470xe080b18b,
44930xea000000, 45480xea000000,
44940x000500a0, 45490x000500a1,
44950x00000000, 45500x00000000,
44960xe1a0b18b, 45510xe1a0b18b,
44970x000600a0, 45520x000600a1,
44980xe1aa20d4, 45530xe1aa20d4,
44990xe24bb008, 45540xe24bb008,
45000xe28aa008, 45550xe28aa008,
45010xe3730000, 45560xe3730000,
45020x000a0000, 45570x000a0000,
45030x1a000000, 45580x1a000000,
45040x0005003f, 45590x00050040,
45050xe5146004, 45600xe5146004,
45060x00060040, 45610x00060041,
45070xe3a0c000, 45620xe3a0c000,
45080xe5523000, 45630xe5523000,
45090x000d8180, 45640x000d8180,
@@ -4770,12 +4825,12 @@ static const unsigned int build_actionlist[5145] = {
47700xe084a00a, 48250xe084a00a,
47710xe080b18b, 48260xe080b18b,
47720xea000000, 48270xea000000,
47730x000500a1, 48280x000500a2,
47740x00000000, 48290x00000000,
47750xe5146004, 48300xe5146004,
47760xe1a0b18b, 48310xe1a0b18b,
47770xe084a00a, 48320xe084a00a,
47780x000600a1, 48330x000600a2,
47790xe58db004, 48340xe58db004,
47800x0006000b, 48350x0006000b,
47810xe2160000, 48360xe2160000,
@@ -4783,7 +4838,7 @@ static const unsigned int build_actionlist[5145] = {
47830xe2261000, 48380xe2261000,
47840x000a0000, 48390x000a0000,
47850x1a000000, 48400x1a000000,
47860x000500a2, 48410x000500a3,
47870x00060017, 48420x00060017,
47880xe516e004, 48430xe516e004,
47890xe25b3008, 48440xe25b3008,
@@ -4825,9 +4880,9 @@ static const unsigned int build_actionlist[5145] = {
48250xe504100c, 48800xe504100c,
48260xea000000, 48810xea000000,
48270x0005000f, 48820x0005000f,
48280x000600a3, 48830x000600a4,
48290xe084a00a, 48840xe084a00a,
48300x000600a2, 48850x000600a3,
48310xe3110000, 48860xe3110000,
48320x000a0000, 48870x000a0000,
48330x1a000000, 48880x1a000000,
@@ -4846,7 +4901,7 @@ static const unsigned int build_actionlist[5145] = {
48460x000a0000, 49010x000a0000,
48470x0516e004, 49020x0516e004,
48480x1a000000, 49030x1a000000,
48490x000500a3, 49040x000500a4,
48500x00000000, 49050x00000000,
48510xe18400da, 49060xe18400da,
48520x00000000, 49070x00000000,
@@ -4898,7 +4953,7 @@ static const unsigned int build_actionlist[5145] = {
48980x037c0000, 49530x037c0000,
48990x000a0000, 49540x000a0000,
49000x1a000000, 49550x1a000000,
49010x00050041, 49560x00050042,
49020xe3530000, 49570xe3530000,
49030xba000000, 49580xba000000,
49040x00050004, 49590x00050004,
@@ -4956,7 +5011,7 @@ static const unsigned int build_actionlist[5145] = {
49560x337c0000, 50110x337c0000,
49570x000a0000, 50120x000a0000,
49580x2a000000, 50130x2a000000,
49590x00050041, 50140x00050042,
49600xe35c0000, 50150xe35c0000,
49610xe1ca00f0, 50160xe1ca00f0,
49620xe1ca01f8, 50170xe1ca01f8,
@@ -4967,14 +5022,14 @@ static const unsigned int build_actionlist[5145] = {
49670xba000000, 50220xba000000,
49680x00050008, 50230x00050008,
49690xeb000000, 50240xeb000000,
49700x0003002c, 50250x0003002d,
49710xe1ca00f0, 50260xe1ca00f0,
49720xe1ca20d8, 50270xe1ca20d8,
49730xe1ca01f8, 50280xe1ca01f8,
49740x00000000, 50290x00000000,
49750x00060010, 50300x00060010,
49760xeb000000, 50310xeb000000,
49770x00030025, 50320x00030026,
49780x00000000, 50330x00000000,
49790x824b6b80, 50340x824b6b80,
49800x00000000, 50350x00000000,
@@ -4991,7 +5046,7 @@ static const unsigned int build_actionlist[5145] = {
49910x00060012, 50460x00060012,
49920x00000000, 50470x00000000,
49930xeb000000, 50480xeb000000,
49940x0003002c, 50490x0003002d,
49950xe1ca00f0, 50500xe1ca00f0,
49960xe1ca01f8, 50510xe1ca01f8,
49970x00000000, 50520x00000000,
@@ -5199,6 +5254,7 @@ enum {
5199 GLOB_cont_condt, 5254 GLOB_cont_condt,
5200 GLOB_cont_condf, 5255 GLOB_cont_condf,
5201 GLOB_vmeta_equal, 5256 GLOB_vmeta_equal,
5257 GLOB_vmeta_equal_cd,
5202 GLOB_vmeta_arith_vn, 5258 GLOB_vmeta_arith_vn,
5203 GLOB_vmeta_arith_nv, 5259 GLOB_vmeta_arith_nv,
5204 GLOB_vmeta_unm, 5260 GLOB_vmeta_unm,
@@ -5346,6 +5402,7 @@ static const char *const globnames[] = {
5346 "cont_condt", 5402 "cont_condt",
5347 "cont_condf", 5403 "cont_condf",
5348 "vmeta_equal", 5404 "vmeta_equal",
5405 "vmeta_equal_cd",
5349 "vmeta_arith_vn", 5406 "vmeta_arith_vn",
5350 "vmeta_arith_nv", 5407 "vmeta_arith_nv",
5351 "vmeta_unm", 5408 "vmeta_unm",
@@ -5460,6 +5517,7 @@ static const char *const extnames[] = {
5460 "lj_meta_tset", 5517 "lj_meta_tset",
5461 "lj_meta_comp", 5518 "lj_meta_comp",
5462 "lj_meta_equal", 5519 "lj_meta_equal",
5520 "lj_meta_equal_cd",
5463 "lj_meta_arith", 5521 "lj_meta_arith",
5464 "lj_meta_len", 5522 "lj_meta_len",
5465 "lj_meta_call", 5523 "lj_meta_call",
@@ -5548,116 +5606,120 @@ static void build_subroutines(BuildCtx *ctx)
5548 dasm_put(Dst, 306, Dt7(->field_pc), ~LJ_TNIL, PC2PROTO(k), Dt1(->base), -DISPATCH_GL(tmptv), ~LJ_TTAB, ~LJ_TSTR, ~LJ_TISNUM); 5606 dasm_put(Dst, 306, Dt7(->field_pc), ~LJ_TNIL, PC2PROTO(k), Dt1(->base), -DISPATCH_GL(tmptv), ~LJ_TTAB, ~LJ_TSTR, ~LJ_TISNUM);
5549 dasm_put(Dst, 377, Dt1(->base), FRAME_CONT, Dt1(->top), -DISPATCH_GL(tmptv), ~LJ_TTAB, ~LJ_TSTR, ~LJ_TISNUM, Dt1(->base)); 5607 dasm_put(Dst, 377, Dt1(->base), FRAME_CONT, Dt1(->top), -DISPATCH_GL(tmptv), ~LJ_TTAB, ~LJ_TSTR, ~LJ_TISNUM, Dt1(->base));
5550 dasm_put(Dst, 444, FRAME_CONT, Dt1(->top), Dt1(->base), ~LJ_TTRUE, -LJ_TFALSE); 5608 dasm_put(Dst, 444, FRAME_CONT, Dt1(->top), Dt1(->base), ~LJ_TTRUE, -LJ_TFALSE);
5551 dasm_put(Dst, 520, Dt1(->base), Dt1(->base), FRAME_CONT, Dt1(->base)); 5609 dasm_put(Dst, 520, Dt1(->base));
5552 dasm_put(Dst, 589, Dt1(->base), Dt7(->field_pc), Dt1(->base), Dt1(->base)); 5610#if LJ_HASFFI
5611 dasm_put(Dst, 531, Dt1(->base));
5612#endif
5613 dasm_put(Dst, 542, Dt1(->base), FRAME_CONT, Dt1(->base), Dt1(->base), Dt7(->field_pc));
5614 dasm_put(Dst, 615, Dt1(->base), Dt1(->base));
5553#if LJ_HASJIT 5615#if LJ_HASJIT
5554 dasm_put(Dst, 631); 5616 dasm_put(Dst, 644);
5555#endif 5617#endif
5556 dasm_put(Dst, 633); 5618 dasm_put(Dst, 646);
5557#if LJ_HASJIT 5619#if LJ_HASJIT
5558 dasm_put(Dst, 635, BC_JFORI); 5620 dasm_put(Dst, 648, BC_JFORI);
5559#endif 5621#endif
5560 dasm_put(Dst, 638); 5622 dasm_put(Dst, 651);
5561#if LJ_HASJIT 5623#if LJ_HASJIT
5562 dasm_put(Dst, 641, BC_JFORI); 5624 dasm_put(Dst, 654, BC_JFORI);
5563#endif 5625#endif
5564 dasm_put(Dst, 644, BC_FORI, -LJ_TTRUE, -LJ_TISNUM, ~LJ_TISNUM, (int)(offsetof(GCfuncC, upvalue)>>3)-1, -LJ_TTAB, -LJ_TUDATA, Dt6(->metatable)); 5626 dasm_put(Dst, 657, BC_FORI, -LJ_TTRUE, -LJ_TISNUM, ~LJ_TISNUM, (int)(offsetof(GCfuncC, upvalue)>>3)-1, -LJ_TTAB, -LJ_TUDATA, Dt6(->metatable));
5565 dasm_put(Dst, 701, ~LJ_TNIL, DISPATCH_GL(gcroot[GCROOT_MMNAME+MM_metatable]), Dt6(->hmask), Dt5(->hash), Dt6(->node), DtB(->key), DtB(->val), DtB(->next), -LJ_TSTR, ~LJ_TTAB, -LJ_TNIL, -LJ_TISNUM); 5627 dasm_put(Dst, 714, ~LJ_TNIL, DISPATCH_GL(gcroot[GCROOT_MMNAME+MM_metatable]), Dt6(->hmask), Dt5(->hash), Dt6(->node), DtB(->key), DtB(->val), DtB(->next), -LJ_TSTR, ~LJ_TTAB, -LJ_TNIL, -LJ_TISNUM);
5566 dasm_put(Dst, 749, ~LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT]), -LJ_TTAB, Dt6(->metatable), -LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist), -LJ_TTAB); 5628 dasm_put(Dst, 762, ~LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT]), -LJ_TTAB, Dt6(->metatable), -LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist), -LJ_TTAB);
5567 dasm_put(Dst, 801, -LJ_TISNUM, -LJ_TSTR, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), Dt1(->base), -LJ_TISNUM, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), ~LJ_TSTR); 5629 dasm_put(Dst, 814, -LJ_TISNUM, -LJ_TSTR, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), Dt1(->base), -LJ_TISNUM, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), ~LJ_TSTR);
5568 dasm_put(Dst, 856, ~LJ_TNIL, -LJ_TTAB, Dt1(->base), Dt1(->top), ~LJ_TNIL, (2+1)*8, -LJ_TTAB); 5630 dasm_put(Dst, 869, ~LJ_TNIL, -LJ_TTAB, Dt1(->base), Dt1(->top), ~LJ_TNIL, (2+1)*8, -LJ_TTAB);
5569#ifdef LUAJIT_ENABLE_LUA52COMPAT 5631#ifdef LUAJIT_ENABLE_LUA52COMPAT
5570 dasm_put(Dst, 904, Dt6(->metatable)); 5632 dasm_put(Dst, 917, Dt6(->metatable));
5571#endif 5633#endif
5572 dasm_put(Dst, 907, Dt8(->upvalue[0])); 5634 dasm_put(Dst, 920, Dt8(->upvalue[0]));
5573#ifdef LUAJIT_ENABLE_LUA52COMPAT 5635#ifdef LUAJIT_ENABLE_LUA52COMPAT
5574 dasm_put(Dst, 911); 5636 dasm_put(Dst, 924);
5575#endif 5637#endif
5576 dasm_put(Dst, 915, ~LJ_TNIL, (3+1)*8, -LJ_TTAB, -LJ_TISNUM, Dt6(->asize), Dt6(->array), (0+1)*8, -LJ_TNIL, (2+1)*8, Dt6(->hmask)); 5638 dasm_put(Dst, 928, ~LJ_TNIL, (3+1)*8, -LJ_TTAB, -LJ_TISNUM, Dt6(->asize), Dt6(->array), (0+1)*8, -LJ_TNIL, (2+1)*8, Dt6(->hmask));
5577 dasm_put(Dst, 974, -LJ_TTAB); 5639 dasm_put(Dst, 987, -LJ_TTAB);
5578#ifdef LUAJIT_ENABLE_LUA52COMPAT 5640#ifdef LUAJIT_ENABLE_LUA52COMPAT
5579 dasm_put(Dst, 983, Dt6(->metatable)); 5641 dasm_put(Dst, 996, Dt6(->metatable));
5580#endif 5642#endif
5581 dasm_put(Dst, 986, Dt8(->upvalue[0])); 5643 dasm_put(Dst, 999, Dt8(->upvalue[0]));
5582#ifdef LUAJIT_ENABLE_LUA52COMPAT 5644#ifdef LUAJIT_ENABLE_LUA52COMPAT
5583 dasm_put(Dst, 990); 5645 dasm_put(Dst, 1003);
5584#endif 5646#endif
5585 dasm_put(Dst, 994, ~LJ_TISNUM, (3+1)*8, DISPATCH_GL(hookmask), HOOK_ACTIVE, 8+FRAME_PCALL, 8+FRAME_PCALLH, DISPATCH_GL(hookmask), -LJ_TFUNC, HOOK_ACTIVE, 16+FRAME_PCALL, 16+FRAME_PCALLH, -LJ_TTHREAD); 5647 dasm_put(Dst, 1007, ~LJ_TISNUM, (3+1)*8, DISPATCH_GL(hookmask), HOOK_ACTIVE, 8+FRAME_PCALL, 8+FRAME_PCALLH, DISPATCH_GL(hookmask), -LJ_TFUNC, HOOK_ACTIVE, 16+FRAME_PCALL, 16+FRAME_PCALLH, -LJ_TTHREAD);
5586 dasm_put(Dst, 1053, Dt1(->base), Dt1(->top), Dt1(->status), Dt1(->base), Dt1(->maxstack), Dt1(->cframe), LUA_YIELD, Dt1(->top), Dt1(->top), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate), LUA_YIELD); 5648 dasm_put(Dst, 1066, Dt1(->base), Dt1(->top), Dt1(->status), Dt1(->base), Dt1(->maxstack), Dt1(->cframe), LUA_YIELD, Dt1(->top), Dt1(->top), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate), LUA_YIELD);
5587 dasm_put(Dst, 1112, Dt1(->base), Dt1(->maxstack), Dt1(->top), ~LJ_TTRUE, FRAME_TYPE, ~LJ_TFALSE, (2+1)*8, Dt1(->top)); 5649 dasm_put(Dst, 1125, Dt1(->base), Dt1(->maxstack), Dt1(->top), ~LJ_TTRUE, FRAME_TYPE, ~LJ_TFALSE, (2+1)*8, Dt1(->top));
5588 dasm_put(Dst, 1172, Dt8(->upvalue[0].gcr), Dt1(->base), Dt1(->top), Dt1(->status), Dt1(->base), Dt1(->maxstack), Dt1(->cframe), LUA_YIELD, Dt1(->top), Dt1(->top), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate), LUA_YIELD); 5650 dasm_put(Dst, 1185, Dt8(->upvalue[0].gcr), Dt1(->base), Dt1(->top), Dt1(->status), Dt1(->base), Dt1(->maxstack), Dt1(->cframe), LUA_YIELD, Dt1(->top), Dt1(->top), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate), LUA_YIELD);
5589 dasm_put(Dst, 1228, Dt1(->base), Dt1(->maxstack), Dt1(->top), FRAME_TYPE, Dt1(->cframe), Dt1(->base), CFRAME_RESUME, Dt1(->top)); 5651 dasm_put(Dst, 1241, Dt1(->base), Dt1(->maxstack), Dt1(->top), FRAME_TYPE, Dt1(->cframe), Dt1(->base), CFRAME_RESUME, Dt1(->top));
5590 dasm_put(Dst, 1287, LUA_YIELD, Dt1(->cframe), Dt1(->status), -LJ_TISNUM, ~LJ_TISNUM, ~LJ_TISNUM); 5652 dasm_put(Dst, 1300, LUA_YIELD, Dt1(->cframe), Dt1(->status), -LJ_TISNUM, ~LJ_TISNUM, ~LJ_TISNUM);
5591 dasm_put(Dst, 1353, -LJ_TISNUM, ~LJ_TISNUM, ~LJ_TISNUM); 5653 dasm_put(Dst, 1366, -LJ_TISNUM, ~LJ_TISNUM, ~LJ_TISNUM);
5592 dasm_put(Dst, 1417, -LJ_TISNUM, (1+1)*8, FRAME_TYPE, ~LJ_TNIL); 5654 dasm_put(Dst, 1430, -LJ_TISNUM, (1+1)*8, FRAME_TYPE, ~LJ_TNIL);
5593 dasm_put(Dst, 1481, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM); 5655 dasm_put(Dst, 1494, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
5594 dasm_put(Dst, 1530, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM); 5656 dasm_put(Dst, 1543, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
5595 dasm_put(Dst, 1580, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM); 5657 dasm_put(Dst, 1593, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
5596 dasm_put(Dst, 1629, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM); 5658 dasm_put(Dst, 1642, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
5597 dasm_put(Dst, 1679, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, Dt8(->upvalue[0]), -LJ_TISNUM, -LJ_TISNUM); 5659 dasm_put(Dst, 1692, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, Dt8(->upvalue[0]), -LJ_TISNUM, -LJ_TISNUM);
5598 dasm_put(Dst, 1728, -LJ_TISNUM, ~LJ_TISNUM, (2+1)*8, -LJ_TISNUM, (2+1)*8, -LJ_TISNUM); 5660 dasm_put(Dst, 1741, -LJ_TISNUM, ~LJ_TISNUM, (2+1)*8, -LJ_TISNUM, (2+1)*8, -LJ_TISNUM);
5599 dasm_put(Dst, 1784, -LJ_TISNUM, -LJ_TISNUM); 5661 dasm_put(Dst, 1797, -LJ_TISNUM, -LJ_TISNUM);
5600 dasm_put(Dst, 1837, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM); 5662 dasm_put(Dst, 1850, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
5601 dasm_put(Dst, 1890, -LJ_TSTR, Dt5(->len), ~LJ_TISNUM, -LJ_TSTR, Dt5(->len), Dt5([1]), ~LJ_TISNUM, (0+1)*8, (1+1)*8, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 5663 dasm_put(Dst, 1903, -LJ_TSTR, Dt5(->len), ~LJ_TISNUM, -LJ_TSTR, Dt5(->len), Dt5([1]), ~LJ_TISNUM, (0+1)*8, (1+1)*8, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
5602 dasm_put(Dst, 1942, -LJ_TISNUM, Dt1(->base), Dt1(->base), ~LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TISNUM, -LJ_TSTR, Dt5(->len), -LJ_TISNUM); 5664 dasm_put(Dst, 1955, -LJ_TISNUM, Dt1(->base), Dt1(->base), ~LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TISNUM, -LJ_TSTR, Dt5(->len), -LJ_TISNUM);
5603 dasm_put(Dst, 2001, sizeof(GCstr)-1, -DISPATCH_GL(strempty), ~LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, -LJ_TISNUM, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), Dt5([1])); 5665 dasm_put(Dst, 2014, sizeof(GCstr)-1, -DISPATCH_GL(strempty), ~LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, -LJ_TISNUM, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), Dt5([1]));
5604 dasm_put(Dst, 2065, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 5666 dasm_put(Dst, 2078, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
5605 dasm_put(Dst, 2120, -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr)); 5667 dasm_put(Dst, 2133, -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr));
5606 dasm_put(Dst, 2178, -LJ_TTAB, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM); 5668 dasm_put(Dst, 2191, -LJ_TTAB, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM);
5607 dasm_put(Dst, 2251, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM); 5669 dasm_put(Dst, 2264, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
5608 dasm_put(Dst, 2312, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM); 5670 dasm_put(Dst, 2325, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM);
5609 dasm_put(Dst, 2367, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM); 5671 dasm_put(Dst, 2380, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM);
5610 dasm_put(Dst, 2424, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, Dt1(->maxstack), Dt1(->top), Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->base)); 5672 dasm_put(Dst, 2437, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, Dt1(->maxstack), Dt1(->top), Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->base));
5611 dasm_put(Dst, 2482, Dt1(->top), Dt7(->field_pc), FRAME_TYPE, FRAME_TYPEP, LUA_MINSTACK, Dt1(->base), Dt1(->base), Dt1(->top), Dt1(->base)); 5673 dasm_put(Dst, 2495, Dt1(->top), Dt7(->field_pc), FRAME_TYPE, FRAME_TYPEP, LUA_MINSTACK, Dt1(->base), Dt1(->base), Dt1(->top), Dt1(->base));
5612#if LJ_HASJIT 5674#if LJ_HASJIT
5613 dasm_put(Dst, 2541); 5675 dasm_put(Dst, 2554);
5614#endif 5676#endif
5615 dasm_put(Dst, 2543, DISPATCH_GL(hookmask), HOOK_ACTIVE, GG_DISP2STATIC, DISPATCH_GL(hookmask), DISPATCH_GL(hookcount), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE, Dt1(->base), Dt1(->base)); 5677 dasm_put(Dst, 2556, DISPATCH_GL(hookmask), HOOK_ACTIVE, GG_DISP2STATIC, DISPATCH_GL(hookmask), DISPATCH_GL(hookcount), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE, Dt1(->base), Dt1(->base));
5616 dasm_put(Dst, 2589, GG_DISP2STATIC); 5678 dasm_put(Dst, 2602, GG_DISP2STATIC);
5617#if LJ_HASJIT 5679#if LJ_HASJIT
5618 dasm_put(Dst, 2605); 5680 dasm_put(Dst, 2618);
5619#endif 5681#endif
5620 dasm_put(Dst, 2607); 5682 dasm_put(Dst, 2620);
5621#if LJ_HASJIT 5683#if LJ_HASJIT
5622 dasm_put(Dst, 2610); 5684 dasm_put(Dst, 2623);
5623#endif 5685#endif
5624 dasm_put(Dst, 2613); 5686 dasm_put(Dst, 2626);
5625#if LJ_HASJIT 5687#if LJ_HASJIT
5626 dasm_put(Dst, 2615); 5688 dasm_put(Dst, 2628);
5627#endif 5689#endif
5628 dasm_put(Dst, 2618, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 5690 dasm_put(Dst, 2631, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
5629#if LJ_HASJIT 5691#if LJ_HASJIT
5630 dasm_put(Dst, 2640); 5692 dasm_put(Dst, 2653);
5631#endif 5693#endif
5632 dasm_put(Dst, 2642); 5694 dasm_put(Dst, 2655);
5633#if LJ_HASJIT 5695#if LJ_HASJIT
5634 dasm_put(Dst, 2644); 5696 dasm_put(Dst, 2657);
5635#endif 5697#endif
5636 dasm_put(Dst, 2646); 5698 dasm_put(Dst, 2659);
5637#if LJ_HASJIT 5699#if LJ_HASJIT
5638 dasm_put(Dst, 2651); 5700 dasm_put(Dst, 2664);
5639#else 5701#else
5640 dasm_put(Dst, 2654); 5702 dasm_put(Dst, 2667);
5641#endif 5703#endif
5642 dasm_put(Dst, 2656); 5704 dasm_put(Dst, 2669);
5643 { 5705 {
5644 int i; 5706 int i;
5645 for (i = 31; i >= 0; i--) { 5707 for (i = 31; i >= 0; i--) {
5646 dasm_put(Dst, 2692, i, i); 5708 dasm_put(Dst, 2705, i, i);
5647 } 5709 }
5648 } 5710 }
5649 dasm_put(Dst, 2697); 5711 dasm_put(Dst, 2710);
5650#if LJ_HASJIT 5712#if LJ_HASJIT
5651 dasm_put(Dst, 2706); 5713 dasm_put(Dst, 2719);
5652#endif 5714#endif
5653 dasm_put(Dst, 2708); 5715 dasm_put(Dst, 2721);
5654#if LJ_HASJIT 5716#if LJ_HASJIT
5655 dasm_put(Dst, 2710); 5717 dasm_put(Dst, 2723);
5656#endif 5718#endif
5657 dasm_put(Dst, 2712); 5719 dasm_put(Dst, 2725);
5658#if LJ_HASFFI 5720#if LJ_HASFFI
5659#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 5721#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
5660 dasm_put(Dst, 2736, DtE(->spadj), DtE(->nsp), offsetof(CCallState, stack), DtE(->func), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[0]), DtE(->gpr[1])); 5722 dasm_put(Dst, 2749, DtE(->spadj), DtE(->nsp), offsetof(CCallState, stack), DtE(->func), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[0]), DtE(->gpr[1]));
5661#endif 5723#endif
5662} 5724}
5663 5725
@@ -5665,7 +5727,7 @@ static void build_subroutines(BuildCtx *ctx)
5665static void build_ins(BuildCtx *ctx, BCOp op, int defop) 5727static void build_ins(BuildCtx *ctx, BCOp op, int defop)
5666{ 5728{
5667 int vk = 0; 5729 int vk = 0;
5668 dasm_put(Dst, 2774, defop); 5730 dasm_put(Dst, 2787, defop);
5669 5731
5670 switch (op) { 5732 switch (op) {
5671 5733
@@ -5674,519 +5736,542 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
5674 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 5736 /* Remember: all ops branch for a true comparison, fall through otherwise. */
5675 5737
5676 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 5738 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
5677 dasm_put(Dst, 2776, -LJ_TISNUM, -LJ_TISNUM); 5739 dasm_put(Dst, 2789, -LJ_TISNUM, -LJ_TISNUM);
5678 if (op == BC_ISLT) { 5740 if (op == BC_ISLT) {
5679 dasm_put(Dst, 2792); 5741 dasm_put(Dst, 2805);
5680 } else if (op == BC_ISGE) { 5742 } else if (op == BC_ISGE) {
5681 dasm_put(Dst, 2794); 5743 dasm_put(Dst, 2807);
5682 } else if (op == BC_ISLE) { 5744 } else if (op == BC_ISLE) {
5683 dasm_put(Dst, 2796); 5745 dasm_put(Dst, 2809);
5684 } else { 5746 } else {
5685 dasm_put(Dst, 2798); 5747 dasm_put(Dst, 2811);
5686 } 5748 }
5687 dasm_put(Dst, 2800, -LJ_TISNUM); 5749 dasm_put(Dst, 2813, -LJ_TISNUM);
5688 if (op == BC_ISLT) { 5750 if (op == BC_ISLT) {
5689 dasm_put(Dst, 2836); 5751 dasm_put(Dst, 2849);
5690 } else if (op == BC_ISGE) { 5752 } else if (op == BC_ISGE) {
5691 dasm_put(Dst, 2838); 5753 dasm_put(Dst, 2851);
5692 } else if (op == BC_ISLE) { 5754 } else if (op == BC_ISLE) {
5693 dasm_put(Dst, 2840); 5755 dasm_put(Dst, 2853);
5694 } else { 5756 } else {
5695 dasm_put(Dst, 2842); 5757 dasm_put(Dst, 2855);
5696 } 5758 }
5697 dasm_put(Dst, 2844); 5759 dasm_put(Dst, 2857);
5698 break; 5760 break;
5699 5761
5700 case BC_ISEQV: case BC_ISNEV: 5762 case BC_ISEQV: case BC_ISNEV:
5701 vk = op == BC_ISEQV; 5763 vk = op == BC_ISEQV;
5702 dasm_put(Dst, 2847, -LJ_TISNUM, -LJ_TISNUM); 5764 dasm_put(Dst, 2860, -LJ_TISNUM, -LJ_TISNUM);
5703 if (vk) { 5765 if (vk) {
5704 dasm_put(Dst, 2858); 5766 dasm_put(Dst, 2871);
5705 } else { 5767 } else {
5706 dasm_put(Dst, 2861); 5768 dasm_put(Dst, 2874);
5769 }
5770 if (LJ_HASFFI) {
5771 dasm_put(Dst, 2877, -LJ_TCDATA, -LJ_TCDATA);
5707 } 5772 }
5708 dasm_put(Dst, 2864, -LJ_TISPRI); 5773 dasm_put(Dst, 2884, -LJ_TISPRI);
5709 if (vk) { 5774 if (vk) {
5710 dasm_put(Dst, 2873, -LJ_TISTABUD); 5775 dasm_put(Dst, 2893, -LJ_TISTABUD);
5711 } else { 5776 } else {
5712 dasm_put(Dst, 2890, -LJ_TISTABUD); 5777 dasm_put(Dst, 2910, -LJ_TISTABUD);
5713 } 5778 }
5714 dasm_put(Dst, 2897, Dt6(->metatable)); 5779 dasm_put(Dst, 2917, Dt6(->metatable));
5715 if (vk) { 5780 if (vk) {
5716 dasm_put(Dst, 2901); 5781 dasm_put(Dst, 2921);
5717 } else { 5782 } else {
5718 dasm_put(Dst, 2904); 5783 dasm_put(Dst, 2924);
5719 } 5784 }
5720 dasm_put(Dst, 2907, Dt6(->nomm), 1-vk, 1<<MM_eq); 5785 dasm_put(Dst, 2927, Dt6(->nomm), 1-vk, 1<<MM_eq);
5721 if (!vk) { 5786 if (!vk) {
5722 dasm_put(Dst, 2917); 5787 dasm_put(Dst, 2937);
5723 } 5788 }
5724 break; 5789 break;
5725 5790
5726 case BC_ISEQS: case BC_ISNES: 5791 case BC_ISEQS: case BC_ISNES:
5727 vk = op == BC_ISEQS; 5792 vk = op == BC_ISEQS;
5728 dasm_put(Dst, 2927, -LJ_TSTR); 5793 dasm_put(Dst, 2947, -LJ_TSTR);
5794 if (LJ_HASFFI) {
5795 dasm_put(Dst, 2956);
5796 } else {
5797 dasm_put(Dst, 2960);
5798 }
5729 if (vk) { 5799 if (vk) {
5730 dasm_put(Dst, 2937); 5800 dasm_put(Dst, 2962);
5731 } else { 5801 } else {
5732 dasm_put(Dst, 2939); 5802 dasm_put(Dst, 2965);
5803 }
5804 dasm_put(Dst, 2968);
5805 if (LJ_HASFFI) {
5806 dasm_put(Dst, 2975, -LJ_TCDATA);
5733 } 5807 }
5734 dasm_put(Dst, 2941);
5735 break; 5808 break;
5736 5809
5737 case BC_ISEQN: case BC_ISNEN: 5810 case BC_ISEQN: case BC_ISNEN:
5738 vk = op == BC_ISEQN; 5811 vk = op == BC_ISEQN;
5739 dasm_put(Dst, 2948); 5812 dasm_put(Dst, 2983);
5740 if (vk) { 5813 if (vk) {
5741 dasm_put(Dst, 2955); 5814 dasm_put(Dst, 2990);
5742 } else { 5815 } else {
5743 dasm_put(Dst, 2957); 5816 dasm_put(Dst, 2992);
5744 } 5817 }
5745 dasm_put(Dst, 2959, -LJ_TISNUM, -LJ_TISNUM); 5818 dasm_put(Dst, 2994, -LJ_TISNUM, -LJ_TISNUM);
5746 if (vk) { 5819 if (vk) {
5747 dasm_put(Dst, 2969); 5820 dasm_put(Dst, 3004);
5748 } else { 5821 } else {
5749 dasm_put(Dst, 2971); 5822 dasm_put(Dst, 3007);
5750 } 5823 }
5751 dasm_put(Dst, 2973); 5824 dasm_put(Dst, 3010);
5752 if (!vk) { 5825 if (LJ_HASFFI) {
5753 dasm_put(Dst, 2982); 5826 dasm_put(Dst, 3019);
5827 } else {
5828 if (!vk) {
5829 dasm_put(Dst, 3022);
5830 }
5831 dasm_put(Dst, 3024);
5754 } 5832 }
5755 dasm_put(Dst, 2984, -LJ_TISNUM); 5833 dasm_put(Dst, 3027, -LJ_TISNUM);
5756 if (vk) { 5834 if (vk) {
5757 dasm_put(Dst, 3002); 5835 dasm_put(Dst, 3043);
5758 } else { 5836 } else {
5759 dasm_put(Dst, 3004); 5837 dasm_put(Dst, 3045);
5838 }
5839 dasm_put(Dst, 3047);
5840 if (LJ_HASFFI) {
5841 dasm_put(Dst, 3050, -LJ_TCDATA);
5760 } 5842 }
5761 dasm_put(Dst, 3006);
5762 break; 5843 break;
5763 5844
5764 case BC_ISEQP: case BC_ISNEP: 5845 case BC_ISEQP: case BC_ISNEP:
5765 vk = op == BC_ISEQP; 5846 vk = op == BC_ISEQP;
5766 dasm_put(Dst, 3009); 5847 dasm_put(Dst, 3058);
5848 if (LJ_HASFFI) {
5849 dasm_put(Dst, 3064, -LJ_TCDATA);
5850 }
5851 dasm_put(Dst, 3069);
5767 if (vk) { 5852 if (vk) {
5768 dasm_put(Dst, 3016); 5853 dasm_put(Dst, 3071);
5769 } else { 5854 } else {
5770 dasm_put(Dst, 3018); 5855 dasm_put(Dst, 3073);
5771 } 5856 }
5772 dasm_put(Dst, 3020); 5857 dasm_put(Dst, 3075);
5773 break; 5858 break;
5774 5859
5775 /* -- Unary test and copy ops ------------------------------------------- */ 5860 /* -- Unary test and copy ops ------------------------------------------- */
5776 5861
5777 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 5862 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
5778 dasm_put(Dst, 3027, -LJ_TTRUE); 5863 dasm_put(Dst, 3082, -LJ_TTRUE);
5779 if (op == BC_ISTC || op == BC_IST) { 5864 if (op == BC_ISTC || op == BC_IST) {
5780 dasm_put(Dst, 3035); 5865 dasm_put(Dst, 3090);
5781 if (op == BC_ISTC) { 5866 if (op == BC_ISTC) {
5782 dasm_put(Dst, 3037); 5867 dasm_put(Dst, 3092);
5783 } 5868 }
5784 } else { 5869 } else {
5785 dasm_put(Dst, 3039); 5870 dasm_put(Dst, 3094);
5786 if (op == BC_ISFC) { 5871 if (op == BC_ISFC) {
5787 dasm_put(Dst, 3041); 5872 dasm_put(Dst, 3096);
5788 } 5873 }
5789 } 5874 }
5790 dasm_put(Dst, 3043); 5875 dasm_put(Dst, 3098);
5791 break; 5876 break;
5792 5877
5793 /* -- Unary ops --------------------------------------------------------- */ 5878 /* -- Unary ops --------------------------------------------------------- */
5794 5879
5795 case BC_MOV: 5880 case BC_MOV:
5796 dasm_put(Dst, 3050); 5881 dasm_put(Dst, 3105);
5797 break; 5882 break;
5798 case BC_NOT: 5883 case BC_NOT:
5799 dasm_put(Dst, 3060, -LJ_TTRUE, ~LJ_TFALSE, ~LJ_TTRUE); 5884 dasm_put(Dst, 3115, -LJ_TTRUE, ~LJ_TFALSE, ~LJ_TTRUE);
5800 break; 5885 break;
5801 case BC_UNM: 5886 case BC_UNM:
5802 dasm_put(Dst, 3077, -LJ_TISNUM); 5887 dasm_put(Dst, 3132, -LJ_TISNUM);
5803 break; 5888 break;
5804 case BC_LEN: 5889 case BC_LEN:
5805 dasm_put(Dst, 3103, -LJ_TSTR, Dt5(->len), ~LJ_TISNUM, -LJ_TTAB); 5890 dasm_put(Dst, 3158, -LJ_TSTR, Dt5(->len), ~LJ_TISNUM, -LJ_TTAB);
5806 break; 5891 break;
5807 5892
5808 /* -- Binary ops -------------------------------------------------------- */ 5893 /* -- Binary ops -------------------------------------------------------- */
5809 5894
5810 5895
5811 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 5896 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
5812 dasm_put(Dst, 3131); 5897 dasm_put(Dst, 3186);
5813 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 5898 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5814 switch (vk) { 5899 switch (vk) {
5815 case 0: 5900 case 0:
5816 dasm_put(Dst, 3134); 5901 dasm_put(Dst, 3189);
5817 break; 5902 break;
5818 case 1: 5903 case 1:
5819 dasm_put(Dst, 3137); 5904 dasm_put(Dst, 3192);
5820 break; 5905 break;
5821 default: 5906 default:
5822 dasm_put(Dst, 3140); 5907 dasm_put(Dst, 3195);
5823 break; 5908 break;
5824 } 5909 }
5825 dasm_put(Dst, 3143); 5910 dasm_put(Dst, 3198);
5826 if (vk == 1) { 5911 if (vk == 1) {
5827 dasm_put(Dst, 3145, -LJ_TISNUM, -LJ_TISNUM); 5912 dasm_put(Dst, 3200, -LJ_TISNUM, -LJ_TISNUM);
5828 } else { 5913 } else {
5829 dasm_put(Dst, 3150, -LJ_TISNUM, -LJ_TISNUM); 5914 dasm_put(Dst, 3205, -LJ_TISNUM, -LJ_TISNUM);
5830 } 5915 }
5831 dasm_put(Dst, 3155); 5916 dasm_put(Dst, 3210);
5832 switch (vk) { 5917 switch (vk) {
5833 case 0: 5918 case 0:
5834 dasm_put(Dst, 3159); 5919 dasm_put(Dst, 3214);
5835 break; 5920 break;
5836 case 1: 5921 case 1:
5837 dasm_put(Dst, 3162); 5922 dasm_put(Dst, 3217);
5838 break; 5923 break;
5839 default: 5924 default:
5840 dasm_put(Dst, 3165); 5925 dasm_put(Dst, 3220);
5841 break; 5926 break;
5842 } 5927 }
5843 dasm_put(Dst, 3168); 5928 dasm_put(Dst, 3223);
5844 switch (vk) { 5929 switch (vk) {
5845 case 0: 5930 case 0:
5846 if (vk == 1) { 5931 if (vk == 1) {
5847 dasm_put(Dst, 3177, -LJ_TISNUM, -LJ_TISNUM); 5932 dasm_put(Dst, 3232, -LJ_TISNUM, -LJ_TISNUM);
5848 } else { 5933 } else {
5849 dasm_put(Dst, 3182, -LJ_TISNUM, -LJ_TISNUM); 5934 dasm_put(Dst, 3237, -LJ_TISNUM, -LJ_TISNUM);
5850 } 5935 }
5851 dasm_put(Dst, 3187); 5936 dasm_put(Dst, 3242);
5852 break; 5937 break;
5853 case 1: 5938 case 1:
5854 if (vk == 1) { 5939 if (vk == 1) {
5855 dasm_put(Dst, 3190, -LJ_TISNUM, -LJ_TISNUM); 5940 dasm_put(Dst, 3245, -LJ_TISNUM, -LJ_TISNUM);
5856 } else { 5941 } else {
5857 dasm_put(Dst, 3195, -LJ_TISNUM, -LJ_TISNUM); 5942 dasm_put(Dst, 3250, -LJ_TISNUM, -LJ_TISNUM);
5858 } 5943 }
5859 dasm_put(Dst, 3200); 5944 dasm_put(Dst, 3255);
5860 break; 5945 break;
5861 default: 5946 default:
5862 if (vk == 1) { 5947 if (vk == 1) {
5863 dasm_put(Dst, 3203, -LJ_TISNUM, -LJ_TISNUM); 5948 dasm_put(Dst, 3258, -LJ_TISNUM, -LJ_TISNUM);
5864 } else { 5949 } else {
5865 dasm_put(Dst, 3208, -LJ_TISNUM, -LJ_TISNUM); 5950 dasm_put(Dst, 3263, -LJ_TISNUM, -LJ_TISNUM);
5866 } 5951 }
5867 dasm_put(Dst, 3213); 5952 dasm_put(Dst, 3268);
5868 break; 5953 break;
5869 } 5954 }
5870 dasm_put(Dst, 3216); 5955 dasm_put(Dst, 3271);
5871 break; 5956 break;
5872 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 5957 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
5873 dasm_put(Dst, 3222); 5958 dasm_put(Dst, 3277);
5874 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 5959 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5875 switch (vk) { 5960 switch (vk) {
5876 case 0: 5961 case 0:
5877 dasm_put(Dst, 3225); 5962 dasm_put(Dst, 3280);
5878 break; 5963 break;
5879 case 1: 5964 case 1:
5880 dasm_put(Dst, 3228); 5965 dasm_put(Dst, 3283);
5881 break; 5966 break;
5882 default: 5967 default:
5883 dasm_put(Dst, 3231); 5968 dasm_put(Dst, 3286);
5884 break; 5969 break;
5885 } 5970 }
5886 dasm_put(Dst, 3234); 5971 dasm_put(Dst, 3289);
5887 if (vk == 1) { 5972 if (vk == 1) {
5888 dasm_put(Dst, 3236, -LJ_TISNUM, -LJ_TISNUM); 5973 dasm_put(Dst, 3291, -LJ_TISNUM, -LJ_TISNUM);
5889 } else { 5974 } else {
5890 dasm_put(Dst, 3241, -LJ_TISNUM, -LJ_TISNUM); 5975 dasm_put(Dst, 3296, -LJ_TISNUM, -LJ_TISNUM);
5891 } 5976 }
5892 dasm_put(Dst, 3246); 5977 dasm_put(Dst, 3301);
5893 switch (vk) { 5978 switch (vk) {
5894 case 0: 5979 case 0:
5895 dasm_put(Dst, 3250); 5980 dasm_put(Dst, 3305);
5896 break; 5981 break;
5897 case 1: 5982 case 1:
5898 dasm_put(Dst, 3253); 5983 dasm_put(Dst, 3308);
5899 break; 5984 break;
5900 default: 5985 default:
5901 dasm_put(Dst, 3256); 5986 dasm_put(Dst, 3311);
5902 break; 5987 break;
5903 } 5988 }
5904 dasm_put(Dst, 3259); 5989 dasm_put(Dst, 3314);
5905 switch (vk) { 5990 switch (vk) {
5906 case 0: 5991 case 0:
5907 if (vk == 1) { 5992 if (vk == 1) {
5908 dasm_put(Dst, 3268, -LJ_TISNUM, -LJ_TISNUM); 5993 dasm_put(Dst, 3323, -LJ_TISNUM, -LJ_TISNUM);
5909 } else { 5994 } else {
5910 dasm_put(Dst, 3273, -LJ_TISNUM, -LJ_TISNUM); 5995 dasm_put(Dst, 3328, -LJ_TISNUM, -LJ_TISNUM);
5911 } 5996 }
5912 dasm_put(Dst, 3278); 5997 dasm_put(Dst, 3333);
5913 break; 5998 break;
5914 case 1: 5999 case 1:
5915 if (vk == 1) { 6000 if (vk == 1) {
5916 dasm_put(Dst, 3281, -LJ_TISNUM, -LJ_TISNUM); 6001 dasm_put(Dst, 3336, -LJ_TISNUM, -LJ_TISNUM);
5917 } else { 6002 } else {
5918 dasm_put(Dst, 3286, -LJ_TISNUM, -LJ_TISNUM); 6003 dasm_put(Dst, 3341, -LJ_TISNUM, -LJ_TISNUM);
5919 } 6004 }
5920 dasm_put(Dst, 3291); 6005 dasm_put(Dst, 3346);
5921 break; 6006 break;
5922 default: 6007 default:
5923 if (vk == 1) { 6008 if (vk == 1) {
5924 dasm_put(Dst, 3294, -LJ_TISNUM, -LJ_TISNUM); 6009 dasm_put(Dst, 3349, -LJ_TISNUM, -LJ_TISNUM);
5925 } else { 6010 } else {
5926 dasm_put(Dst, 3299, -LJ_TISNUM, -LJ_TISNUM); 6011 dasm_put(Dst, 3354, -LJ_TISNUM, -LJ_TISNUM);
5927 } 6012 }
5928 dasm_put(Dst, 3304); 6013 dasm_put(Dst, 3359);
5929 break; 6014 break;
5930 } 6015 }
5931 dasm_put(Dst, 3307); 6016 dasm_put(Dst, 3362);
5932 break; 6017 break;
5933 case BC_MULVN: case BC_MULNV: case BC_MULVV: 6018 case BC_MULVN: case BC_MULNV: case BC_MULVV:
5934 dasm_put(Dst, 3313); 6019 dasm_put(Dst, 3368);
5935 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 6020 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5936 switch (vk) { 6021 switch (vk) {
5937 case 0: 6022 case 0:
5938 dasm_put(Dst, 3316); 6023 dasm_put(Dst, 3371);
5939 break; 6024 break;
5940 case 1: 6025 case 1:
5941 dasm_put(Dst, 3319); 6026 dasm_put(Dst, 3374);
5942 break; 6027 break;
5943 default: 6028 default:
5944 dasm_put(Dst, 3322); 6029 dasm_put(Dst, 3377);
5945 break; 6030 break;
5946 } 6031 }
5947 dasm_put(Dst, 3325); 6032 dasm_put(Dst, 3380);
5948 if (vk == 1) { 6033 if (vk == 1) {
5949 dasm_put(Dst, 3327, -LJ_TISNUM, -LJ_TISNUM); 6034 dasm_put(Dst, 3382, -LJ_TISNUM, -LJ_TISNUM);
5950 } else { 6035 } else {
5951 dasm_put(Dst, 3332, -LJ_TISNUM, -LJ_TISNUM); 6036 dasm_put(Dst, 3387, -LJ_TISNUM, -LJ_TISNUM);
5952 } 6037 }
5953 dasm_put(Dst, 3337); 6038 dasm_put(Dst, 3392);
5954 switch (vk) { 6039 switch (vk) {
5955 case 0: 6040 case 0:
5956 dasm_put(Dst, 3342); 6041 dasm_put(Dst, 3397);
5957 break; 6042 break;
5958 case 1: 6043 case 1:
5959 dasm_put(Dst, 3345); 6044 dasm_put(Dst, 3400);
5960 break; 6045 break;
5961 default: 6046 default:
5962 dasm_put(Dst, 3348); 6047 dasm_put(Dst, 3403);
5963 break; 6048 break;
5964 } 6049 }
5965 dasm_put(Dst, 3351); 6050 dasm_put(Dst, 3406);
5966 switch (vk) { 6051 switch (vk) {
5967 case 0: 6052 case 0:
5968 if (vk == 1) { 6053 if (vk == 1) {
5969 dasm_put(Dst, 3360, -LJ_TISNUM, -LJ_TISNUM); 6054 dasm_put(Dst, 3415, -LJ_TISNUM, -LJ_TISNUM);
5970 } else { 6055 } else {
5971 dasm_put(Dst, 3365, -LJ_TISNUM, -LJ_TISNUM); 6056 dasm_put(Dst, 3420, -LJ_TISNUM, -LJ_TISNUM);
5972 } 6057 }
5973 dasm_put(Dst, 3370); 6058 dasm_put(Dst, 3425);
5974 break; 6059 break;
5975 case 1: 6060 case 1:
5976 if (vk == 1) { 6061 if (vk == 1) {
5977 dasm_put(Dst, 3373, -LJ_TISNUM, -LJ_TISNUM); 6062 dasm_put(Dst, 3428, -LJ_TISNUM, -LJ_TISNUM);
5978 } else { 6063 } else {
5979 dasm_put(Dst, 3378, -LJ_TISNUM, -LJ_TISNUM); 6064 dasm_put(Dst, 3433, -LJ_TISNUM, -LJ_TISNUM);
5980 } 6065 }
5981 dasm_put(Dst, 3383); 6066 dasm_put(Dst, 3438);
5982 break; 6067 break;
5983 default: 6068 default:
5984 if (vk == 1) { 6069 if (vk == 1) {
5985 dasm_put(Dst, 3386, -LJ_TISNUM, -LJ_TISNUM); 6070 dasm_put(Dst, 3441, -LJ_TISNUM, -LJ_TISNUM);
5986 } else { 6071 } else {
5987 dasm_put(Dst, 3391, -LJ_TISNUM, -LJ_TISNUM); 6072 dasm_put(Dst, 3446, -LJ_TISNUM, -LJ_TISNUM);
5988 } 6073 }
5989 dasm_put(Dst, 3396); 6074 dasm_put(Dst, 3451);
5990 break; 6075 break;
5991 } 6076 }
5992 dasm_put(Dst, 3399); 6077 dasm_put(Dst, 3454);
5993 break; 6078 break;
5994 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 6079 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
5995 dasm_put(Dst, 3405); 6080 dasm_put(Dst, 3460);
5996 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 6081 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5997 switch (vk) { 6082 switch (vk) {
5998 case 0: 6083 case 0:
5999 dasm_put(Dst, 3408); 6084 dasm_put(Dst, 3463);
6000 break; 6085 break;
6001 case 1: 6086 case 1:
6002 dasm_put(Dst, 3411); 6087 dasm_put(Dst, 3466);
6003 break; 6088 break;
6004 default: 6089 default:
6005 dasm_put(Dst, 3414); 6090 dasm_put(Dst, 3469);
6006 break; 6091 break;
6007 } 6092 }
6008 switch (vk) { 6093 switch (vk) {
6009 case 0: 6094 case 0:
6010 if (vk == 1) { 6095 if (vk == 1) {
6011 dasm_put(Dst, 3417, -LJ_TISNUM, -LJ_TISNUM); 6096 dasm_put(Dst, 3472, -LJ_TISNUM, -LJ_TISNUM);
6012 } else { 6097 } else {
6013 dasm_put(Dst, 3422, -LJ_TISNUM, -LJ_TISNUM); 6098 dasm_put(Dst, 3477, -LJ_TISNUM, -LJ_TISNUM);
6014 } 6099 }
6015 dasm_put(Dst, 3427); 6100 dasm_put(Dst, 3482);
6016 break; 6101 break;
6017 case 1: 6102 case 1:
6018 if (vk == 1) { 6103 if (vk == 1) {
6019 dasm_put(Dst, 3430, -LJ_TISNUM, -LJ_TISNUM); 6104 dasm_put(Dst, 3485, -LJ_TISNUM, -LJ_TISNUM);
6020 } else { 6105 } else {
6021 dasm_put(Dst, 3435, -LJ_TISNUM, -LJ_TISNUM); 6106 dasm_put(Dst, 3490, -LJ_TISNUM, -LJ_TISNUM);
6022 } 6107 }
6023 dasm_put(Dst, 3440); 6108 dasm_put(Dst, 3495);
6024 break; 6109 break;
6025 default: 6110 default:
6026 if (vk == 1) { 6111 if (vk == 1) {
6027 dasm_put(Dst, 3443, -LJ_TISNUM, -LJ_TISNUM); 6112 dasm_put(Dst, 3498, -LJ_TISNUM, -LJ_TISNUM);
6028 } else { 6113 } else {
6029 dasm_put(Dst, 3448, -LJ_TISNUM, -LJ_TISNUM); 6114 dasm_put(Dst, 3503, -LJ_TISNUM, -LJ_TISNUM);
6030 } 6115 }
6031 dasm_put(Dst, 3453); 6116 dasm_put(Dst, 3508);
6032 break; 6117 break;
6033 } 6118 }
6034 dasm_put(Dst, 3456); 6119 dasm_put(Dst, 3511);
6035 break; 6120 break;
6036 case BC_MODVN: case BC_MODNV: case BC_MODVV: 6121 case BC_MODVN: case BC_MODNV: case BC_MODVV:
6037 dasm_put(Dst, 3466); 6122 dasm_put(Dst, 3521);
6038 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 6123 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
6039 switch (vk) { 6124 switch (vk) {
6040 case 0: 6125 case 0:
6041 dasm_put(Dst, 3469); 6126 dasm_put(Dst, 3524);
6042 break; 6127 break;
6043 case 1: 6128 case 1:
6044 dasm_put(Dst, 3472); 6129 dasm_put(Dst, 3527);
6045 break; 6130 break;
6046 default: 6131 default:
6047 dasm_put(Dst, 3475); 6132 dasm_put(Dst, 3530);
6048 break; 6133 break;
6049 } 6134 }
6050 if (vk == 1) { 6135 if (vk == 1) {
6051 dasm_put(Dst, 3478, -LJ_TISNUM, -LJ_TISNUM); 6136 dasm_put(Dst, 3533, -LJ_TISNUM, -LJ_TISNUM);
6052 } else { 6137 } else {
6053 dasm_put(Dst, 3483, -LJ_TISNUM, -LJ_TISNUM); 6138 dasm_put(Dst, 3538, -LJ_TISNUM, -LJ_TISNUM);
6054 } 6139 }
6055 dasm_put(Dst, 3488); 6140 dasm_put(Dst, 3543);
6056 switch (vk) { 6141 switch (vk) {
6057 case 0: 6142 case 0:
6058 dasm_put(Dst, 3492); 6143 dasm_put(Dst, 3547);
6059 break; 6144 break;
6060 case 1: 6145 case 1:
6061 dasm_put(Dst, 3495); 6146 dasm_put(Dst, 3550);
6062 break; 6147 break;
6063 default: 6148 default:
6064 dasm_put(Dst, 3498); 6149 dasm_put(Dst, 3553);
6065 break; 6150 break;
6066 } 6151 }
6067 dasm_put(Dst, 3501, ~LJ_TISNUM); 6152 dasm_put(Dst, 3556, ~LJ_TISNUM);
6068 switch (vk) { 6153 switch (vk) {
6069 case 0: 6154 case 0:
6070 if (vk == 1) { 6155 if (vk == 1) {
6071 dasm_put(Dst, 3515, -LJ_TISNUM, -LJ_TISNUM); 6156 dasm_put(Dst, 3570, -LJ_TISNUM, -LJ_TISNUM);
6072 } else { 6157 } else {
6073 dasm_put(Dst, 3520, -LJ_TISNUM, -LJ_TISNUM); 6158 dasm_put(Dst, 3575, -LJ_TISNUM, -LJ_TISNUM);
6074 } 6159 }
6075 dasm_put(Dst, 3525); 6160 dasm_put(Dst, 3580);
6076 break; 6161 break;
6077 case 1: 6162 case 1:
6078 if (vk == 1) { 6163 if (vk == 1) {
6079 dasm_put(Dst, 3528, -LJ_TISNUM, -LJ_TISNUM); 6164 dasm_put(Dst, 3583, -LJ_TISNUM, -LJ_TISNUM);
6080 } else { 6165 } else {
6081 dasm_put(Dst, 3533, -LJ_TISNUM, -LJ_TISNUM); 6166 dasm_put(Dst, 3588, -LJ_TISNUM, -LJ_TISNUM);
6082 } 6167 }
6083 dasm_put(Dst, 3538); 6168 dasm_put(Dst, 3593);
6084 break; 6169 break;
6085 default: 6170 default:
6086 if (vk == 1) { 6171 if (vk == 1) {
6087 dasm_put(Dst, 3541, -LJ_TISNUM, -LJ_TISNUM); 6172 dasm_put(Dst, 3596, -LJ_TISNUM, -LJ_TISNUM);
6088 } else { 6173 } else {
6089 dasm_put(Dst, 3546, -LJ_TISNUM, -LJ_TISNUM); 6174 dasm_put(Dst, 3601, -LJ_TISNUM, -LJ_TISNUM);
6090 } 6175 }
6091 dasm_put(Dst, 3551); 6176 dasm_put(Dst, 3606);
6092 break; 6177 break;
6093 } 6178 }
6094 dasm_put(Dst, 3554); 6179 dasm_put(Dst, 3609);
6095 break; 6180 break;
6096 case BC_POW: 6181 case BC_POW:
6097 dasm_put(Dst, 3559); 6182 dasm_put(Dst, 3614);
6098 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 6183 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
6099 switch (vk) { 6184 switch (vk) {
6100 case 0: 6185 case 0:
6101 dasm_put(Dst, 3562); 6186 dasm_put(Dst, 3617);
6102 break; 6187 break;
6103 case 1: 6188 case 1:
6104 dasm_put(Dst, 3565); 6189 dasm_put(Dst, 3620);
6105 break; 6190 break;
6106 default: 6191 default:
6107 dasm_put(Dst, 3568); 6192 dasm_put(Dst, 3623);
6108 break; 6193 break;
6109 } 6194 }
6110 switch (vk) { 6195 switch (vk) {
6111 case 0: 6196 case 0:
6112 if (vk == 1) { 6197 if (vk == 1) {
6113 dasm_put(Dst, 3571, -LJ_TISNUM, -LJ_TISNUM); 6198 dasm_put(Dst, 3626, -LJ_TISNUM, -LJ_TISNUM);
6114 } else { 6199 } else {
6115 dasm_put(Dst, 3576, -LJ_TISNUM, -LJ_TISNUM); 6200 dasm_put(Dst, 3631, -LJ_TISNUM, -LJ_TISNUM);
6116 } 6201 }
6117 dasm_put(Dst, 3581); 6202 dasm_put(Dst, 3636);
6118 break; 6203 break;
6119 case 1: 6204 case 1:
6120 if (vk == 1) { 6205 if (vk == 1) {
6121 dasm_put(Dst, 3584, -LJ_TISNUM, -LJ_TISNUM); 6206 dasm_put(Dst, 3639, -LJ_TISNUM, -LJ_TISNUM);
6122 } else { 6207 } else {
6123 dasm_put(Dst, 3589, -LJ_TISNUM, -LJ_TISNUM); 6208 dasm_put(Dst, 3644, -LJ_TISNUM, -LJ_TISNUM);
6124 } 6209 }
6125 dasm_put(Dst, 3594); 6210 dasm_put(Dst, 3649);
6126 break; 6211 break;
6127 default: 6212 default:
6128 if (vk == 1) { 6213 if (vk == 1) {
6129 dasm_put(Dst, 3597, -LJ_TISNUM, -LJ_TISNUM); 6214 dasm_put(Dst, 3652, -LJ_TISNUM, -LJ_TISNUM);
6130 } else { 6215 } else {
6131 dasm_put(Dst, 3602, -LJ_TISNUM, -LJ_TISNUM); 6216 dasm_put(Dst, 3657, -LJ_TISNUM, -LJ_TISNUM);
6132 } 6217 }
6133 dasm_put(Dst, 3607); 6218 dasm_put(Dst, 3662);
6134 break; 6219 break;
6135 } 6220 }
6136 dasm_put(Dst, 3610); 6221 dasm_put(Dst, 3665);
6137 break; 6222 break;
6138 6223
6139 case BC_CAT: 6224 case BC_CAT:
6140 dasm_put(Dst, 3620, Dt1(->base), Dt1(->base)); 6225 dasm_put(Dst, 3675, Dt1(->base), Dt1(->base));
6141 break; 6226 break;
6142 6227
6143 /* -- Constant ops ------------------------------------------------------ */ 6228 /* -- Constant ops ------------------------------------------------------ */
6144 6229
6145 case BC_KSTR: 6230 case BC_KSTR:
6146 dasm_put(Dst, 3646, ~LJ_TSTR); 6231 dasm_put(Dst, 3701, ~LJ_TSTR);
6147 break; 6232 break;
6148 case BC_KCDATA: 6233 case BC_KCDATA:
6149#if LJ_HASFFI 6234#if LJ_HASFFI
6150 dasm_put(Dst, 3658, ~LJ_TCDATA); 6235 dasm_put(Dst, 3713, ~LJ_TCDATA);
6151#endif 6236#endif
6152 break; 6237 break;
6153 case BC_KSHORT: 6238 case BC_KSHORT:
6154 dasm_put(Dst, 3670, ~LJ_TISNUM); 6239 dasm_put(Dst, 3725, ~LJ_TISNUM);
6155 break; 6240 break;
6156 case BC_KNUM: 6241 case BC_KNUM:
6157 dasm_put(Dst, 3681); 6242 dasm_put(Dst, 3736);
6158 break; 6243 break;
6159 case BC_KPRI: 6244 case BC_KPRI:
6160 dasm_put(Dst, 3691); 6245 dasm_put(Dst, 3746);
6161 break; 6246 break;
6162 case BC_KNIL: 6247 case BC_KNIL:
6163 dasm_put(Dst, 3701, ~LJ_TNIL); 6248 dasm_put(Dst, 3756, ~LJ_TNIL);
6164 break; 6249 break;
6165 6250
6166 /* -- Upvalue and function ops ------------------------------------------ */ 6251 /* -- Upvalue and function ops ------------------------------------------ */
6167 6252
6168 case BC_UGET: 6253 case BC_UGET:
6169 dasm_put(Dst, 3720, offsetof(GCfuncL, uvptr), DtA(->v)); 6254 dasm_put(Dst, 3775, offsetof(GCfuncL, uvptr), DtA(->v));
6170 break; 6255 break;
6171 case BC_USETV: 6256 case BC_USETV:
6172 dasm_put(Dst, 3736, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->closed), DtA(->v), LJ_GC_BLACK, -LJ_TISGCV, -(LJ_TISNUM - LJ_TISGCV), Dt4(->gch.marked), -GG_DISP2G, LJ_GC_WHITES); 6257 dasm_put(Dst, 3791, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->closed), DtA(->v), LJ_GC_BLACK, -LJ_TISGCV, -(LJ_TISNUM - LJ_TISGCV), Dt4(->gch.marked), -GG_DISP2G, LJ_GC_WHITES);
6173 break; 6258 break;
6174 case BC_USETS: 6259 case BC_USETS:
6175 dasm_put(Dst, 3780, offsetof(GCfuncL, uvptr), ~LJ_TSTR, DtA(->marked), DtA(->v), DtA(->closed), LJ_GC_BLACK, Dt5(->marked), LJ_GC_WHITES, -GG_DISP2G); 6260 dasm_put(Dst, 3835, offsetof(GCfuncL, uvptr), ~LJ_TSTR, DtA(->marked), DtA(->v), DtA(->closed), LJ_GC_BLACK, Dt5(->marked), LJ_GC_WHITES, -GG_DISP2G);
6176 break; 6261 break;
6177 case BC_USETN: 6262 case BC_USETN:
6178 dasm_put(Dst, 3820, offsetof(GCfuncL, uvptr), DtA(->v)); 6263 dasm_put(Dst, 3875, offsetof(GCfuncL, uvptr), DtA(->v));
6179 break; 6264 break;
6180 case BC_USETP: 6265 case BC_USETP:
6181 dasm_put(Dst, 3837, offsetof(GCfuncL, uvptr), DtA(->v)); 6266 dasm_put(Dst, 3892, offsetof(GCfuncL, uvptr), DtA(->v));
6182 break; 6267 break;
6183 6268
6184 case BC_UCLO: 6269 case BC_UCLO:
6185 dasm_put(Dst, 3853, Dt1(->openupval), Dt1(->base), Dt1(->base)); 6270 dasm_put(Dst, 3908, Dt1(->openupval), Dt1(->base), Dt1(->base));
6186 break; 6271 break;
6187 6272
6188 case BC_FNEW: 6273 case BC_FNEW:
6189 dasm_put(Dst, 3876, Dt1(->base), Dt1(->base), ~LJ_TFUNC); 6274 dasm_put(Dst, 3931, Dt1(->base), Dt1(->base), ~LJ_TFUNC);
6190 break; 6275 break;
6191 6276
6192 /* -- Table ops --------------------------------------------------------- */ 6277 /* -- Table ops --------------------------------------------------------- */
@@ -6194,111 +6279,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
6194 case BC_TNEW: 6279 case BC_TNEW:
6195 case BC_TDUP: 6280 case BC_TDUP:
6196 if (op == BC_TDUP) { 6281 if (op == BC_TDUP) {
6197 dasm_put(Dst, 3897); 6282 dasm_put(Dst, 3952);
6198 } 6283 }
6199 dasm_put(Dst, 3899, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base)); 6284 dasm_put(Dst, 3954, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base));
6200 if (op == BC_TNEW) { 6285 if (op == BC_TNEW) {
6201 dasm_put(Dst, 3912); 6286 dasm_put(Dst, 3967);
6202 } else { 6287 } else {
6203 dasm_put(Dst, 3921); 6288 dasm_put(Dst, 3976);
6204 } 6289 }
6205 dasm_put(Dst, 3925, Dt1(->base), ~LJ_TTAB); 6290 dasm_put(Dst, 3980, Dt1(->base), ~LJ_TTAB);
6206 break; 6291 break;
6207 6292
6208 case BC_GGET: 6293 case BC_GGET:
6209 case BC_GSET: 6294 case BC_GSET:
6210 dasm_put(Dst, 3943, Dt7(->env)); 6295 dasm_put(Dst, 3998, Dt7(->env));
6211 if (op == BC_GGET) { 6296 if (op == BC_GGET) {
6212 dasm_put(Dst, 3949); 6297 dasm_put(Dst, 4004);
6213 } else { 6298 } else {
6214 dasm_put(Dst, 3952); 6299 dasm_put(Dst, 4007);
6215 } 6300 }
6216 break; 6301 break;
6217 6302
6218 case BC_TGETV: 6303 case BC_TGETV:
6219 dasm_put(Dst, 3955, -LJ_TTAB, -LJ_TISNUM, Dt6(->array), Dt6(->asize), -LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index, -LJ_TSTR); 6304 dasm_put(Dst, 4010, -LJ_TTAB, -LJ_TISNUM, Dt6(->array), Dt6(->asize), -LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index, -LJ_TSTR);
6220 break; 6305 break;
6221 case BC_TGETS: 6306 case BC_TGETS:
6222 dasm_put(Dst, 4012, -LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), DtB(->key), DtB(->val), DtB(->next), -LJ_TSTR, -LJ_TNIL, Dt6(->metatable), ~LJ_TNIL, Dt6(->nomm)); 6307 dasm_put(Dst, 4067, -LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), DtB(->key), DtB(->val), DtB(->next), -LJ_TSTR, -LJ_TNIL, Dt6(->metatable), ~LJ_TNIL, Dt6(->nomm));
6223 dasm_put(Dst, 4072, 1<<MM_index); 6308 dasm_put(Dst, 4127, 1<<MM_index);
6224 break; 6309 break;
6225 case BC_TGETB: 6310 case BC_TGETB:
6226 dasm_put(Dst, 4079, -LJ_TTAB, Dt6(->asize), Dt6(->array), -LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 6311 dasm_put(Dst, 4134, -LJ_TTAB, Dt6(->asize), Dt6(->array), -LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
6227 break; 6312 break;
6228 6313
6229 case BC_TSETV: 6314 case BC_TSETV:
6230 dasm_put(Dst, 4122, -LJ_TTAB, -LJ_TISNUM, Dt6(->array), Dt6(->asize), -LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); 6315 dasm_put(Dst, 4177, -LJ_TTAB, -LJ_TISNUM, Dt6(->array), Dt6(->asize), -LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
6231 dasm_put(Dst, 4182, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist), -LJ_TSTR); 6316 dasm_put(Dst, 4237, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist), -LJ_TSTR);
6232 break; 6317 break;
6233 case BC_TSETS: 6318 case BC_TSETS:
6234 dasm_put(Dst, 4203, -LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), Dt6(->nomm), DtB(->key), DtB(->val.it), DtB(->next), -LJ_TSTR, Dt6(->marked), -LJ_TNIL, LJ_GC_BLACK, DtB(->val)); 6319 dasm_put(Dst, 4258, -LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), Dt6(->nomm), DtB(->key), DtB(->val.it), DtB(->next), -LJ_TSTR, Dt6(->marked), -LJ_TNIL, LJ_GC_BLACK, DtB(->val));
6235 dasm_put(Dst, 4261, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->metatable), Dt1(->base), Dt6(->nomm), 1<<MM_newindex, ~LJ_TSTR, Dt1(->base), DISPATCH_GL(gc.grayagain), LJ_GC_BLACK); 6320 dasm_put(Dst, 4316, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->metatable), Dt1(->base), Dt6(->nomm), 1<<MM_newindex, ~LJ_TSTR, Dt1(->base), DISPATCH_GL(gc.grayagain), LJ_GC_BLACK);
6236 dasm_put(Dst, 4314, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); 6321 dasm_put(Dst, 4369, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
6237 break; 6322 break;
6238 case BC_TSETB: 6323 case BC_TSETB:
6239 dasm_put(Dst, 4323, -LJ_TTAB, Dt6(->asize), Dt6(->array), -LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK); 6324 dasm_put(Dst, 4378, -LJ_TTAB, Dt6(->asize), Dt6(->array), -LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK);
6240 dasm_put(Dst, 4380, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); 6325 dasm_put(Dst, 4435, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
6241 break; 6326 break;
6242 6327
6243 case BC_TSETM: 6328 case BC_TSETM:
6244 dasm_put(Dst, 4389, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_GC_BLACK, Dt1(->base), DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); 6329 dasm_put(Dst, 4444, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_GC_BLACK, Dt1(->base), DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
6245 break; 6330 break;
6246 6331
6247 /* -- Calls and vararg handling ----------------------------------------- */ 6332 /* -- Calls and vararg handling ----------------------------------------- */
6248 6333
6249 case BC_CALLM: 6334 case BC_CALLM:
6250 dasm_put(Dst, 4449); 6335 dasm_put(Dst, 4504);
6251 break; 6336 break;
6252 case BC_CALL: 6337 case BC_CALL:
6253 dasm_put(Dst, 4455, -LJ_TFUNC, Dt7(->field_pc)); 6338 dasm_put(Dst, 4510, -LJ_TFUNC, Dt7(->field_pc));
6254 break; 6339 break;
6255 6340
6256 case BC_CALLMT: 6341 case BC_CALLMT:
6257 dasm_put(Dst, 4475); 6342 dasm_put(Dst, 4530);
6258 break; 6343 break;
6259 case BC_CALLT: 6344 case BC_CALLT:
6260 dasm_put(Dst, 4480, -LJ_TFUNC, Dt7(->ffid), FRAME_TYPE, Dt7(->field_pc), Dt7(->field_pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP); 6345 dasm_put(Dst, 4535, -LJ_TFUNC, Dt7(->ffid), FRAME_TYPE, Dt7(->field_pc), Dt7(->field_pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP);
6261 dasm_put(Dst, 4541, FRAME_TYPE); 6346 dasm_put(Dst, 4596, FRAME_TYPE);
6262 break; 6347 break;
6263 6348
6264 case BC_ITERC: 6349 case BC_ITERC:
6265 dasm_put(Dst, 4552, -LJ_TFUNC, Dt7(->field_pc)); 6350 dasm_put(Dst, 4607, -LJ_TFUNC, Dt7(->field_pc));
6266 break; 6351 break;
6267 6352
6268 case BC_ITERN: 6353 case BC_ITERN:
6269#if LJ_HASJIT 6354#if LJ_HASJIT
6270#endif 6355#endif
6271 dasm_put(Dst, 4576, Dt6(->asize), Dt6(->array), -LJ_TNIL, ~LJ_TISNUM, Dt6(->hmask), Dt6(->node), DtB(->val), -LJ_TNIL, DtB(->key)); 6356 dasm_put(Dst, 4631, Dt6(->asize), Dt6(->array), -LJ_TNIL, ~LJ_TISNUM, Dt6(->hmask), Dt6(->node), DtB(->val), -LJ_TNIL, DtB(->key));
6272 break; 6357 break;
6273 6358
6274 case BC_ISNEXT: 6359 case BC_ISNEXT:
6275 dasm_put(Dst, 4641, -LJ_TFUNC, Dt8(->ffid), -LJ_TTAB, -LJ_TNIL, FF_next_N, BC_JMP, BC_ITERC); 6360 dasm_put(Dst, 4696, -LJ_TFUNC, Dt8(->ffid), -LJ_TTAB, -LJ_TNIL, FF_next_N, BC_JMP, BC_ITERC);
6276 break; 6361 break;
6277 6362
6278 case BC_VARG: 6363 case BC_VARG:
6279 dasm_put(Dst, 4680, FRAME_VARG, ~LJ_TNIL, Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->base)); 6364 dasm_put(Dst, 4735, FRAME_VARG, ~LJ_TNIL, Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->base));
6280 break; 6365 break;
6281 6366
6282 /* -- Returns ----------------------------------------------------------- */ 6367 /* -- Returns ----------------------------------------------------------- */
6283 6368
6284 case BC_RETM: 6369 case BC_RETM:
6285 dasm_put(Dst, 4752); 6370 dasm_put(Dst, 4807);
6286 break; 6371 break;
6287 6372
6288 case BC_RET: 6373 case BC_RET:
6289 dasm_put(Dst, 4759, FRAME_TYPE, FRAME_VARG, Dt7(->field_pc), PC2PROTO(k), ~LJ_TNIL, FRAME_TYPEP); 6374 dasm_put(Dst, 4814, FRAME_TYPE, FRAME_VARG, Dt7(->field_pc), PC2PROTO(k), ~LJ_TNIL, FRAME_TYPEP);
6290 break; 6375 break;
6291 6376
6292 case BC_RET0: case BC_RET1: 6377 case BC_RET0: case BC_RET1:
6293 dasm_put(Dst, 4824, FRAME_TYPE, FRAME_VARG); 6378 dasm_put(Dst, 4879, FRAME_TYPE, FRAME_VARG);
6294 if (op == BC_RET1) { 6379 if (op == BC_RET1) {
6295 dasm_put(Dst, 4835); 6380 dasm_put(Dst, 4890);
6296 } 6381 }
6297 dasm_put(Dst, 4837); 6382 dasm_put(Dst, 4892);
6298 if (op == BC_RET1) { 6383 if (op == BC_RET1) {
6299 dasm_put(Dst, 4840); 6384 dasm_put(Dst, 4895);
6300 } 6385 }
6301 dasm_put(Dst, 4842, Dt7(->field_pc), PC2PROTO(k), ~LJ_TNIL); 6386 dasm_put(Dst, 4897, Dt7(->field_pc), PC2PROTO(k), ~LJ_TNIL);
6302 break; 6387 break;
6303 6388
6304 /* -- Loops and branches ------------------------------------------------ */ 6389 /* -- Loops and branches ------------------------------------------------ */
@@ -6306,7 +6391,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
6306 6391
6307 case BC_FORL: 6392 case BC_FORL:
6308#if LJ_HASJIT 6393#if LJ_HASJIT
6309 dasm_put(Dst, 4868); 6394 dasm_put(Dst, 4923);
6310#endif 6395#endif
6311 break; 6396 break;
6312 6397
@@ -6318,63 +6403,63 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
6318 case BC_FORI: 6403 case BC_FORI:
6319 case BC_IFORL: 6404 case BC_IFORL:
6320 vk = (op == BC_IFORL || op == BC_JFORL); 6405 vk = (op == BC_IFORL || op == BC_JFORL);
6321 dasm_put(Dst, 4870); 6406 dasm_put(Dst, 4925);
6322 if (!vk) { 6407 if (!vk) {
6323 dasm_put(Dst, 4873, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM); 6408 dasm_put(Dst, 4928, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
6324 } else { 6409 } else {
6325 dasm_put(Dst, 4891, -LJ_TISNUM); 6410 dasm_put(Dst, 4946, -LJ_TISNUM);
6326 if (op == BC_IFORL) { 6411 if (op == BC_IFORL) {
6327 dasm_put(Dst, 4899); 6412 dasm_put(Dst, 4954);
6328 } else { 6413 } else {
6329 dasm_put(Dst, 4901); 6414 dasm_put(Dst, 4956);
6330 } 6415 }
6331 dasm_put(Dst, 4903); 6416 dasm_put(Dst, 4958);
6332 } 6417 }
6333 dasm_put(Dst, 4908); 6418 dasm_put(Dst, 4963);
6334 if (op == BC_FORI) { 6419 if (op == BC_FORI) {
6335 dasm_put(Dst, 4910); 6420 dasm_put(Dst, 4965);
6336 } else if (op == BC_JFORI) { 6421 } else if (op == BC_JFORI) {
6337 dasm_put(Dst, 4912); 6422 dasm_put(Dst, 4967);
6338 } else if (op == BC_IFORL) { 6423 } else if (op == BC_IFORL) {
6339 dasm_put(Dst, 4914); 6424 dasm_put(Dst, 4969);
6340 } else { 6425 } else {
6341 dasm_put(Dst, 4916); 6426 dasm_put(Dst, 4971);
6342 } 6427 }
6343 if (vk) { 6428 if (vk) {
6344 dasm_put(Dst, 4918); 6429 dasm_put(Dst, 4973);
6345 } 6430 }
6346 dasm_put(Dst, 4920); 6431 dasm_put(Dst, 4975);
6347 if (!vk) { 6432 if (!vk) {
6348 dasm_put(Dst, 4930); 6433 dasm_put(Dst, 4985);
6349 } else { 6434 } else {
6350 dasm_put(Dst, 4932); 6435 dasm_put(Dst, 4987);
6351 } 6436 }
6352 dasm_put(Dst, 4934); 6437 dasm_put(Dst, 4989);
6353 if (!vk) { 6438 if (!vk) {
6354 dasm_put(Dst, 4938, -LJ_TISNUM, -LJ_TISNUM); 6439 dasm_put(Dst, 4993, -LJ_TISNUM, -LJ_TISNUM);
6355 } else { 6440 } else {
6356 dasm_put(Dst, 4950); 6441 dasm_put(Dst, 5005);
6357 } 6442 }
6358 dasm_put(Dst, 4959); 6443 dasm_put(Dst, 5014);
6359 if (op == BC_FORI) { 6444 if (op == BC_FORI) {
6360 dasm_put(Dst, 4963); 6445 dasm_put(Dst, 5018);
6361 } else if (op == BC_JFORI) { 6446 } else if (op == BC_JFORI) {
6362 dasm_put(Dst, 4965); 6447 dasm_put(Dst, 5020);
6363 } else if (op == BC_IFORL) { 6448 } else if (op == BC_IFORL) {
6364 dasm_put(Dst, 4967); 6449 dasm_put(Dst, 5022);
6365 } else { 6450 } else {
6366 dasm_put(Dst, 4969); 6451 dasm_put(Dst, 5024);
6367 } 6452 }
6368 dasm_put(Dst, 4971); 6453 dasm_put(Dst, 5026);
6369 if (vk) { 6454 if (vk) {
6370 dasm_put(Dst, 4977); 6455 dasm_put(Dst, 5032);
6371 } 6456 }
6372 dasm_put(Dst, 4982); 6457 dasm_put(Dst, 5037);
6373 break; 6458 break;
6374 6459
6375 case BC_ITERL: 6460 case BC_ITERL:
6376#if LJ_HASJIT 6461#if LJ_HASJIT
6377 dasm_put(Dst, 4988); 6462 dasm_put(Dst, 5043);
6378#endif 6463#endif
6379 break; 6464 break;
6380 6465
@@ -6383,40 +6468,40 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
6383 break; 6468 break;
6384#endif 6469#endif
6385 case BC_IITERL: 6470 case BC_IITERL:
6386 dasm_put(Dst, 4990); 6471 dasm_put(Dst, 5045);
6387 if (op == BC_JITERL) { 6472 if (op == BC_JITERL) {
6388 dasm_put(Dst, 4992); 6473 dasm_put(Dst, 5047);
6389 } else { 6474 } else {
6390 dasm_put(Dst, 4994, -LJ_TNIL); 6475 dasm_put(Dst, 5049, -LJ_TNIL);
6391 } 6476 }
6392 dasm_put(Dst, 5000); 6477 dasm_put(Dst, 5055);
6393 break; 6478 break;
6394 6479
6395 case BC_LOOP: 6480 case BC_LOOP:
6396#if LJ_HASJIT 6481#if LJ_HASJIT
6397 dasm_put(Dst, 5007); 6482 dasm_put(Dst, 5062);
6398#endif 6483#endif
6399 break; 6484 break;
6400 6485
6401 case BC_ILOOP: 6486 case BC_ILOOP:
6402 dasm_put(Dst, 5009); 6487 dasm_put(Dst, 5064);
6403 break; 6488 break;
6404 6489
6405 case BC_JLOOP: 6490 case BC_JLOOP:
6406#if LJ_HASJIT 6491#if LJ_HASJIT
6407 dasm_put(Dst, 5016); 6492 dasm_put(Dst, 5071);
6408#endif 6493#endif
6409 break; 6494 break;
6410 6495
6411 case BC_JMP: 6496 case BC_JMP:
6412 dasm_put(Dst, 5018); 6497 dasm_put(Dst, 5073);
6413 break; 6498 break;
6414 6499
6415 /* -- Function headers -------------------------------------------------- */ 6500 /* -- Function headers -------------------------------------------------- */
6416 6501
6417 case BC_FUNCF: 6502 case BC_FUNCF:
6418#if LJ_HASJIT 6503#if LJ_HASJIT
6419 dasm_put(Dst, 5027); 6504 dasm_put(Dst, 5082);
6420#endif 6505#endif
6421 case BC_FUNCV: /* NYI: compiled vararg functions. */ 6506 case BC_FUNCV: /* NYI: compiled vararg functions. */
6422 break; 6507 break;
@@ -6426,38 +6511,38 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
6426 break; 6511 break;
6427#endif 6512#endif
6428 case BC_IFUNCF: 6513 case BC_IFUNCF:
6429 dasm_put(Dst, 5029, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k), ~LJ_TNIL); 6514 dasm_put(Dst, 5084, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k), ~LJ_TNIL);
6430 if (op == BC_JFUNCF) { 6515 if (op == BC_JFUNCF) {
6431 dasm_put(Dst, 5047); 6516 dasm_put(Dst, 5102);
6432 } else { 6517 } else {
6433 dasm_put(Dst, 5049); 6518 dasm_put(Dst, 5104);
6434 } 6519 }
6435 dasm_put(Dst, 5054); 6520 dasm_put(Dst, 5109);
6436 break; 6521 break;
6437 6522
6438 case BC_JFUNCV: 6523 case BC_JFUNCV:
6439#if !LJ_HASJIT 6524#if !LJ_HASJIT
6440 break; 6525 break;
6441#endif 6526#endif
6442 dasm_put(Dst, 5060); 6527 dasm_put(Dst, 5115);
6443 break; /* NYI: compiled vararg functions. */ 6528 break; /* NYI: compiled vararg functions. */
6444 6529
6445 case BC_IFUNCV: 6530 case BC_IFUNCV:
6446 dasm_put(Dst, 5062, Dt1(->maxstack), 8+FRAME_VARG, -4+PC2PROTO(k), -4+PC2PROTO(numparams), ~LJ_TNIL); 6531 dasm_put(Dst, 5117, Dt1(->maxstack), 8+FRAME_VARG, -4+PC2PROTO(k), -4+PC2PROTO(numparams), ~LJ_TNIL);
6447 break; 6532 break;
6448 6533
6449 case BC_FUNCC: 6534 case BC_FUNCC:
6450 case BC_FUNCCW: 6535 case BC_FUNCCW:
6451 if (op == BC_FUNCC) { 6536 if (op == BC_FUNCC) {
6452 dasm_put(Dst, 5103, Dt8(->f)); 6537 dasm_put(Dst, 5158, Dt8(->f));
6453 } else { 6538 } else {
6454 dasm_put(Dst, 5106, DISPATCH_GL(wrapf)); 6539 dasm_put(Dst, 5161, DISPATCH_GL(wrapf));
6455 } 6540 }
6456 dasm_put(Dst, 5109, Dt1(->maxstack), Dt1(->base), Dt1(->top)); 6541 dasm_put(Dst, 5164, Dt1(->maxstack), Dt1(->base), Dt1(->top));
6457 if (op == BC_FUNCCW) { 6542 if (op == BC_FUNCCW) {
6458 dasm_put(Dst, 5119, Dt8(->f)); 6543 dasm_put(Dst, 5174, Dt8(->f));
6459 } 6544 }
6460 dasm_put(Dst, 5122, LJ_VMST_C, DISPATCH_GL(vmstate), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate)); 6545 dasm_put(Dst, 5177, LJ_VMST_C, DISPATCH_GL(vmstate), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate));
6461 break; 6546 break;
6462 6547
6463 /* ---------------------------------------------------------------------- */ 6548 /* ---------------------------------------------------------------------- */
@@ -6477,7 +6562,7 @@ static int build_backend(BuildCtx *ctx)
6477 6562
6478 build_subroutines(ctx); 6563 build_subroutines(ctx);
6479 6564
6480 dasm_put(Dst, 5144); 6565 dasm_put(Dst, 5199);
6481 for (op = 0; op < BC__MAX; op++) 6566 for (op = 0; op < BC__MAX; op++)
6482 build_ins(ctx, (BCOp)op, op); 6567 build_ins(ctx, (BCOp)op, op);
6483 6568
diff --git a/src/lj_arch.h b/src/lj_arch.h
index 43774a7d..f9854239 100644
--- a/src/lj_arch.h
+++ b/src/lj_arch.h
@@ -136,7 +136,6 @@
136#define LJ_TARGET_MASKSHIFT 0 136#define LJ_TARGET_MASKSHIFT 0
137#define LJ_TARGET_MASKROT 1 137#define LJ_TARGET_MASKROT 1
138#define LJ_ARCH_DUALNUM 2 138#define LJ_ARCH_DUALNUM 2
139#define LJ_ARCH_NOFFI 1 /* NYI: comparisons, calls. */
140#define LJ_ARCH_NOJIT 1 139#define LJ_ARCH_NOJIT 1
141 140
142#elif LUAJIT_TARGET == LUAJIT_ARCH_PPC 141#elif LUAJIT_TARGET == LUAJIT_ARCH_PPC