mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-08 07:34:07 +00:00
Rearrange defines for workarounds to embedded operating systems.
This commit is contained in:
parent
00591a2539
commit
e80478c44b
@ -191,8 +191,7 @@ void emit_asm(BuildCtx *ctx)
|
|||||||
if (ctx->mode != BUILD_machasm)
|
if (ctx->mode != BUILD_machasm)
|
||||||
fprintf(ctx->fp, ".Lbegin:\n");
|
fprintf(ctx->fp, ".Lbegin:\n");
|
||||||
|
|
||||||
#if LJ_TARGET_ARM && defined(__GNUC__) && !defined(__symbian__) && \
|
#if LJ_TARGET_ARM && defined(__GNUC__) && !defined(LUAJIT_NO_UNWIND)
|
||||||
!LJ_TARGET_OSX
|
|
||||||
/* This should really be moved into buildvm_arm.dasc. */
|
/* This should really be moved into buildvm_arm.dasc. */
|
||||||
fprintf(ctx->fp,
|
fprintf(ctx->fp,
|
||||||
".fnstart\n"
|
".fnstart\n"
|
||||||
@ -228,8 +227,7 @@ void emit_asm(BuildCtx *ctx)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#if LJ_TARGET_ARM && defined(__GNUC__) && !defined(__symbian__) && \
|
#if LJ_TARGET_ARM && defined(__GNUC__) && !defined(LUAJIT_NO_UNWIND)
|
||||||
!LJ_TARGET_OSX
|
|
||||||
fprintf(ctx->fp,
|
fprintf(ctx->fp,
|
||||||
".globl lj_err_unwind_arm\n"
|
".globl lj_err_unwind_arm\n"
|
||||||
".personality lj_err_unwind_arm\n"
|
".personality lj_err_unwind_arm\n"
|
||||||
|
@ -279,4 +279,16 @@
|
|||||||
#define LJ_64 1
|
#define LJ_64 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Various workarounds for embedded operating systems. */
|
||||||
|
#if defined(__ANDROID__) || defined(__symbian__)
|
||||||
|
#define LUAJIT_NO_LOG2
|
||||||
|
#endif
|
||||||
|
#if defined(__symbian__)
|
||||||
|
#define LUAJIT_NO_EXP2
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(__symbian__) || (LJ_TARGET_ARM && LJ_TARGET_OSX)
|
||||||
|
#define LUAJIT_NO_UNWIND
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -178,8 +178,7 @@ static void *err_unwind(lua_State *L, void *stopcf, int errcode)
|
|||||||
|
|
||||||
/* -- External frame unwinding -------------------------------------------- */
|
/* -- External frame unwinding -------------------------------------------- */
|
||||||
|
|
||||||
#if defined(__GNUC__) && !defined(__symbian__) && \
|
#if defined(__GNUC__) && !defined(LUAJIT_NO_UNWIND)
|
||||||
!(LJ_TARGET_ARM && LJ_TARGET_OSX)
|
|
||||||
|
|
||||||
#ifdef __clang__
|
#ifdef __clang__
|
||||||
/* http://llvm.org/bugs/show_bug.cgi?id=8703 */
|
/* http://llvm.org/bugs/show_bug.cgi?id=8703 */
|
||||||
|
@ -66,12 +66,12 @@ LJ_ASMF void lj_vm_powi_sse(void);
|
|||||||
#else
|
#else
|
||||||
LJ_ASMF double lj_vm_trunc(double);
|
LJ_ASMF double lj_vm_trunc(double);
|
||||||
LJ_ASMF double lj_vm_powi(double, int32_t);
|
LJ_ASMF double lj_vm_powi(double, int32_t);
|
||||||
#if defined(__ANDROID__) || defined(__symbian__)
|
#ifdef LUAJIT_NO_LOG2
|
||||||
LJ_ASMF double lj_vm_log2(double);
|
LJ_ASMF double lj_vm_log2(double);
|
||||||
#else
|
#else
|
||||||
#define lj_vm_log2 log2
|
#define lj_vm_log2 log2
|
||||||
#endif
|
#endif
|
||||||
#if defined(__symbian__)
|
#ifdef LUAJIT_NO_EXP2
|
||||||
LJ_ASMF double lj_vm_exp2(double);
|
LJ_ASMF double lj_vm_exp2(double);
|
||||||
#else
|
#else
|
||||||
#define lj_vm_exp2 exp2
|
#define lj_vm_exp2 exp2
|
||||||
|
@ -25,14 +25,14 @@ LJ_FUNCA double lj_vm_tanh(double x) { return tanh(x); }
|
|||||||
|
|
||||||
#if LJ_HASJIT
|
#if LJ_HASJIT
|
||||||
|
|
||||||
#if defined(__ANDROID__) || defined(__symbian__)
|
#ifdef LUAJIT_NO_LOG2
|
||||||
double lj_vm_log2(double a)
|
double lj_vm_log2(double a)
|
||||||
{
|
{
|
||||||
return log(a) * 1.4426950408889634074;
|
return log(a) * 1.4426950408889634074;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__symbian__)
|
#ifdef LUAJIT_NO_EXP2
|
||||||
double lj_vm_exp2(double a)
|
double lj_vm_exp2(double a)
|
||||||
{
|
{
|
||||||
return exp(a * 0.6931471805599453);
|
return exp(a * 0.6931471805599453);
|
||||||
|
Loading…
Reference in New Issue
Block a user