Modified: trunk/Source/_javascript_Core/ChangeLog (96346 => 96347)
--- trunk/Source/_javascript_Core/ChangeLog 2011-09-29 19:37:09 UTC (rev 96346)
+++ trunk/Source/_javascript_Core/ChangeLog 2011-09-29 19:37:53 UTC (rev 96347)
@@ -1,3 +1,15 @@
+2011-09-29 Yuqiang Xian <[email protected]>
+
+ DFG operation calls should be stdcall in Linux JSVALUE32_64 DFG JIT
+ https://bugs.webkit.org/show_bug.cgi?id=69058
+
+ Reviewed by Gavin Barraclough.
+
+ Also Fixed the stdcall FunctionPtr constructors to make them compiled correctly on Linux
+
+ * assembler/MacroAssemblerCodeRef.h:
+ (JSC::FunctionPtr::FunctionPtr):
+
2011-09-29 Mark Hahnenberg <[email protected]>
De-virtualize JSCell::visitChildrenVirtual and remove all other visitChildrenVirtual methods
Modified: trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj (96346 => 96347)
--- trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj 2011-09-29 19:37:09 UTC (rev 96346)
+++ trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj 2011-09-29 19:37:53 UTC (rev 96347)
@@ -1062,6 +1062,7 @@
86880F1914328BB900B08D42 /* DFGJITCompiler32_64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DFGJITCompiler32_64.cpp; path = dfg/DFGJITCompiler32_64.cpp; sourceTree = "<group>"; };
86880F1A14328BB900B08D42 /* DFGJITCompilerInlineMethods.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGJITCompilerInlineMethods.h; path = dfg/DFGJITCompilerInlineMethods.h; sourceTree = "<group>"; };
86880F1B14328BB900B08D42 /* DFGSpeculativeJIT32_64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DFGSpeculativeJIT32_64.cpp; path = dfg/DFGSpeculativeJIT32_64.cpp; sourceTree = "<group>"; };
+ 86880F311434FFAF00B08D42 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
868BFA00117CEFD100B908B1 /* AtomicString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AtomicString.cpp; path = text/AtomicString.cpp; sourceTree = "<group>"; };
868BFA01117CEFD100B908B1 /* AtomicString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AtomicString.h; path = text/AtomicString.h; sourceTree = "<group>"; };
868BFA02117CEFD100B908B1 /* AtomicStringImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AtomicStringImpl.h; path = text/AtomicStringImpl.h; sourceTree = "<group>"; };
@@ -1531,6 +1532,7 @@
0867D691FE84028FC02AAC07 /* _javascript_Core */ = {
isa = PBXGroup;
children = (
+ 86880F311434FFAF00B08D42 /* ChangeLog */,
651122E5140469BA002B101D /* testRegExp.cpp */,
A718F8211178EB4B002465A7 /* create_regex_tables */,
937B63CC09E766D200A671DD /* DerivedSources.make */,
Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerCodeRef.h (96346 => 96347)
--- trunk/Source/_javascript_Core/assembler/MacroAssemblerCodeRef.h 2011-09-29 19:37:09 UTC (rev 96346)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerCodeRef.h 2011-09-29 19:37:53 UTC (rev 96347)
@@ -52,7 +52,7 @@
#define ASSERT_VALID_CODE_OFFSET(offset) // Anything goes!
#endif
-#if CPU(X86) && PLATFORM(MAC)
+#if CPU(X86) && !PLATFORM(WINDOWS)
#define CALLING_CONVENTION_IS_CDECL 1
#else
#define CALLING_CONVENTION_IS_CDECL 0
@@ -109,35 +109,35 @@
#if CALLING_CONVENTION_IS_CDECL
#define STDCALL __attribute__ ((stdcall))
template<typename returnType>
- FunctionPtr(returnType STDCALL(*value)())
+ FunctionPtr(returnType (STDCALL *value)())
: m_value((void*)value)
{
ASSERT_VALID_CODE_POINTER(m_value);
}
template<typename returnType, typename argType1>
- FunctionPtr(returnType STDCALL(*value)(argType1))
+ FunctionPtr(returnType (STDCALL *value)(argType1))
: m_value((void*)value)
{
ASSERT_VALID_CODE_POINTER(m_value);
}
template<typename returnType, typename argType1, typename argType2>
- FunctionPtr(returnType STDCALL(*value)(argType1, argType2))
+ FunctionPtr(returnType (STDCALL *value)(argType1, argType2))
: m_value((void*)value)
{
ASSERT_VALID_CODE_POINTER(m_value);
}
template<typename returnType, typename argType1, typename argType2, typename argType3>
- FunctionPtr(returnType STDCALL(*value)(argType1, argType2, argType3))
+ FunctionPtr(returnType (STDCALL *value)(argType1, argType2, argType3))
: m_value((void*)value)
{
ASSERT_VALID_CODE_POINTER(m_value);
}
template<typename returnType, typename argType1, typename argType2, typename argType3, typename argType4>
- FunctionPtr(returnType STDCALL(*value)(argType1, argType2, argType3, argType4))
+ FunctionPtr(returnType (STDCALL *value)(argType1, argType2, argType3, argType4))
: m_value((void*)value)
{
ASSERT_VALID_CODE_POINTER(m_value);