diff --git a/src/lj_arch.h b/src/lj_arch.h index f9cb12e7..4b2bbe76 100644 --- a/src/lj_arch.h +++ b/src/lj_arch.h @@ -96,7 +96,6 @@ #define LJ_ARCH_NAME "x86" #define LJ_ARCH_BITS 32 #define LJ_ARCH_ENDIAN LUAJIT_LE -#define LJ_ARCH_BITENDIAN LUAJIT_LE #define LJ_ARCH_HASFPU 1 #define LJ_ABI_WIN LJ_TARGET_WINDOWS #define LJ_TARGET_X86 1 @@ -110,7 +109,6 @@ #define LJ_ARCH_NAME "x64" #define LJ_ARCH_BITS 64 #define LJ_ARCH_ENDIAN LUAJIT_LE -#define LJ_ARCH_BITENDIAN LUAJIT_LE #define LJ_ARCH_HASFPU 1 #define LJ_ABI_WIN LJ_TARGET_WINDOWS #define LJ_TARGET_X64 1 @@ -128,7 +126,6 @@ #define LJ_ARCH_NAME "ppcspe" #define LJ_ARCH_BITS 32 #define LJ_ARCH_ENDIAN LUAJIT_BE -#define LJ_ARCH_BITENDIAN LUAJIT_BE #define LJ_ARCH_HASFPU 1 #define LJ_ABI_SOFTFP 1 #define LJ_ABI_EABI 1 @@ -187,9 +184,13 @@ #endif #if LJ_ARCH_ENDIAN == LUAJIT_BE +#define LJ_LE 0 +#define LJ_BE 1 #define LJ_ENDIAN_SELECT(le, be) be #define LJ_ENDIAN_LOHI(lo, hi) hi lo #else +#define LJ_LE 1 +#define LJ_BE 0 #define LJ_ENDIAN_SELECT(le, be) le #define LJ_ENDIAN_LOHI(lo, hi) lo hi #endif diff --git a/src/lj_str.c b/src/lj_str.c index 5e69ed0d..19f9d191 100644 --- a/src/lj_str.c +++ b/src/lj_str.c @@ -29,7 +29,7 @@ int32_t LJ_FASTCALL lj_str_cmp(GCstr *a, GCstr *b) uint32_t va = *(const uint32_t *)(strdata(a)+i); uint32_t vb = *(const uint32_t *)(strdata(b)+i); if (va != vb) { -#if LJ_ARCH_ENDIAN == LUAJIT_LE +#if LJ_LE va = lj_bswap(va); vb = lj_bswap(vb); #endif i -= n; @@ -53,7 +53,7 @@ static LJ_AINLINE int str_fastcmp(const char *a, const char *b, MSize len) uint32_t v = *(const uint32_t *)(a+i) ^ *(const uint32_t *)(b+i); if (v) { i -= len; -#if LJ_ARCH_ENDIAN == LUAJIT_LE +#if LJ_LE return (int32_t)i >= -3 ? (v << (32+(i<<3))) : 1; #else return (int32_t)i >= -3 ? (v >> (32+(i<<3))) : 1;