[Win] 32-bit JavaScriptCore should limit itself to the C loop
authorbfulgham@apple.com <bfulgham@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 1 Oct 2014 18:22:25 +0000 (18:22 +0000)
committerbfulgham@apple.com <bfulgham@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 1 Oct 2014 18:22:25 +0000 (18:22 +0000)
https://bugs.webkit.org/show_bug.cgi?id=137304
<rdar://problem/18375370>

Reviewed by Michael Saboff.

../JavaScriptCore:

* JavaScriptCore.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.pl:
Use the C loop for 32-bit builds.

../WTF:

* wtf/Platform.h: Force the C loop when building for 32-bit Windows.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@174162 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/JavaScriptCore.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.pl
Source/WTF/ChangeLog
Source/WTF/wtf/Platform.h

index 5a54c7a..7e8b22c 100644 (file)
@@ -1,3 +1,14 @@
+2014-10-01  Brent Fulgham  <bfulgham@apple.com>
+
+        [Win] 32-bit JavaScriptCore should limit itself to the C loop
+        https://bugs.webkit.org/show_bug.cgi?id=137304
+        <rdar://problem/18375370>
+
+        Reviewed by Michael Saboff.
+
+        * JavaScriptCore.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.pl:
+        Use the C loop for 32-bit builds.
+
 2014-09-30  Brian J. Burg  <burg@cs.washington.edu>
 
         Web Inspector: ErrorString should be passed by reference
index 7afe748..5fbe6a5 100644 (file)
@@ -62,7 +62,13 @@ print OUTPUTFILENAME "END\n";
 close(OUTPUTFILENAME);
 
 # If you want to enable the LLINT C loop, set OUTPUTFILENAME to "LLIntAssembly.h"
-my $OUTPUTFILENAME = File::Spec->catfile($DERIVED_SOURCES_DIR, 'LowLevelInterpreterWin.asm');
+# 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 $offlineAsm = File::Spec->catfile($XSRCROOT, 'offlineasm', 'asm.rb');
 my $lowLevelInterpreter = File::Spec->catfile($XSRCROOT, 'llint', 'LowLevelInterpreter.asm');
index 4a311c9..3e38533 100644 (file)
@@ -1,3 +1,13 @@
+2014-10-01  Brent Fulgham  <bfulgham@apple.com>
+
+        [Win] 32-bit JavaScriptCore should limit itself to the C loop
+        https://bugs.webkit.org/show_bug.cgi?id=137304
+        <rdar://problem/18375370>
+
+        Reviewed by Michael Saboff.
+
+        * wtf/Platform.h: Force the C loop when building for 32-bit Windows.
+
 2014-09-30  Christophe Dumez  <cdumez@apple.com>
 
         Generalize is<>() / downcast<>() support to all types
index b6007b3..29c97bc 100644 (file)
 #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