Changeset 244138 in webkit


Ignore:
Timestamp:
Apr 10, 2019 11:27:25 AM (5 years ago)
Author:
Michael Catanzaro
Message:

Unreviewed, rolling out r243989.

Broke i686 builds

Reverted changeset:

"[CMake] Detect SSE2 at compile time"
https://bugs.webkit.org/show_bug.cgi?id=196488
https://trac.webkit.org/changeset/243989

Location:
trunk
Files:
1 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/CMakeLists.txt

    r243989 r244138  
    115115endif ()
    116116
    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 
    127117# -----------------------------------------------------------------------------
    128118# Determine the operating system
  • trunk/ChangeLog

    r244103 r244138  
     12019-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
    1132019-04-09  Don Olmstead  <don.olmstead@sony.com>
    214
  • trunk/Source/JavaScriptCore/ChangeLog

    r244136 r244138  
     12019-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
    1132019-04-10  Robin Morisset  <rmorisset@apple.com>
    214
  • trunk/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp

    r243989 r244138  
    168168static_assert(sizeof(Probe::State) == PROBE_SIZE, "Probe::State::size's matches ctiMasmProbeTrampoline");
    169169static_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.
     173static_assert(isSSE2Present(), "SSE2 support is required in JavaScriptCore");
     174#endif
    170175
    171176#undef PROBE_OFFSETOF
     
    788793        {
    789794            CPUID cpuid = getCPUID(0x1);
     795            s_sse2CheckState = (cpuid[3] & (1 << 26)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear;
    790796            s_sse4_1CheckState = (cpuid[2] & (1 << 19)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear;
    791797            s_sse4_2CheckState = (cpuid[2] & (1 << 20)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear;
     
    804810}
    805811
     812MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse2CheckState = CPUIDCheckState::NotChecked;
    806813MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse4_1CheckState = CPUIDCheckState::NotChecked;
    807814MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse4_2CheckState = CPUIDCheckState::NotChecked;
  • trunk/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h

    r243989 r244138  
    41984198#endif
    41994199
     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
    42004229    using CPUID = std::array<unsigned, 4>;
    42014230    static CPUID getCPUID(unsigned level);
     
    42034232    JS_EXPORT_PRIVATE static void collectCPUFeatures();
    42044233
     4234    JS_EXPORT_PRIVATE static CPUIDCheckState s_sse2CheckState;
    42054235    JS_EXPORT_PRIVATE static CPUIDCheckState s_sse4_1CheckState;
    42064236    JS_EXPORT_PRIVATE static CPUIDCheckState s_sse4_2CheckState;
Note: See TracChangeset for help on using the changeset viewer.