summaryrefslogtreecommitdiffstats
path: root/JavaScriptGlue
diff options
context:
space:
mode:
Diffstat (limited to 'JavaScriptGlue')
-rw-r--r--JavaScriptGlue/ChangeLog387
-rw-r--r--JavaScriptGlue/Configurations/Base.xcconfig29
-rw-r--r--JavaScriptGlue/Configurations/DebugRelease.xcconfig4
-rw-r--r--JavaScriptGlue/Configurations/Version.xcconfig6
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/ASCIICType.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/Atomics.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/Bitmap.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/BumpPointerAllocator.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/FixedArray.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/ListHashSet.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/MainThread.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/OwnArrayPtrCommon.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/PageAllocation.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/PageReservation.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/RandomNumber.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/StringHashFunctions.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/StringHasher.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/ThreadSafeShared.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/ThreadingPrimitives.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/WTFThreadData.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/text/CString.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/text/StringHash.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/text/StringImpl.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/text/StringImplBase.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/text/TextPosition.h1
-rw-r--r--JavaScriptGlue/ForwardingHeaders/wtf/text/WTFString.h1
-rw-r--r--JavaScriptGlue/JSObject.cpp6
-rw-r--r--JavaScriptGlue/JSUtils.cpp26
-rw-r--r--JavaScriptGlue/JSUtils.h1
-rw-r--r--JavaScriptGlue/JavaScriptGlue.xcodeproj/project.pbxproj9
-rw-r--r--JavaScriptGlue/UserObjectImp.cpp14
-rw-r--r--JavaScriptGlue/UserObjectImp.h4
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;
};