Title: [165296] trunk/Source
Revision
165296
Author
[email protected]
Date
2014-03-07 15:21:18 -0800 (Fri, 07 Mar 2014)

Log Message

[Win64] Compile error after r165128.
https://bugs.webkit.org/show_bug.cgi?id=129807

Patch by [email protected] <[email protected]> on 2014-03-07
Reviewed by Mark Lam.

Source/_javascript_Core:

* _javascript_Core.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.sh:
Check platform environment variable to determine if an assembler file should be generated.

Source/WTF:

* wtf/Platform.h: MSVC does not support computed goto.
Also enabled COMPUTED_GOTO_OPCODES when !ENABLE(LLINT_C_LOOP). This is needed because the ASM LLINT operates like COMPUTED_GOTO_OPCODES,
and relies on the related data structures being defined to support this. On Win32, the platform does not HAVE_COMPUTED_GOTO support,
but does want ENABLE_COMPUTED_GOTO_OPCODES because it uses the ASM LLINT.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (165295 => 165296)


--- trunk/Source/_javascript_Core/ChangeLog	2014-03-07 22:53:27 UTC (rev 165295)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-03-07 23:21:18 UTC (rev 165296)
@@ -1,3 +1,13 @@
+2014-03-07  [email protected]  <[email protected]>
+
+        [Win64] Compile error after r165128.
+        https://bugs.webkit.org/show_bug.cgi?id=129807
+
+        Reviewed by Mark Lam.
+
+        * _javascript_Core.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.sh: 
+        Check platform environment variable to determine if an assembler file should be generated.
+
 2014-03-07  Michael Saboff  <[email protected]>
 
         Clarify how we deal with "special" registers

Modified: trunk/Source/_javascript_Core/_javascript_Core.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.sh (165295 => 165296)


--- trunk/Source/_javascript_Core/_javascript_Core.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.sh	2014-03-07 22:53:27 UTC (rev 165295)
+++ trunk/Source/_javascript_Core/_javascript_Core.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.sh	2014-03-07 23:21:18 UTC (rev 165296)
@@ -20,13 +20,18 @@
 
 cd "${BUILT_PRODUCTS_DIR}/_javascript_Core/DerivedSources"
 
-##############################################################################
-# Step 3: Build LLIntOffsetsExtractor
-
 # Create a dummy asm file in case we are using the C backend
 # This is needed since LowLevelInterpreterWin.asm is part of the project.
+
 printf "END" > LowLevelInterpreterWin.asm
 
-# When enabling LLINT and switching to the x86 backend, use "LowLevelInterpreterWin.asm" as output file when running asm.rb.
+# Win32 is using the LLINT x86 backend, and should generate an assembler file.
+# Win64 is using the LLINT C backend, and should generate a header file.
 
-/usr/bin/env ruby "${SRCROOT}/offlineasm/asm.rb" "${SRCROOT}/llint/LowLevelInterpreter.asm" "${BUILT_PRODUCTS_DIR}/LLIntOffsetsExtractor/LLIntOffsetsExtractor${3}.exe" "LowLevelInterpreterWin.asm" || exit 1
+if [ "${PLATFORMARCHITECTURE}" == "32" ]; then
+    OUTPUTFILENAME="LowLevelInterpreterWin.asm"
+else
+    OUTPUTFILENAME="LLIntAssembly.h"
+fi
+
+/usr/bin/env ruby "${SRCROOT}/offlineasm/asm.rb" "${SRCROOT}/llint/LowLevelInterpreter.asm" "${BUILT_PRODUCTS_DIR}/LLIntOffsetsExtractor/LLIntOffsetsExtractor${3}.exe" "${OUTPUTFILENAME}" || exit 1

Modified: trunk/Source/WTF/ChangeLog (165295 => 165296)


--- trunk/Source/WTF/ChangeLog	2014-03-07 22:53:27 UTC (rev 165295)
+++ trunk/Source/WTF/ChangeLog	2014-03-07 23:21:18 UTC (rev 165296)
@@ -1,3 +1,15 @@
+2014-03-07  [email protected]  <[email protected]>
+
+        [Win64] Compile error after r165128.
+        https://bugs.webkit.org/show_bug.cgi?id=129807
+
+        Reviewed by Mark Lam.
+
+        * wtf/Platform.h: MSVC does not support computed goto.
+        Also enabled COMPUTED_GOTO_OPCODES when !ENABLE(LLINT_C_LOOP). This is needed because the ASM LLINT operates like COMPUTED_GOTO_OPCODES,
+        and relies on the related data structures being defined to support this. On Win32, the platform does not HAVE_COMPUTED_GOTO support,
+        but does want ENABLE_COMPUTED_GOTO_OPCODES because it uses the ASM LLINT.
+
 2014-03-06  Michael Saboff  <[email protected]>
 
         JSC should disable the JIT when building for ARMv7k

Modified: trunk/Source/WTF/wtf/Platform.h (165295 => 165296)


--- trunk/Source/WTF/wtf/Platform.h	2014-03-07 22:53:27 UTC (rev 165295)
+++ trunk/Source/WTF/wtf/Platform.h	2014-03-07 23:21:18 UTC (rev 165296)
@@ -790,12 +790,12 @@
 #endif
 
 /* Configure the interpreter */
-#if COMPILER(GCC) || COMPILER(MSVC)
+#if COMPILER(GCC)
 #define HAVE_COMPUTED_GOTO 1
 #endif
 
 /* Determine if we need to enable Computed Goto Opcodes or not: */
-#if HAVE(COMPUTED_GOTO) && ENABLE(LLINT)
+#if HAVE(COMPUTED_GOTO) || !ENABLE(LLINT_C_LOOP)
 #define ENABLE_COMPUTED_GOTO_OPCODES 1
 #endif
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to