⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 244001 in webkit


Ignore:
Timestamp:
Apr 8, 2019, 5:38:37 AM (7 years ago)
Author:
Carlos Garcia Campos
Message:

Merge r243989 - [CMake] Detect SSE2 at compile time
https://bugs.webkit.org/show_bug.cgi?id=196488

Patch by Xan Lopez <Xan Lopez> on 2019-04-08
Reviewed by Carlos Garcia Campos.

.:

  • CMakeLists.txt: Use FindSSE2.cmake to detect SSE2 support.
  • Source/cmake/FindSSE2.cmake: Added.

Source/JavaScriptCore:

  • assembler/MacroAssemblerX86Common.cpp: Remove unnecessary (and

incorrect) static_assert.

Location:
releases/WebKitGTK/webkit-2.24
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • releases/WebKitGTK/webkit-2.24/CMakeLists.txt

    r239378 r244001  
    107107endif ()
    108108
     109#---------------------------
     110# Make sure SSE2 is present.
     111#---------------------------
     112if (WTF_CPU_X86)
     113    include(FindSSE2)
     114    if (NOT SSE2_SUPPORT_FOUND)
     115        message(FATAL_ERROR "SSE2 support is required to compile WebKit")
     116    endif ()
     117endif ()
     118
    109119# -----------------------------------------------------------------------------
    110120# Determine the operating system
  • releases/WebKitGTK/webkit-2.24/ChangeLog

    r243981 r244001  
     12019-04-08  Xan Lopez  <xan@igalia.com>
     2
     3        [CMake] Detect SSE2 at compile time
     4        https://bugs.webkit.org/show_bug.cgi?id=196488
     5
     6        Reviewed by Carlos Garcia Campos.
     7
     8        * CMakeLists.txt: Use FindSSE2.cmake to detect SSE2 support.
     9        * Source/cmake/FindSSE2.cmake: Added.
     10
    1112019-02-28  Carlos Garcia Campos  <cgarcia@igalia.com>
    212
  • releases/WebKitGTK/webkit-2.24/Source/JavaScriptCore/ChangeLog

    r243997 r244001  
     12019-04-08  Xan Lopez  <xan@igalia.com>
     2
     3        [CMake] Detect SSE2 at compile time
     4        https://bugs.webkit.org/show_bug.cgi?id=196488
     5
     6        Reviewed by Carlos Garcia Campos.
     7
     8        * assembler/MacroAssemblerX86Common.cpp: Remove unnecessary (and
     9        incorrect) static_assert.
     10
    1112019-03-21  Carlos Garcia Campos  <cgarcia@igalia.com>
    212
  • releases/WebKitGTK/webkit-2.24/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp

    r236450 r244001  
    788788        {
    789789            CPUID cpuid = getCPUID(0x1);
    790             s_sse2CheckState = (cpuid[3] & (1 << 26)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear;
    791790            s_sse4_1CheckState = (cpuid[2] & (1 << 19)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear;
    792791            s_sse4_2CheckState = (cpuid[2] & (1 << 20)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear;
     
    805804}
    806805
    807 MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse2CheckState = CPUIDCheckState::NotChecked;
    808806MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse4_1CheckState = CPUIDCheckState::NotChecked;
    809807MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse4_2CheckState = CPUIDCheckState::NotChecked;
  • releases/WebKitGTK/webkit-2.24/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h

    r242484 r244001  
    42654265#endif
    42664266
    4267 #if CPU(X86)
    4268 #if OS(MAC_OS_X)
    4269 
    4270     // All X86 Macs are guaranteed to support at least SSE2,
    4271     static bool isSSE2Present()
    4272     {
    4273         return true;
    4274     }
    4275 
    4276 #else // OS(MAC_OS_X)
    4277     static bool isSSE2Present()
    4278     {
    4279         if (s_sse2CheckState == CPUIDCheckState::NotChecked)
    4280             collectCPUFeatures();
    4281         return s_sse2CheckState == CPUIDCheckState::Set;
    4282     }
    4283 
    4284 #endif // OS(MAC_OS_X)
    4285 #elif !defined(NDEBUG) // CPU(X86)
    4286 
    4287     // On x86-64 we should never be checking for SSE2 in a non-debug build,
    4288     // but non debug add this method to keep the asserts above happy.
    4289     static bool isSSE2Present()
    4290     {
    4291         return true;
    4292     }
    4293 
    4294 #endif
    4295 
    42964267    using CPUID = std::array<unsigned, 4>;
    42974268    static CPUID getCPUID(unsigned level);
     
    42994270    JS_EXPORT_PRIVATE static void collectCPUFeatures();
    43004271
    4301     JS_EXPORT_PRIVATE static CPUIDCheckState s_sse2CheckState;
    43024272    JS_EXPORT_PRIVATE static CPUIDCheckState s_sse4_1CheckState;
    43034273    JS_EXPORT_PRIVATE static CPUIDCheckState s_sse4_2CheckState;
Note: See TracChangeset for help on using the changeset viewer.