Use TARGET_OS_MAC macro in the executable allocator.
This commit is contained in:
parent
5bec7dd3b0
commit
5ca7ac2e8e
|
@ -94,20 +94,28 @@ static SLJIT_INLINE void free_chunk(void *chunk, sljit_uw size)
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#ifdef MAP_JIT
|
|
||||||
|
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
|
// Configures TARGET_OS_MAC when appropriate.
|
||||||
|
#include <TargetConditionals.h>
|
||||||
|
|
||||||
|
#if defined TARGET_OS_MAC && defined MAP_JIT
|
||||||
#include <sys/utsname.h>
|
#include <sys/utsname.h>
|
||||||
|
#endif /* TARGET_OS_MAC && MAP_JIT */
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
|
|
||||||
|
#ifdef MAP_JIT
|
||||||
|
|
||||||
static SLJIT_INLINE int get_map_jit_flag()
|
static SLJIT_INLINE int get_map_jit_flag()
|
||||||
{
|
{
|
||||||
#ifdef __APPLE__
|
#ifdef TARGET_OS_MAC
|
||||||
/* On macOS systems, returns MAP_JIT if it is defined _and_ we're running on a version
|
/* On macOS systems, returns MAP_JIT if it is defined _and_ we're running on a version
|
||||||
of macOS where it's OK to have more than one JIT block. On non-macOS systems, returns
|
of macOS where it's OK to have more than one JIT block. On non-macOS systems, returns
|
||||||
MAP_JIT if it is defined. */
|
MAP_JIT if it is defined. */
|
||||||
static int map_jit_flag = -1;
|
static int map_jit_flag = -1;
|
||||||
|
|
||||||
|
/* The following code is thread safe because multiple initialization
|
||||||
|
sets map_jit_flag to the same value and the code has no side-effects.
|
||||||
|
Changing the kernel version witout system restart is (very) unlikely. */
|
||||||
if (map_jit_flag == -1) {
|
if (map_jit_flag == -1) {
|
||||||
struct utsname name;
|
struct utsname name;
|
||||||
|
|
||||||
|
@ -118,9 +126,9 @@ static SLJIT_INLINE int get_map_jit_flag()
|
||||||
}
|
}
|
||||||
|
|
||||||
return map_jit_flag;
|
return map_jit_flag;
|
||||||
#else /* !__APPLE__ */
|
#else /* !TARGET_OS_MAC */
|
||||||
return MAP_JIT;
|
return MAP_JIT;
|
||||||
#endif /* __APPLE__ */
|
#endif /* TARGET_OS_MAC */
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* MAP_JIT */
|
#endif /* MAP_JIT */
|
||||||
|
|
Loading…
Reference in New Issue