#ifndef SLJIT_CONFIG_INTERNAL_H_
#define SLJIT_CONFIG_INTERNAL_H_
#if (defined SLJIT_VERBOSE && SLJIT_VERBOSE) \
|| (defined SLJIT_DEBUG && SLJIT_DEBUG && (!defined(SLJIT_ASSERT) || !defined(SLJIT_UNREACHABLE)))
#include <stdio.h>
#endif
#if (defined SLJIT_DEBUG && SLJIT_DEBUG \
&& (!defined(SLJIT_ASSERT) || !defined(SLJIT_UNREACHABLE) || !defined(SLJIT_HALT_PROCESS)))
#include <stdlib.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifdef SLJIT_CONFIG_X86
#if defined(__CET__) && !(defined SLJIT_CONFIG_X86_CET && SLJIT_CONFIG_X86_CET)
#define SLJIT_CONFIG_X86_CET …
#endif
#if (defined SLJIT_CONFIG_X86_CET && SLJIT_CONFIG_X86_CET) && defined(__GNUC__)
#include <x86intrin.h>
#endif
#endif
#ifndef SLJIT_MALLOC
#define SLJIT_MALLOC …
#endif
#ifndef SLJIT_FREE
#define SLJIT_FREE …
#endif
#ifndef SLJIT_MEMCPY
#define SLJIT_MEMCPY(dest, src, len) …
#endif
#ifndef SLJIT_MEMMOVE
#define SLJIT_MEMMOVE(dest, src, len) …
#endif
#ifndef SLJIT_ZEROMEM
#define SLJIT_ZEROMEM(dest, len) …
#endif
#if !defined(SLJIT_LIKELY) && !defined(SLJIT_UNLIKELY)
#if defined(__GNUC__) && (__GNUC__ >= 3)
#define SLJIT_LIKELY(x) …
#define SLJIT_UNLIKELY(x) …
#else
#define SLJIT_LIKELY …
#define SLJIT_UNLIKELY …
#endif
#endif
#ifndef SLJIT_INLINE
#ifdef __SUNPRO_C
#if __SUNPRO_C < 0x560
#define SLJIT_INLINE
#else
#define SLJIT_INLINE …
#endif
#else
#define SLJIT_INLINE …
#endif
#endif
#ifndef SLJIT_NOINLINE
#if defined(__GNUC__)
#define SLJIT_NOINLINE …
#else
#define SLJIT_NOINLINE
#endif
#endif
#ifndef SLJIT_UNUSED_ARG
#define SLJIT_UNUSED_ARG(arg) …
#endif
#ifndef SLJIT_API_FUNC_ATTRIBUTE
#if (defined SLJIT_CONFIG_STATIC && SLJIT_CONFIG_STATIC)
#if defined(__GNUC__)
#define SLJIT_API_FUNC_ATTRIBUTE …
#else
#define SLJIT_API_FUNC_ATTRIBUTE …
#endif
#else
#define SLJIT_API_FUNC_ATTRIBUTE
#endif
#endif
#ifdef __APPLE__
#include <AvailabilityMacros.h>
#endif
#if (!defined SLJIT_CACHE_FLUSH && defined __has_builtin)
#if __has_builtin(__builtin___clear_cache) && !defined(__clang__)
#if !defined(SLJIT_CONFIG_PPC)
#define SLJIT_CACHE_FLUSH …
#endif
#endif
#endif
#ifndef SLJIT_CACHE_FLUSH
#if (defined SLJIT_CONFIG_X86 && SLJIT_CONFIG_X86) \
|| (defined SLJIT_CONFIG_S390X && SLJIT_CONFIG_S390X)
#define SLJIT_CACHE_FLUSH(from, to) …
#elif defined(__APPLE__) && MAC_OS_X_VERSION_MIN_REQUIRED >= 1050
#include <libkern/OSCacheControl.h>
#define SLJIT_CACHE_FLUSH …
#elif (defined SLJIT_CONFIG_PPC && SLJIT_CONFIG_PPC)
#define SLJIT_CACHE_FLUSH …
#define SLJIT_CACHE_FLUSH_OWN_IMPL …
#elif defined(_WIN32)
#define SLJIT_CACHE_FLUSH …
#elif (defined(__GNUC__) && (__GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))) || defined(__clang__)
#define SLJIT_CACHE_FLUSH …
#elif defined __ANDROID__
#include <sys/cachectl.h>
#define SLJIT_CACHE_FLUSH …
#else
#define SLJIT_CACHE_FLUSH …
#endif
#endif
sljit_u8;
sljit_s8;
sljit_u16;
sljit_s16;
sljit_u32;
sljit_s32;
#if (defined SLJIT_CONFIG_UNSUPPORTED && SLJIT_CONFIG_UNSUPPORTED)
#define SLJIT_WORD_SHIFT …
typedef unsigned int sljit_uw;
typedef int sljit_sw;
#elif !(defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64) \
&& !(defined SLJIT_CONFIG_ARM_64 && SLJIT_CONFIG_ARM_64) \
&& !(defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) \
&& !(defined SLJIT_CONFIG_MIPS_64 && SLJIT_CONFIG_MIPS_64) \
&& !(defined SLJIT_CONFIG_RISCV_64 && SLJIT_CONFIG_RISCV_64) \
&& !(defined SLJIT_CONFIG_S390X && SLJIT_CONFIG_S390X) \
&& !(defined SLJIT_CONFIG_LOONGARCH_64 && SLJIT_CONFIG_LOONGARCH_64)
#define SLJIT_32BIT_ARCHITECTURE …
#define SLJIT_WORD_SHIFT …
typedef unsigned int sljit_uw;
typedef int sljit_sw;
#else
#define SLJIT_64BIT_ARCHITECTURE …
#define SLJIT_WORD_SHIFT …
#ifdef _WIN32
#ifdef __GNUC__
typedef unsigned long long sljit_uw;
typedef long long sljit_sw;
#else
typedef unsigned __int64 sljit_uw;
typedef __int64 sljit_sw;
#endif
#else
sljit_uw;
sljit_sw;
#endif
#endif
sljit_p;
sljit_f32;
sljit_f64;
#define SLJIT_POINTER_SHIFT …
#define SLJIT_F32_SHIFT …
#define SLJIT_F64_SHIFT …
#define SLJIT_CONV_RESULT_MAX_INT …
#define SLJIT_CONV_RESULT_MIN_INT …
#define SLJIT_CONV_RESULT_ZERO …
#if (defined SLJIT_CONFIG_X86 && SLJIT_CONFIG_X86)
#define SLJIT_CONV_MAX_FLOAT …
#define SLJIT_CONV_MIN_FLOAT …
#define SLJIT_CONV_NAN_FLOAT …
#elif (defined SLJIT_CONFIG_ARM && SLJIT_CONFIG_ARM)
#define SLJIT_CONV_MAX_FLOAT …
#define SLJIT_CONV_MIN_FLOAT …
#define SLJIT_CONV_NAN_FLOAT …
#elif (defined SLJIT_CONFIG_MIPS && SLJIT_CONFIG_MIPS)
#define SLJIT_CONV_MAX_FLOAT …
#define SLJIT_CONV_MIN_FLOAT …
#define SLJIT_CONV_NAN_FLOAT …
#elif (defined SLJIT_CONFIG_PPC && SLJIT_CONFIG_PPC)
#define SLJIT_CONV_MAX_FLOAT …
#define SLJIT_CONV_MIN_FLOAT …
#define SLJIT_CONV_NAN_FLOAT …
#elif (defined SLJIT_CONFIG_RISCV && SLJIT_CONFIG_RISCV)
#define SLJIT_CONV_MAX_FLOAT …
#define SLJIT_CONV_MIN_FLOAT …
#define SLJIT_CONV_NAN_FLOAT …
#elif (defined SLJIT_CONFIG_S390X && SLJIT_CONFIG_S390X)
#define SLJIT_CONV_MAX_FLOAT …
#define SLJIT_CONV_MIN_FLOAT …
#define SLJIT_CONV_NAN_FLOAT …
#else
#error "Result for float to integer conversion is not defined"
#endif
#ifndef SLJIT_W
#if (defined SLJIT_64BIT_ARCHITECTURE && SLJIT_64BIT_ARCHITECTURE)
#ifdef _WIN64
#define SLJIT_W …
#else
#define SLJIT_W(w) …
#endif
#else
#define SLJIT_W …
#endif
#endif
#if !defined(SLJIT_BIG_ENDIAN) && !defined(SLJIT_LITTLE_ENDIAN)
#if (defined SLJIT_CONFIG_PPC && SLJIT_CONFIG_PPC)
#ifdef __LITTLE_ENDIAN__
#define SLJIT_LITTLE_ENDIAN …
#else
#define SLJIT_BIG_ENDIAN …
#endif
#elif (defined SLJIT_CONFIG_MIPS && SLJIT_CONFIG_MIPS)
#ifdef __MIPSEL__
#define SLJIT_LITTLE_ENDIAN …
#else
#define SLJIT_BIG_ENDIAN …
#endif
#ifndef SLJIT_MIPS_REV
#if (defined __mips_isa_rev) && (__mips_isa_rev >= 6)
#define SLJIT_MIPS_REV …
#elif defined(__mips_isa_rev) && __mips_isa_rev >= 1
#define SLJIT_MIPS_REV …
#elif defined(__clang__) \
&& (defined(_MIPS_ARCH_OCTEON) || defined(_MIPS_ARCH_P5600))
#define SLJIT_MIPS_REV …
#endif
#endif
#elif (defined SLJIT_CONFIG_S390X && SLJIT_CONFIG_S390X)
#define SLJIT_BIG_ENDIAN …
#else
#define SLJIT_LITTLE_ENDIAN …
#endif
#endif
#if (defined SLJIT_BIG_ENDIAN && SLJIT_BIG_ENDIAN) && (defined SLJIT_LITTLE_ENDIAN && SLJIT_LITTLE_ENDIAN)
#error "Exactly one endianness must be selected"
#endif
#if !(defined SLJIT_BIG_ENDIAN && SLJIT_BIG_ENDIAN) && !(defined SLJIT_LITTLE_ENDIAN && SLJIT_LITTLE_ENDIAN)
#error "Exactly one endianness must be selected"
#endif
#ifndef SLJIT_UNALIGNED
#if (defined SLJIT_CONFIG_X86 && SLJIT_CONFIG_X86) \
|| (defined SLJIT_CONFIG_ARM_V7 && SLJIT_CONFIG_ARM_V7) \
|| (defined SLJIT_CONFIG_ARM_THUMB2 && SLJIT_CONFIG_ARM_THUMB2) \
|| (defined SLJIT_CONFIG_ARM_64 && SLJIT_CONFIG_ARM_64) \
|| (defined SLJIT_CONFIG_PPC && SLJIT_CONFIG_PPC) \
|| (defined SLJIT_CONFIG_RISCV && SLJIT_CONFIG_RISCV) \
|| (defined SLJIT_CONFIG_S390X && SLJIT_CONFIG_S390X) \
|| (defined SLJIT_CONFIG_LOONGARCH && SLJIT_CONFIG_LOONGARCH)
#define SLJIT_UNALIGNED …
#endif
#endif
#ifndef SLJIT_FPU_UNALIGNED
#if (defined SLJIT_CONFIG_X86 && SLJIT_CONFIG_X86) \
|| (defined SLJIT_CONFIG_ARM_64 && SLJIT_CONFIG_ARM_64) \
|| (defined SLJIT_CONFIG_PPC && SLJIT_CONFIG_PPC) \
|| (defined SLJIT_CONFIG_RISCV && SLJIT_CONFIG_RISCV) \
|| (defined SLJIT_CONFIG_S390X && SLJIT_CONFIG_S390X) \
|| (defined SLJIT_CONFIG_LOONGARCH && SLJIT_CONFIG_LOONGARCH)
#define SLJIT_FPU_UNALIGNED …
#endif
#endif
#if (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32)
#define SLJIT_DETECT_SSE2 …
#endif
#ifndef SLJIT_FUNC
#define SLJIT_FUNC
#endif
#ifndef SLJIT_FUNC_ATTRIBUTE
#if defined(__has_feature)
#if __has_feature(memory_sanitizer)
#define SLJIT_FUNC_ATTRIBUTE …
#endif
#endif
#endif
#ifndef SLJIT_FUNC_ATTRIBUTE
#define SLJIT_FUNC_ATTRIBUTE
#endif
#ifndef SLJIT_INDIRECT_CALL
#if ((defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) && (!defined _CALL_ELF || _CALL_ELF == 1)) \
|| ((defined SLJIT_CONFIG_PPC_32 && SLJIT_CONFIG_PPC_32) && defined _AIX)
#define SLJIT_INDIRECT_CALL …
#endif
#endif
#ifndef SLJIT_RETURN_ADDRESS_OFFSET
#define SLJIT_RETURN_ADDRESS_OFFSET …
#endif
#if (defined SLJIT_EXECUTABLE_ALLOCATOR && SLJIT_EXECUTABLE_ALLOCATOR)
SLJIT_API_FUNC_ATTRIBUTE void* sljit_malloc_exec(sljit_uw size);
SLJIT_API_FUNC_ATTRIBUTE void sljit_free_exec(void* ptr);
SLJIT_API_FUNC_ATTRIBUTE void sljit_free_unused_memory_exec(void);
#define SLJIT_BUILTIN_MALLOC_EXEC(size, exec_allocator_data) …
#define SLJIT_BUILTIN_FREE_EXEC(ptr, exec_allocator_data) …
#ifndef SLJIT_MALLOC_EXEC
#define SLJIT_MALLOC_EXEC(size, exec_allocator_data) …
#endif
#ifndef SLJIT_FREE_EXEC
#define SLJIT_FREE_EXEC(ptr, exec_allocator_data) …
#endif
#if (defined SLJIT_PROT_EXECUTABLE_ALLOCATOR && SLJIT_PROT_EXECUTABLE_ALLOCATOR)
SLJIT_API_FUNC_ATTRIBUTE sljit_sw sljit_exec_offset(void* ptr);
#define SLJIT_EXEC_OFFSET …
#endif
#endif
#ifndef SLJIT_EXEC_OFFSET
#define SLJIT_EXEC_OFFSET(ptr) …
#endif
#if (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32)
#define SLJIT_NUMBER_OF_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_REGISTERS …
#define SLJIT_NUMBER_OF_TEMPORARY_REGISTERS …
#define SLJIT_NUMBER_OF_FLOAT_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_FLOAT_REGISTERS …
#define SLJIT_NUMBER_OF_TEMPORARY_FLOAT_REGISTERS …
#define SLJIT_LOCALS_OFFSET_BASE …
#define SLJIT_PREF_SHIFT_REG …
#define SLJIT_MASKED_SHIFT …
#define SLJIT_MASKED_SHIFT32 …
#elif (defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64)
#define SLJIT_NUMBER_OF_REGISTERS …
#define SLJIT_NUMBER_OF_TEMPORARY_REGISTERS …
#define SLJIT_NUMBER_OF_FLOAT_REGISTERS …
#define SLJIT_NUMBER_OF_TEMPORARY_FLOAT_REGISTERS …
#ifndef _WIN64
#define SLJIT_NUMBER_OF_SAVED_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_FLOAT_REGISTERS …
#define SLJIT_LOCALS_OFFSET_BASE …
#else
#define SLJIT_NUMBER_OF_SAVED_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_FLOAT_REGISTERS …
#define SLJIT_LOCALS_OFFSET_BASE …
#endif
#define SLJIT_PREF_SHIFT_REG …
#define SLJIT_MASKED_SHIFT …
#define SLJIT_MASKED_SHIFT32 …
#elif (defined SLJIT_CONFIG_ARM_32 && SLJIT_CONFIG_ARM_32)
#define SLJIT_NUMBER_OF_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_REGISTERS …
#define SLJIT_NUMBER_OF_TEMPORARY_REGISTERS …
#define SLJIT_NUMBER_OF_FLOAT_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_FLOAT_REGISTERS …
#define SLJIT_NUMBER_OF_TEMPORARY_FLOAT_REGISTERS …
#define SLJIT_LOCALS_OFFSET_BASE …
#elif (defined SLJIT_CONFIG_ARM_64 && SLJIT_CONFIG_ARM_64)
#define SLJIT_NUMBER_OF_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_REGISTERS …
#define SLJIT_NUMBER_OF_TEMPORARY_REGISTERS …
#define SLJIT_NUMBER_OF_FLOAT_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_FLOAT_REGISTERS …
#define SLJIT_NUMBER_OF_TEMPORARY_FLOAT_REGISTERS …
#define SLJIT_LOCALS_OFFSET_BASE …
#define SLJIT_MASKED_SHIFT …
#define SLJIT_MASKED_SHIFT32 …
#elif (defined SLJIT_CONFIG_PPC && SLJIT_CONFIG_PPC)
#define SLJIT_NUMBER_OF_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_REGISTERS …
#define SLJIT_NUMBER_OF_TEMPORARY_REGISTERS …
#define SLJIT_NUMBER_OF_FLOAT_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_FLOAT_REGISTERS …
#define SLJIT_NUMBER_OF_TEMPORARY_FLOAT_REGISTERS …
#if (defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) || (defined _AIX)
#define SLJIT_LOCALS_OFFSET_BASE …
#elif (defined SLJIT_CONFIG_PPC_32 && SLJIT_CONFIG_PPC_32)
#define SLJIT_LOCALS_OFFSET_BASE …
#else
#define SLJIT_LOCALS_OFFSET_BASE …
#endif
#elif (defined SLJIT_CONFIG_MIPS && SLJIT_CONFIG_MIPS)
#define SLJIT_NUMBER_OF_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_REGISTERS …
#if (defined SLJIT_CONFIG_MIPS_32 && SLJIT_CONFIG_MIPS_32)
#define SLJIT_LOCALS_OFFSET_BASE …
#define SLJIT_NUMBER_OF_FLOAT_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_FLOAT_REGISTERS …
#else
#define SLJIT_LOCALS_OFFSET_BASE …
#define SLJIT_NUMBER_OF_FLOAT_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_FLOAT_REGISTERS …
#endif
#define SLJIT_NUMBER_OF_TEMPORARY_REGISTERS …
#define SLJIT_NUMBER_OF_TEMPORARY_FLOAT_REGISTERS …
#define SLJIT_MASKED_SHIFT …
#define SLJIT_MASKED_SHIFT32 …
#elif (defined SLJIT_CONFIG_RISCV && SLJIT_CONFIG_RISCV)
#define SLJIT_NUMBER_OF_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_REGISTERS …
#define SLJIT_NUMBER_OF_TEMPORARY_REGISTERS …
#define SLJIT_NUMBER_OF_FLOAT_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_FLOAT_REGISTERS …
#define SLJIT_NUMBER_OF_TEMPORARY_FLOAT_REGISTERS …
#define SLJIT_LOCALS_OFFSET_BASE …
#define SLJIT_MASKED_SHIFT …
#define SLJIT_MASKED_SHIFT32 …
#elif (defined SLJIT_CONFIG_S390X && SLJIT_CONFIG_S390X)
#define SLJIT_S390X_DEFAULT_STACK_FRAME_SIZE …
#define SLJIT_NUMBER_OF_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_REGISTERS …
#define SLJIT_NUMBER_OF_TEMPORARY_REGISTERS …
#define SLJIT_NUMBER_OF_FLOAT_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_FLOAT_REGISTERS …
#define SLJIT_NUMBER_OF_TEMPORARY_FLOAT_REGISTERS …
#define SLJIT_LOCALS_OFFSET_BASE …
#define SLJIT_MASKED_SHIFT …
#elif (defined SLJIT_CONFIG_LOONGARCH && SLJIT_CONFIG_LOONGARCH)
#define SLJIT_NUMBER_OF_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_REGISTERS …
#define SLJIT_NUMBER_OF_TEMPORARY_REGISTERS …
#define SLJIT_NUMBER_OF_FLOAT_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_FLOAT_REGISTERS …
#define SLJIT_NUMBER_OF_TEMPORARY_FLOAT_REGISTERS …
#define SLJIT_LOCALS_OFFSET_BASE …
#define SLJIT_MASKED_SHIFT …
#define SLJIT_MASKED_SHIFT32 …
#elif (defined SLJIT_CONFIG_UNSUPPORTED && SLJIT_CONFIG_UNSUPPORTED)
#define SLJIT_NUMBER_OF_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_REGISTERS …
#define SLJIT_NUMBER_OF_TEMPORARY_REGISTERS …
#define SLJIT_NUMBER_OF_FLOAT_REGISTERS …
#define SLJIT_NUMBER_OF_SAVED_FLOAT_REGISTERS …
#define SLJIT_NUMBER_OF_TEMPORARY_FLOAT_REGISTERS …
#define SLJIT_LOCALS_OFFSET_BASE …
#endif
#define SLJIT_LOCALS_OFFSET …
#define SLJIT_NUMBER_OF_SCRATCH_REGISTERS …
#define SLJIT_NUMBER_OF_SCRATCH_FLOAT_REGISTERS …
#define SLJIT_TMP_REGISTER_BASE …
#define SLJIT_TMP_FREGISTER_BASE …
#define SLJIT_TMP_R0 …
#define SLJIT_TMP_R1 …
#define SLJIT_TMP_R2 …
#define SLJIT_TMP_R3 …
#define SLJIT_TMP_R4 …
#define SLJIT_TMP_R5 …
#define SLJIT_TMP_R6 …
#define SLJIT_TMP_R7 …
#define SLJIT_TMP_R8 …
#define SLJIT_TMP_R9 …
#define SLJIT_TMP_R(i) …
#define SLJIT_TMP_FR0 …
#define SLJIT_TMP_FR1 …
#define SLJIT_TMP_FR2 …
#define SLJIT_TMP_FR3 …
#define SLJIT_TMP_FR4 …
#define SLJIT_TMP_FR5 …
#define SLJIT_TMP_FR6 …
#define SLJIT_TMP_FR7 …
#define SLJIT_TMP_FR8 …
#define SLJIT_TMP_FR9 …
#define SLJIT_TMP_FR(i) …
#if (defined SLJIT_CONFIG_ARM && SLJIT_CONFIG_ARM) \
|| (defined SLJIT_CONFIG_PPC && SLJIT_CONFIG_PPC) \
|| (defined SLJIT_CONFIG_MIPS && SLJIT_CONFIG_MIPS) \
|| (defined SLJIT_CONFIG_RISCV && SLJIT_CONFIG_RISCV) \
|| (defined SLJIT_CONFIG_S390X && SLJIT_CONFIG_S390X) \
|| (defined SLJIT_CONFIG_LOONGARCH && SLJIT_CONFIG_LOONGARCH)
#define SLJIT_HAS_STATUS_FLAGS_STATE …
#endif
#if (defined SLJIT_CONFIG_ARM_32 && SLJIT_CONFIG_ARM_32) \
|| (defined SLJIT_CONFIG_MIPS_32 && SLJIT_CONFIG_MIPS_32)
#define SLJIT_F64_SECOND …
#else
#define SLJIT_F64_SECOND(reg) …
#endif
#if (defined SLJIT_DEBUG && SLJIT_DEBUG)
#if !defined(SLJIT_ASSERT) || !defined(SLJIT_UNREACHABLE)
#ifndef SLJIT_HALT_PROCESS
#define SLJIT_HALT_PROCESS …
#endif
#endif
#ifndef SLJIT_ASSERT
#define SLJIT_ASSERT …
#endif
#ifndef SLJIT_UNREACHABLE
#define SLJIT_UNREACHABLE …
#endif
#else
#undef SLJIT_ASSERT
#undef SLJIT_UNREACHABLE
#define SLJIT_ASSERT(x) …
#define SLJIT_UNREACHABLE() …
#endif
#ifndef SLJIT_COMPILE_ASSERT
#define SLJIT_COMPILE_ASSERT(x, description) …
#endif
#ifdef __cplusplus
}
#endif
#endif