diff --git a/src/h.h b/src/h.h index 32554936..c146ef8d 100644 --- a/src/h.h +++ b/src/h.h @@ -472,8 +472,8 @@ static B m_atop( B g, B h); #include static inline u64 nsTime() { struct timespec t; - timespec_get(&t, TIME_UTC); - // clock_gettime(CLOCK_REALTIME, &t); + // timespec_get(&t, TIME_UTC); // doesn't seem to exist on Android + clock_gettime(CLOCK_REALTIME, &t); return t.tv_sec*1000000000ull + t.tv_nsec; } diff --git a/src/jit/nvm.c b/src/jit/nvm.c new file mode 100644 index 00000000..dda6fcac --- /dev/null +++ b/src/jit/nvm.c @@ -0,0 +1,5 @@ +#if defined(__x86_64) || defined(__amd64__) + #include "nvm_x86_64.c" +#else + #include "nvm_placeholder.c" +#endif \ No newline at end of file diff --git a/src/jit/nvm_placeholder.c b/src/jit/nvm_placeholder.c new file mode 100644 index 00000000..94b740ae --- /dev/null +++ b/src/jit/nvm_placeholder.c @@ -0,0 +1,5 @@ +#include "../core.h" +#include "nvm.h" +B evalJIT(Body* b, Scope* sc, u8* ptr) { thrM("JIT: Not supported"); } +Nvm_res m_nvm(Body* b) { thrM("JIT: Not supported"); } +void nvm_free(u8* ptr) { thrM("JIT: Not supported"); } diff --git a/src/vm.h b/src/vm.h index 5857d5d9..c3441b40 100644 --- a/src/vm.h +++ b/src/vm.h @@ -1,7 +1,13 @@ #pragma once -#ifndef JIT_START - #define JIT_START -1 // number of calls for when to start JITting. -1: never JIT; 0: JIT everything, 1: JIT after 1 non-JIT invocation; max ¯1+2⋆16 + +#if defined(__x86_64) || defined(__amd64__) + #ifndef JIT_START + #define JIT_START 2 // number of calls for when to start JITting. -1: never JIT; 0: JIT everything, n: JIT after n non-JIT invocations; max ¯1+2⋆16 + #endif +#else + #undef JIT_START + #define JIT_START -1 #endif enum {