Title: [129774] trunk/Source/_javascript_Core
Revision
129774
Author
par...@webkit.org
Date
2012-09-27 10:09:02 -0700 (Thu, 27 Sep 2012)

Log Message

Fix usage of COMPILER() macros
https://bugs.webkit.org/show_bug.cgi?id=97642

Reviewed by Geoffrey Garen.

Add COMPILER(GCC) around compiler specific code and remove it from generic code.
This allows us to implement the DFG code for other compilers to in a next step.

* dfg/DFGOperations.cpp:
* jit/HostCallReturnValue.h:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (129773 => 129774)


--- trunk/Source/_javascript_Core/ChangeLog	2012-09-27 17:04:40 UTC (rev 129773)
+++ trunk/Source/_javascript_Core/ChangeLog	2012-09-27 17:09:02 UTC (rev 129774)
@@ -1,3 +1,16 @@
+2012-09-27  Patrick Gansterer  <par...@webkit.org>
+
+        Fix usage of COMPILER() macros
+        https://bugs.webkit.org/show_bug.cgi?id=97642
+
+        Reviewed by Geoffrey Garen.
+
+        Add COMPILER(GCC) around compiler specific code and remove it from generic code.
+        This allows us to implement the DFG code for other compilers to in a next step.
+
+        * dfg/DFGOperations.cpp:
+        * jit/HostCallReturnValue.h:
+
 2012-09-27  Andreas Kling  <kl...@webkit.org>
 
         3.20MB below FunctionParameters::create() on Membuster3.

Modified: trunk/Source/_javascript_Core/dfg/DFGOperations.cpp (129773 => 129774)


--- trunk/Source/_javascript_Core/dfg/DFGOperations.cpp	2012-09-27 17:04:40 UTC (rev 129773)
+++ trunk/Source/_javascript_Core/dfg/DFGOperations.cpp	2012-09-27 17:09:02 UTC (rev 129774)
@@ -49,7 +49,7 @@
 
 #if ENABLE(DFG_JIT)
 
-#if CPU(X86_64)
+#if COMPILER(GCC) && CPU(X86_64)
 
 #define FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, register) \
     asm( \
@@ -64,7 +64,7 @@
 #define FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJI(function)  FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, rcx)
 #define FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJCI(function) FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, r8)
 
-#elif CPU(X86)
+#elif COMPILER(GCC) && CPU(X86)
 
 #define FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, offset) \
     asm( \
@@ -1425,11 +1425,9 @@
 
 #endif // ENABLE(DFG_JIT)
 
-#if COMPILER(GCC)
-
 namespace JSC {
 
-#if CPU(X86_64)
+#if COMPILER(GCC) && CPU(X86_64)
 asm (
 ".globl " SYMBOL_STRING(getHostCallReturnValue) "\n"
 HIDE_SYMBOL(getHostCallReturnValue) "\n"
@@ -1438,7 +1436,7 @@
     "mov %r13, %rdi\n"
     "jmp " LOCAL_REFERENCE(getHostCallReturnValueWithExecState) "\n"
 );
-#elif CPU(X86)
+#elif COMPILER(GCC) && CPU(X86)
 asm (
 ".text" "\n" \
 ".globl " SYMBOL_STRING(getHostCallReturnValue) "\n"
@@ -1448,7 +1446,7 @@
     "mov %edi, 4(%esp)\n"
     "jmp " LOCAL_REFERENCE(getHostCallReturnValueWithExecState) "\n"
 );
-#elif CPU(ARM_THUMB2)
+#elif COMPILER(GCC) && CPU(ARM_THUMB2)
 asm (
 ".text" "\n"
 ".align 2" "\n"
@@ -1461,7 +1459,7 @@
     "mov r0, r5" "\n"
     "b " LOCAL_REFERENCE(getHostCallReturnValueWithExecState) "\n"
 );
-#elif CPU(ARM_TRADITIONAL)
+#elif COMPILER(GCC) && CPU(ARM_TRADITIONAL)
 asm (
 ".text" "\n"
 ".globl " SYMBOL_STRING(getHostCallReturnValue) "\n"
@@ -1483,6 +1481,4 @@
 
 } // namespace JSC
 
-#endif // COMPILER(GCC)
-
 #endif // ENABLE(JIT)

Modified: trunk/Source/_javascript_Core/jit/HostCallReturnValue.h (129773 => 129774)


--- trunk/Source/_javascript_Core/jit/HostCallReturnValue.h	2012-09-27 17:04:40 UTC (rev 129773)
+++ trunk/Source/_javascript_Core/jit/HostCallReturnValue.h	2012-09-27 17:09:02 UTC (rev 129774)
@@ -30,10 +30,7 @@
 #include "MacroAssemblerCodeRef.h"
 #include <wtf/Platform.h>
 
-// Unfortunately this only works on GCC-like compilers. And it's currently only used
-// by LLInt and DFG, which also are restricted to GCC-like compilers. We should
-// probably fix that at some point.
-#if COMPILER(GCC) && ENABLE(JIT)
+#if ENABLE(JIT)
 
 #if CALLING_CONVENTION_IS_STDCALL
 #define HOST_CALL_RETURN_VALUE_OPTION CDECL
@@ -45,6 +42,8 @@
 
 extern "C" EncodedJSValue HOST_CALL_RETURN_VALUE_OPTION getHostCallReturnValue() REFERENCED_FROM_ASM WTF_INTERNAL;
 
+#if COMPILER(GCC)
+
 // This is a public declaration only to convince CLANG not to elide it.
 extern "C" EncodedJSValue HOST_CALL_RETURN_VALUE_OPTION getHostCallReturnValueWithExecState(ExecState*) REFERENCED_FROM_ASM WTF_INTERNAL;
 
@@ -53,15 +52,14 @@
     getHostCallReturnValueWithExecState(0);
 }
 
-}
-
 #else // COMPILER(GCC)
 
-namespace JSC {
 inline void initializeHostCallReturnValue() { }
-}
 
 #endif // COMPILER(GCC)
 
-#endif // HostCallReturnValue_h
+} // namespace JSC
 
+#endif // ENABLE(JIT)
+
+#endif // HostCallReturnValue_h
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to