Module Name: src Committed By: alnsn Date: Sun Oct 28 09:38:59 UTC 2012
Modified Files: src/sys/external/bsd/sljit/dist/sljit_src: sljitConfig.h sljitConfigInternal.h sljitNativeX86_common.c Log Message: Resolve conflicts. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 \ src/sys/external/bsd/sljit/dist/sljit_src/sljitConfig.h cvs rdiff -u -r1.3 -r1.4 \ src/sys/external/bsd/sljit/dist/sljit_src/sljitConfigInternal.h cvs rdiff -u -r1.2 -r1.3 \ src/sys/external/bsd/sljit/dist/sljit_src/sljitNativeX86_common.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/external/bsd/sljit/dist/sljit_src/sljitConfig.h diff -u src/sys/external/bsd/sljit/dist/sljit_src/sljitConfig.h:1.4 src/sys/external/bsd/sljit/dist/sljit_src/sljitConfig.h:1.5 --- src/sys/external/bsd/sljit/dist/sljit_src/sljitConfig.h:1.4 Sat Oct 13 19:38:24 2012 +++ src/sys/external/bsd/sljit/dist/sljit_src/sljitConfig.h Sun Oct 28 09:38:59 2012 @@ -47,6 +47,7 @@ /* #define SLJIT_CONFIG_PPC_32 1 */ /* #define SLJIT_CONFIG_PPC_64 1 */ /* #define SLJIT_CONFIG_MIPS_32 1 */ +/* #define SLJIT_CONFIG_SPARC_32 1 */ /* #define SLJIT_CONFIG_AUTO 1 */ /* #define SLJIT_CONFIG_UNSUPPORTED 1 */ Index: src/sys/external/bsd/sljit/dist/sljit_src/sljitConfigInternal.h diff -u src/sys/external/bsd/sljit/dist/sljit_src/sljitConfigInternal.h:1.3 src/sys/external/bsd/sljit/dist/sljit_src/sljitConfigInternal.h:1.4 --- src/sys/external/bsd/sljit/dist/sljit_src/sljitConfigInternal.h:1.3 Mon Oct 8 22:39:15 2012 +++ src/sys/external/bsd/sljit/dist/sljit_src/sljitConfigInternal.h Sun Oct 28 09:38:59 2012 @@ -39,6 +39,7 @@ SLJIT_BIG_ENDIAN : big endian architecture SLJIT_UNALIGNED : allows unaligned memory accesses for non-fpu operations (only!) SLJIT_INDIRECT_CALL : see SLJIT_FUNC_OFFSET() for more information + SLJIT_RETURN_ADDRESS_OFFSET : a return instruction always adds this offset to the return address Types and useful macros: sljit_b, sljit_ub : signed and unsigned 8 bit byte @@ -57,6 +58,7 @@ || (defined SLJIT_CONFIG_PPC_32 && SLJIT_CONFIG_PPC_32) \ || (defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) \ || (defined SLJIT_CONFIG_MIPS_32 && SLJIT_CONFIG_MIPS_32) \ + || (defined SLJIT_CONFIG_SPARC_32 && SLJIT_CONFIG_SPARC_32) \ || (defined SLJIT_CONFIG_AUTO && SLJIT_CONFIG_AUTO) \ || (defined SLJIT_CONFIG_UNSUPPORTED && SLJIT_CONFIG_UNSUPPORTED)) #error "An architecture must be selected" @@ -71,6 +73,7 @@ + (defined SLJIT_CONFIG_PPC_32 && SLJIT_CONFIG_PPC_32) \ + (defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) \ + (defined SLJIT_CONFIG_MIPS_32 && SLJIT_CONFIG_MIPS_32) \ + + (defined SLJIT_CONFIG_SPARC_32 && SLJIT_CONFIG_SPARC_32) \ + (defined SLJIT_CONFIG_AUTO && SLJIT_CONFIG_AUTO) \ + (defined SLJIT_CONFIG_UNSUPPORTED && SLJIT_CONFIG_UNSUPPORTED) >= 2 #error "Multiple architectures are selected" @@ -99,6 +102,8 @@ #define SLJIT_CONFIG_PPC_32 1 #elif defined(__mips__) #define SLJIT_CONFIG_MIPS_32 1 +#elif defined(__sparc__) || defined(__sparc) +#define SLJIT_CONFIG_SPARC_32 1 #else /* Unsupported architecture */ #define SLJIT_CONFIG_UNSUPPORTED 1 @@ -216,6 +221,12 @@ #define SLJIT_CACHE_FLUSH(from, to) \ ppc_cache_flush((from), (to)) +#elif (defined SLJIT_CONFIG_SPARC_32 && SLJIT_CONFIG_SPARC_32) + +/* The __clear_cache() implementation of GCC is a dummy function on Sparc. */ +#define SLJIT_CACHE_FLUSH(from, to) \ + sparc_cache_flush((from), (to)) + #else /* Calls __ARM_NR_cacheflush on ARM-Linux. */ @@ -311,7 +322,9 @@ typedef long int sljit_w; #if !defined(SLJIT_BIG_ENDIAN) && !defined(SLJIT_LITTLE_ENDIAN) /* These macros are useful for the application. */ -#if (defined SLJIT_CONFIG_PPC_32 && SLJIT_CONFIG_PPC_32) || (defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) +#if (defined SLJIT_CONFIG_PPC_32 && SLJIT_CONFIG_PPC_32) \ + || (defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) \ + || (defined SLJIT_CONFIG_SPARC_32 && SLJIT_CONFIG_SPARC_32) #define SLJIT_BIG_ENDIAN 1 #elif (defined SLJIT_CONFIG_MIPS_32 && SLJIT_CONFIG_MIPS_32) @@ -337,11 +350,21 @@ typedef long int sljit_w; #error "Exactly one endianness must be selected" #endif +#ifndef SLJIT_INDIRECT_CALL #if (defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) || (defined SLJIT_CONFIG_PPC_32 && SLJIT_CONFIG_PPC_32 && defined _AIX) /* It seems certain ppc compilers use an indirect addressing for functions which makes things complicated. */ #define SLJIT_INDIRECT_CALL 1 #endif +#endif /* SLJIT_INDIRECT_CALL */ + +#ifndef SLJIT_RETURN_ADDRESS_OFFSET +#if (defined SLJIT_CONFIG_SPARC_32 && SLJIT_CONFIG_SPARC_32) +#define SLJIT_RETURN_ADDRESS_OFFSET 8 +#else +#define SLJIT_RETURN_ADDRESS_OFFSET 0 +#endif +#endif /* SLJIT_RETURN_ADDRESS_OFFSET */ #ifndef SLJIT_SSE2 Index: src/sys/external/bsd/sljit/dist/sljit_src/sljitNativeX86_common.c diff -u src/sys/external/bsd/sljit/dist/sljit_src/sljitNativeX86_common.c:1.2 src/sys/external/bsd/sljit/dist/sljit_src/sljitNativeX86_common.c:1.3 --- src/sys/external/bsd/sljit/dist/sljit_src/sljitNativeX86_common.c:1.2 Sat Oct 13 19:38:24 2012 +++ src/sys/external/bsd/sljit/dist/sljit_src/sljitNativeX86_common.c Sun Oct 28 09:38:59 2012 @@ -67,7 +67,7 @@ SLJIT_API_FUNC_ATTRIBUTE SLJIT_CONST cha #define TMP_REGISTER (SLJIT_NO_REGISTERS + 1) static SLJIT_CONST sljit_ub reg_map[SLJIT_NO_REGISTERS + 2] = { - 0, 0, 2, 1, 0, 0, 3, 6, 7, 0, 0, 4, 5 + 0, 0, 2, 1, 0, 0, 3, 6, 7, 0, 0, 4, 5 }; #define CHECK_EXTRA_REGS(p, w, do) \ @@ -95,20 +95,20 @@ static SLJIT_CONST sljit_ub reg_map[SLJI #ifndef _WIN64 /* 1st passed in rdi, 2nd argument passed in rsi, 3rd in rdx. */ static SLJIT_CONST sljit_ub reg_map[SLJIT_NO_REGISTERS + 4] = { - 0, 0, 6, 1, 8, 11, 3, 15, 14, 13, 12, 4, 2, 7, 9 + 0, 0, 6, 1, 8, 11, 3, 15, 14, 13, 12, 4, 2, 7, 9 }; /* low-map. reg_map & 0x7. */ static SLJIT_CONST sljit_ub reg_lmap[SLJIT_NO_REGISTERS + 4] = { - 0, 0, 6, 1, 0, 3, 3, 7, 6, 5, 4, 4, 2, 7, 1 + 0, 0, 6, 1, 0, 3, 3, 7, 6, 5, 4, 4, 2, 7, 1 }; #else /* 1st passed in rcx, 2nd argument passed in rdx, 3rd in r8. */ static SLJIT_CONST sljit_ub reg_map[SLJIT_NO_REGISTERS + 4] = { - 0, 0, 2, 1, 11, 13, 3, 6, 7, 14, 15, 4, 10, 8, 9 + 0, 0, 2, 1, 11, 13, 3, 6, 7, 14, 15, 4, 10, 8, 9 }; /* low-map. reg_map & 0x7. */ static SLJIT_CONST sljit_ub reg_lmap[SLJIT_NO_REGISTERS + 4] = { - 0, 0, 2, 1, 3, 5, 3, 6, 7, 6, 7, 4, 2, 0, 1 + 0, 0, 2, 1, 3, 5, 3, 6, 7, 6, 7, 4, 2, 0, 1 }; #endif @@ -203,10 +203,10 @@ static sljit_ub get_jump_code(int type) case SLJIT_C_MUL_NOT_OVERFLOW: return 0x81; - case SLJIT_C_FLOAT_NAN: + case SLJIT_C_FLOAT_UNORDERED: return 0x8a; - case SLJIT_C_FLOAT_NOT_NAN: + case SLJIT_C_FLOAT_ORDERED: return 0x8b; } return 0; @@ -2477,11 +2477,11 @@ SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_ cond_set = 0x91; break; - case SLJIT_C_FLOAT_NAN: + case SLJIT_C_FLOAT_UNORDERED: cond_set = 0x9a; break; - case SLJIT_C_FLOAT_NOT_NAN: + case SLJIT_C_FLOAT_ORDERED: cond_set = 0x9b; break; }