Changeset 225040 in webkit
- Timestamp:
- Nov 19, 2017, 5:41:20 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 8 edited
-
CMakeLists.txt (modified) (2 diffs)
-
ChangeLog (modified) (1 diff)
-
Source/JavaScriptCore/CMakeLists.txt (modified) (2 diffs)
-
Source/JavaScriptCore/ChangeLog (modified) (1 diff)
-
Source/WTF/ChangeLog (modified) (1 diff)
-
Source/WTF/wtf/InlineASM.h (modified) (3 diffs)
-
Source/WTF/wtf/Platform.h (modified) (11 diffs)
-
Source/WTF/wtf/dtoa/utils.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/CMakeLists.txt
r224226 r225040 81 81 elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64") 82 82 set(WTF_CPU_ARM64 1) 83 elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "alpha*")84 set(WTF_CPU_ALPHA 1)85 83 elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^mips") 86 84 set(WTF_CPU_MIPS 1) 87 elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "sh4")88 set(WTF_CPU_SH4 1)89 85 elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(x64|x86_64|amd64)") 90 86 set(WTF_CPU_X86_64 1) … … 97 93 elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le") 98 94 set(WTF_CPU_PPC64LE 1) 99 elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "parisc*")100 set(WTF_CPU_HPPA 1)101 elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390")102 set(WTF_CPU_S390 1)103 elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390x")104 set(WTF_CPU_S390X 1)105 95 else () 106 message(FATAL_ERROR "Unknown CPU '${LOWERCASE_CMAKE_SYSTEM_PROCESSOR}'")96 set(WTF_CPU_UNKNOWN 1) 107 97 endif () 108 98 -
trunk/ChangeLog
r225039 r225040 1 2017-11-19 Yusuke Suzuki <utatane.tea@gmail.com> 2 3 Add CPU(UNKNOWN) to cover all the unknown CPU types 4 https://bugs.webkit.org/show_bug.cgi?id=179243 5 6 Reviewed by JF Bastien. 7 8 Drop SH4, S390, and S390X explicit support. They are handled as CPU(UNKNOWN). 9 10 * CMakeLists.txt: 11 1 12 2017-11-19 Tim Horton <timothy_horton@apple.com> 2 13 -
trunk/Source/JavaScriptCore/CMakeLists.txt
r224826 r225040 577 577 list(APPEND JavaScriptCore_HEADERS ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InjectedScriptSource.h) 578 578 579 if (WTF_CPU_ARM) 580 elseif (WTF_CPU_ARM64) 581 elseif (WTF_CPU_ALPHA) 582 elseif (WTF_CPU_HPPA) 583 elseif (WTF_CPU_PPC) 584 elseif (WTF_CPU_PPC64) 585 elseif (WTF_CPU_PPC64LE) 586 elseif (WTF_CPU_S390) 587 elseif (WTF_CPU_S390X) 588 elseif (WTF_CPU_MIPS) 589 elseif (WTF_CPU_SH4) 590 elseif (WTF_CPU_X86) 591 elseif (WTF_CPU_X86_64) 579 if (WTF_CPU_X86_64) 592 580 if (MSVC AND ENABLE_JIT) 593 581 add_custom_command( … … 599 587 list(APPEND JavaScriptCore_SOURCES ${DERIVED_SOURCES_DIR}/JITStubsMSVC64.obj) 600 588 endif () 601 else ()602 message(FATAL_ERROR "Unknown CPU")603 589 endif () 604 590 -
trunk/Source/JavaScriptCore/ChangeLog
r225039 r225040 1 2017-11-19 Yusuke Suzuki <utatane.tea@gmail.com> 2 3 Add CPU(UNKNOWN) to cover all the unknown CPU types 4 https://bugs.webkit.org/show_bug.cgi?id=179243 5 6 Reviewed by JF Bastien. 7 8 * CMakeLists.txt: 9 1 10 2017-11-19 Tim Horton <timothy_horton@apple.com> 2 11 -
trunk/Source/WTF/ChangeLog
r225039 r225040 1 2017-11-19 Yusuke Suzuki <utatane.tea@gmail.com> 2 3 Add CPU(UNKNOWN) to cover all the unknown CPU types 4 https://bugs.webkit.org/show_bug.cgi?id=179243 5 6 Reviewed by JF Bastien. 7 8 This patch adds a new CPU type, `CPU(UNKNOWN)` to cover all the unknown CPUs. 9 This CPU architecture tells conservative assumption to make JSC work on all 10 the unknown generic CPUs. And we make several CPUs (ALPHA, SH4, S390, S390X, IA64, IA64_32) 11 UNKNOWN. 12 13 We also make InlineASM available only for !CPU(UNKNOWN). In an unknown CPU, inline asm is not useful. 14 15 And we also introduce a generic way to detect 64bit pointer environment by using 16 __SIZEOF_POINTER__ predefined macro, or `UINTPTR_MAX > UINT32_MAX`. 17 18 * wtf/InlineASM.h: 19 * wtf/Platform.h: 20 * wtf/dtoa/utils.h: 21 1 22 2017-11-19 Tim Horton <timothy_horton@apple.com> 2 23 -
trunk/Source/WTF/wtf/InlineASM.h
r221600 r225040 26 26 #ifndef InlineASM_h 27 27 #define InlineASM_h 28 #include <wtf/Platform.h> 29 #if !CPU(UNKNOWN) 28 30 29 31 /* asm directive helpers */ … … 66 68 || OS(FREEBSD) \ 67 69 || OS(OPENBSD) \ 68 || (OS(HPUX) && CPU(IA64))\70 || OS(HPUX) \ 69 71 || OS(NETBSD) 70 72 // ELF platform … … 95 97 #endif 96 98 99 #endif // !CPU(UNKNOWN) 97 100 #endif // InlineASM_h -
trunk/Source/WTF/wtf/Platform.h
r225032 r225040 58 58 59 59 /* ==== CPU() - the target CPU architecture ==== */ 60 61 /* CPU(ALPHA) - DEC Alpha */ 62 #if defined(__alpha__) 63 #define WTF_CPU_ALPHA 1 64 #endif 65 66 /* CPU(HPPA) - HP PA-RISC */ 67 #if defined(__hppa__) || defined(__hppa64__) 68 #define WTF_CPU_HPPA 1 69 #endif 70 71 /* CPU(IA64) - Itanium / IA-64 */ 72 #if defined(__ia64__) 73 #define WTF_CPU_IA64 1 74 /* 32-bit mode on Itanium */ 75 #if !defined(__LP64__) 76 #define WTF_CPU_IA64_32 1 77 #endif 78 #endif 60 /* CPU(KNOWN) becomes true if we explicitly support a target CPU. */ 79 61 80 62 /* CPU(MIPS) - MIPS 32-bit and 64-bit */ … … 87 69 #define WTF_MIPS_ARCH __mips 88 70 #endif 71 #define WTF_CPU_KNOWN 1 89 72 #define WTF_MIPS_PIC (defined __PIC__) 90 73 #define WTF_MIPS_ISA(v) (defined WTF_MIPS_ARCH && WTF_MIPS_ARCH == v) … … 104 87 && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) 105 88 #define WTF_CPU_PPC64 1 89 #define WTF_CPU_KNOWN 1 106 90 #endif 107 91 … … 114 98 && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) 115 99 #define WTF_CPU_PPC64LE 1 100 #define WTF_CPU_KNOWN 1 116 101 #endif 117 102 … … 127 112 && CPU(BIG_ENDIAN) 128 113 #define WTF_CPU_PPC 1 129 #endif 130 131 /* CPU(SH4) - SuperH SH-4 */ 132 #if defined(__SH4__) 133 #define WTF_CPU_SH4 1 134 #endif 135 136 /* CPU(S390X) - S390 64-bit */ 137 #if defined(__s390x__) 138 #define WTF_CPU_S390X 1 139 #endif 140 141 /* CPU(S390) - S390 32-bit */ 142 #if ( defined(__s390__) \ 143 && !CPU(S390X)) 144 #define WTF_CPU_S390 1 114 #define WTF_CPU_KNOWN 1 145 115 #endif 146 116 … … 152 122 || defined(__THW_INTEL) 153 123 #define WTF_CPU_X86 1 124 #define WTF_CPU_KNOWN 1 154 125 155 126 #if defined(__SSE2__) || (defined(_M_IX86_FP) && _M_IX86_FP >= 2) … … 164 135 #define WTF_CPU_X86_64 1 165 136 #define WTF_CPU_X86_SSE2 1 137 #define WTF_CPU_KNOWN 1 166 138 #endif 167 139 … … 169 141 #if (defined(__arm64__) && defined(__APPLE__)) || defined(__aarch64__) 170 142 #define WTF_CPU_ARM64 1 143 #define WTF_CPU_KNOWN 1 171 144 172 145 #if defined(__arm64e__) … … 183 156 || defined(_ARM_) 184 157 #define WTF_CPU_ARM 1 158 #define WTF_CPU_KNOWN 1 185 159 186 160 #if defined(__ARM_PCS_VFP) … … 345 319 #endif /* ARM */ 346 320 347 #if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ALPHA) || CPU(HPPA) 321 #if !CPU(KNOWN) 322 #define WTF_CPU_UNKNOWN 1 323 #endif 324 325 #if CPU(ARM) || CPU(MIPS) || CPU(UNKNOWN) 348 326 #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1 349 327 #endif … … 738 716 739 717 #if !defined(USE_JSVALUE64) && !defined(USE_JSVALUE32_64) 740 #if (CPU(X86_64) && !defined(__ILP32__) && (OS(UNIX) || OS(WINDOWS))) \ 741 || (CPU(IA64) && !CPU(IA64_32)) \ 742 || CPU(ALPHA) \ 743 || (CPU(ARM64) && !defined(__ILP32__)) \ 744 || CPU(S390X) \ 745 || CPU(MIPS64) \ 746 || CPU(PPC64) \ 747 || CPU(PPC64LE) 718 #if COMPILER(GCC_OR_CLANG) 719 /* __LP64__ is not defined on 64bit Windows since it uses LLP64. Using __SIZEOF_POINTER__ is simpler. */ 720 #if __SIZEOF_POINTER__ == 8 748 721 #define USE_JSVALUE64 1 749 #el se722 #elif __SIZEOF_POINTER__ == 4 750 723 #define USE_JSVALUE32_64 1 724 #else 725 #error "Unsupported pointer width" 726 #endif 727 #elif COMPILER(MSVC) 728 #if defined(_WIN64) 729 #define USE_JSVALUE64 1 730 #else 731 #define USE_JSVALUE32_64 1 732 #endif 733 #else 734 /* This is the most generic way. But in OS(DARWIN), Platform.h can be included by sandbox definition file (.sb). 735 * At that time, we cannot include "stdint.h" header. So in the case of known compilers, we use predefined constants instead. */ 736 #include <stdint.h> 737 #if UINTPTR_MAX > UINT32_MAX 738 #define USE_JSVALUE64 1 739 #else 740 #define USE_JSVALUE32_64 1 741 #endif 751 742 #endif 752 743 #endif /* !defined(USE_JSVALUE64) && !defined(USE_JSVALUE32_64) */ -
trunk/Source/WTF/wtf/dtoa/utils.h
r223035 r225040 50 50 defined(_MIPS_ARCH_MIPS32R2) 51 51 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 52 #elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU( SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA)52 #elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(ARM64) 53 53 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 54 54 #elif defined(_M_IX86) || defined(__i386__) … … 60 60 #endif // _WIN32 61 61 #else 62 #error Target architecture was not detected as supported by Double-Conversion. 62 // Conservatively disable double conversion for unknown architectures. 63 #undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 63 64 #endif 64 65
Note:
See TracChangeset
for help on using the changeset viewer.