From 48ab643e23aafe9e1c010d0a56b6196a607ed642 Mon Sep 17 00:00:00 2001 From: thatcher Date: Mon, 22 May 2006 18:20:15 +0000 Subject: [PATCH] Reviewed by Eric, Kevin and Geoff. Merge open source build fixes. * kjs/collector.cpp: look at the rsp register in x86_64 (KJS::Collector::markOtherThreadConservatively): * wtf/Platform.h: add x86_64 to the platform list git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14515 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- JavaScriptCore/ChangeLog | 10 ++ .../JavaScriptCore.xcodeproj/project.pbxproj | 115 ------------------ JavaScriptCore/kjs/collector.cpp | 14 ++- JavaScriptCore/wtf/Platform.h | 6 + 4 files changed, 28 insertions(+), 117 deletions(-) diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog index 4ab803277093..5226b5083f6c 100644 --- a/JavaScriptCore/ChangeLog +++ b/JavaScriptCore/ChangeLog @@ -1,3 +1,13 @@ +2006-05-22 Timothy Hatcher + + Reviewed by Eric, Kevin and Geoff. + + Merge open source build fixes. + + * kjs/collector.cpp: look at the rsp register in x86_64 + (KJS::Collector::markOtherThreadConservatively): + * wtf/Platform.h: add x86_64 to the platform list + 2006-05-19 Anders Carlsson Reviewed by Geoff. diff --git a/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj b/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj index ed661d92e9eb..9a6306dad581 100644 --- a/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj +++ b/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj @@ -21,9 +21,6 @@ buildConfigurationList = 149C276C08902AFE008A9EFC /* Build configuration list for PBXAggregateTarget "All" */; buildPhases = ( ); - buildSettings = { - PRODUCT_NAME = All; - }; dependencies = ( 932F5BE70822A1C700736975 /* PBXTargetDependency */, 932F5BE90822A1C700736975 /* PBXTargetDependency */, @@ -232,43 +229,6 @@ E195679909E7CF1200B89D13 /* UnicodeCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = E195679509E7CF1200B89D13 /* UnicodeCategory.h */; }; /* End PBXBuildFile section */ -/* Begin PBXBuildStyle section */ - 014CEA440018CDF011CA2923 /* Development */ = { - isa = PBXBuildStyle; - buildSettings = { - DEBUG_DEFINES = ""; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - MACOSX_DEPLOYMENT_TARGET = 10.3; - PREBINDING = NO; - SECTORDER_FLAGS = ""; - STYLE_LDFLAGS = ""; - }; - name = Development; - }; - 014CEA450018CDF011CA2923 /* Deployment */ = { - isa = PBXBuildStyle; - buildSettings = { - MACOSX_DEPLOYMENT_TARGET = 10.3; - PREBINDING = NO; - SECTORDER_FLAGS = ""; - STYLE_LDFLAGS = ""; - }; - name = Deployment; - }; - F58C8A1D025BD408018635CA /* OptimizedWithSymbols */ = { - isa = PBXBuildStyle; - buildSettings = { - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - MACOSX_DEPLOYMENT_TARGET = 10.3; - PREBINDING = NO; - SECTORDER_FLAGS = ""; - STYLE_LDFLAGS = ""; - }; - name = OptimizedWithSymbols; - }; -/* End PBXBuildStyle section */ - /* Begin PBXContainerItemProxy section */ 65FB3F7D09D11EF300F49DEB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; @@ -973,52 +933,6 @@ ); buildRules = ( ); - buildSettings = { - DEBUG_DEFINES = NDEBUG; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - GCC_ENABLE_CPP_EXCEPTIONS = NO; - GCC_ENABLE_CPP_RTTI = NO; - GCC_ENABLE_OBJC_GC = YES; - GCC_FAST_OBJC_DISPATCH = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_OPTIMIZATION_LEVEL = s; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = JavaScriptCorePrefix.h; - GCC_PREPROCESSOR_DEFINITIONS = "$(DEBUG_DEFINES)"; - GCC_TREAT_WARNINGS_AS_ERRORS = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; - HEADER_SEARCH_PATHS = icu; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks; - OTHER_LDFLAGS = ( - "$(STYLE_LDFLAGS)", - "-sub_library", - libobjc, - ); - PRODUCT_NAME = JavaScriptCore; - SECTORDER_FLAGS = ( - "-sectorder", - __TEXT, - __text, - /AppleInternal/OrderFiles/JavaScriptCore.order, - ); - STYLE_LDFLAGS = "-umbrella WebKit -allowable_client JavaScriptGlue"; - WARNING_CFLAGS = ( - "-Wall", - "-W", - "-Wcast-align", - "-Wchar-subscripts", - "-Wformat-security", - "-Wmissing-format-attribute", - "-Wpointer-arith", - "-Wwrite-strings", - "-Wno-format-y2k", - "-Wno-unused-parameter", - "-Wno-long-double", - ); - }; dependencies = ( 93396B9D082450C500AB803D /* PBXTargetDependency */, 65FB3F7E09D11EF300F49DEB /* PBXTargetDependency */, @@ -1038,25 +952,6 @@ ); buildRules = ( ); - buildSettings = { - GCC_ENABLE_CPP_EXCEPTIONS = NO; - GCC_ENABLE_CPP_RTTI = NO; - GCC_TREAT_WARNINGS_AS_ERRORS = YES; - PRODUCT_NAME = testkjs; - WARNING_CFLAGS = ( - "-Wall", - "-W", - "-Wcast-align", - "-Wchar-subscripts", - "-Wformat-security", - "-Wmissing-format-attribute", - "-Wpointer-arith", - "-Wwrite-strings", - "-Wno-format-y2k", - "-Wno-unused-parameter", - "-Wno-long-double", - ); - }; dependencies = ( ); name = testkjs; @@ -1074,9 +969,6 @@ ); buildRules = ( ); - buildSettings = { - PRODUCT_NAME = dftables; - }; dependencies = ( ); name = dftables; @@ -1090,13 +982,6 @@ 0867D690FE84028FC02AAC07 /* Project object */ = { isa = PBXProject; buildConfigurationList = 149C277108902AFE008A9EFC /* Build configuration list for PBXProject "JavaScriptCore" */; - buildSettings = { - }; - buildStyles = ( - 014CEA440018CDF011CA2923 /* Development */, - 014CEA450018CDF011CA2923 /* Deployment */, - F58C8A1D025BD408018635CA /* OptimizedWithSymbols */, - ); hasScannedForEncodings = 1; mainGroup = 0867D691FE84028FC02AAC07 /* JavaScriptCore */; productRefGroup = 034768DFFF38A50411DB9C8B /* Products */; diff --git a/JavaScriptCore/kjs/collector.cpp b/JavaScriptCore/kjs/collector.cpp index 74b5444bd518..0d0c664d4821 100644 --- a/JavaScriptCore/kjs/collector.cpp +++ b/JavaScriptCore/kjs/collector.cpp @@ -351,6 +351,10 @@ void Collector::markOtherThreadConservatively(Thread *thread) i386_thread_state_t regs; unsigned user_count = sizeof(regs)/sizeof(int); thread_state_flavor_t flavor = i386_THREAD_STATE; +#elif PLATFORM(X86_64) + x86_thread_state64_t regs; + unsigned user_count = x86_THREAD_STATE64_COUNT; + thread_state_flavor_t flavor = x86_THREAD_STATE64; #elif PLATFORM(PPC) ppc_thread_state_t regs; unsigned user_count = PPC_THREAD_STATE_COUNT; @@ -367,10 +371,16 @@ void Collector::markOtherThreadConservatively(Thread *thread) // scan the registers markStackObjectsConservatively((void *)®s, (void *)((char *)®s + (user_count * sizeof(usword_t)))); - + // scan the stack -#if PLATFORM(X86) +#if PLATFORM(X86) && __DARWIN_UNIX03 + markStackObjectsConservatively((void *)regs.__esp, pthread_get_stackaddr_np(thread->posixThread)); +#elif PLATFORM(X86) markStackObjectsConservatively((void *)regs.esp, pthread_get_stackaddr_np(thread->posixThread)); +#elif PLATFORM(X86_64) && __DARWIN_UNIX03 + markStackObjectsConservatively((void *)regs.__rsp, pthread_get_stackaddr_np(thread->posixThread)); +#elif PLATFORM(X86_64) + markStackObjectsConservatively((void *)regs.rsp, pthread_get_stackaddr_np(thread->posixThread)); #elif (PLATFORM(PPC) || PLATFORM(PPC64)) && __DARWIN_UNIX03 markStackObjectsConservatively((void *)regs.__r1, pthread_get_stackaddr_np(thread->posixThread)); #elif PLATFORM(PPC) || PLATFORM(PPC64) diff --git a/JavaScriptCore/wtf/Platform.h b/JavaScriptCore/wtf/Platform.h index 5273331eaf33..276ffaf7859e 100644 --- a/JavaScriptCore/wtf/Platform.h +++ b/JavaScriptCore/wtf/Platform.h @@ -112,6 +112,12 @@ #define KXMLCORE_PLATFORM_X86 1 #endif +// PLATFORM(X86_64) +#if defined(__x86_64__) \ + || defined(__ia64__) +#define KXMLCORE_PLATFORM_X86_64 1 +#endif + // Compiler // COMPILER(MSVC) -- 2.36.0