Title: [174473] trunk/Source
Revision
174473
Author
[email protected]
Date
2014-10-08 13:16:46 -0700 (Wed, 08 Oct 2014)

Log Message

[WinCairo] Enable JIT on 32-bit.
https://bugs.webkit.org/show_bug.cgi?id=137521

Patch by [email protected] <[email protected]> on 2014-10-08
Reviewed by Mark Lam.

Enable JIT on Windows 32-bit, but disable it at runtime if SSE2 is not present.

Source/_javascript_Core:

* _javascript_Core.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.pl:
* runtime/Options.cpp:
(JSC::recomputeDependentOptions):

Source/WTF:

* wtf/Platform.h:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (174472 => 174473)


--- trunk/Source/_javascript_Core/ChangeLog	2014-10-08 20:04:33 UTC (rev 174472)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-10-08 20:16:46 UTC (rev 174473)
@@ -1,3 +1,16 @@
+2014-10-08  [email protected]  <[email protected]>
+
+        [WinCairo] Enable JIT on 32-bit.
+        https://bugs.webkit.org/show_bug.cgi?id=137521
+
+        Reviewed by Mark Lam.
+
+        Enable JIT on Windows 32-bit, but disable it at runtime if SSE2 is not present.
+
+        * _javascript_Core.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.pl:
+        * runtime/Options.cpp:
+        (JSC::recomputeDependentOptions):
+
 2014-10-08  Brent Fulgham  <[email protected]>
 
         [Win] Resolve some static analysis warnings in _javascript_Core

Modified: trunk/Source/_javascript_Core/_javascript_Core.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.pl (174472 => 174473)


--- trunk/Source/_javascript_Core/_javascript_Core.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.pl	2014-10-08 20:04:33 UTC (rev 174472)
+++ trunk/Source/_javascript_Core/_javascript_Core.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.pl	2014-10-08 20:16:46 UTC (rev 174473)
@@ -62,13 +62,7 @@
 close(OUTPUTFILENAME);
 
 # If you want to enable the LLINT C loop, set OUTPUTFILENAME to "LLIntAssembly.h"
-# We only want the C loop for 32-bit Windows so we can continue to support old CPUs.
-my $OUTPUTFILENAME;
-if ("$ARGV[3]" eq "32") {
-    $OUTPUTFILENAME = File::Spec->catfile($DERIVED_SOURCES_DIR, 'LLIntAssembly.h');
-} else {
-    $OUTPUTFILENAME = File::Spec->catfile($DERIVED_SOURCES_DIR, 'LowLevelInterpreterWin.asm');
-}
+my $OUTPUTFILENAME = File::Spec->catfile($DERIVED_SOURCES_DIR, 'LowLevelInterpreterWin.asm');
 
 my $offlineAsm = File::Spec->catfile($XSRCROOT, 'offlineasm', 'asm.rb');
 my $lowLevelInterpreter = File::Spec->catfile($XSRCROOT, 'llint', 'LowLevelInterpreter.asm');

Modified: trunk/Source/_javascript_Core/runtime/Options.cpp (174472 => 174473)


--- trunk/Source/_javascript_Core/runtime/Options.cpp	2014-10-08 20:04:33 UTC (rev 174472)
+++ trunk/Source/_javascript_Core/runtime/Options.cpp	2014-10-08 20:16:46 UTC (rev 174473)
@@ -41,6 +41,10 @@
 #include <sys/sysctl.h>
 #endif
 
+#if OS(WINDOWS)
+#include "MacroAssemblerX86.h"
+#endif
+
 namespace JSC {
 
 static bool parse(const char* string, bool& value)
@@ -227,7 +231,11 @@
 #if !ENABLE(FTL_JIT)
     Options::useFTLJIT() = false;
 #endif
-
+#if OS(WINDOWS) && CPU(X86) 
+    // Disable JIT on Windows if SSE2 is not present 
+    if (!MacroAssemblerX86::supportsFloatingPoint())
+        Options::useJIT() = false;
+#endif
     if (Options::showDisassembly()
         || Options::showDFGDisassembly()
         || Options::showFTLDisassembly()

Modified: trunk/Source/WTF/ChangeLog (174472 => 174473)


--- trunk/Source/WTF/ChangeLog	2014-10-08 20:04:33 UTC (rev 174472)
+++ trunk/Source/WTF/ChangeLog	2014-10-08 20:16:46 UTC (rev 174473)
@@ -1,3 +1,14 @@
+2014-10-08  [email protected]  <[email protected]>
+
+        [WinCairo] Enable JIT on 32-bit.
+        https://bugs.webkit.org/show_bug.cgi?id=137521
+
+        Reviewed by Mark Lam.
+
+        Enable JIT on Windows 32-bit, but disable it at runtime if SSE2 is not present.
+
+        * wtf/Platform.h:
+
 2014-10-08  Brent Fulgham  <[email protected]>
 
         [Win] Resolve warnings about missing __has_include macro under MSVC

Modified: trunk/Source/WTF/wtf/Platform.h (174472 => 174473)


--- trunk/Source/WTF/wtf/Platform.h	2014-10-08 20:04:33 UTC (rev 174472)
+++ trunk/Source/WTF/wtf/Platform.h	2014-10-08 20:16:46 UTC (rev 174473)
@@ -728,12 +728,6 @@
 #define ENABLE_CONCURRENT_JIT 1
 #endif
 
-/* We do not want to allow LLInt on 32-bit Windows so that we can support some ancient
-   CPUs that do not have SSE2 support */
-#if OS(WINDOWS) && !CPU(X86_64)
-#define ENABLE_LLINT_C_LOOP 1
-#endif
-
 /* Disable the JIT if we force the LLInt C Loop */
 #if defined(ENABLE_LLINT_C_LOOP) && ENABLE_LLINT_C_LOOP
 #undef ENABLE_JIT
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to