aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2011-12-12 23:12:25 +0100
committerMike Pall <mike>2011-12-12 23:16:55 +0100
commit03c51fc578fce2f9133e1b5baab27fae0065da6f (patch)
tree828cf7aa8eebdb3ae43456dad4ccbe7f8f9ad26b
parent1b0d64600485c0fcf53b34c1cb263b720a27b5ea (diff)
downloadluajit-03c51fc578fce2f9133e1b5baab27fae0065da6f.tar.gz
luajit-03c51fc578fce2f9133e1b5baab27fae0065da6f.tar.bz2
luajit-03c51fc578fce2f9133e1b5baab27fae0065da6f.zip
FFI: Add callback support for ARM.
-rw-r--r--src/buildvm_arm.dasc60
-rw-r--r--src/buildvm_arm.h1957
-rw-r--r--src/lj_ccallback.c36
-rw-r--r--src/lj_errmsg.h4
-rw-r--r--src/lj_target_arm.h2
5 files changed, 1120 insertions, 939 deletions
diff --git a/src/buildvm_arm.dasc b/src/buildvm_arm.dasc
index 29c616e0..60857c08 100644
--- a/src/buildvm_arm.dasc
+++ b/src/buildvm_arm.dasc
@@ -502,22 +502,30 @@ static void build_subroutines(BuildCtx *ctx)
502 | ldr CARG1, [BASE, #-16] // Get continuation. 502 | ldr CARG1, [BASE, #-16] // Get continuation.
503 | mov CARG4, BASE 503 | mov CARG4, BASE
504 | mov BASE, RB // Restore caller BASE. 504 | mov BASE, RB // Restore caller BASE.
505 | cmp CARG1, #0 505#if LJ_HASFFI
506 | cmp CARG1, #1
507#endif
506 | ldr PC, [CARG4, #-12] // Restore PC from [cont|PC]. 508 | ldr PC, [CARG4, #-12] // Restore PC from [cont|PC].
507 | beq >1
508 | ldr CARG3, LFUNC:CARG3->field_pc 509 | ldr CARG3, LFUNC:CARG3->field_pc
509 | mvn INS, #~LJ_TNIL 510 | mvn INS, #~LJ_TNIL
510 | add CARG2, RA, RC 511 | add CARG2, RA, RC
511 | str INS, [CARG2, #-4] // Ensure one valid arg. 512 | str INS, [CARG2, #-4] // Ensure one valid arg.
513#if LJ_HASFFI
514 | bls >1
515#endif
512 | ldr KBASE, [CARG3, #PC2PROTO(k)] 516 | ldr KBASE, [CARG3, #PC2PROTO(k)]
513 | // BASE = base, RA = resultptr, CARG4 = meta base 517 | // BASE = base, RA = resultptr, CARG4 = meta base
514 | bx CARG1 518 | bx CARG1
515 | 519 |
516 |1: // Tail call from C function. 520#if LJ_HASFFI
521 |1:
522 | beq ->cont_ffi_callback // cont = 1: return from FFI callback.
523 | // cont = 0: tailcall from C function.
517 | ldr CARG3, [BASE, FRAME_FUNC] 524 | ldr CARG3, [BASE, FRAME_FUNC]
518 | sub CARG4, CARG4, #16 525 | sub CARG4, CARG4, #16
519 | sub RC, CARG4, BASE 526 | sub RC, CARG4, BASE
520 | b ->vm_call_tail 527 | b ->vm_call_tail
528#endif
521 | 529 |
522 |->cont_cat: // RA = resultptr, CARG4 = meta base 530 |->cont_cat: // RA = resultptr, CARG4 = meta base
523 | ldr INS, [PC, #-4] 531 | ldr INS, [PC, #-4]
@@ -2178,6 +2186,50 @@ static void build_subroutines(BuildCtx *ctx)
2178 |//-- FFI helper functions ----------------------------------------------- 2186 |//-- FFI helper functions -----------------------------------------------
2179 |//----------------------------------------------------------------------- 2187 |//-----------------------------------------------------------------------
2180 | 2188 |
2189 |// Handler for callback functions.
2190 |// Saveregs already performed. Callback slot number in [sp], g in r12.
2191 |->vm_ffi_callback:
2192#if LJ_HASFFI
2193 |.type CTSTATE, CTState, PC
2194 | ldr CTSTATE, GL:r12->ctype_state
2195 | add DISPATCH, r12, #GG_G2DISP
2196 | strd CARG12, CTSTATE->cb.gpr[0]
2197 | strd CARG34, CTSTATE->cb.gpr[2]
2198 | ldr CARG4, [sp]
2199 | add CARG3, sp, #CFRAME_SIZE
2200 | mov CARG1, CTSTATE
2201 | lsr CARG4, CARG4, #3
2202 | str CARG3, CTSTATE->cb.stack
2203 | mov CARG2, sp
2204 | str CARG4, CTSTATE->cb.slot
2205 | str CTSTATE, SAVE_PC // Any value outside of bytecode is ok.
2206 | bl extern lj_ccallback_enter // (CTState *cts, void *cf)
2207 | // Returns lua_State *.
2208 | ldr BASE, L:CRET1->base
2209 | mv_vmstate CARG2, INTERP
2210 | ldr RC, L:CRET1->top
2211 | mov MASKR8, #255
2212 | ldr LFUNC:CARG3, [BASE, FRAME_FUNC]
2213 | mov L, CRET1
2214 | sub RC, RC, BASE
2215 | lsl MASKR8, MASKR8, #3 // MASKR8 = 255*8.
2216 | st_vmstate CARG2
2217 | ins_callt
2218#endif
2219 |
2220 |->cont_ffi_callback: // Return from FFI callback.
2221#if LJ_HASFFI
2222 | ldr CTSTATE, [DISPATCH, #DISPATCH_GL(ctype_state)]
2223 | str BASE, L->base
2224 | str CARG4, L->top
2225 | str L, CTSTATE->L
2226 | mov CARG1, CTSTATE
2227 | mov CARG2, RA
2228 | bl extern lj_ccallback_leave // (CTState *cts, TValue *o)
2229 | ldrd CARG12, CTSTATE->cb.gpr[0]
2230 | b ->vm_leave_unw
2231#endif
2232 |
2181 |->vm_ffi_call: // Call C function via FFI. 2233 |->vm_ffi_call: // Call C function via FFI.
2182 | // Caveat: needs special frame unwinding, see below. 2234 | // Caveat: needs special frame unwinding, see below.
2183#if LJ_HASFFI 2235#if LJ_HASFFI
diff --git a/src/buildvm_arm.h b/src/buildvm_arm.h
index bdb0038b..9d26dd8e 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[5706] = { 15static const unsigned int build_actionlist[5777] = {
160x00010001, 160x00010001,
170x00060014, 170x00060014,
180xe3160000, 180xe3160000,
@@ -324,26 +324,34 @@ static const unsigned int build_actionlist[5706] = {
3240xe5190010, 3240xe5190010,
3250xe1a03009, 3250xe1a03009,
3260xe1a0900c, 3260xe1a0900c,
3270xe3500000, 3270x00000000,
3280xe3500001,
3290x00000000,
3280xe513600c, 3300xe513600c,
3290x0a000000,
3300x00050001,
3310xe5122000, 3310xe5122000,
3320x000d8180, 3320x000d8180,
3330xe3e0e000, 3330xe3e0e000,
3340x000a0000, 3340x000a0000,
3350xe08a100b, 3350xe08a100b,
3360xe501e004, 3360xe501e004,
3370x00000000,
3380x9a000000,
3390x00050001,
3400x00000000,
3370xe5125000, 3410xe5125000,
3380x000d8180, 3420x000d8180,
3390xe12fff10, 3430xe12fff10,
3440x00000000,
3400x0006000b, 3450x0006000b,
3460x0a000000,
3470x00050028,
3410xe5192008, 3480xe5192008,
3420xe2433010, 3490xe2433010,
3430xe043b009, 3500xe043b009,
3440xea000000, 3510xea000000,
3450x00050028, 3520x00050029,
3460x00060029, 3530x00000000,
3540x0006002a,
3470xe516e004, 3550xe516e004,
3480xe2431010, 3560xe2431010,
3490xe1ca20d0, 3570xe1ca20d0,
@@ -356,15 +364,15 @@ static const unsigned int build_actionlist[5706] = {
3560x11c120f0, 3640x11c120f0,
3570x11a02000, 3650x11a02000,
3580x1a000000, 3660x1a000000,
3590x0005002a, 3670x0005002b,
3600xe18920fa, 3680xe18920fa,
3610xea000000, 3690xea000000,
3620x0005002b, 3700x0005002c,
3630x0006002c, 3710x0006002d,
3640xe089100c, 3720xe089100c,
3650xea000000, 3730xea000000,
3660x00050002, 3740x00050002,
3670x0006002d, 3750x0006002e,
3680xe2471000, 3760xe2471000,
3690x000a0000, 3770x000a0000,
3700xe3e03000, 3780xe3e03000,
@@ -379,7 +387,7 @@ static const unsigned int build_actionlist[5706] = {
3790xe1a0200d, 3870xe1a0200d,
3800xea000000, 3880xea000000,
3810x00050001, 3890x00050001,
3820x0006002e, 3900x0006002f,
3830xe004caae, 3910xe004caae,
3840xe58db000, 3920xe58db000,
3850xe3e03000, 3930xe3e03000,
@@ -389,8 +397,7 @@ static const unsigned int build_actionlist[5706] = {
3890xe1a0200d, 3970xe1a0200d,
3900xea000000, 3980xea000000,
3910x00050001, 3990x00050001,
3920x0006002f, 4000x00060030,
3930x00000000,
3940xe089100c, 4010xe089100c,
3950xe089200b, 4020xe089200b,
3960x0006000b, 4030x0006000b,
@@ -426,11 +433,11 @@ static const unsigned int build_actionlist[5706] = {
4260xe5192008, 4330xe5192008,
4270xea000000, 4340xea000000,
4280x00050026, 4350x00050026,
4290x00060030, 4360x00060031,
4300xe089100c, 4370xe089100c,
4310xea000000, 4380xea000000,
4320x00050002, 4390x00050002,
4330x00060031, 4400x00060032,
4340xe2471000, 4410xe2471000,
4350x000a0000, 4420x000a0000,
4360xe3e03000, 4430xe3e03000,
@@ -445,7 +452,7 @@ static const unsigned int build_actionlist[5706] = {
4450xe1a0200d, 4520xe1a0200d,
4460xea000000, 4530xea000000,
4470x00050001, 4540x00050001,
4480x00060032, 4550x00060033,
4490xe004caae, 4560xe004caae,
4500xe58db000, 4570xe58db000,
4510xe3e03000, 4580xe3e03000,
@@ -455,7 +462,7 @@ static const unsigned int build_actionlist[5706] = {
4550xe1a0200d, 4620xe1a0200d,
4560xea000000, 4630xea000000,
4570x00050001, 4640x00050001,
4580x00060033, 4650x00060034,
4590xe089100c, 4660xe089100c,
4600xe089200b, 4670xe089200b,
4610x0006000b, 4680x0006000b,
@@ -492,7 +499,7 @@ static const unsigned int build_actionlist[5706] = {
4920xe5192008, 4990xe5192008,
4930xea000000, 5000xea000000,
4940x00050026, 5010x00050026,
4950x00060034, 5020x00060035,
4960xe1a00008, 5030xe1a00008,
4970xe2466004, 5040xe2466004,
4980xe1a0100a, 5050xe1a0100a,
@@ -510,40 +517,40 @@ static const unsigned int build_actionlist[5706] = {
5100x00000000, 5170x00000000,
5110xe3500001, 5180xe3500001,
5120x8a000000, 5190x8a000000,
5130x00050035, 5200x00050036,
5140x0006000e, 5210x0006000e,
5150xe1d6c0b2, 5220xe1d6c0b2,
5160xe2866004, 5230xe2866004,
5170xe086c10c, 5240xe086c10c,
5180x224c6b80, 5250x224c6b80,
5190x0006002b, 5260x0006002c,
5200xe5d6c000, 5270xe5d6c000,
5210xe496e004, 5280xe496e004,
5220xe797c10c, 5290xe797c10c,
5230xe004a2ae, 5300xe004a2ae,
5240xe1a0b82e, 5310xe1a0b82e,
5250xe12fff1c, 5320xe12fff1c,
5260x00060036, 5330x00060037,
5270xe516e004, 5340xe516e004,
5280xe1ca00d0, 5350xe1ca00d0,
5290xe00422ae, 5360xe00422ae,
5300xe18900f2, 5370xe18900f2,
5310xea000000, 5380xea000000,
5320x0005002b, 5390x0005002c,
5330x00060037, 5400x00060038,
5340xe59a1004, 5410xe59a1004,
5350xe3e00000, 5420xe3e00000,
5360x000a0000, 5430x000a0000,
5370xe1500001, 5440xe1500001,
5380xea000000, 5450xea000000,
5390x0005000e, 5460x0005000e,
5400x00060038, 5470x00060039,
5410xe59a1004, 5480xe59a1004,
5420xe3710000, 5490xe3710000,
5430x000a0000, 5500x000a0000,
5440xea000000, 5510xea000000,
5450x0005000e, 5520x0005000e,
5460x00060039, 5530x0006003a,
5470xe2466004, 5540xe2466004,
5480xe5089000, 5550xe5089000,
5490x000d8180, 5560x000d8180,
@@ -553,7 +560,7 @@ static const unsigned int build_actionlist[5706] = {
5530x00030004, 5600x00030004,
5540xea000000, 5610xea000000,
5550x0005000d, 5620x0005000d,
5560x0006003a, 5630x0006003b,
5570x00000000, 5640x00000000,
5580xe2466004, 5650xe2466004,
5590xe5089000, 5660xe5089000,
@@ -566,28 +573,28 @@ static const unsigned int build_actionlist[5706] = {
5660xea000000, 5730xea000000,
5670x0005000d, 5740x0005000d,
5680x00000000, 5750x00000000,
5690x0006003b, 5760x0006003c,
5700xe004caae, 5770xe004caae,
5710xe004b6ae, 5780xe004b6ae,
5720xe089200c, 5790xe089200c,
5730xe085300b, 5800xe085300b,
5740xea000000, 5810xea000000,
5750x00050001, 5820x00050001,
5760x0006003c, 5830x0006003d,
5770xe004caae, 5840xe004caae,
5780xe004b6ae, 5850xe004b6ae,
5790xe089300c, 5860xe089300c,
5800xe085200b, 5870xe085200b,
5810xea000000, 5880xea000000,
5820x00050001, 5890x00050001,
5830x0006003d, 5900x0006003e,
5840xe516e008, 5910xe516e008,
5850xe2466004, 5920xe2466004,
5860xe089200b, 5930xe089200b,
5870xe089300b, 5940xe089300b,
5880xea000000, 5950xea000000,
5890x00050001, 5960x00050001,
5900x0006003e, 5970x0006003f,
5910xe004caae, 5980xe004caae,
5920xe004b6ae, 5990xe004b6ae,
5930xe089200c, 6000xe089200c,
@@ -608,8 +615,8 @@ static const unsigned int build_actionlist[5706] = {
6080x00000000, 6150x00000000,
6090xe3500000, 6160xe3500000,
6100x0a000000, 6170x0a000000,
6110x0005002b, 6180x0005002c,
6120x00060035, 6190x00060036,
6130xe0401009, 6200xe0401009,
6140xe500600c, 6210xe500600c,
6150xe2816000, 6220xe2816000,
@@ -618,7 +625,7 @@ static const unsigned int build_actionlist[5706] = {
6180xe3a0b010, 6250xe3a0b010,
6190xea000000, 6260xea000000,
6200x00050024, 6270x00050024,
6210x0006003f, 6280x00060040,
6220xe089100b, 6290xe089100b,
6230xe5089000, 6300xe5089000,
6240x000d8180, 6310x000d8180,
@@ -632,13 +639,13 @@ static const unsigned int build_actionlist[5706] = {
6320x00000000, 6390x00000000,
6330xe3500000, 6400xe3500000,
6340x1a000000, 6410x1a000000,
6350x00050035, 6420x00050036,
6360xe799000b, 6430xe799000b,
6370xea000000, 6440xea000000,
6380x00050040, 6450x00050041,
6390x00000000, 6460x00000000,
6400xea000000, 6470xea000000,
6410x00050035, 6480x00050036,
6420x00000000, 6490x00000000,
6430x00060025, 6500x00060025,
6440xe1a00008, 6510xe1a00008,
@@ -666,7 +673,7 @@ static const unsigned int build_actionlist[5706] = {
6660xe004a2ae, 6730xe004a2ae,
6670xe08aa009, 6740xe08aa009,
6680xe12fff1c, 6750xe12fff1c,
6690x00060041, 6760x00060042,
6700xe1a00008, 6770xe1a00008,
6710xe5089000, 6780xe5089000,
6720x000d8180, 6790x000d8180,
@@ -683,8 +690,8 @@ static const unsigned int build_actionlist[5706] = {
6830xe5196004, 6900xe5196004,
6840xe28bb008, 6910xe28bb008,
6850xea000000, 6920xea000000,
6860x00050042, 6930x00050043,
6870x00060043, 6940x00060044,
6880xe1a00008, 6950xe1a00008,
6890xe5089000, 6960xe5089000,
6900x000d8180, 6970x000d8180,
@@ -711,22 +718,22 @@ static const unsigned int build_actionlist[5706] = {
7110x00000000, 7180x00000000,
7120xea000000, 7190xea000000,
7130x00070000, 7200x00070000,
7140x00060044, 7210x00060045,
7150xe1c900d0, 7220xe1c900d0,
7160xe35b0008, 7230xe35b0008,
7170x3a000000, 7240x3a000000,
7180x00050045, 7250x00050046,
7190xe3710000, 7260xe3710000,
7200x000a0000, 7270x000a0000,
7210x8a000000, 7280x8a000000,
7220x00050045, 7290x00050046,
7230xe5196004, 7300xe5196004,
7240xe14900f8, 7310xe14900f8,
7250xe1a0c009, 7320xe1a0c009,
7260xe25ba008, 7330xe25ba008,
7270xe28bb008, 7340xe28bb008,
7280x0a000000, 7350x0a000000,
7290x00050046, 7360x00050047,
7300x0006000b, 7370x0006000b,
7310xe1cc00d8, 7380xe1cc00d8,
7320xe25aa008, 7390xe25aa008,
@@ -734,12 +741,12 @@ static const unsigned int build_actionlist[5706] = {
7340x1a000000, 7410x1a000000,
7350x0005000b, 7420x0005000b,
7360xea000000, 7430xea000000,
7370x00050046, 7440x00050047,
7380x00060047, 7450x00060048,
7390xe5991004, 7460xe5991004,
7400xe35b0008, 7470xe35b0008,
7410x3a000000, 7480x3a000000,
7420x00050045, 7490x00050046,
7430xe3710000, 7500xe3710000,
7440x000a0000, 7510x000a0000,
7450x33e01000, 7520x33e01000,
@@ -749,12 +756,12 @@ static const unsigned int build_actionlist[5706] = {
7490xe1a03183, 7560xe1a03183,
7500xe18200d3, 7570xe18200d3,
7510xea000000, 7580xea000000,
7520x00050048, 7590x00050049,
7530x00060049, 7600x0006004a,
7540xe1c900d0, 7610xe1c900d0,
7550xe35b0008, 7620xe35b0008,
7560x3a000000, 7630x3a000000,
7570x00050045, 7640x00050046,
7580xe3710000, 7650xe3710000,
7590x000a0000, 7660x000a0000,
7600x13710000, 7670x13710000,
@@ -772,7 +779,7 @@ static const unsigned int build_actionlist[5706] = {
7720x000d8180, 7790x000d8180,
7730xe35c0000, 7800xe35c0000,
7740x0a000000, 7810x0a000000,
7750x00050048, 7820x00050049,
7760xe51c2000, 7830xe51c2000,
7770x000d8180, 7840x000d8180,
7780xe51b3000, 7850xe51b3000,
@@ -802,12 +809,12 @@ static const unsigned int build_actionlist[5706] = {
8020xe3e01000, 8090xe3e01000,
8030x000a0000, 8100x000a0000,
8040xea000000, 8110xea000000,
8050x00050048, 8120x00050049,
8060x0006000f, 8130x0006000f,
8070xe3710000, 8140xe3710000,
8080x000a0000, 8150x000a0000,
8090x1a000000, 8160x1a000000,
8100x00050048, 8170x00050049,
8110xea000000, 8180xea000000,
8120x0005000e, 8190x0005000e,
8130x00060010, 8200x00060010,
@@ -822,12 +829,12 @@ static const unsigned int build_actionlist[5706] = {
8220x000d8180, 8290x000d8180,
8230xea000000, 8300xea000000,
8240x0005000c, 8310x0005000c,
8250x0006004a, 8320x0006004b,
8260xe1c900d0, 8330xe1c900d0,
8270xe1c920d8, 8340xe1c920d8,
8280xe35b0010, 8350xe35b0010,
8290x3a000000, 8360x3a000000,
8300x00050045, 8370x00050046,
8310xe3710000, 8380xe3710000,
8320x000a0000, 8390x000a0000,
8330x0510c000, 8400x0510c000,
@@ -838,13 +845,13 @@ static const unsigned int build_actionlist[5706] = {
8380x000d8180, 8450x000d8180,
8390x035c0000, 8460x035c0000,
8400x1a000000, 8470x1a000000,
8410x00050045, 8480x00050046,
8420xe3130000, 8490xe3130000,
8430x000a0000, 8500x000a0000,
8440xe5002000, 8510xe5002000,
8450x000d8180, 8520x000d8180,
8460x0a000000, 8530x0a000000,
8470x00050048, 8540x00050049,
8480xe5172000, 8550xe5172000,
8490x000d8180, 8560x000d8180,
8500xe3c33000, 8570xe3c33000,
@@ -856,18 +863,18 @@ static const unsigned int build_actionlist[5706] = {
8560xe5002000, 8630xe5002000,
8570x000d8180, 8640x000d8180,
8580xea000000, 8650xea000000,
8590x00050048, 8660x00050049,
8600x0006004b, 8670x0006004c,
8610xe1c920d0, 8680xe1c920d0,
8620xe35b0010, 8690xe35b0010,
8630x3a000000, 8700x3a000000,
8640x00050045, 8710x00050046,
8650xe1a01002, 8720xe1a01002,
8660xe3730000, 8730xe3730000,
8670x000a0000, 8740x000a0000,
8680x00000000, 8750x00000000,
8690x1a000000, 8760x1a000000,
8700x00050045, 8770x00050046,
8710xe1a00008, 8780xe1a00008,
8720xe2892008, 8790xe2892008,
8730x00000000, 8800x00000000,
@@ -880,27 +887,27 @@ static const unsigned int build_actionlist[5706] = {
8800x00000000, 8870x00000000,
8810xe1c000d0, 8880xe1c000d0,
8820xea000000, 8890xea000000,
8830x00050048, 8900x00050049,
8840x0006004c, 8910x0006004d,
8850xe1c900d0, 8920xe1c900d0,
8860xe35b0008, 8930xe35b0008,
8870x3a000000, 8940x3a000000,
8880x00050045, 8950x00050046,
8890xe3710000, 8960xe3710000,
8900x000a0000, 8970x000a0000,
8910x9a000000, 8980x9a000000,
8920x00050048, 8990x00050049,
8930xea000000, 9000xea000000,
8940x00050045, 9010x00050046,
8950x0006004d, 9020x0006004e,
8960xe1c900d0, 9030xe1c900d0,
8970xe35b0008, 9040xe35b0008,
8980x3a000000, 9050x3a000000,
8990x00050045, 9060x00050046,
9000xe3710000, 9070xe3710000,
9010x000a0000, 9080x000a0000,
9020x0a000000, 9090x0a000000,
9030x00050048, 9100x00050049,
9040xe5173000, 9110xe5173000,
9050x000d8180, 9120x000d8180,
9060xe5089000, 9130xe5089000,
@@ -910,14 +917,14 @@ static const unsigned int build_actionlist[5706] = {
9100x93530000, 9170x93530000,
9110xe58d6008, 9180xe58d6008,
9120x8a000000, 9190x8a000000,
9130x00050045, 9200x00050046,
9140xe5170000, 9210xe5170000,
9150x000d8180, 9220x000d8180,
9160xe5171000, 9230xe5171000,
9170x000d8180, 9240x000d8180,
9180xe1500001, 9250xe1500001,
9190xab000000, 9260xab000000,
9200x0005004e, 9270x0005004f,
9210xe1a00008, 9280xe1a00008,
9220xe1a01009, 9290xe1a01009,
9230xeb000000, 9300xeb000000,
@@ -927,19 +934,19 @@ static const unsigned int build_actionlist[5706] = {
9270xe3e01000, 9340xe3e01000,
9280x000a0000, 9350x000a0000,
9290xea000000, 9360xea000000,
9300x00050048, 9370x00050049,
9310x0006004f, 9380x00060050,
9320x00000000, 9390x00000000,
9330xe1c900d0, 9400xe1c900d0,
9340xe35b0008, 9410xe35b0008,
9350x3a000000, 9420x3a000000,
9360x00050045, 9430x00050046,
9370xe3e03000, 9440xe3e03000,
9380x000a0000, 9450x000a0000,
9390xe3710000, 9460xe3710000,
9400x000a0000, 9470x000a0000,
9410x1a000000, 9480x1a000000,
9420x00050045, 9490x00050046,
9430xe18920fb, 9500xe18920fb,
9440xe5196004, 9510xe5196004,
9450xe1a01000, 9520xe1a01000,
@@ -960,7 +967,7 @@ static const unsigned int build_actionlist[5706] = {
9600x03e01000, 9670x03e01000,
9610x000a0000, 9680x000a0000,
9620x0a000000, 9690x0a000000,
9630x00050048, 9700x00050049,
9640xe1c900d8, 9710xe1c900d8,
9650xe1c921d0, 9720xe1c921d0,
9660xe3a0b000, 9730xe3a0b000,
@@ -968,16 +975,16 @@ static const unsigned int build_actionlist[5706] = {
9680xe14900f8, 9750xe14900f8,
9690xe1c920f0, 9760xe1c920f0,
9700xea000000, 9770xea000000,
9710x00050046, 9780x00050047,
9720x00060050, 9790x00060051,
9730xe1c900d0, 9800xe1c900d0,
9740xe35b0008, 9810xe35b0008,
9750x3a000000, 9820x3a000000,
9760x00050045, 9830x00050046,
9770xe3710000, 9840xe3710000,
9780x000a0000, 9850x000a0000,
9790x1a000000, 9860x1a000000,
9800x00050045, 9870x00050046,
9810x00000000, 9880x00000000,
9820xe510c000, 9890xe510c000,
9830x000d8180, 9900x000d8180,
@@ -988,7 +995,7 @@ static const unsigned int build_actionlist[5706] = {
9880x00000000, 9950x00000000,
9890xe35c0000, 9960xe35c0000,
9900x1a000000, 9970x1a000000,
9910x00050045, 9980x00050046,
9920x00000000, 9990x00000000,
9930xe3e01000, 10000xe3e01000,
9940x000a0000, 10010x000a0000,
@@ -997,19 +1004,19 @@ static const unsigned int build_actionlist[5706] = {
9970xe14920f8, 10040xe14920f8,
9980xe589100c, 10050xe589100c,
9990xea000000, 10060xea000000,
10000x00050046, 10070x00050047,
10010x00060051, 10080x00060052,
10020xe1c900d0, 10090xe1c900d0,
10030xe1c920d8, 10100xe1c920d8,
10040xe35b0010, 10110xe35b0010,
10050x3a000000, 10120x3a000000,
10060x00050045, 10130x00050046,
10070xe3710000, 10140xe3710000,
10080x000a0000, 10150x000a0000,
10090x03730000, 10160x03730000,
10100x000a0000, 10170x000a0000,
10110x1a000000, 10180x1a000000,
10120x00050045, 10190x00050046,
10130xe510c000, 10200xe510c000,
10140x000d8180, 10210x000d8180,
10150xe510b000, 10220xe510b000,
@@ -1031,14 +1038,14 @@ static const unsigned int build_actionlist[5706] = {
10310x000a0000, 10380x000a0000,
10320x11c900f0, 10390x11c900f0,
10330xea000000, 10400xea000000,
10340x00050046, 10410x00050047,
10350x0006000c, 10420x0006000c,
10360xe510c000, 10430xe510c000,
10370x000d8180, 10440x000d8180,
10380xe1a01002, 10450xe1a01002,
10390xe35c0000, 10460xe35c0000,
10400x0a000000, 10470x0a000000,
10410x00050046, 10480x00050047,
10420x00000000, 10490x00000000,
10430xe1a0a009, 10500xe1a0a009,
10440x00000000, 10510x00000000,
@@ -1049,19 +1056,19 @@ static const unsigned int build_actionlist[5706] = {
10490x00000000, 10560x00000000,
10500xe3500000, 10570xe3500000,
10510x0a000000, 10580x0a000000,
10520x00050046, 10590x00050047,
10530xe1c000d0, 10600xe1c000d0,
10540xea000000, 10610xea000000,
10550x0005000b, 10620x0005000b,
10560x00060052, 10630x00060053,
10570xe1c900d0, 10640xe1c900d0,
10580xe35b0008, 10650xe35b0008,
10590x3a000000, 10660x3a000000,
10600x00050045, 10670x00050046,
10610xe3710000, 10680xe3710000,
10620x000a0000, 10690x000a0000,
10630x1a000000, 10700x1a000000,
10640x00050045, 10710x00050046,
10650x00000000, 10720x00000000,
10660xe510c000, 10730xe510c000,
10670x000d8180, 10740x000d8180,
@@ -1072,7 +1079,7 @@ static const unsigned int build_actionlist[5706] = {
10720x00000000, 10790x00000000,
10730xe35c0000, 10800xe35c0000,
10740x1a000000, 10810x1a000000,
10750x00050045, 10820x00050046,
10760x00000000, 10830x00000000,
10770xe3a00000, 10840xe3a00000,
10780xe3e01000, 10850xe3e01000,
@@ -1082,13 +1089,13 @@ static const unsigned int build_actionlist[5706] = {
10820xe14920f8, 10890xe14920f8,
10830xe1c900f8, 10900xe1c900f8,
10840xea000000, 10910xea000000,
10850x00050046, 10920x00050047,
10860x00060053, 10930x00060054,
10870xe557a000, 10940xe557a000,
10880x000d8180, 10950x000d8180,
10890xe35b0008, 10960xe35b0008,
10900x3a000000, 10970x3a000000,
10910x00050045, 10980x00050046,
10920xe31a0000, 10990xe31a0000,
10930x000a0000, 11000x000a0000,
10940xe1a0c009, 11010xe1a0c009,
@@ -1100,18 +1107,18 @@ static const unsigned int build_actionlist[5706] = {
11000xe24bb008, 11070xe24bb008,
11010xea000000, 11080xea000000,
11020x00050024, 11090x00050024,
11030x00060054, 11100x00060055,
11040xe1c900d0, 11110xe1c900d0,
11050xe1c920d8, 11120xe1c920d8,
11060xe35b0010, 11130xe35b0010,
11070x3a000000, 11140x3a000000,
11080x00050045, 11150x00050046,
11090xe557a000, 11160xe557a000,
11100x000d8180, 11170x000d8180,
11110xe3730000, 11180xe3730000,
11120x000a0000, 11190x000a0000,
11130x1a000000, 11200x1a000000,
11140x00050045, 11210x00050046,
11150xe1a0c009, 11220xe1a0c009,
11160xe1c900f8, 11230xe1c900f8,
11170xe1c920f0, 11240xe1c920f0,
@@ -1125,16 +1132,16 @@ static const unsigned int build_actionlist[5706] = {
11250xe24bb010, 11320xe24bb010,
11260xea000000, 11330xea000000,
11270x00050024, 11340x00050024,
11280x00060055, 11350x00060056,
11290xe1c900d0, 11360xe1c900d0,
11300xe35b0008, 11370xe35b0008,
11310x3a000000, 11380x3a000000,
11320x00050045, 11390x00050046,
11330xe3710000, 11400xe3710000,
11340x000a0000, 11410x000a0000,
11350x00000000, 11420x00000000,
11360x1a000000, 11430x1a000000,
11370x00050045, 11440x00050046,
11380xe5196004, 11450xe5196004,
11390xe5089000, 11460xe5089000,
11400x000d8180, 11470x000d8180,
@@ -1149,7 +1156,7 @@ static const unsigned int build_actionlist[5706] = {
11490xe58d6008, 11560xe58d6008,
11500xe153000c, 11570xe153000c,
11510x0a000000, 11580x0a000000,
11520x00050045, 11590x00050046,
11530xe5103000, 11600xe5103000,
11540x000d8180, 11610x000d8180,
11550xe510c000, 11620xe510c000,
@@ -1159,7 +1166,7 @@ static const unsigned int build_actionlist[5706] = {
11590x91520003, 11660x91520003,
11600x935c0000, 11670x935c0000,
11610x8a000000, 11680x8a000000,
11620x00050045, 11690x00050046,
11630x0006000b, 11700x0006000b,
11640xe2422008, 11710xe2422008,
11650xe2899008, 11720xe2899008,
@@ -1250,7 +1257,7 @@ static const unsigned int build_actionlist[5706] = {
12500xe3a00000, 12570xe3a00000,
12510xea000000, 12580xea000000,
12520x0005000e, 12590x0005000e,
12530x00060056, 12600x00060057,
12540x00000000, 12610x00000000,
12550xe5120000, 12620xe5120000,
12560x000d8180, 12630x000d8180,
@@ -1268,7 +1275,7 @@ static const unsigned int build_actionlist[5706] = {
12680xe58d6008, 12750xe58d6008,
12690xe153000c, 12760xe153000c,
12700x0a000000, 12770x0a000000,
12710x00050045, 12780x00050046,
12720xe5103000, 12790xe5103000,
12730x000d8180, 12800x000d8180,
12740xe510c000, 12810xe510c000,
@@ -1278,7 +1285,7 @@ static const unsigned int build_actionlist[5706] = {
12780x91520003, 12850x91520003,
12790x935c0000, 12860x935c0000,
12800x8a000000, 12870x8a000000,
12810x00050045, 12880x00050046,
12820x0006000b, 12890x0006000b,
12830xe5002000, 12900xe5002000,
12840x000d8180, 12910x000d8180,
@@ -1356,7 +1363,7 @@ static const unsigned int build_actionlist[5706] = {
13560xe3a00000, 13630xe3a00000,
13570xea000000, 13640xea000000,
13580x0005000e, 13650x0005000e,
13590x00060057, 13660x00060058,
13600xe5180000, 13670xe5180000,
13610x000d8180, 13680x000d8180,
13620xe089100b, 13690xe089100b,
@@ -1371,24 +1378,24 @@ static const unsigned int build_actionlist[5706] = {
13710x000a0000, 13780x000a0000,
13720xe3a02000, 13790xe3a02000,
13730x0a000000, 13800x0a000000,
13740x00050045, 13810x00050046,
13750xe5082000, 13820xe5082000,
13760x000d8180, 13830x000d8180,
13770xe5480000, 13840xe5480000,
13780x000d8180, 13850x000d8180,
13790xea000000, 13860xea000000,
13800x0005001a, 13870x0005001a,
13810x00060058, 13880x00060059,
13820xe1c900d0, 13890xe1c900d0,
13830xe35b0008, 13900xe35b0008,
13840x3a000000, 13910x3a000000,
13850x00050045, 13920x00050046,
13860xe3710000, 13930xe3710000,
13870x000a0000, 13940x000a0000,
13880x0a000000, 13950x0a000000,
13890x00050048, 13960x00050049,
13900x8a000000, 13970x8a000000,
13910x00050045, 13980x00050046,
13920xe1a02081, 13990xe1a02081,
13930xe292c980, 14000xe292c980,
13940x5a000000, 14010x5a000000,
@@ -1412,7 +1419,7 @@ static const unsigned int build_actionlist[5706] = {
14120xe3e01000, 14190xe3e01000,
14130x000a0000, 14200x000a0000,
14140xea000000, 14210xea000000,
14150x00050048, 14220x00050049,
14160x0006000c, 14230x0006000c,
14170xe1822000, 14240xe1822000,
14180xe1120fc1, 14250xe1120fc1,
@@ -1421,7 +1428,7 @@ static const unsigned int build_actionlist[5706] = {
14210xe3e01000, 14280xe3e01000,
14220x000a0000, 14290x000a0000,
14230xea000000, 14300xea000000,
14240x00050048, 14310x00050049,
14250x0006000d, 14320x0006000d,
14260x03530480, 14330x03530480,
14270x03520000, 14340x03520000,
@@ -1434,20 +1441,20 @@ static const unsigned int build_actionlist[5706] = {
14340x0006000e, 14410x0006000e,
14350x00000000, 14420x00000000,
14360xeb000000, 14430xeb000000,
14370x00050059, 14440x0005005a,
14380xea000000, 14450xea000000,
14390x00050048, 14460x00050049,
14400x0006005a, 14470x0006005b,
14410xe1c900d0, 14480xe1c900d0,
14420xe35b0008, 14490xe35b0008,
14430x3a000000, 14500x3a000000,
14440x00050045, 14510x00050046,
14450xe3710000, 14520xe3710000,
14460x000a0000, 14530x000a0000,
14470x0a000000, 14540x0a000000,
14480x00050048, 14550x00050049,
14490x8a000000, 14560x8a000000,
14500x00050045, 14570x00050046,
14510xe1a02081, 14580xe1a02081,
14520xe292c980, 14590xe292c980,
14530x5a000000, 14600x5a000000,
@@ -1468,14 +1475,14 @@ static const unsigned int build_actionlist[5706] = {
14680x614f00d0, 14750x614f00d0,
14690x00051809, 14760x00051809,
14700x6a000000, 14770x6a000000,
14710x00050048, 14780x00050049,
14720xe3510000, 14790xe3510000,
14730xb2600000, 14800xb2600000,
14740x0006000b, 14810x0006000b,
14750xe3e01000, 14820xe3e01000,
14760x000a0000, 14830x000a0000,
14770xea000000, 14840xea000000,
14780x00050048, 14850x00050049,
14790x0006000c, 14860x0006000c,
14800xe1822000, 14870xe1822000,
14810xe1d22fc1, 14880xe1d22fc1,
@@ -1484,7 +1491,7 @@ static const unsigned int build_actionlist[5706] = {
14840xe3e01000, 14910xe3e01000,
14850x000a0000, 14920x000a0000,
14860xea000000, 14930xea000000,
14870x00050048, 14940x00050049,
14880x0006000d, 14950x0006000d,
14890x03530480, 14960x03530480,
14900x1a000000, 14970x1a000000,
@@ -1495,38 +1502,38 @@ static const unsigned int build_actionlist[5706] = {
14950x0005000b, 15020x0005000b,
14960x0006000e, 15030x0006000e,
14970xeb000000, 15040xeb000000,
14980x0005005b, 15050x0005005c,
14990x00000000, 15060x00000000,
15000xea000000, 15070xea000000,
15010x00050048, 15080x00050049,
15020x00040007, 15090x00040007,
15030x00060013, 15100x00060013,
15040x00020000, 15110x00020000,
15050x00000000, 15120x00000000,
15060x41e00000, 15130x41e00000,
15070x0006005c, 15140x0006005d,
15080xe1c900d0, 15150xe1c900d0,
15090xe35b0008, 15160xe35b0008,
15100x3a000000, 15170x3a000000,
15110x00050045, 15180x00050046,
15120xe3710000, 15190xe3710000,
15130x000a0000, 15200x000a0000,
15140x8a000000, 15210x8a000000,
15150x00050045, 15220x00050046,
15160x13c11480, 15230x13c11480,
15170x1a000000, 15240x1a000000,
15180x00050048, 15250x00050049,
15190xe3500000, 15260xe3500000,
15200xb2700000, 15270xb2700000,
15210x614f00d0, 15280x614f00d0,
15220x00051813, 15290x00051813,
15230x00060048, 15300x00060049,
15240xe5196004, 15310xe5196004,
15250xe14900f8, 15320xe14900f8,
15260x0006005d, 15330x0006005e,
15270xe3a0b000, 15340xe3a0b000,
15280x000a0000, 15350x000a0000,
15290x00060046, 15360x00060047,
15300xe2160000, 15370xe2160000,
15310x000a0000, 15380x000a0000,
15320x0516e004, 15390x0516e004,
@@ -1555,16 +1562,16 @@ static const unsigned int build_actionlist[5706] = {
15550xe5010004, 15620xe5010004,
15560xea000000, 15630xea000000,
15570x0005000f, 15640x0005000f,
15580x0006005e, 15650x0006005f,
15590xe1c900d0, 15660xe1c900d0,
15600xe35b0008, 15670xe35b0008,
15610x3a000000, 15680x3a000000,
15620x00050045, 15690x00050046,
15630x00000000, 15700x00000000,
15640xe3710000, 15710xe3710000,
15650x000a0000, 15720x000a0000,
15660x2a000000, 15730x2a000000,
15670x00050045, 15740x00050046,
15680x00000000, 15750x00000000,
15690xe1a0a009, 15760xe1a0a009,
15700x00000000, 15770x00000000,
@@ -1574,16 +1581,16 @@ static const unsigned int build_actionlist[5706] = {
15740xe1a0900a, 15810xe1a0900a,
15750x00000000, 15820x00000000,
15760xea000000, 15830xea000000,
15770x00050048, 15840x00050049,
15780x0006005f, 15850x00060060,
15790xe1c900d0, 15860xe1c900d0,
15800xe35b0008, 15870xe35b0008,
15810x3a000000, 15880x3a000000,
15820x00050045, 15890x00050046,
15830xe3710000, 15900xe3710000,
15840x000a0000, 15910x000a0000,
15850x2a000000, 15920x2a000000,
15860x00050045, 15930x00050046,
15870x00000000, 15940x00000000,
15880xe1a0a009, 15950xe1a0a009,
15890x00000000, 15960x00000000,
@@ -1593,16 +1600,16 @@ static const unsigned int build_actionlist[5706] = {
15930xe1a0900a, 16000xe1a0900a,
15940x00000000, 16010x00000000,
15950xea000000, 16020xea000000,
15960x00050048, 16030x00050049,
15970x00060060, 16040x00060061,
15980xe1c900d0, 16050xe1c900d0,
15990xe35b0008, 16060xe35b0008,
16000x3a000000, 16070x3a000000,
16010x00050045, 16080x00050046,
16020xe3710000, 16090xe3710000,
16030x000a0000, 16100x000a0000,
16040x2a000000, 16110x2a000000,
16050x00050045, 16120x00050046,
16060x00000000, 16130x00000000,
16070xe1a0a009, 16140xe1a0a009,
16080x00000000, 16150x00000000,
@@ -1612,16 +1619,16 @@ static const unsigned int build_actionlist[5706] = {
16120xe1a0900a, 16190xe1a0900a,
16130x00000000, 16200x00000000,
16140xea000000, 16210xea000000,
16150x00050048, 16220x00050049,
16160x00060061, 16230x00060062,
16170xe1c900d0, 16240xe1c900d0,
16180xe35b0008, 16250xe35b0008,
16190x3a000000, 16260x3a000000,
16200x00050045, 16270x00050046,
16210xe3710000, 16280xe3710000,
16220x000a0000, 16290x000a0000,
16230x2a000000, 16300x2a000000,
16240x00050045, 16310x00050046,
16250x00000000, 16320x00000000,
16260xe1a0a009, 16330xe1a0a009,
16270x00000000, 16340x00000000,
@@ -1631,16 +1638,16 @@ static const unsigned int build_actionlist[5706] = {
16310xe1a0900a, 16380xe1a0900a,
16320x00000000, 16390x00000000,
16330xea000000, 16400xea000000,
16340x00050048, 16410x00050049,
16350x00060062, 16420x00060063,
16360xe1c900d0, 16430xe1c900d0,
16370xe35b0008, 16440xe35b0008,
16380x3a000000, 16450x3a000000,
16390x00050045, 16460x00050046,
16400xe3710000, 16470xe3710000,
16410x000a0000, 16480x000a0000,
16420x2a000000, 16490x2a000000,
16430x00050045, 16500x00050046,
16440x00000000, 16510x00000000,
16450xe1a0a009, 16520xe1a0a009,
16460x00000000, 16530x00000000,
@@ -1650,16 +1657,16 @@ static const unsigned int build_actionlist[5706] = {
16500xe1a0900a, 16570xe1a0900a,
16510x00000000, 16580x00000000,
16520xea000000, 16590xea000000,
16530x00050048, 16600x00050049,
16540x00060063, 16610x00060064,
16550xe1c900d0, 16620xe1c900d0,
16560xe35b0008, 16630xe35b0008,
16570x3a000000, 16640x3a000000,
16580x00050045, 16650x00050046,
16590xe3710000, 16660xe3710000,
16600x000a0000, 16670x000a0000,
16610x2a000000, 16680x2a000000,
16620x00050045, 16690x00050046,
16630x00000000, 16700x00000000,
16640xe1a0a009, 16710xe1a0a009,
16650x00000000, 16720x00000000,
@@ -1669,16 +1676,16 @@ static const unsigned int build_actionlist[5706] = {
16690xe1a0900a, 16760xe1a0900a,
16700x00000000, 16770x00000000,
16710xea000000, 16780xea000000,
16720x00050048, 16790x00050049,
16730x00060064, 16800x00060065,
16740xe1c900d0, 16810xe1c900d0,
16750xe35b0008, 16820xe35b0008,
16760x3a000000, 16830x3a000000,
16770x00050045, 16840x00050046,
16780xe3710000, 16850xe3710000,
16790x000a0000, 16860x000a0000,
16800x2a000000, 16870x2a000000,
16810x00050045, 16880x00050046,
16820x00000000, 16890x00000000,
16830xe1a0a009, 16900xe1a0a009,
16840x00000000, 16910x00000000,
@@ -1688,16 +1695,16 @@ static const unsigned int build_actionlist[5706] = {
16880xe1a0900a, 16950xe1a0900a,
16890x00000000, 16960x00000000,
16900xea000000, 16970xea000000,
16910x00050048, 16980x00050049,
16920x00060065, 16990x00060066,
16930xe1c900d0, 17000xe1c900d0,
16940xe35b0008, 17010xe35b0008,
16950x3a000000, 17020x3a000000,
16960x00050045, 17030x00050046,
16970xe3710000, 17040xe3710000,
16980x000a0000, 17050x000a0000,
16990x2a000000, 17060x2a000000,
17000x00050045, 17070x00050046,
17010x00000000, 17080x00000000,
17020xe1a0a009, 17090xe1a0a009,
17030x00000000, 17100x00000000,
@@ -1707,16 +1714,16 @@ static const unsigned int build_actionlist[5706] = {
17070xe1a0900a, 17140xe1a0900a,
17080x00000000, 17150x00000000,
17090xea000000, 17160xea000000,
17100x00050048, 17170x00050049,
17110x00060066, 17180x00060067,
17120xe1c900d0, 17190xe1c900d0,
17130xe35b0008, 17200xe35b0008,
17140x3a000000, 17210x3a000000,
17150x00050045, 17220x00050046,
17160xe3710000, 17230xe3710000,
17170x000a0000, 17240x000a0000,
17180x2a000000, 17250x2a000000,
17190x00050045, 17260x00050046,
17200x00000000, 17270x00000000,
17210xe1a0a009, 17280xe1a0a009,
17220x00000000, 17290x00000000,
@@ -1726,16 +1733,16 @@ static const unsigned int build_actionlist[5706] = {
17260xe1a0900a, 17330xe1a0900a,
17270x00000000, 17340x00000000,
17280xea000000, 17350xea000000,
17290x00050048, 17360x00050049,
17300x00060067, 17370x00060068,
17310xe1c900d0, 17380xe1c900d0,
17320xe35b0008, 17390xe35b0008,
17330x3a000000, 17400x3a000000,
17340x00050045, 17410x00050046,
17350xe3710000, 17420xe3710000,
17360x000a0000, 17430x000a0000,
17370x2a000000, 17440x2a000000,
17380x00050045, 17450x00050046,
17390x00000000, 17460x00000000,
17400xe1a0a009, 17470xe1a0a009,
17410x00000000, 17480x00000000,
@@ -1745,16 +1752,16 @@ static const unsigned int build_actionlist[5706] = {
17450xe1a0900a, 17520xe1a0900a,
17460x00000000, 17530x00000000,
17470xea000000, 17540xea000000,
17480x00050048, 17550x00050049,
17490x00060068, 17560x00060069,
17500xe1c900d0, 17570xe1c900d0,
17510xe35b0008, 17580xe35b0008,
17520x3a000000, 17590x3a000000,
17530x00050045, 17600x00050046,
17540xe3710000, 17610xe3710000,
17550x000a0000, 17620x000a0000,
17560x2a000000, 17630x2a000000,
17570x00050045, 17640x00050046,
17580x00000000, 17650x00000000,
17590xe1a0a009, 17660xe1a0a009,
17600x00000000, 17670x00000000,
@@ -1764,16 +1771,16 @@ static const unsigned int build_actionlist[5706] = {
17640xe1a0900a, 17710xe1a0900a,
17650x00000000, 17720x00000000,
17660xea000000, 17730xea000000,
17670x00050048, 17740x00050049,
17680x00060069, 17750x0006006a,
17690xe1c900d0, 17760xe1c900d0,
17700xe35b0008, 17770xe35b0008,
17710x3a000000, 17780x3a000000,
17720x00050045, 17790x00050046,
17730xe3710000, 17800xe3710000,
17740x000a0000, 17810x000a0000,
17750x2a000000, 17820x2a000000,
17760x00050045, 17830x00050046,
17770x00000000, 17840x00000000,
17780xe1a0a009, 17850xe1a0a009,
17790x00000000, 17860x00000000,
@@ -1783,16 +1790,16 @@ static const unsigned int build_actionlist[5706] = {
17830xe1a0900a, 17900xe1a0900a,
17840x00000000, 17910x00000000,
17850xea000000, 17920xea000000,
17860x00050048, 17930x00050049,
17870x0006006a, 17940x0006006b,
17880xe1c900d0, 17950xe1c900d0,
17890xe35b0008, 17960xe35b0008,
17900x3a000000, 17970x3a000000,
17910x00050045, 17980x00050046,
17920xe3710000, 17990xe3710000,
17930x000a0000, 18000x000a0000,
17940x2a000000, 18010x2a000000,
17950x00050045, 18020x00050046,
17960x00000000, 18030x00000000,
17970xe1a0a009, 18040xe1a0a009,
17980x00000000, 18050x00000000,
@@ -1802,19 +1809,19 @@ static const unsigned int build_actionlist[5706] = {
18020xe1a0900a, 18090xe1a0900a,
18030x00000000, 18100x00000000,
18040xea000000, 18110xea000000,
18050x00050048, 18120x00050049,
18060x0006006b, 18130x0006006c,
18070xe1c900d0, 18140xe1c900d0,
18080xe1c920d8, 18150xe1c920d8,
18090xe35b0010, 18160xe35b0010,
18100x3a000000, 18170x3a000000,
18110x00050045, 18180x00050046,
18120xe3710000, 18190xe3710000,
18130x000a0000, 18200x000a0000,
18140x33730000, 18210x33730000,
18150x000a0000, 18220x000a0000,
18160x2a000000, 18230x2a000000,
18170x00050045, 18240x00050046,
18180x00000000, 18250x00000000,
18190xe1a0a009, 18260xe1a0a009,
18200x00000000, 18270x00000000,
@@ -1824,19 +1831,19 @@ static const unsigned int build_actionlist[5706] = {
18240xe1a0900a, 18310xe1a0900a,
18250x00000000, 18320x00000000,
18260xea000000, 18330xea000000,
18270x00050048, 18340x00050049,
18280x0006006c, 18350x0006006d,
18290xe1c900d0, 18360xe1c900d0,
18300xe1c920d8, 18370xe1c920d8,
18310xe35b0010, 18380xe35b0010,
18320x3a000000, 18390x3a000000,
18330x00050045, 18400x00050046,
18340xe3710000, 18410xe3710000,
18350x000a0000, 18420x000a0000,
18360x33730000, 18430x33730000,
18370x000a0000, 18440x000a0000,
18380x2a000000, 18450x2a000000,
18390x00050045, 18460x00050046,
18400x00000000, 18470x00000000,
18410xe1a0a009, 18480xe1a0a009,
18420x00000000, 18490x00000000,
@@ -1846,19 +1853,19 @@ static const unsigned int build_actionlist[5706] = {
18460xe1a0900a, 18530xe1a0900a,
18470x00000000, 18540x00000000,
18480xea000000, 18550xea000000,
18490x00050048, 18560x00050049,
18500x0006006d, 18570x0006006e,
18510xe1c900d0, 18580xe1c900d0,
18520xe1c920d8, 18590xe1c920d8,
18530xe35b0010, 18600xe35b0010,
18540x3a000000, 18610x3a000000,
18550x00050045, 18620x00050046,
18560xe3710000, 18630xe3710000,
18570x000a0000, 18640x000a0000,
18580x33730000, 18650x33730000,
18590x000a0000, 18660x000a0000,
18600x2a000000, 18670x2a000000,
18610x00050045, 18680x00050046,
18620x00000000, 18690x00000000,
18630xe1a0a009, 18700xe1a0a009,
18640x00000000, 18710x00000000,
@@ -1868,37 +1875,37 @@ static const unsigned int build_actionlist[5706] = {
18680xe1a0900a, 18750xe1a0900a,
18690x00000000, 18760x00000000,
18700xea000000, 18770xea000000,
18710x00050048, 18780x00050049,
18720x0006006e,
18730x0006006f, 18790x0006006f,
18800x00060070,
18740xe1c900d0, 18810xe1c900d0,
18750xe35b0008, 18820xe35b0008,
18760x3a000000, 18830x3a000000,
18770x00050045, 18840x00050046,
18780xe3710000, 18850xe3710000,
18790x000a0000, 18860x000a0000,
18800x2a000000, 18870x2a000000,
18810x00050045, 18880x00050046,
18820xe14220d0, 18890xe14220d0,
18830x000c8100, 18900x000c8100,
18840xeb000000, 18910xeb000000,
18850x0003001f, 18920x0003001f,
18860xea000000, 18930xea000000,
18870x00050048, 18940x00050049,
18880x00060070, 18950x00060071,
18890xe1c900d0, 18960xe1c900d0,
18900xe1c920d8, 18970xe1c920d8,
18910xe35b0010, 18980xe35b0010,
18920x3a000000, 18990x3a000000,
18930x00050045, 19000x00050046,
18940xe3710000, 19010xe3710000,
18950x000a0000, 19020x000a0000,
18960x2a000000, 19030x2a000000,
18970x00050045, 19040x00050046,
18980xe3730000, 19050xe3730000,
18990x000a0000, 19060x000a0000,
19000x1a000000, 19070x1a000000,
19010x00050045, 19080x00050046,
19020x00000000, 19090x00000000,
19030xe1a0a009, 19100xe1a0a009,
19040x00000000, 19110x00000000,
@@ -1908,16 +1915,16 @@ static const unsigned int build_actionlist[5706] = {
19080xe1a0900a, 19150xe1a0900a,
19090x00000000, 19160x00000000,
19100xea000000, 19170xea000000,
19110x00050048, 19180x00050049,
19120x00060071, 19190x00060072,
19130xe1c900d0, 19200xe1c900d0,
19140xe35b0008, 19210xe35b0008,
19150x3a000000, 19220x3a000000,
19160x00050045, 19230x00050046,
19170xe3710000, 19240xe3710000,
19180x000a0000, 19250x000a0000,
19190x2a000000, 19260x2a000000,
19200x00050045, 19270x00050046,
19210xe1a0200d, 19280xe1a0200d,
19220x00000000, 19290x00000000,
19230xe1a0a009, 19300xe1a0a009,
@@ -1936,16 +1943,16 @@ static const unsigned int build_actionlist[5706] = {
19360x000a0000, 19430x000a0000,
19370xe1c920f0, 19440xe1c920f0,
19380xea000000, 19450xea000000,
19390x00050046, 19460x00050047,
19400x00060072, 19470x00060073,
19410xe1c900d0, 19480xe1c900d0,
19420xe35b0008, 19490xe35b0008,
19430x3a000000, 19500x3a000000,
19440x00050045, 19510x00050046,
19450xe3710000, 19520xe3710000,
19460x000a0000, 19530x000a0000,
19470x2a000000, 19540x2a000000,
19480x00050045, 19550x00050046,
19490xe2492008, 19560xe2492008,
19500xe5196004, 19570xe5196004,
19510x00000000, 19580x00000000,
@@ -1960,12 +1967,12 @@ static const unsigned int build_actionlist[5706] = {
19600x000a0000, 19670x000a0000,
19610xe1c900f0, 19680xe1c900f0,
19620xea000000, 19690xea000000,
19630x00050046, 19700x00050047,
19640x00060073, 19710x00060074,
19650xe1c900d0, 19720xe1c900d0,
19660xe35b0008, 19730xe35b0008,
19670x3a000000, 19740x3a000000,
19680x00050045, 19750x00050046,
19690xe3710000, 19760xe3710000,
19700x000a0000, 19770x000a0000,
19710xe3a0a008, 19780xe3a0a008,
@@ -1975,7 +1982,7 @@ static const unsigned int build_actionlist[5706] = {
19750xe18920da, 19820xe18920da,
19760xe15a000b, 19830xe15a000b,
19770x2a000000, 19840x2a000000,
19780x00050048, 19850x00050049,
19790xe3730000, 19860xe3730000,
19800x000a0000, 19870x000a0000,
19810x1a000000, 19880x1a000000,
@@ -1987,7 +1994,7 @@ static const unsigned int build_actionlist[5706] = {
19870x0005000b, 19940x0005000b,
19880x0006000d, 19950x0006000d,
19890x8a000000, 19960x8a000000,
19900x00050045, 19970x00050046,
19910xeb000000, 19980xeb000000,
19920x00030023, 19990x00030023,
19930xe18920da, 20000xe18920da,
@@ -1995,12 +2002,12 @@ static const unsigned int build_actionlist[5706] = {
19950x00050006, 20020x00050006,
19960x0006000e, 20030x0006000e,
19970x8a000000, 20040x8a000000,
19980x00050045, 20050x00050046,
19990x0006000f, 20060x0006000f,
20000xe18920da, 20070xe18920da,
20010xe15a000b, 20080xe15a000b,
20020x2a000000, 20090x2a000000,
20030x00050048, 20100x00050049,
20040xe3730000, 20110xe3730000,
20050x000a0000, 20120x000a0000,
20060x2a000000, 20130x2a000000,
@@ -2016,7 +2023,7 @@ static const unsigned int build_actionlist[5706] = {
20160x0005000f, 20230x0005000f,
20170x00060011, 20240x00060011,
20180x8a000000, 20250x8a000000,
20190x00050045, 20260x00050046,
20200xe1cd00f0, 20270xe1cd00f0,
20210xe1a00002, 20280xe1a00002,
20220xeb000000, 20290xeb000000,
@@ -2024,11 +2031,11 @@ static const unsigned int build_actionlist[5706] = {
20240xe1cd20d0, 20310xe1cd20d0,
20250xea000000, 20320xea000000,
20260x00050010, 20330x00050010,
20270x00060074, 20340x00060075,
20280xe1c900d0, 20350xe1c900d0,
20290xe35b0008, 20360xe35b0008,
20300x3a000000, 20370x3a000000,
20310x00050045, 20380x00050046,
20320xe3710000, 20390xe3710000,
20330x000a0000, 20400x000a0000,
20340xe3a0a008, 20410xe3a0a008,
@@ -2038,7 +2045,7 @@ static const unsigned int build_actionlist[5706] = {
20380xe18920da, 20450xe18920da,
20390xe15a000b, 20460xe15a000b,
20400x2a000000, 20470x2a000000,
20410x00050048, 20480x00050049,
20420xe3730000, 20490xe3730000,
20430x000a0000, 20500x000a0000,
20440x1a000000, 20510x1a000000,
@@ -2050,7 +2057,7 @@ static const unsigned int build_actionlist[5706] = {
20500x0005000b, 20570x0005000b,
20510x0006000d, 20580x0006000d,
20520x8a000000, 20590x8a000000,
20530x00050045, 20600x00050046,
20540xeb000000, 20610xeb000000,
20550x00030023, 20620x00030023,
20560xe18920da, 20630xe18920da,
@@ -2058,13 +2065,13 @@ static const unsigned int build_actionlist[5706] = {
20580x00050006, 20650x00050006,
20590x0006000e, 20660x0006000e,
20600x8a000000, 20670x8a000000,
20610x00050045, 20680x00050046,
20620x0006000f, 20690x0006000f,
20630x00000000, 20700x00000000,
20640xe18920da, 20710xe18920da,
20650xe15a000b, 20720xe15a000b,
20660x2a000000, 20730x2a000000,
20670x00050048, 20740x00050049,
20680xe3730000, 20750xe3730000,
20690x000a0000, 20760x000a0000,
20700x2a000000, 20770x2a000000,
@@ -2079,7 +2086,7 @@ static const unsigned int build_actionlist[5706] = {
20790x0005000f, 20860x0005000f,
20800x00060011, 20870x00060011,
20810x8a000000, 20880x8a000000,
20820x00050045, 20890x00050046,
20830xe1cd00f0, 20900xe1cd00f0,
20840xe1a00002, 20910xe1a00002,
20850xeb000000, 20920xeb000000,
@@ -2087,29 +2094,29 @@ static const unsigned int build_actionlist[5706] = {
20870xe1cd20d0, 20940xe1cd20d0,
20880xea000000, 20950xea000000,
20890x00050010, 20960x00050010,
20900x00060075, 20970x00060076,
20910xe1c900d0, 20980xe1c900d0,
20920xe35b0008, 20990xe35b0008,
20930x3a000000, 21000x3a000000,
20940x00050045, 21010x00050046,
20950xe3710000, 21020xe3710000,
20960x000a0000, 21030x000a0000,
20970x1a000000, 21040x1a000000,
20980x00050045, 21050x00050046,
20990xe5100000, 21060xe5100000,
21000x000d8180, 21070x000d8180,
21010xe3e01000, 21080xe3e01000,
21020x000a0000, 21090x000a0000,
21030xea000000, 21100xea000000,
21040x00050048, 21110x00050049,
21050x00060076, 21120x00060077,
21060xe1c900d0, 21130xe1c900d0,
21070xe5196004, 21140xe5196004,
21080xe35b0008, 21150xe35b0008,
21090x03710000, 21160x03710000,
21100x000a0000, 21170x000a0000,
21110x1a000000, 21180x1a000000,
21120x00050045, 21190x00050046,
21130xe5102000, 21200xe5102000,
21140x000d8180, 21210x000d8180,
21150xe5500000, 21220xe5500000,
@@ -2124,15 +2131,15 @@ static const unsigned int build_actionlist[5706] = {
21240x000a0000, 21310x000a0000,
21250xe14900f8, 21320xe14900f8,
21260xea000000, 21330xea000000,
21270x00050046, 21340x00050047,
21280x00060077, 21350x00060078,
21290xe5170000, 21360xe5170000,
21300x000d8180, 21370x000d8180,
21310xe5171000, 21380xe5171000,
21320x000d8180, 21390x000d8180,
21330xe1500001, 21400xe1500001,
21340xab000000, 21410xab000000,
21350x0005004e, 21420x0005004f,
21360xe1c900d0, 21430xe1c900d0,
21370xe5196004, 21440xe5196004,
21380xe35b0008, 21450xe35b0008,
@@ -2141,10 +2148,10 @@ static const unsigned int build_actionlist[5706] = {
21410x03d030ff, 21480x03d030ff,
21420xe3a02001, 21490xe3a02001,
21430x1a000000, 21500x1a000000,
21440x00050045, 21510x00050046,
21450xe58d0000, 21520xe58d0000,
21460xe1a0100d, 21530xe1a0100d,
21470x00060078, 21540x00060079,
21480xe5089000, 21550xe5089000,
21490x000d8180, 21560x000d8180,
21500xe1a00008, 21570xe1a00008,
@@ -2156,15 +2163,15 @@ static const unsigned int build_actionlist[5706] = {
21560xe3e01000, 21630xe3e01000,
21570x000a0000, 21640x000a0000,
21580xea000000, 21650xea000000,
21590x00050048, 21660x00050049,
21600x00060079, 21670x0006007a,
21610xe5170000, 21680xe5170000,
21620x000d8180, 21690x000d8180,
21630xe5171000, 21700xe5171000,
21640x000d8180, 21710x000d8180,
21650xe1500001, 21720xe1500001,
21660xab000000, 21730xab000000,
21670x0005004e, 21740x0005004f,
21680xe1c900d0, 21750xe1c900d0,
21690xe1c921d0, 21760xe1c921d0,
21700xe35b0010, 21770xe35b0010,
@@ -2172,13 +2179,13 @@ static const unsigned int build_actionlist[5706] = {
21720x0a000000, 21790x0a000000,
21730x00050001, 21800x00050001,
21740x3a000000, 21810x3a000000,
21750x00050045, 21820x00050046,
21760x00000000, 21830x00000000,
21770xe3730000, 21840xe3730000,
21780x000a0000, 21850x000a0000,
21790xe1a0c002, 21860xe1a0c002,
21800x1a000000, 21870x1a000000,
21810x00050045, 21880x00050046,
21820x0006000b, 21890x0006000b,
21830xe1c920d8, 21900xe1c920d8,
21840xe3710000, 21910xe3710000,
@@ -2188,7 +2195,7 @@ static const unsigned int build_actionlist[5706] = {
21880x03730000, 21950x03730000,
21890x000a0000, 21960x000a0000,
21900x1a000000, 21970x1a000000,
21910x00050045, 21980x00050046,
21920xe2813001, 21990xe2813001,
21930xe3520000, 22000xe3520000,
21940xb0822003, 22010xb0822003,
@@ -2205,44 +2212,44 @@ static const unsigned int build_actionlist[5706] = {
22050xe05c2002, 22120xe05c2002,
22060xe2822001, 22130xe2822001,
22070xaa000000, 22140xaa000000,
22080x00050078, 22150x00050079,
22090x0006007a, 22160x0006007b,
22100xe2470000, 22170xe2470000,
22110x000a0000, 22180x000a0000,
22120xe3e01000, 22190xe3e01000,
22130x000a0000, 22200x000a0000,
22140xea000000, 22210xea000000,
22150x00050048, 22220x00050049,
22160x0006007b, 22230x0006007c,
22170xe5170000, 22240xe5170000,
22180x000d8180, 22250x000d8180,
22190xe5171000, 22260xe5171000,
22200x000d8180, 22270x000d8180,
22210xe1500001, 22280xe1500001,
22220xab000000, 22290xab000000,
22230x0005004e, 22300x0005004f,
22240xe1c900d0, 22310xe1c900d0,
22250xe1c920d8, 22320xe1c920d8,
22260xe35b0010, 22330xe35b0010,
22270x3a000000, 22340x3a000000,
22280x00050045, 22350x00050046,
22290xe3710000, 22360xe3710000,
22300x000a0000, 22370x000a0000,
22310x03730000, 22380x03730000,
22320x000a0000, 22390x000a0000,
22330x1a000000, 22400x1a000000,
22340x00050045, 22410x00050046,
22350xe2523001, 22420xe2523001,
22360xe5101000, 22430xe5101000,
22370x000d8180, 22440x000d8180,
22380x00000000, 22450x00000000,
22390xba000000, 22460xba000000,
22400x0005007a, 22470x0005007b,
22410xe3510001, 22480xe3510001,
22420x3a000000, 22490x3a000000,
22430x0005007a, 22500x0005007b,
22440x1a000000, 22510x1a000000,
22450x00050045, 22520x00050046,
22460xe517c000, 22530xe517c000,
22470x000d8180, 22540x000d8180,
22480xe5171000, 22550xe5171000,
@@ -2251,30 +2258,30 @@ static const unsigned int build_actionlist[5706] = {
22510x000d8180, 22580x000d8180,
22520xe15c0002, 22590xe15c0002,
22530x3a000000, 22600x3a000000,
22540x00050045, 22610x00050046,
22550x0006000b, 22620x0006000b,
22560xe7c10003, 22630xe7c10003,
22570xe2533001, 22640xe2533001,
22580xaa000000, 22650xaa000000,
22590x0005000b, 22660x0005000b,
22600xea000000, 22670xea000000,
22610x00050078, 22680x00050079,
22620x0006007c, 22690x0006007d,
22630xe5170000, 22700xe5170000,
22640x000d8180, 22710x000d8180,
22650xe5171000, 22720xe5171000,
22660x000d8180, 22730x000d8180,
22670xe1500001, 22740xe1500001,
22680xab000000, 22750xab000000,
22690x0005004e, 22760x0005004f,
22700xe1c900d0, 22770xe1c900d0,
22710xe35b0008, 22780xe35b0008,
22720x3a000000, 22790x3a000000,
22730x00050045, 22800x00050046,
22740xe3710000, 22810xe3710000,
22750x000a0000, 22820x000a0000,
22760x1a000000, 22830x1a000000,
22770x00050045, 22840x00050046,
22780xe5102000, 22850xe5102000,
22790x000d8180, 22860x000d8180,
22800xe517c000, 22870xe517c000,
@@ -2286,32 +2293,32 @@ static const unsigned int build_actionlist[5706] = {
22860x000a0000, 22930x000a0000,
22870xe15c0002, 22940xe15c0002,
22880x3a000000, 22950x3a000000,
22890x00050045, 22960x00050046,
22900x0006000b, 22970x0006000b,
22910x00000000, 22980x00000000,
22920xe4d0c001, 22990xe4d0c001,
22930xe2533001, 23000xe2533001,
22940xba000000, 23010xba000000,
22950x00050078, 23020x00050079,
22960xe7c1c003, 23030xe7c1c003,
22970xea000000, 23040xea000000,
22980x0005000b, 23050x0005000b,
22990x0006007d, 23060x0006007e,
23000xe5170000, 23070xe5170000,
23010x000d8180, 23080x000d8180,
23020xe5171000, 23090xe5171000,
23030x000d8180, 23100x000d8180,
23040xe1500001, 23110xe1500001,
23050xab000000, 23120xab000000,
23060x0005004e, 23130x0005004f,
23070xe1c900d0, 23140xe1c900d0,
23080xe35b0008, 23150xe35b0008,
23090x3a000000, 23160x3a000000,
23100x00050045, 23170x00050046,
23110xe3710000, 23180xe3710000,
23120x000a0000, 23190x000a0000,
23130x1a000000, 23200x1a000000,
23140x00050045, 23210x00050046,
23150xe5102000, 23220xe5102000,
23160x000d8180, 23230x000d8180,
23170xe517c000, 23240xe517c000,
@@ -2323,12 +2330,12 @@ static const unsigned int build_actionlist[5706] = {
23230x000a0000, 23300x000a0000,
23240xe15c0002, 23310xe15c0002,
23250x3a000000, 23320x3a000000,
23260x00050045, 23330x00050046,
23270x0006000b, 23340x0006000b,
23280xe7d0c003, 23350xe7d0c003,
23290xe1530002, 23360xe1530002,
23300x2a000000, 23370x2a000000,
23310x00050078, 23380x00050079,
23320xe24cb041, 23390xe24cb041,
23330xe35b001a, 23400xe35b001a,
23340x322cc020, 23410x322cc020,
@@ -2336,23 +2343,23 @@ static const unsigned int build_actionlist[5706] = {
23360xe2833001, 23430xe2833001,
23370xea000000, 23440xea000000,
23380x0005000b, 23450x0005000b,
23390x0006007e, 23460x0006007f,
23400xe5170000, 23470xe5170000,
23410x000d8180, 23480x000d8180,
23420xe5171000, 23490xe5171000,
23430x000d8180, 23500x000d8180,
23440xe1500001, 23510xe1500001,
23450xab000000, 23520xab000000,
23460x0005004e, 23530x0005004f,
23470xe1c900d0, 23540xe1c900d0,
23480xe35b0008, 23550xe35b0008,
23490x3a000000, 23560x3a000000,
23500x00050045, 23570x00050046,
23510x00000000, 23580x00000000,
23520xe3710000, 23590xe3710000,
23530x000a0000, 23600x000a0000,
23540x1a000000, 23610x1a000000,
23550x00050045, 23620x00050046,
23560xe5102000, 23630xe5102000,
23570x000d8180, 23640x000d8180,
23580xe517c000, 23650xe517c000,
@@ -2364,12 +2371,12 @@ static const unsigned int build_actionlist[5706] = {
23640x000a0000, 23710x000a0000,
23650xe15c0002, 23720xe15c0002,
23660x3a000000, 23730x3a000000,
23670x00050045, 23740x00050046,
23680x0006000b, 23750x0006000b,
23690xe7d0c003, 23760xe7d0c003,
23700xe1530002, 23770xe1530002,
23710x2a000000, 23780x2a000000,
23720x00050078, 23790x00050079,
23730xe24cb061, 23800xe24cb061,
23740xe35b001a, 23810xe35b001a,
23750x322cc020, 23820x322cc020,
@@ -2377,15 +2384,15 @@ static const unsigned int build_actionlist[5706] = {
23770xe2833001, 23840xe2833001,
23780xea000000, 23850xea000000,
23790x0005000b, 23860x0005000b,
23800x0006007f, 23870x00060080,
23810xe1c900d0, 23880xe1c900d0,
23820xe35b0008, 23890xe35b0008,
23830x3a000000, 23900x3a000000,
23840x00050045, 23910x00050046,
23850xe3710000, 23920xe3710000,
23860x000a0000, 23930x000a0000,
23870x1a000000, 23940x1a000000,
23880x00050045, 23950x00050046,
23890x00000000, 23960x00000000,
23900xe1a0a009, 23970xe1a0a009,
23910x00000000, 23980x00000000,
@@ -2397,11 +2404,11 @@ static const unsigned int build_actionlist[5706] = {
23970xe3e01000, 24040xe3e01000,
23980x000a0000, 24050x000a0000,
23990xea000000, 24060xea000000,
24000x00050048, 24070x00050049,
24010x00060080,
24020x8a000000,
24030x00050045,
24040x00060081, 24080x00060081,
24090x8a000000,
24100x00050046,
24110x00060082,
24050xe1a0c081, 24120xe1a0c081,
24060xe29cc980, 24130xe29cc980,
24070x53a00000, 24140x53a00000,
@@ -2426,28 +2433,28 @@ static const unsigned int build_actionlist[5706] = {
24260xe1830c10, 24330xe1830c10,
24270xb2600000, 24340xb2600000,
24280xe12fff1e, 24350xe12fff1e,
24290x00060082, 24360x00060083,
24300xe1c900d0, 24370xe1c900d0,
24310xe35b0008, 24380xe35b0008,
24320x3a000000, 24390x3a000000,
24330x00050045, 24400x00050046,
24340xe3710000, 24410xe3710000,
24350x000a0000, 24420x000a0000,
24360x1b000000, 24430x1b000000,
24370x00050080, 24440x00050081,
24380xe3e01000, 24450xe3e01000,
24390x000a0000, 24460x000a0000,
24400xea000000, 24470xea000000,
24410x00050048, 24480x00050049,
24420x00060083, 24490x00060084,
24430xe1c900d0, 24500xe1c900d0,
24440xe35b0008, 24510xe35b0008,
24450x3a000000, 24520x3a000000,
24460x00050045, 24530x00050046,
24470xe3710000, 24540xe3710000,
24480x000a0000, 24550x000a0000,
24490x1b000000, 24560x1b000000,
24500x00050080, 24570x00050081,
24510xe1a02000, 24580xe1a02000,
24520xe3a0a008, 24590xe3a0a008,
24530x0006000b, 24600x0006000b,
@@ -2459,20 +2466,20 @@ static const unsigned int build_actionlist[5706] = {
24590xe3710000, 24660xe3710000,
24600x000a0000, 24670x000a0000,
24610x1b000000, 24680x1b000000,
24620x00050080, 24690x00050081,
24630xe0022000, 24700xe0022000,
24640xea000000, 24710xea000000,
24650x0005000b, 24720x0005000b,
24660x00060084, 24730x00060085,
24670x00000000, 24740x00000000,
24680xe1c900d0, 24750xe1c900d0,
24690xe35b0008, 24760xe35b0008,
24700x3a000000, 24770x3a000000,
24710x00050045, 24780x00050046,
24720xe3710000, 24790xe3710000,
24730x000a0000, 24800x000a0000,
24740x1b000000, 24810x1b000000,
24750x00050080, 24820x00050081,
24760xe1a02000, 24830xe1a02000,
24770xe3a0a008, 24840xe3a0a008,
24780x0006000b, 24850x0006000b,
@@ -2484,19 +2491,19 @@ static const unsigned int build_actionlist[5706] = {
24840xe3710000, 24910xe3710000,
24850x000a0000, 24920x000a0000,
24860x1b000000, 24930x1b000000,
24870x00050080, 24940x00050081,
24880xe1822000, 24950xe1822000,
24890xea000000, 24960xea000000,
24900x0005000b, 24970x0005000b,
24910x00060085, 24980x00060086,
24920xe1c900d0, 24990xe1c900d0,
24930xe35b0008, 25000xe35b0008,
24940x3a000000, 25010x3a000000,
24950x00050045, 25020x00050046,
24960xe3710000, 25030xe3710000,
24970x000a0000, 25040x000a0000,
24980x1b000000, 25050x1b000000,
24990x00050080, 25060x00050081,
25000xe1a02000, 25070xe1a02000,
25010xe3a0a008, 25080xe3a0a008,
25020x0006000b, 25090x0006000b,
@@ -2508,7 +2515,7 @@ static const unsigned int build_actionlist[5706] = {
25080xe3710000, 25150xe3710000,
25090x000a0000, 25160x000a0000,
25100x1b000000, 25170x1b000000,
25110x00050080, 25180x00050081,
25120xe0222000, 25190xe0222000,
25130xea000000, 25200xea000000,
25140x0005000b, 25210x0005000b,
@@ -2518,17 +2525,17 @@ static const unsigned int build_actionlist[5706] = {
25180xe5196004, 25250xe5196004,
25190xe14920f8, 25260xe14920f8,
25200xea000000, 25270xea000000,
25210x0005005d, 25280x0005005e,
25220x00060086, 25290x00060087,
25230xe1c900d0, 25300xe1c900d0,
25240xe35b0008, 25310xe35b0008,
25250x3a000000, 25320x3a000000,
25260x00050045, 25330x00050046,
25270x00000000, 25340x00000000,
25280xe3710000, 25350xe3710000,
25290x000a0000, 25360x000a0000,
25300x1b000000, 25370x1b000000,
25310x00050080, 25380x00050081,
25320xe0202860, 25390xe0202860,
25330xe3c228ff, 25400xe3c228ff,
25340xe1a00460, 25410xe1a00460,
@@ -2536,124 +2543,124 @@ static const unsigned int build_actionlist[5706] = {
25360x000a0000, 25430x000a0000,
25370xe0200422, 25440xe0200422,
25380xea000000, 25450xea000000,
25390x00050048, 25460x00050049,
25400x00060087, 25470x00060088,
25410xe1c900d0, 25480xe1c900d0,
25420xe35b0008, 25490xe35b0008,
25430x3a000000, 25500x3a000000,
25440x00050045, 25510x00050046,
25450xe3710000, 25520xe3710000,
25460x000a0000, 25530x000a0000,
25470x1b000000, 25540x1b000000,
25480x00050080, 25550x00050081,
25490xe1e00000, 25560xe1e00000,
25500xe3e01000, 25570xe3e01000,
25510x000a0000, 25580x000a0000,
25520xea000000, 25590xea000000,
25530x00050048, 25600x00050049,
25540x00060088, 25610x00060089,
25550xe1c900d8, 25620xe1c900d8,
25560xe35b0010, 25630xe35b0010,
25570x3a000000, 25640x3a000000,
25580x00050045, 25650x00050046,
25590xe3710000, 25660xe3710000,
25600x000a0000, 25670x000a0000,
25610x1b000000, 25680x1b000000,
25620x00050080, 25690x00050081,
25630xe200a01f, 25700xe200a01f,
25640xe1c900d0, 25710xe1c900d0,
25650xe3710000, 25720xe3710000,
25660x000a0000, 25730x000a0000,
25670x1b000000, 25740x1b000000,
25680x00050080, 25750x00050081,
25690xe1a00a10, 25760xe1a00a10,
25700xe3e01000, 25770xe3e01000,
25710x000a0000, 25780x000a0000,
25720xea000000, 25790xea000000,
25730x00050048, 25800x00050049,
25740x00060089, 25810x0006008a,
25750xe1c900d8, 25820xe1c900d8,
25760xe35b0010, 25830xe35b0010,
25770x3a000000, 25840x3a000000,
25780x00050045, 25850x00050046,
25790xe3710000, 25860xe3710000,
25800x000a0000, 25870x000a0000,
25810x1b000000, 25880x1b000000,
25820x00050080, 25890x00050081,
25830x00000000, 25900x00000000,
25840xe200a01f, 25910xe200a01f,
25850xe1c900d0, 25920xe1c900d0,
25860xe3710000, 25930xe3710000,
25870x000a0000, 25940x000a0000,
25880x1b000000, 25950x1b000000,
25890x00050080, 25960x00050081,
25900xe1a00a30, 25970xe1a00a30,
25910xe3e01000, 25980xe3e01000,
25920x000a0000, 25990x000a0000,
25930xea000000, 26000xea000000,
25940x00050048, 26010x00050049,
25950x0006008a, 26020x0006008b,
25960xe1c900d8, 26030xe1c900d8,
25970xe35b0010, 26040xe35b0010,
25980x3a000000, 26050x3a000000,
25990x00050045, 26060x00050046,
26000xe3710000, 26070xe3710000,
26010x000a0000, 26080x000a0000,
26020x1b000000, 26090x1b000000,
26030x00050080, 26100x00050081,
26040xe200a01f, 26110xe200a01f,
26050xe1c900d0, 26120xe1c900d0,
26060xe3710000, 26130xe3710000,
26070x000a0000, 26140x000a0000,
26080x1b000000, 26150x1b000000,
26090x00050080, 26160x00050081,
26100xe1a00a50, 26170xe1a00a50,
26110xe3e01000, 26180xe3e01000,
26120x000a0000, 26190x000a0000,
26130xea000000, 26200xea000000,
26140x00050048, 26210x00050049,
26150x0006008b, 26220x0006008c,
26160xe1c900d8, 26230xe1c900d8,
26170xe35b0010, 26240xe35b0010,
26180x3a000000, 26250x3a000000,
26190x00050045, 26260x00050046,
26200xe3710000, 26270xe3710000,
26210x000a0000, 26280x000a0000,
26220x1b000000, 26290x1b000000,
26230x00050080, 26300x00050081,
26240xe260a000, 26310xe260a000,
26250xe1c900d0, 26320xe1c900d0,
26260xe3710000, 26330xe3710000,
26270x000a0000, 26340x000a0000,
26280x1b000000, 26350x1b000000,
26290x00050080, 26360x00050081,
26300xe1a00a70, 26370xe1a00a70,
26310xe3e01000, 26380xe3e01000,
26320x000a0000, 26390x000a0000,
26330xea000000, 26400xea000000,
26340x00050048, 26410x00050049,
26350x0006008c, 26420x0006008d,
26360xe1c900d8, 26430xe1c900d8,
26370xe35b0010, 26440xe35b0010,
26380x3a000000, 26450x3a000000,
26390x00050045, 26460x00050046,
26400x00000000, 26470x00000000,
26410xe3710000, 26480xe3710000,
26420x000a0000, 26490x000a0000,
26430x1b000000, 26500x1b000000,
26440x00050080, 26510x00050081,
26450xe200a01f, 26520xe200a01f,
26460xe1c900d0, 26530xe1c900d0,
26470xe3710000, 26540xe3710000,
26480x000a0000, 26550x000a0000,
26490x1b000000, 26560x1b000000,
26500x00050080, 26570x00050081,
26510xe1a00a70, 26580xe1a00a70,
26520xe3e01000, 26590xe3e01000,
26530x000a0000, 26600x000a0000,
26540xea000000, 26610xea000000,
26550x00050048, 26620x00050049,
26560x00060045, 26630x00060046,
26570xe5192008, 26640xe5192008,
26580xe5181000, 26650xe5181000,
26590x000d8180, 26660x000d8180,
@@ -2679,14 +2686,14 @@ static const unsigned int build_actionlist[5706] = {
26790xe1a0b180, 26860xe1a0b180,
26800xe249a008, 26870xe249a008,
26810xca000000, 26880xca000000,
26820x00050046, 26890x00050047,
26830x0006000b, 26900x0006000b,
26840xe5180000, 26910xe5180000,
26850x000d8180, 26920x000d8180,
26860xe5192008, 26930xe5192008,
26870xe040b009, 26940xe040b009,
26880x1a000000, 26950x1a000000,
26890x00050028, 26960x00050029,
26900xe5126000, 26970xe5126000,
26910x000d8180, 26980x000d8180,
26920xe5d6c000, 26990xe5d6c000,
@@ -2695,7 +2702,7 @@ static const unsigned int build_actionlist[5706] = {
26950xe004a2ae, 27020xe004a2ae,
26960xe08aa009, 27030xe08aa009,
26970xe12fff1c, 27040xe12fff1c,
26980x00060028, 27050x00060029,
26990xe2160000, 27060xe2160000,
27000x000a0000, 27070x000a0000,
27010xe3c61000, 27080xe3c61000,
@@ -2717,7 +2724,7 @@ static const unsigned int build_actionlist[5706] = {
27170xe1500000, 27240xe1500000,
27180xea000000, 27250xea000000,
27190x0005000b, 27260x0005000b,
27200x0006004e, 27270x0006004f,
27210xe1a0a00e, 27280xe1a0a00e,
27220xe5089000, 27290xe5089000,
27230x000d8180, 27300x000d8180,
@@ -2733,7 +2740,7 @@ static const unsigned int build_actionlist[5706] = {
27330xe1a0e00a, 27400xe1a0e00a,
27340xe5192008, 27410xe5192008,
27350xe12fff1e, 27420xe12fff1e,
27360x0006008d, 27430x0006008e,
27370x00000000, 27440x00000000,
27380xe5570000, 27450xe5570000,
27390x000d8180, 27460x000d8180,
@@ -2755,7 +2762,7 @@ static const unsigned int build_actionlist[5706] = {
27550xea000000, 27620xea000000,
27560x00050001, 27630x00050001,
27570x00000000, 27640x00000000,
27580x0006008e, 27650x0006008f,
27590xe5570000, 27660xe5570000,
27600x000d8180, 27670x000d8180,
27610xe3100000, 27680xe3100000,
@@ -2767,7 +2774,7 @@ static const unsigned int build_actionlist[5706] = {
27670xe087c10c, 27740xe087c10c,
27680xe51cf000, 27750xe51cf000,
27690x000d8180, 27760x000d8180,
27700x0006008f, 27770x00060090,
27710xe5570000, 27780xe5570000,
27720x000d8180, 27790x000d8180,
27730xe5171000, 27800xe5171000,
@@ -2809,13 +2816,13 @@ static const unsigned int build_actionlist[5706] = {
28090xe004a2ae, 28160xe004a2ae,
28100xe1a0b82e, 28170xe1a0b82e,
28110xe12fff1c, 28180xe12fff1c,
28120x00060090, 28190x00060091,
28130xe5130018, 28200xe5130018,
28140xe2866004, 28210xe2866004,
28150xe58d0004, 28220xe58d0004,
28160xea000000, 28230xea000000,
28170x0005000e, 28240x0005000e,
28180x00060091, 28250x00060092,
28190x00000000, 28260x00000000,
28200xe5192008, 28270xe5192008,
28210xe2470000, 28280xe2470000,
@@ -2838,13 +2845,13 @@ static const unsigned int build_actionlist[5706] = {
28380xea000000, 28450xea000000,
28390x0005000d, 28460x0005000d,
28400x00000000, 28470x00000000,
28410x00060092, 28480x00060093,
28420xe1a01006, 28490xe1a01006,
28430x00000000, 28500x00000000,
28440xea000000, 28510xea000000,
28450x00050001, 28520x00050001,
28460x00000000, 28530x00000000,
28470x00060093, 28540x00060094,
28480x00000000, 28550x00000000,
28490xe3861001, 28560xe3861001,
28500x0006000b, 28570x0006000b,
@@ -2870,7 +2877,7 @@ static const unsigned int build_actionlist[5706] = {
28700xe5192008, 28770xe5192008,
28710xe516e004, 28780xe516e004,
28720xe12fff10, 28790xe12fff10,
28730x00060094, 28800x00060095,
28740x00000000, 28810x00000000,
28750xe24dd00c, 28820xe24dd00c,
28760xe92d1fff, 28830xe92d1fff,
@@ -2920,7 +2927,7 @@ static const unsigned int build_actionlist[5706] = {
29200xea000000, 29270xea000000,
29210x00050001, 29280x00050001,
29220x00000000, 29290x00000000,
29230x00060095, 29300x00060096,
29240x00000000, 29310x00000000,
29250xe59d800c, 29320xe59d800c,
29260x0006000b, 29330x0006000b,
@@ -2961,7 +2968,7 @@ static const unsigned int build_actionlist[5706] = {
29610x00000000, 29680x00000000,
29620x00060013, 29690x00060013,
29630x3ff00000, 29700x3ff00000,
29640x00060059, 29710x0006005a,
29650xe1a02081, 29720xe1a02081,
29660xe292c980, 29730xe292c980,
29670x5a000000, 29740x5a000000,
@@ -2996,7 +3003,7 @@ static const unsigned int build_actionlist[5706] = {
29960x00050813, 30030x00050813,
29970x11811003, 30040x11811003,
29980xe12fff1e, 30050xe12fff1e,
29990x0006005b, 30060x0006005c,
30000xe1a02081, 30070xe1a02081,
30010xe292c980, 30080xe292c980,
30020x5a000000, 30090x5a000000,
@@ -3031,7 +3038,7 @@ static const unsigned int build_actionlist[5706] = {
30310x00050813, 30380x00050813,
30320x11811003, 30390x11811003,
30330xe12fff1e, 30400xe12fff1e,
30340x00060096, 30410x00060097,
30350x00000000, 30420x00000000,
30360xe1a02081, 30430xe1a02081,
30370xe292c980, 30440xe292c980,
@@ -3047,12 +3054,12 @@ static const unsigned int build_actionlist[5706] = {
30470x50011c13, 30540x50011c13,
30480xe12fff1e, 30550xe12fff1e,
30490x00000000, 30560x00000000,
30500x00060097, 30570x00060098,
30510xe92d401f, 30580xe92d401f,
30520xeb000000, 30590xeb000000,
30530x0003002d, 30600x0003002d,
30540xeb000000, 30610xeb000000,
30550x00050059, 30620x0005005a,
30560xe1cd20d8, 30630xe1cd20d8,
30570xeb000000, 30640xeb000000,
30580x0003001f, 30650x0003001f,
@@ -3062,7 +3069,7 @@ static const unsigned int build_actionlist[5706] = {
30620x0003002e, 30690x0003002e,
30630xe28dd014, 30700xe28dd014,
30640xe8bd8000, 30710xe8bd8000,
30650x00060098, 30720x00060099,
30660xe210c480, 30730xe210c480,
30670x42600000, 30740x42600000,
30680xe02cc0c1, 30750xe02cc0c1,
@@ -3095,7 +3102,7 @@ static const unsigned int build_actionlist[5706] = {
30950xe030108c, 31020xe030108c,
30960x42600000, 31030x42600000,
30970xe12fff1e, 31040xe12fff1e,
30980x00060099, 31050x0006009a,
30990xe59dc000, 31060xe59dc000,
31000xe35c0001, 31070xe35c0001,
31010x3a000000, 31080x3a000000,
@@ -3109,7 +3116,7 @@ static const unsigned int build_actionlist[5706] = {
31090x0003002d, 31160x0003002d,
31100xe35c0005, 31170xe35c0005,
31110x3a000000, 31180x3a000000,
31120x00050097, 31190x00050098,
31130x0a000000, 31200x0a000000,
31140x0003001c, 31210x0003001c,
31150xe35c0007, 31220xe35c0007,
@@ -3144,7 +3151,71 @@ static const unsigned int build_actionlist[5706] = {
31440x00000000, 31510x00000000,
31450xe7f001f0, 31520xe7f001f0,
31460x00000000, 31530x00000000,
31470x0006009a, 31540x0006009b,
31550x00000000,
31560xe51c6000,
31570x000d8180,
31580xe28c7000,
31590x000a0000,
31600xe14600f0,
31610x000c8100,
31620xe14620f0,
31630x000c8100,
31640xe59d3000,
31650xe28d2000,
31660x000a0000,
31670xe1a00006,
31680xe1a031a3,
31690xe5062000,
31700x000d8180,
31710xe1a0100d,
31720xe5063000,
31730x000d8180,
31740xe58d6008,
31750xeb000000,
31760x00030030,
31770xe5109000,
31780x000d8180,
31790xe3e01000,
31800x000a0000,
31810xe510b000,
31820x000d8180,
31830xe3a040ff,
31840xe5192008,
31850xe1a08000,
31860xe04bb009,
31870xe1a04184,
31880xe5071000,
31890x000d8180,
31900xe5126000,
31910x000d8180,
31920xe5d6c000,
31930xe496e004,
31940xe797c10c,
31950xe004a2ae,
31960xe08aa009,
31970xe12fff1c,
31980x00000000,
31990x00060028,
32000x00000000,
32010xe5176000,
32020x000d8180,
32030xe5089000,
32040x000d8180,
32050xe5083000,
32060x000d8180,
32070xe5068000,
32080x000d8180,
32090xe1a00006,
32100xe1a0100a,
32110xeb000000,
32120x00030031,
32130xe14600d0,
32140x000c8100,
32150xea000000,
32160x0005001a,
32170x00000000,
32180x0006009c,
31480x00000000, 32190x00000000,
31490xe92d4830, 32200xe92d4830,
31500xe1a04000, 32210xe1a04000,
@@ -3219,7 +3290,7 @@ static const unsigned int build_actionlist[5706] = {
32190xe12fff1c, 32900xe12fff1c,
32200x0006000d, 32910x0006000d,
32210x8a000000, 32920x8a000000,
32220x00050034, 32930x00050035,
32230xe3730000, 32940xe3730000,
32240x000a0000, 32950x000a0000,
32250x31a0a00c, 32960x31a0a00c,
@@ -3237,7 +3308,7 @@ static const unsigned int build_actionlist[5706] = {
32370x00050005, 33080x00050005,
32380x0006000e, 33090x0006000e,
32390x8a000000, 33100x8a000000,
32400x00050034, 33110x00050035,
32410xe1a0a00c, 33120xe1a0a00c,
32420xeb000000, 33130xeb000000,
32430x00030023, 33140x00030023,
@@ -3269,17 +3340,17 @@ static const unsigned int build_actionlist[5706] = {
32690x000a0000, 33400x000a0000,
32700x00000000, 33410x00000000,
32710x9a000000, 33420x9a000000,
32720x0005009b, 33430x0005009d,
32730x00000000, 33440x00000000,
32740x9a000000, 33450x9a000000,
32750x0005009c, 33460x0005009e,
32760x00000000, 33470x00000000,
32770xe3710000, 33480xe3710000,
32780x000a0000, 33490x000a0000,
32790x13730000, 33500x13730000,
32800x000a0000, 33510x000a0000,
32810x0a000000, 33520x0a000000,
32820x0005003a, 33530x0005003b,
32830x00000000, 33540x00000000,
32840xe1510003, 33550xe1510003,
32850x1a000000, 33560x1a000000,
@@ -3332,7 +3403,7 @@ static const unsigned int build_actionlist[5706] = {
33320xe31a0000, 34030xe31a0000,
33330x000a0000, 34040x000a0000,
33340x0a000000, 34050x0a000000,
33350x00050039, 34060x0005003a,
33360x00000000, 34070x00000000,
33370xea000000, 34080xea000000,
33380x0005000c, 34090x0005000c,
@@ -3381,7 +3452,7 @@ static const unsigned int build_actionlist[5706] = {
33810x1a000000, 34520x1a000000,
33820x0005000b, 34530x0005000b,
33830xea000000, 34540xea000000,
33840x0005003a, 34550x0005003b,
33850x00000000, 34560x00000000,
33860xe1a0b18b, 34570xe1a0b18b,
33870xe1aa00d9, 34580xe1aa00d9,
@@ -3390,9 +3461,9 @@ static const unsigned int build_actionlist[5706] = {
33900xe2866004, 34610xe2866004,
33910xe086c10c, 34620xe086c10c,
33920x00000000, 34630x00000000,
33930x0006009b, 34640x0006009d,
33940x00000000, 34650x00000000,
33950x0006009c, 34660x0006009e,
33960x00000000, 34670x00000000,
33970xe3710000, 34680xe3710000,
33980x000a0000, 34690x000a0000,
@@ -3441,7 +3512,7 @@ static const unsigned int build_actionlist[5706] = {
34410xe1cb20d0, 35120xe1cb20d0,
34420x0006000f, 35130x0006000f,
34430xeb000000, 35140xeb000000,
34440x00030030, 35150x00030032,
34450x00000000, 35160x00000000,
34460x024a6b80, 35170x024a6b80,
34470x00000000, 35180x00000000,
@@ -3456,7 +3527,7 @@ static const unsigned int build_actionlist[5706] = {
34560x1a000000, 35270x1a000000,
34570x0005000b, 35280x0005000b,
34580xea000000, 35290xea000000,
34590x0005003a, 35300x0005003b,
34600x00000000, 35310x00000000,
34610xe18900da, 35320xe18900da,
34620xe1d6c0b2, 35330xe1d6c0b2,
@@ -3467,7 +3538,7 @@ static const unsigned int build_actionlist[5706] = {
34670xe3710000, 35380xe3710000,
34680x000a0000, 35390x000a0000,
34690x0a000000, 35400x0a000000,
34700x0005003a, 35410x0005003b,
34710x00000000, 35420x00000000,
34720xe151000b, 35430xe151000b,
34730x00000000, 35440x00000000,
@@ -3539,7 +3610,7 @@ static const unsigned int build_actionlist[5706] = {
35390xe3710000, 36100xe3710000,
35400x000a0000, 36110x000a0000,
35410x8a000000, 36120x8a000000,
35420x0005003d, 36130x0005003e,
35430x12211480, 36140x12211480,
35440x1a000000, 36150x1a000000,
35450x00050005, 36160x00050005,
@@ -3580,7 +3651,7 @@ static const unsigned int build_actionlist[5706] = {
35800xe3710000, 36510xe3710000,
35810x000a0000, 36520x000a0000,
35820x1a000000, 36530x1a000000,
35830x0005003f, 36540x00050040,
35840x00000000, 36550x00000000,
35850xe5102000, 36560xe5102000,
35860x000d8180, 36570x000d8180,
@@ -3589,7 +3660,7 @@ static const unsigned int build_actionlist[5706] = {
35890x00050009, 36600x00050009,
35900x0006000d, 36610x0006000d,
35910x00000000, 36620x00000000,
35920x00060040, 36630x00060041,
35930x00000000, 36640x00000000,
35940xe1a0b009, 36650xe1a0b009,
35950x00000000, 36660x00000000,
@@ -3609,7 +3680,7 @@ static const unsigned int build_actionlist[5706] = {
36090x1a000000, 36800x1a000000,
36100x0005000d, 36810x0005000d,
36110xea000000, 36820xea000000,
36120x0005003f, 36830x00050040,
36130x00000000, 36840x00000000,
36140xe004caae, 36850xe004caae,
36150xe004b6ae, 36860xe004b6ae,
@@ -3640,13 +3711,13 @@ static const unsigned int build_actionlist[5706] = {
36400xe0900002, 37110xe0900002,
36410x00000000, 37120x00000000,
36420x6a000000, 37130x6a000000,
36430x0005003b, 37140x0005003c,
36440x00000000, 37150x00000000,
36450x6a000000, 37160x6a000000,
36460x0005003c, 37170x0005003d,
36470x00000000, 37180x00000000,
36480x6a000000, 37190x6a000000,
36490x0005003e, 37200x0005003f,
36500x00000000, 37210x00000000,
36510x0006000e, 37220x0006000e,
36520xe496e004, 37230xe496e004,
@@ -3668,7 +3739,7 @@ static const unsigned int build_actionlist[5706] = {
36680x000a0000, 37390x000a0000,
36690x00000000, 37400x00000000,
36700x2a000000, 37410x2a000000,
36710x0005003b, 37420x0005003c,
36720x00000000, 37430x00000000,
36730xe3730000, 37440xe3730000,
36740x000a0000, 37450x000a0000,
@@ -3681,7 +3752,7 @@ static const unsigned int build_actionlist[5706] = {
36810x000a0000, 37520x000a0000,
36820x00000000, 37530x00000000,
36830x2a000000, 37540x2a000000,
36840x0005003c, 37550x0005003d,
36850x00000000, 37560x00000000,
36860xe3730000, 37570xe3730000,
36870x000a0000, 37580x000a0000,
@@ -3694,7 +3765,7 @@ static const unsigned int build_actionlist[5706] = {
36940x000a0000, 37650x000a0000,
36950x00000000, 37660x00000000,
36960x2a000000, 37670x2a000000,
36970x0005003e, 37680x0005003f,
36980x00000000, 37690x00000000,
36990xeb000000, 37700xeb000000,
37000x0003002e, 37710x0003002e,
@@ -3731,13 +3802,13 @@ static const unsigned int build_actionlist[5706] = {
37310xe0500002, 38020xe0500002,
37320x00000000, 38030x00000000,
37330x6a000000, 38040x6a000000,
37340x0005003b, 38050x0005003c,
37350x00000000, 38060x00000000,
37360x6a000000, 38070x6a000000,
37370x0005003c, 38080x0005003d,
37380x00000000, 38090x00000000,
37390x6a000000, 38100x6a000000,
37400x0005003e, 38110x0005003f,
37410x00000000, 38120x00000000,
37420x0006000e, 38130x0006000e,
37430xe496e004, 38140xe496e004,
@@ -3759,7 +3830,7 @@ static const unsigned int build_actionlist[5706] = {
37590x000a0000, 38300x000a0000,
37600x00000000, 38310x00000000,
37610x2a000000, 38320x2a000000,
37620x0005003b, 38330x0005003c,
37630x00000000, 38340x00000000,
37640xe3730000, 38350xe3730000,
37650x000a0000, 38360x000a0000,
@@ -3772,7 +3843,7 @@ static const unsigned int build_actionlist[5706] = {
37720x000a0000, 38430x000a0000,
37730x00000000, 38440x00000000,
37740x2a000000, 38450x2a000000,
37750x0005003c, 38460x0005003d,
37760x00000000, 38470x00000000,
37770xe3730000, 38480xe3730000,
37780x000a0000, 38490x000a0000,
@@ -3785,7 +3856,7 @@ static const unsigned int build_actionlist[5706] = {
37850x000a0000, 38560x000a0000,
37860x00000000, 38570x00000000,
37870x2a000000, 38580x2a000000,
37880x0005003e, 38590x0005003f,
37890x00000000, 38600x00000000,
37900xeb000000, 38610xeb000000,
37910x0003002f, 38620x0003002f,
@@ -3823,13 +3894,13 @@ static const unsigned int build_actionlist[5706] = {
38230xe15b0fc0, 38940xe15b0fc0,
38240x00000000, 38950x00000000,
38250x1a000000, 38960x1a000000,
38260x0005003b, 38970x0005003c,
38270x00000000, 38980x00000000,
38280x1a000000, 38990x1a000000,
38290x0005003c, 39000x0005003d,
38300x00000000, 39010x00000000,
38310x1a000000, 39020x1a000000,
38320x0005003e, 39030x0005003f,
38330x00000000, 39040x00000000,
38340x0006000e, 39050x0006000e,
38350xe496e004, 39060xe496e004,
@@ -3851,7 +3922,7 @@ static const unsigned int build_actionlist[5706] = {
38510x000a0000, 39220x000a0000,
38520x00000000, 39230x00000000,
38530x2a000000, 39240x2a000000,
38540x0005003b, 39250x0005003c,
38550x00000000, 39260x00000000,
38560xe3730000, 39270xe3730000,
38570x000a0000, 39280x000a0000,
@@ -3864,7 +3935,7 @@ static const unsigned int build_actionlist[5706] = {
38640x000a0000, 39350x000a0000,
38650x00000000, 39360x00000000,
38660x2a000000, 39370x2a000000,
38670x0005003c, 39380x0005003d,
38680x00000000, 39390x00000000,
38690xe3730000, 39400xe3730000,
38700x000a0000, 39410x000a0000,
@@ -3877,7 +3948,7 @@ static const unsigned int build_actionlist[5706] = {
38770x000a0000, 39480x000a0000,
38780x00000000, 39490x00000000,
38790x2a000000, 39500x2a000000,
38800x0005003e, 39510x0005003f,
38810x00000000, 39520x00000000,
38820xeb000000, 39530xeb000000,
38830x0003001f, 39540x0003001f,
@@ -3908,7 +3979,7 @@ static const unsigned int build_actionlist[5706] = {
39080x000a0000, 39790x000a0000,
39090x00000000, 39800x00000000,
39100x2a000000, 39810x2a000000,
39110x0005003b, 39820x0005003c,
39120x00000000, 39830x00000000,
39130xe3730000, 39840xe3730000,
39140x000a0000, 39850x000a0000,
@@ -3921,7 +3992,7 @@ static const unsigned int build_actionlist[5706] = {
39210x000a0000, 39920x000a0000,
39220x00000000, 39930x00000000,
39230x2a000000, 39940x2a000000,
39240x0005003c, 39950x0005003d,
39250x00000000, 39960x00000000,
39260xe3730000, 39970xe3730000,
39270x000a0000, 39980x000a0000,
@@ -3934,7 +4005,7 @@ static const unsigned int build_actionlist[5706] = {
39340x000a0000, 40050x000a0000,
39350x00000000, 40060x00000000,
39360x2a000000, 40070x2a000000,
39370x0005003e, 40080x0005003f,
39380x00000000, 40090x00000000,
39390xeb000000, 40100xeb000000,
39400x0003002d, 40110x0003002d,
@@ -3973,16 +4044,16 @@ static const unsigned int build_actionlist[5706] = {
39730xe1b01002, 40440xe1b01002,
39740x00000000, 40450x00000000,
39750x0a000000, 40460x0a000000,
39760x0005003b, 40470x0005003c,
39770x00000000, 40480x00000000,
39780x0a000000, 40490x0a000000,
39790x0005003c, 40500x0005003d,
39800x00000000, 40510x00000000,
39810x0a000000, 40520x0a000000,
39820x0005003e, 40530x0005003f,
39830x00000000, 40540x00000000,
39840xeb000000, 40550xeb000000,
39850x00050098, 40560x00050099,
39860xe3e01000, 40570xe3e01000,
39870x000a0000, 40580x000a0000,
39880x0006000e, 40590x0006000e,
@@ -4006,7 +4077,7 @@ static const unsigned int build_actionlist[5706] = {
40060x000a0000, 40770x000a0000,
40070x00000000, 40780x00000000,
40080x2a000000, 40790x2a000000,
40090x0005003b, 40800x0005003c,
40100x00000000, 40810x00000000,
40110xe3730000, 40820xe3730000,
40120x000a0000, 40830x000a0000,
@@ -4019,7 +4090,7 @@ static const unsigned int build_actionlist[5706] = {
40190x000a0000, 40900x000a0000,
40200x00000000, 40910x00000000,
40210x2a000000, 40920x2a000000,
40220x0005003c, 40930x0005003d,
40230x00000000, 40940x00000000,
40240xe3730000, 40950xe3730000,
40250x000a0000, 40960x000a0000,
@@ -4032,10 +4103,10 @@ static const unsigned int build_actionlist[5706] = {
40320x000a0000, 41030x000a0000,
40330x00000000, 41040x00000000,
40340x2a000000, 41050x2a000000,
40350x0005003e, 41060x0005003f,
40360x00000000, 41070x00000000,
40370xeb000000, 41080xeb000000,
40380x00050097, 41090x00050098,
40390xea000000, 41100xea000000,
40400x0005000e, 41110x0005000e,
40410x00000000, 41120x00000000,
@@ -4062,7 +4133,7 @@ static const unsigned int build_actionlist[5706] = {
40620x000a0000, 41330x000a0000,
40630x00000000, 41340x00000000,
40640x2a000000, 41350x2a000000,
40650x0005003b, 41360x0005003c,
40660x00000000, 41370x00000000,
40670xe3730000, 41380xe3730000,
40680x000a0000, 41390x000a0000,
@@ -4075,7 +4146,7 @@ static const unsigned int build_actionlist[5706] = {
40750x000a0000, 41460x000a0000,
40760x00000000, 41470x00000000,
40770x2a000000, 41480x2a000000,
40780x0005003c, 41490x0005003d,
40790x00000000, 41500x00000000,
40800xe3730000, 41510xe3730000,
40810x000a0000, 41520x000a0000,
@@ -4088,7 +4159,7 @@ static const unsigned int build_actionlist[5706] = {
40880x000a0000, 41590x000a0000,
40890x00000000, 41600x00000000,
40900x2a000000, 41610x2a000000,
40910x0005003e, 41620x0005003f,
40920x00000000, 41630x00000000,
40930xe1a0b009, 41640xe1a0b009,
40940x00000000, 41650x00000000,
@@ -4111,17 +4182,17 @@ static const unsigned int build_actionlist[5706] = {
41110xe5089000, 41820xe5089000,
41120x000d8180, 41830x000d8180,
41130xe089100c, 41840xe089100c,
41140x0006002a, 41850x0006002b,
41150xe1a00008, 41860xe1a00008,
41160xe58d6008, 41870xe58d6008,
41170xe1a021a2, 41880xe1a021a2,
41180xeb000000, 41890xeb000000,
41190x00030031, 41900x00030033,
41200xe5189000, 41910xe5189000,
41210x000d8180, 41920x000d8180,
41220xe3500000, 41930xe3500000,
41230x1a000000, 41940x1a000000,
41240x00050035, 41950x00050036,
41250xe18920db, 41960xe18920db,
41260xe5d6c000, 41970xe5d6c000,
41270xe496e004, 41980xe496e004,
@@ -4265,11 +4336,11 @@ static const unsigned int build_actionlist[5706] = {
42650x0005000b, 43360x0005000b,
42660xe1a0b009, 43370xe1a0b009,
42670xeb000000, 43380xeb000000,
42680x00030032, 43390x00030034,
42690xe1a0900b, 43400xe1a0900b,
42700x00000000, 43410x00000000,
42710x1b000000, 43420x1b000000,
42720x00030032, 43430x00030034,
42730x00000000, 43440x00000000,
42740xea000000, 43450xea000000,
42750x0005000b, 43460x0005000b,
@@ -4314,11 +4385,11 @@ static const unsigned int build_actionlist[5706] = {
43140x0005000b, 43850x0005000b,
43150xe1a0b009, 43860xe1a0b009,
43160xeb000000, 43870xeb000000,
43170x00030032, 43880x00030034,
43180xe1a0900b, 43890xe1a0900b,
43190x00000000, 43900x00000000,
43200x1b000000, 43910x1b000000,
43210x00030032, 43920x00030034,
43220x00000000, 43930x00000000,
43230xea000000, 43940xea000000,
43240x0005000b, 43950x0005000b,
@@ -4368,7 +4439,7 @@ static const unsigned int build_actionlist[5706] = {
43680xe1a00008, 44390xe1a00008,
43690xe089100a, 44400xe089100a,
43700xeb000000, 44410xeb000000,
43710x00030033, 44420x00030035,
43720xe5189000, 44430xe5189000,
43730x000d8180, 44440x000d8180,
43740x0006000b, 44450x0006000b,
@@ -4387,7 +4458,7 @@ static const unsigned int build_actionlist[5706] = {
43870xe5192008, 44580xe5192008,
43880xe1a00008, 44590xe1a00008,
43890xeb000000, 44600xeb000000,
43900x00030034, 44610x00030036,
43910xe5189000, 44620xe5189000,
43920x000d8180, 44630x000d8180,
43930xe3e01000, 44640xe3e01000,
@@ -4422,11 +4493,11 @@ static const unsigned int build_actionlist[5706] = {
44220xe37b0001, 44930xe37b0001,
44230x02811002, 44940x02811002,
44240xeb000000, 44950xeb000000,
44250x00030035, 44960x00030037,
44260x00000000, 44970x00000000,
44270xe795110b, 44980xe795110b,
44280xeb000000, 44990xeb000000,
44290x00030036, 45000x00030038,
44300x00000000, 45010x00000000,
44310xe5189000, 45020xe5189000,
44320x000d8180, 45030x000d8180,
@@ -4441,7 +4512,7 @@ static const unsigned int build_actionlist[5706] = {
44410xe12fff1c, 45120xe12fff1c,
44420x0006000f, 45130x0006000f,
44430xeb000000, 45140xeb000000,
44440x00030037, 45150x00030039,
44450xe1a00008, 45160xe1a00008,
44460xea000000, 45170xea000000,
44470x0005000b, 45180x0005000b,
@@ -4453,10 +4524,10 @@ static const unsigned int build_actionlist[5706] = {
44530xe795b10b, 45240xe795b10b,
44540x00000000, 45250x00000000,
44550xea000000, 45260xea000000,
44560x0005009d, 45270x0005009f,
44570x00000000, 45280x00000000,
44580xea000000, 45290xea000000,
44590x0005009e, 45300x000500a0,
44600x00000000, 45310x00000000,
44610xe004caae, 45320xe004caae,
44620xe004b6ae, 45330xe004b6ae,
@@ -4465,7 +4536,7 @@ static const unsigned int build_actionlist[5706] = {
44650xe3710000, 45360xe3710000,
44660x000a0000, 45370x000a0000,
44670x1a000000, 45380x1a000000,
44680x0005002f, 45390x00050030,
44690xe3730000, 45400xe3730000,
44700x000a0000, 45410x000a0000,
44710x05103000, 45420x05103000,
@@ -4478,7 +4549,7 @@ static const unsigned int build_actionlist[5706] = {
44780xe1520001, 45490xe1520001,
44790x31c320d0, 45500x31c320d0,
44800x2a000000, 45510x2a000000,
44810x0005002f, 45520x00050030,
44820xe5d6c000, 45530xe5d6c000,
44830xe3730000, 45540xe3730000,
44840x000a0000, 45550x000a0000,
@@ -4505,15 +4576,15 @@ static const unsigned int build_actionlist[5706] = {
45050x0005000b, 45760x0005000b,
45060xe004caae, 45770xe004caae,
45070xea000000, 45780xea000000,
45080x0005002f, 45790x00050030,
45090x00060013, 45800x00060013,
45100xe3730000, 45810xe3730000,
45110x000a0000, 45820x000a0000,
45120x01a0b002, 45830x01a0b002,
45130x0a000000, 45840x0a000000,
45140x0005009d, 45850x0005009f,
45150xea000000, 45860xea000000,
45160x0005002f, 45870x00050030,
45170x00000000, 45880x00000000,
45180xe004caae, 45890xe004caae,
45190xe20bb0ff, 45900xe20bb0ff,
@@ -4523,8 +4594,8 @@ static const unsigned int build_actionlist[5706] = {
45230xe3710000, 45940xe3710000,
45240x000a0000, 45950x000a0000,
45250x1a000000, 45960x1a000000,
45260x0005002c, 45970x0005002d,
45270x0006009d, 45980x0006009f,
45280xe5102000, 45990xe5102000,
45290x000d8180, 46000x000d8180,
45300xe51b3000, 46010xe51b3000,
@@ -4580,7 +4651,7 @@ static const unsigned int build_actionlist[5706] = {
45800x1a000000, 46510x1a000000,
45810x0005000d, 46520x0005000d,
45820xea000000, 46530xea000000,
45830x0005002d, 46540x0005002e,
45840x00000000, 46550x00000000,
45850xe004caae, 46560xe004caae,
45860xe20bb0ff, 46570xe20bb0ff,
@@ -4588,7 +4659,7 @@ static const unsigned int build_actionlist[5706] = {
45880xe3710000, 46590xe3710000,
45890x000a0000, 46600x000a0000,
45900x1a000000, 46610x1a000000,
45910x0005002e, 46620x0005002f,
45920xe5102000, 46630xe5102000,
45930x000d8180, 46640x000d8180,
45940xe5103000, 46650xe5103000,
@@ -4597,7 +4668,7 @@ static const unsigned int build_actionlist[5706] = {
45970xe15b0002, 46680xe15b0002,
45980x318320d1, 46690x318320d1,
45990x2a000000, 46700x2a000000,
46000x0005002e, 46710x0005002f,
46010xe5d6c000, 46720xe5d6c000,
46020xe3730000, 46730xe3730000,
46030x000a0000, 46740x000a0000,
@@ -4623,7 +4694,7 @@ static const unsigned int build_actionlist[5706] = {
46230x1a000000, 46940x1a000000,
46240x0005000b, 46950x0005000b,
46250xea000000, 46960xea000000,
46260x0005002e, 46970x0005002f,
46270x00000000, 46980x00000000,
46280xe004caae, 46990xe004caae,
46290xe004b6ae, 47000xe004b6ae,
@@ -4632,7 +4703,7 @@ static const unsigned int build_actionlist[5706] = {
46320xe3710000, 47030xe3710000,
46330x000a0000, 47040x000a0000,
46340x1a000000, 47050x1a000000,
46350x00050033, 47060x00050034,
46360xe3730000, 47070xe3730000,
46370x000a0000, 47080x000a0000,
46380x05101000, 47090x05101000,
@@ -4645,7 +4716,7 @@ static const unsigned int build_actionlist[5706] = {
46450xe1520003, 47160xe1520003,
46460x3591e004, 47170x3591e004,
46470x2a000000, 47180x2a000000,
46480x00050033, 47190x00050034,
46490xe5d6c000, 47200xe5d6c000,
46500xe37e0000, 47210xe37e0000,
46510x000a0000, 47220x000a0000,
@@ -4682,7 +4753,7 @@ static const unsigned int build_actionlist[5706] = {
46820xe004caae, 47530xe004caae,
46830xe004a2ae, 47540xe004a2ae,
46840xea000000, 47550xea000000,
46850x00050033, 47560x00050034,
46860x00060011, 47570x00060011,
46870x00000000, 47580x00000000,
46880xe5172000, 47590xe5172000,
@@ -4702,9 +4773,9 @@ static const unsigned int build_actionlist[5706] = {
47020x000a0000, 47730x000a0000,
47030x01a0b002, 47740x01a0b002,
47040x0a000000, 47750x0a000000,
47050x0005009e, 47760x000500a0,
47060xea000000, 47770xea000000,
47070x00050033, 47780x00050034,
47080x00000000, 47790x00000000,
47090xe004caae, 47800xe004caae,
47100xe20bb0ff, 47810xe20bb0ff,
@@ -4714,8 +4785,8 @@ static const unsigned int build_actionlist[5706] = {
47140xe3710000, 47850xe3710000,
47150x000a0000, 47860x000a0000,
47160x1a000000, 47870x1a000000,
47170x00050030, 47880x00050031,
47180x0006009e, 47890x000600a0,
47190xe5102000, 47900xe5102000,
47200x000d8180, 47910x000d8180,
47210xe51b3000, 47920xe51b3000,
@@ -4776,7 +4847,7 @@ static const unsigned int build_actionlist[5706] = {
47760x1a000000, 48470x1a000000,
47770x0005000c, 48480x0005000c,
47780xea000000, 48490xea000000,
47790x00050031, 48500x00050032,
47800x0006000f, 48510x0006000f,
47810xe1b0e002, 48520xe1b0e002,
47820x1a000000, 48530x1a000000,
@@ -4796,7 +4867,7 @@ static const unsigned int build_actionlist[5706] = {
47960xe3110000, 48670xe3110000,
47970x000a0000, 48680x000a0000,
47980x0a000000, 48690x0a000000,
47990x00050031, 48700x00050032,
48000x00060010, 48710x00060010,
48010xe3e03000, 48720xe3e03000,
48020x000a0000, 48730x000a0000,
@@ -4804,7 +4875,7 @@ static const unsigned int build_actionlist[5706] = {
48040xe1a0100c, 48750xe1a0100c,
48050xe58d3004, 48760xe58d3004,
48060xeb000000, 48770xeb000000,
48070x00030038, 48780x0003003a,
48080xe5189000, 48790xe5189000,
48090x000d8180, 48800x000d8180,
48100xe18920da, 48810xe18920da,
@@ -4832,7 +4903,7 @@ static const unsigned int build_actionlist[5706] = {
48320xe3710000, 49030xe3710000,
48330x000a0000, 49040x000a0000,
48340x1a000000, 49050x1a000000,
48350x00050032, 49060x00050033,
48360xe5102000, 49070xe5102000,
48370x000d8180, 49080x000d8180,
48380xe510c000, 49090xe510c000,
@@ -4841,7 +4912,7 @@ static const unsigned int build_actionlist[5706] = {
48410xe15b0002, 49120xe15b0002,
48420x31a120dc, 49130x31a120dc,
48430x2a000000, 49140x2a000000,
48440x00050032, 49150x00050033,
48450xe5d6c000, 49160xe5d6c000,
48460xe3730000, 49170xe3730000,
48470x000a0000, 49180x000a0000,
@@ -4877,7 +4948,7 @@ static const unsigned int build_actionlist[5706] = {
48770xe516e004, 49480xe516e004,
48780xe004a2ae, 49490xe004a2ae,
48790xea000000, 49500xea000000,
48800x00050032, 49510x00050033,
48810x00060011, 49520x00060011,
48820xe5172000, 49530xe5172000,
48830x000d8180, 49540x000d8180,
@@ -4936,7 +5007,7 @@ static const unsigned int build_actionlist[5706] = {
49360xe1a00008, 50070xe1a00008,
49370xe58d6008, 50080xe58d6008,
49380xeb000000, 50090xeb000000,
49390x00030039, 50100x0003003b,
49400x00000000, 50110x00000000,
49410xe5189000, 50120xe5189000,
49420x000d8180, 50130x000d8180,
@@ -4961,10 +5032,10 @@ static const unsigned int build_actionlist[5706] = {
49610xe004b6ae, 50320xe004b6ae,
49620xe08bb000, 50330xe08bb000,
49630xea000000, 50340xea000000,
49640x0005009f, 50350x000500a1,
49650x00000000, 50360x00000000,
49660xe004b6ae, 50370xe004b6ae,
49670x0006009f, 50380x000600a1,
49680xe1a0c009, 50390xe1a0c009,
49690xe1a920da, 50400xe1a920da,
49700xe24bb008, 50410xe24bb008,
@@ -4986,19 +5057,19 @@ static const unsigned int build_actionlist[5706] = {
49860xe59d0004, 50570xe59d0004,
49870xe080b18b, 50580xe080b18b,
49880xea000000, 50590xea000000,
49890x000500a0, 50600x000500a2,
49900x00000000, 50610x00000000,
49910xe1a0b18b, 50620xe1a0b18b,
49920x000600a0, 50630x000600a2,
49930xe1aa20d9, 50640xe1aa20d9,
49940xe24bb008, 50650xe24bb008,
49950xe28aa008, 50660xe28aa008,
49960xe3730000, 50670xe3730000,
49970x000a0000, 50680x000a0000,
49980x1a000000, 50690x1a000000,
49990x00050041, 50700x00050042,
50000xe5196004, 50710xe5196004,
50010x00060042, 50720x00060043,
50020xe3a0c000, 50730xe3a0c000,
50030xe5523000, 50740xe5523000,
50040x000d8180, 50750x000d8180,
@@ -5265,12 +5336,12 @@ static const unsigned int build_actionlist[5706] = {
52650xe089a00a, 53360xe089a00a,
52660xe080b18b, 53370xe080b18b,
52670xea000000, 53380xea000000,
52680x000500a1, 53390x000500a3,
52690x00000000, 53400x00000000,
52700xe5196004, 53410xe5196004,
52710xe1a0b18b, 53420xe1a0b18b,
52720xe089a00a, 53430xe089a00a,
52730x000600a1, 53440x000600a3,
52740xe58db004, 53450xe58db004,
52750x0006000b, 53460x0006000b,
52760xe2160000, 53470xe2160000,
@@ -5278,7 +5349,7 @@ static const unsigned int build_actionlist[5706] = {
52780xe2261000, 53490xe2261000,
52790x000a0000, 53500x000a0000,
52800x1a000000, 53510x1a000000,
52810x000500a2, 53520x000500a4,
52820x00060017, 53530x00060017,
52830xe516e004, 53540xe516e004,
52840xe25b3008, 53550xe25b3008,
@@ -5320,9 +5391,9 @@ static const unsigned int build_actionlist[5706] = {
53200xe509100c, 53910xe509100c,
53210xea000000, 53920xea000000,
53220x0005000f, 53930x0005000f,
53230x000600a3, 53940x000600a5,
53240xe089a00a, 53950xe089a00a,
53250x000600a2, 53960x000600a4,
53260xe3110000, 53970xe3110000,
53270x000a0000, 53980x000a0000,
53280x1a000000, 53990x1a000000,
@@ -5341,7 +5412,7 @@ static const unsigned int build_actionlist[5706] = {
53410x000a0000, 54120x000a0000,
53420x0516e004, 54130x0516e004,
53430x1a000000, 54140x1a000000,
53440x000500a3, 54150x000500a5,
53450x00000000, 54160x00000000,
53460xe18900da, 54170xe18900da,
53470x00000000, 54180x00000000,
@@ -5385,7 +5456,7 @@ static const unsigned int build_actionlist[5706] = {
53850x000a0000, 54560x000a0000,
53860xe18710b0, 54570xe18710b0,
53870x3a000000, 54580x3a000000,
53880x00050091, 54590x00050092,
53890x00000000, 54600x00000000,
53900xe1aa00d9, 54610xe1aa00d9,
53910x00000000, 54620x00000000,
@@ -5403,7 +5474,7 @@ static const unsigned int build_actionlist[5706] = {
54030x037c0000, 54740x037c0000,
54040x000a0000, 54750x000a0000,
54050x1a000000, 54760x1a000000,
54060x00050043, 54770x00050044,
54070xe3530000, 54780xe3530000,
54080xba000000, 54790xba000000,
54090x00050004, 54800x00050004,
@@ -5466,7 +5537,7 @@ static const unsigned int build_actionlist[5706] = {
54660x337c0000, 55370x337c0000,
54670x000a0000, 55380x000a0000,
54680x2a000000, 55390x2a000000,
54690x00050043, 55400x00050044,
54700xe35c0000, 55410xe35c0000,
54710xe1ca00f0, 55420xe1ca00f0,
54720xe1ca01f8, 55430xe1ca01f8,
@@ -5524,7 +5595,7 @@ static const unsigned int build_actionlist[5706] = {
55240x000a0000, 55950x000a0000,
55250xe18710b0, 55960xe18710b0,
55260x3a000000, 55970x3a000000,
55270x00050091, 55980x00050092,
55280x00000000, 55990x00000000,
55290xe1aa00d9, 56000xe1aa00d9,
55300x00000000, 56010x00000000,
@@ -5556,7 +5627,7 @@ static const unsigned int build_actionlist[5706] = {
55560x000a0000, 56270x000a0000,
55570xe18710b0, 56280xe18710b0,
55580x3a000000, 56290x3a000000,
55590x00050091, 56300x00050092,
55600x00000000, 56310x00000000,
55610xe5d6c000, 56320xe5d6c000,
55620xe496e004, 56330xe496e004,
@@ -5597,7 +5668,7 @@ static const unsigned int build_actionlist[5706] = {
55970x000a0000, 56680x000a0000,
55980xe18710b0, 56690xe18710b0,
55990x3a000000, 56700x3a000000,
56000x00050093, 56710x00050094,
56010x00000000, 56720x00000000,
56020xe5180000, 56730xe5180000,
56030x000d8180, 56740x000d8180,
@@ -5742,6 +5813,7 @@ enum {
5742 GLOB_vmeta_call, 5813 GLOB_vmeta_call,
5743 GLOB_vm_call_dispatch_f, 5814 GLOB_vm_call_dispatch_f,
5744 GLOB_vm_cpcall, 5815 GLOB_vm_cpcall,
5816 GLOB_cont_ffi_callback,
5745 GLOB_vm_call_tail, 5817 GLOB_vm_call_tail,
5746 GLOB_cont_cat, 5818 GLOB_cont_cat,
5747 GLOB_BC_CAT_Z, 5819 GLOB_BC_CAT_Z,
@@ -5856,6 +5928,7 @@ enum {
5856 GLOB_vm_mod, 5928 GLOB_vm_mod,
5857 GLOB_vm_modi, 5929 GLOB_vm_modi,
5858 GLOB_vm_foldarith, 5930 GLOB_vm_foldarith,
5931 GLOB_vm_ffi_callback,
5859 GLOB_vm_ffi_call, 5932 GLOB_vm_ffi_call,
5860 GLOB_BC_ISEQN_Z, 5933 GLOB_BC_ISEQN_Z,
5861 GLOB_BC_ISNEN_Z, 5934 GLOB_BC_ISNEN_Z,
@@ -5889,6 +5962,7 @@ static const char *const globnames[] = {
5889 "vmeta_call", 5962 "vmeta_call",
5890 "vm_call_dispatch_f", 5963 "vm_call_dispatch_f",
5891 "vm_cpcall", 5964 "vm_cpcall",
5965 "cont_ffi_callback",
5892 "vm_call_tail", 5966 "vm_call_tail",
5893 "cont_cat", 5967 "cont_cat",
5894 "BC_CAT_Z", 5968 "BC_CAT_Z",
@@ -6003,6 +6077,7 @@ static const char *const globnames[] = {
6003 "vm_mod", 6077 "vm_mod",
6004 "vm_modi", 6078 "vm_modi",
6005 "vm_foldarith", 6079 "vm_foldarith",
6080 "vm_ffi_callback",
6006 "vm_ffi_call", 6081 "vm_ffi_call",
6007 "BC_ISEQN_Z", 6082 "BC_ISEQN_Z",
6008 "BC_ISNEN_Z", 6083 "BC_ISNEN_Z",
@@ -6064,6 +6139,8 @@ static const char *const extnames[] = {
6064 "__aeabi_ddiv", 6139 "__aeabi_ddiv",
6065 "__aeabi_dadd", 6140 "__aeabi_dadd",
6066 "__aeabi_dsub", 6141 "__aeabi_dsub",
6142 "lj_ccallback_enter",
6143 "lj_ccallback_leave",
6067 "__aeabi_cdcmpeq", 6144 "__aeabi_cdcmpeq",
6068 "lj_meta_cat", 6145 "lj_meta_cat",
6069 "lj_gc_barrieruv", 6146 "lj_gc_barrieruv",
@@ -6108,329 +6185,349 @@ static void build_subroutines(BuildCtx *ctx)
6108 dasm_put(Dst, 108, ~CFRAME_RAWMASK, Dt1(->base), Dt1(->glref), ~LJ_TFALSE, GG_G2DISP, LJ_VMST_INTERP, DISPATCH_GL(vmstate), LUA_MINSTACK, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->field_pc), Dt1(->glref)); 6185 dasm_put(Dst, 108, ~CFRAME_RAWMASK, Dt1(->base), Dt1(->glref), ~LJ_TFALSE, GG_G2DISP, LJ_VMST_INTERP, DISPATCH_GL(vmstate), LUA_MINSTACK, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->field_pc), Dt1(->glref));
6109 dasm_put(Dst, 173, GG_G2DISP, FRAME_CP, CFRAME_RESUME, Dt1(->status), Dt1(->cframe), Dt1(->base), Dt1(->top), Dt1(->status), LJ_VMST_INTERP, FRAME_TYPE, DISPATCH_GL(vmstate), FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe)); 6186 dasm_put(Dst, 173, GG_G2DISP, FRAME_CP, CFRAME_RESUME, Dt1(->status), Dt1(->cframe), Dt1(->base), Dt1(->top), Dt1(->status), LJ_VMST_INTERP, FRAME_TYPE, DISPATCH_GL(vmstate), FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe));
6110 dasm_put(Dst, 238, Dt1(->glref), GG_G2DISP, Dt1(->base), Dt1(->top), LJ_VMST_INTERP, DISPATCH_GL(vmstate), -LJ_TFUNC, Dt7(->field_pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), Dt1(->glref), FRAME_CP, GG_G2DISP); 6187 dasm_put(Dst, 238, Dt1(->glref), GG_G2DISP, Dt1(->base), Dt1(->top), LJ_VMST_INTERP, DISPATCH_GL(vmstate), -LJ_TFUNC, Dt7(->field_pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), Dt1(->glref), FRAME_CP, GG_G2DISP);
6111 dasm_put(Dst, 307, Dt7(->field_pc), ~LJ_TNIL, PC2PROTO(k), Dt1(->base), -DISPATCH_GL(tmptv), ~LJ_TTAB, ~LJ_TSTR, ~LJ_TISNUM); 6188 dasm_put(Dst, 307);
6112 dasm_put(Dst, 378, Dt1(->base)); 6189#if LJ_HASFFI
6190 dasm_put(Dst, 312);
6191#endif
6192 dasm_put(Dst, 314, Dt7(->field_pc), ~LJ_TNIL);
6193#if LJ_HASFFI
6194 dasm_put(Dst, 322);
6195#endif
6196 dasm_put(Dst, 325, PC2PROTO(k));
6197#if LJ_HASFFI
6198 dasm_put(Dst, 329);
6199#endif
6200 dasm_put(Dst, 338, Dt1(->base), -DISPATCH_GL(tmptv), ~LJ_TTAB, ~LJ_TSTR, ~LJ_TISNUM, Dt1(->base));
6113 if (LJ_TARGET_OSX) { 6201 if (LJ_TARGET_OSX) {
6114 dasm_put(Dst, 388, Dt1(->base)); 6202 dasm_put(Dst, 395, Dt1(->base));
6115 } 6203 }
6116 dasm_put(Dst, 391, FRAME_CONT, Dt1(->top), -DISPATCH_GL(tmptv), ~LJ_TTAB, ~LJ_TSTR, ~LJ_TISNUM, Dt1(->base)); 6204 dasm_put(Dst, 398, FRAME_CONT, Dt1(->top), -DISPATCH_GL(tmptv), ~LJ_TTAB, ~LJ_TSTR, ~LJ_TISNUM, Dt1(->base));
6117 if (LJ_TARGET_OSX) { 6205 if (LJ_TARGET_OSX) {
6118 dasm_put(Dst, 453, Dt1(->base)); 6206 dasm_put(Dst, 460, Dt1(->base));
6119 } 6207 }
6120 dasm_put(Dst, 456, FRAME_CONT, Dt1(->top), Dt1(->base)); 6208 dasm_put(Dst, 463, FRAME_CONT, Dt1(->top), Dt1(->base));
6121 if (LJ_TARGET_OSX) { 6209 if (LJ_TARGET_OSX) {
6122 dasm_put(Dst, 492, Dt1(->base)); 6210 dasm_put(Dst, 499, Dt1(->base));
6123 } 6211 }
6124 dasm_put(Dst, 495, ~LJ_TTRUE, -LJ_TFALSE, Dt1(->base)); 6212 dasm_put(Dst, 502, ~LJ_TTRUE, -LJ_TFALSE, Dt1(->base));
6125#if LJ_HASFFI 6213#if LJ_HASFFI
6126 dasm_put(Dst, 542, Dt1(->base)); 6214 dasm_put(Dst, 549, Dt1(->base));
6127#endif 6215#endif
6128 dasm_put(Dst, 553, Dt1(->base)); 6216 dasm_put(Dst, 560, Dt1(->base));
6129 if (LJ_TARGET_OSX) { 6217 if (LJ_TARGET_OSX) {
6130 dasm_put(Dst, 590, Dt1(->base)); 6218 dasm_put(Dst, 597, Dt1(->base));
6131 } 6219 }
6132 dasm_put(Dst, 593, FRAME_CONT, Dt1(->base)); 6220 dasm_put(Dst, 600, FRAME_CONT, Dt1(->base));
6133 if (LJ_TARGET_OSX) { 6221 if (LJ_TARGET_OSX) {
6134 dasm_put(Dst, 614, Dt1(->base)); 6222 dasm_put(Dst, 621, Dt1(->base));
6135 } 6223 }
6136#ifdef LUAJIT_ENABLE_LUA52COMPAT 6224#ifdef LUAJIT_ENABLE_LUA52COMPAT
6137 dasm_put(Dst, 617);
6138#else
6139 dasm_put(Dst, 624); 6225 dasm_put(Dst, 624);
6226#else
6227 dasm_put(Dst, 631);
6140#endif 6228#endif
6141 dasm_put(Dst, 627, Dt1(->base)); 6229 dasm_put(Dst, 634, Dt1(->base));
6142 if (LJ_TARGET_OSX) { 6230 if (LJ_TARGET_OSX) {
6143 dasm_put(Dst, 635); 6231 dasm_put(Dst, 642);
6144 } 6232 }
6145 dasm_put(Dst, 637); 6233 dasm_put(Dst, 644);
6146 if (LJ_TARGET_OSX) { 6234 if (LJ_TARGET_OSX) {
6147 dasm_put(Dst, 640); 6235 dasm_put(Dst, 647);
6148 } 6236 }
6149 dasm_put(Dst, 642, Dt7(->field_pc), Dt1(->base)); 6237 dasm_put(Dst, 649, Dt7(->field_pc), Dt1(->base));
6150 if (LJ_TARGET_OSX) { 6238 if (LJ_TARGET_OSX) {
6151 dasm_put(Dst, 663, Dt1(->base)); 6239 dasm_put(Dst, 670, Dt1(->base));
6152 } 6240 }
6153 dasm_put(Dst, 666, Dt1(->base)); 6241 dasm_put(Dst, 673, Dt1(->base));
6154 if (LJ_TARGET_OSX) { 6242 if (LJ_TARGET_OSX) {
6155 dasm_put(Dst, 680, Dt1(->base)); 6243 dasm_put(Dst, 687, Dt1(->base));
6156 } 6244 }
6157#if LJ_HASJIT 6245#if LJ_HASJIT
6158 dasm_put(Dst, 683); 6246 dasm_put(Dst, 690);
6159#endif 6247#endif
6160 dasm_put(Dst, 685); 6248 dasm_put(Dst, 692);
6161#if LJ_HASJIT 6249#if LJ_HASJIT
6162 dasm_put(Dst, 687, BC_JFORI); 6250 dasm_put(Dst, 694, BC_JFORI);
6163#endif 6251#endif
6164 dasm_put(Dst, 690); 6252 dasm_put(Dst, 697);
6165#if LJ_HASJIT 6253#if LJ_HASJIT
6166 dasm_put(Dst, 693, BC_JFORI); 6254 dasm_put(Dst, 700, BC_JFORI);
6167#endif 6255#endif
6168 dasm_put(Dst, 696, BC_FORI, -LJ_TTRUE, -LJ_TISNUM, ~LJ_TISNUM, (int)(offsetof(GCfuncC, upvalue)>>3)-1, -LJ_TTAB, -LJ_TUDATA, Dt6(->metatable)); 6256 dasm_put(Dst, 703, BC_FORI, -LJ_TTRUE, -LJ_TISNUM, ~LJ_TISNUM, (int)(offsetof(GCfuncC, upvalue)>>3)-1, -LJ_TTAB, -LJ_TUDATA, Dt6(->metatable));
6169 dasm_put(Dst, 753, ~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); 6257 dasm_put(Dst, 760, ~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);
6170 dasm_put(Dst, 801, ~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); 6258 dasm_put(Dst, 808, ~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);
6171 dasm_put(Dst, 853); 6259 dasm_put(Dst, 860);
6172 if (LJ_TARGET_OSX) { 6260 if (LJ_TARGET_OSX) {
6173 dasm_put(Dst, 858); 6261 dasm_put(Dst, 865);
6174 } 6262 }
6175 dasm_put(Dst, 860); 6263 dasm_put(Dst, 867);
6176 if (LJ_TARGET_OSX) { 6264 if (LJ_TARGET_OSX) {
6177 dasm_put(Dst, 863); 6265 dasm_put(Dst, 870);
6178 } 6266 }
6179 dasm_put(Dst, 865, -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); 6267 dasm_put(Dst, 872, -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);
6180 dasm_put(Dst, 917, ~LJ_TNIL, -LJ_TTAB, Dt1(->base), Dt1(->top)); 6268 dasm_put(Dst, 924, ~LJ_TNIL, -LJ_TTAB, Dt1(->base), Dt1(->top));
6181 if (LJ_TARGET_OSX) { 6269 if (LJ_TARGET_OSX) {
6182 dasm_put(Dst, 940, Dt1(->base)); 6270 dasm_put(Dst, 947, Dt1(->base));
6183 } 6271 }
6184 dasm_put(Dst, 943, ~LJ_TNIL, (2+1)*8, -LJ_TTAB); 6272 dasm_put(Dst, 950, ~LJ_TNIL, (2+1)*8, -LJ_TTAB);
6185#ifdef LUAJIT_ENABLE_LUA52COMPAT 6273#ifdef LUAJIT_ENABLE_LUA52COMPAT
6186 dasm_put(Dst, 966, Dt6(->metatable)); 6274 dasm_put(Dst, 973, Dt6(->metatable));
6187#endif 6275#endif
6188 dasm_put(Dst, 969, Dt8(->upvalue[0])); 6276 dasm_put(Dst, 976, Dt8(->upvalue[0]));
6189#ifdef LUAJIT_ENABLE_LUA52COMPAT 6277#ifdef LUAJIT_ENABLE_LUA52COMPAT
6190 dasm_put(Dst, 973); 6278 dasm_put(Dst, 980);
6191#endif 6279#endif
6192 dasm_put(Dst, 977, ~LJ_TNIL, (3+1)*8, -LJ_TTAB, -LJ_TISNUM, Dt6(->asize), Dt6(->array), (0+1)*8, -LJ_TNIL, (2+1)*8, Dt6(->hmask)); 6280 dasm_put(Dst, 984, ~LJ_TNIL, (3+1)*8, -LJ_TTAB, -LJ_TISNUM, Dt6(->asize), Dt6(->array), (0+1)*8, -LJ_TNIL, (2+1)*8, Dt6(->hmask));
6193 if (LJ_TARGET_OSX) { 6281 if (LJ_TARGET_OSX) {
6194 dasm_put(Dst, 1027); 6282 dasm_put(Dst, 1034);
6195 } 6283 }
6196 dasm_put(Dst, 1029); 6284 dasm_put(Dst, 1036);
6197 if (LJ_TARGET_OSX) { 6285 if (LJ_TARGET_OSX) {
6198 dasm_put(Dst, 1032); 6286 dasm_put(Dst, 1039);
6199 } 6287 }
6200 dasm_put(Dst, 1034, -LJ_TTAB); 6288 dasm_put(Dst, 1041, -LJ_TTAB);
6201#ifdef LUAJIT_ENABLE_LUA52COMPAT 6289#ifdef LUAJIT_ENABLE_LUA52COMPAT
6202 dasm_put(Dst, 1050, Dt6(->metatable)); 6290 dasm_put(Dst, 1057, Dt6(->metatable));
6203#endif 6291#endif
6204 dasm_put(Dst, 1053, Dt8(->upvalue[0])); 6292 dasm_put(Dst, 1060, Dt8(->upvalue[0]));
6205#ifdef LUAJIT_ENABLE_LUA52COMPAT 6293#ifdef LUAJIT_ENABLE_LUA52COMPAT
6206 dasm_put(Dst, 1057); 6294 dasm_put(Dst, 1064);
6207#endif 6295#endif
6208 dasm_put(Dst, 1061, ~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); 6296 dasm_put(Dst, 1068, ~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);
6209 dasm_put(Dst, 1120, 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); 6297 dasm_put(Dst, 1127, 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);
6210 dasm_put(Dst, 1179, Dt1(->base), Dt1(->maxstack), Dt1(->top), ~LJ_TTRUE, FRAME_TYPE, ~LJ_TFALSE, (2+1)*8, Dt1(->top)); 6298 dasm_put(Dst, 1186, Dt1(->base), Dt1(->maxstack), Dt1(->top), ~LJ_TTRUE, FRAME_TYPE, ~LJ_TFALSE, (2+1)*8, Dt1(->top));
6211 dasm_put(Dst, 1239, 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); 6299 dasm_put(Dst, 1246, 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);
6212 dasm_put(Dst, 1295, Dt1(->base), Dt1(->maxstack), Dt1(->top), FRAME_TYPE, Dt1(->cframe), Dt1(->base), CFRAME_RESUME, Dt1(->top)); 6300 dasm_put(Dst, 1302, Dt1(->base), Dt1(->maxstack), Dt1(->top), FRAME_TYPE, Dt1(->cframe), Dt1(->base), CFRAME_RESUME, Dt1(->top));
6213 dasm_put(Dst, 1354, LUA_YIELD, Dt1(->cframe), Dt1(->status), -LJ_TISNUM, ~LJ_TISNUM, ~LJ_TISNUM); 6301 dasm_put(Dst, 1361, LUA_YIELD, Dt1(->cframe), Dt1(->status), -LJ_TISNUM, ~LJ_TISNUM, ~LJ_TISNUM);
6214 dasm_put(Dst, 1420, -LJ_TISNUM, ~LJ_TISNUM, ~LJ_TISNUM); 6302 dasm_put(Dst, 1427, -LJ_TISNUM, ~LJ_TISNUM, ~LJ_TISNUM);
6215 dasm_put(Dst, 1484, -LJ_TISNUM, (1+1)*8, FRAME_TYPE, ~LJ_TNIL); 6303 dasm_put(Dst, 1491, -LJ_TISNUM, (1+1)*8, FRAME_TYPE, ~LJ_TNIL);
6216 dasm_put(Dst, 1548, -LJ_TISNUM); 6304 dasm_put(Dst, 1555, -LJ_TISNUM);
6217 if (LJ_TARGET_OSX) { 6305 if (LJ_TARGET_OSX) {
6218 dasm_put(Dst, 1553); 6306 dasm_put(Dst, 1560);
6219 } 6307 }
6220 dasm_put(Dst, 1555); 6308 dasm_put(Dst, 1562);
6221 if (LJ_TARGET_OSX) { 6309 if (LJ_TARGET_OSX) {
6222 dasm_put(Dst, 1558); 6310 dasm_put(Dst, 1565);
6223 } 6311 }
6224 dasm_put(Dst, 1560, -LJ_TISNUM); 6312 dasm_put(Dst, 1567, -LJ_TISNUM);
6225 if (LJ_TARGET_OSX) { 6313 if (LJ_TARGET_OSX) {
6226 dasm_put(Dst, 1572); 6314 dasm_put(Dst, 1579);
6227 } 6315 }
6228 dasm_put(Dst, 1574); 6316 dasm_put(Dst, 1581);
6229 if (LJ_TARGET_OSX) { 6317 if (LJ_TARGET_OSX) {
6230 dasm_put(Dst, 1577); 6318 dasm_put(Dst, 1584);
6231 } 6319 }
6232 dasm_put(Dst, 1579, -LJ_TISNUM); 6320 dasm_put(Dst, 1586, -LJ_TISNUM);
6233 if (LJ_TARGET_OSX) { 6321 if (LJ_TARGET_OSX) {
6234 dasm_put(Dst, 1591); 6322 dasm_put(Dst, 1598);
6235 } 6323 }
6236 dasm_put(Dst, 1593); 6324 dasm_put(Dst, 1600);
6237 if (LJ_TARGET_OSX) { 6325 if (LJ_TARGET_OSX) {
6238 dasm_put(Dst, 1596); 6326 dasm_put(Dst, 1603);
6239 } 6327 }
6240 dasm_put(Dst, 1598, -LJ_TISNUM); 6328 dasm_put(Dst, 1605, -LJ_TISNUM);
6241 if (LJ_TARGET_OSX) { 6329 if (LJ_TARGET_OSX) {
6242 dasm_put(Dst, 1610); 6330 dasm_put(Dst, 1617);
6243 } 6331 }
6244 dasm_put(Dst, 1612); 6332 dasm_put(Dst, 1619);
6245 if (LJ_TARGET_OSX) { 6333 if (LJ_TARGET_OSX) {
6246 dasm_put(Dst, 1615); 6334 dasm_put(Dst, 1622);
6247 } 6335 }
6248 dasm_put(Dst, 1617, -LJ_TISNUM); 6336 dasm_put(Dst, 1624, -LJ_TISNUM);
6249 if (LJ_TARGET_OSX) { 6337 if (LJ_TARGET_OSX) {
6250 dasm_put(Dst, 1629); 6338 dasm_put(Dst, 1636);
6251 } 6339 }
6252 dasm_put(Dst, 1631); 6340 dasm_put(Dst, 1638);
6253 if (LJ_TARGET_OSX) { 6341 if (LJ_TARGET_OSX) {
6254 dasm_put(Dst, 1634); 6342 dasm_put(Dst, 1641);
6255 } 6343 }
6256 dasm_put(Dst, 1636, -LJ_TISNUM); 6344 dasm_put(Dst, 1643, -LJ_TISNUM);
6257 if (LJ_TARGET_OSX) { 6345 if (LJ_TARGET_OSX) {
6258 dasm_put(Dst, 1648); 6346 dasm_put(Dst, 1655);
6259 } 6347 }
6260 dasm_put(Dst, 1650); 6348 dasm_put(Dst, 1657);
6261 if (LJ_TARGET_OSX) { 6349 if (LJ_TARGET_OSX) {
6262 dasm_put(Dst, 1653); 6350 dasm_put(Dst, 1660);
6263 } 6351 }
6264 dasm_put(Dst, 1655, -LJ_TISNUM); 6352 dasm_put(Dst, 1662, -LJ_TISNUM);
6265 if (LJ_TARGET_OSX) { 6353 if (LJ_TARGET_OSX) {
6266 dasm_put(Dst, 1667); 6354 dasm_put(Dst, 1674);
6267 } 6355 }
6268 dasm_put(Dst, 1669); 6356 dasm_put(Dst, 1676);
6269 if (LJ_TARGET_OSX) { 6357 if (LJ_TARGET_OSX) {
6270 dasm_put(Dst, 1672); 6358 dasm_put(Dst, 1679);
6271 } 6359 }
6272 dasm_put(Dst, 1674, -LJ_TISNUM); 6360 dasm_put(Dst, 1681, -LJ_TISNUM);
6273 if (LJ_TARGET_OSX) { 6361 if (LJ_TARGET_OSX) {
6274 dasm_put(Dst, 1686); 6362 dasm_put(Dst, 1693);
6275 } 6363 }
6276 dasm_put(Dst, 1688); 6364 dasm_put(Dst, 1695);
6277 if (LJ_TARGET_OSX) { 6365 if (LJ_TARGET_OSX) {
6278 dasm_put(Dst, 1691); 6366 dasm_put(Dst, 1698);
6279 } 6367 }
6280 dasm_put(Dst, 1693, -LJ_TISNUM); 6368 dasm_put(Dst, 1700, -LJ_TISNUM);
6281 if (LJ_TARGET_OSX) { 6369 if (LJ_TARGET_OSX) {
6282 dasm_put(Dst, 1705); 6370 dasm_put(Dst, 1712);
6283 } 6371 }
6284 dasm_put(Dst, 1707); 6372 dasm_put(Dst, 1714);
6285 if (LJ_TARGET_OSX) { 6373 if (LJ_TARGET_OSX) {
6286 dasm_put(Dst, 1710); 6374 dasm_put(Dst, 1717);
6287 } 6375 }
6288 dasm_put(Dst, 1712, -LJ_TISNUM); 6376 dasm_put(Dst, 1719, -LJ_TISNUM);
6289 if (LJ_TARGET_OSX) { 6377 if (LJ_TARGET_OSX) {
6290 dasm_put(Dst, 1724); 6378 dasm_put(Dst, 1731);
6291 } 6379 }
6292 dasm_put(Dst, 1726); 6380 dasm_put(Dst, 1733);
6293 if (LJ_TARGET_OSX) { 6381 if (LJ_TARGET_OSX) {
6294 dasm_put(Dst, 1729); 6382 dasm_put(Dst, 1736);
6295 } 6383 }
6296 dasm_put(Dst, 1731, -LJ_TISNUM); 6384 dasm_put(Dst, 1738, -LJ_TISNUM);
6297 if (LJ_TARGET_OSX) { 6385 if (LJ_TARGET_OSX) {
6298 dasm_put(Dst, 1743); 6386 dasm_put(Dst, 1750);
6299 } 6387 }
6300 dasm_put(Dst, 1745); 6388 dasm_put(Dst, 1752);
6301 if (LJ_TARGET_OSX) { 6389 if (LJ_TARGET_OSX) {
6302 dasm_put(Dst, 1748); 6390 dasm_put(Dst, 1755);
6303 } 6391 }
6304 dasm_put(Dst, 1750, -LJ_TISNUM); 6392 dasm_put(Dst, 1757, -LJ_TISNUM);
6305 if (LJ_TARGET_OSX) { 6393 if (LJ_TARGET_OSX) {
6306 dasm_put(Dst, 1762); 6394 dasm_put(Dst, 1769);
6307 } 6395 }
6308 dasm_put(Dst, 1764); 6396 dasm_put(Dst, 1771);
6309 if (LJ_TARGET_OSX) { 6397 if (LJ_TARGET_OSX) {
6310 dasm_put(Dst, 1767); 6398 dasm_put(Dst, 1774);
6311 } 6399 }
6312 dasm_put(Dst, 1769, -LJ_TISNUM); 6400 dasm_put(Dst, 1776, -LJ_TISNUM);
6313 if (LJ_TARGET_OSX) { 6401 if (LJ_TARGET_OSX) {
6314 dasm_put(Dst, 1781); 6402 dasm_put(Dst, 1788);
6315 } 6403 }
6316 dasm_put(Dst, 1783); 6404 dasm_put(Dst, 1790);
6317 if (LJ_TARGET_OSX) { 6405 if (LJ_TARGET_OSX) {
6318 dasm_put(Dst, 1786); 6406 dasm_put(Dst, 1793);
6319 } 6407 }
6320 dasm_put(Dst, 1788, -LJ_TISNUM, -LJ_TISNUM); 6408 dasm_put(Dst, 1795, -LJ_TISNUM, -LJ_TISNUM);
6321 if (LJ_TARGET_OSX) { 6409 if (LJ_TARGET_OSX) {
6322 dasm_put(Dst, 1803); 6410 dasm_put(Dst, 1810);
6323 } 6411 }
6324 dasm_put(Dst, 1805); 6412 dasm_put(Dst, 1812);
6325 if (LJ_TARGET_OSX) { 6413 if (LJ_TARGET_OSX) {
6326 dasm_put(Dst, 1808); 6414 dasm_put(Dst, 1815);
6327 } 6415 }
6328 dasm_put(Dst, 1810, -LJ_TISNUM, -LJ_TISNUM); 6416 dasm_put(Dst, 1817, -LJ_TISNUM, -LJ_TISNUM);
6329 if (LJ_TARGET_OSX) { 6417 if (LJ_TARGET_OSX) {
6330 dasm_put(Dst, 1825); 6418 dasm_put(Dst, 1832);
6331 } 6419 }
6332 dasm_put(Dst, 1827); 6420 dasm_put(Dst, 1834);
6333 if (LJ_TARGET_OSX) { 6421 if (LJ_TARGET_OSX) {
6334 dasm_put(Dst, 1830); 6422 dasm_put(Dst, 1837);
6335 } 6423 }
6336 dasm_put(Dst, 1832, -LJ_TISNUM, -LJ_TISNUM); 6424 dasm_put(Dst, 1839, -LJ_TISNUM, -LJ_TISNUM);
6337 if (LJ_TARGET_OSX) { 6425 if (LJ_TARGET_OSX) {
6338 dasm_put(Dst, 1847); 6426 dasm_put(Dst, 1854);
6339 } 6427 }
6340 dasm_put(Dst, 1849); 6428 dasm_put(Dst, 1856);
6341 if (LJ_TARGET_OSX) { 6429 if (LJ_TARGET_OSX) {
6342 dasm_put(Dst, 1852); 6430 dasm_put(Dst, 1859);
6343 } 6431 }
6344 dasm_put(Dst, 1854, -LJ_TISNUM, Dt8(->upvalue[0]), -LJ_TISNUM, -LJ_TISNUM); 6432 dasm_put(Dst, 1861, -LJ_TISNUM, Dt8(->upvalue[0]), -LJ_TISNUM, -LJ_TISNUM);
6345 if (LJ_TARGET_OSX) { 6433 if (LJ_TARGET_OSX) {
6346 dasm_put(Dst, 1887); 6434 dasm_put(Dst, 1894);
6347 } 6435 }
6348 dasm_put(Dst, 1889); 6436 dasm_put(Dst, 1896);
6349 if (LJ_TARGET_OSX) { 6437 if (LJ_TARGET_OSX) {
6350 dasm_put(Dst, 1892); 6438 dasm_put(Dst, 1899);
6351 } 6439 }
6352 dasm_put(Dst, 1894, -LJ_TISNUM); 6440 dasm_put(Dst, 1901, -LJ_TISNUM);
6353 if (LJ_TARGET_OSX) { 6441 if (LJ_TARGET_OSX) {
6354 dasm_put(Dst, 1907); 6442 dasm_put(Dst, 1914);
6355 } 6443 }
6356 dasm_put(Dst, 1909); 6444 dasm_put(Dst, 1916);
6357 if (LJ_TARGET_OSX) { 6445 if (LJ_TARGET_OSX) {
6358 dasm_put(Dst, 1912); 6446 dasm_put(Dst, 1919);
6359 } 6447 }
6360 dasm_put(Dst, 1914, ~LJ_TISNUM, (2+1)*8, -LJ_TISNUM); 6448 dasm_put(Dst, 1921, ~LJ_TISNUM, (2+1)*8, -LJ_TISNUM);
6361 if (LJ_TARGET_OSX) { 6449 if (LJ_TARGET_OSX) {
6362 dasm_put(Dst, 1936); 6450 dasm_put(Dst, 1943);
6363 } 6451 }
6364 dasm_put(Dst, 1938); 6452 dasm_put(Dst, 1945);
6365 if (LJ_TARGET_OSX) { 6453 if (LJ_TARGET_OSX) {
6366 dasm_put(Dst, 1941); 6454 dasm_put(Dst, 1948);
6367 } 6455 }
6368 dasm_put(Dst, 1943, (2+1)*8, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM); 6456 dasm_put(Dst, 1950, (2+1)*8, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
6369 dasm_put(Dst, 1994, -LJ_TISNUM, -LJ_TISNUM); 6457 dasm_put(Dst, 2001, -LJ_TISNUM, -LJ_TISNUM);
6370 dasm_put(Dst, 2048, -LJ_TISNUM, -LJ_TSTR, Dt5(->len), ~LJ_TISNUM, -LJ_TSTR, Dt5(->len), Dt5([1])); 6458 dasm_put(Dst, 2055, -LJ_TISNUM, -LJ_TSTR, Dt5(->len), ~LJ_TISNUM, -LJ_TSTR, Dt5(->len), Dt5([1]));
6371 dasm_put(Dst, 2102, ~LJ_TISNUM, (0+1)*8, (1+1)*8, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TISNUM, Dt1(->base), Dt1(->base), ~LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 6459 dasm_put(Dst, 2109, ~LJ_TISNUM, (0+1)*8, (1+1)*8, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TISNUM, Dt1(->base), Dt1(->base), ~LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
6372 dasm_put(Dst, 2161, -LJ_TISNUM, -LJ_TSTR, Dt5(->len), -LJ_TISNUM, sizeof(GCstr)-1, -DISPATCH_GL(strempty), ~LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, -LJ_TISNUM, Dt5(->len)); 6460 dasm_put(Dst, 2168, -LJ_TISNUM, -LJ_TSTR, Dt5(->len), -LJ_TISNUM, sizeof(GCstr)-1, -DISPATCH_GL(strempty), ~LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, -LJ_TISNUM, Dt5(->len));
6373 dasm_put(Dst, 2223, DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), Dt5([1]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr)); 6461 dasm_put(Dst, 2230, DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), Dt5([1]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr));
6374 dasm_put(Dst, 2276, 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)); 6462 dasm_put(Dst, 2283, 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));
6375 dasm_put(Dst, 2336, -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr), -LJ_TTAB); 6463 dasm_put(Dst, 2343, -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr), -LJ_TTAB);
6376 if (LJ_TARGET_OSX) { 6464 if (LJ_TARGET_OSX) {
6377 dasm_put(Dst, 2374); 6465 dasm_put(Dst, 2381);
6378 } 6466 }
6379 dasm_put(Dst, 2376); 6467 dasm_put(Dst, 2383);
6380 if (LJ_TARGET_OSX) { 6468 if (LJ_TARGET_OSX) {
6381 dasm_put(Dst, 2379); 6469 dasm_put(Dst, 2386);
6382 } 6470 }
6383 dasm_put(Dst, 2381, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM); 6471 dasm_put(Dst, 2388, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
6384 dasm_put(Dst, 2452, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM); 6472 dasm_put(Dst, 2459, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM);
6385 dasm_put(Dst, 2512, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM); 6473 dasm_put(Dst, 2519, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM);
6386 dasm_put(Dst, 2568, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM); 6474 dasm_put(Dst, 2575, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM);
6387 dasm_put(Dst, 2625, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, Dt1(->maxstack), Dt1(->top), Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->base), Dt1(->top), Dt7(->field_pc), FRAME_TYPE, FRAME_TYPEP); 6475 dasm_put(Dst, 2632, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, Dt1(->maxstack), Dt1(->top), Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->base), Dt1(->top), Dt7(->field_pc), FRAME_TYPE, FRAME_TYPEP);
6388 dasm_put(Dst, 2688, LUA_MINSTACK, Dt1(->base), Dt1(->base), Dt1(->top), Dt1(->base)); 6476 dasm_put(Dst, 2695, LUA_MINSTACK, Dt1(->base), Dt1(->base), Dt1(->top), Dt1(->base));
6389#if LJ_HASJIT 6477#if LJ_HASJIT
6390 dasm_put(Dst, 2722, DISPATCH_GL(hookmask), HOOK_VMEVENT, DISPATCH_GL(hookcount), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 6478 dasm_put(Dst, 2729, DISPATCH_GL(hookmask), HOOK_VMEVENT, DISPATCH_GL(hookcount), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
6391#endif 6479#endif
6392 dasm_put(Dst, 2742, 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)); 6480 dasm_put(Dst, 2749, 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));
6393 dasm_put(Dst, 2788, GG_DISP2STATIC); 6481 dasm_put(Dst, 2795, GG_DISP2STATIC);
6394#if LJ_HASJIT 6482#if LJ_HASJIT
6395 dasm_put(Dst, 2804, -GG_DISP2J, Dt7(->field_pc), DISPATCH_J(L), PC2PROTO(framesize), Dt1(->base), Dt1(->top)); 6483 dasm_put(Dst, 2811, -GG_DISP2J, Dt7(->field_pc), DISPATCH_J(L), PC2PROTO(framesize), Dt1(->base), Dt1(->top));
6396#endif 6484#endif
6397 dasm_put(Dst, 2825); 6485 dasm_put(Dst, 2832);
6398#if LJ_HASJIT 6486#if LJ_HASJIT
6399 dasm_put(Dst, 2828); 6487 dasm_put(Dst, 2835);
6400#endif 6488#endif
6401 dasm_put(Dst, 2831); 6489 dasm_put(Dst, 2838);
6402#if LJ_HASJIT 6490#if LJ_HASJIT
6403 dasm_put(Dst, 2833); 6491 dasm_put(Dst, 2840);
6404#endif 6492#endif
6405 dasm_put(Dst, 2836, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 6493 dasm_put(Dst, 2843, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
6406#if LJ_HASJIT 6494#if LJ_HASJIT
6407 dasm_put(Dst, 2859, LJ_VMST_EXIT, DISPATCH_GL(vmstate), DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(exitno), DISPATCH_J(L), Dt1(->base), DISPATCH_GL(jit_L), -GG_DISP2J, Dt1(->cframe), Dt1(->base), ~CFRAME_RAWMASK); 6495 dasm_put(Dst, 2866, LJ_VMST_EXIT, DISPATCH_GL(vmstate), DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(exitno), DISPATCH_J(L), Dt1(->base), DISPATCH_GL(jit_L), -GG_DISP2J, Dt1(->cframe), Dt1(->base), ~CFRAME_RAWMASK);
6408#endif 6496#endif
6409 dasm_put(Dst, 2907); 6497 dasm_put(Dst, 2914);
6410#if LJ_HASJIT 6498#if LJ_HASJIT
6411 dasm_put(Dst, 2909, Dt7(->field_pc), DISPATCH_GL(jit_L), LJ_VMST_INTERP, PC2PROTO(k), DISPATCH_GL(vmstate), BC_FUNCF); 6499 dasm_put(Dst, 2916, Dt7(->field_pc), DISPATCH_GL(jit_L), LJ_VMST_INTERP, PC2PROTO(k), DISPATCH_GL(vmstate), BC_FUNCF);
6412#endif 6500#endif
6413 dasm_put(Dst, 2946); 6501 dasm_put(Dst, 2953);
6414#if LJ_HASJIT 6502#if LJ_HASJIT
6415 dasm_put(Dst, 3020); 6503 dasm_put(Dst, 3027);
6416#endif 6504#endif
6417 dasm_put(Dst, 3034); 6505 dasm_put(Dst, 3041);
6418 { 6506 {
6419 int i; 6507 int i;
6420 for (i = 31; i >= 0; i--) { 6508 for (i = 31; i >= 0; i--) {
6421 dasm_put(Dst, 3070, i, i); 6509 dasm_put(Dst, 3077, i, i);
6422 } 6510 }
6423 } 6511 }
6424 dasm_put(Dst, 3075); 6512 dasm_put(Dst, 3082);
6425#if LJ_HASJIT 6513#if LJ_HASJIT
6426 dasm_put(Dst, 3104); 6514 dasm_put(Dst, 3111);
6427#else 6515#else
6428 dasm_put(Dst, 3129); 6516 dasm_put(Dst, 3136);
6517#endif
6518 dasm_put(Dst, 3138);
6519#if LJ_HASFFI
6520#define DtE(_V) (int)(ptrdiff_t)&(((CTState *)0)_V)
6521 dasm_put(Dst, 3140, Dt2(->ctype_state), GG_G2DISP, DtE(->cb.gpr[0]), DtE(->cb.gpr[2]), CFRAME_SIZE, DtE(->cb.stack), DtE(->cb.slot), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate), Dt7(->field_pc));
6429#endif 6522#endif
6430 dasm_put(Dst, 3131); 6523 dasm_put(Dst, 3183);
6431#if LJ_HASFFI 6524#if LJ_HASFFI
6432#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 6525 dasm_put(Dst, 3185, DISPATCH_GL(ctype_state), Dt1(->base), Dt1(->top), DtE(->L), DtE(->cb.gpr[0]));
6433 dasm_put(Dst, 3133, 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])); 6526#endif
6527 dasm_put(Dst, 3202);
6528#if LJ_HASFFI
6529#define DtF(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
6530 dasm_put(Dst, 3204, DtF(->spadj), DtF(->nsp), offsetof(CCallState, stack), DtF(->func), DtF(->gpr[0]), DtF(->gpr[1]), DtF(->gpr[2]), DtF(->gpr[3]), DtF(->gpr[0]), DtF(->gpr[1]));
6434#endif 6531#endif
6435} 6532}
6436 6533
@@ -6438,7 +6535,7 @@ static void build_subroutines(BuildCtx *ctx)
6438static void build_ins(BuildCtx *ctx, BCOp op, int defop) 6535static void build_ins(BuildCtx *ctx, BCOp op, int defop)
6439{ 6536{
6440 int vk = 0; 6537 int vk = 0;
6441 dasm_put(Dst, 3171, defop); 6538 dasm_put(Dst, 3242, defop);
6442 6539
6443 switch (op) { 6540 switch (op) {
6444 6541
@@ -6447,174 +6544,174 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
6447 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 6544 /* Remember: all ops branch for a true comparison, fall through otherwise. */
6448 6545
6449 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 6546 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
6450 dasm_put(Dst, 3173, -LJ_TISNUM, -LJ_TISNUM); 6547 dasm_put(Dst, 3244, -LJ_TISNUM, -LJ_TISNUM);
6451 if (op == BC_ISLT) { 6548 if (op == BC_ISLT) {
6452 dasm_put(Dst, 3189); 6549 dasm_put(Dst, 3260);
6453 } else if (op == BC_ISGE) { 6550 } else if (op == BC_ISGE) {
6454 dasm_put(Dst, 3191); 6551 dasm_put(Dst, 3262);
6455 } else if (op == BC_ISLE) { 6552 } else if (op == BC_ISLE) {
6456 dasm_put(Dst, 3193); 6553 dasm_put(Dst, 3264);
6457 } else { 6554 } else {
6458 dasm_put(Dst, 3195); 6555 dasm_put(Dst, 3266);
6459 } 6556 }
6460 dasm_put(Dst, 3197, -LJ_TISNUM); 6557 dasm_put(Dst, 3268, -LJ_TISNUM);
6461 if (op == BC_ISLT) { 6558 if (op == BC_ISLT) {
6462 dasm_put(Dst, 3233); 6559 dasm_put(Dst, 3304);
6463 } else if (op == BC_ISGE) { 6560 } else if (op == BC_ISGE) {
6464 dasm_put(Dst, 3235); 6561 dasm_put(Dst, 3306);
6465 } else if (op == BC_ISLE) { 6562 } else if (op == BC_ISLE) {
6466 dasm_put(Dst, 3237); 6563 dasm_put(Dst, 3308);
6467 } else { 6564 } else {
6468 dasm_put(Dst, 3239); 6565 dasm_put(Dst, 3310);
6469 } 6566 }
6470 dasm_put(Dst, 3241); 6567 dasm_put(Dst, 3312);
6471 break; 6568 break;
6472 6569
6473 case BC_ISEQV: case BC_ISNEV: 6570 case BC_ISEQV: case BC_ISNEV:
6474 vk = op == BC_ISEQV; 6571 vk = op == BC_ISEQV;
6475 dasm_put(Dst, 3244, -LJ_TISNUM, -LJ_TISNUM); 6572 dasm_put(Dst, 3315, -LJ_TISNUM, -LJ_TISNUM);
6476 if (vk) { 6573 if (vk) {
6477 dasm_put(Dst, 3255); 6574 dasm_put(Dst, 3326);
6478 } else { 6575 } else {
6479 dasm_put(Dst, 3258); 6576 dasm_put(Dst, 3329);
6480 } 6577 }
6481 if (LJ_HASFFI) { 6578 if (LJ_HASFFI) {
6482 dasm_put(Dst, 3261, -LJ_TCDATA, -LJ_TCDATA); 6579 dasm_put(Dst, 3332, -LJ_TCDATA, -LJ_TCDATA);
6483 } 6580 }
6484 dasm_put(Dst, 3268, -LJ_TISPRI); 6581 dasm_put(Dst, 3339, -LJ_TISPRI);
6485 if (vk) { 6582 if (vk) {
6486 dasm_put(Dst, 3277, -LJ_TISTABUD); 6583 dasm_put(Dst, 3348, -LJ_TISTABUD);
6487 } else { 6584 } else {
6488 dasm_put(Dst, 3294, -LJ_TISTABUD); 6585 dasm_put(Dst, 3365, -LJ_TISTABUD);
6489 } 6586 }
6490 dasm_put(Dst, 3301, Dt6(->metatable)); 6587 dasm_put(Dst, 3372, Dt6(->metatable));
6491 if (vk) { 6588 if (vk) {
6492 dasm_put(Dst, 3305); 6589 dasm_put(Dst, 3376);
6493 } else { 6590 } else {
6494 dasm_put(Dst, 3308); 6591 dasm_put(Dst, 3379);
6495 } 6592 }
6496 dasm_put(Dst, 3311, Dt6(->nomm), 1-vk, 1<<MM_eq); 6593 dasm_put(Dst, 3382, Dt6(->nomm), 1-vk, 1<<MM_eq);
6497 if (vk) { 6594 if (vk) {
6498 dasm_put(Dst, 3321); 6595 dasm_put(Dst, 3392);
6499 } else { 6596 } else {
6500 dasm_put(Dst, 3324); 6597 dasm_put(Dst, 3395);
6501 } 6598 }
6502 break; 6599 break;
6503 6600
6504 case BC_ISEQS: case BC_ISNES: 6601 case BC_ISEQS: case BC_ISNES:
6505 vk = op == BC_ISEQS; 6602 vk = op == BC_ISEQS;
6506 dasm_put(Dst, 3334, -LJ_TSTR); 6603 dasm_put(Dst, 3405, -LJ_TSTR);
6507 if (LJ_HASFFI) { 6604 if (LJ_HASFFI) {
6508 dasm_put(Dst, 3343); 6605 dasm_put(Dst, 3414);
6509 } else { 6606 } else {
6510 dasm_put(Dst, 3347); 6607 dasm_put(Dst, 3418);
6511 } 6608 }
6512 if (vk) { 6609 if (vk) {
6513 dasm_put(Dst, 3349); 6610 dasm_put(Dst, 3420);
6514 } else { 6611 } else {
6515 dasm_put(Dst, 3352); 6612 dasm_put(Dst, 3423);
6516 } 6613 }
6517 dasm_put(Dst, 3355); 6614 dasm_put(Dst, 3426);
6518 if (LJ_HASFFI) { 6615 if (LJ_HASFFI) {
6519 dasm_put(Dst, 3362, -LJ_TCDATA); 6616 dasm_put(Dst, 3433, -LJ_TCDATA);
6520 } 6617 }
6521 break; 6618 break;
6522 6619
6523 case BC_ISEQN: case BC_ISNEN: 6620 case BC_ISEQN: case BC_ISNEN:
6524 vk = op == BC_ISEQN; 6621 vk = op == BC_ISEQN;
6525 dasm_put(Dst, 3370); 6622 dasm_put(Dst, 3441);
6526 if (vk) { 6623 if (vk) {
6527 dasm_put(Dst, 3377); 6624 dasm_put(Dst, 3448);
6528 } else { 6625 } else {
6529 dasm_put(Dst, 3379); 6626 dasm_put(Dst, 3450);
6530 } 6627 }
6531 dasm_put(Dst, 3381, -LJ_TISNUM, -LJ_TISNUM); 6628 dasm_put(Dst, 3452, -LJ_TISNUM, -LJ_TISNUM);
6532 if (vk) { 6629 if (vk) {
6533 dasm_put(Dst, 3391); 6630 dasm_put(Dst, 3462);
6534 } else { 6631 } else {
6535 dasm_put(Dst, 3394); 6632 dasm_put(Dst, 3465);
6536 } 6633 }
6537 dasm_put(Dst, 3397); 6634 dasm_put(Dst, 3468);
6538 if (LJ_HASFFI) { 6635 if (LJ_HASFFI) {
6539 dasm_put(Dst, 3406); 6636 dasm_put(Dst, 3477);
6540 } else { 6637 } else {
6541 if (!vk) { 6638 if (!vk) {
6542 dasm_put(Dst, 3409); 6639 dasm_put(Dst, 3480);
6543 } 6640 }
6544 dasm_put(Dst, 3411); 6641 dasm_put(Dst, 3482);
6545 } 6642 }
6546 dasm_put(Dst, 3414, -LJ_TISNUM); 6643 dasm_put(Dst, 3485, -LJ_TISNUM);
6547 if (vk) { 6644 if (vk) {
6548 dasm_put(Dst, 3430); 6645 dasm_put(Dst, 3501);
6549 } else { 6646 } else {
6550 dasm_put(Dst, 3432); 6647 dasm_put(Dst, 3503);
6551 } 6648 }
6552 dasm_put(Dst, 3434); 6649 dasm_put(Dst, 3505);
6553 if (LJ_HASFFI) { 6650 if (LJ_HASFFI) {
6554 dasm_put(Dst, 3437, -LJ_TCDATA); 6651 dasm_put(Dst, 3508, -LJ_TCDATA);
6555 } 6652 }
6556 break; 6653 break;
6557 6654
6558 case BC_ISEQP: case BC_ISNEP: 6655 case BC_ISEQP: case BC_ISNEP:
6559 vk = op == BC_ISEQP; 6656 vk = op == BC_ISEQP;
6560 dasm_put(Dst, 3445); 6657 dasm_put(Dst, 3516);
6561 if (LJ_HASFFI) { 6658 if (LJ_HASFFI) {
6562 dasm_put(Dst, 3451, -LJ_TCDATA); 6659 dasm_put(Dst, 3522, -LJ_TCDATA);
6563 } 6660 }
6564 dasm_put(Dst, 3456); 6661 dasm_put(Dst, 3527);
6565 if (vk) { 6662 if (vk) {
6566 dasm_put(Dst, 3458); 6663 dasm_put(Dst, 3529);
6567 } else { 6664 } else {
6568 dasm_put(Dst, 3460); 6665 dasm_put(Dst, 3531);
6569 } 6666 }
6570 dasm_put(Dst, 3462); 6667 dasm_put(Dst, 3533);
6571 break; 6668 break;
6572 6669
6573 /* -- Unary test and copy ops ------------------------------------------- */ 6670 /* -- Unary test and copy ops ------------------------------------------- */
6574 6671
6575 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 6672 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
6576 dasm_put(Dst, 3469, -LJ_TTRUE); 6673 dasm_put(Dst, 3540, -LJ_TTRUE);
6577 if (op == BC_ISTC || op == BC_IST) { 6674 if (op == BC_ISTC || op == BC_IST) {
6578 dasm_put(Dst, 3477); 6675 dasm_put(Dst, 3548);
6579 if (op == BC_ISTC) { 6676 if (op == BC_ISTC) {
6580 dasm_put(Dst, 3479); 6677 dasm_put(Dst, 3550);
6581 } 6678 }
6582 } else { 6679 } else {
6583 dasm_put(Dst, 3481); 6680 dasm_put(Dst, 3552);
6584 if (op == BC_ISFC) { 6681 if (op == BC_ISFC) {
6585 dasm_put(Dst, 3483); 6682 dasm_put(Dst, 3554);
6586 } 6683 }
6587 } 6684 }
6588 dasm_put(Dst, 3485); 6685 dasm_put(Dst, 3556);
6589 break; 6686 break;
6590 6687
6591 /* -- Unary ops --------------------------------------------------------- */ 6688 /* -- Unary ops --------------------------------------------------------- */
6592 6689
6593 case BC_MOV: 6690 case BC_MOV:
6594 dasm_put(Dst, 3492); 6691 dasm_put(Dst, 3563);
6595 break; 6692 break;
6596 case BC_NOT: 6693 case BC_NOT:
6597 dasm_put(Dst, 3502, -LJ_TTRUE, ~LJ_TFALSE, ~LJ_TTRUE); 6694 dasm_put(Dst, 3573, -LJ_TTRUE, ~LJ_TFALSE, ~LJ_TTRUE);
6598 break; 6695 break;
6599 case BC_UNM: 6696 case BC_UNM:
6600 dasm_put(Dst, 3519, -LJ_TISNUM); 6697 dasm_put(Dst, 3590, -LJ_TISNUM);
6601 break; 6698 break;
6602 case BC_LEN: 6699 case BC_LEN:
6603 dasm_put(Dst, 3545, -LJ_TSTR, Dt5(->len), ~LJ_TISNUM, -LJ_TTAB); 6700 dasm_put(Dst, 3616, -LJ_TSTR, Dt5(->len), ~LJ_TISNUM, -LJ_TTAB);
6604#ifdef LUAJIT_ENABLE_LUA52COMPAT 6701#ifdef LUAJIT_ENABLE_LUA52COMPAT
6605 dasm_put(Dst, 3569, Dt6(->metatable)); 6702 dasm_put(Dst, 3640, Dt6(->metatable));
6606#endif 6703#endif
6607 dasm_put(Dst, 3576); 6704 dasm_put(Dst, 3647);
6608 if (LJ_TARGET_OSX) { 6705 if (LJ_TARGET_OSX) {
6609 dasm_put(Dst, 3578); 6706 dasm_put(Dst, 3649);
6610 } 6707 }
6611 dasm_put(Dst, 3580); 6708 dasm_put(Dst, 3651);
6612 if (LJ_TARGET_OSX) { 6709 if (LJ_TARGET_OSX) {
6613 dasm_put(Dst, 3583); 6710 dasm_put(Dst, 3654);
6614 } 6711 }
6615 dasm_put(Dst, 3585); 6712 dasm_put(Dst, 3656);
6616#ifdef LUAJIT_ENABLE_LUA52COMPAT 6713#ifdef LUAJIT_ENABLE_LUA52COMPAT
6617 dasm_put(Dst, 3588, Dt6(->nomm), 1<<MM_len); 6714 dasm_put(Dst, 3659, Dt6(->nomm), 1<<MM_len);
6618#endif 6715#endif
6619 break; 6716 break;
6620 6717
@@ -6622,403 +6719,403 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
6622 6719
6623 6720
6624 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 6721 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
6625 dasm_put(Dst, 3598); 6722 dasm_put(Dst, 3669);
6626 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 6723 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
6627 switch (vk) { 6724 switch (vk) {
6628 case 0: 6725 case 0:
6629 dasm_put(Dst, 3601); 6726 dasm_put(Dst, 3672);
6630 break; 6727 break;
6631 case 1: 6728 case 1:
6632 dasm_put(Dst, 3604); 6729 dasm_put(Dst, 3675);
6633 break; 6730 break;
6634 default: 6731 default:
6635 dasm_put(Dst, 3607); 6732 dasm_put(Dst, 3678);
6636 break; 6733 break;
6637 } 6734 }
6638 dasm_put(Dst, 3610); 6735 dasm_put(Dst, 3681);
6639 if (vk == 1) { 6736 if (vk == 1) {
6640 dasm_put(Dst, 3612, -LJ_TISNUM, -LJ_TISNUM); 6737 dasm_put(Dst, 3683, -LJ_TISNUM, -LJ_TISNUM);
6641 } else { 6738 } else {
6642 dasm_put(Dst, 3617, -LJ_TISNUM, -LJ_TISNUM); 6739 dasm_put(Dst, 3688, -LJ_TISNUM, -LJ_TISNUM);
6643 } 6740 }
6644 dasm_put(Dst, 3622); 6741 dasm_put(Dst, 3693);
6645 switch (vk) { 6742 switch (vk) {
6646 case 0: 6743 case 0:
6647 dasm_put(Dst, 3626); 6744 dasm_put(Dst, 3697);
6648 break; 6745 break;
6649 case 1: 6746 case 1:
6650 dasm_put(Dst, 3629); 6747 dasm_put(Dst, 3700);
6651 break; 6748 break;
6652 default: 6749 default:
6653 dasm_put(Dst, 3632); 6750 dasm_put(Dst, 3703);
6654 break; 6751 break;
6655 } 6752 }
6656 dasm_put(Dst, 3635); 6753 dasm_put(Dst, 3706);
6657 switch (vk) { 6754 switch (vk) {
6658 case 0: 6755 case 0:
6659 if (vk == 1) { 6756 if (vk == 1) {
6660 dasm_put(Dst, 3644, -LJ_TISNUM, -LJ_TISNUM); 6757 dasm_put(Dst, 3715, -LJ_TISNUM, -LJ_TISNUM);
6661 } else { 6758 } else {
6662 dasm_put(Dst, 3649, -LJ_TISNUM, -LJ_TISNUM); 6759 dasm_put(Dst, 3720, -LJ_TISNUM, -LJ_TISNUM);
6663 } 6760 }
6664 dasm_put(Dst, 3654); 6761 dasm_put(Dst, 3725);
6665 break; 6762 break;
6666 case 1: 6763 case 1:
6667 if (vk == 1) { 6764 if (vk == 1) {
6668 dasm_put(Dst, 3657, -LJ_TISNUM, -LJ_TISNUM); 6765 dasm_put(Dst, 3728, -LJ_TISNUM, -LJ_TISNUM);
6669 } else { 6766 } else {
6670 dasm_put(Dst, 3662, -LJ_TISNUM, -LJ_TISNUM); 6767 dasm_put(Dst, 3733, -LJ_TISNUM, -LJ_TISNUM);
6671 } 6768 }
6672 dasm_put(Dst, 3667); 6769 dasm_put(Dst, 3738);
6673 break; 6770 break;
6674 default: 6771 default:
6675 if (vk == 1) { 6772 if (vk == 1) {
6676 dasm_put(Dst, 3670, -LJ_TISNUM, -LJ_TISNUM); 6773 dasm_put(Dst, 3741, -LJ_TISNUM, -LJ_TISNUM);
6677 } else { 6774 } else {
6678 dasm_put(Dst, 3675, -LJ_TISNUM, -LJ_TISNUM); 6775 dasm_put(Dst, 3746, -LJ_TISNUM, -LJ_TISNUM);
6679 } 6776 }
6680 dasm_put(Dst, 3680); 6777 dasm_put(Dst, 3751);
6681 break; 6778 break;
6682 } 6779 }
6683 dasm_put(Dst, 3683); 6780 dasm_put(Dst, 3754);
6684 break; 6781 break;
6685 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 6782 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
6686 dasm_put(Dst, 3689); 6783 dasm_put(Dst, 3760);
6687 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 6784 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
6688 switch (vk) { 6785 switch (vk) {
6689 case 0: 6786 case 0:
6690 dasm_put(Dst, 3692); 6787 dasm_put(Dst, 3763);
6691 break; 6788 break;
6692 case 1: 6789 case 1:
6693 dasm_put(Dst, 3695); 6790 dasm_put(Dst, 3766);
6694 break; 6791 break;
6695 default: 6792 default:
6696 dasm_put(Dst, 3698); 6793 dasm_put(Dst, 3769);
6697 break; 6794 break;
6698 } 6795 }
6699 dasm_put(Dst, 3701); 6796 dasm_put(Dst, 3772);
6700 if (vk == 1) { 6797 if (vk == 1) {
6701 dasm_put(Dst, 3703, -LJ_TISNUM, -LJ_TISNUM); 6798 dasm_put(Dst, 3774, -LJ_TISNUM, -LJ_TISNUM);
6702 } else { 6799 } else {
6703 dasm_put(Dst, 3708, -LJ_TISNUM, -LJ_TISNUM); 6800 dasm_put(Dst, 3779, -LJ_TISNUM, -LJ_TISNUM);
6704 } 6801 }
6705 dasm_put(Dst, 3713); 6802 dasm_put(Dst, 3784);
6706 switch (vk) { 6803 switch (vk) {
6707 case 0: 6804 case 0:
6708 dasm_put(Dst, 3717); 6805 dasm_put(Dst, 3788);
6709 break; 6806 break;
6710 case 1: 6807 case 1:
6711 dasm_put(Dst, 3720); 6808 dasm_put(Dst, 3791);
6712 break; 6809 break;
6713 default: 6810 default:
6714 dasm_put(Dst, 3723); 6811 dasm_put(Dst, 3794);
6715 break; 6812 break;
6716 } 6813 }
6717 dasm_put(Dst, 3726); 6814 dasm_put(Dst, 3797);
6718 switch (vk) { 6815 switch (vk) {
6719 case 0: 6816 case 0:
6720 if (vk == 1) { 6817 if (vk == 1) {
6721 dasm_put(Dst, 3735, -LJ_TISNUM, -LJ_TISNUM); 6818 dasm_put(Dst, 3806, -LJ_TISNUM, -LJ_TISNUM);
6722 } else { 6819 } else {
6723 dasm_put(Dst, 3740, -LJ_TISNUM, -LJ_TISNUM); 6820 dasm_put(Dst, 3811, -LJ_TISNUM, -LJ_TISNUM);
6724 } 6821 }
6725 dasm_put(Dst, 3745); 6822 dasm_put(Dst, 3816);
6726 break; 6823 break;
6727 case 1: 6824 case 1:
6728 if (vk == 1) { 6825 if (vk == 1) {
6729 dasm_put(Dst, 3748, -LJ_TISNUM, -LJ_TISNUM); 6826 dasm_put(Dst, 3819, -LJ_TISNUM, -LJ_TISNUM);
6730 } else { 6827 } else {
6731 dasm_put(Dst, 3753, -LJ_TISNUM, -LJ_TISNUM); 6828 dasm_put(Dst, 3824, -LJ_TISNUM, -LJ_TISNUM);
6732 } 6829 }
6733 dasm_put(Dst, 3758); 6830 dasm_put(Dst, 3829);
6734 break; 6831 break;
6735 default: 6832 default:
6736 if (vk == 1) { 6833 if (vk == 1) {
6737 dasm_put(Dst, 3761, -LJ_TISNUM, -LJ_TISNUM); 6834 dasm_put(Dst, 3832, -LJ_TISNUM, -LJ_TISNUM);
6738 } else { 6835 } else {
6739 dasm_put(Dst, 3766, -LJ_TISNUM, -LJ_TISNUM); 6836 dasm_put(Dst, 3837, -LJ_TISNUM, -LJ_TISNUM);
6740 } 6837 }
6741 dasm_put(Dst, 3771); 6838 dasm_put(Dst, 3842);
6742 break; 6839 break;
6743 } 6840 }
6744 dasm_put(Dst, 3774); 6841 dasm_put(Dst, 3845);
6745 break; 6842 break;
6746 case BC_MULVN: case BC_MULNV: case BC_MULVV: 6843 case BC_MULVN: case BC_MULNV: case BC_MULVV:
6747 dasm_put(Dst, 3780); 6844 dasm_put(Dst, 3851);
6748 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 6845 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
6749 switch (vk) { 6846 switch (vk) {
6750 case 0: 6847 case 0:
6751 dasm_put(Dst, 3783); 6848 dasm_put(Dst, 3854);
6752 break; 6849 break;
6753 case 1: 6850 case 1:
6754 dasm_put(Dst, 3786); 6851 dasm_put(Dst, 3857);
6755 break; 6852 break;
6756 default: 6853 default:
6757 dasm_put(Dst, 3789); 6854 dasm_put(Dst, 3860);
6758 break; 6855 break;
6759 } 6856 }
6760 dasm_put(Dst, 3792); 6857 dasm_put(Dst, 3863);
6761 if (vk == 1) { 6858 if (vk == 1) {
6762 dasm_put(Dst, 3794, -LJ_TISNUM, -LJ_TISNUM); 6859 dasm_put(Dst, 3865, -LJ_TISNUM, -LJ_TISNUM);
6763 } else { 6860 } else {
6764 dasm_put(Dst, 3799, -LJ_TISNUM, -LJ_TISNUM); 6861 dasm_put(Dst, 3870, -LJ_TISNUM, -LJ_TISNUM);
6765 } 6862 }
6766 dasm_put(Dst, 3804); 6863 dasm_put(Dst, 3875);
6767 switch (vk) { 6864 switch (vk) {
6768 case 0: 6865 case 0:
6769 dasm_put(Dst, 3809); 6866 dasm_put(Dst, 3880);
6770 break; 6867 break;
6771 case 1: 6868 case 1:
6772 dasm_put(Dst, 3812); 6869 dasm_put(Dst, 3883);
6773 break; 6870 break;
6774 default: 6871 default:
6775 dasm_put(Dst, 3815); 6872 dasm_put(Dst, 3886);
6776 break; 6873 break;
6777 } 6874 }
6778 dasm_put(Dst, 3818); 6875 dasm_put(Dst, 3889);
6779 switch (vk) { 6876 switch (vk) {
6780 case 0: 6877 case 0:
6781 if (vk == 1) { 6878 if (vk == 1) {
6782 dasm_put(Dst, 3827, -LJ_TISNUM, -LJ_TISNUM); 6879 dasm_put(Dst, 3898, -LJ_TISNUM, -LJ_TISNUM);
6783 } else { 6880 } else {
6784 dasm_put(Dst, 3832, -LJ_TISNUM, -LJ_TISNUM); 6881 dasm_put(Dst, 3903, -LJ_TISNUM, -LJ_TISNUM);
6785 } 6882 }
6786 dasm_put(Dst, 3837); 6883 dasm_put(Dst, 3908);
6787 break; 6884 break;
6788 case 1: 6885 case 1:
6789 if (vk == 1) { 6886 if (vk == 1) {
6790 dasm_put(Dst, 3840, -LJ_TISNUM, -LJ_TISNUM); 6887 dasm_put(Dst, 3911, -LJ_TISNUM, -LJ_TISNUM);
6791 } else { 6888 } else {
6792 dasm_put(Dst, 3845, -LJ_TISNUM, -LJ_TISNUM); 6889 dasm_put(Dst, 3916, -LJ_TISNUM, -LJ_TISNUM);
6793 } 6890 }
6794 dasm_put(Dst, 3850); 6891 dasm_put(Dst, 3921);
6795 break; 6892 break;
6796 default: 6893 default:
6797 if (vk == 1) { 6894 if (vk == 1) {
6798 dasm_put(Dst, 3853, -LJ_TISNUM, -LJ_TISNUM); 6895 dasm_put(Dst, 3924, -LJ_TISNUM, -LJ_TISNUM);
6799 } else { 6896 } else {
6800 dasm_put(Dst, 3858, -LJ_TISNUM, -LJ_TISNUM); 6897 dasm_put(Dst, 3929, -LJ_TISNUM, -LJ_TISNUM);
6801 } 6898 }
6802 dasm_put(Dst, 3863); 6899 dasm_put(Dst, 3934);
6803 break; 6900 break;
6804 } 6901 }
6805 dasm_put(Dst, 3866); 6902 dasm_put(Dst, 3937);
6806 break; 6903 break;
6807 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 6904 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
6808 dasm_put(Dst, 3872); 6905 dasm_put(Dst, 3943);
6809 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 6906 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
6810 switch (vk) { 6907 switch (vk) {
6811 case 0: 6908 case 0:
6812 dasm_put(Dst, 3875); 6909 dasm_put(Dst, 3946);
6813 break; 6910 break;
6814 case 1: 6911 case 1:
6815 dasm_put(Dst, 3878); 6912 dasm_put(Dst, 3949);
6816 break; 6913 break;
6817 default: 6914 default:
6818 dasm_put(Dst, 3881); 6915 dasm_put(Dst, 3952);
6819 break; 6916 break;
6820 } 6917 }
6821 switch (vk) { 6918 switch (vk) {
6822 case 0: 6919 case 0:
6823 if (vk == 1) { 6920 if (vk == 1) {
6824 dasm_put(Dst, 3884, -LJ_TISNUM, -LJ_TISNUM); 6921 dasm_put(Dst, 3955, -LJ_TISNUM, -LJ_TISNUM);
6825 } else { 6922 } else {
6826 dasm_put(Dst, 3889, -LJ_TISNUM, -LJ_TISNUM); 6923 dasm_put(Dst, 3960, -LJ_TISNUM, -LJ_TISNUM);
6827 } 6924 }
6828 dasm_put(Dst, 3894); 6925 dasm_put(Dst, 3965);
6829 break; 6926 break;
6830 case 1: 6927 case 1:
6831 if (vk == 1) { 6928 if (vk == 1) {
6832 dasm_put(Dst, 3897, -LJ_TISNUM, -LJ_TISNUM); 6929 dasm_put(Dst, 3968, -LJ_TISNUM, -LJ_TISNUM);
6833 } else { 6930 } else {
6834 dasm_put(Dst, 3902, -LJ_TISNUM, -LJ_TISNUM); 6931 dasm_put(Dst, 3973, -LJ_TISNUM, -LJ_TISNUM);
6835 } 6932 }
6836 dasm_put(Dst, 3907); 6933 dasm_put(Dst, 3978);
6837 break; 6934 break;
6838 default: 6935 default:
6839 if (vk == 1) { 6936 if (vk == 1) {
6840 dasm_put(Dst, 3910, -LJ_TISNUM, -LJ_TISNUM); 6937 dasm_put(Dst, 3981, -LJ_TISNUM, -LJ_TISNUM);
6841 } else { 6938 } else {
6842 dasm_put(Dst, 3915, -LJ_TISNUM, -LJ_TISNUM); 6939 dasm_put(Dst, 3986, -LJ_TISNUM, -LJ_TISNUM);
6843 } 6940 }
6844 dasm_put(Dst, 3920); 6941 dasm_put(Dst, 3991);
6845 break; 6942 break;
6846 } 6943 }
6847 dasm_put(Dst, 3923); 6944 dasm_put(Dst, 3994);
6848 break; 6945 break;
6849 case BC_MODVN: case BC_MODNV: case BC_MODVV: 6946 case BC_MODVN: case BC_MODNV: case BC_MODVV:
6850 dasm_put(Dst, 3933); 6947 dasm_put(Dst, 4004);
6851 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 6948 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
6852 switch (vk) { 6949 switch (vk) {
6853 case 0: 6950 case 0:
6854 dasm_put(Dst, 3936); 6951 dasm_put(Dst, 4007);
6855 break; 6952 break;
6856 case 1: 6953 case 1:
6857 dasm_put(Dst, 3939); 6954 dasm_put(Dst, 4010);
6858 break; 6955 break;
6859 default: 6956 default:
6860 dasm_put(Dst, 3942); 6957 dasm_put(Dst, 4013);
6861 break; 6958 break;
6862 } 6959 }
6863 if (vk == 1) { 6960 if (vk == 1) {
6864 dasm_put(Dst, 3945, -LJ_TISNUM, -LJ_TISNUM); 6961 dasm_put(Dst, 4016, -LJ_TISNUM, -LJ_TISNUM);
6865 } else { 6962 } else {
6866 dasm_put(Dst, 3950, -LJ_TISNUM, -LJ_TISNUM); 6963 dasm_put(Dst, 4021, -LJ_TISNUM, -LJ_TISNUM);
6867 } 6964 }
6868 dasm_put(Dst, 3955); 6965 dasm_put(Dst, 4026);
6869 switch (vk) { 6966 switch (vk) {
6870 case 0: 6967 case 0:
6871 dasm_put(Dst, 3959); 6968 dasm_put(Dst, 4030);
6872 break; 6969 break;
6873 case 1: 6970 case 1:
6874 dasm_put(Dst, 3962); 6971 dasm_put(Dst, 4033);
6875 break; 6972 break;
6876 default: 6973 default:
6877 dasm_put(Dst, 3965); 6974 dasm_put(Dst, 4036);
6878 break; 6975 break;
6879 } 6976 }
6880 dasm_put(Dst, 3968, ~LJ_TISNUM); 6977 dasm_put(Dst, 4039, ~LJ_TISNUM);
6881 switch (vk) { 6978 switch (vk) {
6882 case 0: 6979 case 0:
6883 if (vk == 1) { 6980 if (vk == 1) {
6884 dasm_put(Dst, 3982, -LJ_TISNUM, -LJ_TISNUM); 6981 dasm_put(Dst, 4053, -LJ_TISNUM, -LJ_TISNUM);
6885 } else { 6982 } else {
6886 dasm_put(Dst, 3987, -LJ_TISNUM, -LJ_TISNUM); 6983 dasm_put(Dst, 4058, -LJ_TISNUM, -LJ_TISNUM);
6887 } 6984 }
6888 dasm_put(Dst, 3992); 6985 dasm_put(Dst, 4063);
6889 break; 6986 break;
6890 case 1: 6987 case 1:
6891 if (vk == 1) { 6988 if (vk == 1) {
6892 dasm_put(Dst, 3995, -LJ_TISNUM, -LJ_TISNUM); 6989 dasm_put(Dst, 4066, -LJ_TISNUM, -LJ_TISNUM);
6893 } else { 6990 } else {
6894 dasm_put(Dst, 4000, -LJ_TISNUM, -LJ_TISNUM); 6991 dasm_put(Dst, 4071, -LJ_TISNUM, -LJ_TISNUM);
6895 } 6992 }
6896 dasm_put(Dst, 4005); 6993 dasm_put(Dst, 4076);
6897 break; 6994 break;
6898 default: 6995 default:
6899 if (vk == 1) { 6996 if (vk == 1) {
6900 dasm_put(Dst, 4008, -LJ_TISNUM, -LJ_TISNUM); 6997 dasm_put(Dst, 4079, -LJ_TISNUM, -LJ_TISNUM);
6901 } else { 6998 } else {
6902 dasm_put(Dst, 4013, -LJ_TISNUM, -LJ_TISNUM); 6999 dasm_put(Dst, 4084, -LJ_TISNUM, -LJ_TISNUM);
6903 } 7000 }
6904 dasm_put(Dst, 4018); 7001 dasm_put(Dst, 4089);
6905 break; 7002 break;
6906 } 7003 }
6907 dasm_put(Dst, 4021); 7004 dasm_put(Dst, 4092);
6908 break; 7005 break;
6909 case BC_POW: 7006 case BC_POW:
6910 dasm_put(Dst, 4026); 7007 dasm_put(Dst, 4097);
6911 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 7008 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
6912 switch (vk) { 7009 switch (vk) {
6913 case 0: 7010 case 0:
6914 dasm_put(Dst, 4029); 7011 dasm_put(Dst, 4100);
6915 break; 7012 break;
6916 case 1: 7013 case 1:
6917 dasm_put(Dst, 4032); 7014 dasm_put(Dst, 4103);
6918 break; 7015 break;
6919 default: 7016 default:
6920 dasm_put(Dst, 4035); 7017 dasm_put(Dst, 4106);
6921 break; 7018 break;
6922 } 7019 }
6923 switch (vk) { 7020 switch (vk) {
6924 case 0: 7021 case 0:
6925 if (vk == 1) { 7022 if (vk == 1) {
6926 dasm_put(Dst, 4038, -LJ_TISNUM, -LJ_TISNUM); 7023 dasm_put(Dst, 4109, -LJ_TISNUM, -LJ_TISNUM);
6927 } else { 7024 } else {
6928 dasm_put(Dst, 4043, -LJ_TISNUM, -LJ_TISNUM); 7025 dasm_put(Dst, 4114, -LJ_TISNUM, -LJ_TISNUM);
6929 } 7026 }
6930 dasm_put(Dst, 4048); 7027 dasm_put(Dst, 4119);
6931 break; 7028 break;
6932 case 1: 7029 case 1:
6933 if (vk == 1) { 7030 if (vk == 1) {
6934 dasm_put(Dst, 4051, -LJ_TISNUM, -LJ_TISNUM); 7031 dasm_put(Dst, 4122, -LJ_TISNUM, -LJ_TISNUM);
6935 } else { 7032 } else {
6936 dasm_put(Dst, 4056, -LJ_TISNUM, -LJ_TISNUM); 7033 dasm_put(Dst, 4127, -LJ_TISNUM, -LJ_TISNUM);
6937 } 7034 }
6938 dasm_put(Dst, 4061); 7035 dasm_put(Dst, 4132);
6939 break; 7036 break;
6940 default: 7037 default:
6941 if (vk == 1) { 7038 if (vk == 1) {
6942 dasm_put(Dst, 4064, -LJ_TISNUM, -LJ_TISNUM); 7039 dasm_put(Dst, 4135, -LJ_TISNUM, -LJ_TISNUM);
6943 } else { 7040 } else {
6944 dasm_put(Dst, 4069, -LJ_TISNUM, -LJ_TISNUM); 7041 dasm_put(Dst, 4140, -LJ_TISNUM, -LJ_TISNUM);
6945 } 7042 }
6946 dasm_put(Dst, 4074); 7043 dasm_put(Dst, 4145);
6947 break; 7044 break;
6948 } 7045 }
6949 if (LJ_TARGET_OSX) { 7046 if (LJ_TARGET_OSX) {
6950 dasm_put(Dst, 4077); 7047 dasm_put(Dst, 4148);
6951 } 7048 }
6952 dasm_put(Dst, 4079); 7049 dasm_put(Dst, 4150);
6953 if (LJ_TARGET_OSX) { 7050 if (LJ_TARGET_OSX) {
6954 dasm_put(Dst, 4082); 7051 dasm_put(Dst, 4153);
6955 } 7052 }
6956 dasm_put(Dst, 4084); 7053 dasm_put(Dst, 4155);
6957 break; 7054 break;
6958 7055
6959 case BC_CAT: 7056 case BC_CAT:
6960 dasm_put(Dst, 4092, Dt1(->base), Dt1(->base)); 7057 dasm_put(Dst, 4163, Dt1(->base), Dt1(->base));
6961 break; 7058 break;
6962 7059
6963 /* -- Constant ops ------------------------------------------------------ */ 7060 /* -- Constant ops ------------------------------------------------------ */
6964 7061
6965 case BC_KSTR: 7062 case BC_KSTR:
6966 dasm_put(Dst, 4118, ~LJ_TSTR); 7063 dasm_put(Dst, 4189, ~LJ_TSTR);
6967 break; 7064 break;
6968 case BC_KCDATA: 7065 case BC_KCDATA:
6969#if LJ_HASFFI 7066#if LJ_HASFFI
6970 dasm_put(Dst, 4130, ~LJ_TCDATA); 7067 dasm_put(Dst, 4201, ~LJ_TCDATA);
6971#endif 7068#endif
6972 break; 7069 break;
6973 case BC_KSHORT: 7070 case BC_KSHORT:
6974 dasm_put(Dst, 4142, ~LJ_TISNUM); 7071 dasm_put(Dst, 4213, ~LJ_TISNUM);
6975 break; 7072 break;
6976 case BC_KNUM: 7073 case BC_KNUM:
6977 dasm_put(Dst, 4153); 7074 dasm_put(Dst, 4224);
6978 break; 7075 break;
6979 case BC_KPRI: 7076 case BC_KPRI:
6980 dasm_put(Dst, 4163); 7077 dasm_put(Dst, 4234);
6981 break; 7078 break;
6982 case BC_KNIL: 7079 case BC_KNIL:
6983 dasm_put(Dst, 4173, ~LJ_TNIL); 7080 dasm_put(Dst, 4244, ~LJ_TNIL);
6984 break; 7081 break;
6985 7082
6986 /* -- Upvalue and function ops ------------------------------------------ */ 7083 /* -- Upvalue and function ops ------------------------------------------ */
6987 7084
6988 case BC_UGET: 7085 case BC_UGET:
6989 dasm_put(Dst, 4192, offsetof(GCfuncL, uvptr), DtA(->v)); 7086 dasm_put(Dst, 4263, offsetof(GCfuncL, uvptr), DtA(->v));
6990 break; 7087 break;
6991 case BC_USETV: 7088 case BC_USETV:
6992 dasm_put(Dst, 4208, 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); 7089 dasm_put(Dst, 4279, 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);
6993 if (LJ_TARGET_OSX) { 7090 if (LJ_TARGET_OSX) {
6994 dasm_put(Dst, 4248); 7091 dasm_put(Dst, 4319);
6995 } else { 7092 } else {
6996 dasm_put(Dst, 4255); 7093 dasm_put(Dst, 4326);
6997 } 7094 }
6998 dasm_put(Dst, 4258); 7095 dasm_put(Dst, 4329);
6999 break; 7096 break;
7000 case BC_USETS: 7097 case BC_USETS:
7001 dasm_put(Dst, 4261, offsetof(GCfuncL, uvptr), ~LJ_TSTR, DtA(->marked), DtA(->v), DtA(->closed), LJ_GC_BLACK, Dt5(->marked), LJ_GC_WHITES, -GG_DISP2G); 7098 dasm_put(Dst, 4332, offsetof(GCfuncL, uvptr), ~LJ_TSTR, DtA(->marked), DtA(->v), DtA(->closed), LJ_GC_BLACK, Dt5(->marked), LJ_GC_WHITES, -GG_DISP2G);
7002 if (LJ_TARGET_OSX) { 7099 if (LJ_TARGET_OSX) {
7003 dasm_put(Dst, 4297); 7100 dasm_put(Dst, 4368);
7004 } else { 7101 } else {
7005 dasm_put(Dst, 4304); 7102 dasm_put(Dst, 4375);
7006 } 7103 }
7007 dasm_put(Dst, 4307); 7104 dasm_put(Dst, 4378);
7008 break; 7105 break;
7009 case BC_USETN: 7106 case BC_USETN:
7010 dasm_put(Dst, 4310, offsetof(GCfuncL, uvptr), DtA(->v)); 7107 dasm_put(Dst, 4381, offsetof(GCfuncL, uvptr), DtA(->v));
7011 break; 7108 break;
7012 case BC_USETP: 7109 case BC_USETP:
7013 dasm_put(Dst, 4327, offsetof(GCfuncL, uvptr), DtA(->v)); 7110 dasm_put(Dst, 4398, offsetof(GCfuncL, uvptr), DtA(->v));
7014 break; 7111 break;
7015 7112
7016 case BC_UCLO: 7113 case BC_UCLO:
7017 dasm_put(Dst, 4343, Dt1(->openupval), Dt1(->base), Dt1(->base)); 7114 dasm_put(Dst, 4414, Dt1(->openupval), Dt1(->base), Dt1(->base));
7018 break; 7115 break;
7019 7116
7020 case BC_FNEW: 7117 case BC_FNEW:
7021 dasm_put(Dst, 4366, Dt1(->base), Dt1(->base), ~LJ_TFUNC); 7118 dasm_put(Dst, 4437, Dt1(->base), Dt1(->base), ~LJ_TFUNC);
7022 break; 7119 break;
7023 7120
7024 /* -- Table ops --------------------------------------------------------- */ 7121 /* -- Table ops --------------------------------------------------------- */
@@ -7026,115 +7123,115 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
7026 case BC_TNEW: 7123 case BC_TNEW:
7027 case BC_TDUP: 7124 case BC_TDUP:
7028 if (op == BC_TDUP) { 7125 if (op == BC_TDUP) {
7029 dasm_put(Dst, 4387); 7126 dasm_put(Dst, 4458);
7030 } 7127 }
7031 dasm_put(Dst, 4389, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base)); 7128 dasm_put(Dst, 4460, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base));
7032 if (op == BC_TNEW) { 7129 if (op == BC_TNEW) {
7033 dasm_put(Dst, 4402); 7130 dasm_put(Dst, 4473);
7034 } else { 7131 } else {
7035 dasm_put(Dst, 4411); 7132 dasm_put(Dst, 4482);
7036 } 7133 }
7037 dasm_put(Dst, 4415, Dt1(->base), ~LJ_TTAB); 7134 dasm_put(Dst, 4486, Dt1(->base), ~LJ_TTAB);
7038 break; 7135 break;
7039 7136
7040 case BC_GGET: 7137 case BC_GGET:
7041 case BC_GSET: 7138 case BC_GSET:
7042 dasm_put(Dst, 4433, Dt7(->env)); 7139 dasm_put(Dst, 4504, Dt7(->env));
7043 if (op == BC_GGET) { 7140 if (op == BC_GGET) {
7044 dasm_put(Dst, 4439); 7141 dasm_put(Dst, 4510);
7045 } else { 7142 } else {
7046 dasm_put(Dst, 4442); 7143 dasm_put(Dst, 4513);
7047 } 7144 }
7048 break; 7145 break;
7049 7146
7050 case BC_TGETV: 7147 case BC_TGETV:
7051 dasm_put(Dst, 4445, -LJ_TTAB, -LJ_TISNUM, Dt6(->array), Dt6(->asize), -LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index, -LJ_TSTR); 7148 dasm_put(Dst, 4516, -LJ_TTAB, -LJ_TISNUM, Dt6(->array), Dt6(->asize), -LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index, -LJ_TSTR);
7052 break; 7149 break;
7053 case BC_TGETS: 7150 case BC_TGETS:
7054 dasm_put(Dst, 4502, -LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), DtB(->key), DtB(->val), DtB(->next), -LJ_TSTR, -LJ_TNIL, Dt6(->metatable), ~LJ_TNIL, Dt6(->nomm)); 7151 dasm_put(Dst, 4573, -LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), DtB(->key), DtB(->val), DtB(->next), -LJ_TSTR, -LJ_TNIL, Dt6(->metatable), ~LJ_TNIL, Dt6(->nomm));
7055 dasm_put(Dst, 4562, 1<<MM_index); 7152 dasm_put(Dst, 4633, 1<<MM_index);
7056 break; 7153 break;
7057 case BC_TGETB: 7154 case BC_TGETB:
7058 dasm_put(Dst, 4569, -LJ_TTAB, Dt6(->asize), Dt6(->array), -LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 7155 dasm_put(Dst, 4640, -LJ_TTAB, Dt6(->asize), Dt6(->array), -LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
7059 break; 7156 break;
7060 7157
7061 case BC_TSETV: 7158 case BC_TSETV:
7062 dasm_put(Dst, 4612, -LJ_TTAB, -LJ_TISNUM, Dt6(->array), Dt6(->asize), -LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); 7159 dasm_put(Dst, 4683, -LJ_TTAB, -LJ_TISNUM, Dt6(->array), Dt6(->asize), -LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
7063 dasm_put(Dst, 4672, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist), -LJ_TSTR); 7160 dasm_put(Dst, 4743, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist), -LJ_TSTR);
7064 break; 7161 break;
7065 case BC_TSETS: 7162 case BC_TSETS:
7066 dasm_put(Dst, 4693, -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)); 7163 dasm_put(Dst, 4764, -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));
7067 dasm_put(Dst, 4751, 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); 7164 dasm_put(Dst, 4822, 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);
7068 dasm_put(Dst, 4804, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); 7165 dasm_put(Dst, 4875, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
7069 break; 7166 break;
7070 case BC_TSETB: 7167 case BC_TSETB:
7071 dasm_put(Dst, 4813, -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); 7168 dasm_put(Dst, 4884, -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);
7072 dasm_put(Dst, 4871, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); 7169 dasm_put(Dst, 4942, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
7073 break; 7170 break;
7074 7171
7075 case BC_TSETM: 7172 case BC_TSETM:
7076 dasm_put(Dst, 4880, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_GC_BLACK, Dt1(->base)); 7173 dasm_put(Dst, 4951, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_GC_BLACK, Dt1(->base));
7077 if (LJ_TARGET_OSX) { 7174 if (LJ_TARGET_OSX) {
7078 dasm_put(Dst, 4925, Dt1(->base)); 7175 dasm_put(Dst, 4996, Dt1(->base));
7079 } 7176 }
7080 dasm_put(Dst, 4928, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); 7177 dasm_put(Dst, 4999, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
7081 break; 7178 break;
7082 7179
7083 /* -- Calls and vararg handling ----------------------------------------- */ 7180 /* -- Calls and vararg handling ----------------------------------------- */
7084 7181
7085 case BC_CALLM: 7182 case BC_CALLM:
7086 dasm_put(Dst, 4944); 7183 dasm_put(Dst, 5015);
7087 break; 7184 break;
7088 case BC_CALL: 7185 case BC_CALL:
7089 dasm_put(Dst, 4950, -LJ_TFUNC, Dt7(->field_pc)); 7186 dasm_put(Dst, 5021, -LJ_TFUNC, Dt7(->field_pc));
7090 break; 7187 break;
7091 7188
7092 case BC_CALLMT: 7189 case BC_CALLMT:
7093 dasm_put(Dst, 4970); 7190 dasm_put(Dst, 5041);
7094 break; 7191 break;
7095 case BC_CALLT: 7192 case BC_CALLT:
7096 dasm_put(Dst, 4975, -LJ_TFUNC, Dt7(->ffid), FRAME_TYPE, Dt7(->field_pc), Dt7(->field_pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP); 7193 dasm_put(Dst, 5046, -LJ_TFUNC, Dt7(->ffid), FRAME_TYPE, Dt7(->field_pc), Dt7(->field_pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP);
7097 dasm_put(Dst, 5036, FRAME_TYPE); 7194 dasm_put(Dst, 5107, FRAME_TYPE);
7098 break; 7195 break;
7099 7196
7100 case BC_ITERC: 7197 case BC_ITERC:
7101 dasm_put(Dst, 5047, -LJ_TFUNC, Dt7(->field_pc)); 7198 dasm_put(Dst, 5118, -LJ_TFUNC, Dt7(->field_pc));
7102 break; 7199 break;
7103 7200
7104 case BC_ITERN: 7201 case BC_ITERN:
7105#if LJ_HASJIT 7202#if LJ_HASJIT
7106#endif 7203#endif
7107 dasm_put(Dst, 5071, Dt6(->asize), Dt6(->array), -LJ_TNIL, ~LJ_TISNUM, Dt6(->hmask), Dt6(->node), DtB(->val), -LJ_TNIL, DtB(->key)); 7204 dasm_put(Dst, 5142, Dt6(->asize), Dt6(->array), -LJ_TNIL, ~LJ_TISNUM, Dt6(->hmask), Dt6(->node), DtB(->val), -LJ_TNIL, DtB(->key));
7108 break; 7205 break;
7109 7206
7110 case BC_ISNEXT: 7207 case BC_ISNEXT:
7111 dasm_put(Dst, 5136, -LJ_TFUNC, Dt8(->ffid), -LJ_TTAB, -LJ_TNIL, FF_next_N, BC_JMP, BC_ITERC); 7208 dasm_put(Dst, 5207, -LJ_TFUNC, Dt8(->ffid), -LJ_TTAB, -LJ_TNIL, FF_next_N, BC_JMP, BC_ITERC);
7112 break; 7209 break;
7113 7210
7114 case BC_VARG: 7211 case BC_VARG:
7115 dasm_put(Dst, 5175, FRAME_VARG, ~LJ_TNIL, Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->base)); 7212 dasm_put(Dst, 5246, FRAME_VARG, ~LJ_TNIL, Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->base));
7116 break; 7213 break;
7117 7214
7118 /* -- Returns ----------------------------------------------------------- */ 7215 /* -- Returns ----------------------------------------------------------- */
7119 7216
7120 case BC_RETM: 7217 case BC_RETM:
7121 dasm_put(Dst, 5247); 7218 dasm_put(Dst, 5318);
7122 break; 7219 break;
7123 7220
7124 case BC_RET: 7221 case BC_RET:
7125 dasm_put(Dst, 5254, FRAME_TYPE, FRAME_VARG, Dt7(->field_pc), PC2PROTO(k), ~LJ_TNIL, FRAME_TYPEP); 7222 dasm_put(Dst, 5325, FRAME_TYPE, FRAME_VARG, Dt7(->field_pc), PC2PROTO(k), ~LJ_TNIL, FRAME_TYPEP);
7126 break; 7223 break;
7127 7224
7128 case BC_RET0: case BC_RET1: 7225 case BC_RET0: case BC_RET1:
7129 dasm_put(Dst, 5319, FRAME_TYPE, FRAME_VARG); 7226 dasm_put(Dst, 5390, FRAME_TYPE, FRAME_VARG);
7130 if (op == BC_RET1) { 7227 if (op == BC_RET1) {
7131 dasm_put(Dst, 5330); 7228 dasm_put(Dst, 5401);
7132 } 7229 }
7133 dasm_put(Dst, 5332); 7230 dasm_put(Dst, 5403);
7134 if (op == BC_RET1) { 7231 if (op == BC_RET1) {
7135 dasm_put(Dst, 5335); 7232 dasm_put(Dst, 5406);
7136 } 7233 }
7137 dasm_put(Dst, 5337, Dt7(->field_pc), PC2PROTO(k), ~LJ_TNIL); 7234 dasm_put(Dst, 5408, Dt7(->field_pc), PC2PROTO(k), ~LJ_TNIL);
7138 break; 7235 break;
7139 7236
7140 /* -- Loops and branches ------------------------------------------------ */ 7237 /* -- Loops and branches ------------------------------------------------ */
@@ -7142,7 +7239,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
7142 7239
7143 case BC_FORL: 7240 case BC_FORL:
7144#if LJ_HASJIT 7241#if LJ_HASJIT
7145 dasm_put(Dst, 5363, -GG_DISP2HOT, HOTCOUNT_LOOP); 7242 dasm_put(Dst, 5434, -GG_DISP2HOT, HOTCOUNT_LOOP);
7146#endif 7243#endif
7147 break; 7244 break;
7148 7245
@@ -7154,68 +7251,68 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
7154 case BC_FORI: 7251 case BC_FORI:
7155 case BC_IFORL: 7252 case BC_IFORL:
7156 vk = (op == BC_IFORL || op == BC_JFORL); 7253 vk = (op == BC_IFORL || op == BC_JFORL);
7157 dasm_put(Dst, 5374); 7254 dasm_put(Dst, 5445);
7158 if (op != BC_JFORL) { 7255 if (op != BC_JFORL) {
7159 dasm_put(Dst, 5376); 7256 dasm_put(Dst, 5447);
7160 } 7257 }
7161 if (!vk) { 7258 if (!vk) {
7162 dasm_put(Dst, 5378, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM); 7259 dasm_put(Dst, 5449, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
7163 } else { 7260 } else {
7164 dasm_put(Dst, 5396, -LJ_TISNUM); 7261 dasm_put(Dst, 5467, -LJ_TISNUM);
7165 if (op == BC_IFORL) { 7262 if (op == BC_IFORL) {
7166 dasm_put(Dst, 5404); 7263 dasm_put(Dst, 5475);
7167 } else { 7264 } else {
7168 dasm_put(Dst, 5406); 7265 dasm_put(Dst, 5477);
7169 } 7266 }
7170 dasm_put(Dst, 5409); 7267 dasm_put(Dst, 5480);
7171 } 7268 }
7172 dasm_put(Dst, 5414); 7269 dasm_put(Dst, 5485);
7173 if (op == BC_FORI) { 7270 if (op == BC_FORI) {
7174 dasm_put(Dst, 5416); 7271 dasm_put(Dst, 5487);
7175 } else if (op == BC_JFORI) { 7272 } else if (op == BC_JFORI) {
7176 dasm_put(Dst, 5418); 7273 dasm_put(Dst, 5489);
7177 } else if (op == BC_IFORL) { 7274 } else if (op == BC_IFORL) {
7178 dasm_put(Dst, 5421); 7275 dasm_put(Dst, 5492);
7179 } 7276 }
7180 if (vk) { 7277 if (vk) {
7181 dasm_put(Dst, 5423); 7278 dasm_put(Dst, 5494);
7182 } 7279 }
7183 dasm_put(Dst, 5425); 7280 dasm_put(Dst, 5496);
7184 if (op == BC_JFORI || op == BC_JFORL) { 7281 if (op == BC_JFORI || op == BC_JFORL) {
7185 dasm_put(Dst, 5430, BC_JLOOP); 7282 dasm_put(Dst, 5501, BC_JLOOP);
7186 } 7283 }
7187 dasm_put(Dst, 5433); 7284 dasm_put(Dst, 5504);
7188 if (!vk) { 7285 if (!vk) {
7189 dasm_put(Dst, 5440); 7286 dasm_put(Dst, 5511);
7190 } else { 7287 } else {
7191 dasm_put(Dst, 5442); 7288 dasm_put(Dst, 5513);
7192 } 7289 }
7193 dasm_put(Dst, 5444); 7290 dasm_put(Dst, 5515);
7194 if (!vk) { 7291 if (!vk) {
7195 dasm_put(Dst, 5448, -LJ_TISNUM, -LJ_TISNUM); 7292 dasm_put(Dst, 5519, -LJ_TISNUM, -LJ_TISNUM);
7196 } else { 7293 } else {
7197 dasm_put(Dst, 5460); 7294 dasm_put(Dst, 5531);
7198 } 7295 }
7199 dasm_put(Dst, 5469); 7296 dasm_put(Dst, 5540);
7200 if (op == BC_FORI) { 7297 if (op == BC_FORI) {
7201 dasm_put(Dst, 5473); 7298 dasm_put(Dst, 5544);
7202 } else if (op == BC_JFORI) { 7299 } else if (op == BC_JFORI) {
7203 dasm_put(Dst, 5475, BC_JLOOP); 7300 dasm_put(Dst, 5546, BC_JLOOP);
7204 } else if (op == BC_IFORL) { 7301 } else if (op == BC_IFORL) {
7205 dasm_put(Dst, 5480); 7302 dasm_put(Dst, 5551);
7206 } else { 7303 } else {
7207 dasm_put(Dst, 5482, BC_JLOOP); 7304 dasm_put(Dst, 5553, BC_JLOOP);
7208 } 7305 }
7209 dasm_put(Dst, 5485); 7306 dasm_put(Dst, 5556);
7210 if (vk) { 7307 if (vk) {
7211 dasm_put(Dst, 5491); 7308 dasm_put(Dst, 5562);
7212 } 7309 }
7213 dasm_put(Dst, 5496); 7310 dasm_put(Dst, 5567);
7214 break; 7311 break;
7215 7312
7216 case BC_ITERL: 7313 case BC_ITERL:
7217#if LJ_HASJIT 7314#if LJ_HASJIT
7218 dasm_put(Dst, 5502, -GG_DISP2HOT, HOTCOUNT_LOOP); 7315 dasm_put(Dst, 5573, -GG_DISP2HOT, HOTCOUNT_LOOP);
7219#endif 7316#endif
7220 break; 7317 break;
7221 7318
@@ -7224,40 +7321,40 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
7224 break; 7321 break;
7225#endif 7322#endif
7226 case BC_IITERL: 7323 case BC_IITERL:
7227 dasm_put(Dst, 5513); 7324 dasm_put(Dst, 5584);
7228 if (op == BC_JITERL) { 7325 if (op == BC_JITERL) {
7229 dasm_put(Dst, 5515, -LJ_TNIL, BC_JLOOP); 7326 dasm_put(Dst, 5586, -LJ_TNIL, BC_JLOOP);
7230 } else { 7327 } else {
7231 dasm_put(Dst, 5521, -LJ_TNIL); 7328 dasm_put(Dst, 5592, -LJ_TNIL);
7232 } 7329 }
7233 dasm_put(Dst, 5527); 7330 dasm_put(Dst, 5598);
7234 break; 7331 break;
7235 7332
7236 case BC_LOOP: 7333 case BC_LOOP:
7237#if LJ_HASJIT 7334#if LJ_HASJIT
7238 dasm_put(Dst, 5534, -GG_DISP2HOT, HOTCOUNT_LOOP); 7335 dasm_put(Dst, 5605, -GG_DISP2HOT, HOTCOUNT_LOOP);
7239#endif 7336#endif
7240 break; 7337 break;
7241 7338
7242 case BC_ILOOP: 7339 case BC_ILOOP:
7243 dasm_put(Dst, 5545); 7340 dasm_put(Dst, 5616);
7244 break; 7341 break;
7245 7342
7246 case BC_JLOOP: 7343 case BC_JLOOP:
7247#if LJ_HASJIT 7344#if LJ_HASJIT
7248 dasm_put(Dst, 5552, DISPATCH_J(trace), DISPATCH_GL(vmstate), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 7345 dasm_put(Dst, 5623, DISPATCH_J(trace), DISPATCH_GL(vmstate), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
7249#endif 7346#endif
7250 break; 7347 break;
7251 7348
7252 case BC_JMP: 7349 case BC_JMP:
7253 dasm_put(Dst, 5566); 7350 dasm_put(Dst, 5637);
7254 break; 7351 break;
7255 7352
7256 /* -- Function headers -------------------------------------------------- */ 7353 /* -- Function headers -------------------------------------------------- */
7257 7354
7258 case BC_FUNCF: 7355 case BC_FUNCF:
7259#if LJ_HASJIT 7356#if LJ_HASJIT
7260 dasm_put(Dst, 5575, -GG_DISP2HOT, HOTCOUNT_CALL); 7357 dasm_put(Dst, 5646, -GG_DISP2HOT, HOTCOUNT_CALL);
7261#endif 7358#endif
7262 case BC_FUNCV: /* NYI: compiled vararg functions. */ 7359 case BC_FUNCV: /* NYI: compiled vararg functions. */
7263 break; 7360 break;
@@ -7267,42 +7364,42 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
7267 break; 7364 break;
7268#endif 7365#endif
7269 case BC_IFUNCF: 7366 case BC_IFUNCF:
7270 dasm_put(Dst, 5586, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k)); 7367 dasm_put(Dst, 5657, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k));
7271 if (op != BC_JFUNCF) { 7368 if (op != BC_JFUNCF) {
7272 dasm_put(Dst, 5596); 7369 dasm_put(Dst, 5667);
7273 } 7370 }
7274 dasm_put(Dst, 5599, ~LJ_TNIL); 7371 dasm_put(Dst, 5670, ~LJ_TNIL);
7275 if (op == BC_JFUNCF) { 7372 if (op == BC_JFUNCF) {
7276 dasm_put(Dst, 5606, BC_JLOOP); 7373 dasm_put(Dst, 5677, BC_JLOOP);
7277 } else { 7374 } else {
7278 dasm_put(Dst, 5610); 7375 dasm_put(Dst, 5681);
7279 } 7376 }
7280 dasm_put(Dst, 5615); 7377 dasm_put(Dst, 5686);
7281 break; 7378 break;
7282 7379
7283 case BC_JFUNCV: 7380 case BC_JFUNCV:
7284#if !LJ_HASJIT 7381#if !LJ_HASJIT
7285 break; 7382 break;
7286#endif 7383#endif
7287 dasm_put(Dst, 5621); 7384 dasm_put(Dst, 5692);
7288 break; /* NYI: compiled vararg functions. */ 7385 break; /* NYI: compiled vararg functions. */
7289 7386
7290 case BC_IFUNCV: 7387 case BC_IFUNCV:
7291 dasm_put(Dst, 5623, Dt1(->maxstack), 8+FRAME_VARG, -4+PC2PROTO(k), -4+PC2PROTO(numparams), ~LJ_TNIL); 7388 dasm_put(Dst, 5694, Dt1(->maxstack), 8+FRAME_VARG, -4+PC2PROTO(k), -4+PC2PROTO(numparams), ~LJ_TNIL);
7292 break; 7389 break;
7293 7390
7294 case BC_FUNCC: 7391 case BC_FUNCC:
7295 case BC_FUNCCW: 7392 case BC_FUNCCW:
7296 if (op == BC_FUNCC) { 7393 if (op == BC_FUNCC) {
7297 dasm_put(Dst, 5664, Dt8(->f)); 7394 dasm_put(Dst, 5735, Dt8(->f));
7298 } else { 7395 } else {
7299 dasm_put(Dst, 5667, DISPATCH_GL(wrapf)); 7396 dasm_put(Dst, 5738, DISPATCH_GL(wrapf));
7300 } 7397 }
7301 dasm_put(Dst, 5670, Dt1(->maxstack), Dt1(->base), Dt1(->top)); 7398 dasm_put(Dst, 5741, Dt1(->maxstack), Dt1(->base), Dt1(->top));
7302 if (op == BC_FUNCCW) { 7399 if (op == BC_FUNCCW) {
7303 dasm_put(Dst, 5680, Dt8(->f)); 7400 dasm_put(Dst, 5751, Dt8(->f));
7304 } 7401 }
7305 dasm_put(Dst, 5683, LJ_VMST_C, DISPATCH_GL(vmstate), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate)); 7402 dasm_put(Dst, 5754, LJ_VMST_C, DISPATCH_GL(vmstate), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate));
7306 break; 7403 break;
7307 7404
7308 /* ---------------------------------------------------------------------- */ 7405 /* ---------------------------------------------------------------------- */
@@ -7322,7 +7419,7 @@ static int build_backend(BuildCtx *ctx)
7322 7419
7323 build_subroutines(ctx); 7420 build_subroutines(ctx);
7324 7421
7325 dasm_put(Dst, 5705); 7422 dasm_put(Dst, 5776);
7326 for (op = 0; op < BC__MAX; op++) 7423 for (op = 0; op < BC__MAX; op++)
7327 build_ins(ctx, (BCOp)op, op); 7424 build_ins(ctx, (BCOp)op, op);
7328 7425
diff --git a/src/lj_ccallback.c b/src/lj_ccallback.c
index c0668e41..f3474588 100644
--- a/src/lj_ccallback.c
+++ b/src/lj_ccallback.c
@@ -43,6 +43,13 @@ static MSize CALLBACK_OFS2SLOT(MSize ofs)
43#define CALLBACK_MAX_SLOT \ 43#define CALLBACK_MAX_SLOT \
44 (((CALLBACK_MCODE_SIZE-CALLBACK_MCODE_HEAD)/(CALLBACK_MCODE_GROUP+4*32))*32) 44 (((CALLBACK_MCODE_SIZE-CALLBACK_MCODE_HEAD)/(CALLBACK_MCODE_GROUP+4*32))*32)
45 45
46#elif LJ_TARGET_ARM
47
48#define CALLBACK_MCODE_HEAD 32
49#define CALLBACK_SLOT2OFS(slot) (CALLBACK_MCODE_HEAD + 8*(slot))
50#define CALLBACK_OFS2SLOT(ofs) (((ofs)-CALLBACK_MCODE_HEAD)/8)
51#define CALLBACK_MAX_SLOT (CALLBACK_OFS2SLOT(CALLBACK_MCODE_SIZE))
52
46#elif LJ_TARGET_PPC 53#elif LJ_TARGET_PPC
47 54
48#define CALLBACK_MCODE_HEAD 24 55#define CALLBACK_MCODE_HEAD 24
@@ -110,6 +117,28 @@ static void callback_mcode_init(global_State *g, uint8_t *page)
110 } 117 }
111 lua_assert(p - page <= CALLBACK_MCODE_SIZE); 118 lua_assert(p - page <= CALLBACK_MCODE_SIZE);
112} 119}
120#elif LJ_TARGET_ARM
121static void callback_mcode_init(global_State *g, uint32_t *page)
122{
123 uint32_t *p = page;
124 void *target = (void *)lj_vm_ffi_callback;
125 MSize slot;
126 /* This must match with the saveregs macro in buildvm_arm.dasc. */
127 *p++ = ARMI_SUB|ARMF_D(RID_R12)|ARMF_N(RID_R12)|ARMF_M(RID_PC);
128 *p++ = ARMI_PUSH|ARMF_N(RID_SP)|RSET_RANGE(RID_R4,RID_R11+1)|RID2RSET(RID_LR);
129 *p++ = ARMI_SUB|ARMI_K12|ARMF_D(RID_R12)|ARMF_N(RID_R12)|CALLBACK_MCODE_HEAD;
130 *p++ = ARMI_STR|ARMI_LS_P|ARMI_LS_W|ARMF_D(RID_R12)|ARMF_N(RID_SP)|(CFRAME_SIZE-4*9);
131 *p++ = ARMI_LDR|ARMI_LS_P|ARMI_LS_U|ARMF_D(RID_R12)|ARMF_N(RID_PC);
132 *p++ = ARMI_LDR|ARMI_LS_P|ARMI_LS_U|ARMF_D(RID_PC)|ARMF_N(RID_PC);
133 *p++ = u32ptr(g);
134 *p++ = u32ptr(target);
135 for (slot = 0; slot < CALLBACK_MAX_SLOT; slot++) {
136 *p++ = ARMI_MOV|ARMF_D(RID_R12)|ARMF_M(RID_PC);
137 *p = ARMI_B | ((page-p-2) & 0x00ffffffu);
138 p++;
139 }
140 lua_assert(p - page <= CALLBACK_MCODE_SIZE);
141}
113#elif LJ_TARGET_PPC 142#elif LJ_TARGET_PPC
114static void callback_mcode_init(global_State *g, uint32_t *page) 143static void callback_mcode_init(global_State *g, uint32_t *page)
115{ 144{
@@ -245,7 +274,12 @@ void lj_ccallback_mcode_free(CTState *cts)
245#elif LJ_TARGET_ARM 274#elif LJ_TARGET_ARM
246 275
247#define CALLBACK_HANDLE_REGARG \ 276#define CALLBACK_HANDLE_REGARG \
248 UNUSED(ngpr); UNUSED(maxgpr); goto done; /* NYI */ 277 if (n > 1) ngpr = (ngpr + 1u) & ~1u; /* Align to regpair. */ \
278 if (ngpr + n <= maxgpr) { \
279 sp = &cts->cb.gpr[ngpr]; \
280 ngpr += n; \
281 goto done; \
282 }
249 283
250#elif LJ_TARGET_PPC 284#elif LJ_TARGET_PPC
251 285
diff --git a/src/lj_errmsg.h b/src/lj_errmsg.h
index 4a4fec68..10c8395d 100644
--- a/src/lj_errmsg.h
+++ b/src/lj_errmsg.h
@@ -161,11 +161,7 @@ ERRDEF(FFI_BADIDX, LUA_QS " cannot be indexed")
161ERRDEF(FFI_WRCONST, "attempt to write to constant location") 161ERRDEF(FFI_WRCONST, "attempt to write to constant location")
162ERRDEF(FFI_NODECL, "missing declaration for symbol " LUA_QS) 162ERRDEF(FFI_NODECL, "missing declaration for symbol " LUA_QS)
163ERRDEF(FFI_BADCBACK, "bad callback") 163ERRDEF(FFI_BADCBACK, "bad callback")
164#if LJ_TARGET_X86ORX64 || LJ_TARGET_PPC
165ERRDEF(FFI_CBACKOV, "too many callbacks") 164ERRDEF(FFI_CBACKOV, "too many callbacks")
166#else
167ERRDEF(FFI_CBACKOV, "no support for callbacks (yet)")
168#endif
169ERRDEF(FFI_NYIPACKBIT, "NYI: packed bit fields") 165ERRDEF(FFI_NYIPACKBIT, "NYI: packed bit fields")
170ERRDEF(FFI_NYICALL, "NYI: cannot call this C function (yet)") 166ERRDEF(FFI_NYICALL, "NYI: cannot call this C function (yet)")
171#endif 167#endif
diff --git a/src/lj_target_arm.h b/src/lj_target_arm.h
index 0f50cf9c..b4b26d4d 100644
--- a/src/lj_target_arm.h
+++ b/src/lj_target_arm.h
@@ -139,6 +139,7 @@ typedef enum ARMIns {
139 ARMI_S = 0x000100000, 139 ARMI_S = 0x000100000,
140 ARMI_K12 = 0x02000000, 140 ARMI_K12 = 0x02000000,
141 ARMI_KNEG = 0x00200000, 141 ARMI_KNEG = 0x00200000,
142 ARMI_LS_W = 0x00200000,
142 ARMI_LS_U = 0x00800000, 143 ARMI_LS_U = 0x00800000,
143 ARMI_LS_P = 0x01000000, 144 ARMI_LS_P = 0x01000000,
144 ARMI_LS_R = 0x02000000, 145 ARMI_LS_R = 0x02000000,
@@ -176,6 +177,7 @@ typedef enum ARMIns {
176 ARMI_STRB = 0xe4400000, 177 ARMI_STRB = 0xe4400000,
177 ARMI_STRH = 0xe00000b0, 178 ARMI_STRH = 0xe00000b0,
178 ARMI_STRD = 0xe00000f0, 179 ARMI_STRD = 0xe00000f0,
180 ARMI_PUSH = 0xe92d0000,
179 181
180 ARMI_B = 0xea000000, 182 ARMI_B = 0xea000000,
181 ARMI_BL = 0xeb000000, 183 ARMI_BL = 0xeb000000,