Commit 2ac7a457 authored by mjs@apple.com's avatar mjs@apple.com

2008-10-16 Maciej Stachowiak <mjs@apple.com>

        Reviewed by Geoff Garen.

        - fixed <rdar://problem/5806316> JavaScriptCore should not force building with gcc 4.0
        - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default

        This time there is no performance regression; we can avoid having
        to use the fastcall calling convention for CTI functions by using
        varargs to prevent the compiler from moving things around on the
        stack.
        
        * Configurations/DebugRelease.xcconfig:
        * JavaScriptCore.xcodeproj/project.pbxproj:
        * VM/CTI.cpp:
        * VM/Machine.h:
        * wtf/Platform.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent e470558e
2008-10-16 Maciej Stachowiak <mjs@apple.com>
Reviewed by Geoff Garen.
- fixed <rdar://problem/5806316> JavaScriptCore should not force building with gcc 4.0
- use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
This time there is no performance regression; we can avoid having
to use the fastcall calling convention for CTI functions by using
varargs to prevent the compiler from moving things around on the
stack.
* Configurations/DebugRelease.xcconfig:
* JavaScriptCore.xcodeproj/project.pbxproj:
* VM/CTI.cpp:
* VM/Machine.h:
* wtf/Platform.h:
2008-10-16 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver Hunt.
......
......@@ -6,3 +6,7 @@ MACOSX_DEPLOYMENT_TARGET_1050 = 10.5;
MACOSX_DEPLOYMENT_TARGET_1060 = 10.6;
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
GCC_VERSION = $(GCC_VERSION_$(XCODE_VERSION_ACTUAL));
GCC_VERSION_0310 = 4.2;
GCC_VERSION_0311 = 4.2;
......@@ -302,73 +302,6 @@
E1EF79AA0CE97BA60088D500 /* UTF8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1EF79A80CE97BA60088D500 /* UTF8.cpp */; };
/* End PBXBuildFile section */
/* Begin PBXBuildRule section */
1CFE4BEC0B0BA1EB00CC444D /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.apple.compilers.gcc.4_0;
fileType = sourcecode.c;
isEditable = 1;
outputFiles = (
);
};
1CFE4BF10B0BA22200CC444D /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.apple.compilers.gcc.4_0;
fileType = sourcecode.cpp;
isEditable = 1;
outputFiles = (
);
};
5DAD97A80B39B88E0014FEFF /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.apple.compilers.gcc.4_0;
fileType = sourcecode.c;
isEditable = 1;
outputFiles = (
);
};
5DAD97A80B39B88E0014FFFF /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.apple.compilers.gcc.4_0;
fileType = sourcecode.cpp;
isEditable = 1;
outputFiles = (
);
};
5DAD97A80B39B88F0014FEFF /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.apple.compilers.gcc.4_0;
fileType = sourcecode.c;
isEditable = 1;
outputFiles = (
);
};
5DAD97A80B39B88F0014FFFF /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.apple.compilers.gcc.4_0;
fileType = sourcecode.cpp;
isEditable = 1;
outputFiles = (
);
};
5DAD97A80B39B89F0014FEFF /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.apple.compilers.gcc.4_0;
fileType = sourcecode.c;
isEditable = 1;
outputFiles = (
);
};
5DAD97A80B39B89F0014FFFF /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.apple.compilers.gcc.4_0;
fileType = sourcecode.cpp;
isEditable = 1;
outputFiles = (
);
};
/* End PBXBuildRule section */
/* Begin PBXContainerItemProxy section */
141211350A48796100480255 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
......@@ -1620,8 +1553,6 @@
144005C70A5338C60005F061 /* Headers */,
);
buildRules = (
5DAD97A80B39B88E0014FEFF /* PBXBuildRule */,
5DAD97A80B39B88E0014FFFF /* PBXBuildRule */,
);
dependencies = (
141211360A48796100480255 /* PBXTargetDependency */,
......@@ -1640,8 +1571,6 @@
14BD59BD0A3E8F9000BAF59C /* Frameworks */,
);
buildRules = (
5DAD97A80B39B88F0014FEFF /* PBXBuildRule */,
5DAD97A80B39B88F0014FFFF /* PBXBuildRule */,
);
dependencies = (
14270B080A451DA10080EEEA /* PBXTargetDependency */,
......@@ -1664,8 +1593,6 @@
1C395CBC0C6BCC16000D1E52 /* Generate 64-bit Export File */,
);
buildRules = (
1CFE4BF10B0BA22200CC444D /* PBXBuildRule */,
1CFE4BEC0B0BA1EB00CC444D /* PBXBuildRule */,
);
dependencies = (
65FB3F7E09D11EF300F49DEB /* PBXTargetDependency */,
......@@ -1686,8 +1613,6 @@
5D5D8ABF0E0D0B0300F9C692 /* Fix Framework Reference */,
);
buildRules = (
5DAD97A80B39B89F0014FEFF /* PBXBuildRule */,
5DAD97A80B39B89F0014FFFF /* PBXBuildRule */,
);
dependencies = (
14270B0C0A451DA40080EEEA /* PBXTargetDependency */,
......@@ -2098,7 +2023,6 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 1C9051440BA9E8A70081E9D0 /* DebugRelease.xcconfig */;
buildSettings = {
GCC_VERSION = 4.0;
STRIP_INSTALLED_PRODUCT = NO;
};
name = Release;
......
......@@ -116,7 +116,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
#endif
"call " SYMBOL_STRING(_ZN3JSC7Machine12cti_vm_throwEPPv) "\n"
#else
"call " SYMBOL_STRING(_ZN3JSC7Machine12cti_vm_throwEPv) "\n"
"call " SYMBOL_STRING(_ZN3JSC7Machine12cti_vm_throwEPvz) "\n"
#endif
"addl $0x24, %esp" "\n"
"popl %edi" "\n"
......
......@@ -57,7 +57,7 @@ namespace JSC {
#define CTI_ARGS void** args
#define ARGS (args)
#else
#define CTI_ARGS void* args
#define CTI_ARGS void* args, ...
#define ARGS (&args)
#endif
......
......@@ -368,12 +368,9 @@
#endif
#endif
// Use "fastcall" calling convention on MSVC and GCC > 4.0
#if COMPILER(MSVC) || (COMPILER(GCC) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 0)))
// Use "fastcall" calling convention on MSVC
#if COMPILER(MSVC)
#define WTF_USE_FAST_CALL_CTI_ARGUMENT 1
#endif
#if COMPILER(MSVC) || USE(FAST_CALL_CTI_ARGUMENT)
#define WTF_USE_CTI_ARGUMENT 1
#endif
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment