@@ -342,14 +342,6 @@ installing the mingw32 package and running:
make HOST_CC="gcc -m32" CROSS=i586-mingw32msvc- TARGET_SYS=Windows
-Whenever the host OS and the target OS differ, you need to specify
-TARGET_SYS or you'll get assembler or linker errors. E.g. if
-you're compiling on a Windows or OSX host for embedded Linux or Android,
-you need to add TARGET_SYS=Linux to the examples below. For a
-minimal target OS, you may need to disable the built-in allocator in
-src/Makefile and use TARGET_SYS=Other.
-
-
You can cross-compile for an ARM target on an x86 or x64 host
system using a standard GNU cross-compile toolchain (Binutils, GCC,
EGLIBC). The CROSS prefix may vary depending on the
@@ -359,7 +351,7 @@ EGLIBC). The CROSS prefix may vary depending on the
make HOST_CC="gcc -m32" CROSS=arm-linux-gnueabi- TARGET=arm
-You can cross-compile for Android (ARM) using the » Android NDK.
+You can cross-compile for Android (ARM) using the » Android NDK.
The environment variables need to match the install locations and the
desired target platform. E.g. Android 2.2 corresponds to ABI level 8:
@@ -372,6 +364,18 @@ NDKF="--sysroot $NDK/platforms/android-$NDKABI/arch-arm"
make HOST_CC="gcc -m32" CROSS=$NDKP TARGET_FLAGS="$NDKF" TARGET=arm
+You can cross-compile for iOS 3.0+ (iPhone/iPad) using the » iOS SDK.
+The environment variables need to match the iOS SDK version:
+
+
+ISDK=/Developer/Platforms/iPhoneOS.platform/Developer
+ISDKVER=iPhoneOS4.3.sdk
+ISDKP=$ISDK/usr/bin/
+ISDKF="-arch armv6 -isysroot $ISDK/SDKs/$ISDKVER"
+make HOST_CC="gcc -m32 -arch i386" CROSS=$ISDKP TARGET_FLAGS="$ISDKF" \
+ TARGET=arm TARGET_SYS=iOS
+
+
You can cross-compile for a PPC/e500v2 target on an x86 or x64 host system
using a standard GNU cross-compile toolchain (Binutils, GCC, EGLIBC).
The CROSS prefix may vary depending on the --target
@@ -380,6 +384,14 @@ of the toolchain:
make HOST_CC="gcc -m32" CROSS=powerpc-e500v2-linux-gnuspe- TARGET=ppcspe
+
+Whenever the host OS and the target OS differ, you need to specify
+TARGET_SYS or you'll get assembler or linker errors. E.g. if
+you're compiling on a Windows or OSX host for embedded Linux or Android,
+you need to add TARGET_SYS=Linux to the examples above. For a
+minimal target OS, you may need to disable the built-in allocator in
+src/Makefile and use TARGET_SYS=Other.
+
Embedding LuaJIT
diff --git a/src/Makefile b/src/Makefile
index 43d926e8..4e426c30 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -282,6 +282,16 @@ ifeq (Darwin,$(TARGET_SYS))
TARGET_XLDFLAGS+= -pagezero_size 10000 -image_base 100000000
TARGET_XSHLDFLAGS+= -image_base 7fff04c4a000
endif
+else
+ifeq (iOS,$(TARGET_SYS))
+ TARGET_STRIP+= -x
+ TARGET_AR+= 2>/dev/null
+ TARGET_XSHLDFLAGS= -dynamiclib -single_module -undefined dynamic_lookup -fPIC
+ HOST_XCFLAGS+= -DLUAJIT_OS=LUAJIT_OS_OSX
+ ifneq (,$(TARGET_DYNXLDOPTS))
+ TARGET_DYNXLDOPTS=
+ TARGET_XSHLDFLAGS+= -install_name $(PREFIX)/lib/$(TARGET_DYLIBNAME)
+ endif
else
TARGET_XLDFLAGS+= -Wl,-E
ifeq (Linux,$(TARGET_SYS))
@@ -292,6 +302,7 @@ else
endif
endif
endif
+endif
ifneq (,$(CCDEBUG))
TARGET_STRIP= @:
@@ -390,6 +401,9 @@ endif
ifeq (Darwin,$(TARGET_SYS))
LJVM_MODE= machasm
endif
+ifeq (iOS,$(TARGET_SYS))
+ LJVM_MODE= machasm
+endif
ifeq (static,$(BUILDMODE))
TARGET_DYNCC= @:
@@ -409,6 +423,10 @@ ifeq (Darwin,$(TARGET_SYS))
TARGET_DYNCC= @:
LJVMCORE_DYNO= $(LJVMCORE_O)
endif
+ifeq (iOS,$(TARGET_SYS))
+ TARGET_DYNCC= @:
+ LJVMCORE_DYNO= $(LJVMCORE_O)
+endif
endif
endif
diff --git a/src/buildvm.c b/src/buildvm.c
index 152c95f0..3a99c834 100644
--- a/src/buildvm.c
+++ b/src/buildvm.c
@@ -425,7 +425,7 @@ int main(int argc, char **argv)
if (sizeof(void *) != 4*LJ_32+8*LJ_64) {
fprintf(stderr,"Error: pointer size mismatch in cross-build.\n");
- fprintf(stderr,"Try: make CC=\"gcc -m32\" CROSS=... TARGET=...\n\n");
+ fprintf(stderr,"Try: make HOST_CC=\"gcc -m32\" CROSS=... TARGET=...\n\n");
return 1;
}
diff --git a/src/buildvm_arm.dasc b/src/buildvm_arm.dasc
index 9032c9c2..dadfc734 100644
--- a/src/buildvm_arm.dasc
+++ b/src/buildvm_arm.dasc
@@ -17,13 +17,15 @@
|
|// Fixed register assignments for the interpreter.
|
-|// The following must be C callee-save (but BASE is often refetched).
-|.define BASE, r4 // Base of current Lua stack frame.
+|// The following must be C callee-save.
+|.define MASKR8, r4 // 255*8 constant for fast bytecode decoding.
|.define KBASE, r5 // Constants of current Lua function.
|.define PC, r6 // Next PC.
|.define DISPATCH, r7 // Opcode dispatch table.
|.define LREG, r8 // Register holding lua_State (also in SAVE_L).
-|.define MASKR8, r9 // 255*8 constant for fast bytecode decoding.
+|
+|// C callee-save in EABI, but often refetched. Temporary in iOS 3.0+.
+|.define BASE, r9 // Base of current Lua stack frame.
|
|// The following temporaries are not saved across C calls, except for RA/RC.
|.define RA, r10 // Callee-save.
@@ -204,6 +206,12 @@
| str tmp, tab->gclist
|.endmacro
|
+|.macro IOS, a, b
+||if (LJ_TARGET_OSX) {
+| a, b
+||}
+|.endmacro
+|
|//-----------------------------------------------------------------------
#if !LJ_DUALNUM
@@ -550,6 +558,7 @@ static void build_subroutines(BuildCtx *ctx)
| str PC, SAVE_PC
| bl extern lj_meta_tget // (lua_State *L, TValue *o, TValue *k)
| // Returns TValue * (finished) or NULL (metamethod).
+ | IOS ldr BASE, L->base
| cmp CRET1, #0
| beq >3
| ldrd CARG34, [CRET1]
@@ -604,6 +613,7 @@ static void build_subroutines(BuildCtx *ctx)
| str PC, SAVE_PC
| bl extern lj_meta_tset // (lua_State *L, TValue *o, TValue *k)
| // Returns TValue * (finished) or NULL (metamethod).
+ | IOS ldr BASE, L->base
| cmp CRET1, #0
| ldrd CARG34, [BASE, RA]
| beq >3
@@ -637,6 +647,7 @@ static void build_subroutines(BuildCtx *ctx)
| bl extern lj_meta_comp // (lua_State *L, TValue *o1, *o2, int op)
| // Returns 0/1 or TValue * (metamethod).
|3:
+ | IOS ldr BASE, L->base
| cmp CRET1, #1
| bhi ->vmeta_binop
|4:
@@ -724,6 +735,7 @@ static void build_subroutines(BuildCtx *ctx)
| str OP, ARG5
| bl extern lj_meta_arith // (lua_State *L, TValue *ra,*rb,*rc, BCReg op)
| // Returns NULL (finished) or TValue * (metamethod).
+ | IOS ldr BASE, L->base
| cmp CRET1, #0
| beq ->cont_nop
|
@@ -744,6 +756,7 @@ static void build_subroutines(BuildCtx *ctx)
| str PC, SAVE_PC
| bl extern lj_meta_len // (lua_State *L, TValue *o)
| // Returns TValue * (metamethod base).
+ | IOS ldr BASE, L->base
| b ->vmeta_binop // Binop call for compatibility.
|
|//-- Call metamethod ----------------------------------------------------
@@ -755,7 +768,9 @@ static void build_subroutines(BuildCtx *ctx)
| sub CARG2, BASE, #8
| str PC, SAVE_PC
| add CARG3, BASE, NARGS8:RC
+ | IOS mov RA, BASE
| bl extern lj_meta_call // (lua_State *L, TValue *func, TValue *top)
+ | IOS mov BASE, RA
| ldr LFUNC:CARG3, [BASE, FRAME_FUNC] // Guaranteed to be a function here.
| add NARGS8:RC, NARGS8:RC, #8 // Got one more argument now.
| ins_call
@@ -768,6 +783,7 @@ static void build_subroutines(BuildCtx *ctx)
| str PC, SAVE_PC
| add CARG3, RA, NARGS8:RC
| bl extern lj_meta_call // (lua_State *L, TValue *func, TValue *top)
+ | IOS ldr BASE, L->base
| ldr LFUNC:CARG3, [RA, FRAME_FUNC] // Guaranteed to be a function here.
| ldr PC, [BASE, FRAME_PC]
| add NARGS8:RC, NARGS8:RC, #8 // Got one more argument now.
@@ -781,6 +797,7 @@ static void build_subroutines(BuildCtx *ctx)
| mov CARG2, RA
| str PC, SAVE_PC
| bl extern lj_meta_for // (lua_State *L, TValue *base)
+ | IOS ldr BASE, L->base
#if LJ_HASJIT
| ldrb OP, [PC, #-4]
#endif
@@ -935,8 +952,10 @@ static void build_subroutines(BuildCtx *ctx)
| checktab CARG4, ->fff_fallback
| mov CARG1, L
| add CARG3, BASE, #8
+ | IOS mov RA, BASE
| bl extern lj_tab_get // (lua_State *L, GCtab *t, cTValue *key)
| // Returns cTValue *.
+ | IOS mov BASE, RA
| ldrd CARG12, [CRET1]
| b ->fff_restv
|
@@ -984,6 +1003,7 @@ static void build_subroutines(BuildCtx *ctx)
| str PC, SAVE_PC
| bl extern lj_tab_next // (lua_State *L, GCtab *t, TValue *key)
| // Returns 0 at end of traversal.
+ | IOS ldr BASE, L->base
| cmp CRET1, #0
| mvneq CRET2, #~LJ_TNIL
| beq ->fff_restv // End of traversal: return nil.
@@ -1035,8 +1055,10 @@ static void build_subroutines(BuildCtx *ctx)
| mov CARG2, CARG3
| cmp RB, #0
| beq ->fff_res
+ | IOS mov RA, BASE
| bl extern lj_tab_getinth // (GCtab *t, int32_t key)
| // Returns cTValue * or NULL.
+ | IOS mov BASE, RA
| cmp CRET1, #0
| beq ->fff_res
| ldrd CARG12, [CRET1]
@@ -1275,7 +1297,9 @@ static void build_subroutines(BuildCtx *ctx)
| bmi <1
|4:
| // NYI: Use internal implementation.
+ | IOS mov RA, BASE
| bl extern func
+ | IOS mov BASE, RA
| b ->fff_restv
|.endmacro
|
@@ -1330,13 +1354,17 @@ static void build_subroutines(BuildCtx *ctx)
|
|.macro math_extern, func
| .ffunc_n math_ .. func
+ | IOS mov RA, BASE
| bl extern func
+ | IOS mov BASE, RA
| b ->fff_restv
|.endmacro
|
|.macro math_extern2, func
| .ffunc_nn math_ .. func
+ | IOS mov RA, BASE
| bl extern func
+ | IOS mov BASE, RA
| b ->fff_restv
|.endmacro
|
@@ -1368,12 +1396,16 @@ static void build_subroutines(BuildCtx *ctx)
| bhs ->fff_fallback
| checktp CARG4, LJ_TISNUM
| bne ->fff_fallback
+ | IOS mov RA, BASE
| bl extern ldexp // (double x, int exp)
+ | IOS mov BASE, RA
| b ->fff_restv
|
|.ffunc_n math_frexp
| mov CARG3, sp
+ | IOS mov RA, BASE
| bl extern frexp
+ | IOS mov BASE, RA
| ldr CARG3, [sp]
| mvn CARG4, #~LJ_TISNUM
| ldr PC, [BASE, FRAME_PC]
@@ -1385,7 +1417,9 @@ static void build_subroutines(BuildCtx *ctx)
|.ffunc_n math_modf
| sub CARG3, BASE, #8
| ldr PC, [BASE, FRAME_PC]
+ | IOS mov RA, BASE
| bl extern modf
+ | IOS mov BASE, RA
| mov RC, #(2+1)*8
| strd CARG12, [BASE]
| b ->fff_res
@@ -1600,8 +1634,10 @@ static void build_subroutines(BuildCtx *ctx)
|
|.ffunc_1 table_getn
| checktab CARG2, ->fff_fallback
+ | IOS mov RA, BASE
| bl extern lj_tab_len // (GCtab *t)
| // Returns uint32_t (but less than 2^31).
+ | IOS mov BASE, RA
| mvn CARG2, #~LJ_TISNUM
| b ->fff_restv
|
@@ -2347,8 +2383,10 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
| ins_next3
|2:
| checktab CARG2, ->vmeta_len
+ | IOS mov RC, BASE
| bl extern lj_tab_len // (GCtab *t)
| // Returns uint32_t (but less than 2^31).
+ | IOS mov BASE, RC
| b <1
break;
@@ -2434,8 +2472,12 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
| ins_next3
|5: // FP variant.
| ins_arithfallback ins_arithcheck_num
+ |.if "intins" == "vm_modi"
+ | IOS mov RC, BASE
+ | bl fpcall
+ | IOS mov BASE, RC // NYI: remove once we use internal impl. of floor.
+ |.else
| bl fpcall
- |.if "intins" ~= "vm_modi"
| ins_next1
|.endif
| b <4
@@ -2444,7 +2486,13 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
|.macro ins_arithfp, fpcall
| ins_arithpre
| ins_arithfallback ins_arithcheck_num
+ |.if "fpcall" == "extern pow"
+ | IOS mov RC, BASE
| bl fpcall
+ | IOS mov BASE, RC
+ |.else
+ | bl fpcall
+ |.endif
| ins_next1
| ins_next2
| strd CARG12, [BASE, RA]
@@ -2602,7 +2650,14 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
| sub CARG1, DISPATCH, #-GG_DISP2G
| tst RC, #LJ_GC_WHITES
| // Crossed a write barrier. Move the barrier forward.
- | blne extern lj_gc_barrieruv // (global_State *g, TValue *tv)
+ if (LJ_TARGET_OSX) {
+ | beq <1
+ | mov RC, BASE
+ | bl extern lj_gc_barrieruv // (global_State *g, TValue *tv)
+ | mov BASE, RC
+ } else {
+ | blne extern lj_gc_barrieruv // (global_State *g, TValue *tv)
+ }
| b <1
break;
case BC_USETS:
@@ -2629,7 +2684,14 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
| cmpne RC, #0
| sub CARG1, DISPATCH, #-GG_DISP2G
| // Crossed a write barrier. Move the barrier forward.
- | blne extern lj_gc_barrieruv // (global_State *g, TValue *tv)
+ if (LJ_TARGET_OSX) {
+ | beq <1
+ | mov RC, BASE
+ | bl extern lj_gc_barrieruv // (global_State *g, TValue *tv)
+ | mov BASE, RC
+ } else {
+ | blne extern lj_gc_barrieruv // (global_State *g, TValue *tv)
+ }
| b <1
break;
case BC_USETN:
@@ -3072,6 +3134,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
| str PC, SAVE_PC
| bl extern lj_tab_reasize // (lua_State *L, GCtab *t, int nasize)
| // Must not reallocate the stack.
+ | IOS ldr BASE, L->base
| b <1
|
|7: // Possible table write barrier for any value. Skip valiswhite check.
diff --git a/src/buildvm_arm.h b/src/buildvm_arm.h
index 70c21538..a5f16897 100644
--- a/src/buildvm_arm.h
+++ b/src/buildvm_arm.h
@@ -12,7 +12,7 @@
#define DASM_SECTION_CODE_OP 0
#define DASM_SECTION_CODE_SUB 1
#define DASM_MAXSECTION 2
-static const unsigned int build_actionlist[5200] = {
+static const unsigned int build_actionlist[5407] = {
0x00010001,
0x00060014,
0xe3160000,
@@ -22,7 +22,7 @@ static const unsigned int build_actionlist[5200] = {
0xe51c6004,
0xe3e01000,
0x000a0000,
-0xe1a0400c,
+0xe1a0900c,
0xe50a1004,
0xe24aa008,
0x00060016,
@@ -37,7 +37,7 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0xe3500000,
0x000a0000,
-0xe044c00c,
+0xe049c00c,
0x1a000000,
0x00050014,
0xe508c000,
@@ -45,7 +45,7 @@ static const unsigned int build_actionlist[5200] = {
0xe59d5014,
0xe3e03000,
0x000a0000,
-0xe2444008,
+0xe2499008,
0xe25b2008,
0xe1a05185,
0xe5073000,
@@ -55,7 +55,7 @@ static const unsigned int build_actionlist[5200] = {
0x0006000b,
0xe2522008,
0xe0ca00d8,
-0xe0c400f8,
+0xe0c900f8,
0x1a000000,
0x0005000b,
0x0006000c,
@@ -63,7 +63,7 @@ static const unsigned int build_actionlist[5200] = {
0x1a000000,
0x00050006,
0x0006000d,
-0xe5084000,
+0xe5089000,
0x000d8180,
0x00060019,
0x00000000,
@@ -81,28 +81,28 @@ static const unsigned int build_actionlist[5200] = {
0x000d8180,
0xe3e01000,
0x000a0000,
-0xe1540002,
+0xe1590002,
0x2a000000,
0x00050008,
-0xe5841004,
+0xe5891004,
0xe28bb008,
-0xe2844008,
+0xe2899008,
0xea000000,
0x0005000c,
0x00060011,
0xe04b0005,
0xe3550000,
-0x10444000,
+0x10499000,
0xea000000,
0x0005000d,
0x00060012,
-0xe5084000,
+0xe5089000,
0x000d8180,
0xe1a01005,
0xe1a00008,
0xeb000000,
0x00030000,
-0xe5184000,
+0xe5189000,
0x000d8180,
0xea000000,
0x0005000c,
@@ -125,22 +125,22 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x0006001e,
0xe59d800c,
-0xe3a090ff,
+0xe3a040ff,
0xe3a0b010,
-0xe1a09189,
-0xe5184000,
+0xe1a04184,
+0xe5189000,
0x000d8180,
0xe5187000,
0x000d8180,
0xe3e00000,
0x000a0000,
-0xe244a008,
-0xe5146004,
+0xe249a008,
+0xe5196004,
0xe2877000,
0x000a0000,
0xe3e01000,
0x000a0000,
-0xe5040004,
+0xe5090004,
0xe5071000,
0x000d8180,
0xea000000,
@@ -151,10 +151,10 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050002,
0x00060020,
-0xe084b00b,
-0xe04aa004,
+0xe089b00b,
+0xe04aa009,
0xe1a00008,
-0xe5084000,
+0xe5089000,
0x000d8180,
0xe2866004,
0xe508b000,
@@ -164,19 +164,19 @@ static const unsigned int build_actionlist[5200] = {
0xe58d6008,
0xeb000000,
0x00030000,
-0xe5184000,
+0xe5189000,
0x000d8180,
0xe518b000,
0x000d8180,
-0xe5142008,
-0xe04bb004,
+0xe5192008,
+0xe04bb009,
0xe5126000,
0x000d8180,
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
-0xe08aa004,
+0xe004a2ae,
+0xe08aa009,
0xe12fff1c,
0x00060021,
0xe92d4ff0,
@@ -185,7 +185,7 @@ static const unsigned int build_actionlist[5200] = {
0xe5107000,
0x000d8180,
0x00000000,
-0xe1a04001,
+0xe1a09001,
0xe2877000,
0x000a0000,
0xe58d800c,
@@ -204,17 +204,17 @@ static const unsigned int build_actionlist[5200] = {
0xe58d8008,
0x0a000000,
0x00050003,
-0xe1a0a004,
-0xe5184000,
+0xe1a0a009,
+0xe5189000,
0x000d8180,
0xe5180000,
0x000d8180,
-0xe3a090ff,
+0xe3a040ff,
0xe5482000,
0x000d8180,
-0xe040b004,
-0xe5146004,
-0xe1a09189,
+0xe040b009,
+0xe5196004,
+0xe1a04184,
0xe3e01000,
0x000a0000,
0xe28bb008,
@@ -246,7 +246,7 @@ static const unsigned int build_actionlist[5200] = {
0xe58d2014,
0xe1a08000,
0xe58d000c,
-0xe1a04001,
+0xe1a09001,
0xe508d000,
0x000d8180,
0x00000000,
@@ -261,30 +261,30 @@ static const unsigned int build_actionlist[5200] = {
0x000d8180,
0xe5180000,
0x000d8180,
-0xe3a090ff,
-0xe0866004,
-0xe1a09189,
+0xe3a040ff,
+0xe0866009,
+0xe1a04184,
0xe046600c,
0xe3e01000,
0x000a0000,
-0xe040b004,
+0xe040b009,
0xe5071000,
0x000d8180,
0x00060024,
-0xe14420d8,
+0xe14920d8,
0xe3730000,
0x000a0000,
0x1a000000,
0x00050025,
0x00060026,
-0xe5046004,
+0xe5096004,
0xe5126000,
0x000d8180,
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
-0xe08aa004,
+0xe004a2ae,
+0xe08aa009,
0xe12fff1c,
0x00060027,
0xe92d4ff0,
@@ -308,7 +308,7 @@ static const unsigned int build_actionlist[5200] = {
0xe12fff33,
0xe5187000,
0x000d8180,
-0xe1b04000,
+0xe1b09000,
0xe3a06000,
0x000a0000,
0xe2877000,
@@ -320,9 +320,9 @@ static const unsigned int build_actionlist[5200] = {
0x00060015,
0x00000000,
0xe51c2008,
-0xe5140010,
-0xe1a03004,
-0xe1a0400c,
+0xe5190010,
+0xe1a03009,
+0xe1a0900c,
0xe3500000,
0xe513600c,
0x0a000000,
@@ -337,30 +337,30 @@ static const unsigned int build_actionlist[5200] = {
0x000d8180,
0xe12fff10,
0x0006000b,
-0xe5142008,
+0xe5192008,
0xe2433010,
-0xe043b004,
+0xe043b009,
0xea000000,
0x00050028,
0x00060029,
0xe516e004,
0xe2431010,
0xe1ca20d0,
-0xe5084000,
+0xe5089000,
0x000d8180,
-0xe009baae,
-0xe009a2ae,
-0xe084000b,
+0xe004baae,
+0xe004a2ae,
+0xe089000b,
0xe0510000,
0x11c120f0,
0x11a02000,
0x1a000000,
0x0005002a,
-0xe18420fa,
+0xe18920fa,
0xea000000,
0x0005002b,
0x0006002c,
-0xe084100c,
+0xe089100c,
0xea000000,
0x00050002,
0x0006002d,
@@ -379,50 +379,54 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050001,
0x0006002e,
-0xe009caae,
+0xe004caae,
0xe58db000,
0xe3e03000,
0x000a0000,
-0xe084100c,
+0xe089100c,
0xe58d3004,
0xe1a0200d,
0xea000000,
0x00050001,
0x0006002f,
0x00000000,
-0xe084100c,
-0xe084200b,
+0xe089100c,
+0xe089200b,
0x0006000b,
-0xe5084000,
+0xe5089000,
0x000d8180,
0xe1a00008,
0xe58d6008,
0xeb000000,
0x00030001,
+0x00000000,
+0xe5189000,
+0x000d8180,
+0x00000000,
0xe3500000,
0x0a000000,
0x00050003,
0xe1c020d0,
0xe5d6c000,
0xe496e004,
-0xe18420fa,
+0xe18920fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000d,
-0xe2640000,
+0xe2690000,
0x000a0000,
-0xe5184000,
+0xe5189000,
0x000d8180,
0xe3a0b010,
-0xe504600c,
-0xe0806004,
-0xe5142008,
+0xe509600c,
+0xe0806009,
+0xe5192008,
0xea000000,
0x00050026,
0x00060030,
-0xe084100c,
+0xe089100c,
0xea000000,
0x00050002,
0x00060031,
@@ -441,54 +445,57 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050001,
0x00060032,
-0xe009caae,
+0xe004caae,
0xe58db000,
0xe3e03000,
0x000a0000,
-0xe084100c,
+0xe089100c,
0xe58d3004,
0xe1a0200d,
0xea000000,
0x00050001,
0x00060033,
-0xe084100c,
-0xe084200b,
+0xe089100c,
+0xe089200b,
0x0006000b,
-0xe5084000,
+0xe5089000,
0x000d8180,
-0x00000000,
0xe1a00008,
0xe58d6008,
0xeb000000,
0x00030002,
+0x00000000,
+0xe5189000,
+0x000d8180,
+0x00000000,
0xe3500000,
-0xe18420da,
+0xe18920da,
0x0a000000,
0x00050003,
0xe5d6c000,
0xe1c020f0,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000d,
-0xe2640000,
+0xe2690000,
0x000a0000,
-0xe5184000,
+0xe5189000,
0x000d8180,
0xe3a0b018,
-0xe1c421f0,
-0xe504600c,
-0xe0806004,
-0xe5142008,
+0xe1c921f0,
+0xe509600c,
+0xe0806009,
+0xe5192008,
0xea000000,
0x00050026,
0x00060034,
0xe1a00008,
0xe2466004,
0xe1a0100a,
-0xe5084000,
+0xe5089000,
0x000d8180,
0xe1a0200b,
0xe58d6008,
@@ -496,6 +503,10 @@ static const unsigned int build_actionlist[5200] = {
0xeb000000,
0x00030003,
0x0006000d,
+0x00000000,
+0xe5189000,
+0x000d8180,
+0x00000000,
0xe3500001,
0x8a000000,
0x00050035,
@@ -508,14 +519,14 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00060036,
0xe516e004,
0xe1ca00d0,
-0xe00922ae,
-0xe18400f2,
+0xe00422ae,
+0xe18900f2,
0xea000000,
0x0005002b,
0x00060037,
@@ -532,9 +543,8 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005000e,
0x00060039,
-0x00000000,
0xe2466004,
-0xe5084000,
+0xe5089000,
0x000d8180,
0xe1a00008,
0xe58d6008,
@@ -545,7 +555,7 @@ static const unsigned int build_actionlist[5200] = {
0x0006003a,
0x00000000,
0xe2466004,
-0xe5084000,
+0xe5089000,
0x000d8180,
0xe1a00008,
0xe1a0100e,
@@ -556,107 +566,127 @@ static const unsigned int build_actionlist[5200] = {
0x0005000d,
0x00000000,
0x0006003b,
-0xe009caae,
-0xe009b6ae,
-0xe084200c,
+0xe004caae,
+0xe004b6ae,
+0xe089200c,
0xe085300b,
0xea000000,
0x00050001,
0x0006003c,
-0xe009caae,
-0xe009b6ae,
-0xe084300c,
+0xe004caae,
+0xe004b6ae,
+0xe089300c,
0xe085200b,
0xea000000,
0x00050001,
0x0006003d,
0xe516e008,
0xe2466004,
-0xe084200b,
-0xe084300b,
+0xe089200b,
+0xe089300b,
0xea000000,
0x00050001,
0x0006003e,
-0xe009caae,
-0xe009b6ae,
-0xe084200c,
-0xe084300b,
+0xe004caae,
+0xe004b6ae,
+0xe089200c,
+0xe089300b,
0x0006000b,
0xe20ec0ff,
-0xe084100a,
-0xe5084000,
+0xe089100a,
+0xe5089000,
0x000d8180,
0xe1a00008,
0xe58d6008,
0xe58dc000,
0xeb000000,
0x00030006,
+0x00000000,
+0xe5189000,
+0x000d8180,
+0x00000000,
0xe3500000,
0x0a000000,
0x0005002b,
0x00060035,
-0xe0401004,
+0xe0401009,
0xe500600c,
0xe2816000,
0x000a0000,
-0xe1a04000,
+0xe1a09000,
0xe3a0b010,
0xea000000,
0x00050024,
0x0006003f,
-0xe084100b,
-0xe5084000,
+0xe089100b,
+0xe5089000,
0x000d8180,
0xe1a00008,
0xe58d6008,
0xeb000000,
0x00030007,
+0x00000000,
+0xe5189000,
+0x000d8180,
+0x00000000,
0xea000000,
0x00050035,
0x00060025,
0xe1a00008,
0xe508c000,
0x000d8180,
-0xe2441008,
+0xe2491008,
0xe58d6008,
-0xe084200b,
+0xe089200b,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x00030008,
-0xe5142008,
+0x00000000,
+0xe1a0900a,
+0x00000000,
+0xe5192008,
0xe28bb008,
-0xe5046004,
+0xe5096004,
0xe5126000,
0x000d8180,
-0x00000000,
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
-0xe08aa004,
+0xe004a2ae,
+0xe08aa009,
0xe12fff1c,
0x00060040,
0xe1a00008,
-0xe5084000,
+0xe5089000,
0x000d8180,
0xe24a1008,
0xe58d6008,
0xe08a200b,
0xeb000000,
0x00030008,
+0x00000000,
+0xe5189000,
+0x000d8180,
+0x00000000,
0xe51a2008,
-0xe5146004,
+0xe5196004,
0xe28bb008,
0xea000000,
0x00050041,
0x00060042,
0xe1a00008,
-0xe5084000,
+0xe5089000,
0x000d8180,
0xe1a0100a,
0xe58d6008,
0xeb000000,
0x00030009,
0x00000000,
+0xe5189000,
+0x000d8180,
+0x00000000,
0xe556c004,
0x00000000,
0xe516e004,
@@ -664,7 +694,7 @@ static const unsigned int build_actionlist[5200] = {
0xe35c0000,
0x000a0000,
0x00000000,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0x00000000,
0x0a000000,
@@ -673,7 +703,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00070000,
0x00060043,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -681,9 +711,9 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x8a000000,
0x00050044,
-0xe5146004,
-0xe14400f8,
-0xe1a0c004,
+0xe5196004,
+0xe14900f8,
+0xe1a0c009,
0xe25ba008,
0xe28bb008,
0x0a000000,
@@ -697,7 +727,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050045,
0x00060046,
-0xe5941004,
+0xe5991004,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -712,7 +742,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050047,
0x00060048,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -784,8 +814,8 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005000c,
0x00060049,
-0xe1c400d0,
-0xe1c420d8,
+0xe1c900d0,
+0xe1c920d8,
0xe35b0010,
0x3a000000,
0x00050044,
@@ -819,7 +849,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050047,
0x0006004a,
-0xe1c420d0,
+0xe1c920d0,
0xe35b0010,
0x3a000000,
0x00050044,
@@ -830,14 +860,20 @@ static const unsigned int build_actionlist[5200] = {
0x1a000000,
0x00050044,
0xe1a00008,
-0xe2842008,
+0xe2892008,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x0003000a,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xe1c000d0,
0xea000000,
0x00050047,
0x0006004b,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -848,7 +884,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050044,
0x0006004c,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -858,7 +894,7 @@ static const unsigned int build_actionlist[5200] = {
0x00050047,
0xe5173000,
0x000d8180,
-0xe5084000,
+0xe5089000,
0x000d8180,
0xe3710000,
0x000a0000,
@@ -874,18 +910,18 @@ static const unsigned int build_actionlist[5200] = {
0xab000000,
0x0005004d,
0xe1a00008,
-0xe1a01004,
+0xe1a01009,
0xeb000000,
0x0003000b,
-0xe5184000,
+0xe5189000,
0x000d8180,
0xe3e01000,
0x000a0000,
-0x00000000,
0xea000000,
0x00050047,
0x0006004e,
-0xe1c400d0,
+0x00000000,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -895,33 +931,37 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x1a000000,
0x00050044,
-0xe18420fb,
-0xe5146004,
+0xe18920fb,
+0xe5196004,
0xe1a01000,
-0xe5084000,
+0xe5089000,
0x000d8180,
0xe1a00008,
-0xe5084000,
+0xe5089000,
0x000d8180,
-0xe2842008,
+0xe2892008,
0xe58d6008,
0xeb000000,
0x0003000c,
+0x00000000,
+0xe5189000,
+0x000d8180,
+0x00000000,
0xe3500000,
0x03e01000,
0x000a0000,
0x0a000000,
0x00050047,
-0xe1c400d8,
-0xe1c421d0,
+0xe1c900d8,
+0xe1c921d0,
0xe3a0b000,
0x000a0000,
-0xe14400f8,
-0xe1c420f0,
+0xe14900f8,
+0xe1c920f0,
0xea000000,
0x00050045,
0x0006004f,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -935,7 +975,7 @@ static const unsigned int build_actionlist[5200] = {
0x00000000,
0xe14220d0,
0x000c8100,
-0xe5146004,
+0xe5196004,
0x00000000,
0xe35c0000,
0x1a000000,
@@ -945,13 +985,13 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0xe3a0b000,
0x000a0000,
-0xe14420f8,
-0xe584100c,
+0xe14920f8,
+0xe589100c,
0xea000000,
0x00050045,
0x00060050,
-0xe1c400d0,
-0xe1c420d8,
+0xe1c900d0,
+0xe1c920d8,
0xe35b0010,
0x3a000000,
0x00050044,
@@ -966,10 +1006,10 @@ static const unsigned int build_actionlist[5200] = {
0xe510b000,
0x000d8180,
0xe2822001,
-0xe5146004,
+0xe5196004,
0xe152000c,
0xe08bb182,
-0xe14420f8,
+0xe14920f8,
0x31cb00d0,
0xe3a0b000,
0x000a0000,
@@ -980,7 +1020,7 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x13a0b000,
0x000a0000,
-0x11c400f0,
+0x11c900f0,
0xea000000,
0x00050045,
0x0006000c,
@@ -990,8 +1030,14 @@ static const unsigned int build_actionlist[5200] = {
0xe35c0000,
0x0a000000,
0x00050045,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x0003000d,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xe3500000,
0x0a000000,
0x00050045,
@@ -999,8 +1045,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005000b,
0x00060051,
-0x00000000,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1014,7 +1059,7 @@ static const unsigned int build_actionlist[5200] = {
0x00000000,
0xe14220d0,
0x000c8100,
-0xe5146004,
+0xe5196004,
0x00000000,
0xe35c0000,
0x1a000000,
@@ -1025,8 +1070,8 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0xe3a0b000,
0x000a0000,
-0xe14420f8,
-0xe1c400f8,
+0xe14920f8,
+0xe1c900f8,
0xea000000,
0x00050045,
0x00060052,
@@ -1037,8 +1082,8 @@ static const unsigned int build_actionlist[5200] = {
0x00050044,
0xe31a0000,
0x000a0000,
-0xe1a0c004,
-0xe2844008,
+0xe1a0c009,
+0xe2899008,
0x03a06000,
0x000a0000,
0x13a06000,
@@ -1047,8 +1092,8 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050024,
0x00060053,
-0xe1c400d0,
-0xe1c420d8,
+0xe1c900d0,
+0xe1c920d8,
0xe35b0010,
0x3a000000,
0x00050044,
@@ -1058,12 +1103,12 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x1a000000,
0x00050044,
-0xe1a0c004,
-0xe1c400f8,
-0xe1c420f0,
+0xe1a0c009,
+0xe1c900f8,
+0xe1c920f0,
0xe31a0000,
0x000a0000,
-0xe2844010,
+0xe2899010,
0x03a06000,
0x000a0000,
0x13a06000,
@@ -1072,7 +1117,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050024,
0x00060054,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1081,8 +1126,8 @@ static const unsigned int build_actionlist[5200] = {
0x00000000,
0x1a000000,
0x00050044,
-0xe5146004,
-0xe5084000,
+0xe5196004,
+0xe5089000,
0x000d8180,
0xe5101000,
0x000d8180,
@@ -1108,14 +1153,14 @@ static const unsigned int build_actionlist[5200] = {
0x00050044,
0x0006000b,
0xe2422008,
-0xe2844008,
+0xe2899008,
0xe24bb008,
0xe5002000,
0x000d8180,
-0xe5084000,
+0xe5089000,
0x000d8180,
0x0006000c,
-0xe18420dc,
+0xe18920dc,
0xe15c000b,
0x118120fc,
0xe28cc008,
@@ -1138,14 +1183,14 @@ static const unsigned int build_actionlist[5200] = {
0xe3500000,
0x000a0000,
0x00000000,
-0xe5184000,
+0xe5189000,
0x000d8180,
0x8a000000,
0x00050008,
0xe053b002,
0xe5180000,
0x000d8180,
-0xe084100b,
+0xe089100b,
0x0a000000,
0x00050006,
0xe1510000,
@@ -1158,7 +1203,7 @@ static const unsigned int build_actionlist[5200] = {
0x0006000f,
0xe18200dc,
0xe15c0003,
-0xe18400fc,
+0xe18900fc,
0xe28cc008,
0x1a000000,
0x0005000f,
@@ -1167,8 +1212,8 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0xe28bb010,
0x00060011,
-0xe5042004,
-0xe244a008,
+0xe5092004,
+0xe249a008,
0xe2160000,
0x000a0000,
0xe58d6008,
@@ -1185,7 +1230,7 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0xe50a3000,
0x000d8180,
-0xe1c400f0,
+0xe1c900f0,
0xea000000,
0x00050011,
0x00060013,
@@ -1200,8 +1245,8 @@ static const unsigned int build_actionlist[5200] = {
0x00000000,
0xe5120000,
0x000d8180,
-0xe5146004,
-0xe5084000,
+0xe5196004,
+0xe5089000,
0x000d8180,
0xe5101000,
0x000d8180,
@@ -1228,10 +1273,10 @@ static const unsigned int build_actionlist[5200] = {
0x0006000b,
0xe5002000,
0x000d8180,
-0xe5084000,
+0xe5089000,
0x000d8180,
0x0006000c,
-0xe18420dc,
+0xe18920dc,
0xe15c000b,
0x118120fc,
0xe28cc008,
@@ -1254,14 +1299,14 @@ static const unsigned int build_actionlist[5200] = {
0xe3500000,
0x000a0000,
0x00000000,
-0xe5184000,
+0xe5189000,
0x000d8180,
0x8a000000,
0x00050008,
0xe053b002,
0xe5180000,
0x000d8180,
-0xe084100b,
+0xe089100b,
0x0a000000,
0x00050006,
0xe1510000,
@@ -1274,12 +1319,12 @@ static const unsigned int build_actionlist[5200] = {
0x0006000f,
0xe18200dc,
0xe15c0003,
-0xe18400fc,
+0xe18900fc,
0xe28cc008,
0x1a000000,
0x0005000f,
0x00060010,
-0xe1a0a004,
+0xe1a0a009,
0xe28bb008,
0xe2160000,
0x000a0000,
@@ -1305,8 +1350,8 @@ static const unsigned int build_actionlist[5200] = {
0x00060056,
0xe5180000,
0x000d8180,
-0xe084100b,
-0xe5084000,
+0xe089100b,
+0xe5089000,
0x000d8180,
0xe3100000,
0x000a0000,
@@ -1325,7 +1370,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005001a,
0x00060057,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1379,12 +1424,17 @@ static const unsigned int build_actionlist[5200] = {
0x0005000b,
0x0006000e,
0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x0003000f,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xea000000,
0x00050047,
0x00060058,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1440,9 +1490,14 @@ static const unsigned int build_actionlist[5200] = {
0x4a000000,
0x0005000b,
0x0006000e,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x00030010,
0x00000000,
+0xe1a0900a,
+0x00000000,
0xea000000,
0x00050047,
0x00040007,
@@ -1451,7 +1506,7 @@ static const unsigned int build_actionlist[5200] = {
0x00000000,
0x41e00000,
0x00060059,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1467,8 +1522,8 @@ static const unsigned int build_actionlist[5200] = {
0x614f00d0,
0x00051813,
0x00060047,
-0xe5146004,
-0xe14400f8,
+0xe5196004,
+0xe14900f8,
0x0006005a,
0xe3a0b000,
0x000a0000,
@@ -1477,20 +1532,20 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x0516e004,
0xe58db004,
-0xe244a008,
+0xe249a008,
0x1a000000,
0x00050018,
-0xe009caae,
+0xe004caae,
0x0006000f,
0xe15c000b,
0x8a000000,
0x00050006,
-0xe00902ae,
+0xe00402ae,
0xe5d6c000,
0xe496e004,
-0xe04a4000,
+0xe04a9000,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00060010,
@@ -1502,7 +1557,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005000f,
0x0006005b,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1511,12 +1566,18 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x2a000000,
0x00050044,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x00030011,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xea000000,
0x00050047,
0x0006005c,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1524,12 +1585,18 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x2a000000,
0x00050044,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x00030012,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xea000000,
0x00050047,
0x0006005d,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1537,12 +1604,18 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x2a000000,
0x00050044,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x00030013,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xea000000,
0x00050047,
0x0006005e,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1550,13 +1623,18 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x2a000000,
0x00050044,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x00030014,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xea000000,
0x00050047,
0x0006005f,
-0x00000000,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1564,12 +1642,18 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x2a000000,
0x00050044,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x00030015,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xea000000,
0x00050047,
0x00060060,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1577,12 +1661,18 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x2a000000,
0x00050044,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x00030016,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xea000000,
0x00050047,
0x00060061,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1590,12 +1680,18 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x2a000000,
0x00050044,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x00030017,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xea000000,
0x00050047,
0x00060062,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1603,13 +1699,18 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x2a000000,
0x00050044,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x00030018,
0x00000000,
+0xe1a0900a,
+0x00000000,
0xea000000,
0x00050047,
0x00060063,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1617,12 +1718,18 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x2a000000,
0x00050044,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x00030019,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xea000000,
0x00050047,
0x00060064,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1630,12 +1737,18 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x2a000000,
0x00050044,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x0003001a,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xea000000,
0x00050047,
0x00060065,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1643,26 +1756,37 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x2a000000,
0x00050044,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x0003001b,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xea000000,
0x00050047,
0x00060066,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
0xe3710000,
0x000a0000,
-0x00000000,
0x2a000000,
0x00050044,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x0003001c,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xea000000,
0x00050047,
0x00060067,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1670,13 +1794,19 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x2a000000,
0x00050044,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x0003001d,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xea000000,
0x00050047,
0x00060068,
-0xe1c400d0,
-0xe1c420d8,
+0xe1c900d0,
+0xe1c920d8,
0xe35b0010,
0x3a000000,
0x00050044,
@@ -1686,13 +1816,19 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x2a000000,
0x00050044,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x0003001e,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xea000000,
0x00050047,
0x00060069,
-0xe1c400d0,
-0xe1c420d8,
+0xe1c900d0,
+0xe1c920d8,
0xe35b0010,
0x3a000000,
0x00050044,
@@ -1702,14 +1838,19 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x2a000000,
0x00050044,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x0003001f,
0x00000000,
+0xe1a0900a,
+0x00000000,
0xea000000,
0x00050047,
0x0006006a,
-0xe1c400d0,
-0xe1c420d8,
+0xe1c900d0,
+0xe1c920d8,
0xe35b0010,
0x3a000000,
0x00050044,
@@ -1719,13 +1860,19 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x2a000000,
0x00050044,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x00030020,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xea000000,
0x00050047,
0x0006006b,
0x0006006c,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1740,8 +1887,8 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050047,
0x0006006d,
-0xe1c400d0,
-0xe1c420d8,
+0xe1c900d0,
+0xe1c920d8,
0xe35b0010,
0x3a000000,
0x00050044,
@@ -1754,12 +1901,17 @@ static const unsigned int build_actionlist[5200] = {
0x1a000000,
0x00050044,
0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x00030022,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xea000000,
0x00050047,
0x0006006e,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1768,20 +1920,26 @@ static const unsigned int build_actionlist[5200] = {
0x2a000000,
0x00050044,
0xe1a0200d,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x00030023,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xe59d2000,
0xe3e03000,
0x000a0000,
-0xe5146004,
-0xe14400f8,
+0xe5196004,
+0xe14900f8,
0xe3a0b000,
0x000a0000,
-0xe1c420f0,
+0xe1c920f0,
0xea000000,
0x00050045,
0x0006006f,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1789,17 +1947,23 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x2a000000,
0x00050044,
-0xe2442008,
-0xe5146004,
+0xe2492008,
+0xe5196004,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x00030024,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xe3a0b000,
0x000a0000,
-0xe1c400f0,
+0xe1c900f0,
0xea000000,
0x00050045,
0x00060070,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1809,8 +1973,7 @@ static const unsigned int build_actionlist[5200] = {
0x1a000000,
0x00050004,
0x0006000b,
-0x00000000,
-0xe18420da,
+0xe18920da,
0xe15a000b,
0x2a000000,
0x00050047,
@@ -1828,14 +1991,14 @@ static const unsigned int build_actionlist[5200] = {
0x00050044,
0xeb000000,
0x00030025,
-0xe18420da,
+0xe18920da,
0xea000000,
0x00050006,
0x0006000e,
0x8a000000,
0x00050044,
0x0006000f,
-0xe18420da,
+0xe18920da,
0xe15a000b,
0x2a000000,
0x00050047,
@@ -1844,6 +2007,7 @@ static const unsigned int build_actionlist[5200] = {
0x2a000000,
0x00050007,
0x00060010,
+0x00000000,
0xeb000000,
0x00030026,
0xe28aa008,
@@ -1862,8 +2026,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050010,
0x00060071,
-0x00000000,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1873,7 +2036,7 @@ static const unsigned int build_actionlist[5200] = {
0x1a000000,
0x00050004,
0x0006000b,
-0xe18420da,
+0xe18920da,
0xe15a000b,
0x2a000000,
0x00050047,
@@ -1891,14 +2054,15 @@ static const unsigned int build_actionlist[5200] = {
0x00050044,
0xeb000000,
0x00030025,
-0xe18420da,
+0xe18920da,
0xea000000,
0x00050006,
0x0006000e,
0x8a000000,
0x00050044,
0x0006000f,
-0xe18420da,
+0x00000000,
+0xe18920da,
0xe15a000b,
0x2a000000,
0x00050047,
@@ -1915,7 +2079,6 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005000f,
0x00060011,
-0x00000000,
0x8a000000,
0x00050044,
0xe1cd00f0,
@@ -1926,7 +2089,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050010,
0x00060072,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -1941,8 +2104,8 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050047,
0x00060073,
-0xe1c400d0,
-0xe5146004,
+0xe1c900d0,
+0xe5196004,
0xe35b0008,
0x03710000,
0x000a0000,
@@ -1952,6 +2115,7 @@ static const unsigned int build_actionlist[5200] = {
0x000d8180,
0xe5500000,
0x000d8180,
+0x00000000,
0xe3e01000,
0x000a0000,
0xe3520000,
@@ -1959,7 +2123,7 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x13a0b000,
0x000a0000,
-0xe14400f8,
+0xe14900f8,
0xea000000,
0x00050045,
0x00060074,
@@ -1967,12 +2131,11 @@ static const unsigned int build_actionlist[5200] = {
0x000d8180,
0xe5171000,
0x000d8180,
-0x00000000,
0xe1500001,
0xab000000,
0x0005004d,
-0xe1c400d0,
-0xe5146004,
+0xe1c900d0,
+0xe5196004,
0xe35b0008,
0x03710000,
0x000a0000,
@@ -1983,13 +2146,13 @@ static const unsigned int build_actionlist[5200] = {
0xe58d0000,
0xe1a0100d,
0x00060075,
-0xe5084000,
+0xe5089000,
0x000d8180,
0xe1a00008,
0xe58d6008,
0xeb000000,
0x00030027,
-0xe5184000,
+0xe5189000,
0x000d8180,
0xe3e01000,
0x000a0000,
@@ -2003,21 +2166,22 @@ static const unsigned int build_actionlist[5200] = {
0xe1500001,
0xab000000,
0x0005004d,
-0xe1c400d0,
-0xe1c421d0,
+0xe1c900d0,
+0xe1c921d0,
0xe35b0010,
0xe3e0c000,
0x0a000000,
0x00050001,
0x3a000000,
0x00050044,
+0x00000000,
0xe3730000,
0x000a0000,
0xe1a0c002,
0x1a000000,
0x00050044,
0x0006000b,
-0xe5942008,
+0xe5992008,
0xe3710000,
0x000a0000,
0x05101000,
@@ -2026,7 +2190,6 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x1a000000,
0x00050044,
-0x00000000,
0xe2813001,
0xe3520000,
0xb0822003,
@@ -2059,8 +2222,8 @@ static const unsigned int build_actionlist[5200] = {
0xe1500001,
0xab000000,
0x0005004d,
-0xe1c400d0,
-0xe1c420d8,
+0xe1c900d0,
+0xe1c920d8,
0xe35b0010,
0x3a000000,
0x00050044,
@@ -2073,6 +2236,7 @@ static const unsigned int build_actionlist[5200] = {
0xe2523001,
0xe5101000,
0x000d8180,
+0x00000000,
0xba000000,
0x00050077,
0xe3510001,
@@ -2090,7 +2254,6 @@ static const unsigned int build_actionlist[5200] = {
0x3a000000,
0x00050044,
0x0006000b,
-0x00000000,
0xe7c10003,
0xe2533001,
0xaa000000,
@@ -2105,7 +2268,7 @@ static const unsigned int build_actionlist[5200] = {
0xe1500001,
0xab000000,
0x0005004d,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -2126,6 +2289,7 @@ static const unsigned int build_actionlist[5200] = {
0x3a000000,
0x00050044,
0x0006000b,
+0x00000000,
0xe4d0c001,
0xe2533001,
0xba000000,
@@ -2141,11 +2305,10 @@ static const unsigned int build_actionlist[5200] = {
0xe1500001,
0xab000000,
0x0005004d,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
-0x00000000,
0xe3710000,
0x000a0000,
0x1a000000,
@@ -2182,10 +2345,11 @@ static const unsigned int build_actionlist[5200] = {
0xe1500001,
0xab000000,
0x0005004d,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
+0x00000000,
0xe3710000,
0x000a0000,
0x1a000000,
@@ -2203,7 +2367,6 @@ static const unsigned int build_actionlist[5200] = {
0x3a000000,
0x00050044,
0x0006000b,
-0x00000000,
0xe7d0c003,
0xe1530002,
0x2a000000,
@@ -2216,7 +2379,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005000b,
0x0006007c,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -2224,8 +2387,14 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x1a000000,
0x00050044,
+0x00000000,
+0xe1a0a009,
+0x00000000,
0xeb000000,
0x00030028,
+0x00000000,
+0xe1a0900a,
+0x00000000,
0xe3e01000,
0x000a0000,
0xea000000,
@@ -2259,7 +2428,7 @@ static const unsigned int build_actionlist[5200] = {
0xb2600000,
0xe12fff1e,
0x0006007f,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -2272,11 +2441,10 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050047,
0x00060080,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
-0x00000000,
0xe3710000,
0x000a0000,
0x1b000000,
@@ -2284,7 +2452,7 @@ static const unsigned int build_actionlist[5200] = {
0xe1a02000,
0xe3a0a008,
0x0006000b,
-0xe18400da,
+0xe18900da,
0xe15a000b,
0xe28aa008,
0xaa000000,
@@ -2297,7 +2465,8 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005000b,
0x00060081,
-0xe1c400d0,
+0x00000000,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -2308,7 +2477,7 @@ static const unsigned int build_actionlist[5200] = {
0xe1a02000,
0xe3a0a008,
0x0006000b,
-0xe18400da,
+0xe18900da,
0xe15a000b,
0xe28aa008,
0xaa000000,
@@ -2321,7 +2490,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005000b,
0x00060082,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -2332,12 +2501,11 @@ static const unsigned int build_actionlist[5200] = {
0xe1a02000,
0xe3a0a008,
0x0006000b,
-0xe18400da,
+0xe18900da,
0xe15a000b,
0xe28aa008,
0xaa000000,
0x00050002,
-0x00000000,
0xe3710000,
0x000a0000,
0x1b000000,
@@ -2348,15 +2516,16 @@ static const unsigned int build_actionlist[5200] = {
0x0006000c,
0xe3e03000,
0x000a0000,
-0xe5146004,
-0xe14420f8,
+0xe5196004,
+0xe14920f8,
0xea000000,
0x0005005a,
0x00060083,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
+0x00000000,
0xe3710000,
0x000a0000,
0x1b000000,
@@ -2370,7 +2539,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050047,
0x00060084,
-0xe1c400d0,
+0xe1c900d0,
0xe35b0008,
0x3a000000,
0x00050044,
@@ -2384,7 +2553,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050047,
0x00060085,
-0xe1c400d8,
+0xe1c900d8,
0xe35b0010,
0x3a000000,
0x00050044,
@@ -2392,9 +2561,8 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x1b000000,
0x0005007d,
-0x00000000,
0xe200a01f,
-0xe1c400d0,
+0xe1c900d0,
0xe3710000,
0x000a0000,
0x1b000000,
@@ -2405,7 +2573,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050047,
0x00060086,
-0xe1c400d8,
+0xe1c900d8,
0xe35b0010,
0x3a000000,
0x00050044,
@@ -2413,8 +2581,9 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x1b000000,
0x0005007d,
+0x00000000,
0xe200a01f,
-0xe1c400d0,
+0xe1c900d0,
0xe3710000,
0x000a0000,
0x1b000000,
@@ -2425,7 +2594,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050047,
0x00060087,
-0xe1c400d8,
+0xe1c900d8,
0xe35b0010,
0x3a000000,
0x00050044,
@@ -2434,7 +2603,7 @@ static const unsigned int build_actionlist[5200] = {
0x1b000000,
0x0005007d,
0xe200a01f,
-0xe1c400d0,
+0xe1c900d0,
0xe3710000,
0x000a0000,
0x1b000000,
@@ -2445,17 +2614,16 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050047,
0x00060088,
-0xe1c400d8,
+0xe1c900d8,
0xe35b0010,
0x3a000000,
0x00050044,
-0x00000000,
0xe3710000,
0x000a0000,
0x1b000000,
0x0005007d,
0xe260a000,
-0xe1c400d0,
+0xe1c900d0,
0xe3710000,
0x000a0000,
0x1b000000,
@@ -2466,16 +2634,17 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050047,
0x00060089,
-0xe1c400d8,
+0xe1c900d8,
0xe35b0010,
0x3a000000,
0x00050044,
+0x00000000,
0xe3710000,
0x000a0000,
0x1b000000,
0x0005007d,
0xe200a01f,
-0xe1c400d0,
+0xe1c900d0,
0xe3710000,
0x000a0000,
0x1b000000,
@@ -2486,16 +2655,16 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050047,
0x00060044,
-0xe5142008,
+0xe5192008,
0xe5181000,
0x000d8180,
-0xe084000b,
-0xe5146004,
+0xe089000b,
+0xe5196004,
0xe5080000,
0x000d8180,
0xe5122000,
0x000d8180,
-0xe5084000,
+0xe5089000,
0x000d8180,
0xe2800000,
0x000a0000,
@@ -2505,19 +2674,18 @@ static const unsigned int build_actionlist[5200] = {
0x8a000000,
0x00050005,
0xe12fff32,
-0xe5184000,
+0xe5189000,
0x000d8180,
-0x00000000,
0xe3500000,
0xe1a0b180,
-0xe244a008,
+0xe249a008,
0xca000000,
0x00050045,
0x0006000b,
0xe5180000,
0x000d8180,
-0xe5142008,
-0xe040b004,
+0xe5192008,
+0xe040b009,
0x1a000000,
0x00050028,
0xe5126000,
@@ -2525,18 +2693,19 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
-0xe08aa004,
+0xe004a2ae,
+0xe08aa009,
0xe12fff1c,
0x00060028,
0xe2160000,
0x000a0000,
0xe3c61000,
0x000a0000,
+0x00000000,
0x0516e004,
0x00020000,
-0x000912ae,
-0xe044c001,
+0x000412ae,
+0xe049c001,
0xea000000,
0x00050024,
0x0006000f,
@@ -2544,26 +2713,26 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0xeb000000,
0x00030000,
-0xe5184000,
+0xe5189000,
0x000d8180,
0xe1500000,
0xea000000,
0x0005000b,
0x0006004d,
0xe1a0a00e,
-0xe5084000,
+0xe5089000,
0x000d8180,
-0xe084100b,
+0xe089100b,
0xe58d6008,
0xe5081000,
0x000d8180,
0xe1a00008,
0xeb000000,
0x00030029,
-0xe5184000,
+0xe5189000,
0x000d8180,
0xe1a0e00a,
-0xe5142008,
+0xe5192008,
0xe12fff1e,
0x0006008a,
0x00000000,
@@ -2605,13 +2774,13 @@ static const unsigned int build_actionlist[5200] = {
0x0005000f,
0x0006000b,
0xe1a00008,
-0xe5084000,
+0xe5089000,
0x000d8180,
0xe1a01006,
0xeb000000,
0x0003002a,
0x0006000d,
-0xe5184000,
+0xe5189000,
0x000d8180,
0x0006000e,
0x00000000,
@@ -2620,7 +2789,7 @@ static const unsigned int build_actionlist[5200] = {
0xe087c10c,
0xe51cc000,
0x000d8180,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006008d,
@@ -2644,25 +2813,25 @@ static const unsigned int build_actionlist[5200] = {
0xe3861001,
0x0006000b,
0x00000000,
-0xe084300b,
+0xe089300b,
0xe58d6008,
0xe1a00008,
-0xe5084000,
+0xe5089000,
0x000d8180,
-0xe04aa004,
+0xe04aa009,
0xe5083000,
0x000d8180,
0xeb000000,
0x0003002b,
-0xe5184000,
+0xe5189000,
0x000d8180,
0xe5183000,
0x000d8180,
0xe3a01000,
-0xe084a00a,
-0xe043b004,
+0xe089a00a,
+0xe043b009,
0xe58d1008,
-0xe5142008,
+0xe5192008,
0xe12fff10,
0x00060091,
0x00000000,
@@ -2803,9 +2972,9 @@ static const unsigned int build_actionlist[5200] = {
0x00080000,
0x00000000,
0xe1a0b18b,
-0xe1aa00d4,
+0xe1aa00d9,
0xe1d6c0b2,
-0xe1ab20d4,
+0xe1ab20d9,
0xe2866004,
0xe086c10c,
0xe3710000,
@@ -2830,7 +2999,7 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000d,
@@ -2874,9 +3043,9 @@ static const unsigned int build_actionlist[5200] = {
0x0005000b,
0x00000000,
0xe1a0b18b,
-0xe1aa00d4,
+0xe1aa00d9,
0xe1d6c0b2,
-0xe1ab20d4,
+0xe1ab20d9,
0xe2866004,
0xe086c10c,
0xe3710000,
@@ -2914,7 +3083,7 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000d,
@@ -2956,12 +3125,12 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
0xe1e0b00b,
-0xe18400da,
+0xe18900da,
0xe1d6c0b2,
0xe795210b,
0xe2866004,
@@ -2984,7 +3153,7 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
@@ -2997,7 +3166,7 @@ static const unsigned int build_actionlist[5200] = {
0x0005003a,
0x00000000,
0xe1a0b18b,
-0xe1aa00d4,
+0xe1aa00d9,
0xe1d6c0b2,
0xe1ab20d5,
0xe2866004,
@@ -3027,7 +3196,7 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000d,
@@ -3071,7 +3240,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005003a,
0x00000000,
-0xe18400da,
+0xe18900da,
0xe1d6c0b2,
0xe2866004,
0xe1e0b00b,
@@ -3091,11 +3260,11 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
-0xe084b18b,
+0xe089b18b,
0xe1d6c0b2,
0xe1cb00d0,
0xe2866004,
@@ -3105,33 +3274,33 @@ static const unsigned int build_actionlist[5200] = {
0x00000000,
0x924c6b80,
0x00000000,
-0x918400fa,
+0x918900fa,
0x00000000,
0x824c6b80,
0x00000000,
-0x818400fa,
+0x818900fa,
0x00000000,
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
0xe1a0b18b,
0xe5d6c000,
-0xe18400db,
+0xe18900db,
0xe496e004,
-0xe18400fa,
+0xe18900fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
-0xe084b18b,
+0xe089b18b,
0xe5d6c000,
0xe59b0004,
-0xe084a00a,
+0xe089a00a,
0xe496e004,
0xe3700000,
0x000a0000,
@@ -3141,12 +3310,12 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0xe58a1004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
0xe1a0b18b,
-0xe18400db,
+0xe18900db,
0xe5d6c000,
0xe496e004,
0xe3710000,
@@ -3160,9 +3329,9 @@ static const unsigned int build_actionlist[5200] = {
0x614f00d0,
0x00051809,
0x0006000f,
-0xe18400fa,
+0xe18900fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00040007,
@@ -3172,7 +3341,7 @@ static const unsigned int build_actionlist[5200] = {
0x41e00000,
0x00000000,
0xe1a0b18b,
-0xe18400db,
+0xe18900db,
0xe3710000,
0x000a0000,
0x1a000000,
@@ -3184,9 +3353,9 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0xe5d6c000,
0xe496e004,
-0xe18400fa,
+0xe18900fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000c,
@@ -3194,22 +3363,28 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x1a000000,
0x0005003f,
+0x00000000,
+0xe1a0b009,
+0x00000000,
0xeb000000,
0x00030028,
+0x00000000,
+0xe1a0900b,
+0x00000000,
0xea000000,
0x0005000b,
0x00000000,
-0xe009caae,
-0xe009b6ae,
+0xe004caae,
+0xe004b6ae,
0x00000000,
-0xe18400dc,
+0xe18900dc,
0xe18520db,
0x00000000,
-0xe18420dc,
+0xe18920dc,
0xe18500db,
0x00000000,
-0xe18400dc,
-0xe18420db,
+0xe18900dc,
+0xe18920db,
0x00000000,
0xe5d6c000,
0x00000000,
@@ -3238,9 +3413,9 @@ static const unsigned int build_actionlist[5200] = {
0x00000000,
0x0006000e,
0xe496e004,
-0xe18400fa,
+0xe18900fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000f,
@@ -3290,17 +3465,17 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005000e,
0x00000000,
-0xe009caae,
-0xe009b6ae,
+0xe004caae,
+0xe004b6ae,
0x00000000,
-0xe18400dc,
+0xe18900dc,
0xe18520db,
0x00000000,
-0xe18420dc,
+0xe18920dc,
0xe18500db,
0x00000000,
-0xe18400dc,
-0xe18420db,
+0xe18900dc,
+0xe18920db,
0x00000000,
0xe5d6c000,
0x00000000,
@@ -3329,9 +3504,9 @@ static const unsigned int build_actionlist[5200] = {
0x00000000,
0x0006000e,
0xe496e004,
-0xe18400fa,
+0xe18900fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000f,
@@ -3381,17 +3556,17 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005000e,
0x00000000,
-0xe009caae,
-0xe009b6ae,
+0xe004caae,
+0xe004b6ae,
0x00000000,
-0xe18400dc,
+0xe18900dc,
0xe18520db,
0x00000000,
-0xe18420dc,
+0xe18920dc,
0xe18500db,
0x00000000,
-0xe18400dc,
-0xe18420db,
+0xe18900dc,
+0xe18920db,
0x00000000,
0xe5d6c000,
0x00000000,
@@ -3421,9 +3596,9 @@ static const unsigned int build_actionlist[5200] = {
0x00000000,
0x0006000e,
0xe496e004,
-0xe18400fa,
+0xe18900fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000f,
@@ -3473,17 +3648,17 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005000e,
0x00000000,
-0xe009caae,
-0xe009b6ae,
+0xe004caae,
+0xe004b6ae,
0x00000000,
-0xe18400dc,
+0xe18900dc,
0xe18520db,
0x00000000,
-0xe18420dc,
+0xe18920dc,
0xe18500db,
0x00000000,
-0xe18400dc,
-0xe18420db,
+0xe18900dc,
+0xe18920db,
0x00000000,
0xe3730000,
0x000a0000,
@@ -3528,23 +3703,23 @@ static const unsigned int build_actionlist[5200] = {
0x0003002c,
0xe5d6c000,
0xe496e004,
-0xe18400fa,
+0xe18900fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
-0xe009caae,
-0xe009b6ae,
+0xe004caae,
+0xe004b6ae,
0x00000000,
-0xe18400dc,
+0xe18900dc,
0xe18520db,
0x00000000,
-0xe18420dc,
+0xe18920dc,
0xe18500db,
0x00000000,
-0xe18400dc,
-0xe18420db,
+0xe18900dc,
+0xe18920db,
0x00000000,
0xe3730000,
0x000a0000,
@@ -3576,9 +3751,9 @@ static const unsigned int build_actionlist[5200] = {
0x0006000e,
0xe5d6c000,
0xe496e004,
-0xe18400fa,
+0xe18900fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000f,
@@ -3622,22 +3797,27 @@ static const unsigned int build_actionlist[5200] = {
0x2a000000,
0x0005003e,
0x00000000,
+0xe1a0b009,
+0x00000000,
0xeb000000,
0x00050096,
+0x00000000,
+0xe1a0900b,
+0x00000000,
0xea000000,
0x0005000e,
0x00000000,
-0xe009caae,
-0xe009b6ae,
+0xe004caae,
+0xe004b6ae,
0x00000000,
-0xe18400dc,
+0xe18900dc,
0xe18520db,
0x00000000,
-0xe18420dc,
+0xe18920dc,
0xe18500db,
0x00000000,
-0xe18400dc,
-0xe18420db,
+0xe18900dc,
+0xe18920db,
0x00000000,
0xe3730000,
0x000a0000,
@@ -3678,39 +3858,44 @@ static const unsigned int build_actionlist[5200] = {
0x2a000000,
0x0005003e,
0x00000000,
+0xe1a0b009,
+0x00000000,
0xeb000000,
0x0003001e,
+0x00000000,
+0xe1a0900b,
+0x00000000,
0xe5d6c000,
0xe496e004,
-0xe18400fa,
+0xe18900fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
-0xe009baae,
-0xe009c6ae,
+0xe004baae,
+0xe004c6ae,
0xe04c200b,
-0xe5084000,
+0xe5089000,
0x000d8180,
-0xe084100c,
+0xe089100c,
0x0006002a,
0xe1a00008,
0xe58d6008,
0xe1a021a2,
0xeb000000,
0x00030030,
-0xe5184000,
+0xe5189000,
0x000d8180,
0xe3500000,
0x1a000000,
0x00050035,
-0xe18420db,
+0xe18920db,
0xe5d6c000,
0xe496e004,
-0xe18420fa,
+0xe18920fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
@@ -3720,9 +3905,9 @@ static const unsigned int build_actionlist[5200] = {
0xe3e01000,
0x000a0000,
0xe496e004,
-0xe18400fa,
+0xe18900fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
@@ -3732,9 +3917,9 @@ static const unsigned int build_actionlist[5200] = {
0xe3e01000,
0x000a0000,
0xe496e004,
-0xe18400fa,
+0xe18900fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
@@ -3743,9 +3928,9 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0xe5d6c000,
0xe496e004,
-0xe18400fa,
+0xe18900fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
@@ -3753,24 +3938,24 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe18500db,
0xe496e004,
-0xe18400fa,
+0xe18900fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
-0xe084a00a,
+0xe089a00a,
0xe1e0b00b,
0xe5d6c000,
0xe496e004,
0xe58ab004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
-0xe084a00a,
-0xe084b18b,
+0xe089a00a,
+0xe089b18b,
0xe3e00000,
0x000a0000,
0xe58a0004,
@@ -3784,11 +3969,11 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
-0xe5141008,
+0xe5191008,
0xe1a0b10b,
0xe28bb000,
0x000a0000,
@@ -3798,19 +3983,19 @@ static const unsigned int build_actionlist[5200] = {
0xe1c120d0,
0xe5d6c000,
0xe496e004,
-0xe18420fa,
+0xe18920fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
-0xe5141008,
+0xe5191008,
0xe1a0a0aa,
0xe28aa000,
0x000a0000,
0xe1a0b18b,
0xe791100a,
-0xe18420db,
+0xe18920db,
0xe551c000,
0x000d8180,
0xe551b000,
@@ -3829,7 +4014,7 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000c,
@@ -3843,12 +4028,21 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0xe31b0000,
0x000a0000,
+0x00000000,
+0x0a000000,
+0x0005000b,
+0xe1a0b009,
+0xeb000000,
+0x00030031,
+0xe1a0900b,
+0x00000000,
0x1b000000,
0x00030031,
+0x00000000,
0xea000000,
0x0005000b,
0x00000000,
-0xe5141008,
+0xe5191008,
0xe1a0a0aa,
0xe28aa000,
0x000a0000,
@@ -3874,7 +4068,7 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000c,
@@ -3883,12 +4077,21 @@ static const unsigned int build_actionlist[5200] = {
0x135b0000,
0xe2470000,
0x000a0000,
+0x00000000,
+0x0a000000,
+0x0005000b,
+0xe1a0b009,
+0xeb000000,
+0x00030031,
+0xe1a0900b,
+0x00000000,
0x1b000000,
0x00030031,
+0x00000000,
0xea000000,
0x0005000b,
0x00000000,
-0xe5141008,
+0xe5191008,
0xe1a0a0aa,
0xe28aa000,
0x000a0000,
@@ -3901,11 +4104,11 @@ static const unsigned int build_actionlist[5200] = {
0xe496e004,
0xe1c120f0,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
-0xe5141008,
+0xe5191008,
0xe1a0a0aa,
0xe28aa000,
0x000a0000,
@@ -3917,51 +4120,51 @@ static const unsigned int build_actionlist[5200] = {
0xe496e004,
0xe581b004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
0xe5182000,
0x000d8180,
0xe086b10b,
-0xe5084000,
+0xe5089000,
0x000d8180,
0xe3520000,
0xe24b6b80,
0x0a000000,
0x00050001,
0xe1a00008,
-0xe084100a,
+0xe089100a,
0xeb000000,
0x00030032,
-0xe5184000,
+0xe5189000,
0x000d8180,
0x0006000b,
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
0xe1e0b00b,
-0xe5084000,
+0xe5089000,
0x000d8180,
0xe795110b,
0xe58d6008,
-0xe5142008,
+0xe5192008,
0xe1a00008,
0xeb000000,
0x00030033,
-0xe5184000,
+0xe5189000,
0x000d8180,
0xe3e01000,
0x000a0000,
0xe5d6c000,
0xe496e004,
-0xe18400fa,
+0xe18900fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
@@ -3971,7 +4174,7 @@ static const unsigned int build_actionlist[5200] = {
0x000d8180,
0xe5173000,
0x000d8180,
-0xe5084000,
+0xe5089000,
0x000d8180,
0xe58d6008,
0xe1520003,
@@ -3993,15 +4196,15 @@ static const unsigned int build_actionlist[5200] = {
0xeb000000,
0x00030035,
0x00000000,
-0xe5184000,
+0xe5189000,
0x000d8180,
0xe3e01000,
0x000a0000,
0xe5d6c000,
0xe496e004,
-0xe18400fa,
+0xe18900fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000f,
@@ -4011,7 +4214,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005000b,
0x00000000,
-0xe5141008,
+0xe5191008,
0xe1e0b00b,
0xe5110000,
0x000d8180,
@@ -4023,10 +4226,10 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005009f,
0x00000000,
-0xe009caae,
-0xe009b6ae,
-0xe18400dc,
-0xe18420db,
+0xe004caae,
+0xe004b6ae,
+0xe18900dc,
+0xe18920db,
0xe3710000,
0x000a0000,
0x1a000000,
@@ -4051,9 +4254,9 @@ static const unsigned int build_actionlist[5200] = {
0x00050005,
0x0006000b,
0xe496e004,
-0xe18420fa,
+0xe18920fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000f,
@@ -4068,7 +4271,7 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x1a000000,
0x0005000b,
-0xe009caae,
+0xe004caae,
0xea000000,
0x0005002f,
0x00060013,
@@ -4080,9 +4283,9 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005002f,
0x00000000,
-0xe009caae,
+0xe004caae,
0xe20bb0ff,
-0xe18400dc,
+0xe18900dc,
0xe1e0b00b,
0xe795b10b,
0xe3710000,
@@ -4119,9 +4322,9 @@ static const unsigned int build_actionlist[5200] = {
0x0006000d,
0xe5d6c000,
0xe496e004,
-0xe18420fa,
+0xe18920fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000e,
@@ -4147,9 +4350,9 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005002d,
0x00000000,
-0xe009caae,
+0xe004caae,
0xe20bb0ff,
-0xe18400dc,
+0xe18900dc,
0xe3710000,
0x000a0000,
0x1a000000,
@@ -4170,9 +4373,9 @@ static const unsigned int build_actionlist[5200] = {
0x00050005,
0x0006000b,
0xe496e004,
-0xe18420fa,
+0xe18920fa,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000f,
@@ -4190,10 +4393,10 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005002e,
0x00000000,
-0xe009caae,
-0xe009b6ae,
-0xe18400dc,
-0xe18420db,
+0xe004caae,
+0xe004b6ae,
+0xe18900dc,
+0xe18920db,
0xe3710000,
0x000a0000,
0x1a000000,
@@ -4216,7 +4419,7 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0xe550e000,
0x000d8180,
-0xe18420da,
+0xe18920da,
0x0a000000,
0x00050005,
0x0006000b,
@@ -4228,7 +4431,7 @@ static const unsigned int build_actionlist[5200] = {
0x0006000c,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000f,
@@ -4244,8 +4447,8 @@ static const unsigned int build_actionlist[5200] = {
0x1a000000,
0x0005000b,
0xe516e004,
-0xe009caae,
-0xe009a2ae,
+0xe004caae,
+0xe004a2ae,
0xea000000,
0x00050033,
0x00060011,
@@ -4271,9 +4474,9 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x00050033,
0x00000000,
-0xe009caae,
+0xe004caae,
0xe20bb0ff,
-0xe18400dc,
+0xe18900dc,
0xe1e0b00b,
0xe795b10b,
0xe3710000,
@@ -4310,7 +4513,7 @@ static const unsigned int build_actionlist[5200] = {
0x000d8180,
0xe3730000,
0x000a0000,
-0xe18420da,
+0xe18920da,
0x0a000000,
0x00050004,
0x0006000c,
@@ -4324,7 +4527,7 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000e,
@@ -4351,7 +4554,7 @@ static const unsigned int build_actionlist[5200] = {
0xe1a0200d,
0xe58d6008,
0xe3500000,
-0xe5084000,
+0xe5089000,
0x000d8180,
0x15501000,
0x000d8180,
@@ -4370,9 +4573,9 @@ static const unsigned int build_actionlist[5200] = {
0xe58d3004,
0xeb000000,
0x00030037,
-0xe5184000,
+0xe5189000,
0x000d8180,
-0xe18420da,
+0xe18920da,
0xe1c020f0,
0xea000000,
0x0005000d,
@@ -4391,9 +4594,9 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005000d,
0x00000000,
-0xe009caae,
+0xe004caae,
0xe20bb0ff,
-0xe18400dc,
+0xe18900dc,
0xe3710000,
0x000a0000,
0x1a000000,
@@ -4412,7 +4615,7 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0xe550e000,
0x000d8180,
-0xe18420da,
+0xe18920da,
0x0a000000,
0x00050005,
0x0006000b,
@@ -4424,7 +4627,7 @@ static const unsigned int build_actionlist[5200] = {
0x0006000c,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000f,
@@ -4457,7 +4660,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005000c,
0x00000000,
-0xe084a00a,
+0xe089a00a,
0x0006000b,
0xe59dc004,
0xe51a1008,
@@ -4491,16 +4694,20 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000f,
-0xe5084000,
+0xe5089000,
0x000d8180,
0xe1a00008,
0xe58d6008,
0xeb000000,
0x00030038,
+0x00000000,
+0xe5189000,
+0x000d8180,
+0x00000000,
0xea000000,
0x0005000b,
0x00060011,
@@ -4518,29 +4725,29 @@ static const unsigned int build_actionlist[5200] = {
0x0005000e,
0x00000000,
0xe59d0004,
-0xe009b6ae,
+0xe004b6ae,
0xe08bb000,
0xea000000,
0x000500a0,
0x00000000,
-0xe009b6ae,
+0xe004b6ae,
0x000600a0,
-0xe1a0c004,
-0xe1a420da,
+0xe1a0c009,
+0xe1a920da,
0xe24bb008,
-0xe2844008,
+0xe2899008,
0xe3730000,
0x000a0000,
0x1a000000,
0x00050025,
-0xe5046004,
+0xe5096004,
0xe5126000,
0x000d8180,
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
-0xe08aa004,
+0xe004a2ae,
+0xe08aa009,
0xe12fff1c,
0x00000000,
0xe59d0004,
@@ -4550,14 +4757,14 @@ static const unsigned int build_actionlist[5200] = {
0x00000000,
0xe1a0b18b,
0x000600a1,
-0xe1aa20d4,
+0xe1aa20d9,
0xe24bb008,
0xe28aa008,
0xe3730000,
0x000a0000,
0x1a000000,
0x00050040,
-0xe5146004,
+0xe5196004,
0x00060041,
0xe3a0c000,
0xe5523000,
@@ -4567,7 +4774,7 @@ static const unsigned int build_actionlist[5200] = {
0x1a000000,
0x00050007,
0x0006000b,
-0xe5042008,
+0xe5092008,
0xe35b0000,
0x0a000000,
0x00050003,
@@ -4575,7 +4782,7 @@ static const unsigned int build_actionlist[5200] = {
0xe18a00dc,
0xe28ce008,
0xe15e000b,
-0xe18400fc,
+0xe18900fc,
0xe1a0c00e,
0x1a000000,
0x0005000c,
@@ -4589,13 +4796,13 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
-0xe08aa004,
+0xe004a2ae,
+0xe08aa009,
0xe12fff1c,
0x0006000f,
0xe516e004,
-0xe009a2ae,
-0xe044000a,
+0xe004a2ae,
+0xe049000a,
0xe5100010,
0xe5100000,
0x000d8180,
@@ -4612,19 +4819,19 @@ static const unsigned int build_actionlist[5200] = {
0x13a03000,
0x1a000000,
0x0005000b,
-0xe0444006,
-0xe5146004,
+0xe0499006,
+0xe5196004,
0xe3160000,
0x000a0000,
0x13a03000,
0xea000000,
0x0005000b,
0x00000000,
-0xe084a00a,
-0xe1a0c004,
+0xe089a00a,
+0xe1a0c009,
0xe14a21d0,
0xe14a00d8,
-0xe28a4008,
+0xe28a9008,
0xe1ca20f8,
0xe1ca01f0,
0xe14a21d8,
@@ -4634,17 +4841,17 @@ static const unsigned int build_actionlist[5200] = {
0x000a0000,
0x1a000000,
0x00050025,
-0xe5046004,
+0xe5096004,
0xe5126000,
0x000d8180,
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
-0xe08aa004,
+0xe004a2ae,
+0xe08aa009,
0xe12fff1c,
0x00000000,
-0xe084a00a,
+0xe089a00a,
0xe51ac010,
0xe51a0008,
0xe51ce000,
@@ -4676,7 +4883,7 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000f,
@@ -4709,7 +4916,7 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005000d,
0x00000000,
-0xe084a00a,
+0xe089a00a,
0xe086b10b,
0xe14a01d8,
0xe51a200c,
@@ -4733,7 +4940,7 @@ static const unsigned int build_actionlist[5200] = {
0xe50a0008,
0x0006000b,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000f,
@@ -4748,15 +4955,15 @@ static const unsigned int build_actionlist[5200] = {
0xea000000,
0x0005000b,
0x00000000,
-0xe009caae,
-0xe009b6ae,
-0xe5140004,
-0xe084b00b,
-0xe084a00a,
+0xe004caae,
+0xe004b6ae,
+0xe5190004,
+0xe089b00b,
+0xe089a00a,
0xe28bb000,
0x000a0000,
0xe08a300c,
-0xe2442008,
+0xe2492008,
0xe04bb000,
0xe35c0000,
0xe042000b,
@@ -4776,7 +4983,7 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000f,
@@ -4805,31 +5012,31 @@ static const unsigned int build_actionlist[5200] = {
0xe508a000,
0x000d8180,
0xe1a00008,
-0xe5084000,
+0xe5089000,
0x000d8180,
-0xe04bb004,
+0xe04bb009,
0xe58d6008,
-0xe04aa004,
+0xe04aa009,
0xeb000000,
0x00030000,
-0xe5184000,
+0xe5189000,
0x000d8180,
-0xe084a00a,
-0xe084b00b,
-0xe2442008,
+0xe089a00a,
+0xe089b00b,
+0xe2492008,
0xea000000,
0x00050010,
0x00000000,
0xe59d0004,
-0xe5146004,
-0xe084a00a,
+0xe5196004,
+0xe089a00a,
0xe080b18b,
0xea000000,
0x000500a2,
0x00000000,
-0xe5146004,
+0xe5196004,
0xe1a0b18b,
-0xe084a00a,
+0xe089a00a,
0x000600a2,
0xe58db004,
0x0006000b,
@@ -4842,26 +5049,26 @@ static const unsigned int build_actionlist[5200] = {
0x00060017,
0xe516e004,
0xe25b3008,
-0xe2442008,
+0xe2492008,
0x0a000000,
0x00050003,
0x0006000c,
0xe0ca00d8,
-0xe2844008,
+0xe2899008,
0xe2533008,
-0xe14401f0,
+0xe14901f0,
0x1a000000,
0x0005000c,
0x0006000d,
-0xe009a2ae,
+0xe004a2ae,
0xe042300a,
-0xe009caae,
+0xe004caae,
0xe5130008,
0x0006000f,
0xe15c000b,
0x8a000000,
0x00050006,
-0xe1a04003,
+0xe1a09003,
0xe5101000,
0x000d8180,
0xe5d6c000,
@@ -4869,30 +5076,30 @@ static const unsigned int build_actionlist[5200] = {
0xe5115000,
0x000d8180,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00060010,
0xe3e01000,
0x000a0000,
-0xe2844008,
+0xe2899008,
0xe28bb008,
-0xe504100c,
+0xe509100c,
0xea000000,
0x0005000f,
0x000600a4,
-0xe084a00a,
+0xe089a00a,
0x000600a3,
0xe3110000,
0x000a0000,
0x1a000000,
0x00050018,
-0xe0444001,
-0xe5146004,
+0xe0499001,
+0xe5196004,
0xea000000,
0x0005000b,
0x00000000,
-0xe5146004,
+0xe5196004,
0xe1a0b18b,
0xe58db004,
0xe2160000,
@@ -4903,16 +5110,16 @@ static const unsigned int build_actionlist[5200] = {
0x1a000000,
0x000500a4,
0x00000000,
-0xe18400da,
+0xe18900da,
0x00000000,
-0xe2443008,
-0xe009a2ae,
+0xe2493008,
+0xe004a2ae,
0x00000000,
0xe1c300f0,
0x00000000,
-0xe043400a,
-0xe009caae,
-0xe5140008,
+0xe043900a,
+0xe004caae,
+0xe5190008,
0x0006000f,
0xe15c000b,
0x8a000000,
@@ -4924,7 +5131,7 @@ static const unsigned int build_actionlist[5200] = {
0xe5115000,
0x000d8180,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00060010,
@@ -4938,7 +5145,7 @@ static const unsigned int build_actionlist[5200] = {
0x00000000,
0xe7f001f0,
0x00000000,
-0xe1aa00d4,
+0xe1aa00d9,
0xe086b10b,
0x00000000,
0xe1ca20d8,
@@ -4993,7 +5200,7 @@ static const unsigned int build_actionlist[5200] = {
0xe1ca01f8,
0x0006000d,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x0006000e,
@@ -5058,7 +5265,7 @@ static const unsigned int build_actionlist[5200] = {
0x00000000,
0xe7f001f0,
0x00000000,
-0xe1aa00d4,
+0xe1aa00d9,
0x00000000,
0xe7f001f0,
0x00000000,
@@ -5071,7 +5278,7 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
@@ -5080,7 +5287,7 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
@@ -5091,7 +5298,7 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
@@ -5118,12 +5325,12 @@ static const unsigned int build_actionlist[5200] = {
0xe7f001f0,
0x00000000,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
0x0006000d,
-0xe18420fb,
+0xe18920fb,
0xe28bb008,
0xea000000,
0x0005000c,
@@ -5132,7 +5339,7 @@ static const unsigned int build_actionlist[5200] = {
0x00000000,
0xe5180000,
0x000d8180,
-0xe084300b,
+0xe089300b,
0xe08aa00b,
0xe5832000,
0xe28b1000,
@@ -5145,10 +5352,10 @@ static const unsigned int build_actionlist[5200] = {
0x00050020,
0xe556c000,
0x000d8180,
-0xe1a0a004,
+0xe1a0a009,
0xe1a0b003,
0xe35c0000,
-0xe2834008,
+0xe2839008,
0x0a000000,
0x00050003,
0xe3e02000,
@@ -5167,7 +5374,7 @@ static const unsigned int build_actionlist[5200] = {
0xe5d6c000,
0xe496e004,
0xe797c10c,
-0xe009a2ae,
+0xe004a2ae,
0xe1a0b82e,
0xe12fff1c,
0x00000000,
@@ -5180,8 +5387,8 @@ static const unsigned int build_actionlist[5200] = {
0xe08a100b,
0xe5180000,
0x000d8180,
-0xe084b00b,
-0xe5084000,
+0xe089b00b,
+0xe5089000,
0x000d8180,
0xe1510000,
0xe508b000,
@@ -5198,7 +5405,7 @@ static const unsigned int build_actionlist[5200] = {
0xe5072000,
0x000d8180,
0xe12fff33,
-0xe5184000,
+0xe5189000,
0x000d8180,
0xe3e02000,
0x000a0000,
@@ -5207,7 +5414,7 @@ static const unsigned int build_actionlist[5200] = {
0xe1a0b180,
0xe5072000,
0x000d8180,
-0xe5146004,
+0xe5196004,
0xe041a00b,
0xea000000,
0x00050016,
@@ -5604,122 +5811,341 @@ static void build_subroutines(BuildCtx *ctx)
dasm_put(Dst, 172, 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));
dasm_put(Dst, 237, 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);
dasm_put(Dst, 306, Dt7(->field_pc), ~LJ_TNIL, PC2PROTO(k), Dt1(->base), -DISPATCH_GL(tmptv), ~LJ_TTAB, ~LJ_TSTR, ~LJ_TISNUM);
- dasm_put(Dst, 377, Dt1(->base), FRAME_CONT, Dt1(->top), -DISPATCH_GL(tmptv), ~LJ_TTAB, ~LJ_TSTR, ~LJ_TISNUM, Dt1(->base));
- dasm_put(Dst, 444, FRAME_CONT, Dt1(->top), Dt1(->base), ~LJ_TTRUE, -LJ_TFALSE);
- dasm_put(Dst, 520, Dt1(->base));
-#if LJ_HASFFI
- dasm_put(Dst, 531, Dt1(->base));
-#endif
- dasm_put(Dst, 542, Dt1(->base), FRAME_CONT, Dt1(->base), Dt1(->base), Dt7(->field_pc));
- dasm_put(Dst, 615, Dt1(->base), Dt1(->base));
-#if LJ_HASJIT
- dasm_put(Dst, 644);
-#endif
- dasm_put(Dst, 646);
-#if LJ_HASJIT
- dasm_put(Dst, 648, BC_JFORI);
-#endif
- dasm_put(Dst, 651);
-#if LJ_HASJIT
- dasm_put(Dst, 654, BC_JFORI);
-#endif
- dasm_put(Dst, 657, BC_FORI, -LJ_TTRUE, -LJ_TISNUM, ~LJ_TISNUM, (int)(offsetof(GCfuncC, upvalue)>>3)-1, -LJ_TTAB, -LJ_TUDATA, Dt6(->metatable));
- dasm_put(Dst, 714, ~LJ_TNIL, DISPATCH_GL(gcroot[GCROOT_MMNAME+MM_metatable]), Dt6(->hmask), Dt5(->hash), Dt6(->node), DtB(->key), DtB(->val), DtB(->next), -LJ_TSTR, ~LJ_TTAB, -LJ_TNIL, -LJ_TISNUM);
- dasm_put(Dst, 762, ~LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT]), -LJ_TTAB, Dt6(->metatable), -LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist), -LJ_TTAB);
- dasm_put(Dst, 814, -LJ_TISNUM, -LJ_TSTR, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), Dt1(->base), -LJ_TISNUM, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), ~LJ_TSTR);
- dasm_put(Dst, 869, ~LJ_TNIL, -LJ_TTAB, Dt1(->base), Dt1(->top), ~LJ_TNIL, (2+1)*8, -LJ_TTAB);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 917, Dt6(->metatable));
-#endif
- dasm_put(Dst, 920, Dt8(->upvalue[0]));
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 924);
-#endif
- dasm_put(Dst, 928, ~LJ_TNIL, (3+1)*8, -LJ_TTAB, -LJ_TISNUM, Dt6(->asize), Dt6(->array), (0+1)*8, -LJ_TNIL, (2+1)*8, Dt6(->hmask));
- dasm_put(Dst, 987, -LJ_TTAB);
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 996, Dt6(->metatable));
-#endif
- dasm_put(Dst, 999, Dt8(->upvalue[0]));
-#ifdef LUAJIT_ENABLE_LUA52COMPAT
- dasm_put(Dst, 1003);
-#endif
- dasm_put(Dst, 1007, ~LJ_TISNUM, (3+1)*8, DISPATCH_GL(hookmask), HOOK_ACTIVE, 8+FRAME_PCALL, 8+FRAME_PCALLH, DISPATCH_GL(hookmask), -LJ_TFUNC, HOOK_ACTIVE, 16+FRAME_PCALL, 16+FRAME_PCALLH, -LJ_TTHREAD);
- dasm_put(Dst, 1066, Dt1(->base), Dt1(->top), Dt1(->status), Dt1(->base), Dt1(->maxstack), Dt1(->cframe), LUA_YIELD, Dt1(->top), Dt1(->top), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate), LUA_YIELD);
- dasm_put(Dst, 1125, Dt1(->base), Dt1(->maxstack), Dt1(->top), ~LJ_TTRUE, FRAME_TYPE, ~LJ_TFALSE, (2+1)*8, Dt1(->top));
- dasm_put(Dst, 1185, Dt8(->upvalue[0].gcr), Dt1(->base), Dt1(->top), Dt1(->status), Dt1(->base), Dt1(->maxstack), Dt1(->cframe), LUA_YIELD, Dt1(->top), Dt1(->top), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate), LUA_YIELD);
- dasm_put(Dst, 1241, Dt1(->base), Dt1(->maxstack), Dt1(->top), FRAME_TYPE, Dt1(->cframe), Dt1(->base), CFRAME_RESUME, Dt1(->top));
- dasm_put(Dst, 1300, LUA_YIELD, Dt1(->cframe), Dt1(->status), -LJ_TISNUM, ~LJ_TISNUM, ~LJ_TISNUM);
- dasm_put(Dst, 1366, -LJ_TISNUM, ~LJ_TISNUM, ~LJ_TISNUM);
- dasm_put(Dst, 1430, -LJ_TISNUM, (1+1)*8, FRAME_TYPE, ~LJ_TNIL);
- dasm_put(Dst, 1494, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
- dasm_put(Dst, 1543, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
- dasm_put(Dst, 1593, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
- dasm_put(Dst, 1642, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
- dasm_put(Dst, 1692, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, Dt8(->upvalue[0]), -LJ_TISNUM, -LJ_TISNUM);
- dasm_put(Dst, 1741, -LJ_TISNUM, ~LJ_TISNUM, (2+1)*8, -LJ_TISNUM, (2+1)*8, -LJ_TISNUM);
- dasm_put(Dst, 1797, -LJ_TISNUM, -LJ_TISNUM);
- dasm_put(Dst, 1850, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
- dasm_put(Dst, 1903, -LJ_TSTR, Dt5(->len), ~LJ_TISNUM, -LJ_TSTR, Dt5(->len), Dt5([1]), ~LJ_TISNUM, (0+1)*8, (1+1)*8, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
- dasm_put(Dst, 1955, -LJ_TISNUM, Dt1(->base), Dt1(->base), ~LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TISNUM, -LJ_TSTR, Dt5(->len), -LJ_TISNUM);
- dasm_put(Dst, 2014, sizeof(GCstr)-1, -DISPATCH_GL(strempty), ~LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, -LJ_TISNUM, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), Dt5([1]));
- dasm_put(Dst, 2078, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
- dasm_put(Dst, 2133, -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr));
- dasm_put(Dst, 2191, -LJ_TTAB, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM);
- dasm_put(Dst, 2264, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
- dasm_put(Dst, 2325, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM);
- dasm_put(Dst, 2380, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM);
- dasm_put(Dst, 2437, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, Dt1(->maxstack), Dt1(->top), Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->base));
- dasm_put(Dst, 2495, Dt1(->top), Dt7(->field_pc), FRAME_TYPE, FRAME_TYPEP, LUA_MINSTACK, Dt1(->base), Dt1(->base), Dt1(->top), Dt1(->base));
-#if LJ_HASJIT
- dasm_put(Dst, 2554);
-#endif
- dasm_put(Dst, 2556, DISPATCH_GL(hookmask), HOOK_ACTIVE, GG_DISP2STATIC, DISPATCH_GL(hookmask), DISPATCH_GL(hookcount), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE, Dt1(->base), Dt1(->base));
- dasm_put(Dst, 2602, GG_DISP2STATIC);
-#if LJ_HASJIT
- dasm_put(Dst, 2618);
-#endif
- dasm_put(Dst, 2620);
-#if LJ_HASJIT
- dasm_put(Dst, 2623);
-#endif
- dasm_put(Dst, 2626);
-#if LJ_HASJIT
- dasm_put(Dst, 2628);
-#endif
- dasm_put(Dst, 2631, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
-#if LJ_HASJIT
- dasm_put(Dst, 2653);
-#endif
- dasm_put(Dst, 2655);
-#if LJ_HASJIT
- dasm_put(Dst, 2657);
-#endif
- dasm_put(Dst, 2659);
-#if LJ_HASJIT
- dasm_put(Dst, 2664);
-#else
- dasm_put(Dst, 2667);
-#endif
- dasm_put(Dst, 2669);
- {
- int i;
- for (i = 31; i >= 0; i--) {
- dasm_put(Dst, 2705, i, i);
- }
+ dasm_put(Dst, 377, Dt1(->base));
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 387, Dt1(->base));
}
- dasm_put(Dst, 2710);
-#if LJ_HASJIT
- dasm_put(Dst, 2719);
+ dasm_put(Dst, 390, FRAME_CONT, Dt1(->top), -DISPATCH_GL(tmptv), ~LJ_TTAB, ~LJ_TSTR, ~LJ_TISNUM, Dt1(->base));
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 452, Dt1(->base));
+ }
+ dasm_put(Dst, 455, FRAME_CONT, Dt1(->top), Dt1(->base));
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 491, Dt1(->base));
+ }
+ dasm_put(Dst, 494, ~LJ_TTRUE, -LJ_TFALSE, Dt1(->base));
+#if LJ_HASFFI
+ dasm_put(Dst, 541, Dt1(->base));
#endif
- dasm_put(Dst, 2721);
+ dasm_put(Dst, 552, Dt1(->base));
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 589, Dt1(->base));
+ }
+ dasm_put(Dst, 592, FRAME_CONT, Dt1(->base));
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 613, Dt1(->base));
+ }
+ dasm_put(Dst, 616, Dt1(->base));
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 626);
+ }
+ dasm_put(Dst, 628);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 631);
+ }
+ dasm_put(Dst, 633, Dt7(->field_pc), Dt1(->base));
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 654, Dt1(->base));
+ }
+ dasm_put(Dst, 657, Dt1(->base));
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 671, Dt1(->base));
+ }
+#if LJ_HASJIT
+ dasm_put(Dst, 674);
+#endif
+ dasm_put(Dst, 676);
+#if LJ_HASJIT
+ dasm_put(Dst, 678, BC_JFORI);
+#endif
+ dasm_put(Dst, 681);
+#if LJ_HASJIT
+ dasm_put(Dst, 684, BC_JFORI);
+#endif
+ dasm_put(Dst, 687, BC_FORI, -LJ_TTRUE, -LJ_TISNUM, ~LJ_TISNUM, (int)(offsetof(GCfuncC, upvalue)>>3)-1, -LJ_TTAB, -LJ_TUDATA, Dt6(->metatable));
+ dasm_put(Dst, 744, ~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);
+ dasm_put(Dst, 792, ~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);
+ dasm_put(Dst, 844);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 849);
+ }
+ dasm_put(Dst, 851);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 854);
+ }
+ dasm_put(Dst, 856, -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);
+ dasm_put(Dst, 908, ~LJ_TNIL, -LJ_TTAB, Dt1(->base), Dt1(->top));
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 931, Dt1(->base));
+ }
+ dasm_put(Dst, 934, ~LJ_TNIL, (2+1)*8, -LJ_TTAB);
+#ifdef LUAJIT_ENABLE_LUA52COMPAT
+ dasm_put(Dst, 957, Dt6(->metatable));
+#endif
+ dasm_put(Dst, 960, Dt8(->upvalue[0]));
+#ifdef LUAJIT_ENABLE_LUA52COMPAT
+ dasm_put(Dst, 964);
+#endif
+ dasm_put(Dst, 968, ~LJ_TNIL, (3+1)*8, -LJ_TTAB, -LJ_TISNUM, Dt6(->asize), Dt6(->array), (0+1)*8, -LJ_TNIL, (2+1)*8, Dt6(->hmask));
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1018);
+ }
+ dasm_put(Dst, 1020);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1023);
+ }
+ dasm_put(Dst, 1025, -LJ_TTAB);
+#ifdef LUAJIT_ENABLE_LUA52COMPAT
+ dasm_put(Dst, 1041, Dt6(->metatable));
+#endif
+ dasm_put(Dst, 1044, Dt8(->upvalue[0]));
+#ifdef LUAJIT_ENABLE_LUA52COMPAT
+ dasm_put(Dst, 1048);
+#endif
+ dasm_put(Dst, 1052, ~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);
+ dasm_put(Dst, 1111, 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);
+ dasm_put(Dst, 1170, Dt1(->base), Dt1(->maxstack), Dt1(->top), ~LJ_TTRUE, FRAME_TYPE, ~LJ_TFALSE, (2+1)*8, Dt1(->top));
+ dasm_put(Dst, 1230, 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);
+ dasm_put(Dst, 1286, Dt1(->base), Dt1(->maxstack), Dt1(->top), FRAME_TYPE, Dt1(->cframe), Dt1(->base), CFRAME_RESUME, Dt1(->top));
+ dasm_put(Dst, 1345, LUA_YIELD, Dt1(->cframe), Dt1(->status), -LJ_TISNUM, ~LJ_TISNUM, ~LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1411);
+ }
+ dasm_put(Dst, 1413);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1416);
+ }
+ dasm_put(Dst, 1418, -LJ_TISNUM, ~LJ_TISNUM, ~LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1478);
+ }
+ dasm_put(Dst, 1480);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1483);
+ }
+ dasm_put(Dst, 1485, -LJ_TISNUM, (1+1)*8, FRAME_TYPE, ~LJ_TNIL);
+ dasm_put(Dst, 1549, -LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1554);
+ }
+ dasm_put(Dst, 1556);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1559);
+ }
+ dasm_put(Dst, 1561, -LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1573);
+ }
+ dasm_put(Dst, 1575);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1578);
+ }
+ dasm_put(Dst, 1580, -LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1592);
+ }
+ dasm_put(Dst, 1594);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1597);
+ }
+ dasm_put(Dst, 1599, -LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1611);
+ }
+ dasm_put(Dst, 1613);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1616);
+ }
+ dasm_put(Dst, 1618, -LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1630);
+ }
+ dasm_put(Dst, 1632);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1635);
+ }
+ dasm_put(Dst, 1637, -LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1649);
+ }
+ dasm_put(Dst, 1651);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1654);
+ }
+ dasm_put(Dst, 1656, -LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1668);
+ }
+ dasm_put(Dst, 1670);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1673);
+ }
+ dasm_put(Dst, 1675, -LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1687);
+ }
+ dasm_put(Dst, 1689);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1692);
+ }
+ dasm_put(Dst, 1694, -LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1706);
+ }
+ dasm_put(Dst, 1708);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1711);
+ }
+ dasm_put(Dst, 1713, -LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1725);
+ }
+ dasm_put(Dst, 1727);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1730);
+ }
+ dasm_put(Dst, 1732, -LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1744);
+ }
+ dasm_put(Dst, 1746);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1749);
+ }
+ dasm_put(Dst, 1751, -LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1763);
+ }
+ dasm_put(Dst, 1765);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1768);
+ }
+ dasm_put(Dst, 1770, -LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1782);
+ }
+ dasm_put(Dst, 1784);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1787);
+ }
+ dasm_put(Dst, 1789, -LJ_TISNUM, -LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1804);
+ }
+ dasm_put(Dst, 1806);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1809);
+ }
+ dasm_put(Dst, 1811, -LJ_TISNUM, -LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1826);
+ }
+ dasm_put(Dst, 1828);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1831);
+ }
+ dasm_put(Dst, 1833, -LJ_TISNUM, -LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1848);
+ }
+ dasm_put(Dst, 1850);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1853);
+ }
+ dasm_put(Dst, 1855, -LJ_TISNUM, Dt8(->upvalue[0]), -LJ_TISNUM, -LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1888);
+ }
+ dasm_put(Dst, 1890);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1893);
+ }
+ dasm_put(Dst, 1895, -LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1908);
+ }
+ dasm_put(Dst, 1910);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1913);
+ }
+ dasm_put(Dst, 1915, ~LJ_TISNUM, (2+1)*8, -LJ_TISNUM);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1937);
+ }
+ dasm_put(Dst, 1939);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 1942);
+ }
+ dasm_put(Dst, 1944, (2+1)*8, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 1995, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 2049, -LJ_TISNUM, -LJ_TSTR, Dt5(->len), ~LJ_TISNUM, -LJ_TSTR, Dt5(->len), Dt5([1]));
+ dasm_put(Dst, 2103, ~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));
+ dasm_put(Dst, 2162, -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));
+ dasm_put(Dst, 2224, 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));
+ dasm_put(Dst, 2277, 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));
+ dasm_put(Dst, 2337, -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr), -LJ_TTAB);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 2375);
+ }
+ dasm_put(Dst, 2377);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 2380);
+ }
+ dasm_put(Dst, 2382, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 2453, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM);
+ dasm_put(Dst, 2513, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 2569, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM);
+ dasm_put(Dst, 2626, -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);
+ dasm_put(Dst, 2689, LUA_MINSTACK, Dt1(->base), Dt1(->base), Dt1(->top), Dt1(->base));
#if LJ_HASJIT
dasm_put(Dst, 2723);
#endif
- dasm_put(Dst, 2725);
+ dasm_put(Dst, 2725, 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));
+ dasm_put(Dst, 2771, GG_DISP2STATIC);
+#if LJ_HASJIT
+ dasm_put(Dst, 2787);
+#endif
+ dasm_put(Dst, 2789);
+#if LJ_HASJIT
+ dasm_put(Dst, 2792);
+#endif
+ dasm_put(Dst, 2795);
+#if LJ_HASJIT
+ dasm_put(Dst, 2797);
+#endif
+ dasm_put(Dst, 2800, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
+#if LJ_HASJIT
+ dasm_put(Dst, 2822);
+#endif
+ dasm_put(Dst, 2824);
+#if LJ_HASJIT
+ dasm_put(Dst, 2826);
+#endif
+ dasm_put(Dst, 2828);
+#if LJ_HASJIT
+ dasm_put(Dst, 2833);
+#else
+ dasm_put(Dst, 2836);
+#endif
+ dasm_put(Dst, 2838);
+ {
+ int i;
+ for (i = 31; i >= 0; i--) {
+ dasm_put(Dst, 2874, i, i);
+ }
+ }
+ dasm_put(Dst, 2879);
+#if LJ_HASJIT
+ dasm_put(Dst, 2888);
+#endif
+ dasm_put(Dst, 2890);
+#if LJ_HASJIT
+ dasm_put(Dst, 2892);
+#endif
+ dasm_put(Dst, 2894);
#if LJ_HASFFI
#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
- dasm_put(Dst, 2749, DtE(->spadj), DtE(->nsp), offsetof(CCallState, stack), DtE(->func), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[0]), DtE(->gpr[1]));
+ dasm_put(Dst, 2918, 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]));
#endif
}
@@ -5727,7 +6153,7 @@ static void build_subroutines(BuildCtx *ctx)
static void build_ins(BuildCtx *ctx, BCOp op, int defop)
{
int vk = 0;
- dasm_put(Dst, 2787, defop);
+ dasm_put(Dst, 2956, defop);
switch (op) {
@@ -5736,542 +6162,576 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
/* Remember: all ops branch for a true comparison, fall through otherwise. */
case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
- dasm_put(Dst, 2789, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 2958, -LJ_TISNUM, -LJ_TISNUM);
if (op == BC_ISLT) {
- dasm_put(Dst, 2805);
+ dasm_put(Dst, 2974);
} else if (op == BC_ISGE) {
- dasm_put(Dst, 2807);
+ dasm_put(Dst, 2976);
} else if (op == BC_ISLE) {
- dasm_put(Dst, 2809);
+ dasm_put(Dst, 2978);
} else {
- dasm_put(Dst, 2811);
+ dasm_put(Dst, 2980);
}
- dasm_put(Dst, 2813, -LJ_TISNUM);
+ dasm_put(Dst, 2982, -LJ_TISNUM);
if (op == BC_ISLT) {
- dasm_put(Dst, 2849);
+ dasm_put(Dst, 3018);
} else if (op == BC_ISGE) {
- dasm_put(Dst, 2851);
+ dasm_put(Dst, 3020);
} else if (op == BC_ISLE) {
- dasm_put(Dst, 2853);
+ dasm_put(Dst, 3022);
} else {
- dasm_put(Dst, 2855);
+ dasm_put(Dst, 3024);
}
- dasm_put(Dst, 2857);
+ dasm_put(Dst, 3026);
break;
case BC_ISEQV: case BC_ISNEV:
vk = op == BC_ISEQV;
- dasm_put(Dst, 2860, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3029, -LJ_TISNUM, -LJ_TISNUM);
if (vk) {
- dasm_put(Dst, 2871);
+ dasm_put(Dst, 3040);
} else {
- dasm_put(Dst, 2874);
+ dasm_put(Dst, 3043);
}
if (LJ_HASFFI) {
- dasm_put(Dst, 2877, -LJ_TCDATA, -LJ_TCDATA);
+ dasm_put(Dst, 3046, -LJ_TCDATA, -LJ_TCDATA);
}
- dasm_put(Dst, 2884, -LJ_TISPRI);
+ dasm_put(Dst, 3053, -LJ_TISPRI);
if (vk) {
- dasm_put(Dst, 2893, -LJ_TISTABUD);
+ dasm_put(Dst, 3062, -LJ_TISTABUD);
} else {
- dasm_put(Dst, 2910, -LJ_TISTABUD);
+ dasm_put(Dst, 3079, -LJ_TISTABUD);
}
- dasm_put(Dst, 2917, Dt6(->metatable));
+ dasm_put(Dst, 3086, Dt6(->metatable));
if (vk) {
- dasm_put(Dst, 2921);
+ dasm_put(Dst, 3090);
} else {
- dasm_put(Dst, 2924);
+ dasm_put(Dst, 3093);
}
- dasm_put(Dst, 2927, Dt6(->nomm), 1-vk, 1<nomm), 1-vk, 1<len), ~LJ_TISNUM, -LJ_TTAB);
+ dasm_put(Dst, 3327, -LJ_TSTR, Dt5(->len), ~LJ_TISNUM, -LJ_TTAB);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 3351);
+ }
+ dasm_put(Dst, 3353);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 3356);
+ }
+ dasm_put(Dst, 3358);
break;
/* -- Binary ops -------------------------------------------------------- */
case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
- dasm_put(Dst, 3186);
+ dasm_put(Dst, 3361);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 3189);
+ dasm_put(Dst, 3364);
break;
case 1:
- dasm_put(Dst, 3192);
+ dasm_put(Dst, 3367);
break;
default:
- dasm_put(Dst, 3195);
+ dasm_put(Dst, 3370);
break;
}
- dasm_put(Dst, 3198);
+ dasm_put(Dst, 3373);
if (vk == 1) {
- dasm_put(Dst, 3200, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3375, -LJ_TISNUM, -LJ_TISNUM);
} else {
- dasm_put(Dst, 3205, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3380, -LJ_TISNUM, -LJ_TISNUM);
}
- dasm_put(Dst, 3210);
+ dasm_put(Dst, 3385);
switch (vk) {
case 0:
- dasm_put(Dst, 3214);
+ dasm_put(Dst, 3389);
break;
case 1:
- dasm_put(Dst, 3217);
+ dasm_put(Dst, 3392);
break;
default:
- dasm_put(Dst, 3220);
+ dasm_put(Dst, 3395);
break;
}
- dasm_put(Dst, 3223);
+ dasm_put(Dst, 3398);
switch (vk) {
case 0:
if (vk == 1) {
- dasm_put(Dst, 3232, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3407, -LJ_TISNUM, -LJ_TISNUM);
} else {
- dasm_put(Dst, 3237, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3412, -LJ_TISNUM, -LJ_TISNUM);
}
- dasm_put(Dst, 3242);
+ dasm_put(Dst, 3417);
break;
case 1:
if (vk == 1) {
- dasm_put(Dst, 3245, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3420, -LJ_TISNUM, -LJ_TISNUM);
} else {
- dasm_put(Dst, 3250, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3425, -LJ_TISNUM, -LJ_TISNUM);
}
- dasm_put(Dst, 3255);
+ dasm_put(Dst, 3430);
break;
default:
if (vk == 1) {
- dasm_put(Dst, 3258, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3433, -LJ_TISNUM, -LJ_TISNUM);
} else {
- dasm_put(Dst, 3263, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3438, -LJ_TISNUM, -LJ_TISNUM);
}
- dasm_put(Dst, 3268);
+ dasm_put(Dst, 3443);
break;
}
- dasm_put(Dst, 3271);
+ dasm_put(Dst, 3446);
break;
case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
- dasm_put(Dst, 3277);
+ dasm_put(Dst, 3452);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 3280);
+ dasm_put(Dst, 3455);
break;
case 1:
- dasm_put(Dst, 3283);
+ dasm_put(Dst, 3458);
break;
default:
- dasm_put(Dst, 3286);
+ dasm_put(Dst, 3461);
break;
}
- dasm_put(Dst, 3289);
+ dasm_put(Dst, 3464);
if (vk == 1) {
- dasm_put(Dst, 3291, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3466, -LJ_TISNUM, -LJ_TISNUM);
} else {
- dasm_put(Dst, 3296, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3471, -LJ_TISNUM, -LJ_TISNUM);
}
- dasm_put(Dst, 3301);
+ dasm_put(Dst, 3476);
switch (vk) {
case 0:
- dasm_put(Dst, 3305);
+ dasm_put(Dst, 3480);
break;
case 1:
- dasm_put(Dst, 3308);
+ dasm_put(Dst, 3483);
break;
default:
- dasm_put(Dst, 3311);
+ dasm_put(Dst, 3486);
break;
}
- dasm_put(Dst, 3314);
+ dasm_put(Dst, 3489);
switch (vk) {
case 0:
if (vk == 1) {
- dasm_put(Dst, 3323, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3328, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3333);
- break;
- case 1:
- if (vk == 1) {
- dasm_put(Dst, 3336, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3341, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3346);
- break;
- default:
- if (vk == 1) {
- dasm_put(Dst, 3349, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3354, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3359);
- break;
- }
- dasm_put(Dst, 3362);
- break;
- case BC_MULVN: case BC_MULNV: case BC_MULVV:
- dasm_put(Dst, 3368);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 3371);
- break;
- case 1:
- dasm_put(Dst, 3374);
- break;
- default:
- dasm_put(Dst, 3377);
- break;
- }
- dasm_put(Dst, 3380);
- if (vk == 1) {
- dasm_put(Dst, 3382, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3387, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3392);
- switch (vk) {
- case 0:
- dasm_put(Dst, 3397);
- break;
- case 1:
- dasm_put(Dst, 3400);
- break;
- default:
- dasm_put(Dst, 3403);
- break;
- }
- dasm_put(Dst, 3406);
- switch (vk) {
- case 0:
- if (vk == 1) {
- dasm_put(Dst, 3415, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3420, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3425);
- break;
- case 1:
- if (vk == 1) {
- dasm_put(Dst, 3428, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3433, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3438);
- break;
- default:
- if (vk == 1) {
- dasm_put(Dst, 3441, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3446, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3451);
- break;
- }
- dasm_put(Dst, 3454);
- break;
- case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
- dasm_put(Dst, 3460);
- vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
- switch (vk) {
- case 0:
- dasm_put(Dst, 3463);
- break;
- case 1:
- dasm_put(Dst, 3466);
- break;
- default:
- dasm_put(Dst, 3469);
- break;
- }
- switch (vk) {
- case 0:
- if (vk == 1) {
- dasm_put(Dst, 3472, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3477, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3482);
- break;
- case 1:
- if (vk == 1) {
- dasm_put(Dst, 3485, -LJ_TISNUM, -LJ_TISNUM);
- } else {
- dasm_put(Dst, 3490, -LJ_TISNUM, -LJ_TISNUM);
- }
- dasm_put(Dst, 3495);
- break;
- default:
- if (vk == 1) {
dasm_put(Dst, 3498, -LJ_TISNUM, -LJ_TISNUM);
} else {
dasm_put(Dst, 3503, -LJ_TISNUM, -LJ_TISNUM);
}
dasm_put(Dst, 3508);
break;
+ case 1:
+ if (vk == 1) {
+ dasm_put(Dst, 3511, -LJ_TISNUM, -LJ_TISNUM);
+ } else {
+ dasm_put(Dst, 3516, -LJ_TISNUM, -LJ_TISNUM);
}
- dasm_put(Dst, 3511);
+ dasm_put(Dst, 3521);
+ break;
+ default:
+ if (vk == 1) {
+ dasm_put(Dst, 3524, -LJ_TISNUM, -LJ_TISNUM);
+ } else {
+ dasm_put(Dst, 3529, -LJ_TISNUM, -LJ_TISNUM);
+ }
+ dasm_put(Dst, 3534);
+ break;
+ }
+ dasm_put(Dst, 3537);
+ break;
+ case BC_MULVN: case BC_MULNV: case BC_MULVV:
+ dasm_put(Dst, 3543);
+ vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
+ switch (vk) {
+ case 0:
+ dasm_put(Dst, 3546);
+ break;
+ case 1:
+ dasm_put(Dst, 3549);
+ break;
+ default:
+ dasm_put(Dst, 3552);
+ break;
+ }
+ dasm_put(Dst, 3555);
+ if (vk == 1) {
+ dasm_put(Dst, 3557, -LJ_TISNUM, -LJ_TISNUM);
+ } else {
+ dasm_put(Dst, 3562, -LJ_TISNUM, -LJ_TISNUM);
+ }
+ dasm_put(Dst, 3567);
+ switch (vk) {
+ case 0:
+ dasm_put(Dst, 3572);
+ break;
+ case 1:
+ dasm_put(Dst, 3575);
+ break;
+ default:
+ dasm_put(Dst, 3578);
+ break;
+ }
+ dasm_put(Dst, 3581);
+ switch (vk) {
+ case 0:
+ if (vk == 1) {
+ dasm_put(Dst, 3590, -LJ_TISNUM, -LJ_TISNUM);
+ } else {
+ dasm_put(Dst, 3595, -LJ_TISNUM, -LJ_TISNUM);
+ }
+ dasm_put(Dst, 3600);
+ break;
+ case 1:
+ if (vk == 1) {
+ dasm_put(Dst, 3603, -LJ_TISNUM, -LJ_TISNUM);
+ } else {
+ dasm_put(Dst, 3608, -LJ_TISNUM, -LJ_TISNUM);
+ }
+ dasm_put(Dst, 3613);
+ break;
+ default:
+ if (vk == 1) {
+ dasm_put(Dst, 3616, -LJ_TISNUM, -LJ_TISNUM);
+ } else {
+ dasm_put(Dst, 3621, -LJ_TISNUM, -LJ_TISNUM);
+ }
+ dasm_put(Dst, 3626);
+ break;
+ }
+ dasm_put(Dst, 3629);
+ break;
+ case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
+ dasm_put(Dst, 3635);
+ vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
+ switch (vk) {
+ case 0:
+ dasm_put(Dst, 3638);
+ break;
+ case 1:
+ dasm_put(Dst, 3641);
+ break;
+ default:
+ dasm_put(Dst, 3644);
+ break;
+ }
+ switch (vk) {
+ case 0:
+ if (vk == 1) {
+ dasm_put(Dst, 3647, -LJ_TISNUM, -LJ_TISNUM);
+ } else {
+ dasm_put(Dst, 3652, -LJ_TISNUM, -LJ_TISNUM);
+ }
+ dasm_put(Dst, 3657);
+ break;
+ case 1:
+ if (vk == 1) {
+ dasm_put(Dst, 3660, -LJ_TISNUM, -LJ_TISNUM);
+ } else {
+ dasm_put(Dst, 3665, -LJ_TISNUM, -LJ_TISNUM);
+ }
+ dasm_put(Dst, 3670);
+ break;
+ default:
+ if (vk == 1) {
+ dasm_put(Dst, 3673, -LJ_TISNUM, -LJ_TISNUM);
+ } else {
+ dasm_put(Dst, 3678, -LJ_TISNUM, -LJ_TISNUM);
+ }
+ dasm_put(Dst, 3683);
+ break;
+ }
+ dasm_put(Dst, 3686);
break;
case BC_MODVN: case BC_MODNV: case BC_MODVV:
- dasm_put(Dst, 3521);
+ dasm_put(Dst, 3696);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 3524);
+ dasm_put(Dst, 3699);
break;
case 1:
- dasm_put(Dst, 3527);
+ dasm_put(Dst, 3702);
break;
default:
- dasm_put(Dst, 3530);
+ dasm_put(Dst, 3705);
break;
}
if (vk == 1) {
- dasm_put(Dst, 3533, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3708, -LJ_TISNUM, -LJ_TISNUM);
} else {
- dasm_put(Dst, 3538, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3713, -LJ_TISNUM, -LJ_TISNUM);
}
- dasm_put(Dst, 3543);
+ dasm_put(Dst, 3718);
switch (vk) {
case 0:
- dasm_put(Dst, 3547);
+ dasm_put(Dst, 3722);
break;
case 1:
- dasm_put(Dst, 3550);
+ dasm_put(Dst, 3725);
break;
default:
- dasm_put(Dst, 3553);
+ dasm_put(Dst, 3728);
break;
}
- dasm_put(Dst, 3556, ~LJ_TISNUM);
+ dasm_put(Dst, 3731, ~LJ_TISNUM);
switch (vk) {
case 0:
if (vk == 1) {
- dasm_put(Dst, 3570, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3745, -LJ_TISNUM, -LJ_TISNUM);
} else {
- dasm_put(Dst, 3575, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3750, -LJ_TISNUM, -LJ_TISNUM);
}
- dasm_put(Dst, 3580);
+ dasm_put(Dst, 3755);
break;
case 1:
if (vk == 1) {
- dasm_put(Dst, 3583, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3758, -LJ_TISNUM, -LJ_TISNUM);
} else {
- dasm_put(Dst, 3588, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3763, -LJ_TISNUM, -LJ_TISNUM);
}
- dasm_put(Dst, 3593);
+ dasm_put(Dst, 3768);
break;
default:
if (vk == 1) {
- dasm_put(Dst, 3596, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3771, -LJ_TISNUM, -LJ_TISNUM);
} else {
- dasm_put(Dst, 3601, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3776, -LJ_TISNUM, -LJ_TISNUM);
}
- dasm_put(Dst, 3606);
+ dasm_put(Dst, 3781);
break;
}
- dasm_put(Dst, 3609);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 3784);
+ }
+ dasm_put(Dst, 3786);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 3789);
+ }
+ dasm_put(Dst, 3791);
break;
case BC_POW:
- dasm_put(Dst, 3614);
+ dasm_put(Dst, 3794);
vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
switch (vk) {
case 0:
- dasm_put(Dst, 3617);
+ dasm_put(Dst, 3797);
break;
case 1:
- dasm_put(Dst, 3620);
+ dasm_put(Dst, 3800);
break;
default:
- dasm_put(Dst, 3623);
+ dasm_put(Dst, 3803);
break;
}
switch (vk) {
case 0:
if (vk == 1) {
- dasm_put(Dst, 3626, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3806, -LJ_TISNUM, -LJ_TISNUM);
} else {
- dasm_put(Dst, 3631, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3811, -LJ_TISNUM, -LJ_TISNUM);
}
- dasm_put(Dst, 3636);
+ dasm_put(Dst, 3816);
break;
case 1:
if (vk == 1) {
- dasm_put(Dst, 3639, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3819, -LJ_TISNUM, -LJ_TISNUM);
} else {
- dasm_put(Dst, 3644, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3824, -LJ_TISNUM, -LJ_TISNUM);
}
- dasm_put(Dst, 3649);
+ dasm_put(Dst, 3829);
break;
default:
if (vk == 1) {
- dasm_put(Dst, 3652, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3832, -LJ_TISNUM, -LJ_TISNUM);
} else {
- dasm_put(Dst, 3657, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 3837, -LJ_TISNUM, -LJ_TISNUM);
}
- dasm_put(Dst, 3662);
+ dasm_put(Dst, 3842);
break;
}
- dasm_put(Dst, 3665);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 3845);
+ }
+ dasm_put(Dst, 3847);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 3850);
+ }
+ dasm_put(Dst, 3852);
break;
case BC_CAT:
- dasm_put(Dst, 3675, Dt1(->base), Dt1(->base));
+ dasm_put(Dst, 3860, Dt1(->base), Dt1(->base));
break;
/* -- Constant ops ------------------------------------------------------ */
case BC_KSTR:
- dasm_put(Dst, 3701, ~LJ_TSTR);
+ dasm_put(Dst, 3886, ~LJ_TSTR);
break;
case BC_KCDATA:
#if LJ_HASFFI
- dasm_put(Dst, 3713, ~LJ_TCDATA);
+ dasm_put(Dst, 3898, ~LJ_TCDATA);
#endif
break;
case BC_KSHORT:
- dasm_put(Dst, 3725, ~LJ_TISNUM);
+ dasm_put(Dst, 3910, ~LJ_TISNUM);
break;
case BC_KNUM:
- dasm_put(Dst, 3736);
+ dasm_put(Dst, 3921);
break;
case BC_KPRI:
- dasm_put(Dst, 3746);
+ dasm_put(Dst, 3931);
break;
case BC_KNIL:
- dasm_put(Dst, 3756, ~LJ_TNIL);
+ dasm_put(Dst, 3941, ~LJ_TNIL);
break;
/* -- Upvalue and function ops ------------------------------------------ */
case BC_UGET:
- dasm_put(Dst, 3775, offsetof(GCfuncL, uvptr), DtA(->v));
+ dasm_put(Dst, 3960, offsetof(GCfuncL, uvptr), DtA(->v));
break;
case BC_USETV:
- dasm_put(Dst, 3791, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->closed), DtA(->v), LJ_GC_BLACK, -LJ_TISGCV, -(LJ_TISNUM - LJ_TISGCV), Dt4(->gch.marked), -GG_DISP2G, LJ_GC_WHITES);
+ dasm_put(Dst, 3976, 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);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 4016);
+ } else {
+ dasm_put(Dst, 4023);
+ }
+ dasm_put(Dst, 4026);
break;
case BC_USETS:
- dasm_put(Dst, 3835, offsetof(GCfuncL, uvptr), ~LJ_TSTR, DtA(->marked), DtA(->v), DtA(->closed), LJ_GC_BLACK, Dt5(->marked), LJ_GC_WHITES, -GG_DISP2G);
+ dasm_put(Dst, 4029, offsetof(GCfuncL, uvptr), ~LJ_TSTR, DtA(->marked), DtA(->v), DtA(->closed), LJ_GC_BLACK, Dt5(->marked), LJ_GC_WHITES, -GG_DISP2G);
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 4065);
+ } else {
+ dasm_put(Dst, 4072);
+ }
+ dasm_put(Dst, 4075);
break;
case BC_USETN:
- dasm_put(Dst, 3875, offsetof(GCfuncL, uvptr), DtA(->v));
+ dasm_put(Dst, 4078, offsetof(GCfuncL, uvptr), DtA(->v));
break;
case BC_USETP:
- dasm_put(Dst, 3892, offsetof(GCfuncL, uvptr), DtA(->v));
+ dasm_put(Dst, 4095, offsetof(GCfuncL, uvptr), DtA(->v));
break;
case BC_UCLO:
- dasm_put(Dst, 3908, Dt1(->openupval), Dt1(->base), Dt1(->base));
+ dasm_put(Dst, 4111, Dt1(->openupval), Dt1(->base), Dt1(->base));
break;
case BC_FNEW:
- dasm_put(Dst, 3931, Dt1(->base), Dt1(->base), ~LJ_TFUNC);
+ dasm_put(Dst, 4134, Dt1(->base), Dt1(->base), ~LJ_TFUNC);
break;
/* -- Table ops --------------------------------------------------------- */
@@ -6279,111 +6739,115 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
case BC_TNEW:
case BC_TDUP:
if (op == BC_TDUP) {
- dasm_put(Dst, 3952);
+ dasm_put(Dst, 4155);
}
- dasm_put(Dst, 3954, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base));
+ dasm_put(Dst, 4157, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base));
if (op == BC_TNEW) {
- dasm_put(Dst, 3967);
+ dasm_put(Dst, 4170);
} else {
- dasm_put(Dst, 3976);
+ dasm_put(Dst, 4179);
}
- dasm_put(Dst, 3980, Dt1(->base), ~LJ_TTAB);
+ dasm_put(Dst, 4183, Dt1(->base), ~LJ_TTAB);
break;
case BC_GGET:
case BC_GSET:
- dasm_put(Dst, 3998, Dt7(->env));
+ dasm_put(Dst, 4201, Dt7(->env));
if (op == BC_GGET) {
- dasm_put(Dst, 4004);
+ dasm_put(Dst, 4207);
} else {
- dasm_put(Dst, 4007);
+ dasm_put(Dst, 4210);
}
break;
case BC_TGETV:
- dasm_put(Dst, 4010, -LJ_TTAB, -LJ_TISNUM, Dt6(->array), Dt6(->asize), -LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<array), Dt6(->asize), -LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<hmask), Dt5(->hash), Dt6(->node), DtB(->key), DtB(->val), DtB(->next), -LJ_TSTR, -LJ_TNIL, Dt6(->metatable), ~LJ_TNIL, Dt6(->nomm));
- dasm_put(Dst, 4127, 1<hmask), Dt5(->hash), Dt6(->node), DtB(->key), DtB(->val), DtB(->next), -LJ_TSTR, -LJ_TNIL, Dt6(->metatable), ~LJ_TNIL, Dt6(->nomm));
+ dasm_put(Dst, 4330, 1<asize), Dt6(->array), -LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<asize), Dt6(->array), -LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<array), Dt6(->asize), -LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<marked), Dt6(->gclist), -LJ_TSTR);
+ dasm_put(Dst, 4380, -LJ_TTAB, -LJ_TISNUM, Dt6(->array), Dt6(->asize), -LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<marked), Dt6(->gclist), -LJ_TSTR);
break;
case BC_TSETS:
- dasm_put(Dst, 4258, -LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), Dt6(->nomm), DtB(->key), DtB(->val.it), DtB(->next), -LJ_TSTR, Dt6(->marked), -LJ_TNIL, LJ_GC_BLACK, DtB(->val));
- dasm_put(Dst, 4316, Dt6(->metatable), Dt6(->nomm), 1<metatable), Dt1(->base), Dt6(->nomm), 1<base), DISPATCH_GL(gc.grayagain), LJ_GC_BLACK);
- dasm_put(Dst, 4369, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
+ dasm_put(Dst, 4461, -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));
+ dasm_put(Dst, 4519, Dt6(->metatable), Dt6(->nomm), 1<metatable), Dt1(->base), Dt6(->nomm), 1<base), DISPATCH_GL(gc.grayagain), LJ_GC_BLACK);
+ dasm_put(Dst, 4572, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
break;
case BC_TSETB:
- dasm_put(Dst, 4378, -LJ_TTAB, Dt6(->asize), Dt6(->array), -LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<marked), Dt6(->gclist));
+ dasm_put(Dst, 4581, -LJ_TTAB, Dt6(->asize), Dt6(->array), -LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<marked), Dt6(->gclist));
break;
case BC_TSETM:
- dasm_put(Dst, 4444, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_GC_BLACK, Dt1(->base), DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
+ dasm_put(Dst, 4647, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_GC_BLACK, Dt1(->base));
+ if (LJ_TARGET_OSX) {
+ dasm_put(Dst, 4692, Dt1(->base));
+ }
+ dasm_put(Dst, 4695, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
break;
/* -- Calls and vararg handling ----------------------------------------- */
case BC_CALLM:
- dasm_put(Dst, 4504);
+ dasm_put(Dst, 4711);
break;
case BC_CALL:
- dasm_put(Dst, 4510, -LJ_TFUNC, Dt7(->field_pc));
+ dasm_put(Dst, 4717, -LJ_TFUNC, Dt7(->field_pc));
break;
case BC_CALLMT:
- dasm_put(Dst, 4530);
+ dasm_put(Dst, 4737);
break;
case BC_CALLT:
- dasm_put(Dst, 4535, -LJ_TFUNC, Dt7(->ffid), FRAME_TYPE, Dt7(->field_pc), Dt7(->field_pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP);
- dasm_put(Dst, 4596, FRAME_TYPE);
+ dasm_put(Dst, 4742, -LJ_TFUNC, Dt7(->ffid), FRAME_TYPE, Dt7(->field_pc), Dt7(->field_pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP);
+ dasm_put(Dst, 4803, FRAME_TYPE);
break;
case BC_ITERC:
- dasm_put(Dst, 4607, -LJ_TFUNC, Dt7(->field_pc));
+ dasm_put(Dst, 4814, -LJ_TFUNC, Dt7(->field_pc));
break;
case BC_ITERN:
#if LJ_HASJIT
#endif
- dasm_put(Dst, 4631, Dt6(->asize), Dt6(->array), -LJ_TNIL, ~LJ_TISNUM, Dt6(->hmask), Dt6(->node), DtB(->val), -LJ_TNIL, DtB(->key));
+ dasm_put(Dst, 4838, Dt6(->asize), Dt6(->array), -LJ_TNIL, ~LJ_TISNUM, Dt6(->hmask), Dt6(->node), DtB(->val), -LJ_TNIL, DtB(->key));
break;
case BC_ISNEXT:
- dasm_put(Dst, 4696, -LJ_TFUNC, Dt8(->ffid), -LJ_TTAB, -LJ_TNIL, FF_next_N, BC_JMP, BC_ITERC);
+ dasm_put(Dst, 4903, -LJ_TFUNC, Dt8(->ffid), -LJ_TTAB, -LJ_TNIL, FF_next_N, BC_JMP, BC_ITERC);
break;
case BC_VARG:
- dasm_put(Dst, 4735, FRAME_VARG, ~LJ_TNIL, Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->base));
+ dasm_put(Dst, 4942, FRAME_VARG, ~LJ_TNIL, Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->base));
break;
/* -- Returns ----------------------------------------------------------- */
case BC_RETM:
- dasm_put(Dst, 4807);
+ dasm_put(Dst, 5014);
break;
case BC_RET:
- dasm_put(Dst, 4814, FRAME_TYPE, FRAME_VARG, Dt7(->field_pc), PC2PROTO(k), ~LJ_TNIL, FRAME_TYPEP);
+ dasm_put(Dst, 5021, FRAME_TYPE, FRAME_VARG, Dt7(->field_pc), PC2PROTO(k), ~LJ_TNIL, FRAME_TYPEP);
break;
case BC_RET0: case BC_RET1:
- dasm_put(Dst, 4879, FRAME_TYPE, FRAME_VARG);
+ dasm_put(Dst, 5086, FRAME_TYPE, FRAME_VARG);
if (op == BC_RET1) {
- dasm_put(Dst, 4890);
+ dasm_put(Dst, 5097);
}
- dasm_put(Dst, 4892);
+ dasm_put(Dst, 5099);
if (op == BC_RET1) {
- dasm_put(Dst, 4895);
+ dasm_put(Dst, 5102);
}
- dasm_put(Dst, 4897, Dt7(->field_pc), PC2PROTO(k), ~LJ_TNIL);
+ dasm_put(Dst, 5104, Dt7(->field_pc), PC2PROTO(k), ~LJ_TNIL);
break;
/* -- Loops and branches ------------------------------------------------ */
@@ -6391,7 +6855,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
case BC_FORL:
#if LJ_HASJIT
- dasm_put(Dst, 4923);
+ dasm_put(Dst, 5130);
#endif
break;
@@ -6403,63 +6867,63 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
case BC_FORI:
case BC_IFORL:
vk = (op == BC_IFORL || op == BC_JFORL);
- dasm_put(Dst, 4925);
+ dasm_put(Dst, 5132);
if (!vk) {
- dasm_put(Dst, 4928, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 5135, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
} else {
- dasm_put(Dst, 4946, -LJ_TISNUM);
+ dasm_put(Dst, 5153, -LJ_TISNUM);
if (op == BC_IFORL) {
- dasm_put(Dst, 4954);
+ dasm_put(Dst, 5161);
} else {
- dasm_put(Dst, 4956);
+ dasm_put(Dst, 5163);
}
- dasm_put(Dst, 4958);
+ dasm_put(Dst, 5165);
}
- dasm_put(Dst, 4963);
+ dasm_put(Dst, 5170);
if (op == BC_FORI) {
- dasm_put(Dst, 4965);
+ dasm_put(Dst, 5172);
} else if (op == BC_JFORI) {
- dasm_put(Dst, 4967);
+ dasm_put(Dst, 5174);
} else if (op == BC_IFORL) {
- dasm_put(Dst, 4969);
+ dasm_put(Dst, 5176);
} else {
- dasm_put(Dst, 4971);
+ dasm_put(Dst, 5178);
}
if (vk) {
- dasm_put(Dst, 4973);
+ dasm_put(Dst, 5180);
}
- dasm_put(Dst, 4975);
+ dasm_put(Dst, 5182);
if (!vk) {
- dasm_put(Dst, 4985);
+ dasm_put(Dst, 5192);
} else {
- dasm_put(Dst, 4987);
+ dasm_put(Dst, 5194);
}
- dasm_put(Dst, 4989);
+ dasm_put(Dst, 5196);
if (!vk) {
- dasm_put(Dst, 4993, -LJ_TISNUM, -LJ_TISNUM);
+ dasm_put(Dst, 5200, -LJ_TISNUM, -LJ_TISNUM);
} else {
- dasm_put(Dst, 5005);
+ dasm_put(Dst, 5212);
}
- dasm_put(Dst, 5014);
+ dasm_put(Dst, 5221);
if (op == BC_FORI) {
- dasm_put(Dst, 5018);
+ dasm_put(Dst, 5225);
} else if (op == BC_JFORI) {
- dasm_put(Dst, 5020);
+ dasm_put(Dst, 5227);
} else if (op == BC_IFORL) {
- dasm_put(Dst, 5022);
+ dasm_put(Dst, 5229);
} else {
- dasm_put(Dst, 5024);
+ dasm_put(Dst, 5231);
}
- dasm_put(Dst, 5026);
+ dasm_put(Dst, 5233);
if (vk) {
- dasm_put(Dst, 5032);
+ dasm_put(Dst, 5239);
}
- dasm_put(Dst, 5037);
+ dasm_put(Dst, 5244);
break;
case BC_ITERL:
#if LJ_HASJIT
- dasm_put(Dst, 5043);
+ dasm_put(Dst, 5250);
#endif
break;
@@ -6468,40 +6932,40 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
break;
#endif
case BC_IITERL:
- dasm_put(Dst, 5045);
+ dasm_put(Dst, 5252);
if (op == BC_JITERL) {
- dasm_put(Dst, 5047);
+ dasm_put(Dst, 5254);
} else {
- dasm_put(Dst, 5049, -LJ_TNIL);
+ dasm_put(Dst, 5256, -LJ_TNIL);
}
- dasm_put(Dst, 5055);
+ dasm_put(Dst, 5262);
break;
case BC_LOOP:
#if LJ_HASJIT
- dasm_put(Dst, 5062);
+ dasm_put(Dst, 5269);
#endif
break;
case BC_ILOOP:
- dasm_put(Dst, 5064);
+ dasm_put(Dst, 5271);
break;
case BC_JLOOP:
#if LJ_HASJIT
- dasm_put(Dst, 5071);
+ dasm_put(Dst, 5278);
#endif
break;
case BC_JMP:
- dasm_put(Dst, 5073);
+ dasm_put(Dst, 5280);
break;
/* -- Function headers -------------------------------------------------- */
case BC_FUNCF:
#if LJ_HASJIT
- dasm_put(Dst, 5082);
+ dasm_put(Dst, 5289);
#endif
case BC_FUNCV: /* NYI: compiled vararg functions. */
break;
@@ -6511,38 +6975,38 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
break;
#endif
case BC_IFUNCF:
- dasm_put(Dst, 5084, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k), ~LJ_TNIL);
+ dasm_put(Dst, 5291, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k), ~LJ_TNIL);
if (op == BC_JFUNCF) {
- dasm_put(Dst, 5102);
+ dasm_put(Dst, 5309);
} else {
- dasm_put(Dst, 5104);
+ dasm_put(Dst, 5311);
}
- dasm_put(Dst, 5109);
+ dasm_put(Dst, 5316);
break;
case BC_JFUNCV:
#if !LJ_HASJIT
break;
#endif
- dasm_put(Dst, 5115);
+ dasm_put(Dst, 5322);
break; /* NYI: compiled vararg functions. */
case BC_IFUNCV:
- dasm_put(Dst, 5117, Dt1(->maxstack), 8+FRAME_VARG, -4+PC2PROTO(k), -4+PC2PROTO(numparams), ~LJ_TNIL);
+ dasm_put(Dst, 5324, Dt1(->maxstack), 8+FRAME_VARG, -4+PC2PROTO(k), -4+PC2PROTO(numparams), ~LJ_TNIL);
break;
case BC_FUNCC:
case BC_FUNCCW:
if (op == BC_FUNCC) {
- dasm_put(Dst, 5158, Dt8(->f));
+ dasm_put(Dst, 5365, Dt8(->f));
} else {
- dasm_put(Dst, 5161, DISPATCH_GL(wrapf));
+ dasm_put(Dst, 5368, DISPATCH_GL(wrapf));
}
- dasm_put(Dst, 5164, Dt1(->maxstack), Dt1(->base), Dt1(->top));
+ dasm_put(Dst, 5371, Dt1(->maxstack), Dt1(->base), Dt1(->top));
if (op == BC_FUNCCW) {
- dasm_put(Dst, 5174, Dt8(->f));
+ dasm_put(Dst, 5381, Dt8(->f));
}
- dasm_put(Dst, 5177, LJ_VMST_C, DISPATCH_GL(vmstate), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate));
+ dasm_put(Dst, 5384, LJ_VMST_C, DISPATCH_GL(vmstate), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate));
break;
/* ---------------------------------------------------------------------- */
@@ -6562,7 +7026,7 @@ static int build_backend(BuildCtx *ctx)
build_subroutines(ctx);
- dasm_put(Dst, 5199);
+ dasm_put(Dst, 5406);
for (op = 0; op < BC__MAX; op++)
build_ins(ctx, (BCOp)op, op);
diff --git a/src/lj_arch.h b/src/lj_arch.h
index f179cf80..b361e3dc 100644
--- a/src/lj_arch.h
+++ b/src/lj_arch.h
@@ -194,8 +194,8 @@
#if defined(__ARMEB__)
#error "No support for big-endian ARM"
#endif
-#if !__ARM_EABI__
-#error "Only ARM EABI is supported"
+#if !(__ARM_EABI__ || LJ_TARGET_OSX)
+#error "Only ARM EABI or iOS 3.0+ ABI is supported"
#endif
#elif LJ_TARGET_PPC
#if defined(_SOFT_FLOAT) || defined(_SOFT_DOUBLE)