WebKit Bugzilla
Attachment 346962 Details for
Bug 188476
: Disable JIT on IA-32 without SSE2
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-188476-20180811183800.patch (text/plain), 5.44 KB, created by
karogyoker2+webkit
on 2018-08-11 09:37:53 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
karogyoker2+webkit
Created:
2018-08-11 09:37:53 PDT
Size:
5.44 KB
patch
obsolete
>Index: ChangeLog >=================================================================== >--- ChangeLog (revision 234702) >+++ ChangeLog (working copy) >@@ -1,3 +1,17 @@ >+2018-08-11 Karo Gyoker <karogyoker2+webkit@gmail.com> >+ >+ [CMake][GTK] Disable JIT on IA-32 without SSE2 >+ https://bugs.webkit.org/show_bug.cgi?id=188476 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ On IA-32 CPUs without SSE2 most of the webpages are cannot load >+ if the JIT is turned on. >+ >+ * CMakeLists.txt: >+ * Source/cmake/OptionsGTK.cmake: >+ * Source/cmake/WebKitFeatures.cmake: >+ > 2018-07-30 Thibault Saunier <tsaunier@igalia.com> > > [GStreamer] Make codecparsers optionnal >Index: CMakeLists.txt >=================================================================== >--- CMakeLists.txt (revision 234702) >+++ CMakeLists.txt (working copy) >@@ -104,6 +104,43 @@ else () > endif () > > # ----------------------------------------------------------------------------- >+# Determine if target CPU supports SSE2 >+# ----------------------------------------------------------------------------- >+if (WTF_CPU_X86) >+ if (CMAKE_COMPILER_IS_GNUCXX) >+ string(CONCAT LOWERCASE_CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} " ") >+ string(TOLOWER ${LOWERCASE_CMAKE_CXX_FLAGS} LOWERCASE_CMAKE_CXX_FLAGS) >+ if (${LOWERCASE_CMAKE_CXX_FLAGS} MATCHES "-march=([a-z0-9-]+)") >+ if (${CMAKE_MATCH_1} MATCHES "^(i[3-6]86|pentium(-mmx|pro|2|3|3m)?|k6(-[2-3])?|athlon(-(tbird|4|xp|mp))?|winchip(-c6|2)?|c3(-2)?|geocode)$") >+ set(WTF_CPU_X86_SSE2 0) >+ else () >+ set(WTF_CPU_X86_SSE2 1) >+ endif () >+ else () >+ if (CMAKE_HOST_SYSTEM_NAME MATCHES "Linux") >+ execute_process(COMMAND grep "^flags" /proc/cpuinfo OUTPUT_VARIABLE PROC_FLAGS) >+ if (PROC_FLAGS MATCHES "sse2") >+ set(WTF_CPU_X86_SSE2 1) >+ else () >+ set(WTF_CPU_X86_SSE2 0) >+ endif () >+ else () >+ # Fall back to original behavior >+ set(WTF_CPU_X86_SSE2 1) >+ endif () >+ endif () >+ else () >+ # Fall back to original behavior >+ set(WTF_CPU_X86_SSE2 1) >+ endif () >+elseif (WTF_CPU_X86_64) >+ # Every X86_64 CPU supports SSE2 >+ set(WTF_CPU_X86_SSE2 1) >+else () >+ set(WTF_CPU_X86_SSE2 0) >+endif () >+ >+# ----------------------------------------------------------------------------- > # Determine the operating system > # ----------------------------------------------------------------------------- > if (UNIX) >Index: Source/WTF/ChangeLog >=================================================================== >--- Source/WTF/ChangeLog (revision 234783) >+++ Source/WTF/ChangeLog (working copy) >@@ -1,3 +1,15 @@ >+2018-08-11 Karo Gyoker <karogyoker2+webkit@gmail.com> >+ >+ [CMake][GTK] Disable JIT on IA-32 without SSE2 >+ https://bugs.webkit.org/show_bug.cgi?id=188476 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ On IA-32 CPUs without SSE2 most of the webpages are cannot load >+ if the JIT is turned on. >+ >+ * wtf/Platform.h: >+ > 2018-08-10 Ryosuke Niwa <rniwa@webkit.org> > > [macOS] Multiple third party apps crash due to the thread safety check in TimerBase::setNextFireTime >Index: Source/WTF/wtf/Platform.h >=================================================================== >--- Source/WTF/wtf/Platform.h (revision 234702) >+++ Source/WTF/wtf/Platform.h (working copy) >@@ -738,9 +738,9 @@ > #endif > #endif /* !defined(USE_JSVALUE64) && !defined(USE_JSVALUE32_64) */ > >-/* The JIT is enabled by default on all x86, x86-64, ARM & MIPS platforms except ARMv7k. */ >+/* The JIT is enabled by default on all x86 with SSE2, x86-64, ARM & MIPS platforms except ARMv7k. */ > #if !defined(ENABLE_JIT) \ >- && (CPU(X86) || CPU(X86_64) || CPU(ARM) || (CPU(ARM64) && !defined(__ILP32__)) || CPU(MIPS)) \ >+ && (CPU(X86_SSE2) || CPU(X86_64) || CPU(ARM) || (CPU(ARM64) && !defined(__ILP32__)) || CPU(MIPS)) \ > && !CPU(APPLE_ARMV7K) > #define ENABLE_JIT 1 > #endif >Index: Source/cmake/OptionsGTK.cmake >=================================================================== >--- Source/cmake/OptionsGTK.cmake (revision 234702) >+++ Source/cmake/OptionsGTK.cmake (working copy) >@@ -126,7 +126,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ > WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DRAG_SUPPORT PUBLIC ON) > WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GEOLOCATION PUBLIC ON) > WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ICONDATABASE PUBLIC ON) >-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_JIT PUBLIC ON) >+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_JIT PUBLIC ${ENABLE_JIT_DEFAULT}) > WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SAMPLING_PROFILER PUBLIC ON) > WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPELLCHECK PUBLIC ON) > WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_EVENTS PUBLIC ON) >Index: Source/cmake/WebKitFeatures.cmake >=================================================================== >--- Source/cmake/WebKitFeatures.cmake (revision 234702) >+++ Source/cmake/WebKitFeatures.cmake (working copy) >@@ -72,7 +72,8 @@ macro(WEBKIT_OPTION_BEGIN) > set(ENABLE_FTL_DEFAULT OFF) > endif () > >- if (WTF_CPU_ARM OR WTF_CPU_ARM64 OR WTF_CPU_MIPS OR WTF_CPU_X86_64 OR WTF_CPU_X86) >+ # Warning: The ENABLE_JIT_DEFAULT variable is used in OptionsGTK.cmake too >+ if (WTF_CPU_ARM OR WTF_CPU_ARM64 OR WTF_CPU_MIPS OR WTF_CPU_X86_64 OR WTF_CPU_X86_SSE2) > set(ENABLE_JIT_DEFAULT ON) > set(USE_SYSTEM_MALLOC_DEFAULT OFF) > else ()
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 188476
:
346916
|
346962
|
346968
|
346984