diff options
Diffstat (limited to 'JavaScriptGlue')
32 files changed, 475 insertions, 33 deletions
diff --git a/JavaScriptGlue/ChangeLog b/JavaScriptGlue/ChangeLog index df8b3ec..c7b2dce 100644 --- a/JavaScriptGlue/ChangeLog +++ b/JavaScriptGlue/ChangeLog @@ -1,3 +1,390 @@ +2010-10-25 Oliver Hunt <oliver@apple.com> + + Reviewed by Gavin Barraclough. + + Remove exec and globalData arguments from jsNumber + https://bugs.webkit.org/show_bug.cgi?id=48270 + + Don't pass exec to jsNumber + + * JSUtils.cpp: + (JSObjectKJSValue): + * UserObjectImp.cpp: + (UserObjectImp::toPrimitive): + +2010-10-25 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r70451. + http://trac.webkit.org/changeset/70451 + https://bugs.webkit.org/show_bug.cgi?id=48249 + + Broke set-unloaded-frame-location.html under Qt (Requested by + caseq on #webkit). + + * ForwardingHeaders/wtf/text/TextPosition.h: Removed. + +2010-10-16 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Adam Barth. + + Rename StringHasherFunctions.h to StringHasher.h + https://bugs.webkit.org/show_bug.cgi?id=47200 + + * ForwardingHeaders/wtf/StringHashFunctions.h: Removed. + * ForwardingHeaders/wtf/StringHasher.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/StringHashFunctions.h. + +2010-09-09 Michael Saboff <msaboff@apple.com> + + Reviewed by Gavin Barraclough. + + Added ListHashSet.h as an exported header in support of RegExp tracing. + https://bugs.webkit.org/show_bug.cgi?id=45401 + + * ForwardingHeaders/wtf/ListHashSet.h: Added. + +2010-09-07 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/8381749> -Wcast-align warning emitted when building with clang + + Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc. + + * Configurations/Base.xcconfig: + +2010-08-26 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Add PassOwnArrayPtr + https://bugs.webkit.org/show_bug.cgi?id=44627 + + Add new forwarding header. + + * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Added. + +2010-08-23 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Oliver Hunt. + + https://bugs.webkit.org/show_bug.cgi?id=44487 + + * ForwardingHeaders/wtf/text/WTFString.h: Added. + +2010-08-24 Oliver Hunt <oliver@apple.com> + + Reviewed by Geoff Garen. + + Don't seed the JS random number generator from time() + https://bugs.webkit.org/show_bug.cgi?id=41868 + <rdar://problem/8171025> + + Add forwarding header for RandomNumber in JavaScriptGlue + + * ForwardingHeaders/wtf/RandomNumber.h: Added. + +2010-08-11 Gavin Barraclough <barraclough@apple.com> + + Rubber stamps by Darin Adler & Sam Weinig. + + Bug 43867 - Some UString cleanup + + Change JSC::UString data(), size(), and from(), to characters(), length(), and number() to match WTF::String. + Move string concatenation methods to a new header to simplify down UString.h. Remove is8Bit(). + + * JSUtils.cpp: + (UStringToCFString): + (KJSValueToCFTypeInternal): + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2010-08-04 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Sam Weinig. + + Bug 43515 - Fix small design issues with PageAllocation, split out PageReservation. + (add forwarding headers) + + * ForwardingHeaders/wtf/Bitmap.h: Added. + * ForwardingHeaders/wtf/PageReservation.h: Added. + +2010-08-04 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r64655. + http://trac.webkit.org/changeset/64655 + https://bugs.webkit.org/show_bug.cgi?id=43496 + + JavaScriptCore references patch seems to have caused + regressions in QT and GTK builds (Requested by nlawrence on + #webkit). + + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectMark): + +2010-08-04 Nathan Lawrence <nlawrence@apple.com> + + Reviewed by Darin Adler. + + Removed unneeded marking. We need to remove this marking in order to have + MarkStack::append take references for updating movable objects. + + https://bugs.webkit.org/show_bug.cgi?id=41177 + + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectMark): + +2010-08-03 Gavin Barraclough <barraclough@apple.com> + + Build fix following r64624. + + * ForwardingHeaders/wtf/BitMap.h: Added. + +2010-07-27 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Oliver Hunt. + + Bug 42621 - Add a bump allocator for the YARR interpreter + + The regex engine requires lifo allocation, however currently uses the general purpose + malloc/free memory allocation. A simple bump pointer allocator should provide a lower + overhead allocation solution. + + * ForwardingHeaders/wtf/BumpPointerAllocator.h: Added. + +2010-07-26 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Oliver Hunt. + + Bug 43009 - Abstract out page allocation from executable allocators + + * ForwardingHeaders/wtf/PageAllocation.h: Added. + +2010-07-01 Oliver Hunt <oliver@apple.com> + + Reviewed by Maciej Stachowiak. + + Add a FixedArray template to encapsulate fixed length arrays + https://bugs.webkit.org/show_bug.cgi?id=41506 + + Add forwarding header. + + * ForwardingHeaders/wtf/FixedArray.h: Added. + +2010-06-02 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Oliver Hunt. + + Bug 40094 - The return type of NativeFunction should be EncodedJSValue + On Windows & Linux, using JSVALUE32_64, EncodedJSValue is returned in registers, but JSValue is not. + + * JSObject.cpp: + (nativeCallFunction): + +2010-05-28 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt. + + Simplified the host calling convention. + + PART ONE: Functional code changes. + + [ None in JavaScriptGlue ] + + PART TWO: Global search and replace. + + In the areas below, I used global search-and-replace to change + (ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*) + args.size() => exec->argumentCount() + args.at(i) => exec->argument(i) + + * JSObject.cpp: + (nativeCallFunction): + * UserObjectImp.cpp: + (UserObjectImp::callAsFunction): + * UserObjectImp.h: + +2010-04-23 Sam Weinig <sam@webkit.org> + + Reviewed by David Levin. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=38060 + Split up Threading.h + + Add necessary forwarding headers. + + * ForwardingHeaders/wtf/Atomics.h: Added. + * ForwardingHeaders/wtf/ThreadSafeShared.h: Added. + * ForwardingHeaders/wtf/ThreadingPrimitives.h: Added. + +2010-04-22 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=38022 + Move isMainThread predicate function to MainThread.h + + Added forwarding header for MainThread.h + + * ForwardingHeaders/wtf/MainThread.h: Added. + +2010-04-22 Gavin Barraclough <barraclough@apple.com> + + Rubber stamped by Sam Weinig + + Do not get the globaldata for the APIShim via the + global object; global object construction creates identifiers + which results in the ASSERTs checking the thread data's + identifierTable has been set failing. + + * JSUtils.cpp: + (unprotectGlobalObject): + (getThreadGlobalData): + (getThreadGlobalObject): + (JSGlueAPIEntry::JSGlueAPIEntry): + (JSGlueAPICallback::~JSGlueAPICallback): + +2010-04-21 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/7879485> Leopard: Crash after opening Software Update dialog + + * JSUtils.cpp: + (unprotectGlobalObject): Use the version of JSGlueAPIEntry that doesn't + call pthread_getspecific, since it's not safe to call pthread_getspecific + from a thread-specific data destructor. (<rdar://problem/7889842> + pthread_getspecific returns 0 when called from thread-specific data + destructor function) + + (getThreadGlobalObject): Make sure to set the currentIdentifierTable + when first constructing our JSGlobalObject, since JSGlueAPIEntry has not + yet had an opportunity to do so. + + (JSGlueAPIEntry::JSGlueAPIEntry): + * JSUtils.h: New version of JSGlueAPIEntry that doesn't call + pthread_getspecific. + +2010-04-21 Gavin Barraclough <barraclough@apple.com> + + Reviewed by NOBODY (build fix). + Errk! tree on fire, add fwd! + + * ForwardingHeaders/wtf/text/StringHash.h: Added. + +2010-04-20 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Oliver Hunt, Darin Adler. + + Bug 37906 - Remove JSC::UStringImpl; unify with StringImpl. + Add forwarding header. + + * ForwardingHeaders/wtf/ASCIICType.h: Added. + * ForwardingHeaders/wtf/text/StringImpl.h: Added. + +2010-04-20 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Oliver Hunt. + + Bug 37895 - Share common code from UStringImplBase with StringImpl + Add forwarding header. + + * ForwardingHeaders/wtf/text/StringImplBase.h: Added. + +2010-04-20 Gavin Barraclough <barraclough@apple.com> + + Rubber stamped by Maciej Stachowiak (relanding r57829). + Added missing JS_EXPORTDATA + + * ForwardingHeaders/wtf/WTFThreadData.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/WTFThreadData.h. + * JSUtils.cpp: + (JSGlueAPIEntry::JSGlueAPIEntry): + (JSGlueAPIEntry::~JSGlueAPIEntry): + (JSGlueAPICallback::JSGlueAPICallback): + (JSGlueAPICallback::~JSGlueAPICallback): + +2010-04-19 Gavin Barraclough <barraclough@apple.com> + + Reviewed by NOBODY (rolling out r57829). + This broke windows. + + * ForwardingHeaders/wtf/WTFThreadData.h: Removed. + * JSUtils.cpp: + (JSGlueAPIEntry::JSGlueAPIEntry): + (JSGlueAPIEntry::~JSGlueAPIEntry): + (JSGlueAPICallback::JSGlueAPICallback): + (JSGlueAPICallback::~JSGlueAPICallback): + +2010-04-16 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=37745 + Move string uniquing tables to (new) WTFThreadData class. + + Remove AtomicString's dependency on ThreadGlobalData so that we can move + WebCore's string classes up to WTF. + + * ForwardingHeaders/wtf/WTFThreadData.h: Added. + * JSUtils.cpp: Update + (JSGlueAPIEntry::JSGlueAPIEntry): + (JSGlueAPIEntry::~JSGlueAPIEntry): + (JSGlueAPICallback::JSGlueAPICallback): + (JSGlueAPICallback::~JSGlueAPICallback): + +2010-03-31 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Geoff Garen. + + Bug 36871 - Remove JSC::CString + Use WTF::CString instead (which until recently was WebCore::CString). + + * ForwardingHeaders/wtf/text: Added. + * ForwardingHeaders/wtf/text/CString.h: Added. + +2010-03-11 Mark Rowe <mrowe@apple.com> + + Reviewed by David Kilzer. + + <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version + + Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version. + + * Configurations/Base.xcconfig: + +2010-03-11 Mark Rowe <mrowe@apple.com> + + Reviewed by Tim Hatcher. + + <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version + + Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted. It defaults to the + current Mac OS X version unless otherwise specified. + + Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR. + + Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice + may not be usable when targetting a different Mac OS X version. + + Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off + MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used. + + * Configurations/Base.xcconfig: + * Configurations/DebugRelease.xcconfig: + * Configurations/Version.xcconfig: + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2010-03-01 Oliver Hunt <oliver@apple.com> + + Reviewed by Maciej Stachowiak. + + Refactor named getter function signature to be in line with indexing getter signature + https://bugs.webkit.org/show_bug.cgi?id=35563 + + Fix method signature and update code as appropriate + + * UserObjectImp.cpp: + (UserObjectImp::userObjectGetter): + * UserObjectImp.h: + 2010-02-09 Alexey Proskuryakov <ap@apple.com> Reviewed by Geoffrey Garen. diff --git a/JavaScriptGlue/Configurations/Base.xcconfig b/JavaScriptGlue/Configurations/Base.xcconfig index 6f28a0d..036a80c 100644 --- a/JavaScriptGlue/Configurations/Base.xcconfig +++ b/JavaScriptGlue/Configurations/Base.xcconfig @@ -47,7 +47,7 @@ LINKER_DISPLAYS_MANGLED_NAMES = YES; PREBINDING = NO; VALID_ARCHS = i386 ppc x86_64 ppc64; WARNING_CFLAGS = $(WARNING_CFLAGS_$(CURRENT_ARCH)); -WARNING_CFLAGS_BASE = -Wall -W -Wcast-align -Wchar-subscripts -Wformat-security -Wmissing-format-attribute -Wpointer-arith -Wwrite-strings -Wno-format-y2k -Wno-unused-parameter -Wundef -Wno-strict-aliasing; +WARNING_CFLAGS_BASE = -Wall -W -Wchar-subscripts -Wformat-security -Wmissing-format-attribute -Wpointer-arith -Wwrite-strings -Wno-format-y2k -Wno-unused-parameter -Wundef -Wno-strict-aliasing; WARNING_CFLAGS_ = $(WARNING_CFLAGS_BASE) -Wshorten-64-to-32; WARNING_CFLAGS_i386 = $(WARNING_CFLAGS_BASE) -Wshorten-64-to-32; WARNING_CFLAGS_ppc = $(WARNING_CFLAGS_BASE) -Wshorten-64-to-32; @@ -56,6 +56,7 @@ WARNING_CFLAGS_ppc64 = $(WARNING_CFLAGS_BASE); WARNING_CFLAGS_x86_64 = $(WARNING_CFLAGS_BASE); HEADER_SEARCH_PATHS = . icu $(HEADER_SEARCH_PATHS); +TARGET_MAC_OS_X_VERSION_MAJOR = $(MAC_OS_X_VERSION_MAJOR); // DEBUG_DEFINES, GCC_OPTIMIZATION_LEVEL and STRIP_INSTALLED_PRODUCT vary between the debug and normal variants. // We set up the values for each variant here, and have the Debug configuration in the Xcode project use the _debug variant. @@ -76,6 +77,26 @@ STRIP_INSTALLED_PRODUCT_debug = NO; // Note that Xcode versions as new as 3.1.2 use XCODE_VERSION_ACTUAL for the minor version // number. Newer versions of Xcode use XCODE_VERSION_MINOR for the minor version, and // XCODE_VERSION_ACTUAL for the full version number. -GCC_VERSION = $(GCC_VERSION_$(XCODE_VERSION_MINOR)); -GCC_VERSION_ = $(GCC_VERSION_$(XCODE_VERSION_ACTUAL)); -GCC_VERSION_0310 = 4.2; +TARGET_GCC_VERSION = $(TARGET_GCC_VERSION_$(TARGET_MAC_OS_X_VERSION_MAJOR)); +TARGET_GCC_VERSION_ = $(TARGET_GCC_VERSION_1040); +TARGET_GCC_VERSION_1040 = GCC_40; +TARGET_GCC_VERSION_1050 = $(TARGET_GCC_VERSION_1050_$(XCODE_VERSION_MINOR)); +TARGET_GCC_VERSION_1050_ = $(TARGET_GCC_VERSION_1050_$(XCODE_VERSION_ACTUAL)); +TARGET_GCC_VERSION_1050_0310 = GCC_42; +TARGET_GCC_VERSION_1050_0320 = GCC_42; +TARGET_GCC_VERSION_1060 = GCC_42; +TARGET_GCC_VERSION_1070 = LLVM_GCC_42; + +GCC_VERSION = $(GCC_VERSION_$(TARGET_GCC_VERSION)); +GCC_VERSION_GCC_40 = 4.0; +GCC_VERSION_GCC_42 = 4.2; +GCC_VERSION_LLVM_GCC_42 = com.apple.compilers.llvmgcc42; + +// If the target Mac OS X version does not match the current Mac OS X version then we'll want to build using the target version's SDK. +SDKROOT = $(SDKROOT_$(MAC_OS_X_VERSION_MAJOR)_$(TARGET_MAC_OS_X_VERSION_MAJOR)); +SDKROOT_1050_1040 = macosx10.4; +SDKROOT_1060_1040 = macosx10.4; +SDKROOT_1060_1050 = macosx10.5; +SDKROOT_1070_1040 = macosx10.4; +SDKROOT_1070_1050 = macosx10.5; +SDKROOT_1070_1060 = macosx10.6; diff --git a/JavaScriptGlue/Configurations/DebugRelease.xcconfig b/JavaScriptGlue/Configurations/DebugRelease.xcconfig index a0ca127..764b4e1 100644 --- a/JavaScriptGlue/Configurations/DebugRelease.xcconfig +++ b/JavaScriptGlue/Configurations/DebugRelease.xcconfig @@ -23,7 +23,7 @@ #include "Base.xcconfig" -ARCHS = $(ARCHS_$(MAC_OS_X_VERSION_MAJOR)); +ARCHS = $(ARCHS_$(TARGET_MAC_OS_X_VERSION_MAJOR)); ARCHS_ = $(ARCHS_1040); ARCHS_1040 = $(NATIVE_ARCH); ARCHS_1050 = $(NATIVE_ARCH); @@ -32,7 +32,7 @@ ARCHS_1070 = $(ARCHS_STANDARD_32_64_BIT); ONLY_ACTIVE_ARCH = YES; -MACOSX_DEPLOYMENT_TARGET = $(MACOSX_DEPLOYMENT_TARGET_$(MAC_OS_X_VERSION_MAJOR)); +MACOSX_DEPLOYMENT_TARGET = $(MACOSX_DEPLOYMENT_TARGET_$(TARGET_MAC_OS_X_VERSION_MAJOR)); MACOSX_DEPLOYMENT_TARGET_ = 10.4; MACOSX_DEPLOYMENT_TARGET_1040 = 10.4; MACOSX_DEPLOYMENT_TARGET_1050 = 10.5; diff --git a/JavaScriptGlue/Configurations/Version.xcconfig b/JavaScriptGlue/Configurations/Version.xcconfig index 0e289b1..d4cb8e7 100644 --- a/JavaScriptGlue/Configurations/Version.xcconfig +++ b/JavaScriptGlue/Configurations/Version.xcconfig @@ -21,8 +21,8 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -MAJOR_VERSION = 533; -MINOR_VERSION = 1; +MAJOR_VERSION = 534; +MINOR_VERSION = 13; TINY_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION); @@ -31,7 +31,7 @@ BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); SHORT_VERSION_STRING = $(SHORT_VERSION_STRING_$(CONFIGURATION)) // The system version prefix is based on the current system version. -SYSTEM_VERSION_PREFIX = $(SYSTEM_VERSION_PREFIX_$(MAC_OS_X_VERSION_MAJOR)); +SYSTEM_VERSION_PREFIX = $(SYSTEM_VERSION_PREFIX_$(TARGET_MAC_OS_X_VERSION_MAJOR)); SYSTEM_VERSION_PREFIX_ = 4; // Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR. SYSTEM_VERSION_PREFIX_1040 = 4; SYSTEM_VERSION_PREFIX_1050 = 5; diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/ASCIICType.h b/JavaScriptGlue/ForwardingHeaders/wtf/ASCIICType.h new file mode 100644 index 0000000..f2258d2 --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/ASCIICType.h @@ -0,0 +1 @@ +#include <JavaScriptCore/ASCIICType.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/Atomics.h b/JavaScriptGlue/ForwardingHeaders/wtf/Atomics.h new file mode 100644 index 0000000..37b1892 --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/Atomics.h @@ -0,0 +1 @@ +#include <JavaScriptCore/Atomics.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/Bitmap.h b/JavaScriptGlue/ForwardingHeaders/wtf/Bitmap.h new file mode 100644 index 0000000..d365065 --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/Bitmap.h @@ -0,0 +1 @@ +#include <JavaScriptCore/Bitmap.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/BumpPointerAllocator.h b/JavaScriptGlue/ForwardingHeaders/wtf/BumpPointerAllocator.h new file mode 100644 index 0000000..f685611 --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/BumpPointerAllocator.h @@ -0,0 +1 @@ +#include <JavaScriptCore/BumpPointerAllocator.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/FixedArray.h b/JavaScriptGlue/ForwardingHeaders/wtf/FixedArray.h new file mode 100644 index 0000000..cc9f599 --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/FixedArray.h @@ -0,0 +1 @@ +#include <JavaScriptCore/FixedArray.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/ListHashSet.h b/JavaScriptGlue/ForwardingHeaders/wtf/ListHashSet.h new file mode 100644 index 0000000..4aef773 --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/ListHashSet.h @@ -0,0 +1 @@ +#include <JavaScriptCore/ListHashSet.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/MainThread.h b/JavaScriptGlue/ForwardingHeaders/wtf/MainThread.h new file mode 100644 index 0000000..ff75971 --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/MainThread.h @@ -0,0 +1 @@ +#include <JavaScriptCore/MainThread.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/OwnArrayPtrCommon.h b/JavaScriptGlue/ForwardingHeaders/wtf/OwnArrayPtrCommon.h new file mode 100644 index 0000000..0a226f0 --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/OwnArrayPtrCommon.h @@ -0,0 +1 @@ +#include <JavaScriptCore/OwnArrayPtrCommon.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/PageAllocation.h b/JavaScriptGlue/ForwardingHeaders/wtf/PageAllocation.h new file mode 100644 index 0000000..54dfcdf --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/PageAllocation.h @@ -0,0 +1 @@ +#include <JavaScriptCore/PageAllocation.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/PageReservation.h b/JavaScriptGlue/ForwardingHeaders/wtf/PageReservation.h new file mode 100644 index 0000000..81581b6 --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/PageReservation.h @@ -0,0 +1 @@ +#include <JavaScriptCore/PageReservation.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/RandomNumber.h b/JavaScriptGlue/ForwardingHeaders/wtf/RandomNumber.h new file mode 100644 index 0000000..42e148a --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/RandomNumber.h @@ -0,0 +1 @@ +#include <JavaScriptCore/RandomNumber.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/StringHashFunctions.h b/JavaScriptGlue/ForwardingHeaders/wtf/StringHashFunctions.h deleted file mode 100644 index e903ddd..0000000 --- a/JavaScriptGlue/ForwardingHeaders/wtf/StringHashFunctions.h +++ /dev/null @@ -1 +0,0 @@ -#include <JavaScriptCore/StringHashFunctions.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/StringHasher.h b/JavaScriptGlue/ForwardingHeaders/wtf/StringHasher.h new file mode 100644 index 0000000..1380335 --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/StringHasher.h @@ -0,0 +1 @@ +#include <JavaScriptCore/StringHasher.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/ThreadSafeShared.h b/JavaScriptGlue/ForwardingHeaders/wtf/ThreadSafeShared.h new file mode 100644 index 0000000..4a7a77f --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/ThreadSafeShared.h @@ -0,0 +1 @@ +#include <JavaScriptCore/ThreadSafeShared.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/ThreadingPrimitives.h b/JavaScriptGlue/ForwardingHeaders/wtf/ThreadingPrimitives.h new file mode 100644 index 0000000..a7ee117 --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/ThreadingPrimitives.h @@ -0,0 +1 @@ +#include <JavaScriptCore/ThreadingPrimitives.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/WTFThreadData.h b/JavaScriptGlue/ForwardingHeaders/wtf/WTFThreadData.h new file mode 100644 index 0000000..925b698 --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/WTFThreadData.h @@ -0,0 +1 @@ +#include <JavaScriptCore/WTFThreadData.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/text/CString.h b/JavaScriptGlue/ForwardingHeaders/wtf/text/CString.h new file mode 100644 index 0000000..50e766b --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/text/CString.h @@ -0,0 +1 @@ +#include <JavaScriptCore/CString.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/text/StringHash.h b/JavaScriptGlue/ForwardingHeaders/wtf/text/StringHash.h new file mode 100644 index 0000000..902082f --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/text/StringHash.h @@ -0,0 +1 @@ +#include <JavaScriptCore/StringHash.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/text/StringImpl.h b/JavaScriptGlue/ForwardingHeaders/wtf/text/StringImpl.h new file mode 100644 index 0000000..029ea84 --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/text/StringImpl.h @@ -0,0 +1 @@ +#include <JavaScriptCore/StringImpl.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/text/StringImplBase.h b/JavaScriptGlue/ForwardingHeaders/wtf/text/StringImplBase.h new file mode 100644 index 0000000..7e0597b --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/text/StringImplBase.h @@ -0,0 +1 @@ +#include <JavaScriptCore/StringImplBase.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/text/TextPosition.h b/JavaScriptGlue/ForwardingHeaders/wtf/text/TextPosition.h new file mode 100644 index 0000000..bd4f09b --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/text/TextPosition.h @@ -0,0 +1 @@ +#include <JavaScriptCore/TextPosition.h> diff --git a/JavaScriptGlue/ForwardingHeaders/wtf/text/WTFString.h b/JavaScriptGlue/ForwardingHeaders/wtf/text/WTFString.h new file mode 100644 index 0000000..8addade --- /dev/null +++ b/JavaScriptGlue/ForwardingHeaders/wtf/text/WTFString.h @@ -0,0 +1 @@ +#include <JavaScriptCore/WTFString.h> diff --git a/JavaScriptGlue/JSObject.cpp b/JavaScriptGlue/JSObject.cpp index 1d50bce..d7305cb 100644 --- a/JavaScriptGlue/JSObject.cpp +++ b/JavaScriptGlue/JSObject.cpp @@ -73,10 +73,10 @@ void JSUserObject::SetProperty(CFStringRef propertyName, JSUserObject* value) } -static JSValue JSC_HOST_CALL nativeCallFunction(ExecState* exec, JSObject* functionObject, JSValue thisValue, const ArgList& args); -static JSValue nativeCallFunction(ExecState* exec, JSObject* functionObject, JSValue thisValue, const ArgList& args) +static EncodedJSValue JSC_HOST_CALL nativeCallFunction(ExecState* exec); +static EncodedJSValue nativeCallFunction(ExecState* exec) { - return static_cast<UserObjectImp*>(functionObject)->callAsFunction(exec, asObject(thisValue), args); + return JSValue::encode(static_cast<UserObjectImp*>(exec->callee())->callAsFunction(exec)); } CallType JSUserObject::getCallData(CallData& callData) diff --git a/JavaScriptGlue/JSUtils.cpp b/JavaScriptGlue/JSUtils.cpp index 67dba86..581999c 100644 --- a/JavaScriptGlue/JSUtils.cpp +++ b/JavaScriptGlue/JSUtils.cpp @@ -36,6 +36,7 @@ #include "UserObjectImp.h" #include <JavaScriptCore/JSString.h> #include <JavaScriptCore/PropertyNameArray.h> +#include <JavaScriptCore/WTFThreadData.h> struct ObjectImpList { JSObject* imp; @@ -73,7 +74,7 @@ UString CFStringToUString(CFStringRef inCFString) // Caller is responsible for releasing the returned CFStringRef CFStringRef UStringToCFString(const UString& inUString) { - return CFStringCreateWithCharacters(0, (const UniChar*)inUString.data(), inUString.size()); + return CFStringCreateWithCharacters(0, (const UniChar*)inUString.characters(), inUString.length()); } @@ -163,7 +164,7 @@ JSValue JSObjectKJSValue(JSUserObject* ptr) { double num; CFNumberGetValue((CFNumberRef)cfType, kCFNumberDoubleType, &num); - result = jsNumber(getThreadGlobalExecState(), num); + result = jsNumber(num); handled = true; } else if (typeID == CFBooleanGetTypeID()) @@ -283,8 +284,8 @@ CFTypeRef KJSValueToCFTypeInternal(JSValue inValue, ExecState *exec, ObjectImpLi { Identifier propName = *iter; UString ustr = propName.ustring(); - const UniChar* uniChars = (const UniChar*)ustr.data(); - int size = ustr.size(); + const UniChar* uniChars = (const UniChar*)ustr.characters(); + int size = ustr.length(); while (size--) { if (uniChars[size] < '0' || uniChars[size] > '9') { isArray = false; @@ -403,12 +404,17 @@ static void initializeGlobalObjectKey() pthread_key_create(&globalObjectKey, unprotectGlobalObject); } +JSGlobalData* getThreadGlobalData() +{ + return &JSGlobalData::sharedInstance(); +} + static JSGlueGlobalObject* getThreadGlobalObject() { pthread_once(&globalObjectKeyOnce, initializeGlobalObjectKey); JSGlueGlobalObject* globalObject = static_cast<JSGlueGlobalObject*>(pthread_getspecific(globalObjectKey)); if (!globalObject) { - globalObject = new (&JSGlobalData::sharedInstance()) JSGlueGlobalObject(JSGlueGlobalObject::createStructure(jsNull())); + globalObject = new (getThreadGlobalData()) JSGlueGlobalObject(JSGlueGlobalObject::createStructure(jsNull())); gcProtect(globalObject); pthread_setspecific(globalObjectKey, globalObject); } @@ -427,23 +433,23 @@ ExecState* getThreadGlobalExecState() JSGlueAPIEntry::JSGlueAPIEntry() : m_lock(LockForReal) - , m_storedIdentifierTable(currentIdentifierTable()) + , m_storedIdentifierTable(wtfThreadData().currentIdentifierTable()) { - setCurrentIdentifierTable(getThreadGlobalObject()->globalExec()->globalData().identifierTable); + wtfThreadData().setCurrentIdentifierTable(getThreadGlobalData()->identifierTable); } JSGlueAPIEntry::~JSGlueAPIEntry() { - setCurrentIdentifierTable(m_storedIdentifierTable); + wtfThreadData().setCurrentIdentifierTable(m_storedIdentifierTable); } JSGlueAPICallback::JSGlueAPICallback(ExecState* exec) : m_dropLocks(exec) { - resetCurrentIdentifierTable(); + wtfThreadData().resetCurrentIdentifierTable(); } JSGlueAPICallback::~JSGlueAPICallback() { - setCurrentIdentifierTable(getThreadGlobalObject()->globalExec()->globalData().identifierTable); + wtfThreadData().setCurrentIdentifierTable(getThreadGlobalData()->identifierTable); } diff --git a/JavaScriptGlue/JSUtils.h b/JavaScriptGlue/JSUtils.h index 05bce62..cbd9912 100644 --- a/JavaScriptGlue/JSUtils.h +++ b/JavaScriptGlue/JSUtils.h @@ -80,6 +80,7 @@ enum { class JSGlueAPIEntry { public: JSGlueAPIEntry(); + JSGlueAPIEntry(JSGlobalObject*); // For use when it's not safe for JSGlueAPIEntry() to call getThreadGlobalObject() -- for example, from a thread-specific data destructor. ~JSGlueAPIEntry(); private: diff --git a/JavaScriptGlue/JavaScriptGlue.xcodeproj/project.pbxproj b/JavaScriptGlue/JavaScriptGlue.xcodeproj/project.pbxproj index 36bde4a..cec8b14 100644 --- a/JavaScriptGlue/JavaScriptGlue.xcodeproj/project.pbxproj +++ b/JavaScriptGlue/JavaScriptGlue.xcodeproj/project.pbxproj @@ -287,7 +287,14 @@ isa = PBXProject; buildConfigurationList = 14AC662B08CE7791006915A8 /* Build configuration list for PBXProject "JavaScriptGlue" */; compatibilityVersion = "Xcode 2.4"; + developmentRegion = English; hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); mainGroup = 0867D691FE84028FC02AAC07 /* JavaScriptGlue */; productRefGroup = 034768DFFF38A50411DB9C8B /* Products */; projectDirPath = ""; @@ -355,7 +362,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if (( MAC_OS_X_VERSION_MAJOR > 1050 )); then\n rm -rf \"$BUILT_PRODUCTS_DIR/$PUBLIC_HEADERS_FOLDER_PATH\"/*.h;\nfi;\n"; + shellScript = "if (( TARGET_MAC_OS_X_VERSION_MAJOR > 1050 )); then\n rm -rf \"$BUILT_PRODUCTS_DIR/$PUBLIC_HEADERS_FOLDER_PATH\"/*.h;\nfi;\n"; }; 939D055E09DA033400984996 /* Check For Global Initializers */ = { isa = PBXShellScriptBuildPhase; diff --git a/JavaScriptGlue/UserObjectImp.cpp b/JavaScriptGlue/UserObjectImp.cpp index 1fbb982..1728a7e 100644 --- a/JavaScriptGlue/UserObjectImp.cpp +++ b/JavaScriptGlue/UserObjectImp.cpp @@ -56,18 +56,18 @@ CallType UserObjectImp::getCallData(CallData& callData) return fJSUserObject ? fJSUserObject->getCallData(callData) : CallTypeNone; } -JSValue UserObjectImp::callAsFunction(ExecState *exec, JSObject *thisObj, const ArgList &args) +JSValue UserObjectImp::callAsFunction(ExecState *exec) { JSValue result = jsUndefined(); - JSUserObject* jsThisObj = KJSValueToJSObject(thisObj, exec); + JSUserObject* jsThisObj = KJSValueToJSObject(exec->hostThisValue().toThisObject(exec), exec); if (jsThisObj) { - CFIndex argCount = args.size(); + CFIndex argCount = exec->argumentCount(); CFArrayCallBacks arrayCallBacks; JSTypeGetCFArrayCallBacks(&arrayCallBacks); CFMutableArrayRef jsArgs = CFArrayCreateMutable(0, 0, &arrayCallBacks); if (jsArgs) { for (CFIndex i = 0; i < argCount; i++) { - JSUserObject* jsArg = KJSValueToJSObject(args.at(i), exec); + JSUserObject* jsArg = KJSValueToJSObject(exec->argument(i), exec); CFArrayAppendValue(jsArgs, (void*)jsArg); jsArg->Release(); } @@ -112,9 +112,9 @@ void UserObjectImp::getOwnPropertyNames(ExecState *exec, PropertyNameArray& prop JSObject::getOwnPropertyNames(exec, propertyNames, mode); } -JSValue UserObjectImp::userObjectGetter(ExecState*, const Identifier& propertyName, const PropertySlot& slot) +JSValue UserObjectImp::userObjectGetter(ExecState*, JSValue slotBase, const Identifier& propertyName) { - UserObjectImp *thisObj = static_cast<UserObjectImp *>(asObject(slot.slotBase())); + UserObjectImp *thisObj = static_cast<UserObjectImp *>(asObject(slotBase)); // getOwnPropertySlot should have guarded against a null fJSUserObject. assert(thisObj->fJSUserObject); @@ -190,7 +190,7 @@ JSValue UserObjectImp::toPrimitive(ExecState *exec, JSType) const } else if (cfType == CFNumberGetTypeID()) { double d = 0.0; CFNumberGetValue((CFNumberRef)cfValue, kCFNumberDoubleType, &d); - result = jsNumber(exec, d); + result = jsNumber(d); } else if (cfType == CFURLGetTypeID()) { CFURLRef absURL = CFURLCopyAbsoluteURL((CFURLRef)cfValue); if (absURL) { diff --git a/JavaScriptGlue/UserObjectImp.h b/JavaScriptGlue/UserObjectImp.h index 6f857f9..8dbad98 100644 --- a/JavaScriptGlue/UserObjectImp.h +++ b/JavaScriptGlue/UserObjectImp.h @@ -46,7 +46,7 @@ public: virtual void getOwnPropertyNames(ExecState*, PropertyNameArray&, EnumerationMode mode = ExcludeDontEnumProperties); - virtual JSValue callAsFunction(ExecState *exec, JSObject *thisObj, const ArgList &args); + virtual JSValue callAsFunction(ExecState *exec); virtual bool getOwnPropertySlot(ExecState *, const Identifier&, PropertySlot&); virtual void put(ExecState *exec, const Identifier &propertyName, JSValue value, PutPropertySlot&); @@ -65,7 +65,7 @@ public: } private: - static JSValue userObjectGetter(ExecState*, const Identifier& propertyName, const PropertySlot&); + static JSValue userObjectGetter(ExecState*, JSValue, const Identifier& propertyName); JSUserObject* fJSUserObject; }; |
