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