summaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
authorruki <[email protected]>2020-02-11 23:06:04 +0800
committerruki <[email protected]>2020-02-11 12:36:24 +0800
commit94c19e101325c6a6a63a281ae6f6fee1ed230298 (patch)
tree8563d7d0184cba06f2ab233eccf43ed7428ab1f5 /core/src
parenta0ff9f3cf3e5a425e8f7b4313e8b42a08effda42 (diff)
add msys and cygwin makefile
Diffstat (limited to 'core/src')
-rw-r--r--core/src/luajit/autogen/cygwin/jit/i386/lj_bcdef.h (renamed from core/src/luajit/autogen/mingw/jit/i386/lj_bcdef.h)0
-rw-r--r--core/src/luajit/autogen/cygwin/jit/i386/lj_def.h (renamed from core/src/luajit/autogen/mingw/jit/i386/lj_def.h)0
-rw-r--r--core/src/luajit/autogen/cygwin/jit/i386/lj_ffdef.h (renamed from core/src/luajit/autogen/mingw/jit/i386/lj_ffdef.h)0
-rw-r--r--core/src/luajit/autogen/cygwin/jit/i386/lj_folddef.h (renamed from core/src/luajit/autogen/mingw/jit/i386/lj_folddef.h)0
-rw-r--r--core/src/luajit/autogen/cygwin/jit/i386/lj_libdef.h (renamed from core/src/luajit/autogen/mingw/jit/i386/lj_libdef.h)0
-rw-r--r--core/src/luajit/autogen/cygwin/jit/i386/lj_recdef.h (renamed from core/src/luajit/autogen/mingw/jit/i386/lj_recdef.h)0
-rw-r--r--core/src/luajit/autogen/cygwin/jit/x86_64/lj_bcdef.h (renamed from core/src/luajit/autogen/mingw/jit/x86_64/lj_bcdef.h)0
-rw-r--r--core/src/luajit/autogen/cygwin/jit/x86_64/lj_ffdef.h (renamed from core/src/luajit/autogen/mingw/jit/x86_64/lj_ffdef.h)0
-rw-r--r--core/src/luajit/autogen/cygwin/jit/x86_64/lj_folddef.h (renamed from core/src/luajit/autogen/mingw/jit/x86_64/lj_folddef.h)0
-rw-r--r--core/src/luajit/autogen/cygwin/jit/x86_64/lj_libdef.h (renamed from core/src/luajit/autogen/mingw/jit/x86_64/lj_libdef.h)0
-rw-r--r--core/src/luajit/autogen/cygwin/jit/x86_64/lj_recdef.h (renamed from core/src/luajit/autogen/mingw/jit/x86_64/lj_recdef.h)0
-rw-r--r--core/src/luajit/autogen/msys/jit/i386/lj_bcdef.h220
-rw-r--r--core/src/luajit/autogen/msys/jit/i386/lj_def.h362
-rw-r--r--core/src/luajit/autogen/msys/jit/i386/lj_ffdef.h210
-rw-r--r--core/src/luajit/autogen/msys/jit/i386/lj_folddef.h1113
-rw-r--r--core/src/luajit/autogen/msys/jit/i386/lj_libdef.h420
-rw-r--r--core/src/luajit/autogen/msys/jit/i386/lj_recdef.h271
-rw-r--r--core/src/luajit/autogen/msys/jit/x86_64/lj_bcdef.h220
-rw-r--r--core/src/luajit/autogen/msys/jit/x86_64/lj_ffdef.h210
-rw-r--r--core/src/luajit/autogen/msys/jit/x86_64/lj_folddef.h1113
-rw-r--r--core/src/luajit/autogen/msys/jit/x86_64/lj_libdef.h420
-rw-r--r--core/src/luajit/autogen/msys/jit/x86_64/lj_recdef.h271
-rw-r--r--core/src/luajit/makefile16
-rw-r--r--core/src/luajit/xmake.lua2
-rwxr-xr-xcore/src/tbox/inc/cygwin/tbox.config.h (renamed from core/src/tbox/inc/mingw/tbox.config.h)4
-rwxr-xr-xcore/src/tbox/inc/msys/tbox.config.h229
-rw-r--r--core/src/tbox/makefile13
-rw-r--r--core/src/xmake/makefile13
-rw-r--r--core/src/xmake/xmake.lua2
29 files changed, 5098 insertions, 11 deletions
diff --git a/core/src/luajit/autogen/mingw/jit/i386/lj_bcdef.h b/core/src/luajit/autogen/cygwin/jit/i386/lj_bcdef.h
index 72f779c49..72f779c49 100644
--- a/core/src/luajit/autogen/mingw/jit/i386/lj_bcdef.h
+++ b/core/src/luajit/autogen/cygwin/jit/i386/lj_bcdef.h
diff --git a/core/src/luajit/autogen/mingw/jit/i386/lj_def.h b/core/src/luajit/autogen/cygwin/jit/i386/lj_def.h
index 2d8fff66f..2d8fff66f 100644
--- a/core/src/luajit/autogen/mingw/jit/i386/lj_def.h
+++ b/core/src/luajit/autogen/cygwin/jit/i386/lj_def.h
diff --git a/core/src/luajit/autogen/mingw/jit/i386/lj_ffdef.h b/core/src/luajit/autogen/cygwin/jit/i386/lj_ffdef.h
index c088875e6..c088875e6 100644
--- a/core/src/luajit/autogen/mingw/jit/i386/lj_ffdef.h
+++ b/core/src/luajit/autogen/cygwin/jit/i386/lj_ffdef.h
diff --git a/core/src/luajit/autogen/mingw/jit/i386/lj_folddef.h b/core/src/luajit/autogen/cygwin/jit/i386/lj_folddef.h
index 6d12f3283..6d12f3283 100644
--- a/core/src/luajit/autogen/mingw/jit/i386/lj_folddef.h
+++ b/core/src/luajit/autogen/cygwin/jit/i386/lj_folddef.h
diff --git a/core/src/luajit/autogen/mingw/jit/i386/lj_libdef.h b/core/src/luajit/autogen/cygwin/jit/i386/lj_libdef.h
index 2c9ec0605..2c9ec0605 100644
--- a/core/src/luajit/autogen/mingw/jit/i386/lj_libdef.h
+++ b/core/src/luajit/autogen/cygwin/jit/i386/lj_libdef.h
diff --git a/core/src/luajit/autogen/mingw/jit/i386/lj_recdef.h b/core/src/luajit/autogen/cygwin/jit/i386/lj_recdef.h
index 8c76176bb..8c76176bb 100644
--- a/core/src/luajit/autogen/mingw/jit/i386/lj_recdef.h
+++ b/core/src/luajit/autogen/cygwin/jit/i386/lj_recdef.h
diff --git a/core/src/luajit/autogen/mingw/jit/x86_64/lj_bcdef.h b/core/src/luajit/autogen/cygwin/jit/x86_64/lj_bcdef.h
index e367d5b59..e367d5b59 100644
--- a/core/src/luajit/autogen/mingw/jit/x86_64/lj_bcdef.h
+++ b/core/src/luajit/autogen/cygwin/jit/x86_64/lj_bcdef.h
diff --git a/core/src/luajit/autogen/mingw/jit/x86_64/lj_ffdef.h b/core/src/luajit/autogen/cygwin/jit/x86_64/lj_ffdef.h
index c088875e6..c088875e6 100644
--- a/core/src/luajit/autogen/mingw/jit/x86_64/lj_ffdef.h
+++ b/core/src/luajit/autogen/cygwin/jit/x86_64/lj_ffdef.h
diff --git a/core/src/luajit/autogen/mingw/jit/x86_64/lj_folddef.h b/core/src/luajit/autogen/cygwin/jit/x86_64/lj_folddef.h
index 6d12f3283..6d12f3283 100644
--- a/core/src/luajit/autogen/mingw/jit/x86_64/lj_folddef.h
+++ b/core/src/luajit/autogen/cygwin/jit/x86_64/lj_folddef.h
diff --git a/core/src/luajit/autogen/mingw/jit/x86_64/lj_libdef.h b/core/src/luajit/autogen/cygwin/jit/x86_64/lj_libdef.h
index 2c9ec0605..2c9ec0605 100644
--- a/core/src/luajit/autogen/mingw/jit/x86_64/lj_libdef.h
+++ b/core/src/luajit/autogen/cygwin/jit/x86_64/lj_libdef.h
diff --git a/core/src/luajit/autogen/mingw/jit/x86_64/lj_recdef.h b/core/src/luajit/autogen/cygwin/jit/x86_64/lj_recdef.h
index 8c76176bb..8c76176bb 100644
--- a/core/src/luajit/autogen/mingw/jit/x86_64/lj_recdef.h
+++ b/core/src/luajit/autogen/cygwin/jit/x86_64/lj_recdef.h
diff --git a/core/src/luajit/autogen/msys/jit/i386/lj_bcdef.h b/core/src/luajit/autogen/msys/jit/i386/lj_bcdef.h
new file mode 100644
index 000000000..72f779c49
--- /dev/null
+++ b/core/src/luajit/autogen/msys/jit/i386/lj_bcdef.h
@@ -0,0 +1,220 @@
+/* This is a generated file. DO NOT EDIT! */
+
+LJ_DATADEF const uint16_t lj_bc_ofs[] = {
+0,
+65,
+130,
+195,
+260,
+387,
+517,
+577,
+637,
+701,
+765,
+816,
+866,
+916,
+966,
+1006,
+1046,
+1073,
+1101,
+1132,
+1163,
+1218,
+1291,
+1340,
+1389,
+1438,
+1487,
+1541,
+1590,
+1639,
+1688,
+1737,
+1769,
+1829,
+1889,
+1949,
+2009,
+2052,
+2134,
+2222,
+2255,
+2288,
+2317,
+2344,
+2367,
+2409,
+2449,
+2532,
+2610,
+2646,
+2678,
+2728,
+2798,
+2911,
+2998,
+3014,
+3030,
+3179,
+3305,
+3408,
+3466,
+3638,
+3877,
+4003,
+4145,
+4234,
+4279,
+4320,
+4324,
+4468,
+4543,
+4711,
+4899,
+4986,
+4990,
+5119,
+5206,
+5311,
+5398,
+5493,
+5512,
+5581,
+5647,
+5666,
+5709,
+5747,
+5766,
+5783,
+5813,
+5837,
+5856,
+5917,
+5970,
+5970,
+6087,
+6088,
+6170,
+8091,
+8162,
+8638,
+8758,
+8815,
+8946,
+8211,
+8353,
+8443,
+8510,
+8538,
+9004,
+9044,
+9688,
+9099,
+9421,
+9738,
+9856,
+9877,
+9898,
+9968,
+10010,
+10052,
+10094,
+10136,
+10178,
+10220,
+10262,
+10304,
+10346,
+10388,
+10662,
+10806,
+9926,
+10493,
+10430,
+10556,
+10619,
+10902,
+10955,
+11576,
+11945,
+11896,
+12010,
+12082,
+12157,
+12232,
+12307,
+11626,
+11716,
+11806,
+11008,
+11055,
+11169,
+11330,
+11412,
+11494
+};
+
+LJ_DATADEF const uint16_t lj_bc_mode[] = {
+BCDEF(BCMODE)
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF
+};
+
diff --git a/core/src/luajit/autogen/msys/jit/i386/lj_def.h b/core/src/luajit/autogen/msys/jit/i386/lj_def.h
new file mode 100644
index 000000000..2d8fff66f
--- /dev/null
+++ b/core/src/luajit/autogen/msys/jit/i386/lj_def.h
@@ -0,0 +1,362 @@
+/*
+** LuaJIT common internal definitions.
+** Copyright (C) 2005-2017 Mike Pall. See Copyright Notice in luajit.h
+*/
+
+#ifndef _LJ_DEF_H
+#define _LJ_DEF_H
+
+#include "lua.h"
+
+#if defined(_MSC_VER)
+/* MSVC is stuck in the last century and doesn't have C99's stdint.h. */
+typedef __int8 int8_t;
+typedef __int16 int16_t;
+typedef __int32 int32_t;
+typedef __int64 int64_t;
+typedef unsigned __int8 uint8_t;
+typedef unsigned __int16 uint16_t;
+typedef unsigned __int32 uint32_t;
+typedef unsigned __int64 uint64_t;
+#ifdef _WIN64
+typedef __int64 intptr_t;
+typedef unsigned __int64 uintptr_t;
+#else
+typedef __int32 intptr_t;
+typedef unsigned __int32 uintptr_t;
+#endif
+#elif defined(__symbian__)
+/* Cough. */
+typedef signed char int8_t;
+typedef short int int16_t;
+typedef int int32_t;
+typedef long long int64_t;
+typedef unsigned char uint8_t;
+typedef unsigned short int uint16_t;
+typedef unsigned int uint32_t;
+typedef unsigned long long uint64_t;
+typedef int intptr_t;
+typedef unsigned int uintptr_t;
+#else
+#include <stdint.h>
+#endif
+
+/* Needed everywhere. */
+#include <string.h>
+#include <stdlib.h>
+
+/* Various VM limits. */
+#define LJ_MAX_MEM32 0x7fffff00 /* Max. 32 bit memory allocation. */
+#define LJ_MAX_MEM64 ((uint64_t)1<<47) /* Max. 64 bit memory allocation. */
+/* Max. total memory allocation. */
+#define LJ_MAX_MEM (LJ_GC64 ? LJ_MAX_MEM64 : LJ_MAX_MEM32)
+#define LJ_MAX_ALLOC LJ_MAX_MEM /* Max. individual allocation length. */
+#define LJ_MAX_STR LJ_MAX_MEM32 /* Max. string length. */
+#define LJ_MAX_BUF LJ_MAX_MEM32 /* Max. buffer length. */
+#define LJ_MAX_UDATA LJ_MAX_MEM32 /* Max. userdata length. */
+
+#define LJ_MAX_STRTAB (1<<26) /* Max. string table size. */
+#define LJ_MAX_HBITS 26 /* Max. hash bits. */
+#define LJ_MAX_ABITS 28 /* Max. bits of array key. */
+#define LJ_MAX_ASIZE ((1<<(LJ_MAX_ABITS-1))+1) /* Max. array part size. */
+#define LJ_MAX_COLOSIZE 16 /* Max. elems for colocated array. */
+
+#define LJ_MAX_LINE LJ_MAX_MEM32 /* Max. source code line number. */
+#define LJ_MAX_XLEVEL 200 /* Max. syntactic nesting level. */
+#define LJ_MAX_BCINS (1<<26) /* Max. # of bytecode instructions. */
+#define LJ_MAX_SLOTS 250 /* Max. # of slots in a Lua func. */
+#define LJ_MAX_LOCVAR 200 /* Max. # of local variables. */
+#define LJ_MAX_UPVAL 60 /* Max. # of upvalues. */
+
+#define LJ_MAX_IDXCHAIN 100 /* __index/__newindex chain limit. */
+#define LJ_STACK_EXTRA (5+2*LJ_FR2) /* Extra stack space (metamethods). */
+
+#define LJ_NUM_CBPAGE 1 /* Number of FFI callback pages. */
+
+/* Minimum table/buffer sizes. */
+#define LJ_MIN_GLOBAL 6 /* Min. global table size (hbits). */
+#define LJ_MIN_REGISTRY 2 /* Min. registry size (hbits). */
+#define LJ_MIN_STRTAB 256 /* Min. string table size (pow2). */
+#define LJ_MIN_SBUF 32 /* Min. string buffer length. */
+#define LJ_MIN_VECSZ 8 /* Min. size for growable vectors. */
+#define LJ_MIN_IRSZ 32 /* Min. size for growable IR. */
+#define LJ_MIN_K64SZ 16 /* Min. size for chained K64Array. */
+
+/* JIT compiler limits. */
+#define LJ_MAX_JSLOTS 250 /* Max. # of stack slots for a trace. */
+#define LJ_MAX_PHI 64 /* Max. # of PHIs for a loop. */
+#define LJ_MAX_EXITSTUBGR 16 /* Max. # of exit stub groups. */
+
+/* Various macros. */
+#ifndef UNUSED
+#define UNUSED(x) ((void)(x)) /* to avoid warnings */
+#endif
+
+#define U64x(hi, lo) (((uint64_t)0x##hi << 32) + (uint64_t)0x##lo)
+#define i32ptr(p) ((int32_t)(intptr_t)(void *)(p))
+#define u32ptr(p) ((uint32_t)(intptr_t)(void *)(p))
+#define i64ptr(p) ((int64_t)(intptr_t)(void *)(p))
+#define u64ptr(p) ((uint64_t)(intptr_t)(void *)(p))
+#define igcptr(p) (LJ_GC64 ? i64ptr(p) : i32ptr(p))
+
+#define checki8(x) ((x) == (int32_t)(int8_t)(x))
+#define checku8(x) ((x) == (int32_t)(uint8_t)(x))
+#define checki16(x) ((x) == (int32_t)(int16_t)(x))
+#define checku16(x) ((x) == (int32_t)(uint16_t)(x))
+#define checki32(x) ((x) == (int32_t)(x))
+#define checku32(x) ((x) == (uint32_t)(x))
+#define checkptr32(x) ((uintptr_t)(x) == (uint32_t)(uintptr_t)(x))
+#define checkptr47(x) (((uint64_t)(uintptr_t)(x) >> 47) == 0)
+#define checkptrGC(x) (LJ_GC64 ? checkptr47((x)) : LJ_64 ? checkptr32((x)) :1)
+
+/* Every half-decent C compiler transforms this into a rotate instruction. */
+#define lj_rol(x, n) (((x)<<(n)) | ((x)>>(-(int)(n)&(8*sizeof(x)-1))))
+#define lj_ror(x, n) (((x)<<(-(int)(n)&(8*sizeof(x)-1))) | ((x)>>(n)))
+
+/* A really naive Bloom filter. But sufficient for our needs. */
+typedef uintptr_t BloomFilter;
+#define BLOOM_MASK (8*sizeof(BloomFilter) - 1)
+#define bloombit(x) ((uintptr_t)1 << ((x) & BLOOM_MASK))
+#define bloomset(b, x) ((b) |= bloombit((x)))
+#define bloomtest(b, x) ((b) & bloombit((x)))
+
+#if defined(__GNUC__) || defined(__psp2__)
+
+#define LJ_NORET __attribute__((noreturn))
+#define LJ_ALIGN(n) __attribute__((aligned(n)))
+#define LJ_INLINE inline
+#define LJ_AINLINE inline __attribute__((always_inline))
+#define LJ_NOINLINE __attribute__((noinline))
+
+#if defined(__ELF__) || defined(__MACH__) || defined(__psp2__)
+#if !((defined(__sun__) && defined(__svr4__)) || defined(__CELLOS_LV2__))
+#define LJ_NOAPI extern __attribute__((visibility("hidden")))
+#endif
+#endif
+
+/* Note: it's only beneficial to use fastcall on x86 and then only for up to
+** two non-FP args. The amalgamated compile covers all LJ_FUNC cases. Only
+** indirect calls and related tail-called C functions are marked as fastcall.
+*/
+#if defined(__i386__)
+#define LJ_FASTCALL __attribute__((fastcall))
+#endif
+
+#define LJ_LIKELY(x) __builtin_expect(!!(x), 1)
+#define LJ_UNLIKELY(x) __builtin_expect(!!(x), 0)
+
+#define lj_ffs(x) ((uint32_t)__builtin_ctz(x))
+/* Don't ask ... */
+#if defined(__INTEL_COMPILER) && (defined(__i386__) || defined(__x86_64__))
+static LJ_AINLINE uint32_t lj_fls(uint32_t x)
+{
+ uint32_t r; __asm__("bsrl %1, %0" : "=r" (r) : "rm" (x) : "cc"); return r;
+}
+#else
+#define lj_fls(x) ((uint32_t)(__builtin_clz(x)^31))
+#endif
+
+#if defined(__arm__)
+static LJ_AINLINE uint32_t lj_bswap(uint32_t x)
+{
+#if defined(__psp2__)
+ return __builtin_rev(x);
+#else
+ uint32_t r;
+#if __ARM_ARCH_6__ || __ARM_ARCH_6J__ || __ARM_ARCH_6T2__ || __ARM_ARCH_6Z__ ||\
+ __ARM_ARCH_6ZK__ || __ARM_ARCH_7__ || __ARM_ARCH_7A__ || __ARM_ARCH_7R__
+ __asm__("rev %0, %1" : "=r" (r) : "r" (x));
+ return r;
+#else
+#ifdef __thumb__
+ r = x ^ lj_ror(x, 16);
+#else
+ __asm__("eor %0, %1, %1, ror #16" : "=r" (r) : "r" (x));
+#endif
+ return ((r & 0xff00ffffu) >> 8) ^ lj_ror(x, 8);
+#endif
+#endif
+}
+
+static LJ_AINLINE uint64_t lj_bswap64(uint64_t x)
+{
+ return ((uint64_t)lj_bswap((uint32_t)x)<<32) | lj_bswap((uint32_t)(x>>32));
+}
+#elif (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+static LJ_AINLINE uint32_t lj_bswap(uint32_t x)
+{
+ return (uint32_t)__builtin_bswap32((int32_t)x);
+}
+
+static LJ_AINLINE uint64_t lj_bswap64(uint64_t x)
+{
+ return (uint64_t)__builtin_bswap64((int64_t)x);
+}
+#elif defined(__i386__) || defined(__x86_64__)
+static LJ_AINLINE uint32_t lj_bswap(uint32_t x)
+{
+ uint32_t r; __asm__("bswap %0" : "=r" (r) : "0" (x)); return r;
+}
+
+#if defined(__i386__)
+static LJ_AINLINE uint64_t lj_bswap64(uint64_t x)
+{
+ return ((uint64_t)lj_bswap((uint32_t)x)<<32) | lj_bswap((uint32_t)(x>>32));
+}
+#else
+static LJ_AINLINE uint64_t lj_bswap64(uint64_t x)
+{
+ uint64_t r; __asm__("bswap %0" : "=r" (r) : "0" (x)); return r;
+}
+#endif
+#else
+static LJ_AINLINE uint32_t lj_bswap(uint32_t x)
+{
+ return (x << 24) | ((x & 0xff00) << 8) | ((x >> 8) & 0xff00) | (x >> 24);
+}
+
+static LJ_AINLINE uint64_t lj_bswap64(uint64_t x)
+{
+ return (uint64_t)lj_bswap((uint32_t)(x >> 32)) |
+ ((uint64_t)lj_bswap((uint32_t)x) << 32);
+}
+#endif
+
+typedef union __attribute__((packed)) Unaligned16 {
+ uint16_t u;
+ uint8_t b[2];
+} Unaligned16;
+
+typedef union __attribute__((packed)) Unaligned32 {
+ uint32_t u;
+ uint8_t b[4];
+} Unaligned32;
+
+/* Unaligned load of uint16_t. */
+static LJ_AINLINE uint16_t lj_getu16(const void *p)
+{
+ return ((const Unaligned16 *)p)->u;
+}
+
+/* Unaligned load of uint32_t. */
+static LJ_AINLINE uint32_t lj_getu32(const void *p)
+{
+ return ((const Unaligned32 *)p)->u;
+}
+
+#elif defined(_MSC_VER)
+
+#define LJ_NORET __declspec(noreturn)
+#define LJ_ALIGN(n) __declspec(align(n))
+#define LJ_INLINE __inline
+#define LJ_AINLINE __forceinline
+#define LJ_NOINLINE __declspec(noinline)
+#if defined(_M_IX86)
+#define LJ_FASTCALL __fastcall
+#endif
+
+#ifdef _M_PPC
+unsigned int _CountLeadingZeros(long);
+#pragma intrinsic(_CountLeadingZeros)
+static LJ_AINLINE uint32_t lj_fls(uint32_t x)
+{
+ return _CountLeadingZeros(x) ^ 31;
+}
+#else
+unsigned char _BitScanForward(uint32_t *, unsigned long);
+unsigned char _BitScanReverse(uint32_t *, unsigned long);
+#pragma intrinsic(_BitScanForward)
+#pragma intrinsic(_BitScanReverse)
+
+static LJ_AINLINE uint32_t lj_ffs(uint32_t x)
+{
+ uint32_t r; _BitScanForward(&r, x); return r;
+}
+
+static LJ_AINLINE uint32_t lj_fls(uint32_t x)
+{
+ uint32_t r; _BitScanReverse(&r, x); return r;
+}
+#endif
+
+unsigned long _byteswap_ulong(unsigned long);
+uint64_t _byteswap_uint64(uint64_t);
+#define lj_bswap(x) (_byteswap_ulong((x)))
+#define lj_bswap64(x) (_byteswap_uint64((x)))
+
+#if defined(_M_PPC) && defined(LUAJIT_NO_UNALIGNED)
+/*
+** Replacement for unaligned loads on Xbox 360. Disabled by default since it's
+** usually more costly than the occasional stall when crossing a cache-line.
+*/
+static LJ_AINLINE uint16_t lj_getu16(const void *v)
+{
+ const uint8_t *p = (const uint8_t *)v;
+ return (uint16_t)((p[0]<<8) | p[1]);
+}
+static LJ_AINLINE uint32_t lj_getu32(const void *v)
+{
+ const uint8_t *p = (const uint8_t *)v;
+ return (uint32_t)((p[0]<<24) | (p[1]<<16) | (p[2]<<8) | p[3]);
+}
+#else
+/* Unaligned loads are generally ok on x86/x64. */
+#define lj_getu16(p) (*(uint16_t *)(p))
+#define lj_getu32(p) (*(uint32_t *)(p))
+#endif
+
+#else
+#error "missing defines for your compiler"
+#endif
+
+/* Optional defines. */
+#ifndef LJ_FASTCALL
+#define LJ_FASTCALL
+#endif
+#ifndef LJ_NORET
+#define LJ_NORET
+#endif
+#ifndef LJ_NOAPI
+#define LJ_NOAPI extern
+#endif
+#ifndef LJ_LIKELY
+#define LJ_LIKELY(x) (x)
+#define LJ_UNLIKELY(x) (x)
+#endif
+
+/* Attributes for internal functions. */
+#define LJ_DATA LJ_NOAPI
+#define LJ_DATADEF
+#define LJ_ASMF LJ_NOAPI
+#define LJ_FUNCA LJ_NOAPI
+#if defined(ljamalg_c)
+#define LJ_FUNC static
+#else
+#define LJ_FUNC LJ_NOAPI
+#endif
+#define LJ_FUNC_NORET LJ_FUNC LJ_NORET
+#define LJ_FUNCA_NORET LJ_FUNCA LJ_NORET
+#define LJ_ASMF_NORET LJ_ASMF LJ_NORET
+
+/* Runtime assertions. */
+#ifdef lua_assert
+#define check_exp(c, e) (lua_assert(c), (e))
+#define api_check(l, e) lua_assert(e)
+#else
+#define lua_assert(c) ((void)0)
+#define check_exp(c, e) (e)
+#define api_check luai_apicheck
+#endif
+
+/* Static assertions. */
+#define LJ_ASSERT_NAME2(name, line) name ## line
+#define LJ_ASSERT_NAME(line) LJ_ASSERT_NAME2(lj_assert_, line)
+#ifdef __COUNTER__
+#define LJ_STATIC_ASSERT(cond) \
+ extern void LJ_ASSERT_NAME(__COUNTER__)(int STATIC_ASSERTION_FAILED[(cond)?1:-1])
+#else
+#define LJ_STATIC_ASSERT(cond) \
+ extern void LJ_ASSERT_NAME(__LINE__)(int STATIC_ASSERTION_FAILED[(cond)?1:-1])
+#endif
+
+#endif
diff --git a/core/src/luajit/autogen/msys/jit/i386/lj_ffdef.h b/core/src/luajit/autogen/msys/jit/i386/lj_ffdef.h
new file mode 100644
index 000000000..c088875e6
--- /dev/null
+++ b/core/src/luajit/autogen/msys/jit/i386/lj_ffdef.h
@@ -0,0 +1,210 @@
+/* This is a generated file. DO NOT EDIT! */
+
+FFDEF(assert)
+FFDEF(type)
+FFDEF(next)
+FFDEF(pairs)
+FFDEF(ipairs_aux)
+FFDEF(ipairs)
+FFDEF(getmetatable)
+FFDEF(setmetatable)
+FFDEF(getfenv)
+FFDEF(setfenv)
+FFDEF(rawget)
+FFDEF(rawset)
+FFDEF(rawequal)
+FFDEF(unpack)
+FFDEF(select)
+FFDEF(tonumber)
+FFDEF(tostring)
+FFDEF(error)
+FFDEF(pcall)
+FFDEF(xpcall)
+FFDEF(loadfile)
+FFDEF(load)
+FFDEF(loadstring)
+FFDEF(dofile)
+FFDEF(gcinfo)
+FFDEF(collectgarbage)
+FFDEF(newproxy)
+FFDEF(print)
+FFDEF(coroutine_status)
+FFDEF(coroutine_running)
+FFDEF(coroutine_isyieldable)
+FFDEF(coroutine_create)
+FFDEF(coroutine_yield)
+FFDEF(coroutine_resume)
+FFDEF(coroutine_wrap_aux)
+FFDEF(coroutine_wrap)
+FFDEF(math_abs)
+FFDEF(math_floor)
+FFDEF(math_ceil)
+FFDEF(math_sqrt)
+FFDEF(math_log10)
+FFDEF(math_exp)
+FFDEF(math_sin)
+FFDEF(math_cos)
+FFDEF(math_tan)
+FFDEF(math_asin)
+FFDEF(math_acos)
+FFDEF(math_atan)
+FFDEF(math_sinh)
+FFDEF(math_cosh)
+FFDEF(math_tanh)
+FFDEF(math_frexp)
+FFDEF(math_modf)
+FFDEF(math_log)
+FFDEF(math_atan2)
+FFDEF(math_pow)
+FFDEF(math_fmod)
+FFDEF(math_ldexp)
+FFDEF(math_min)
+FFDEF(math_max)
+FFDEF(math_random)
+FFDEF(math_randomseed)
+FFDEF(bit_tobit)
+FFDEF(bit_bnot)
+FFDEF(bit_bswap)
+FFDEF(bit_lshift)
+FFDEF(bit_rshift)
+FFDEF(bit_arshift)
+FFDEF(bit_rol)
+FFDEF(bit_ror)
+FFDEF(bit_band)
+FFDEF(bit_bor)
+FFDEF(bit_bxor)
+FFDEF(bit_tohex)
+FFDEF(string_byte)
+FFDEF(string_char)
+FFDEF(string_sub)
+FFDEF(string_rep)
+FFDEF(string_reverse)
+FFDEF(string_lower)
+FFDEF(string_upper)
+FFDEF(string_dump)
+FFDEF(string_find)
+FFDEF(string_match)
+FFDEF(string_gmatch_aux)
+FFDEF(string_gmatch)
+FFDEF(string_gsub)
+FFDEF(string_format)
+FFDEF(table_maxn)
+FFDEF(table_insert)
+FFDEF(table_concat)
+FFDEF(table_sort)
+FFDEF(table_new)
+FFDEF(table_clear)
+FFDEF(io_method_close)
+FFDEF(io_method_read)
+FFDEF(io_method_write)
+FFDEF(io_method_flush)
+FFDEF(io_method_seek)
+FFDEF(io_method_setvbuf)
+FFDEF(io_method_lines)
+FFDEF(io_method___gc)
+FFDEF(io_method___tostring)
+FFDEF(io_open)
+FFDEF(io_popen)
+FFDEF(io_tmpfile)
+FFDEF(io_close)
+FFDEF(io_read)
+FFDEF(io_write)
+FFDEF(io_flush)
+FFDEF(io_input)
+FFDEF(io_output)
+FFDEF(io_lines)
+FFDEF(io_type)
+FFDEF(os_execute)
+FFDEF(os_remove)
+FFDEF(os_rename)
+FFDEF(os_tmpname)
+FFDEF(os_getenv)
+FFDEF(os_exit)
+FFDEF(os_clock)
+FFDEF(os_date)
+FFDEF(os_time)
+FFDEF(os_difftime)
+FFDEF(os_setlocale)
+FFDEF(debug_getregistry)
+FFDEF(debug_getmetatable)
+FFDEF(debug_setmetatable)
+FFDEF(debug_getfenv)
+FFDEF(debug_setfenv)
+FFDEF(debug_getinfo)
+FFDEF(debug_getlocal)
+FFDEF(debug_setlocal)
+FFDEF(debug_getupvalue)
+FFDEF(debug_setupvalue)
+FFDEF(debug_upvalueid)
+FFDEF(debug_upvaluejoin)
+FFDEF(debug_sethook)
+FFDEF(debug_gethook)
+FFDEF(debug_debug)
+FFDEF(debug_traceback)
+FFDEF(jit_on)
+FFDEF(jit_off)
+FFDEF(jit_flush)
+FFDEF(jit_status)
+FFDEF(jit_attach)
+FFDEF(jit_util_funcinfo)
+FFDEF(jit_util_funcbc)
+FFDEF(jit_util_funck)
+FFDEF(jit_util_funcuvname)
+FFDEF(jit_util_traceinfo)
+FFDEF(jit_util_traceir)
+FFDEF(jit_util_tracek)
+FFDEF(jit_util_tracesnap)
+FFDEF(jit_util_tracemc)
+FFDEF(jit_util_traceexitstub)
+FFDEF(jit_util_ircalladdr)
+FFDEF(jit_opt_start)
+FFDEF(jit_profile_start)
+FFDEF(jit_profile_stop)
+FFDEF(jit_profile_dumpstack)
+FFDEF(ffi_meta___index)
+FFDEF(ffi_meta___newindex)
+FFDEF(ffi_meta___eq)
+FFDEF(ffi_meta___len)
+FFDEF(ffi_meta___lt)
+FFDEF(ffi_meta___le)
+FFDEF(ffi_meta___concat)
+FFDEF(ffi_meta___call)
+FFDEF(ffi_meta___add)
+FFDEF(ffi_meta___sub)
+FFDEF(ffi_meta___mul)
+FFDEF(ffi_meta___div)
+FFDEF(ffi_meta___mod)
+FFDEF(ffi_meta___pow)
+FFDEF(ffi_meta___unm)
+FFDEF(ffi_meta___tostring)
+FFDEF(ffi_meta___pairs)
+FFDEF(ffi_meta___ipairs)
+FFDEF(ffi_clib___index)
+FFDEF(ffi_clib___newindex)
+FFDEF(ffi_clib___gc)
+FFDEF(ffi_callback_free)
+FFDEF(ffi_callback_set)
+FFDEF(ffi_cdef)
+FFDEF(ffi_new)
+FFDEF(ffi_cast)
+FFDEF(ffi_typeof)
+FFDEF(ffi_typeinfo)
+FFDEF(ffi_istype)
+FFDEF(ffi_sizeof)
+FFDEF(ffi_alignof)
+FFDEF(ffi_offsetof)
+FFDEF(ffi_errno)
+FFDEF(ffi_string)
+FFDEF(ffi_copy)
+FFDEF(ffi_fill)
+FFDEF(ffi_abi)
+FFDEF(ffi_metatype)
+FFDEF(ffi_gc)
+FFDEF(ffi_load)
+
+#undef FFDEF
+
+#ifndef FF_NUM_ASMFUNC
+#define FF_NUM_ASMFUNC 57
+#endif
+
diff --git a/core/src/luajit/autogen/msys/jit/i386/lj_folddef.h b/core/src/luajit/autogen/msys/jit/i386/lj_folddef.h
new file mode 100644
index 000000000..6d12f3283
--- /dev/null
+++ b/core/src/luajit/autogen/msys/jit/i386/lj_folddef.h
@@ -0,0 +1,1113 @@
+/* This is a generated file. DO NOT EDIT! */
+
+static const FoldFunc fold_func[] = {
+ fold_kfold_numarith,
+ fold_kfold_numabsneg,
+ fold_kfold_ldexp,
+ fold_kfold_fpmath,
+ fold_kfold_numpow,
+ fold_kfold_numcomp,
+ fold_kfold_intarith,
+ fold_kfold_intovarith,
+ fold_kfold_bnot,
+ fold_kfold_bswap,
+ fold_kfold_intcomp,
+ fold_kfold_intcomp0,
+ fold_kfold_int64arith,
+ fold_kfold_int64arith2,
+ fold_kfold_int64shift,
+ fold_kfold_bnot64,
+ fold_kfold_bswap64,
+ fold_kfold_int64comp,
+ fold_kfold_int64comp0,
+ fold_kfold_snew_kptr,
+ fold_kfold_snew_empty,
+ fold_kfold_strref,
+ fold_kfold_strref_snew,
+ fold_kfold_strcmp,
+ fold_bufput_append,
+ fold_bufput_kgc,
+ fold_bufstr_kfold_cse,
+ fold_bufput_kfold_op,
+ fold_bufput_kfold_rep,
+ fold_bufput_kfold_fmt,
+ fold_kfold_add_kgc,
+ fold_kfold_add_kptr,
+ fold_kfold_add_kright,
+ fold_kfold_tobit,
+ fold_kfold_conv_kint_num,
+ fold_kfold_conv_kintu32_num,
+ fold_kfold_conv_kint_ext,
+ fold_kfold_conv_kint_i64,
+ fold_kfold_conv_kint64_num_i64,
+ fold_kfold_conv_kint64_num_u64,
+ fold_kfold_conv_kint64_int_i64,
+ fold_kfold_conv_knum_int_num,
+ fold_kfold_conv_knum_u32_num,
+ fold_kfold_conv_knum_i64_num,
+ fold_kfold_conv_knum_u64_num,
+ fold_kfold_tostr_knum,
+ fold_kfold_tostr_kint,
+ fold_kfold_strto,
+ lj_opt_cse,
+ fold_kfold_kref,
+ fold_shortcut_round,
+ fold_shortcut_left,
+ fold_shortcut_dropleft,
+ fold_shortcut_leftleft,
+ fold_simplify_numadd_negx,
+ fold_simplify_numadd_xneg,
+ fold_simplify_numsub_k,
+ fold_simplify_numsub_negk,
+ fold_simplify_numsub_xneg,
+ fold_simplify_nummuldiv_k,
+ fold_simplify_nummuldiv_negk,
+ fold_simplify_nummuldiv_negneg,
+ fold_simplify_numpow_xk,
+ fold_simplify_numpow_kx,
+ fold_shortcut_conv_num_int,
+ fold_simplify_conv_int_num,
+ fold_simplify_conv_i64_num,
+ fold_simplify_conv_int_i64,
+ fold_simplify_conv_flt_num,
+ fold_simplify_tobit_conv,
+ fold_simplify_floor_conv,
+ fold_simplify_conv_sext,
+ fold_simplify_conv_narrow,
+ fold_cse_conv,
+ fold_narrow_convert,
+ fold_simplify_intadd_k,
+ fold_simplify_intmul_k,
+ fold_simplify_intsub_k,
+ fold_simplify_intsub_kleft,
+ fold_simplify_intadd_k64,
+ fold_simplify_intsub_k64,
+ fold_simplify_intmul_k32,
+ fold_simplify_intmul_k64,
+ fold_simplify_intmod_k,
+ fold_simplify_intmod_kleft,
+ fold_simplify_intsub,
+ fold_simplify_intsubadd_leftcancel,
+ fold_simplify_intsubsub_leftcancel,
+ fold_simplify_intsubsub_rightcancel,
+ fold_simplify_intsubadd_rightcancel,
+ fold_simplify_intsubaddadd_cancel,
+ fold_simplify_band_k,
+ fold_simplify_bor_k,
+ fold_simplify_bxor_k,
+ fold_simplify_shift_ik,
+ fold_simplify_shift_andk,
+ fold_simplify_shift1_ki,
+ fold_simplify_shift2_ki,
+ fold_simplify_shiftk_andk,
+ fold_simplify_andk_shiftk,
+ fold_simplify_andor_k,
+ fold_simplify_andor_k64,
+ fold_reassoc_intarith_k,
+ fold_reassoc_intarith_k64,
+ fold_reassoc_dup,
+ fold_reassoc_bxor,
+ fold_reassoc_shift,
+ fold_reassoc_minmax_k,
+ fold_reassoc_minmax_left,
+ fold_reassoc_minmax_right,
+ fold_abc_fwd,
+ fold_abc_k,
+ fold_abc_invar,
+ fold_comm_swap,
+ fold_comm_equal,
+ fold_comm_comp,
+ fold_comm_dup,
+ fold_comm_bxor,
+ fold_merge_eqne_snew_kgc,
+ lj_opt_fwd_aload,
+ fold_kfold_hload_kkptr,
+ lj_opt_fwd_hload,
+ lj_opt_fwd_uload,
+ lj_opt_fwd_tab_len,
+ fold_cse_uref,
+ lj_opt_fwd_hrefk,
+ fold_fwd_href_tnew,
+ fold_fwd_href_tdup,
+ fold_fload_tab_tnew_asize,
+ fold_fload_tab_tnew_hmask,
+ fold_fload_tab_tdup_asize,
+ fold_fload_tab_tdup_hmask,
+ fold_fload_tab_ah,
+ fold_fload_str_len_kgc,
+ fold_fload_str_len_snew,
+ fold_fload_str_len_tostr,
+ fold_fload_cdata_typeid_kgc,
+ fold_fload_cdata_int64_kgc,
+ fold_fload_cdata_typeid_cnew,
+ fold_fload_cdata_ptr_int64_cnew,
+ lj_opt_cse,
+ lj_opt_fwd_fload,
+ fold_fwd_sload,
+ fold_xload_kptr,
+ lj_opt_fwd_xload,
+ fold_barrier_tab,
+ fold_barrier_tnew_tdup,
+ fold_prof,
+ lj_opt_dse_ahstore,
+ lj_opt_dse_ustore,
+ lj_opt_dse_fstore,
+ lj_opt_dse_xstore,
+ lj_ir_emit
+};
+
+static const uint32_t fold_hash[950] = {
+0x5654a7ff,
+0x0d58741d,
+0x25b45ed4,
+0x5c45fc17,
+0x0e487417,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x4b6ffc17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x848bfc06,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x7307ffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x3111fc1b,
+0x5f4bfc21,
+0x1bc18c13,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x8c8bfc00,
+0xffffffff,
+0x4ab4aa6e,
+0x139c6817,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x4ab4a66e,
+0xffffffff,
+0xffffffff,
+0x06485c17,
+0x7bc1fc1e,
+0xffffffff,
+0x1dc18c0f,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x6744881d,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x1dc18c0b,
+0xffffffff,
+0x6544841d,
+0x0510701c,
+0x40b569d3,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x4e5477ff,
+0xffffffff,
+0xffffffff,
+0x0064701c,
+0x917bffff,
+0x48b4ae95,
+0xffffffff,
+0x0a145c17,
+0xffffffff,
+0x98a5ffff,
+0x47b5feb3,
+0x48b4aa95,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x0c44741d,
+0x06685c17,
+0x48b4a695,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x535bfc17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x3d56bc2f,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x31106018,
+0x4e545fff,
+0x0506701c,
+0xffffffff,
+0x3b57fc1c,
+0xffffffff,
+0xffffffff,
+0x7547ffff,
+0x29b4726e,
+0x604a77ff,
+0x6b66cc1c,
+0xffffffff,
+0x7171ffff,
+0xffffffff,
+0xffffffff,
+0x0a0a5c17,
+0xffffffff,
+0x979bffff,
+0x24b45e72,
+0x3110741d,
+0xffffffff,
+0xffffffff,
+0x8c8bfc10,
+0x98c5ffff,
+0xffffffff,
+0x065e5c17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x6a4a9417,
+0xffffffff,
+0xffffffff,
+0x5e51fc17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x604a5fff,
+0xffffffff,
+0x7213ffff,
+0x25b45eb4,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x624a8417,
+0x28b47695,
+0xffffffff,
+0x7467ffff,
+0xffffffff,
+0xffffffff,
+0x0a005c17,
+0x848bfc08,
+0x8c91ffff,
+0xffffffff,
+0x1106741d,
+0x036a73ff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x06545c17,
+0xffffffff,
+0xffffffff,
+0x5257fc1d,
+0x0d5a741d,
+0xffffffff,
+0xffffffff,
+0x5d47fc17,
+0x0e4a7417,
+0xffffffff,
+0x8c8bfc04,
+0xffffffff,
+0x4c71fc17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x7309ffff,
+0x8c8bfc11,
+0xffffffff,
+0xffffffff,
+0x466b6800,
+0xffffffff,
+0x3113fc1b,
+0x5f4dfc21,
+0x466b6802,
+0x3753fc2f,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x91b1ffff,
+0xffffffff,
+0xffffffff,
+0x064a5c17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x48b4ae75,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x67468c1d,
+0xffffffff,
+0x48b4aa75,
+0x848bfc09,
+0xffffffff,
+0x6656ac17,
+0x8a8b4c0e,
+0x878b7000,
+0x48b4a675,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x8a8b480e,
+0x0512701c,
+0x2fba6000,
+0x1cc18c16,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x7153ffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x0066701c,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x5b43fc1d,
+0x0c46741d,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x78866800,
+0x8c8bfc01,
+0xffffffff,
+0xffffffff,
+0x3e5dfc17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x3d58bc2f,
+0x6d69fc33,
+0xffffffff,
+0xffffffff,
+0x1dc18c0e,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x31126018,
+0x0508701c,
+0xffffffff,
+0xffffffff,
+0x3b59fc1c,
+0x6b68d01c,
+0xffffffff,
+0xffffffff,
+0x614c77ff,
+0xffffffff,
+0xffffffff,
+0x24b45e70,
+0x7f774416,
+0xffffffff,
+0x98a3fc00,
+0x0a0c5c17,
+0x1dc18c0a,
+0xffffffff,
+0xffffffff,
+0x3112741d,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x6a4c9817,
+0x28b47675,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x684287ff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x4b53fc17,
+0xffffffff,
+0x868b3800,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x614c5fff,
+0x6752a41d,
+0x7015ffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x0052701c,
+0x7469ffff,
+0xffffffff,
+0xffffffff,
+0x0a025c17,
+0xffffffff,
+0x9493ffff,
+0x898a600f,
+0x1108741d,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x15806017,
+0x06565c17,
+0x015e7045,
+0xffffffff,
+0xffffffff,
+0x63429417,
+0x0d5c741d,
+0xffffffff,
+0x5e49fc17,
+0x0e4c7417,
+0xffffffff,
+0x63429017,
+0x24b45e71,
+0x353e7c00,
+0x3011141b,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x149dfc17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x730bffff,
+0x64428817,
+0xffffffff,
+0x0f3e7400,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x66428417,
+0x5f4ffc21,
+0x3a55fc2f,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x8b8b4c10,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x064c5c17,
+0xffffffff,
+0x6f15fc17,
+0xffffffff,
+0x0c52741d,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x3954bc1c,
+0xffffffff,
+0x8f8c6bff,
+0x42b56ace,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x083e5c00,
+0xffffffff,
+0x3360c045,
+0x1bc18c14,
+0xffffffff,
+0x7301ffff,
+0x1f52681d,
+0x326ad400,
+0x3460bc45,
+0x326ad402,
+0x932bffff,
+0xffffffff,
+0x1f52641d,
+0xffffffff,
+0xffffffff,
+0x5555ffff,
+0xffffffff,
+0x7785fc00,
+0x1e52601d,
+0x0068701c,
+0x7f77441c,
+0xffffffff,
+0x91affc00,
+0xffffffff,
+0xffffffff,
+0x98a9ffff,
+0x828b4408,
+0xffffffff,
+0x06425c17,
+0x466b6801,
+0x0b0bfc17,
+0x5c45fc1d,
+0x808b4008,
+0x076c5c17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x7f774418,
+0xffffffff,
+0x5a54a429,
+0x1dc18c0c,
+0xffffffff,
+0xffffffff,
+0x8b8b4c11,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x22b45dd3,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x050a701c,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x614e77ff,
+0x44b569ae,
+0xffffffff,
+0x45b7681c,
+0x7d75ffff,
+0xffffffff,
+0xffffffff,
+0x0a0e5c17,
+0xffffffff,
+0x6a4e9c17,
+0x989fffff,
+0x1bc18c15,
+0xffffffff,
+0xffffffff,
+0x68448bff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x6d67fc34,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x4d55fc17,
+0x43b56a96,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x838b4409,
+0xffffffff,
+0x614e5fff,
+0x0500701c,
+0x9817ffff,
+0xffffffff,
+0x818b4009,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x624e8417,
+0xffffffff,
+0x0054701c,
+0xffffffff,
+0x1dc18c0d,
+0xffffffff,
+0x0a045c17,
+0xffffffff,
+0x9495ffff,
+0xffffffff,
+0x110a741d,
+0xffffffff,
+0xffffffff,
+0x98bfffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x01607045,
+0x41b56a8e,
+0xffffffff,
+0xffffffff,
+0x2053fc1a,
+0x35408000,
+0x5e4bfc17,
+0x1bc18c09,
+0x0e4e7417,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x3013141b,
+0xffffffff,
+0x25b45ed3,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x730dffff,
+0x66448817,
+0xffffffff,
+0x10407400,
+0xffffffff,
+0x42b56aae,
+0xffffffff,
+0x64448417,
+0x5f51fc21,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x31106fff,
+0xffffffff,
+0x8d8bffff,
+0xffffffff,
+0x1100741d,
+0xffffffff,
+0xffffffff,
+0x49b5ffff,
+0xffffffff,
+0xffffffff,
+0x064e5c17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x0c54741d,
+0x2db873ff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x3c56bc1c,
+0x888a600e,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x09405c00,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x7303ffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x7157ffff,
+0x6c66d3ff,
+0x98b20000,
+0x7987fc00,
+0x2eb85fff,
+0xffffffff,
+0x6866cfff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x19abffff,
+0xffffffff,
+0xffffffff,
+0x06445c17,
+0xffffffff,
+0xffffffff,
+0x5d47fc1d,
+0xffffffff,
+0x076e5c17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x02647017,
+0x858a6000,
+0xffffffff,
+0x5855fc2a,
+0xffffffff,
+0x545a5fff,
+0x050c701c,
+0xffffffff,
+0x27b475d6,
+0x43b56a76,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x615077ff,
+0xffffffff,
+0xffffffff,
+0x6a50a017,
+0x8477ffff,
+0xffffffff,
+0xffffffff,
+0x31105c17,
+0x69468fff,
+0x98a1ffff,
+0x326ad401,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x8c8bfc0f,
+0x5157fc17,
+0x6756ac1d,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x6b66cc17,
+0xffffffff,
+0xffffffff,
+0x41b56a6e,
+0xffffffff,
+0x7c7a63ff,
+0x61505fff,
+0x0502701c,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x7443ffff,
+0xffffffff,
+0x62508417,
+0xffffffff,
+0x0056701c,
+0x25b45eb3,
+0x716dffff,
+0xffffffff,
+0x0a065c17,
+0xffffffff,
+0x9597ffff,
+0xffffffff,
+0x110c741d,
+0xffffffff,
+0x92af4400,
+0x98c1ffff,
+0x2053fc18,
+0xffffffff,
+0x065a5c17,
+0x848bfc07,
+0x92af4000,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x5e4dfc17,
+0x0e507417,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x3652bfff,
+0x76113818,
+0xffffffff,
+0xffffffff,
+0x66468c17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x730fffff,
+0xffffffff,
+0xffffffff,
+0x43b56a95,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x898a6010,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x31126fff,
+0xffffffff,
+0x908dffff,
+0xffffffff,
+0x1102741d,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x06505c17,
+0xffffffff,
+0xffffffff,
+0x4f53fc1d,
+0x0c56741d,
+0x4ab6a81c,
+0xffffffff,
+0x5b43fc17,
+0xffffffff,
+0x3c58bc1c,
+0xffffffff,
+0x4ab6a41c,
+0x4b6dfc17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x48b4ae96,
+0x7305ffff,
+0x2cb472ce,
+0x2053fc19,
+0xffffffff,
+0xffffffff,
+0x48b4aa96,
+0xffffffff,
+0x5f49fc21,
+0x6e15fc29,
+0xffffffff,
+0x6868d3ff,
+0x48b4a696,
+0x7a89fc00,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x6c68cfff,
+0x3f5c73ff,
+0xffffffff,
+0xffffffff,
+0x1aadffff,
+0xffffffff,
+0xffffffff,
+0x06465c17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x07705c17,
+0xffffffff,
+0xffffffff,
+0x898a6011,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x6542881d,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x6742841d,
+0x050e701c,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x6652a417,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x0062701c,
+0x9879ffff,
+0xffffffff,
+0xffffffff,
+0x31125c17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x24b45e6f,
+0x4ab4aaae,
+0x21b6701c,
+0xffffffff,
+0x0c42741d,
+0x06665c17,
+0xffffffff,
+0x4ab4a6ae,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x6b68d017,
+0x23b45dd4,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x355ebfff,
+0xffffffff,
+0x045c7017,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x7c7c63ff,
+0xffffffff,
+0x0504701c,
+0xffffffff,
+0x47b5fed3,
+0x3855fc1c,
+0xffffffff,
+0xffffffff,
+0x7445ffff,
+0x604877ff,
+0xffffffff,
+0xffffffff,
+0x0058701c,
+0x556fffff,
+0x18ab5056,
+0xffffffff,
+0x0a085c17,
+0x5955fc29,
+0x9699ffff,
+0x120bfc1d,
+0x110e741d,
+0x26b475d5,
+0x43b56a75,
+0x98c3ffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x5e4ffc17,
+0xffffffff,
+0xffffffff,
+0x6a489017,
+0x2ab4728e,
+0x16813bff,
+0x76133818,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x60485fff,
+0xffffffff,
+0x7211ffff,
+0xffffffff,
+0x8c8bfc0e,
+0xffffffff,
+0x17bd8c00,
+0x1f526817,
+0xffffffff,
+0x62488417,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x1f526417,
+0xffffffff,
+0xffffffff,
+0x48b4ae76,
+0x8e8fffff,
+0x2bb472ae,
+0x1104741d,
+0x1e526017,
+0xffffffff,
+0x48b4aa76,
+0x5754abff,
+0xffffffff,
+0x06525c17,
+0x7e7743ff,
+0x8b8b4c0f,
+0x5055fc1d,
+0x48b4a676
+};
+
+#define fold_hashkey(k) (lj_rol(lj_rol((k),30)-(k),25)%949)
+
diff --git a/core/src/luajit/autogen/msys/jit/i386/lj_libdef.h b/core/src/luajit/autogen/msys/jit/i386/lj_libdef.h
new file mode 100644
index 000000000..2c9ec0605
--- /dev/null
+++ b/core/src/luajit/autogen/msys/jit/i386/lj_libdef.h
@@ -0,0 +1,420 @@
+/* This is a generated file. DO NOT EDIT! */
+
+#ifdef LJLIB_MODULE_base
+#undef LJLIB_MODULE_base
+static const lua_CFunction lj_lib_cf_base[] = {
+ lj_ffh_assert,
+ lj_ffh_next,
+ lj_ffh_pairs,
+ lj_ffh_ipairs_aux,
+ lj_ffh_ipairs,
+ lj_ffh_setmetatable,
+ lj_cf_getfenv,
+ lj_cf_setfenv,
+ lj_ffh_rawget,
+ lj_cf_rawset,
+ lj_cf_rawequal,
+ lj_cf_unpack,
+ lj_cf_select,
+ lj_ffh_tonumber,
+ lj_ffh_tostring,
+ lj_cf_error,
+ lj_ffh_pcall,
+ lj_cf_loadfile,
+ lj_cf_load,
+ lj_cf_loadstring,
+ lj_cf_dofile,
+ lj_cf_gcinfo,
+ lj_cf_collectgarbage,
+ lj_cf_newproxy,
+ lj_cf_print
+};
+static const uint8_t lj_lib_init_base[] = {
+2,0,28,70,97,115,115,101,114,116,195,110,105,108,199,98,111,111,108,101,97,
+110,252,1,200,117,115,101,114,100,97,116,97,198,115,116,114,105,110,103,197,
+117,112,118,97,108,198,116,104,114,101,97,100,197,112,114,111,116,111,200,102,
+117,110,99,116,105,111,110,197,116,114,97,99,101,197,99,100,97,116,97,197,116,
+97,98,108,101,252,9,198,110,117,109,98,101,114,132,116,121,112,101,68,110,101,
+120,116,253,69,112,97,105,114,115,64,253,70,105,112,97,105,114,115,140,103,
+101,116,109,101,116,97,116,97,98,108,101,76,115,101,116,109,101,116,97,116,
+97,98,108,101,7,103,101,116,102,101,110,118,7,115,101,116,102,101,110,118,70,
+114,97,119,103,101,116,6,114,97,119,115,101,116,8,114,97,119,101,113,117,97,
+108,6,117,110,112,97,99,107,6,115,101,108,101,99,116,72,116,111,110,117,109,
+98,101,114,72,116,111,115,116,114,105,110,103,5,101,114,114,111,114,69,112,
+99,97,108,108,134,120,112,99,97,108,108,8,108,111,97,100,102,105,108,101,4,
+108,111,97,100,10,108,111,97,100,115,116,114,105,110,103,6,100,111,102,105,
+108,101,6,103,99,105,110,102,111,14,99,111,108,108,101,99,116,103,97,114,98,
+97,103,101,252,2,8,110,101,119,112,114,111,120,121,200,116,111,115,116,114,
+105,110,103,5,112,114,105,110,116,252,3,200,95,86,69,82,83,73,79,78,250,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_coroutine
+#undef LJLIB_MODULE_coroutine
+static const lua_CFunction lj_lib_cf_coroutine[] = {
+ lj_cf_coroutine_status,
+ lj_cf_coroutine_running,
+ lj_cf_coroutine_isyieldable,
+ lj_cf_coroutine_create,
+ lj_ffh_coroutine_yield,
+ lj_ffh_coroutine_resume,
+ lj_cf_coroutine_wrap
+};
+static const uint8_t lj_lib_init_coroutine[] = {
+30,13,7,6,115,116,97,116,117,115,7,114,117,110,110,105,110,103,11,105,115,121,
+105,101,108,100,97,98,108,101,6,99,114,101,97,116,101,69,121,105,101,108,100,
+70,114,101,115,117,109,101,254,4,119,114,97,112,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_math
+#undef LJLIB_MODULE_math
+static const lua_CFunction lj_lib_cf_math[] = {
+ lj_ffh_math_abs,
+ lj_ffh_math_sqrt,
+ lj_ffh_math_log,
+ lj_ffh_math_atan2,
+ lj_ffh_math_ldexp,
+ lj_ffh_math_min,
+ lj_cf_math_random,
+ lj_cf_math_randomseed
+};
+static const uint8_t lj_lib_init_math[] = {
+38,16,30,67,97,98,115,133,102,108,111,111,114,132,99,101,105,108,68,115,113,
+114,116,133,108,111,103,49,48,131,101,120,112,131,115,105,110,131,99,111,115,
+131,116,97,110,132,97,115,105,110,132,97,99,111,115,132,97,116,97,110,132,115,
+105,110,104,132,99,111,115,104,132,116,97,110,104,133,102,114,101,120,112,132,
+109,111,100,102,67,108,111,103,249,3,100,101,103,0,1,2,0,0,1,2,24,1,0,0,76,
+1,2,0,241,135,158,166,3,220,203,178,130,4,249,3,114,97,100,0,1,2,0,0,1,2,24,
+1,0,0,76,1,2,0,243,244,148,165,20,198,190,199,252,3,69,97,116,97,110,50,131,
+112,111,119,132,102,109,111,100,69,108,100,101,120,112,67,109,105,110,131,109,
+97,120,251,24,45,68,84,251,33,9,64,194,112,105,250,251,0,0,0,0,0,0,240,127,
+196,104,117,103,101,250,252,2,6,114,97,110,100,111,109,252,2,10,114,97,110,
+100,111,109,115,101,101,100,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_bit
+#undef LJLIB_MODULE_bit
+static const lua_CFunction lj_lib_cf_bit[] = {
+ lj_ffh_bit_tobit,
+ lj_ffh_bit_bnot,
+ lj_ffh_bit_bswap,
+ lj_ffh_bit_lshift,
+ lj_ffh_bit_band,
+ lj_cf_bit_tohex
+};
+static const uint8_t lj_lib_init_bit[] = {
+64,40,12,69,116,111,98,105,116,68,98,110,111,116,69,98,115,119,97,112,70,108,
+115,104,105,102,116,134,114,115,104,105,102,116,135,97,114,115,104,105,102,
+116,131,114,111,108,131,114,111,114,68,98,97,110,100,131,98,111,114,132,98,
+120,111,114,5,116,111,104,101,120,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_string
+#undef LJLIB_MODULE_string
+static const lua_CFunction lj_lib_cf_string[] = {
+ lj_ffh_string_byte,
+ lj_ffh_string_char,
+ lj_ffh_string_sub,
+ lj_cf_string_rep,
+ lj_ffh_string_reverse,
+ lj_cf_string_dump,
+ lj_cf_string_find,
+ lj_cf_string_match,
+ lj_cf_string_gmatch,
+ lj_cf_string_gsub,
+ lj_cf_string_format
+};
+static const uint8_t lj_lib_init_string[] = {
+76,51,14,249,3,108,101,110,0,1,2,0,0,0,3,16,0,5,0,21,1,0,0,76,1,2,0,68,98,121,
+116,101,68,99,104,97,114,67,115,117,98,3,114,101,112,71,114,101,118,101,114,
+115,101,133,108,111,119,101,114,133,117,112,112,101,114,4,100,117,109,112,4,
+102,105,110,100,5,109,97,116,99,104,254,6,103,109,97,116,99,104,4,103,115,117,
+98,6,102,111,114,109,97,116,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_table
+#undef LJLIB_MODULE_table
+static const lua_CFunction lj_lib_cf_table[] = {
+ lj_cf_table_maxn,
+ lj_cf_table_insert,
+ lj_cf_table_concat,
+ lj_cf_table_sort
+};
+static const uint8_t lj_lib_init_table[] = {
+90,57,9,249,8,102,111,114,101,97,99,104,105,0,2,9,0,0,0,15,16,0,12,0,16,1,9,
+0,41,2,1,0,21,3,0,0,41,4,1,0,77,2,8,128,18,6,1,0,18,7,5,0,59,8,5,0,66,6,3,2,
+10,6,0,0,88,7,1,128,76,6,2,0,79,2,248,127,75,0,1,0,249,7,102,111,114,101,97,
+99,104,0,2,10,0,0,0,16,16,0,12,0,16,1,9,0,43,2,0,0,18,3,0,0,41,4,0,0,88,5,7,
+128,18,7,1,0,18,8,5,0,18,9,6,0,66,7,3,2,10,7,0,0,88,8,1,128,76,7,2,0,70,5,3,
+3,82,5,247,127,75,0,1,0,249,4,103,101,116,110,0,1,2,0,0,0,3,16,0,12,0,21,1,
+0,0,76,1,2,0,4,109,97,120,110,6,105,110,115,101,114,116,249,6,114,101,109,111,
+118,101,0,2,10,0,0,2,30,16,0,12,0,21,2,0,0,11,1,0,0,88,3,7,128,8,2,0,0,88,3,
+23,128,59,3,2,0,43,4,0,0,64,4,2,0,76,3,2,0,88,3,18,128,17,1,15,0,41,3,1,0,3,
+3,1,0,88,3,14,128,3,1,2,0,88,3,12,128,59,3,1,0,22,4,1,1,18,5,2,0,41,6,1,0,77,
+4,4,128,23,8,1,7,59,9,7,0,64,9,8,0,79,4,252,127,43,4,0,0,64,4,2,0,76,3,2,0,
+75,0,1,0,0,2,249,4,109,111,118,101,0,5,12,0,0,0,35,16,0,12,0,17,1,15,0,17,2,
+15,0,17,3,15,0,11,4,0,0,88,5,1,128,18,4,0,0,16,4,12,0,3,1,2,0,88,5,24,128,33,
+5,1,3,0,2,3,0,88,6,4,128,2,3,1,0,88,6,2,128,4,4,0,0,88,6,9,128,18,6,1,0,18,
+7,2,0,41,8,1,0,77,6,4,128,32,10,5,9,59,11,9,0,64,11,10,4,79,6,252,127,88,6,
+8,128,18,6,2,0,18,7,1,0,41,8,255,255,77,6,4,128,32,10,5,9,59,11,9,0,64,11,10,
+4,79,6,252,127,76,4,2,0,6,99,111,110,99,97,116,4,115,111,114,116,254,254,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_io_method
+#undef LJLIB_MODULE_io_method
+static const lua_CFunction lj_lib_cf_io_method[] = {
+ lj_cf_io_method_close,
+ lj_cf_io_method_read,
+ lj_cf_io_method_write,
+ lj_cf_io_method_flush,
+ lj_cf_io_method_seek,
+ lj_cf_io_method_setvbuf,
+ lj_cf_io_method_lines,
+ lj_cf_io_method___gc,
+ lj_cf_io_method___tostring
+};
+static const uint8_t lj_lib_init_io_method[] = {
+96,57,10,5,99,108,111,115,101,4,114,101,97,100,5,119,114,105,116,101,5,102,
+108,117,115,104,4,115,101,101,107,7,115,101,116,118,98,117,102,5,108,105,110,
+101,115,4,95,95,103,99,10,95,95,116,111,115,116,114,105,110,103,252,1,199,95,
+95,105,110,100,101,120,250,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_io
+#undef LJLIB_MODULE_io
+static const lua_CFunction lj_lib_cf_io[] = {
+ lj_cf_io_open,
+ lj_cf_io_popen,
+ lj_cf_io_tmpfile,
+ lj_cf_io_close,
+ lj_cf_io_read,
+ lj_cf_io_write,
+ lj_cf_io_flush,
+ lj_cf_io_input,
+ lj_cf_io_output,
+ lj_cf_io_lines,
+ lj_cf_io_type
+};
+static const uint8_t lj_lib_init_io[] = {
+105,57,12,252,2,192,250,4,111,112,101,110,5,112,111,112,101,110,7,116,109,112,
+102,105,108,101,5,99,108,111,115,101,4,114,101,97,100,5,119,114,105,116,101,
+5,102,108,117,115,104,5,105,110,112,117,116,6,111,117,116,112,117,116,5,108,
+105,110,101,115,4,116,121,112,101,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_os
+#undef LJLIB_MODULE_os
+static const lua_CFunction lj_lib_cf_os[] = {
+ lj_cf_os_execute,
+ lj_cf_os_remove,
+ lj_cf_os_rename,
+ lj_cf_os_tmpname,
+ lj_cf_os_getenv,
+ lj_cf_os_exit,
+ lj_cf_os_clock,
+ lj_cf_os_date,
+ lj_cf_os_time,
+ lj_cf_os_difftime,
+ lj_cf_os_setlocale
+};
+static const uint8_t lj_lib_init_os[] = {
+116,57,11,7,101,120,101,99,117,116,101,6,114,101,109,111,118,101,6,114,101,
+110,97,109,101,7,116,109,112,110,97,109,101,6,103,101,116,101,110,118,4,101,
+120,105,116,5,99,108,111,99,107,4,100,97,116,101,4,116,105,109,101,8,100,105,
+102,102,116,105,109,101,9,115,101,116,108,111,99,97,108,101,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_debug
+#undef LJLIB_MODULE_debug
+static const lua_CFunction lj_lib_cf_debug[] = {
+ lj_cf_debug_getregistry,
+ lj_cf_debug_getmetatable,
+ lj_cf_debug_setmetatable,
+ lj_cf_debug_getfenv,
+ lj_cf_debug_setfenv,
+ lj_cf_debug_getinfo,
+ lj_cf_debug_getlocal,
+ lj_cf_debug_setlocal,
+ lj_cf_debug_getupvalue,
+ lj_cf_debug_setupvalue,
+ lj_cf_debug_upvalueid,
+ lj_cf_debug_upvaluejoin,
+ lj_cf_debug_sethook,
+ lj_cf_debug_gethook,
+ lj_cf_debug_debug,
+ lj_cf_debug_traceback
+};
+static const uint8_t lj_lib_init_debug[] = {
+127,57,16,11,103,101,116,114,101,103,105,115,116,114,121,12,103,101,116,109,
+101,116,97,116,97,98,108,101,12,115,101,116,109,101,116,97,116,97,98,108,101,
+7,103,101,116,102,101,110,118,7,115,101,116,102,101,110,118,7,103,101,116,105,
+110,102,111,8,103,101,116,108,111,99,97,108,8,115,101,116,108,111,99,97,108,
+10,103,101,116,117,112,118,97,108,117,101,10,115,101,116,117,112,118,97,108,
+117,101,9,117,112,118,97,108,117,101,105,100,11,117,112,118,97,108,117,101,
+106,111,105,110,7,115,101,116,104,111,111,107,7,103,101,116,104,111,111,107,
+5,100,101,98,117,103,9,116,114,97,99,101,98,97,99,107,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_jit
+#undef LJLIB_MODULE_jit
+static const lua_CFunction lj_lib_cf_jit[] = {
+ lj_cf_jit_on,
+ lj_cf_jit_off,
+ lj_cf_jit_flush,
+ lj_cf_jit_status,
+ lj_cf_jit_attach
+};
+static const uint8_t lj_lib_init_jit[] = {
+143,57,9,2,111,110,3,111,102,102,5,102,108,117,115,104,6,115,116,97,116,117,
+115,6,97,116,116,97,99,104,252,5,194,111,115,250,252,4,196,97,114,99,104,250,
+252,3,203,118,101,114,115,105,111,110,95,110,117,109,250,252,2,199,118,101,
+114,115,105,111,110,250,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_jit_util
+#undef LJLIB_MODULE_jit_util
+static const lua_CFunction lj_lib_cf_jit_util[] = {
+ lj_cf_jit_util_funcinfo,
+ lj_cf_jit_util_funcbc,
+ lj_cf_jit_util_funck,
+ lj_cf_jit_util_funcuvname,
+ lj_cf_jit_util_traceinfo,
+ lj_cf_jit_util_traceir,
+ lj_cf_jit_util_tracek,
+ lj_cf_jit_util_tracesnap,
+ lj_cf_jit_util_tracemc,
+ lj_cf_jit_util_traceexitstub,
+ lj_cf_jit_util_ircalladdr
+};
+static const uint8_t lj_lib_init_jit_util[] = {
+148,57,11,8,102,117,110,99,105,110,102,111,6,102,117,110,99,98,99,5,102,117,
+110,99,107,10,102,117,110,99,117,118,110,97,109,101,9,116,114,97,99,101,105,
+110,102,111,7,116,114,97,99,101,105,114,6,116,114,97,99,101,107,9,116,114,97,
+99,101,115,110,97,112,7,116,114,97,99,101,109,99,13,116,114,97,99,101,101,120,
+105,116,115,116,117,98,10,105,114,99,97,108,108,97,100,100,114,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_jit_opt
+#undef LJLIB_MODULE_jit_opt
+static const lua_CFunction lj_lib_cf_jit_opt[] = {
+ lj_cf_jit_opt_start
+};
+static const uint8_t lj_lib_init_jit_opt[] = {
+159,57,1,5,115,116,97,114,116,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_jit_profile
+#undef LJLIB_MODULE_jit_profile
+static const lua_CFunction lj_lib_cf_jit_profile[] = {
+ lj_cf_jit_profile_start,
+ lj_cf_jit_profile_stop,
+ lj_cf_jit_profile_dumpstack
+};
+static const uint8_t lj_lib_init_jit_profile[] = {
+160,57,3,5,115,116,97,114,116,4,115,116,111,112,9,100,117,109,112,115,116,97,
+99,107,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_ffi_meta
+#undef LJLIB_MODULE_ffi_meta
+static const lua_CFunction lj_lib_cf_ffi_meta[] = {
+ lj_cf_ffi_meta___index,
+ lj_cf_ffi_meta___newindex,
+ lj_cf_ffi_meta___eq,
+ lj_cf_ffi_meta___len,
+ lj_cf_ffi_meta___lt,
+ lj_cf_ffi_meta___le,
+ lj_cf_ffi_meta___concat,
+ lj_cf_ffi_meta___call,
+ lj_cf_ffi_meta___add,
+ lj_cf_ffi_meta___sub,
+ lj_cf_ffi_meta___mul,
+ lj_cf_ffi_meta___div,
+ lj_cf_ffi_meta___mod,
+ lj_cf_ffi_meta___pow,
+ lj_cf_ffi_meta___unm,
+ lj_cf_ffi_meta___tostring,
+ lj_cf_ffi_meta___pairs,
+ lj_cf_ffi_meta___ipairs
+};
+static const uint8_t lj_lib_init_ffi_meta[] = {
+163,57,19,7,95,95,105,110,100,101,120,10,95,95,110,101,119,105,110,100,101,
+120,4,95,95,101,113,5,95,95,108,101,110,4,95,95,108,116,4,95,95,108,101,8,95,
+95,99,111,110,99,97,116,6,95,95,99,97,108,108,5,95,95,97,100,100,5,95,95,115,
+117,98,5,95,95,109,117,108,5,95,95,100,105,118,5,95,95,109,111,100,5,95,95,
+112,111,119,5,95,95,117,110,109,10,95,95,116,111,115,116,114,105,110,103,7,
+95,95,112,97,105,114,115,8,95,95,105,112,97,105,114,115,195,102,102,105,203,
+95,95,109,101,116,97,116,97,98,108,101,250,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_ffi_clib
+#undef LJLIB_MODULE_ffi_clib
+static const lua_CFunction lj_lib_cf_ffi_clib[] = {
+ lj_cf_ffi_clib___index,
+ lj_cf_ffi_clib___newindex,
+ lj_cf_ffi_clib___gc
+};
+static const uint8_t lj_lib_init_ffi_clib[] = {
+181,57,3,7,95,95,105,110,100,101,120,10,95,95,110,101,119,105,110,100,101,120,
+4,95,95,103,99,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_ffi_callback
+#undef LJLIB_MODULE_ffi_callback
+static const lua_CFunction lj_lib_cf_ffi_callback[] = {
+ lj_cf_ffi_callback_free,
+ lj_cf_ffi_callback_set
+};
+static const uint8_t lj_lib_init_ffi_callback[] = {
+184,57,3,4,102,114,101,101,3,115,101,116,252,1,199,95,95,105,110,100,101,120,
+250,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_ffi
+#undef LJLIB_MODULE_ffi
+static const lua_CFunction lj_lib_cf_ffi[] = {
+ lj_cf_ffi_cdef,
+ lj_cf_ffi_new,
+ lj_cf_ffi_cast,
+ lj_cf_ffi_typeof,
+ lj_cf_ffi_typeinfo,
+ lj_cf_ffi_istype,
+ lj_cf_ffi_sizeof,
+ lj_cf_ffi_alignof,
+ lj_cf_ffi_offsetof,
+ lj_cf_ffi_errno,
+ lj_cf_ffi_string,
+ lj_cf_ffi_copy,
+ lj_cf_ffi_fill,
+ lj_cf_ffi_abi,
+ lj_cf_ffi_metatype,
+ lj_cf_ffi_gc,
+ lj_cf_ffi_load
+};
+static const uint8_t lj_lib_init_ffi[] = {
+186,57,23,4,99,100,101,102,3,110,101,119,4,99,97,115,116,6,116,121,112,101,
+111,102,8,116,121,112,101,105,110,102,111,6,105,115,116,121,112,101,6,115,105,
+122,101,111,102,7,97,108,105,103,110,111,102,8,111,102,102,115,101,116,111,
+102,5,101,114,114,110,111,6,115,116,114,105,110,103,4,99,111,112,121,4,102,
+105,108,108,3,97,98,105,252,8,192,250,8,109,101,116,97,116,121,112,101,252,
+7,192,250,2,103,99,252,5,192,250,4,108,111,97,100,252,4,193,67,250,252,3,194,
+111,115,250,252,2,196,97,114,99,104,250,255
+};
+#endif
+
diff --git a/core/src/luajit/autogen/msys/jit/i386/lj_recdef.h b/core/src/luajit/autogen/msys/jit/i386/lj_recdef.h
new file mode 100644
index 000000000..8c76176bb
--- /dev/null
+++ b/core/src/luajit/autogen/msys/jit/i386/lj_recdef.h
@@ -0,0 +1,271 @@
+/* This is a generated file. DO NOT EDIT! */
+
+static const uint16_t recff_idmap[] = {
+0,
+0x0100,
+0x0200,
+0x0300,
+0,
+0x0400+(0),
+0x0500,
+0x0400+(1),
+0x0600,
+0x0700,
+0x0800,
+0,
+0x0900,
+0x0a00,
+0x0b00,
+0,
+0x0c00,
+0x0d00,
+0x0e00,
+0,
+0x0f00,
+0x1000,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0x1100,
+0x1200+(IRFPM_FLOOR),
+0x1200+(IRFPM_CEIL),
+0x1300+(IRFPM_SQRT),
+0x1300+(IRFPM_LOG10),
+0x1300+(IRFPM_EXP),
+0x1300+(IRFPM_SIN),
+0x1300+(IRFPM_COS),
+0x1300+(IRFPM_TAN),
+0x1400+(FF_math_asin),
+0x1400+(FF_math_acos),
+0x1400+(FF_math_atan),
+0x1500+(IRCALL_sinh),
+0x1500+(IRCALL_cosh),
+0x1500+(IRCALL_tanh),
+0,
+0x1600,
+0x1700,
+0x1800,
+0x1900,
+0,
+0x1a00,
+0x1b00+(IR_MIN),
+0x1b00+(IR_MAX),
+0x1c00,
+0,
+0x1d00,
+0x1e00+(IR_BNOT),
+0x1e00+(IR_BSWAP),
+0x1f00+(IR_BSHL),
+0x1f00+(IR_BSHR),
+0x1f00+(IR_BSAR),
+0x1f00+(IR_BROL),
+0x1f00+(IR_BROR),
+0x2000+(IR_BAND),
+0x2000+(IR_BOR),
+0x2000+(IR_BXOR),
+0x2100,
+0x2200+(0),
+0x2300,
+0x2200+(1),
+0x2400,
+0x2500+(IRCALL_lj_buf_putstr_reverse),
+0x2500+(IRCALL_lj_buf_putstr_lower),
+0x2500+(IRCALL_lj_buf_putstr_upper),
+0,
+0x2600,
+0,
+0,
+0,
+0,
+0x2700,
+0,
+0x2800,
+0x2900,
+0,
+0x2a00,
+0x2b00,
+0,
+0,
+0x2c00+(0),
+0x2d00+(0),
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0x2c00+(GCROOT_IO_OUTPUT),
+0x2d00+(GCROOT_IO_OUTPUT),
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0x2e00,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0x2f00+(0),
+0x2f00+(1),
+0x3000+(MM_eq),
+0x3000+(MM_len),
+0x3000+(MM_lt),
+0x3000+(MM_le),
+0x3000+(MM_concat),
+0x3100,
+0x3000+(MM_add),
+0x3000+(MM_sub),
+0x3000+(MM_mul),
+0x3000+(MM_div),
+0x3000+(MM_mod),
+0x3000+(MM_pow),
+0x3000+(MM_unm),
+0,
+0,
+0,
+0x3200+(1),
+0x3200+(0),
+0,
+0,
+0,
+0,
+0x3300,
+0x3300,
+0x3400,
+0,
+0x3500,
+0x3600+(FF_ffi_sizeof),
+0x3600+(FF_ffi_alignof),
+0x3600+(FF_ffi_offsetof),
+0x3700,
+0x3800,
+0x3900,
+0x3a00,
+0x3b00,
+0,
+0x3c00
+};
+
+static const RecordFunc recff_func[] = {
+recff_nyi,
+recff_c,
+recff_assert,
+recff_type,
+recff_xpairs,
+recff_ipairs_aux,
+recff_getmetatable,
+recff_setmetatable,
+recff_getfenv,
+recff_rawget,
+recff_rawset,
+recff_rawequal,
+recff_select,
+recff_tonumber,
+recff_tostring,
+recff_pcall,
+recff_xpcall,
+recff_math_abs,
+recff_math_round,
+recff_math_unary,
+recff_math_atrig,
+recff_math_htrig,
+recff_math_modf,
+recff_math_log,
+recff_math_atan2,
+recff_math_pow,
+recff_math_ldexp,
+recff_math_minmax,
+recff_math_random,
+recff_bit_tobit,
+recff_bit_unary,
+recff_bit_shift,
+recff_bit_nary,
+recff_bit_tohex,
+recff_string_range,
+recff_string_char,
+recff_string_rep,
+recff_string_op,
+recff_string_find,
+recff_string_format,
+recff_table_insert,
+recff_table_concat,
+recff_table_new,
+recff_table_clear,
+recff_io_write,
+recff_io_flush,
+recff_debug_getmetatable,
+recff_cdata_index,
+recff_cdata_arith,
+recff_cdata_call,
+recff_clib_index,
+recff_ffi_new,
+recff_ffi_typeof,
+recff_ffi_istype,
+recff_ffi_xof,
+recff_ffi_errno,
+recff_ffi_string,
+recff_ffi_copy,
+recff_ffi_fill,
+recff_ffi_abi,
+recff_ffi_gc
+};
+
diff --git a/core/src/luajit/autogen/msys/jit/x86_64/lj_bcdef.h b/core/src/luajit/autogen/msys/jit/x86_64/lj_bcdef.h
new file mode 100644
index 000000000..e367d5b59
--- /dev/null
+++ b/core/src/luajit/autogen/msys/jit/x86_64/lj_bcdef.h
@@ -0,0 +1,220 @@
+/* This is a generated file. DO NOT EDIT! */
+
+LJ_DATADEF const uint16_t lj_bc_ofs[] = {
+0,
+71,
+142,
+213,
+284,
+422,
+563,
+624,
+685,
+752,
+819,
+871,
+922,
+972,
+1022,
+1062,
+1102,
+1129,
+1160,
+1185,
+1216,
+1275,
+1348,
+1400,
+1452,
+1504,
+1556,
+1613,
+1665,
+1717,
+1769,
+1821,
+1856,
+1922,
+1988,
+2054,
+2120,
+2169,
+2248,
+2325,
+2359,
+2393,
+2422,
+2449,
+2473,
+2515,
+2550,
+2633,
+2712,
+2748,
+2781,
+2831,
+2894,
+3002,
+3091,
+3108,
+3125,
+3272,
+3394,
+3492,
+3545,
+3715,
+3944,
+4065,
+4199,
+4283,
+4328,
+4369,
+4373,
+4514,
+4581,
+4733,
+4913,
+5000,
+5004,
+5129,
+5217,
+5318,
+5414,
+5518,
+5537,
+5606,
+5672,
+5691,
+5734,
+5772,
+5791,
+5808,
+5929,
+5953,
+5972,
+6033,
+6086,
+6086,
+6203,
+6204,
+6286,
+8042,
+8109,
+8612,
+8716,
+8773,
+8904,
+8175,
+8335,
+8425,
+8478,
+8509,
+8962,
+9002,
+9622,
+9057,
+9366,
+9674,
+9800,
+9824,
+9851,
+9922,
+9962,
+10002,
+10042,
+10082,
+10122,
+10162,
+10202,
+10242,
+10282,
+10322,
+10585,
+10733,
+9882,
+10420,
+10362,
+10478,
+10536,
+10832,
+10891,
+11531,
+11929,
+11876,
+11998,
+12077,
+12159,
+12241,
+12323,
+11585,
+11682,
+11779,
+10950,
+10997,
+11118,
+11285,
+11367,
+11449
+};
+
+LJ_DATADEF const uint16_t lj_bc_mode[] = {
+BCDEF(BCMODE)
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF,
+BCMODE_FF
+};
+
diff --git a/core/src/luajit/autogen/msys/jit/x86_64/lj_ffdef.h b/core/src/luajit/autogen/msys/jit/x86_64/lj_ffdef.h
new file mode 100644
index 000000000..c088875e6
--- /dev/null
+++ b/core/src/luajit/autogen/msys/jit/x86_64/lj_ffdef.h
@@ -0,0 +1,210 @@
+/* This is a generated file. DO NOT EDIT! */
+
+FFDEF(assert)
+FFDEF(type)
+FFDEF(next)
+FFDEF(pairs)
+FFDEF(ipairs_aux)
+FFDEF(ipairs)
+FFDEF(getmetatable)
+FFDEF(setmetatable)
+FFDEF(getfenv)
+FFDEF(setfenv)
+FFDEF(rawget)
+FFDEF(rawset)
+FFDEF(rawequal)
+FFDEF(unpack)
+FFDEF(select)
+FFDEF(tonumber)
+FFDEF(tostring)
+FFDEF(error)
+FFDEF(pcall)
+FFDEF(xpcall)
+FFDEF(loadfile)
+FFDEF(load)
+FFDEF(loadstring)
+FFDEF(dofile)
+FFDEF(gcinfo)
+FFDEF(collectgarbage)
+FFDEF(newproxy)
+FFDEF(print)
+FFDEF(coroutine_status)
+FFDEF(coroutine_running)
+FFDEF(coroutine_isyieldable)
+FFDEF(coroutine_create)
+FFDEF(coroutine_yield)
+FFDEF(coroutine_resume)
+FFDEF(coroutine_wrap_aux)
+FFDEF(coroutine_wrap)
+FFDEF(math_abs)
+FFDEF(math_floor)
+FFDEF(math_ceil)
+FFDEF(math_sqrt)
+FFDEF(math_log10)
+FFDEF(math_exp)
+FFDEF(math_sin)
+FFDEF(math_cos)
+FFDEF(math_tan)
+FFDEF(math_asin)
+FFDEF(math_acos)
+FFDEF(math_atan)
+FFDEF(math_sinh)
+FFDEF(math_cosh)
+FFDEF(math_tanh)
+FFDEF(math_frexp)
+FFDEF(math_modf)
+FFDEF(math_log)
+FFDEF(math_atan2)
+FFDEF(math_pow)
+FFDEF(math_fmod)
+FFDEF(math_ldexp)
+FFDEF(math_min)
+FFDEF(math_max)
+FFDEF(math_random)
+FFDEF(math_randomseed)
+FFDEF(bit_tobit)
+FFDEF(bit_bnot)
+FFDEF(bit_bswap)
+FFDEF(bit_lshift)
+FFDEF(bit_rshift)
+FFDEF(bit_arshift)
+FFDEF(bit_rol)
+FFDEF(bit_ror)
+FFDEF(bit_band)
+FFDEF(bit_bor)
+FFDEF(bit_bxor)
+FFDEF(bit_tohex)
+FFDEF(string_byte)
+FFDEF(string_char)
+FFDEF(string_sub)
+FFDEF(string_rep)
+FFDEF(string_reverse)
+FFDEF(string_lower)
+FFDEF(string_upper)
+FFDEF(string_dump)
+FFDEF(string_find)
+FFDEF(string_match)
+FFDEF(string_gmatch_aux)
+FFDEF(string_gmatch)
+FFDEF(string_gsub)
+FFDEF(string_format)
+FFDEF(table_maxn)
+FFDEF(table_insert)
+FFDEF(table_concat)
+FFDEF(table_sort)
+FFDEF(table_new)
+FFDEF(table_clear)
+FFDEF(io_method_close)
+FFDEF(io_method_read)
+FFDEF(io_method_write)
+FFDEF(io_method_flush)
+FFDEF(io_method_seek)
+FFDEF(io_method_setvbuf)
+FFDEF(io_method_lines)
+FFDEF(io_method___gc)
+FFDEF(io_method___tostring)
+FFDEF(io_open)
+FFDEF(io_popen)
+FFDEF(io_tmpfile)
+FFDEF(io_close)
+FFDEF(io_read)
+FFDEF(io_write)
+FFDEF(io_flush)
+FFDEF(io_input)
+FFDEF(io_output)
+FFDEF(io_lines)
+FFDEF(io_type)
+FFDEF(os_execute)
+FFDEF(os_remove)
+FFDEF(os_rename)
+FFDEF(os_tmpname)
+FFDEF(os_getenv)
+FFDEF(os_exit)
+FFDEF(os_clock)
+FFDEF(os_date)
+FFDEF(os_time)
+FFDEF(os_difftime)
+FFDEF(os_setlocale)
+FFDEF(debug_getregistry)
+FFDEF(debug_getmetatable)
+FFDEF(debug_setmetatable)
+FFDEF(debug_getfenv)
+FFDEF(debug_setfenv)
+FFDEF(debug_getinfo)
+FFDEF(debug_getlocal)
+FFDEF(debug_setlocal)
+FFDEF(debug_getupvalue)
+FFDEF(debug_setupvalue)
+FFDEF(debug_upvalueid)
+FFDEF(debug_upvaluejoin)
+FFDEF(debug_sethook)
+FFDEF(debug_gethook)
+FFDEF(debug_debug)
+FFDEF(debug_traceback)
+FFDEF(jit_on)
+FFDEF(jit_off)
+FFDEF(jit_flush)
+FFDEF(jit_status)
+FFDEF(jit_attach)
+FFDEF(jit_util_funcinfo)
+FFDEF(jit_util_funcbc)
+FFDEF(jit_util_funck)
+FFDEF(jit_util_funcuvname)
+FFDEF(jit_util_traceinfo)
+FFDEF(jit_util_traceir)
+FFDEF(jit_util_tracek)
+FFDEF(jit_util_tracesnap)
+FFDEF(jit_util_tracemc)
+FFDEF(jit_util_traceexitstub)
+FFDEF(jit_util_ircalladdr)
+FFDEF(jit_opt_start)
+FFDEF(jit_profile_start)
+FFDEF(jit_profile_stop)
+FFDEF(jit_profile_dumpstack)
+FFDEF(ffi_meta___index)
+FFDEF(ffi_meta___newindex)
+FFDEF(ffi_meta___eq)
+FFDEF(ffi_meta___len)
+FFDEF(ffi_meta___lt)
+FFDEF(ffi_meta___le)
+FFDEF(ffi_meta___concat)
+FFDEF(ffi_meta___call)
+FFDEF(ffi_meta___add)
+FFDEF(ffi_meta___sub)
+FFDEF(ffi_meta___mul)
+FFDEF(ffi_meta___div)
+FFDEF(ffi_meta___mod)
+FFDEF(ffi_meta___pow)
+FFDEF(ffi_meta___unm)
+FFDEF(ffi_meta___tostring)
+FFDEF(ffi_meta___pairs)
+FFDEF(ffi_meta___ipairs)
+FFDEF(ffi_clib___index)
+FFDEF(ffi_clib___newindex)
+FFDEF(ffi_clib___gc)
+FFDEF(ffi_callback_free)
+FFDEF(ffi_callback_set)
+FFDEF(ffi_cdef)
+FFDEF(ffi_new)
+FFDEF(ffi_cast)
+FFDEF(ffi_typeof)
+FFDEF(ffi_typeinfo)
+FFDEF(ffi_istype)
+FFDEF(ffi_sizeof)
+FFDEF(ffi_alignof)
+FFDEF(ffi_offsetof)
+FFDEF(ffi_errno)
+FFDEF(ffi_string)
+FFDEF(ffi_copy)
+FFDEF(ffi_fill)
+FFDEF(ffi_abi)
+FFDEF(ffi_metatype)
+FFDEF(ffi_gc)
+FFDEF(ffi_load)
+
+#undef FFDEF
+
+#ifndef FF_NUM_ASMFUNC
+#define FF_NUM_ASMFUNC 57
+#endif
+
diff --git a/core/src/luajit/autogen/msys/jit/x86_64/lj_folddef.h b/core/src/luajit/autogen/msys/jit/x86_64/lj_folddef.h
new file mode 100644
index 000000000..6d12f3283
--- /dev/null
+++ b/core/src/luajit/autogen/msys/jit/x86_64/lj_folddef.h
@@ -0,0 +1,1113 @@
+/* This is a generated file. DO NOT EDIT! */
+
+static const FoldFunc fold_func[] = {
+ fold_kfold_numarith,
+ fold_kfold_numabsneg,
+ fold_kfold_ldexp,
+ fold_kfold_fpmath,
+ fold_kfold_numpow,
+ fold_kfold_numcomp,
+ fold_kfold_intarith,
+ fold_kfold_intovarith,
+ fold_kfold_bnot,
+ fold_kfold_bswap,
+ fold_kfold_intcomp,
+ fold_kfold_intcomp0,
+ fold_kfold_int64arith,
+ fold_kfold_int64arith2,
+ fold_kfold_int64shift,
+ fold_kfold_bnot64,
+ fold_kfold_bswap64,
+ fold_kfold_int64comp,
+ fold_kfold_int64comp0,
+ fold_kfold_snew_kptr,
+ fold_kfold_snew_empty,
+ fold_kfold_strref,
+ fold_kfold_strref_snew,
+ fold_kfold_strcmp,
+ fold_bufput_append,
+ fold_bufput_kgc,
+ fold_bufstr_kfold_cse,
+ fold_bufput_kfold_op,
+ fold_bufput_kfold_rep,
+ fold_bufput_kfold_fmt,
+ fold_kfold_add_kgc,
+ fold_kfold_add_kptr,
+ fold_kfold_add_kright,
+ fold_kfold_tobit,
+ fold_kfold_conv_kint_num,
+ fold_kfold_conv_kintu32_num,
+ fold_kfold_conv_kint_ext,
+ fold_kfold_conv_kint_i64,
+ fold_kfold_conv_kint64_num_i64,
+ fold_kfold_conv_kint64_num_u64,
+ fold_kfold_conv_kint64_int_i64,
+ fold_kfold_conv_knum_int_num,
+ fold_kfold_conv_knum_u32_num,
+ fold_kfold_conv_knum_i64_num,
+ fold_kfold_conv_knum_u64_num,
+ fold_kfold_tostr_knum,
+ fold_kfold_tostr_kint,
+ fold_kfold_strto,
+ lj_opt_cse,
+ fold_kfold_kref,
+ fold_shortcut_round,
+ fold_shortcut_left,
+ fold_shortcut_dropleft,
+ fold_shortcut_leftleft,
+ fold_simplify_numadd_negx,
+ fold_simplify_numadd_xneg,
+ fold_simplify_numsub_k,
+ fold_simplify_numsub_negk,
+ fold_simplify_numsub_xneg,
+ fold_simplify_nummuldiv_k,
+ fold_simplify_nummuldiv_negk,
+ fold_simplify_nummuldiv_negneg,
+ fold_simplify_numpow_xk,
+ fold_simplify_numpow_kx,
+ fold_shortcut_conv_num_int,
+ fold_simplify_conv_int_num,
+ fold_simplify_conv_i64_num,
+ fold_simplify_conv_int_i64,
+ fold_simplify_conv_flt_num,
+ fold_simplify_tobit_conv,
+ fold_simplify_floor_conv,
+ fold_simplify_conv_sext,
+ fold_simplify_conv_narrow,
+ fold_cse_conv,
+ fold_narrow_convert,
+ fold_simplify_intadd_k,
+ fold_simplify_intmul_k,
+ fold_simplify_intsub_k,
+ fold_simplify_intsub_kleft,
+ fold_simplify_intadd_k64,
+ fold_simplify_intsub_k64,
+ fold_simplify_intmul_k32,
+ fold_simplify_intmul_k64,
+ fold_simplify_intmod_k,
+ fold_simplify_intmod_kleft,
+ fold_simplify_intsub,
+ fold_simplify_intsubadd_leftcancel,
+ fold_simplify_intsubsub_leftcancel,
+ fold_simplify_intsubsub_rightcancel,
+ fold_simplify_intsubadd_rightcancel,
+ fold_simplify_intsubaddadd_cancel,
+ fold_simplify_band_k,
+ fold_simplify_bor_k,
+ fold_simplify_bxor_k,
+ fold_simplify_shift_ik,
+ fold_simplify_shift_andk,
+ fold_simplify_shift1_ki,
+ fold_simplify_shift2_ki,
+ fold_simplify_shiftk_andk,
+ fold_simplify_andk_shiftk,
+ fold_simplify_andor_k,
+ fold_simplify_andor_k64,
+ fold_reassoc_intarith_k,
+ fold_reassoc_intarith_k64,
+ fold_reassoc_dup,
+ fold_reassoc_bxor,
+ fold_reassoc_shift,
+ fold_reassoc_minmax_k,
+ fold_reassoc_minmax_left,
+ fold_reassoc_minmax_right,
+ fold_abc_fwd,
+ fold_abc_k,
+ fold_abc_invar,
+ fold_comm_swap,
+ fold_comm_equal,
+ fold_comm_comp,
+ fold_comm_dup,
+ fold_comm_bxor,
+ fold_merge_eqne_snew_kgc,
+ lj_opt_fwd_aload,
+ fold_kfold_hload_kkptr,
+ lj_opt_fwd_hload,
+ lj_opt_fwd_uload,
+ lj_opt_fwd_tab_len,
+ fold_cse_uref,
+ lj_opt_fwd_hrefk,
+ fold_fwd_href_tnew,
+ fold_fwd_href_tdup,
+ fold_fload_tab_tnew_asize,
+ fold_fload_tab_tnew_hmask,
+ fold_fload_tab_tdup_asize,
+ fold_fload_tab_tdup_hmask,
+ fold_fload_tab_ah,
+ fold_fload_str_len_kgc,
+ fold_fload_str_len_snew,
+ fold_fload_str_len_tostr,
+ fold_fload_cdata_typeid_kgc,
+ fold_fload_cdata_int64_kgc,
+ fold_fload_cdata_typeid_cnew,
+ fold_fload_cdata_ptr_int64_cnew,
+ lj_opt_cse,
+ lj_opt_fwd_fload,
+ fold_fwd_sload,
+ fold_xload_kptr,
+ lj_opt_fwd_xload,
+ fold_barrier_tab,
+ fold_barrier_tnew_tdup,
+ fold_prof,
+ lj_opt_dse_ahstore,
+ lj_opt_dse_ustore,
+ lj_opt_dse_fstore,
+ lj_opt_dse_xstore,
+ lj_ir_emit
+};
+
+static const uint32_t fold_hash[950] = {
+0x5654a7ff,
+0x0d58741d,
+0x25b45ed4,
+0x5c45fc17,
+0x0e487417,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x4b6ffc17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x848bfc06,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x7307ffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x3111fc1b,
+0x5f4bfc21,
+0x1bc18c13,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x8c8bfc00,
+0xffffffff,
+0x4ab4aa6e,
+0x139c6817,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x4ab4a66e,
+0xffffffff,
+0xffffffff,
+0x06485c17,
+0x7bc1fc1e,
+0xffffffff,
+0x1dc18c0f,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x6744881d,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x1dc18c0b,
+0xffffffff,
+0x6544841d,
+0x0510701c,
+0x40b569d3,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x4e5477ff,
+0xffffffff,
+0xffffffff,
+0x0064701c,
+0x917bffff,
+0x48b4ae95,
+0xffffffff,
+0x0a145c17,
+0xffffffff,
+0x98a5ffff,
+0x47b5feb3,
+0x48b4aa95,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x0c44741d,
+0x06685c17,
+0x48b4a695,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x535bfc17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x3d56bc2f,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x31106018,
+0x4e545fff,
+0x0506701c,
+0xffffffff,
+0x3b57fc1c,
+0xffffffff,
+0xffffffff,
+0x7547ffff,
+0x29b4726e,
+0x604a77ff,
+0x6b66cc1c,
+0xffffffff,
+0x7171ffff,
+0xffffffff,
+0xffffffff,
+0x0a0a5c17,
+0xffffffff,
+0x979bffff,
+0x24b45e72,
+0x3110741d,
+0xffffffff,
+0xffffffff,
+0x8c8bfc10,
+0x98c5ffff,
+0xffffffff,
+0x065e5c17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x6a4a9417,
+0xffffffff,
+0xffffffff,
+0x5e51fc17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x604a5fff,
+0xffffffff,
+0x7213ffff,
+0x25b45eb4,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x624a8417,
+0x28b47695,
+0xffffffff,
+0x7467ffff,
+0xffffffff,
+0xffffffff,
+0x0a005c17,
+0x848bfc08,
+0x8c91ffff,
+0xffffffff,
+0x1106741d,
+0x036a73ff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x06545c17,
+0xffffffff,
+0xffffffff,
+0x5257fc1d,
+0x0d5a741d,
+0xffffffff,
+0xffffffff,
+0x5d47fc17,
+0x0e4a7417,
+0xffffffff,
+0x8c8bfc04,
+0xffffffff,
+0x4c71fc17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x7309ffff,
+0x8c8bfc11,
+0xffffffff,
+0xffffffff,
+0x466b6800,
+0xffffffff,
+0x3113fc1b,
+0x5f4dfc21,
+0x466b6802,
+0x3753fc2f,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x91b1ffff,
+0xffffffff,
+0xffffffff,
+0x064a5c17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x48b4ae75,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x67468c1d,
+0xffffffff,
+0x48b4aa75,
+0x848bfc09,
+0xffffffff,
+0x6656ac17,
+0x8a8b4c0e,
+0x878b7000,
+0x48b4a675,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x8a8b480e,
+0x0512701c,
+0x2fba6000,
+0x1cc18c16,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x7153ffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x0066701c,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x5b43fc1d,
+0x0c46741d,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x78866800,
+0x8c8bfc01,
+0xffffffff,
+0xffffffff,
+0x3e5dfc17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x3d58bc2f,
+0x6d69fc33,
+0xffffffff,
+0xffffffff,
+0x1dc18c0e,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x31126018,
+0x0508701c,
+0xffffffff,
+0xffffffff,
+0x3b59fc1c,
+0x6b68d01c,
+0xffffffff,
+0xffffffff,
+0x614c77ff,
+0xffffffff,
+0xffffffff,
+0x24b45e70,
+0x7f774416,
+0xffffffff,
+0x98a3fc00,
+0x0a0c5c17,
+0x1dc18c0a,
+0xffffffff,
+0xffffffff,
+0x3112741d,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x6a4c9817,
+0x28b47675,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x684287ff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x4b53fc17,
+0xffffffff,
+0x868b3800,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x614c5fff,
+0x6752a41d,
+0x7015ffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x0052701c,
+0x7469ffff,
+0xffffffff,
+0xffffffff,
+0x0a025c17,
+0xffffffff,
+0x9493ffff,
+0x898a600f,
+0x1108741d,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x15806017,
+0x06565c17,
+0x015e7045,
+0xffffffff,
+0xffffffff,
+0x63429417,
+0x0d5c741d,
+0xffffffff,
+0x5e49fc17,
+0x0e4c7417,
+0xffffffff,
+0x63429017,
+0x24b45e71,
+0x353e7c00,
+0x3011141b,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x149dfc17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x730bffff,
+0x64428817,
+0xffffffff,
+0x0f3e7400,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x66428417,
+0x5f4ffc21,
+0x3a55fc2f,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x8b8b4c10,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x064c5c17,
+0xffffffff,
+0x6f15fc17,
+0xffffffff,
+0x0c52741d,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x3954bc1c,
+0xffffffff,
+0x8f8c6bff,
+0x42b56ace,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x083e5c00,
+0xffffffff,
+0x3360c045,
+0x1bc18c14,
+0xffffffff,
+0x7301ffff,
+0x1f52681d,
+0x326ad400,
+0x3460bc45,
+0x326ad402,
+0x932bffff,
+0xffffffff,
+0x1f52641d,
+0xffffffff,
+0xffffffff,
+0x5555ffff,
+0xffffffff,
+0x7785fc00,
+0x1e52601d,
+0x0068701c,
+0x7f77441c,
+0xffffffff,
+0x91affc00,
+0xffffffff,
+0xffffffff,
+0x98a9ffff,
+0x828b4408,
+0xffffffff,
+0x06425c17,
+0x466b6801,
+0x0b0bfc17,
+0x5c45fc1d,
+0x808b4008,
+0x076c5c17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x7f774418,
+0xffffffff,
+0x5a54a429,
+0x1dc18c0c,
+0xffffffff,
+0xffffffff,
+0x8b8b4c11,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x22b45dd3,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x050a701c,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x614e77ff,
+0x44b569ae,
+0xffffffff,
+0x45b7681c,
+0x7d75ffff,
+0xffffffff,
+0xffffffff,
+0x0a0e5c17,
+0xffffffff,
+0x6a4e9c17,
+0x989fffff,
+0x1bc18c15,
+0xffffffff,
+0xffffffff,
+0x68448bff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x6d67fc34,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x4d55fc17,
+0x43b56a96,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x838b4409,
+0xffffffff,
+0x614e5fff,
+0x0500701c,
+0x9817ffff,
+0xffffffff,
+0x818b4009,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x624e8417,
+0xffffffff,
+0x0054701c,
+0xffffffff,
+0x1dc18c0d,
+0xffffffff,
+0x0a045c17,
+0xffffffff,
+0x9495ffff,
+0xffffffff,
+0x110a741d,
+0xffffffff,
+0xffffffff,
+0x98bfffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x01607045,
+0x41b56a8e,
+0xffffffff,
+0xffffffff,
+0x2053fc1a,
+0x35408000,
+0x5e4bfc17,
+0x1bc18c09,
+0x0e4e7417,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x3013141b,
+0xffffffff,
+0x25b45ed3,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x730dffff,
+0x66448817,
+0xffffffff,
+0x10407400,
+0xffffffff,
+0x42b56aae,
+0xffffffff,
+0x64448417,
+0x5f51fc21,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x31106fff,
+0xffffffff,
+0x8d8bffff,
+0xffffffff,
+0x1100741d,
+0xffffffff,
+0xffffffff,
+0x49b5ffff,
+0xffffffff,
+0xffffffff,
+0x064e5c17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x0c54741d,
+0x2db873ff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x3c56bc1c,
+0x888a600e,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x09405c00,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x7303ffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x7157ffff,
+0x6c66d3ff,
+0x98b20000,
+0x7987fc00,
+0x2eb85fff,
+0xffffffff,
+0x6866cfff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x19abffff,
+0xffffffff,
+0xffffffff,
+0x06445c17,
+0xffffffff,
+0xffffffff,
+0x5d47fc1d,
+0xffffffff,
+0x076e5c17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x02647017,
+0x858a6000,
+0xffffffff,
+0x5855fc2a,
+0xffffffff,
+0x545a5fff,
+0x050c701c,
+0xffffffff,
+0x27b475d6,
+0x43b56a76,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x615077ff,
+0xffffffff,
+0xffffffff,
+0x6a50a017,
+0x8477ffff,
+0xffffffff,
+0xffffffff,
+0x31105c17,
+0x69468fff,
+0x98a1ffff,
+0x326ad401,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x8c8bfc0f,
+0x5157fc17,
+0x6756ac1d,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x6b66cc17,
+0xffffffff,
+0xffffffff,
+0x41b56a6e,
+0xffffffff,
+0x7c7a63ff,
+0x61505fff,
+0x0502701c,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x7443ffff,
+0xffffffff,
+0x62508417,
+0xffffffff,
+0x0056701c,
+0x25b45eb3,
+0x716dffff,
+0xffffffff,
+0x0a065c17,
+0xffffffff,
+0x9597ffff,
+0xffffffff,
+0x110c741d,
+0xffffffff,
+0x92af4400,
+0x98c1ffff,
+0x2053fc18,
+0xffffffff,
+0x065a5c17,
+0x848bfc07,
+0x92af4000,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x5e4dfc17,
+0x0e507417,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x3652bfff,
+0x76113818,
+0xffffffff,
+0xffffffff,
+0x66468c17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x730fffff,
+0xffffffff,
+0xffffffff,
+0x43b56a95,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x898a6010,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x31126fff,
+0xffffffff,
+0x908dffff,
+0xffffffff,
+0x1102741d,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x06505c17,
+0xffffffff,
+0xffffffff,
+0x4f53fc1d,
+0x0c56741d,
+0x4ab6a81c,
+0xffffffff,
+0x5b43fc17,
+0xffffffff,
+0x3c58bc1c,
+0xffffffff,
+0x4ab6a41c,
+0x4b6dfc17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x48b4ae96,
+0x7305ffff,
+0x2cb472ce,
+0x2053fc19,
+0xffffffff,
+0xffffffff,
+0x48b4aa96,
+0xffffffff,
+0x5f49fc21,
+0x6e15fc29,
+0xffffffff,
+0x6868d3ff,
+0x48b4a696,
+0x7a89fc00,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x6c68cfff,
+0x3f5c73ff,
+0xffffffff,
+0xffffffff,
+0x1aadffff,
+0xffffffff,
+0xffffffff,
+0x06465c17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x07705c17,
+0xffffffff,
+0xffffffff,
+0x898a6011,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x6542881d,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x6742841d,
+0x050e701c,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x6652a417,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x0062701c,
+0x9879ffff,
+0xffffffff,
+0xffffffff,
+0x31125c17,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x24b45e6f,
+0x4ab4aaae,
+0x21b6701c,
+0xffffffff,
+0x0c42741d,
+0x06665c17,
+0xffffffff,
+0x4ab4a6ae,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x6b68d017,
+0x23b45dd4,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x355ebfff,
+0xffffffff,
+0x045c7017,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x7c7c63ff,
+0xffffffff,
+0x0504701c,
+0xffffffff,
+0x47b5fed3,
+0x3855fc1c,
+0xffffffff,
+0xffffffff,
+0x7445ffff,
+0x604877ff,
+0xffffffff,
+0xffffffff,
+0x0058701c,
+0x556fffff,
+0x18ab5056,
+0xffffffff,
+0x0a085c17,
+0x5955fc29,
+0x9699ffff,
+0x120bfc1d,
+0x110e741d,
+0x26b475d5,
+0x43b56a75,
+0x98c3ffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x5e4ffc17,
+0xffffffff,
+0xffffffff,
+0x6a489017,
+0x2ab4728e,
+0x16813bff,
+0x76133818,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x60485fff,
+0xffffffff,
+0x7211ffff,
+0xffffffff,
+0x8c8bfc0e,
+0xffffffff,
+0x17bd8c00,
+0x1f526817,
+0xffffffff,
+0x62488417,
+0xffffffff,
+0xffffffff,
+0xffffffff,
+0x1f526417,
+0xffffffff,
+0xffffffff,
+0x48b4ae76,
+0x8e8fffff,
+0x2bb472ae,
+0x1104741d,
+0x1e526017,
+0xffffffff,
+0x48b4aa76,
+0x5754abff,
+0xffffffff,
+0x06525c17,
+0x7e7743ff,
+0x8b8b4c0f,
+0x5055fc1d,
+0x48b4a676
+};
+
+#define fold_hashkey(k) (lj_rol(lj_rol((k),30)-(k),25)%949)
+
diff --git a/core/src/luajit/autogen/msys/jit/x86_64/lj_libdef.h b/core/src/luajit/autogen/msys/jit/x86_64/lj_libdef.h
new file mode 100644
index 000000000..2c9ec0605
--- /dev/null
+++ b/core/src/luajit/autogen/msys/jit/x86_64/lj_libdef.h
@@ -0,0 +1,420 @@
+/* This is a generated file. DO NOT EDIT! */
+
+#ifdef LJLIB_MODULE_base
+#undef LJLIB_MODULE_base
+static const lua_CFunction lj_lib_cf_base[] = {
+ lj_ffh_assert,
+ lj_ffh_next,
+ lj_ffh_pairs,
+ lj_ffh_ipairs_aux,
+ lj_ffh_ipairs,
+ lj_ffh_setmetatable,
+ lj_cf_getfenv,
+ lj_cf_setfenv,
+ lj_ffh_rawget,
+ lj_cf_rawset,
+ lj_cf_rawequal,
+ lj_cf_unpack,
+ lj_cf_select,
+ lj_ffh_tonumber,
+ lj_ffh_tostring,
+ lj_cf_error,
+ lj_ffh_pcall,
+ lj_cf_loadfile,
+ lj_cf_load,
+ lj_cf_loadstring,
+ lj_cf_dofile,
+ lj_cf_gcinfo,
+ lj_cf_collectgarbage,
+ lj_cf_newproxy,
+ lj_cf_print
+};
+static const uint8_t lj_lib_init_base[] = {
+2,0,28,70,97,115,115,101,114,116,195,110,105,108,199,98,111,111,108,101,97,
+110,252,1,200,117,115,101,114,100,97,116,97,198,115,116,114,105,110,103,197,
+117,112,118,97,108,198,116,104,114,101,97,100,197,112,114,111,116,111,200,102,
+117,110,99,116,105,111,110,197,116,114,97,99,101,197,99,100,97,116,97,197,116,
+97,98,108,101,252,9,198,110,117,109,98,101,114,132,116,121,112,101,68,110,101,
+120,116,253,69,112,97,105,114,115,64,253,70,105,112,97,105,114,115,140,103,
+101,116,109,101,116,97,116,97,98,108,101,76,115,101,116,109,101,116,97,116,
+97,98,108,101,7,103,101,116,102,101,110,118,7,115,101,116,102,101,110,118,70,
+114,97,119,103,101,116,6,114,97,119,115,101,116,8,114,97,119,101,113,117,97,
+108,6,117,110,112,97,99,107,6,115,101,108,101,99,116,72,116,111,110,117,109,
+98,101,114,72,116,111,115,116,114,105,110,103,5,101,114,114,111,114,69,112,
+99,97,108,108,134,120,112,99,97,108,108,8,108,111,97,100,102,105,108,101,4,
+108,111,97,100,10,108,111,97,100,115,116,114,105,110,103,6,100,111,102,105,
+108,101,6,103,99,105,110,102,111,14,99,111,108,108,101,99,116,103,97,114,98,
+97,103,101,252,2,8,110,101,119,112,114,111,120,121,200,116,111,115,116,114,
+105,110,103,5,112,114,105,110,116,252,3,200,95,86,69,82,83,73,79,78,250,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_coroutine
+#undef LJLIB_MODULE_coroutine
+static const lua_CFunction lj_lib_cf_coroutine[] = {
+ lj_cf_coroutine_status,
+ lj_cf_coroutine_running,
+ lj_cf_coroutine_isyieldable,
+ lj_cf_coroutine_create,
+ lj_ffh_coroutine_yield,
+ lj_ffh_coroutine_resume,
+ lj_cf_coroutine_wrap
+};
+static const uint8_t lj_lib_init_coroutine[] = {
+30,13,7,6,115,116,97,116,117,115,7,114,117,110,110,105,110,103,11,105,115,121,
+105,101,108,100,97,98,108,101,6,99,114,101,97,116,101,69,121,105,101,108,100,
+70,114,101,115,117,109,101,254,4,119,114,97,112,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_math
+#undef LJLIB_MODULE_math
+static const lua_CFunction lj_lib_cf_math[] = {
+ lj_ffh_math_abs,
+ lj_ffh_math_sqrt,
+ lj_ffh_math_log,
+ lj_ffh_math_atan2,
+ lj_ffh_math_ldexp,
+ lj_ffh_math_min,
+ lj_cf_math_random,
+ lj_cf_math_randomseed
+};
+static const uint8_t lj_lib_init_math[] = {
+38,16,30,67,97,98,115,133,102,108,111,111,114,132,99,101,105,108,68,115,113,
+114,116,133,108,111,103,49,48,131,101,120,112,131,115,105,110,131,99,111,115,
+131,116,97,110,132,97,115,105,110,132,97,99,111,115,132,97,116,97,110,132,115,
+105,110,104,132,99,111,115,104,132,116,97,110,104,133,102,114,101,120,112,132,
+109,111,100,102,67,108,111,103,249,3,100,101,103,0,1,2,0,0,1,2,24,1,0,0,76,
+1,2,0,241,135,158,166,3,220,203,178,130,4,249,3,114,97,100,0,1,2,0,0,1,2,24,
+1,0,0,76,1,2,0,243,244,148,165,20,198,190,199,252,3,69,97,116,97,110,50,131,
+112,111,119,132,102,109,111,100,69,108,100,101,120,112,67,109,105,110,131,109,
+97,120,251,24,45,68,84,251,33,9,64,194,112,105,250,251,0,0,0,0,0,0,240,127,
+196,104,117,103,101,250,252,2,6,114,97,110,100,111,109,252,2,10,114,97,110,
+100,111,109,115,101,101,100,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_bit
+#undef LJLIB_MODULE_bit
+static const lua_CFunction lj_lib_cf_bit[] = {
+ lj_ffh_bit_tobit,
+ lj_ffh_bit_bnot,
+ lj_ffh_bit_bswap,
+ lj_ffh_bit_lshift,
+ lj_ffh_bit_band,
+ lj_cf_bit_tohex
+};
+static const uint8_t lj_lib_init_bit[] = {
+64,40,12,69,116,111,98,105,116,68,98,110,111,116,69,98,115,119,97,112,70,108,
+115,104,105,102,116,134,114,115,104,105,102,116,135,97,114,115,104,105,102,
+116,131,114,111,108,131,114,111,114,68,98,97,110,100,131,98,111,114,132,98,
+120,111,114,5,116,111,104,101,120,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_string
+#undef LJLIB_MODULE_string
+static const lua_CFunction lj_lib_cf_string[] = {
+ lj_ffh_string_byte,
+ lj_ffh_string_char,
+ lj_ffh_string_sub,
+ lj_cf_string_rep,
+ lj_ffh_string_reverse,
+ lj_cf_string_dump,
+ lj_cf_string_find,
+ lj_cf_string_match,
+ lj_cf_string_gmatch,
+ lj_cf_string_gsub,
+ lj_cf_string_format
+};
+static const uint8_t lj_lib_init_string[] = {
+76,51,14,249,3,108,101,110,0,1,2,0,0,0,3,16,0,5,0,21,1,0,0,76,1,2,0,68,98,121,
+116,101,68,99,104,97,114,67,115,117,98,3,114,101,112,71,114,101,118,101,114,
+115,101,133,108,111,119,101,114,133,117,112,112,101,114,4,100,117,109,112,4,
+102,105,110,100,5,109,97,116,99,104,254,6,103,109,97,116,99,104,4,103,115,117,
+98,6,102,111,114,109,97,116,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_table
+#undef LJLIB_MODULE_table
+static const lua_CFunction lj_lib_cf_table[] = {
+ lj_cf_table_maxn,
+ lj_cf_table_insert,
+ lj_cf_table_concat,
+ lj_cf_table_sort
+};
+static const uint8_t lj_lib_init_table[] = {
+90,57,9,249,8,102,111,114,101,97,99,104,105,0,2,9,0,0,0,15,16,0,12,0,16,1,9,
+0,41,2,1,0,21,3,0,0,41,4,1,0,77,2,8,128,18,6,1,0,18,7,5,0,59,8,5,0,66,6,3,2,
+10,6,0,0,88,7,1,128,76,6,2,0,79,2,248,127,75,0,1,0,249,7,102,111,114,101,97,
+99,104,0,2,10,0,0,0,16,16,0,12,0,16,1,9,0,43,2,0,0,18,3,0,0,41,4,0,0,88,5,7,
+128,18,7,1,0,18,8,5,0,18,9,6,0,66,7,3,2,10,7,0,0,88,8,1,128,76,7,2,0,70,5,3,
+3,82,5,247,127,75,0,1,0,249,4,103,101,116,110,0,1,2,0,0,0,3,16,0,12,0,21,1,
+0,0,76,1,2,0,4,109,97,120,110,6,105,110,115,101,114,116,249,6,114,101,109,111,
+118,101,0,2,10,0,0,2,30,16,0,12,0,21,2,0,0,11,1,0,0,88,3,7,128,8,2,0,0,88,3,
+23,128,59,3,2,0,43,4,0,0,64,4,2,0,76,3,2,0,88,3,18,128,17,1,15,0,41,3,1,0,3,
+3,1,0,88,3,14,128,3,1,2,0,88,3,12,128,59,3,1,0,22,4,1,1,18,5,2,0,41,6,1,0,77,
+4,4,128,23,8,1,7,59,9,7,0,64,9,8,0,79,4,252,127,43,4,0,0,64,4,2,0,76,3,2,0,
+75,0,1,0,0,2,249,4,109,111,118,101,0,5,12,0,0,0,35,16,0,12,0,17,1,15,0,17,2,
+15,0,17,3,15,0,11,4,0,0,88,5,1,128,18,4,0,0,16,4,12,0,3,1,2,0,88,5,24,128,33,
+5,1,3,0,2,3,0,88,6,4,128,2,3,1,0,88,6,2,128,4,4,0,0,88,6,9,128,18,6,1,0,18,
+7,2,0,41,8,1,0,77,6,4,128,32,10,5,9,59,11,9,0,64,11,10,4,79,6,252,127,88,6,
+8,128,18,6,2,0,18,7,1,0,41,8,255,255,77,6,4,128,32,10,5,9,59,11,9,0,64,11,10,
+4,79,6,252,127,76,4,2,0,6,99,111,110,99,97,116,4,115,111,114,116,254,254,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_io_method
+#undef LJLIB_MODULE_io_method
+static const lua_CFunction lj_lib_cf_io_method[] = {
+ lj_cf_io_method_close,
+ lj_cf_io_method_read,
+ lj_cf_io_method_write,
+ lj_cf_io_method_flush,
+ lj_cf_io_method_seek,
+ lj_cf_io_method_setvbuf,
+ lj_cf_io_method_lines,
+ lj_cf_io_method___gc,
+ lj_cf_io_method___tostring
+};
+static const uint8_t lj_lib_init_io_method[] = {
+96,57,10,5,99,108,111,115,101,4,114,101,97,100,5,119,114,105,116,101,5,102,
+108,117,115,104,4,115,101,101,107,7,115,101,116,118,98,117,102,5,108,105,110,
+101,115,4,95,95,103,99,10,95,95,116,111,115,116,114,105,110,103,252,1,199,95,
+95,105,110,100,101,120,250,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_io
+#undef LJLIB_MODULE_io
+static const lua_CFunction lj_lib_cf_io[] = {
+ lj_cf_io_open,
+ lj_cf_io_popen,
+ lj_cf_io_tmpfile,
+ lj_cf_io_close,
+ lj_cf_io_read,
+ lj_cf_io_write,
+ lj_cf_io_flush,
+ lj_cf_io_input,
+ lj_cf_io_output,
+ lj_cf_io_lines,
+ lj_cf_io_type
+};
+static const uint8_t lj_lib_init_io[] = {
+105,57,12,252,2,192,250,4,111,112,101,110,5,112,111,112,101,110,7,116,109,112,
+102,105,108,101,5,99,108,111,115,101,4,114,101,97,100,5,119,114,105,116,101,
+5,102,108,117,115,104,5,105,110,112,117,116,6,111,117,116,112,117,116,5,108,
+105,110,101,115,4,116,121,112,101,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_os
+#undef LJLIB_MODULE_os
+static const lua_CFunction lj_lib_cf_os[] = {
+ lj_cf_os_execute,
+ lj_cf_os_remove,
+ lj_cf_os_rename,
+ lj_cf_os_tmpname,
+ lj_cf_os_getenv,
+ lj_cf_os_exit,
+ lj_cf_os_clock,
+ lj_cf_os_date,
+ lj_cf_os_time,
+ lj_cf_os_difftime,
+ lj_cf_os_setlocale
+};
+static const uint8_t lj_lib_init_os[] = {
+116,57,11,7,101,120,101,99,117,116,101,6,114,101,109,111,118,101,6,114,101,
+110,97,109,101,7,116,109,112,110,97,109,101,6,103,101,116,101,110,118,4,101,
+120,105,116,5,99,108,111,99,107,4,100,97,116,101,4,116,105,109,101,8,100,105,
+102,102,116,105,109,101,9,115,101,116,108,111,99,97,108,101,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_debug
+#undef LJLIB_MODULE_debug
+static const lua_CFunction lj_lib_cf_debug[] = {
+ lj_cf_debug_getregistry,
+ lj_cf_debug_getmetatable,
+ lj_cf_debug_setmetatable,
+ lj_cf_debug_getfenv,
+ lj_cf_debug_setfenv,
+ lj_cf_debug_getinfo,
+ lj_cf_debug_getlocal,
+ lj_cf_debug_setlocal,
+ lj_cf_debug_getupvalue,
+ lj_cf_debug_setupvalue,
+ lj_cf_debug_upvalueid,
+ lj_cf_debug_upvaluejoin,
+ lj_cf_debug_sethook,
+ lj_cf_debug_gethook,
+ lj_cf_debug_debug,
+ lj_cf_debug_traceback
+};
+static const uint8_t lj_lib_init_debug[] = {
+127,57,16,11,103,101,116,114,101,103,105,115,116,114,121,12,103,101,116,109,
+101,116,97,116,97,98,108,101,12,115,101,116,109,101,116,97,116,97,98,108,101,
+7,103,101,116,102,101,110,118,7,115,101,116,102,101,110,118,7,103,101,116,105,
+110,102,111,8,103,101,116,108,111,99,97,108,8,115,101,116,108,111,99,97,108,
+10,103,101,116,117,112,118,97,108,117,101,10,115,101,116,117,112,118,97,108,
+117,101,9,117,112,118,97,108,117,101,105,100,11,117,112,118,97,108,117,101,
+106,111,105,110,7,115,101,116,104,111,111,107,7,103,101,116,104,111,111,107,
+5,100,101,98,117,103,9,116,114,97,99,101,98,97,99,107,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_jit
+#undef LJLIB_MODULE_jit
+static const lua_CFunction lj_lib_cf_jit[] = {
+ lj_cf_jit_on,
+ lj_cf_jit_off,
+ lj_cf_jit_flush,
+ lj_cf_jit_status,
+ lj_cf_jit_attach
+};
+static const uint8_t lj_lib_init_jit[] = {
+143,57,9,2,111,110,3,111,102,102,5,102,108,117,115,104,6,115,116,97,116,117,
+115,6,97,116,116,97,99,104,252,5,194,111,115,250,252,4,196,97,114,99,104,250,
+252,3,203,118,101,114,115,105,111,110,95,110,117,109,250,252,2,199,118,101,
+114,115,105,111,110,250,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_jit_util
+#undef LJLIB_MODULE_jit_util
+static const lua_CFunction lj_lib_cf_jit_util[] = {
+ lj_cf_jit_util_funcinfo,
+ lj_cf_jit_util_funcbc,
+ lj_cf_jit_util_funck,
+ lj_cf_jit_util_funcuvname,
+ lj_cf_jit_util_traceinfo,
+ lj_cf_jit_util_traceir,
+ lj_cf_jit_util_tracek,
+ lj_cf_jit_util_tracesnap,
+ lj_cf_jit_util_tracemc,
+ lj_cf_jit_util_traceexitstub,
+ lj_cf_jit_util_ircalladdr
+};
+static const uint8_t lj_lib_init_jit_util[] = {
+148,57,11,8,102,117,110,99,105,110,102,111,6,102,117,110,99,98,99,5,102,117,
+110,99,107,10,102,117,110,99,117,118,110,97,109,101,9,116,114,97,99,101,105,
+110,102,111,7,116,114,97,99,101,105,114,6,116,114,97,99,101,107,9,116,114,97,
+99,101,115,110,97,112,7,116,114,97,99,101,109,99,13,116,114,97,99,101,101,120,
+105,116,115,116,117,98,10,105,114,99,97,108,108,97,100,100,114,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_jit_opt
+#undef LJLIB_MODULE_jit_opt
+static const lua_CFunction lj_lib_cf_jit_opt[] = {
+ lj_cf_jit_opt_start
+};
+static const uint8_t lj_lib_init_jit_opt[] = {
+159,57,1,5,115,116,97,114,116,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_jit_profile
+#undef LJLIB_MODULE_jit_profile
+static const lua_CFunction lj_lib_cf_jit_profile[] = {
+ lj_cf_jit_profile_start,
+ lj_cf_jit_profile_stop,
+ lj_cf_jit_profile_dumpstack
+};
+static const uint8_t lj_lib_init_jit_profile[] = {
+160,57,3,5,115,116,97,114,116,4,115,116,111,112,9,100,117,109,112,115,116,97,
+99,107,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_ffi_meta
+#undef LJLIB_MODULE_ffi_meta
+static const lua_CFunction lj_lib_cf_ffi_meta[] = {
+ lj_cf_ffi_meta___index,
+ lj_cf_ffi_meta___newindex,
+ lj_cf_ffi_meta___eq,
+ lj_cf_ffi_meta___len,
+ lj_cf_ffi_meta___lt,
+ lj_cf_ffi_meta___le,
+ lj_cf_ffi_meta___concat,
+ lj_cf_ffi_meta___call,
+ lj_cf_ffi_meta___add,
+ lj_cf_ffi_meta___sub,
+ lj_cf_ffi_meta___mul,
+ lj_cf_ffi_meta___div,
+ lj_cf_ffi_meta___mod,
+ lj_cf_ffi_meta___pow,
+ lj_cf_ffi_meta___unm,
+ lj_cf_ffi_meta___tostring,
+ lj_cf_ffi_meta___pairs,
+ lj_cf_ffi_meta___ipairs
+};
+static const uint8_t lj_lib_init_ffi_meta[] = {
+163,57,19,7,95,95,105,110,100,101,120,10,95,95,110,101,119,105,110,100,101,
+120,4,95,95,101,113,5,95,95,108,101,110,4,95,95,108,116,4,95,95,108,101,8,95,
+95,99,111,110,99,97,116,6,95,95,99,97,108,108,5,95,95,97,100,100,5,95,95,115,
+117,98,5,95,95,109,117,108,5,95,95,100,105,118,5,95,95,109,111,100,5,95,95,
+112,111,119,5,95,95,117,110,109,10,95,95,116,111,115,116,114,105,110,103,7,
+95,95,112,97,105,114,115,8,95,95,105,112,97,105,114,115,195,102,102,105,203,
+95,95,109,101,116,97,116,97,98,108,101,250,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_ffi_clib
+#undef LJLIB_MODULE_ffi_clib
+static const lua_CFunction lj_lib_cf_ffi_clib[] = {
+ lj_cf_ffi_clib___index,
+ lj_cf_ffi_clib___newindex,
+ lj_cf_ffi_clib___gc
+};
+static const uint8_t lj_lib_init_ffi_clib[] = {
+181,57,3,7,95,95,105,110,100,101,120,10,95,95,110,101,119,105,110,100,101,120,
+4,95,95,103,99,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_ffi_callback
+#undef LJLIB_MODULE_ffi_callback
+static const lua_CFunction lj_lib_cf_ffi_callback[] = {
+ lj_cf_ffi_callback_free,
+ lj_cf_ffi_callback_set
+};
+static const uint8_t lj_lib_init_ffi_callback[] = {
+184,57,3,4,102,114,101,101,3,115,101,116,252,1,199,95,95,105,110,100,101,120,
+250,255
+};
+#endif
+
+#ifdef LJLIB_MODULE_ffi
+#undef LJLIB_MODULE_ffi
+static const lua_CFunction lj_lib_cf_ffi[] = {
+ lj_cf_ffi_cdef,
+ lj_cf_ffi_new,
+ lj_cf_ffi_cast,
+ lj_cf_ffi_typeof,
+ lj_cf_ffi_typeinfo,
+ lj_cf_ffi_istype,
+ lj_cf_ffi_sizeof,
+ lj_cf_ffi_alignof,
+ lj_cf_ffi_offsetof,
+ lj_cf_ffi_errno,
+ lj_cf_ffi_string,
+ lj_cf_ffi_copy,
+ lj_cf_ffi_fill,
+ lj_cf_ffi_abi,
+ lj_cf_ffi_metatype,
+ lj_cf_ffi_gc,
+ lj_cf_ffi_load
+};
+static const uint8_t lj_lib_init_ffi[] = {
+186,57,23,4,99,100,101,102,3,110,101,119,4,99,97,115,116,6,116,121,112,101,
+111,102,8,116,121,112,101,105,110,102,111,6,105,115,116,121,112,101,6,115,105,
+122,101,111,102,7,97,108,105,103,110,111,102,8,111,102,102,115,101,116,111,
+102,5,101,114,114,110,111,6,115,116,114,105,110,103,4,99,111,112,121,4,102,
+105,108,108,3,97,98,105,252,8,192,250,8,109,101,116,97,116,121,112,101,252,
+7,192,250,2,103,99,252,5,192,250,4,108,111,97,100,252,4,193,67,250,252,3,194,
+111,115,250,252,2,196,97,114,99,104,250,255
+};
+#endif
+
diff --git a/core/src/luajit/autogen/msys/jit/x86_64/lj_recdef.h b/core/src/luajit/autogen/msys/jit/x86_64/lj_recdef.h
new file mode 100644
index 000000000..8c76176bb
--- /dev/null
+++ b/core/src/luajit/autogen/msys/jit/x86_64/lj_recdef.h
@@ -0,0 +1,271 @@
+/* This is a generated file. DO NOT EDIT! */
+
+static const uint16_t recff_idmap[] = {
+0,
+0x0100,
+0x0200,
+0x0300,
+0,
+0x0400+(0),
+0x0500,
+0x0400+(1),
+0x0600,
+0x0700,
+0x0800,
+0,
+0x0900,
+0x0a00,
+0x0b00,
+0,
+0x0c00,
+0x0d00,
+0x0e00,
+0,
+0x0f00,
+0x1000,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0x1100,
+0x1200+(IRFPM_FLOOR),
+0x1200+(IRFPM_CEIL),
+0x1300+(IRFPM_SQRT),
+0x1300+(IRFPM_LOG10),
+0x1300+(IRFPM_EXP),
+0x1300+(IRFPM_SIN),
+0x1300+(IRFPM_COS),
+0x1300+(IRFPM_TAN),
+0x1400+(FF_math_asin),
+0x1400+(FF_math_acos),
+0x1400+(FF_math_atan),
+0x1500+(IRCALL_sinh),
+0x1500+(IRCALL_cosh),
+0x1500+(IRCALL_tanh),
+0,
+0x1600,
+0x1700,
+0x1800,
+0x1900,
+0,
+0x1a00,
+0x1b00+(IR_MIN),
+0x1b00+(IR_MAX),
+0x1c00,
+0,
+0x1d00,
+0x1e00+(IR_BNOT),
+0x1e00+(IR_BSWAP),
+0x1f00+(IR_BSHL),
+0x1f00+(IR_BSHR),
+0x1f00+(IR_BSAR),
+0x1f00+(IR_BROL),
+0x1f00+(IR_BROR),
+0x2000+(IR_BAND),
+0x2000+(IR_BOR),
+0x2000+(IR_BXOR),
+0x2100,
+0x2200+(0),
+0x2300,
+0x2200+(1),
+0x2400,
+0x2500+(IRCALL_lj_buf_putstr_reverse),
+0x2500+(IRCALL_lj_buf_putstr_lower),
+0x2500+(IRCALL_lj_buf_putstr_upper),
+0,
+0x2600,
+0,
+0,
+0,
+0,
+0x2700,
+0,
+0x2800,
+0x2900,
+0,
+0x2a00,
+0x2b00,
+0,
+0,
+0x2c00+(0),
+0x2d00+(0),
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0x2c00+(GCROOT_IO_OUTPUT),
+0x2d00+(GCROOT_IO_OUTPUT),
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0x2e00,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0x2f00+(0),
+0x2f00+(1),
+0x3000+(MM_eq),
+0x3000+(MM_len),
+0x3000+(MM_lt),
+0x3000+(MM_le),
+0x3000+(MM_concat),
+0x3100,
+0x3000+(MM_add),
+0x3000+(MM_sub),
+0x3000+(MM_mul),
+0x3000+(MM_div),
+0x3000+(MM_mod),
+0x3000+(MM_pow),
+0x3000+(MM_unm),
+0,
+0,
+0,
+0x3200+(1),
+0x3200+(0),
+0,
+0,
+0,
+0,
+0x3300,
+0x3300,
+0x3400,
+0,
+0x3500,
+0x3600+(FF_ffi_sizeof),
+0x3600+(FF_ffi_alignof),
+0x3600+(FF_ffi_offsetof),
+0x3700,
+0x3800,
+0x3900,
+0x3a00,
+0x3b00,
+0,
+0x3c00
+};
+
+static const RecordFunc recff_func[] = {
+recff_nyi,
+recff_c,
+recff_assert,
+recff_type,
+recff_xpairs,
+recff_ipairs_aux,
+recff_getmetatable,
+recff_setmetatable,
+recff_getfenv,
+recff_rawget,
+recff_rawset,
+recff_rawequal,
+recff_select,
+recff_tonumber,
+recff_tostring,
+recff_pcall,
+recff_xpcall,
+recff_math_abs,
+recff_math_round,
+recff_math_unary,
+recff_math_atrig,
+recff_math_htrig,
+recff_math_modf,
+recff_math_log,
+recff_math_atan2,
+recff_math_pow,
+recff_math_ldexp,
+recff_math_minmax,
+recff_math_random,
+recff_bit_tobit,
+recff_bit_unary,
+recff_bit_shift,
+recff_bit_nary,
+recff_bit_tohex,
+recff_string_range,
+recff_string_char,
+recff_string_rep,
+recff_string_op,
+recff_string_find,
+recff_string_format,
+recff_table_insert,
+recff_table_concat,
+recff_table_new,
+recff_table_clear,
+recff_io_write,
+recff_io_flush,
+recff_debug_getmetatable,
+recff_cdata_index,
+recff_cdata_arith,
+recff_cdata_call,
+recff_clib_index,
+recff_ffi_new,
+recff_ffi_typeof,
+recff_ffi_istype,
+recff_ffi_xof,
+recff_ffi_errno,
+recff_ffi_string,
+recff_ffi_copy,
+recff_ffi_fill,
+recff_ffi_abi,
+recff_ffi_gc
+};
+
diff --git a/core/src/luajit/makefile b/core/src/luajit/makefile
index d6dbcfa27..e83a710fd 100644
--- a/core/src/luajit/makefile
+++ b/core/src/luajit/makefile
@@ -79,18 +79,24 @@ luajit_C_FILES += \
luajit/src/lj_profile
# asm files
+iswin =
ifeq ($(PLAT),windows)
-luajit_OBJ_FILES += \
- autogen/$(PLAT)/$(luajit_JIT)/$(ARCH)/lj_vm
-else
-ifeq ($(PLAT),mingw)
+ iswin = yes
+endif
+ifeq ($(PLAT),msys)
+ iswin = yes
+endif
+ifeq ($(PLAT),cygwin)
+ iswin = yes
+endif
+
+ifdef iswin
luajit_OBJ_FILES += \
autogen/$(PLAT)/$(luajit_JIT)/$(ARCH)/lj_vm
else
luajit_ASM_FILES += \
autogen/$(PLAT)/$(luajit_JIT)/$(ARCH)/lj_vm
endif
-endif
# includes
luajit_INC_DIRS += \
diff --git a/core/src/luajit/xmake.lua b/core/src/luajit/xmake.lua
index d0aea2473..a26b11e67 100644
--- a/core/src/luajit/xmake.lua
+++ b/core/src/luajit/xmake.lua
@@ -29,7 +29,7 @@ target("luajit")
-- add the common source files
add_files("luajit/src/*.c|ljamalg.c|luajit.c")
- if is_plat("windows") then
+ if is_plat("windows", "msys", "cygwin") then
add_files(autogendir .. "/lj_vm.obj")
else
add_files(autogendir .. "/*.S")
diff --git a/core/src/tbox/inc/mingw/tbox.config.h b/core/src/tbox/inc/cygwin/tbox.config.h
index b59348bba..69ad5d300 100755
--- a/core/src/tbox/inc/mingw/tbox.config.h
+++ b/core/src/tbox/inc/cygwin/tbox.config.h
@@ -171,8 +171,8 @@
#define TB_CONFIG_POSIX_HAVE_POSIX_SPAWNP 1
#define TB_CONFIG_POSIX_HAVE_EXECVP 1
#define TB_CONFIG_POSIX_HAVE_EXECVPE 1
-/* #undef TB_CONFIG_POSIX_HAVE_FORK */
-/* #undef TB_CONFIG_POSIX_HAVE_VFORK */
+#define TB_CONFIG_POSIX_HAVE_FORK 1
+#define TB_CONFIG_POSIX_HAVE_VFORK 1
#define TB_CONFIG_POSIX_HAVE_WAITPID 1
/* #undef TB_CONFIG_POSIX_HAVE_GETDTABLESIZE */
/* #undef TB_CONFIG_POSIX_HAVE_GETRLIMIT */
diff --git a/core/src/tbox/inc/msys/tbox.config.h b/core/src/tbox/inc/msys/tbox.config.h
new file mode 100755
index 000000000..69ad5d300
--- /dev/null
+++ b/core/src/tbox/inc/msys/tbox.config.h
@@ -0,0 +1,229 @@
+#ifndef TB_CONFIG_H
+#define TB_CONFIG_H
+
+// version
+#define TB_CONFIG_VERSION "1.6.4"
+#define TB_CONFIG_VERSION_MAJOR 1
+#define TB_CONFIG_VERSION_MINOR 6
+#define TB_CONFIG_VERSION_ALTER 4
+#define TB_CONFIG_VERSION_BUILD 202002101417
+
+// defines
+#define TB_CONFIG_OS_WINDOWS 1
+#define _GNU_SOURCE 1
+#define _REENTRANT 1
+#define TB_CONFIG_SMALL 1
+/* #undef TB_CONFIG_MICRO_ENABLE */
+/* #undef TB_CONFIG_TYPE_HAVE_WCHAR */
+#define TB_CONFIG_TYPE_HAVE_FLOAT 1
+#define TB_CONFIG_FORCE_UTF8 1
+/* #undef TB_CONFIG_API_HAVE_DEPRECATED */
+/* #undef TB_CONFIG_EXCEPTION_ENABLE */
+
+// keywords
+#define TB_CONFIG_KEYWORD_HAVE__thread 1
+#define TB_CONFIG_KEYWORD_HAVE_Thread_local 1
+
+// features
+#define TB_CONFIG_FEATURE_HAVE_ANONYMOUS_UNION 1
+
+// modules
+/* #undef TB_CONFIG_MODULE_HAVE_XML */
+/* #undef TB_CONFIG_MODULE_HAVE_ZIP */
+#define TB_CONFIG_MODULE_HAVE_HASH 1
+/* #undef TB_CONFIG_MODULE_HAVE_REGEX */
+/* #undef TB_CONFIG_MODULE_HAVE_OBJECT */
+#define TB_CONFIG_MODULE_HAVE_CHARSET 1
+/* #undef TB_CONFIG_MODULE_HAVE_DATABASE */
+/* #undef TB_CONFIG_MODULE_HAVE_COROUTINE */
+
+// packages
+/* #undef TB_CONFIG_PACKAGE_HAVE_ZLIB */
+/* #undef TB_CONFIG_PACKAGE_HAVE_MYSQL */
+/* #undef TB_CONFIG_PACKAGE_HAVE_SQLITE3 */
+/* #undef TB_CONFIG_PACKAGE_HAVE_OPENSSL */
+/* #undef TB_CONFIG_PACKAGE_HAVE_POLARSSL */
+/* #undef TB_CONFIG_PACKAGE_HAVE_MBEDTLS */
+/* #undef TB_CONFIG_PACKAGE_HAVE_PCRE2 */
+/* #undef TB_CONFIG_PACKAGE_HAVE_PCRE */
+
+// libc functions
+#define TB_CONFIG_LIBC_HAVE_MEMCPY 1
+#define TB_CONFIG_LIBC_HAVE_MEMSET 1
+#define TB_CONFIG_LIBC_HAVE_MEMMOVE 1
+#define TB_CONFIG_LIBC_HAVE_MEMCMP 1
+/* #undef TB_CONFIG_LIBC_HAVE_MEMMEM */
+#define TB_CONFIG_LIBC_HAVE_STRCAT 1
+#define TB_CONFIG_LIBC_HAVE_STRNCAT 1
+#define TB_CONFIG_LIBC_HAVE_STRCPY 1
+#define TB_CONFIG_LIBC_HAVE_STRNCPY 1
+/* #undef TB_CONFIG_LIBC_HAVE_STRLCPY */
+#define TB_CONFIG_LIBC_HAVE_STRLEN 1
+#define TB_CONFIG_LIBC_HAVE_STRNLEN 1
+#define TB_CONFIG_LIBC_HAVE_STRCHR 1
+#define TB_CONFIG_LIBC_HAVE_STRRCHR 1
+#define TB_CONFIG_LIBC_HAVE_STRSTR 1
+/* #undef TB_CONFIG_LIBC_HAVE_STRCASESTR */
+#define TB_CONFIG_LIBC_HAVE_STRCMP 1
+#define TB_CONFIG_LIBC_HAVE_STRCASECMP 1
+#define TB_CONFIG_LIBC_HAVE_STRNCMP 1
+#define TB_CONFIG_LIBC_HAVE_STRNCASECMP 1
+
+#define TB_CONFIG_LIBC_HAVE_WCSCAT 1
+#define TB_CONFIG_LIBC_HAVE_WCSNCAT 1
+#define TB_CONFIG_LIBC_HAVE_WCSCPY 1
+#define TB_CONFIG_LIBC_HAVE_WCSNCPY 1
+/* #undef TB_CONFIG_LIBC_HAVE_WCSLCPY */
+#define TB_CONFIG_LIBC_HAVE_WCSLEN 1
+#define TB_CONFIG_LIBC_HAVE_WCSNLEN 1
+#define TB_CONFIG_LIBC_HAVE_WCSSTR 1
+/* #undef TB_CONFIG_LIBC_HAVE_WCSCASESTR */
+#define TB_CONFIG_LIBC_HAVE_WCSCMP 1
+/* #undef TB_CONFIG_LIBC_HAVE_WCSCASECMP */
+#define TB_CONFIG_LIBC_HAVE_WCSNCMP 1
+/* #undef TB_CONFIG_LIBC_HAVE_WCSNCASECMP */
+#define TB_CONFIG_LIBC_HAVE_WCSTOMBS 1
+#define TB_CONFIG_LIBC_HAVE_MBSTOWCS 1
+
+#define TB_CONFIG_LIBC_HAVE_GMTIME 1
+#define TB_CONFIG_LIBC_HAVE_MKTIME 1
+#define TB_CONFIG_LIBC_HAVE_LOCALTIME 1
+#define TB_CONFIG_LIBC_HAVE_GETTIMEOFDAY 1
+#define TB_CONFIG_LIBC_HAVE_SIGNAL 1
+/* #undef TB_CONFIG_LIBC_HAVE_SETJMP */
+/* #undef TB_CONFIG_LIBC_HAVE_SIGSETJMP */
+/* #undef TB_CONFIG_LIBC_HAVE_KILL */
+/* #undef TB_CONFIG_LIBC_HAVE_BACKTRACE */
+#define TB_CONFIG_LIBC_HAVE_SETLOCALE 1
+#define TB_CONFIG_LIBC_HAVE_FPUTC 1
+#define TB_CONFIG_LIBC_HAVE_FGETC 1
+#define TB_CONFIG_LIBC_HAVE_UNGETC 1
+#define TB_CONFIG_LIBC_HAVE_FPUTS 1
+#define TB_CONFIG_LIBC_HAVE_FGETS 1
+#define TB_CONFIG_LIBC_HAVE_FREAD 1
+#define TB_CONFIG_LIBC_HAVE_FWRITE 1
+/* #undef TB_CONFIG_LIBC_HAVE_SRANDOM */
+/* #undef TB_CONFIG_LIBC_HAVE_RANDOM */
+
+// libm functions
+#define TB_CONFIG_LIBM_HAVE_SINCOS 1
+#define TB_CONFIG_LIBM_HAVE_SINCOSF 1
+#define TB_CONFIG_LIBM_HAVE_LOG2 1
+#define TB_CONFIG_LIBM_HAVE_LOG2F 1
+#define TB_CONFIG_LIBM_HAVE_SQRT 1
+#define TB_CONFIG_LIBM_HAVE_SQRTF 1
+#define TB_CONFIG_LIBM_HAVE_ACOS 1
+#define TB_CONFIG_LIBM_HAVE_ACOSF 1
+#define TB_CONFIG_LIBM_HAVE_ASIN 1
+#define TB_CONFIG_LIBM_HAVE_ASINF 1
+#define TB_CONFIG_LIBM_HAVE_POW 1
+#define TB_CONFIG_LIBM_HAVE_POWF 1
+#define TB_CONFIG_LIBM_HAVE_FMOD 1
+#define TB_CONFIG_LIBM_HAVE_FMODF 1
+#define TB_CONFIG_LIBM_HAVE_TAN 1
+#define TB_CONFIG_LIBM_HAVE_TANF 1
+#define TB_CONFIG_LIBM_HAVE_ATAN 1
+#define TB_CONFIG_LIBM_HAVE_ATANF 1
+#define TB_CONFIG_LIBM_HAVE_ATAN2 1
+#define TB_CONFIG_LIBM_HAVE_ATAN2F 1
+#define TB_CONFIG_LIBM_HAVE_COS 1
+#define TB_CONFIG_LIBM_HAVE_COSF 1
+#define TB_CONFIG_LIBM_HAVE_SIN 1
+#define TB_CONFIG_LIBM_HAVE_SINF 1
+#define TB_CONFIG_LIBM_HAVE_EXP 1
+#define TB_CONFIG_LIBM_HAVE_EXPF 1
+
+// posix functions
+/* #undef TB_CONFIG_POSIX_HAVE_POLL */
+/* #undef TB_CONFIG_POSIX_HAVE_SELECT */
+#define TB_CONFIG_POSIX_HAVE_PTHREAD_MUTEX_INIT 1
+#define TB_CONFIG_POSIX_HAVE_PTHREAD_CREATE 1
+#define TB_CONFIG_POSIX_HAVE_PTHREAD_SETSPECIFIC 1
+#define TB_CONFIG_POSIX_HAVE_PTHREAD_GETSPECIFIC 1
+#define TB_CONFIG_POSIX_HAVE_PTHREAD_KEY_CREATE 1
+#define TB_CONFIG_POSIX_HAVE_PTHREAD_KEY_DELETE 1
+/* #undef TB_CONFIG_POSIX_HAVE_PTHREAD_SETAFFINITY_NP */
+/* #undef TB_CONFIG_POSIX_HAVE_SOCKET */
+#define TB_CONFIG_POSIX_HAVE_OPENDIR 1
+/* #undef TB_CONFIG_POSIX_HAVE_DLOPEN */
+#define TB_CONFIG_POSIX_HAVE_OPEN 1
+/* #undef TB_CONFIG_POSIX_HAVE_STAT64 */
+/* #undef TB_CONFIG_POSIX_HAVE_GETHOSTNAME */
+/* #undef TB_CONFIG_POSIX_HAVE_GETIFADDRS */
+#define TB_CONFIG_POSIX_HAVE_SEM_INIT 1
+/* #undef TB_CONFIG_POSIX_HAVE_GETPAGESIZE */
+/* #undef TB_CONFIG_POSIX_HAVE_SYSCONF */
+#define TB_CONFIG_POSIX_HAVE_SCHED_YIELD 1
+/* #undef TB_CONFIG_POSIX_HAVE_SCHED_SETAFFINITY */
+/* #undef TB_CONFIG_POSIX_HAVE_REGCOMP */
+/* #undef TB_CONFIG_POSIX_HAVE_REGEXEC */
+/* #undef TB_CONFIG_POSIX_HAVE_READV */
+/* #undef TB_CONFIG_POSIX_HAVE_WRITEV */
+/* #undef TB_CONFIG_POSIX_HAVE_PREADV */
+/* #undef TB_CONFIG_POSIX_HAVE_PWRITEV */
+/* #undef TB_CONFIG_POSIX_HAVE_PREAD64 */
+/* #undef TB_CONFIG_POSIX_HAVE_PWRITE64 */
+/* #undef TB_CONFIG_POSIX_HAVE_FDATASYNC */
+/* #undef TB_CONFIG_POSIX_HAVE_COPYFILE */
+/* #undef TB_CONFIG_POSIX_HAVE_SENDFILE */
+/* #undef TB_CONFIG_POSIX_HAVE_EPOLL_CREATE */
+/* #undef TB_CONFIG_POSIX_HAVE_EPOLL_WAIT */
+#define TB_CONFIG_POSIX_HAVE_POSIX_SPAWNP 1
+#define TB_CONFIG_POSIX_HAVE_EXECVP 1
+#define TB_CONFIG_POSIX_HAVE_EXECVPE 1
+#define TB_CONFIG_POSIX_HAVE_FORK 1
+#define TB_CONFIG_POSIX_HAVE_VFORK 1
+#define TB_CONFIG_POSIX_HAVE_WAITPID 1
+/* #undef TB_CONFIG_POSIX_HAVE_GETDTABLESIZE */
+/* #undef TB_CONFIG_POSIX_HAVE_GETRLIMIT */
+/* #undef TB_CONFIG_POSIX_HAVE_GETADDRINFO */
+/* #undef TB_CONFIG_POSIX_HAVE_GETNAMEINFO */
+/* #undef TB_CONFIG_POSIX_HAVE_GETHOSTBYNAME */
+/* #undef TB_CONFIG_POSIX_HAVE_GETHOSTBYADDR */
+#define TB_CONFIG_POSIX_HAVE_FCNTL 1
+/* #undef TB_CONFIG_POSIX_HAVE_PIPE */
+/* #undef TB_CONFIG_POSIX_HAVE_PIPE2 */
+/* #undef TB_CONFIG_POSIX_HAVE_MKFIFO */
+/* #undef TB_CONFIG_POSIX_HAVE_MMAP */
+
+// windows functions
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_NF */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_ACQ */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE_REL */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8 */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_NF */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_ACQ */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGE8_REL */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8 */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_NF */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_ACQ */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDOR8_REL */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_NF */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_ACQ */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD_REL */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64 */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_NF */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_ACQ */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDEXCHANGEADD64_REL */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_NF */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_ACQ */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE_REL */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64 */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_NF */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_ACQ */
+/* #undef TB_CONFIG_WINDOWS_HAVE__INTERLOCKEDCOMPAREEXCHANGE64_REL */
+
+// freebsd functions
+#define TB_CONFIG_FREEBSD_HAVE_FLOCK 1
+
+// systemv functions
+/* #undef TB_CONFIG_SYSTEMV_HAVE_SEMGET */
+/* #undef TB_CONFIG_SYSTEMV_HAVE_SEMTIMEDOP */
+
+// valgrind functions
+/* #undef TB_CONFIG_SYSTEMV_HAVE_VALGRIND_STACK_REGISTER */
+
+#endif
diff --git a/core/src/tbox/makefile b/core/src/tbox/makefile
index 37f0fcc61..e48d35dc0 100644
--- a/core/src/tbox/makefile
+++ b/core/src/tbox/makefile
@@ -265,7 +265,18 @@ tbox_C_FILES += \
tbox/src/tbox/charset/ucs4 \
tbox/src/tbox/charset/iso8859
-ifeq ($(PLAT),mingw)
+iswin =
+ifeq ($(PLAT),windows)
+ iswin = yes
+endif
+ifeq ($(PLAT),msys)
+ iswin = yes
+endif
+ifeq ($(PLAT),cygwin)
+ iswin = yes
+endif
+
+ifdef iswin
tbox_C_FILES += \
tbox/src/tbox/platform/windows/windows \
tbox/src/tbox/platform/windows/iocp_object \
diff --git a/core/src/xmake/makefile b/core/src/xmake/makefile
index 26915fa39..aa3a88ff6 100644
--- a/core/src/xmake/makefile
+++ b/core/src/xmake/makefile
@@ -113,7 +113,18 @@ xmake_C_FILES += \
readline/add_history \
readline/clear_history
-ifeq ($(PLAT),mingw)
+iswin =
+ifeq ($(PLAT),windows)
+ iswin = yes
+endif
+ifeq ($(PLAT),msys)
+ iswin = yes
+endif
+ifeq ($(PLAT),cygwin)
+ iswin = yes
+endif
+
+ifdef iswin
xmake_C_FILES += \
winos/ansi \
winos/logical_drives \
diff --git a/core/src/xmake/xmake.lua b/core/src/xmake/xmake.lua
index 6063a5fcb..36f8131e1 100644
--- a/core/src/xmake/xmake.lua
+++ b/core/src/xmake/xmake.lua
@@ -23,7 +23,7 @@ target("xmake")
-- add the common source files
add_files("**.c|winos/*.c")
- if is_plat("windows") then
+ if is_plat("windows", "msys", "cygwin") then
add_files("winos/*.c")
end