Changeset 244138 in webkit
- Timestamp:
- Apr 10, 2019 11:27:25 AM (5 years ago)
- Location:
- trunk
- Files:
-
- 1 deleted
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/CMakeLists.txt
r243989 r244138 115 115 endif () 116 116 117 #---------------------------118 # Make sure SSE2 is present.119 #---------------------------120 if (WTF_CPU_X86)121 include(FindSSE2)122 if (NOT SSE2_SUPPORT_FOUND)123 message(FATAL_ERROR "SSE2 support is required to compile WebKit")124 endif ()125 endif ()126 127 117 # ----------------------------------------------------------------------------- 128 118 # Determine the operating system -
trunk/ChangeLog
r244103 r244138 1 2019-04-10 Michael Catanzaro <mcatanzaro@igalia.com> 2 3 Unreviewed, rolling out r243989. 4 5 Broke i686 builds 6 7 Reverted changeset: 8 9 "[CMake] Detect SSE2 at compile time" 10 https://bugs.webkit.org/show_bug.cgi?id=196488 11 https://trac.webkit.org/changeset/243989 12 1 13 2019-04-09 Don Olmstead <don.olmstead@sony.com> 2 14 -
trunk/Source/JavaScriptCore/ChangeLog
r244136 r244138 1 2019-04-10 Michael Catanzaro <mcatanzaro@igalia.com> 2 3 Unreviewed, rolling out r243989. 4 5 Broke i686 builds 6 7 Reverted changeset: 8 9 "[CMake] Detect SSE2 at compile time" 10 https://bugs.webkit.org/show_bug.cgi?id=196488 11 https://trac.webkit.org/changeset/243989 12 1 13 2019-04-10 Robin Morisset <rmorisset@apple.com> 2 14 -
trunk/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp
r243989 r244138 168 168 static_assert(sizeof(Probe::State) == PROBE_SIZE, "Probe::State::size's matches ctiMasmProbeTrampoline"); 169 169 static_assert((PROBE_EXECUTOR_OFFSET + PTR_SIZE) <= (PROBE_SIZE + OUT_SIZE), "Must have room after ProbeContext to stash the probe handler"); 170 171 #if CPU(X86) 172 // SSE2 is a hard requirement on x86. 173 static_assert(isSSE2Present(), "SSE2 support is required in JavaScriptCore"); 174 #endif 170 175 171 176 #undef PROBE_OFFSETOF … … 788 793 { 789 794 CPUID cpuid = getCPUID(0x1); 795 s_sse2CheckState = (cpuid[3] & (1 << 26)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear; 790 796 s_sse4_1CheckState = (cpuid[2] & (1 << 19)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear; 791 797 s_sse4_2CheckState = (cpuid[2] & (1 << 20)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear; … … 804 810 } 805 811 812 MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse2CheckState = CPUIDCheckState::NotChecked; 806 813 MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse4_1CheckState = CPUIDCheckState::NotChecked; 807 814 MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse4_2CheckState = CPUIDCheckState::NotChecked; -
trunk/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h
r243989 r244138 4198 4198 #endif 4199 4199 4200 #if CPU(X86) 4201 #if OS(MAC_OS_X) 4202 4203 // All X86 Macs are guaranteed to support at least SSE2, 4204 static bool isSSE2Present() 4205 { 4206 return true; 4207 } 4208 4209 #else // OS(MAC_OS_X) 4210 static bool isSSE2Present() 4211 { 4212 if (s_sse2CheckState == CPUIDCheckState::NotChecked) 4213 collectCPUFeatures(); 4214 return s_sse2CheckState == CPUIDCheckState::Set; 4215 } 4216 4217 #endif // OS(MAC_OS_X) 4218 #elif !defined(NDEBUG) // CPU(X86) 4219 4220 // On x86-64 we should never be checking for SSE2 in a non-debug build, 4221 // but non debug add this method to keep the asserts above happy. 4222 static bool isSSE2Present() 4223 { 4224 return true; 4225 } 4226 4227 #endif 4228 4200 4229 using CPUID = std::array<unsigned, 4>; 4201 4230 static CPUID getCPUID(unsigned level); … … 4203 4232 JS_EXPORT_PRIVATE static void collectCPUFeatures(); 4204 4233 4234 JS_EXPORT_PRIVATE static CPUIDCheckState s_sse2CheckState; 4205 4235 JS_EXPORT_PRIVATE static CPUIDCheckState s_sse4_1CheckState; 4206 4236 JS_EXPORT_PRIVATE static CPUIDCheckState s_sse4_2CheckState;
Note: See TracChangeset
for help on using the changeset viewer.