diff -r 000000000000 -r 4f2f89ce4247 JavaScriptGlue/ChangeLog --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/JavaScriptGlue/ChangeLog Fri Sep 17 09:02:29 2010 +0300 @@ -0,0 +1,2910 @@ +2010-07-01 Oliver Hunt + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Sam Weinig. + + 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. ( + 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 + + Reviewed by NOBODY (build fix). + Errk! tree on fire, add fwd! + + * ForwardingHeaders/wtf/text/StringHash.h: Added. + +2010-04-20 Gavin Barraclough + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by David Kilzer. + + 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 + + Reviewed by Tim Hatcher. + + 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 + + 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 + + Reviewed by Geoffrey Garen. + + https://bugs.webkit.org/show_bug.cgi?id=34490 + WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions + + * ForwardingHeaders/wtf/ValueCheck.h: Added. + +2010-02-04 Mark Rowe + + Reviewed by Timothy Hatcher. + + Build fix. Remove a symbol corresponding to an inline function from the linker export + file to prevent a weak external failure. + + * JavaScriptGlue.xcodeproj/project.pbxproj: Accommodate rename of script. + +2010-01-28 Oliver Hunt + + Reviewed by Gavin Barraclough. + + Simplify anonymous slot implementation + https://bugs.webkit.org/show_bug.cgi?id=34282 + + Update JSGlue Structure usage to pass the anonymous slot count. + + * UserObjectImp.h: + (UserObjectImp::createStructure): + +2010-01-12 Kent Hansen + + Reviewed by Geoffrey Garen. + + [ES5] Implement Object.getOwnPropertyNames + https://bugs.webkit.org/show_bug.cgi?id=32242 + + Add new argument to the reimplementation of getOwnPropertyNames(). + + * UserObjectImp.cpp: + (UserObjectImp::getOwnPropertyNames): + * UserObjectImp.h: + +2010-01-07 Alexey Proskuryakov + + Mac build fix. + + * config.h: Define JS_EXPORTCLASS for JavaScriptGlue. + +2010-01-05 Gavin Barraclough + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=33236 + Remove m_identifierTable pointer from UString + + Add API shims similar to those used in the JSC API to track the current identifierTable. + + * JSBase.cpp: + (JSBase::Release): + * JSUtils.cpp: + (JSObjectKJSValue): + (KJSValueToCFTypeInternal): + (unprotectGlobalObject): + (JSGlueAPIEntry::JSGlueAPIEntry): + (JSGlueAPIEntry::~JSGlueAPIEntry): + (JSGlueAPICallback::JSGlueAPICallback): + (JSGlueAPICallback::~JSGlueAPICallback): + * JSUtils.h: + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectCopyPropertyNames): + (JSValueWrapper::JSObjectCopyProperty): + (JSValueWrapper::JSObjectSetProperty): + (JSValueWrapper::JSObjectCallFunction): + (JSValueWrapper::JSObjectCopyCFValue): + * JavaScriptGlue.cpp: + (JSRunCreate): + (JSRunEvaluate): + (JSRunCheckSyntax): + (JSCollect): + * JavaScriptGlue.xcodeproj/project.pbxproj: + * UserObjectImp.cpp: + (UserObjectImp::callAsFunction): + +2010-01-04 Gavin Barraclough + + Reviewed by Sam Weinig. + + Add a forwarding header so that StringHashFunctions.h can be found. + + * ForwardingHeaders/wtf/StringHashFunctions.h: Added. + +2010-01-04 Dan Bernstein + + Reviewed by Ada Chan and Mark Rowe. + + Updated copyright string + + * Info.plist: + +2009-12-21 Gavin Barraclough + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=32831 + Replace UString::Rep implementation, following introduction of ropes to JSC. + + * ForwardingHeaders/wtf/PossiblyNull.h: Added. + - add forwarding header. + +2009-12-16 Mark Rowe + + Build fix. Disable debug variants of WebKit frameworks. + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2009-12-13 Geoffrey Garen + + Reviewed by Sam Weinig. + + Changed GC from mark-sweep to mark-allocate. + + * JavaScriptGlue.cpp: + (JSCollect): Updated for rename. Fixed a bug where JSGlue would not check + to avoid nested GC calls. + +2009-12-08 Dmitry Titov + + Rubber-stamped by David Levin. + + Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread." + It may have caused massive increase of reported leaks on the bots. + https://bugs.webkit.org/show_bug.cgi?id=31639 + + * ForwardingHeaders/wtf/ThreadVerifier.h: Removed. + +2009-12-08 Dmitry Titov + + Reviewed by Darin Adler. + + Add asserts to RefCounted to make sure ref/deref happens on the right thread. + https://bugs.webkit.org/show_bug.cgi?id=31639 + + * ForwardingHeaders/wtf/ThreadVerifier.h: Added. + +2009-11-24 Mark Rowe + + Fix production builds where the source tree may be read-only. + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2009-11-08 David Levin + + Reviewed by NOBODY (chromium build fix). + + Added the use jsc define for files that use + this config file and DateMath.h. This should + be able to go away when DateMath is properly + split into wtf and jsc portions which is this bug: + https://bugs.webkit.org/show_bug.cgi?id=31246 + + * config.h: + +2009-11-06 Geoffrey Garen + + Reviewed by Oliver Hunt. + + https://bugs.webkit.org/show_bug.cgi?id=31197 + Implemented a timezone cache not based on Mac OS X's notify_check API. + + * ForwardingHeaders/wtf/CurrentTime.h: Added. + +2009-10-27 Geoffrey Garen + + Build fix: Updated for JavaScriptCore export changes. + + * ForwardingHeaders/wtf/DateInstanceCache.h: Added. + +2009-10-27 Geoffrey Garen + + Reviewed by Oliver Hunt. + + Updated for JavaScriptCore export changes. + + * ForwardingHeaders/wtf/DateMath.h: Added. + +2009-10-27 Dan Bernstein + + Reviewed by Darin Adler. + + Updated license + + * LICENSE: + +2009-10-16 Oliver Hunt + + Reviewed by Gavin Barraclough. + + Make typeinfo flags default to false + https://bugs.webkit.org/show_bug.cgi?id=30372 + + Last part -- replace HasDefaultGetPropertyNames with OverridesGetPropertyNames + flag. + + * UserObjectImp.h: + (UserObjectImp::createStructure): + +2009-10-15 Oliver Hunt + + Reviewed by Darin Adler. + + Make typeinfo flags default to false + https://bugs.webkit.org/show_bug.cgi?id=30372 + + Part 2 -- Reverse the TypeInfo HasDefaultMark flag to OverridesMarkChildren, etc + + * UserObjectImp.h: + (UserObjectImp::createStructure): + +2009-10-14 Oliver Hunt + + Reviewed by Geoff Garen. + + Make typeinfo flags default to false + https://bugs.webkit.org/show_bug.cgi?id=30372 + + Part 1. Reverse the HasStandardGetOwnPropertySlot flag. + + * UserObjectImp.h: + (UserObjectImp::createStructure): + +2009-09-28 Geoffrey Garen + + Reviewed by Sam Weinig. + + Removed virtual destructor from JSGlobalObjectData to eliminate pointer + fix-ups when accessing JSGlobalObject::d. + + Replaced with an explicit destructor function pointer. + + * JSRun.cpp: + (JSGlueGlobalObject::destroyData): + * JSRun.h: + (JSGlueGlobalObject::Data::Data): + +2009-09-12 Oliver Hunt + + Reviewed by Maciej Stachowiak. + + [ES5] Implement Object.keys + https://bugs.webkit.org/show_bug.cgi?id=29170 + + Switch over to getOwnPropertyNames instead of getPropertyNames. + + * UserObjectImp.cpp: + (UserObjectImp::getOwnPropertyNames): + * UserObjectImp.h: + +2009-09-02 Darin Adler + + Reviewed by Geoff Garen. + + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectMark): Removed a check of the mark + bit. It's OK to do more work in this case, and there is no + longer a public function to access the mark bit. + +2009-08-14 Darin Adler + + Reviewed by Sam Weinig. + + Rename the confusing isObject() to inherits(). + It still works on non-objects, returning false. + + * JSUtils.cpp: + (KJSValueToJSObject): + (KJSValueToCFTypeInternal): + Changed from isObject to inherits. + +2009-08-13 Oliver Hunt + + Reviewed by Maciej Stachowiak. + + Devirtualise marking + https://bugs.webkit.org/show_bug.cgi?id=28294 + + Continue to jump through hoops to deal with the exposed marking routines + in JavaScriptGlue. + + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectMark): + +2009-08-07 Oliver Hunt + + Reviewed by Sam Weinig. + + Stack overflow crash in JavaScript garbage collector mark pass + https://bugs.webkit.org/show_bug.cgi?id=12216 + + Make JSGlue interact with the new iterative mark logic. + + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectMark): + Unfortunately JSGlue exposes recursive marking so we can only flatten + the recursion. We just create a local mark stack if necessary and mark + the given object iteratively from this point. + * UserObjectImp.cpp: + (UserObjectImp::markChildren): + * UserObjectImp.h: + +2009-08-06 Mark Rowe + + Rubber-stamped by Sam Weinig. + + Add explicit dependencies for our build verification scripts to ensure that they always run after linking has completed. + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2009-07-27 Alexey Proskuryakov + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=27735 + Give a helpful name to JSLock constructor argument + + * JSBase.cpp: + (JSBase::Release): + * JSUtils.cpp: + (JSObjectKJSValue): + (KJSValueToCFTypeInternal): + (unprotectGlobalObject): + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectCopyPropertyNames): + (JSValueWrapper::JSObjectCopyProperty): + (JSValueWrapper::JSObjectSetProperty): + (JSValueWrapper::JSObjectCallFunction): + (JSValueWrapper::JSObjectCopyCFValue): + * JavaScriptGlue.cpp: + (JSRunCreate): + (JSRunEvaluate): + (JSRunCheckSyntax): + (JSCollect): + (JSLockInterpreter): + (JSUnlockInterpreter): + +2009-07-10 Adam Roben + + Sort all our Xcode projects + + Accomplished using sort-Xcode-project-file. + + Requested by Dave Kilzer. + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2009-07-08 Darin Adler + + Reviewed by Dan Bernstein + + - fix REGRESSION (r30534): "Scrolling Credits" + effect does not scroll on iMovie 7.1.4 on Tiger + + In , the prototype of + JSObject::put() which UserObjectImp had been overriding changed, but + UserObjectImp wasn't updated, so its override was no longer getting + called after that. + + * UserObjectImp.cpp: + (UserObjectImp::put): Match the current prototype of JSObject::put(). + The PutPropertySlot argument is unused. + * UserObjectImp.h: Ditto. + +2009-06-19 Zoltan Horvath + + Reviewed by Darin Adler. + + Add FastAllocBase.h to JavaScriptGlue's ForwardingHeaders/wtf, because it's needed by HashCountedSet.h on MAC. + + * ForwardingHeaders/wtf/FastAllocBase.h: Added. + +2009-06-02 Mark Rowe + + Reviewed by Anders Carlsson. + + Remove workaround that was added to address as it no longer affects our Tiger builds. + + * Configurations/Base.xcconfig: + +2009-05-25 David Levin + + Reviewed by Maciej Stachowiak and Oliver Hunt. + + https://bugs.webkit.org/show_bug.cgi?id=25126 + + Added forwarding headers. + + * ForwardingHeaders/wtf/CrossThreadRefCounted.h: Added. + * ForwardingHeaders/wtf/OwnFastMallocPtr.h: Added. + +2009-05-23 David Kilzer + + Part 1 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr + + + + Reviewed by Oliver Hunt. + + * ForwardingHeaders/wtf/OwnPtrCommon.h: Added. + * ForwardingHeaders/wtf/PassOwnPtr.h: Added. + +2009-05-14 Mark Rowe + + Rubber-stamped by Darin Adler. + + When building with Xcode 3.1.3 should be using gcc 4.2 + + The meaning of XCODE_VERSION_ACTUAL is more sensible in newer versions of Xcode. + Update our logic to select the compiler version to use the more appropriate XCODE_VERSION_MINOR + if the version of Xcode supports it, and fall back to XCODE_VERSION_ACTUAL if not. + + * Configurations/Base.xcconfig: + +2009-05-07 Oliver Hunt + + Reviewed by Gavin Barraclough. + + Add calling convention annotation + + * JSObject.cpp: + +2009-05-01 Geoffrey Garen + + Rubber Stamped by Sam Weinig. + + Renamed JSValuePtr => JSValue. + + * JSObject.cpp: + (nativeCallFunction): + * JSUtils.cpp: + (KJSValueToJSObject): + (JSObjectKJSValue): + (KJSValueToCFTypeInternal): + (KJSValueToCFType): + * JSUtils.h: + * JSValueWrapper.cpp: + (JSValueWrapper::JSValueWrapper): + (JSValueWrapper::GetValue): + (JSValueWrapper::JSObjectCopyProperty): + (JSValueWrapper::JSObjectSetProperty): + (JSValueWrapper::JSObjectCallFunction): + * JSValueWrapper.h: + * UserObjectImp.cpp: + (UserObjectImp::callAsFunction): + (UserObjectImp::userObjectGetter): + (UserObjectImp::getOwnPropertySlot): + (UserObjectImp::put): + (UserObjectImp::toPrimitive): + * UserObjectImp.h: + (UserObjectImp::createStructure): + +2009-04-29 Oliver Hunt + + Reviewed by Gavin Barraclough. + + Clean up ArgList to be a trivial type + + Start using MarkedArgumentBuffer to create argument lists for function calls + + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectCallFunction): + +2009-04-28 Geoffrey Garen + + Rubber stamped by Beth Dakin. + + Missed one. + + * UserObjectImp.cpp: + (UserObjectImp::callAsFunction): + +2009-04-21 Geoffrey Garen + + Reviewed by Mark Rowe. + + Tiger crash fix: Put VM tags in their own header file, and fixed up the + #ifdefs so they're not used on Tiger. + + * ForwardingHeaders/wtf/VMTags.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/HashTraits.h. + +2009-04-20 Sam Weinig + + Rubber-stamped by Tim Hatcher. + + Add licenses for xcconfig files. + + * Configurations/Base.xcconfig: + * Configurations/DebugRelease.xcconfig: + * Configurations/JavaScriptGlue.xcconfig: + * Configurations/Version.xcconfig: + +2009-03-13 Mark Rowe + + Rubber-stamped by Dan Bernstein. + + Take advantage of the ability of recent versions of Xcode to easily switch the active + architecture. + + * Configurations/DebugRelease.xcconfig: + +2009-02-24 Mark Rowe + + Rubber-stamped by Dan Bernstein. + + JavaScriptGlue should use -Os rather than -O2 + + * Configurations/Base.xcconfig: + +2009-01-28 Sam Weinig + + Reviewed by Gavin Barraclough. + + Fix for + Hang occurs when closing Installer window (iTunes, Aperture) + + * JSUtils.cpp: + (getThreadGlobalObject): Use the shared JSGlobalData instance. + +2009-01-22 Mark Rowe + + Rubber-stamped by Anders Carlsson. + + Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily. + + Current versions of Xcode only respect it for C and Objective-C files, + and our code doesn't currently compile if it is applied to C++ and + Objective-C++ files. + + * Configurations/Base.xcconfig: + +2009-01-19 Sam Weinig + + Rubber-stamped by Gavin Barraclough. + + Remove temporary operator-> from JSValuePtr. + + * JSUtils.cpp: + (KJSValueToJSObject): + (KJSValueToCFTypeInternal): + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectCopyPropertyNames): + (JSValueWrapper::JSObjectCopyProperty): + (JSValueWrapper::JSObjectSetProperty): + (JSValueWrapper::JSObjectCallFunction): + (JSValueWrapper::JSObjectMark): + * UserObjectImp.cpp: + (UserObjectImp::getOwnPropertySlot): + +2009-01-14 Dan Bernstein + + Reviewed by John Sullivan. + + - update copyright + + * Info.plist: + +2009-01-09 David Levin + + Reviewed by Oliver Hunt. + + https://bugs.webkit.org/show_bug.cgi?id=23175 + + Added forwarding header. + + * ForwardingHeaders/wtf/PtrAndFlags.h: Added. + +2009-01-05 Gavin Barraclough + + Rubber Stamped by Oliver Hunt. + + Replace all uses of JSValue* with new wrapper class, JSValuePtr. + See JavaScriptCore/ChangeLog for more detailed description. + + * JSObject.cpp: + (nativeCallFunction): + * JSUtils.cpp: + (KJSValueToJSObject): + (JSObjectKJSValue): + (KJSValueToCFTypeInternal): + (KJSValueToCFType): + * JSUtils.h: + * JSValueWrapper.cpp: + (JSValueWrapper::JSValueWrapper): + (JSValueWrapper::GetValue): + (JSValueWrapper::JSObjectCopyProperty): + (JSValueWrapper::JSObjectSetProperty): + (JSValueWrapper::JSObjectCallFunction): + * JSValueWrapper.h: + * UserObjectImp.cpp: + (UserObjectImp::callAsFunction): + (UserObjectImp::userObjectGetter): + (UserObjectImp::getOwnPropertySlot): + (UserObjectImp::put): + (UserObjectImp::toPrimitive): + * UserObjectImp.h: + (UserObjectImp::createStructure): + +2008-12-15 Mark Rowe + + Rubber-stamped by Cameron Zwarich. + + Change WebKit-related projects to build with GCC 4.2 on Leopard. + + * Configurations/Base.xcconfig: + * Configurations/DebugRelease.xcconfig: + +2008-12-08 David Kilzer + + Bug 22555: Sort "children" sections in Xcode project files + + + + Reviewed by Eric Seidel. + + * JavaScriptGlue.xcodeproj/project.pbxproj: Sorted. + +2008-11-17 Geoffrey Garen + + Reviewed by Sam Weinig. + + Updated for JavaScriptCore rename. + + * ForwardingHeaders/runtime/CallFrame.h: Copied from JavaScriptGlue/ForwardingHeaders/runtime/ExecState.h. + * ForwardingHeaders/runtime/ExecState.h: Removed. + * config.h: + +2008-11-17 Geoffrey Garen + + Reviewed by Sam Weinig. + + Updated for JavaScriptCore rename. + + * ForwardingHeaders/interpreter: Added. + * ForwardingHeaders/interpreter/CallFrame.h: Copied from ForwardingHeaders/runtime/ExecState.h. + * ForwardingHeaders/runtime/ExecState.h: Removed. + +2008-11-15 Darin Adler + + Rubber stamped by Geoff Garen. + + - do the long-planned StructureID -> Structure rename + + * JSRun.cpp: + (JSGlueGlobalObject::JSGlueGlobalObject): + (JSRun::JSRun): + * JSRun.h: + (JSGlueGlobalObject::userObjectStructure): + * JSUtils.cpp: + (getThreadGlobalObject): + * UserObjectImp.cpp: + (UserObjectImp::UserObjectImp): + * UserObjectImp.h: + (UserObjectImp::createStructure): + +2008-11-15 Geoffrey Garen + + Reviewed by Sam Weinig. + + Updated for JavaScriptCore renames. + + * JSRun.cpp: + (JSRun::Evaluate): + (JSRun::CheckSyntax): + +2008-11-05 Cameron Zwarich + + Not reviewed. + + Fix the JavaScriptGlue build. This wouldn't show up unless one was + doing a clean build, because changes in JavaScriptCore don't cause + anything in JavaScriptGlue to get rebuilt. + + * JSRun.cpp: + * JSUtils.h: + * JavaScriptGlue.cpp: + +2008-11-04 Cameron Zwarich + + Reviewed by Mark Rowe. + + Remove JavaScriptGlue forwarding headers that are no longer necessary, + and correct the path of the ExecState.h forwarding header. + + * ForwardingHeaders/kjs: Removed. + * ForwardingHeaders/kjs/CTI.h: Removed. + * ForwardingHeaders/kjs/ExecState.h: Removed. + * ForwardingHeaders/kjs/JSValue.h: Removed. + * ForwardingHeaders/kjs/PutPropertySlot.h: Removed. + * ForwardingHeaders/kjs/ustring.h: Removed. + * ForwardingHeaders/runtime: Added. + * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h. + * config.h: + +2008-10-31 Stephanie Lewis + + Fix build by including right files. + + * JSRun.cpp: + +2008-10-30 Mark Rowe + + Reviewed by Jon Homeycutt. + + Explicitly default to building for only the native architecture in debug and release builds. + + * Configurations/DebugRelease.xcconfig: + +2008-10-24 Darin Adler + + - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732 + + * JSObject.cpp: + (nativeCallFunction): + * JSUtils.cpp: + (KJSValueToJSObject): + (JSObjectKJSValue): + (KJSValueToCFTypeInternal): + (KJSValueToCFType): + * JSUtils.h: + * JSValueWrapper.cpp: + (JSValueWrapper::JSValueWrapper): + (JSValueWrapper::GetValue): + (JSValueWrapper::JSObjectCopyProperty): + (JSValueWrapper::JSObjectSetProperty): + (JSValueWrapper::JSObjectCallFunction): + * JSValueWrapper.h: + * UserObjectImp.cpp: + (UserObjectImp::callAsFunction): + (UserObjectImp::userObjectGetter): + (UserObjectImp::getOwnPropertySlot): + (UserObjectImp::put): + (UserObjectImp::toPrimitive): + * UserObjectImp.h: + (UserObjectImp::createStructureID): + Use JSValue* instead of JSValuePtr. + +2008-10-23 Darin Adler + + - roll out https://bugs.webkit.org/show_bug.cgi?id=21732 + + * JSValueWrapper.cpp: + (JSValueWrapper::GetValue): Added missing call to .get(). + * JSValueWrapper.h: ProtectedPtr instead of ProtectedPtr. + +2008-10-22 Darin Adler + + Reviewed by Sam Weinig. + + - fix https://bugs.webkit.org/show_bug.cgi?id=21294 + Bug 21294: Devirtualize getOwnPropertySlot() + + * JSRun.cpp: + (JSGlueGlobalObject::JSGlueGlobalObject): Moved constructor here. + Set up flags in its new location in global object data, and set up + a structure for UserObjectImp too. + (JSRun::JSRun): Added code to give the JSGlueGlobalObject its own unique + structure, rather than using the default one from JSGlobalObject. + + * JSRun.h: Made JSGlueGlobalObject take a structure ID. Also moved + the data into a separate data object. And added userObjectStructure, + a Structure to be used by UserObjectImp. + + * JSUtils.cpp: Removed unused sharedGlobalData global. + (JSObjectKJSValue): Pass Structure in when creating UserObjectImp. + (unprotectGlobalObject): Use JSGlueGLobalObject type specifically. + (initializeGlobalObjectKey): Removed code to set up unused sharedGlobalData. + (getThreadGlobalObject): Added. Shared by JSObjectKJSValue and + getThreadGlobalExecState. Also now passes in a structure ID when creating + the global object. + (getThreadGlobalExecState): Changed to call getThreadGlobalObject. + + * UserObjectImp.cpp: + (UserObjectImp::UserObjectImp): Changed to take a structure. + * UserObjectImp.h: + (UserObjectImp::createStructureID): Added. Returns a structure without + HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot. + +2008-10-20 Sam Weinig + + Reviewed by Cameron Zwarich. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=21766 + REGRESSION: 12 JSC tests fail + + The JSGlobalObject constructor no longer takes a JSGlobalData + as an argument. + + * JSRun.cpp: + (JSRun::JSRun): + * JSRun.h: + (JSGlueGlobalObject::JSGlueGlobalObject): + * JSUtils.cpp: + (getThreadGlobalExecState): + +2008-10-19 Darin Adler + + Reviewed by Oliver Hunt. + + - next step of https://bugs.webkit.org/show_bug.cgi?id=21732 + improve performance by eliminating JSValue as a base class for JSCell + + Remove most uses of JSValue, which will be removed in a future patch. + + * JSValueWrapper.h: Use JSValuePtr instead of JSValue*. + +2008-10-18 Darin Adler + + Reviewed by Oliver Hunt. + + - next step of https://bugs.webkit.org/show_bug.cgi?id=21732 + improve performance by eliminating JSValue as a base class for JSCell + + Tweak a little more to get closer to where we can make JSValuePtr a class. + + * JSObject.cpp: + (nativeCallFunction): Call asObject. + + * JSUtils.cpp: + (KJSValueToJSObject): Use JSValuePtr and asObject. + (JSObjectKJSValue): Ditto. + (KJSValueToCFTypeInternal): Ditto. + (KJSValueToCFType): Ditto. + * JSUtils.h: Ditto. + + * UserObjectImp.cpp: + (UserObjectImp::callAsFunction): Use JSValuePtr and asObject. + (UserObjectImp::userObjectGetter): Ditto. + (UserObjectImp::getOwnPropertySlot): Ditto. + (UserObjectImp::put): Ditto. + (UserObjectImp::toPrimitive): Ditto. + * UserObjectImp.h: Ditto. + +2008-10-18 Darin Adler + + Reviewed by Cameron Zwarich. + + - next step on https://bugs.webkit.org/show_bug.cgi?id=21732 + improve performance by eliminating JSValue as a base class for JSCell + + Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be + changing JSValuePtr to be a class, and then eventually renaming it + to JSValue once that's done. + + * JSObject.cpp: + * JSValueWrapper.cpp: + * UserObjectImp.cpp: + * UserObjectImp.h: + Replace JSValue* with JSValuePtr. + +2008-10-13 Maciej Stachowiak + + Rubber stamped by Mark Rowe. + + - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default + + * Configurations/DebugRelease.xcconfig: + +2008-10-06 Maciej Stachowiak + + Not reviewed. Build fix. + + - revert toBoolean changes (r37333 and r37335); need to make WebCore work with these + + * JSUtils.cpp: + (KJSValueToCFTypeInternal): + +2008-10-06 Maciej Stachowiak + + Not reviewed. + + - fix build; toBoolean no longer takes an ExecState + + * JSUtils.cpp: + (KJSValueToCFTypeInternal): + +2008-10-04 Mark Rowe + + Reviewed by Tim Hatcher. + + Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible. + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2008-10-01 Geoffrey Garen + + Reviewed by Darin Adler and Cameron Zwarich. + + * JSRun.cpp: + (JSRun::Evaluate): + (JSRun::CheckSyntax): Provide a SourceCode to the Interpreter, since + other APIs are no longer supported. + +2008-09-29 Geoffrey Garen + + Not reviewed. + + Forwarding headers to fix the build. + + * ForwardingHeaders/kjs/CTI.h: Copied from ForwardingHeaders/kjs/ExecState.h. + * ForwardingHeaders/kjs/ustring.h: Copied from ForwardingHeaders/kjs/ExecState.h. + * ForwardingHeaders/masm: Added. + * ForwardingHeaders/masm/X86Assembler.h: Added. + * ForwardingHeaders/profiler: Added. + * ForwardingHeaders/profiler/Profiler.h: Added. + +2008-09-08 Sam Weinig + + Reviewed by Maciej Stachowiak and Oliver Hunt. + + Add forwarding headers. + + * ForwardingHeaders/wtf/HashFunctions.h: Added. + * ForwardingHeaders/wtf/HashTraits.h: Added. + +2008-09-02 Geoffrey Garen + + Reviewed by Sam Weinig. + + Implemented the rest of Darin's review comments for the 09-01 inline + caching patch. + + * ForwardingHeaders/kjs/PutPropertySlot.h: Added. + +2008-09-01 Geoffrey Garen + + Reviewed by Darin Adler. + + First cut at inline caching for access to vanilla JavaScript properties. + + Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs + to JavaScriptGlue classes, and PutPropertySlot& arguments to put functions. + +2008-08-22 Anders Carlsson + + Fix build for real this time. + + * UserObjectImp.h: + +2008-08-22 Anders Carlsson + + Fix build. + + * UserObjectImp.cpp: + (UserObjectImp::toPrimitive): + * UserObjectImp.h: + +2008-08-19 Alexey Proskuryakov + + Reviewed by Geoff Garen. + + Bring back shared JSGlobalData and implicit locking, because too many clients rely on it. + + * JSBase.cpp: + (JSBase::Release): + * JSUtils.cpp: + (JSObjectKJSValue): + (KJSValueToCFTypeInternal): + (unprotectGlobalObject): + * JSUtils.h: + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectCopyPropertyNames): + (JSValueWrapper::JSObjectCopyProperty): + (JSValueWrapper::JSObjectSetProperty): + (JSValueWrapper::JSObjectCallFunction): + (JSValueWrapper::JSObjectCopyCFValue): + * JavaScriptGlue.cpp: + (JSRunCreate): + (JSRunEvaluate): + (JSRunCheckSyntax): + (JSCollect): + (JSLockInterpreter): + (JSUnlockInterpreter): + * UserObjectImp.cpp: + (UserObjectImp::callAsFunction): + +2008-08-12 Darin Adler + + Reviewed by Geoff. + + - eliminate JSValue::type() + + * JSUtils.cpp: + (KJSValueToCFTypeInternal): Replaced uses of JSValue::type() with + JSValue::is functions. + * UserObjectImp.cpp: + (UserObjectImp::getOwnPropertySlot): Ditto. + (UserObjectImp::toPrimitive): Take PreferredPrimitiveType argument + instead of JSType argument. + * UserObjectImp.h: Ditto. + +2008-08-17 Geoffrey Garen + + Reviewed by Cameron Zwarich. + + Updated project files to XCode 3.1. + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2008-08-15 Mark Rowe + + Rubber-stamped by Geoff Garen. + + Please include a _debug version of JavaScriptCore framework + + * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared + between the Debug configuration and debug Production variant. + * JavaScriptGlue.xcodeproj/project.pbxproj: Enable the debug variant. + +2008-07-31 Alexey Proskuryakov + + Rubber-stamped by Maciej. + + Eliminate JSLock (it was already disabled, removing the stub implementaion and all + call sites now). + + * JSBase.cpp: + (JSBase::Release): + * JSUtils.cpp: + (JSObjectKJSValue): + (KJSValueToCFTypeInternal): + (unprotectGlobalObject): + * JSUtils.h: + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectCopyPropertyNames): + (JSValueWrapper::JSObjectCopyProperty): + (JSValueWrapper::JSObjectSetProperty): + (JSValueWrapper::JSObjectCallFunction): + (JSValueWrapper::JSObjectCopyCFValue): + * JavaScriptGlue.cpp: + (JSRunCreate): + (JSRunEvaluate): + (JSRunCheckSyntax): + (JSCollect): + (JSLockInterpreter): + (JSUnlockInterpreter): + * UserObjectImp.cpp: + (UserObjectImp::callAsFunction): + +2008-07-29 Alexey Proskuryakov + + Reviewed by Geoff Garen. + + Implement JSContextGroup APIs to make concurrent execution possible for + JavaScriptCore clients. + + * JSRun.cpp: + (JSRun::JSRun): + * JSUtils.cpp: + (getThreadGlobalExecState): + Changed JavaScriptGlue to use a JSGlobalData of its own, now that there is no shared + instance. + +2008-07-23 Alexey Proskuryakov + + Reviewed by Geoff Garen. + + Make JSClassRef work with any context, not just the first one it was used in. + + * ForwardingHeaders/wtf/HashMap.h: Added. + +2008-07-22 Geoffrey Garen + + Reviewed by Oliver Hunt and Sam Weinig. + + Next step toward putting doubles in registers: Prepare the Register class + and its clients for registers that don't contain JSValue*s. + +2008-07-21 Mark Rowe + + Reviewed by Sam Weinig. + + Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number. + + * Configurations/Version.xcconfig: + * Info.plist: + +2008-07-18 Geoffrey Garen + + Reviewed by Cameron Zwarich. + + Three renames: + + "CallTypeNative" => "CallTypeHost" + "code" => "byteCode" + "generatedCode" => "generatedByteCode" + + * ChangeLog: + * JSObject.cpp: + (JSUserObject::getCallData): + +2008-07-14 Alexey Proskuryakov + + Reviewed by Geoff Garen. + + Eliminate per-thread JavaScript global data instance support and make arbitrary + global data/global object combinations possible. + + * ForwardingHeaders/wtf/ThreadSpecific.h: Added. + * JSRun.cpp: + (JSRun::JSRun): + * JSUtils.cpp: + (getThreadGlobalExecState): + Adapt to the new way of asking for shared JSGlobalData. + +2008-07-10 Mark Rowe + + Reviewed by Sam Weinig. + + Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute. + + * Configurations/JavaScriptGlue.xcconfig: + +2008-07-09 Mark Rowe + + Reviewed by Geoff Garen. + + Don't warn about deprecated functions in production builds. + + * Configurations/Base.xcconfig: + * Configurations/DebugRelease.xcconfig: + +2008-07-08 Alexey Proskuryakov + + Reviewed by Darin Adler. + + REGRESSION: Crash occurs in KJS::Machine after launching + Apple Installer + + The problem was that JSUserObject::getCallData() was setting call type to native, but + left callData.native.function uninitialized. + + * JSObject.cpp: + (JSUserObject::getCallData): Initialize callData.native.function. + (nativeCallFunction): Call UserObjectImp::callAsFunction(). + +2008-07-04 Sam Weinig + + Rubber-stamped by Dan Bernstein. + + * JSObject.h: Rename the header guard as it now conflicts with the + JSObject in JavaScriptCore. + +2008-07-01 Alexey Proskuryakov + + Reviewed by Darin Adler. + + Disable JSLock for per-thread contexts. + + * ForwardingHeaders/wtf/Locker.h: Added. + * ForwardingHeaders/wtf/Threading.h: Added. + * JSBase.cpp: + (JSBase::Release): + * JSUtils.cpp: + (JSObjectKJSValue): + (KJSValueToCFTypeInternal): + (unprotectGlobalObject): + * JSUtils.h: + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectCopyPropertyNames): + (JSValueWrapper::JSObjectCopyProperty): + (JSValueWrapper::JSObjectSetProperty): + (JSValueWrapper::JSObjectCallFunction): + (JSValueWrapper::JSObjectCopyCFValue): + * JavaScriptGlue.cpp: + (JSRunCreate): + (JSRunEvaluate): + (JSRunCheckSyntax): + (JSCollect): + (JSLockInterpreter): + (JSUnlockInterpreter): + * UserObjectImp.cpp: + (UserObjectImp::callAsFunction): + Pass a parameter (always true) to JSLock and JSLock::DropAllLocks to indicate that JSG + clients always need implicit mutex protection. + Added includes that are now needed. + +2008-06-26 Darin Adler + + Reviewed by Geoff. + + * JSUtils.cpp: Added include of since jsString + will soon be changed to return a JSString*. + * UserObjectImp.cpp: Ditto. + +2008-06-23 Darin Adler + + Reviewed by Geoff. + + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectCallFunction): Updated to use getCallData and call instead + of the old callAsFunction. + +2008-06-17 Alexey Proskuryakov + + Reviewed by Darin Adler. + + Prepare JavaScript heap for being per-thread. + + * JSRun.cpp: (JSRun::JSRun): Create JSGlueGlobalObject in a shared JS heap. + + * JSUtils.h: Made getThreadGlobalExecState available throughout JSGlue. + + * JSUtils.cpp: + (JSObjectKJSValue): Pass an ExecState where now required. + (unprotectGlobalObject): + (initializeGlobalObjectKey): + (getThreadGlobalExecState): + Moved these functions from JSValueWrapper.cpp, as the global exec state is now needed + elsewhere. I'm not quite sure how this relates to the global object from JSRun, but + since the new uses are all for Heap access, there doesn't seem to be any behavior change. + + * JavaScriptGlue.cpp: + (JSLockInterpreter): Don't call registerThread explicitly, as JSLock will do that. + + * UserObjectImp.cpp: (UserObjectImp::toPrimitive): Pass ExecState* where now required. + +2008-06-17 Mark Rowe + + Reviewed by Darin Adler. + + JavaScriptGlue should not force use of GCC 4.0. + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2008-06-16 Maciej Stachowiak + + Reviewed by Alexey. + + - removed nearly unused types.h and LocalStorageEntry.h headers + + * JSUtils.h: + +2008-06-16 Alexey Proskuryakov + + Reviewed by Geoff Garen. + + Make Identifier construction use an explicitly passed IdentifierTable. + + * JSUtils.cpp: + (CFStringToIdentifier): + (KJSValueToCFTypeInternal): + * JSUtils.h: + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectCopyPropertyNames): + (JSValueWrapper::JSObjectCopyProperty): + (JSValueWrapper::JSObjectSetProperty): + * UserObjectImp.cpp: + (UserObjectImp::getPropertyNames): + Pass ExecState or JSGlobalData everywhere. + +2008-06-15 Darin Adler + + - rename KJS::List to KJS::ArgList + + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectCallFunction): + * UserObjectImp.cpp: + (UserObjectImp::callAsFunction): + * UserObjectImp.h: + +2008-06-15 Darin Adler + + - new names for a few key JavaScriptCore files + + * ForwardingHeaders/kjs/JSValue.h: Copied from JavaScriptGlue/ForwardingHeaders/kjs/value.h. + * ForwardingHeaders/kjs/value.h: Removed. + * JSUtils.h: + +2008-06-03 Darin Adler + + - update for JavaScriptCore changes for https://bugs.webkit.org/show_bug.cgi?id=19269 + speed up SunSpider by eliminating the toObject call for most get/put/delete + + * UserObjectImp.cpp: + (UserObjectImp::userObjectGetter): Removed originalObject argument. + * UserObjectImp.h: Ditto. + +2008-06-02 Geoffrey Garen + + Reviewed by Alexey Proskuryakov. + + Removed JSObject::call, since it just called JSObject::callAsFunction. + + SunSpider reports no change. + +2008-05-28 Geoffrey Garen + + Reviewed by Oliver Hunt. + + Fixed total destruction in Software Update.app. + + Updated JavaScriptGlue to honor squirrelfish's new getCallData mechanism for + indicating that an object can be called as a function. + +2008-05-10 Maciej Stachowiak + + Reviewed by Oliver. + + - JavaScriptGlue part of fix for: "SQUIRRELFISH: function toString broken after calling" + https://bugs.webkit.org/show_bug.cgi?id=18869 + + * JSRun.cpp: + (JSRun::Evaluate): Use UString version of eveluate() instead of + the now departed UChar*/length variant; use of the lower-level + version was gratuitous in any case. + (JSRun::CheckSyntax): Ditto for checkSyntax(). + +2008-04-30 Geoffrey Garen + + Build fix: supply missing parameter that used to be implicit. + + * JSRun.cpp: + (JSRun::Evaluate): + +2008-03-30 Geoffrey Garen + + Reviewed by Oliver Hunt. + + Build fix. + + * ForwardingHeaders/wtf/UnusedParam.h: Copied from ForwardingHeaders/wtf/OwnPtr.h. + +2008-05-12 Alexey Proskuryakov + + Roll out recent threading changes (r32807, r32810, r32819, r32822) to simplify + SquirrelFish merging. + + * JSUtils.cpp: + (JSObjectKJSValue): + * JSUtils.h: + * JSValueWrapper.cpp: + (unprotectGlobalObject): + (initializeGlobalObjectKey): + (getThreadGlobalExecState): + * JavaScriptGlue.cpp: + (JSCollect): + (JSLockInterpreter): + * UserObjectImp.cpp: + (UserObjectImp::toPrimitive): + +2008-05-02 Alexey Proskuryakov + + Reviewed by Darin Adler. + + Make JavaScriptGlue and JavaScriptCore API functions implicitly call initializeThreading + for the sake of non-WebKit clients. + + * JavaScriptGlue.cpp: + (JSRunCreate): + (JSCollect): + (JSCreateJSArrayFromCFArray): + (JSLockInterpreter): + These are all possible JavaScriptGlue entry points. + +2008-05-02 Alexey Proskuryakov + + Reviewed by Geoffrey Garen. + + https://bugs.webkit.org/show_bug.cgi?id=18826 + Make JavaScript heap per-thread + + * JSValueWrapper.cpp: + * JSUtils.h: + Moved getThreadGlobalExecState() to JSUtils and made it extern, as ExecState is now needed + for all JS allocations. + + * JSUtils.cpp: + (JSObjectKJSValue): Pass ExecState to functions that now need it. + (unprotectGlobalObject): Moved from JSValueWrapper.cpp. + (initializeGlobalObjectKey): Ditto. + (getThreadGlobalExecState): Ditto. + + * UserObjectImp.cpp: (UserObjectImp::toPrimitive): Pass ExecState to jsString and jsNumber. + + * JavaScriptGlue.cpp: + (JSCollect): Use current thread's heap. + (JSLockInterpreter): Removed JSLock::registerThread(), because a JS heap doesn't need to + know about other threads. + +2008-04-25 Alexey Proskuryakov + + Reviewed by Darin Adler. + + Fix run-webkit-tests --threading + and provisionally fix + Proxy server issue in Sunday's Nightly + + * UserObjectImp.cpp: Adjusted for the new member added to ClassInfo. + +2008-04-25 Mark Rowe + + Reviewed by Adele Peterson. + + Don't install the JavaScriptGlue headers + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2008-04-25 Mark Rowe + + Rubber-stamped by Sam Weinig. + + Add some content to an empty ICU header file to prevent verification errors. + + * icu/unicode/utf_old.h: + +2008-04-02 Mark Rowe + + Reviewed by Oliver Hunt. + + Ensure that debug symbols are generated for x86_64 and ppc64 builds. + + * Configurations/Base.xcconfig: + +2008-03-20 Maciej Stachowiak + + - fix build + + * ForwardingHeaders/wtf/ListRefPtr.h: Added. + +2008-03-01 Mark Rowe + + Reviewed by Tim Hatcher. + + Update Xcode configuration to support building debug and release from the mysterious future. + + * Configurations/Base.xcconfig: + * Configurations/DebugRelease.xcconfig: + +2008-02-29 Geoffrey Garen + + Reviewed by David Harrison. + + Fixed TOT REGRESSION: Software Update crash in + KJS::Collector::collect() (missing JSLock) + + * JSValueWrapper.cpp: + (unprotectGlobalObject): Added missing JSLock. + +2008-02-05 Mark Rowe + + Reviewed by Oliver Hunt. + + Update versioning to support the mysterious future. + + * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060. + +2008-01-28 Eric Seidel + + Reviewed by darin. + + Add icu headers to JSG in preparation for depending on ::UChar. + + * Configurations/Base.xcconfig: + * ForwardingHeaders/wtf/unicode: Added. + * ForwardingHeaders/wtf/unicode/Unicode.h: Added. + * ForwardingHeaders/wtf/unicode/icu: Added. + * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Added. + * icu: Copied from ../JavaScriptCore/icu. + +2007-12-19 Geoffrey Garen + + Build fix. + + * ForwardingHeaders/wtf/VectorTraits.h: Added. + +2007-12-10 Timothy Hatcher + + Reviewed by Mark Rowe. + + Bundle versions on Tiger should be 4523.x not 523.x + + * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR, + so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX. + +2007-12-04 Geoffrey Garen + + Reviewed by Darin Adler. + + Third step in refactoring JSGlobalObject: Moved data members and data + member access from Interpreter to JSGlobalObject. Replaced JSInterpreter + subclass with JSGlobalObject subclass. + + * JSRun.cpp: + (JSRun::JSRun): + (JSRun::Evaluate): + (JSRun::CheckSyntax): + * JSRun.h: + (JSGlueGlobalObject::JSGlueGlobalObject): + * JSUtils.cpp: + (KJSValueToCFTypeInternal): + * JSValueWrapper.cpp: + (getThreadGlobalExecState): + +2007-12-02 Geoffrey Garen + + Reviewed by Eric Seidel. + + Updated to match the JavaScriptCore change to move virtual methods from + Interpreter to JSGlobalObject. + + * JSRun.cpp: + * JSRun.h: + * JSValueWrapper.cpp: + (getThreadGlobalExecState): + * JavaScriptGlue.cpp: + (JSRunCopyGlobalObject): + (JSRunEvaluate): + +2007-11-30 Geoffrey Garen + + Reviewed by Beth Dakin. + + Modified to follow new JSGlobalObject/Interpreter ownership rules + in JavaScriptCore. + + * JSRun.cpp: + (JSRun::JSRun): + (JSRun::GetInterpreter): + (JSRun::Evaluate): + (JSRun::CheckSyntax): + * JSRun.h: + * JSValueWrapper.cpp: + (unprotectGlobalObject): + (initializeGlobalObjectKey): + (getThreadGlobalExecState): + +2007-11-29 Mark Rowe + + Reviewed by Maciej. + + Fix REGRESSION(r27885): Installer hits assertion failure in JavaScriptGlue. + + * JSValueWrapper.cpp: + (getThreadGlobalExecState): Set the global object on the Interpreter before using it. + +2007-11-27 Anders Carlsson + + Build fix. + + * JSUtils.cpp: + (KJSValueToCFTypeInternal): + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectCopyPropertyNames): + +2007-11-21 Mark Rowe + + Reviewed by Eric. + + Fix JavaScriptGlue to build without warnings using GCC 4.2. + + * Configurations/Base.xcconfig: + * JSRun.h: + +2007-11-17 Mark Rowe + + Reviewed by Darin Adler. + + Fix: REGRESSION: testapi exits with assertion failure in debug build + JSGlobalContextCreate throws away globalObjectClass's prototype + http://bugs.webkit.org/show_bug.cgi?id=16033 + + Update for changes in Interpreter method signatures. + + * JSRun.h: + +2007-11-13 Geoffrey Garen + + Reviewed by Anders Carlsson. + + Renamed Shared to RefCounted. + + * ForwardingHeaders/wtf/RefCounted.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/Shared.h. + * ForwardingHeaders/wtf/Shared.h: Removed. + +2007-11-13 Geoffrey Garen + + Reviewed by Sam Weinig. + + Moved Shared.h into wtf so it could be used in more places. + + * ForwardingHeaders/wtf/Shared.h: Added. + +2007-11-08 Mark Rowe + + Build fix. + + * ForwardingHeaders/wtf/MathExtras.h: Copied from WebCore/ForwardingHeaders/wtf/MathExtras.h. + +2007-11-05 Geoffrey Garen + + Build fix. + + * ForwardingHeaders/kjs/value.h: Added. + +2007-11-03 Sam Weinig + + Build-fix. + + * UserObjectImp.cpp: + +2007-11-03 David D. Kilzer + + Sort files(...); sections of Xcode project files. + + Rubber-stamped by Darin Adler. + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2007-10-25 Eric Seidel + + Reviewed by Geoff. + + Make JSG build again after JSGlobalObject change. + + * JSRun.cpp: + (JSRun::JSRun): + (JSRun::GlobalObject): + * JSRun.h: + (JSInterpreter::JSInterpreter): + * JSUtils.h: + +2007-10-11 Mark Rowe + + Reviewed by Tim Hatcher. + + Fix for . Disable debugging symbols in production builds for 10.4 + PowerPC to prevent a huge STABS section from being generated. + + * Configurations/Base.xcconfig: + +2007-10-04 Mark Rowe + + Reviewed by Oliver. + + Switch to default level of debugging symbols to resolve . + The "full" level appears to offer no observable benefits even though the documentation + suggests it be used for dead code stripping. This should also decrease link times. + + * Configurations/Base.xcconfig: + +2007-09-03 Mark Rowe + + Reviewed by Tim Hatcher. + + Production build with in symbols directory has no debug info + + Enable debug symbol generation on all build configurations. Production builds are stripped + of symbols by Xcode during deployment post-processing. + + * Configurations/Base.xcconfig: + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2007-08-09 Mark Rowe + + Reviewed by Antti. + + Versioning in debug and release builds should include minor and tiny version before + + + * Configurations/Version.xcconfig: + * JavaScriptGlue.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between + Version.xcconfig and Info.plist explicit to Xcode. + +2007-07-16 Sam Weinig + + Reviewed by Oliver. + + Turn off -Wshorten-64-to-32 warning for 64-bit builds. + + * Configurations/Base.xcconfig: + +2007-04-27 Mark Rowe + + Reviewed by Oliver. + + * JavaScriptGlue.xcodeproj/project.pbxproj: Improve dependencies in Xcode project + by marking JavaScriptGlue as a dependency of testjsglue. + +2007-03-24 Mark Rowe + + Reviewed by Dave Hyatt. + + * JavaScriptGlue.xcodeproj/project.pbxproj: Use GCC 4.0 for testjsglue. + +2007-03-24 Mark Rowe + + Rubber-stamped by Darin Adler. + + * Configurations/JavaScriptGlue.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS. + +2007-03-19 Andrew Wellington + + Reviewed by Maciej. + + Really set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html) + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2007-03-18 Andrew Wellington + + Reviewed by Mark Rowe + + Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html) + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2007-03-17 Timothy Hatcher + + Reviewed by Mark Rowe. + + Made Version.xcconfig smarter when building for different configurations. + Now uses the 522+ OpenSource version for Debug and Release, while using the + full 522.4 version for Production builds. The system prefix is also computed + based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard. + + * Configurations/JavaScriptGlue.xcconfig: + * Configurations/Version.xcconfig: + +2007-03-15 Timothy Hatcher + + Reviewed by John. + + * Factored out most of our common build settings into .xcconfig files. Anything that was common in + each build configuration was factored out into the shared .xcconfig file. + * Adds a Version.xcconfig file to define the current framework version, to be used in other places. + * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist. + * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION). + + * Configurations/Base.xcconfig: Added. + * Configurations/DebugRelease.xcconfig: Added. + * Configurations/JavaScriptGlue.xcconfig: Added. + * Configurations/Version.xcconfig: Added. + * Info.plist: + * JavaScriptGlue.xcodeproj/project.pbxproj: + +=== Safari-5522.4 === + +2007-03-12 Geoffrey Garen + + Reviewed by Oliver Hunt. + + Updated in light of fix for Installer crashes + in KJS::Collector::markOtherThreadConservatively(KJS::Collector::Thread*) + trying to install iLife 06 using Rosetta on an Intel Machine + + * JavaScriptGlue.cpp: + (JSLockInterpreter): Ensure backwards compatibility by calling + registerThread() when explicitly taking the JSLock. (This doesn't happen + automatically anymore.) I doubt this actally matters, but in JavaScriptGlue + territory, that kind of thinking will get you killed. + +2007-03-06 Geoffrey Garen + + Reviewed by Maciej Stachowiak. + + Fixed all known crashers exposed by run-webkit-tests --threaded while using + a PAC file (for maximum carnage). See JavaScriptCore ChangeLog for + more details. + + * JSBase.cpp: + (JSBase::Release): Lock when deleting, because we may be deleting an object + (like a JSRun) that holds thread-unsafe data. + + * JSUtils.cpp: + (CFStringToUString): Don't lock, because our caller locks. Also, locking + inside a function that returns thread-unsafe data by copy will only mask + threading problems. + + * JavaScriptGlue.cpp: + (JSRunEvaluate): Added missing JSLock. + (JSRunCheckSyntax): Converted to JSLock. + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2007-02-22 Geoffrey Garen + + Reviewed by Darin Adler. + + Fixed Installer.app Stuck "Examining additional + volumes..." + + The problem was that JavaScriptGlue held a JSObject in a static pointer + without protecting it from garbage collection. + + sUserObjectPrototypeImp = new UserObjectPrototypeImp(); + static ProtectedPtr protectPrototype; // valiant, brave, but useless + + Through an interesting comedy of errors, this object would be collected + and then assigned as the prototype of another object allocated at the + same address, thus becoming its own prototype. (See http://www.ziplo.com/grandpa.htm + for further explanation of this phenomenon.) Hence the infinte loop in + property lookup. + + The solution is equally humorous: all of this code was completely useless -- + it only served to create an empty object in the prototype chain -- so + I just removed it. + + * UserObjectImp.cpp: + (UserObjectImp::UserObjectImp): + * UserObjectImp.h: + +2007-02-19 Timothy Hatcher + + Reviewed by Geoff. + + Deprecate JavaScriptGlue + + * JavaScriptGlue.h: adds DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER to everything + * JavaScriptGlue.xcodeproj/project.pbxproj: use -Wno-deprecated-declarations to keep the project building + * config.h: define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER as empty on other systems + +2007-02-16 Darin Adler + + Reviewed by Anders. + + - fix JavaScriptGlue framework started turning all CFNumbers + into signed 32bit values + + Circumstantial evidence seems to indicate that JavaScriptGlue was depending on a bug + in CFNumber where CFNumberIsFloatType was returning true for 64-bit integer values. + + * JSUtils.cpp: (JSObjectKJSValue): Removed the call to CFNumberIsFloatType in the + conversion of numeric values, and always use kCFNumberDoubleType, since double is + the internal format of numbers in JavaScriptCore. There's no value to having a + separate code path for integers. There's also no reason to check the return value + from CFNumberGetValue -- if it returns false it still does the best it can to convert + to a double, which is what we want. + + * UserObjectImp.cpp: (UserObjectImp::toString): Removed a similar code path that + tried to handle integers separate from double. Instead, always use a double. For + compatibility, use a format without a decimal point when CFNumberIsFloatType returns + false. Also removed a bogus cast to float; the "%f" format string takes a double, + not a float, so all the cast did was cut down on precision. + +2007-01-25 Mark Rowe + + Reviewed by Maciej. + + * Info.plist: Update copyright string. + +2006-12-19 Timothy Hatcher + + Reviewed by Darin Adler. + + Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +=== Safari-521.26 === + +2006-08-15 Mark Rowe + + Reviewed by Tim H. + + Build fix: DWARF and -gfull are incompatible with symbol separation. + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2006-08-15 Mark Rowe + + Reviewed by Tim H. + + http://bugs.webkit.org/show_bug.cgi?id=10394 + Bug 10394: WebKit Release and Production configurations should enable dead code stripping + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2006-08-15 Mark Rowe + + Reviewed by Tim H. + + http://bugs.webkit.org/show_bug.cgi?id=10384 + Bug 10384: Switch to DWARF for Release configuration + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2006-08-04 Sam Weinig + + Reviewed by Darin Adler. + + - patch for http://bugs.webkit.org/show_bug.cgi?id=10192 + Make WebCore (and friends) compile with -Wshorten-64-to-32 + + * Adds -Wshorten-64-to-32 flag to Xcode project. + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2006-08-03 Sam Weinig + + Reviewed by Darin Adler. + + - patch for http://bugs.webkit.org/show_bug.cgi?id=10176 + Make WebCore compile with -Wundef + + * Adds -Wundef flag to Xcode project + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2006-07-29 Sam Weinig + + Reviewed by Darin Adler. + + - patch for http://bugs.webkit.org/show_bug.cgi?id=10080 + Adopt pedantic changes from the Unity project to improve + cross-compiler compatibility + + Changes include: + * Turning on gcc warning for missing newline at the end of a source file + (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc). + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +=== Safari-521.19 === + +2006-07-19 Geoffrey Garen + + Fixed by Darin & Maciej, reviewed by me. + + - Fixed Leopard 9A227: Installer crashes right + after LCA and while preparing Installation + + Compile release/production with NDEBUG set, to ensure binary compatibility + between JavaScriptGlue and JavaScriptCore. In debug builds, JavaScriptCore + includes an extra debug data member in HashSet. + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +=== Safari-521.18 === + +2006-07-15 Maciej Stachowiak + + Reviewed by Darin Adler. + + - switch property lists to be vector+set of Identifiers instead of list of References + + * JSUtils.cpp: + (KJSValueToCFTypeInternal): updated for JSC SPI changes + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectCopyPropertyNames): ditto + * UserObjectImp.cpp: + (UserObjectImp::getPropertyNames): ditto + * UserObjectImp.h: + +=== Safari-521.17 === + +2006-07-14 Geoffrey Garen + + Reviewed by Maciej. + + - Updated JSInterpreter to work with Interpreter ref-counting in JavaScriptCore. + + (JSInterpreter::JSInterpreter::~JSInterpreter): Now protected to catch + manual delete. + +2006-07-12 Anders Carlsson + + Build fix + + * JSUtils.cpp: + (KJSValueToCFTypeInternal): + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectCopyPropertyNames): + * UserObjectImp.cpp: + (UserObjectImp::getPropertyList): + +=== Safari-521.15 === + +2006-07-07 Geoffrey Garen + + - build fix + + * JSUtils.cpp: + (KJSValueToCFTypeInternal): + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectCopyPropertyNames): + +2006-07-03 Geoffrey Garen + + Reviewed by Maciej. + + * JSRun.cpp: + (JSRun::CheckSyntax): Updated to use new checkSyntax syntax in JSC. + * JavaScriptGlue.xcodeproj/project.pbxproj: + +=== Safari-521.14 === + +2006-06-28 Timothy Hatcher + + Prefer the Stabs debugging symbols format until DWARF bugs are fixed. + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2006-06-24 David Kilzer + + Reviewed by Timothy. + + * Info.plist: Fixed copyright to include 2003-2006. + +=== JavaScriptGlue-521.13 === + +2006-06-20 Geoffrey Garen + + Reviewed by Anders. + + - Required for JS API: Rename propList to getPropertyList and have it + take its target property list by reference so that subclasses can + add properties to the list before calling through to their superclasses. + + * JSUtils.cpp: + (KJSValueToCFTypeInternal): + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectCopyPropertyNames): + * UserObjectImp.cpp: + (UserObjectImp::getPropertyList): + * UserObjectImp.h: + +2006-06-15 Timothy Hatcher + + Reviewed by Geoff and Darin. + + Prefer the DWARF debugging symbols format for use in Xcode 2.3. + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2006-06-12 Geoffrey Garen + + Reviewed by TimO, Maciej. + + - JSGlue part of merging InterpreterImp into Interpreter. + + Since there's now a kjs forwarding header, I moved all forwarding + headers into a "ForwardingHeaders" directory, like in WebCore. + + * ForwardingHeaders: Added. + * ForwardingHeaders/kjs: Added. + * ForwardingHeaders/kjs/ExecState.h: Added. + * ForwardingHeaders/wtf: Added. + * JavaScriptGlue.xcodeproj/project.pbxproj: + * config.h: + * wtf: Removed. + * wtf/AlwaysInline.h: Removed. + * wtf/Assertions.h: Removed. + * wtf/FastMalloc.h: Removed. + * wtf/Forward.h: Removed. + * wtf/HashCountedSet.h: Removed. + * wtf/HashSet.h: Removed. + * wtf/Noncopyable.h: Removed. + * wtf/OwnArrayPtr.h: Removed. + * wtf/OwnPtr.h: Removed. + * wtf/PassRefPtr.h: Removed. + * wtf/Platform.h: Removed. + * wtf/RefPtr.h: Removed. + * wtf/Vector.h: Removed. + +=== JavaScriptGlue-521.10 === + +2006-05-09 Maciej Stachowiak + + Rubber stamped by Anders. + + - renamed kxmlcore to wtf + + kxmlcore --> wtf + KXMLCore --> WTF + KXC --> WTF + + * config.h: + * kxmlcore: Removed. + * kxmlcore/AlwaysInline.h: Removed. + * kxmlcore/Assertions.h: Removed. + * kxmlcore/FastMalloc.h: Removed. + * kxmlcore/Forward.h: Removed. + * kxmlcore/HashCountedSet.h: Removed. + * kxmlcore/HashSet.h: Removed. + * kxmlcore/Noncopyable.h: Removed. + * kxmlcore/OwnArrayPtr.h: Removed. + * kxmlcore/OwnPtr.h: Removed. + * kxmlcore/PassRefPtr.h: Removed. + * kxmlcore/Platform.h: Removed. + * kxmlcore/RefPtr.h: Removed. + * kxmlcore/Vector.h: Removed. + * wtf: Added. + +2006-04-11 Darin Adler + + - try to fix Windows build + + * kxmlcore/HashForward.h: Removed. + +2006-04-10 Darin Adler + + Rubber-stamped by John Sullivan. + + - added forwarding headers for the new Forward.h and HashForward.h files + + * kxmlcore/Forward.h: Added. + * kxmlcore/HashForward.h: Added. + +2006-04-04 Timothy Hatcher + + Reviewed by Darin Adler. + + The Debug and Release frameworks are now built with install paths relative to the build products directory. + This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2006-04-02 Eric Seidel + + Reviewed by andersca. + + Add missing forwarding header. + + * kxmlcore/Vector.h: Added. + +2006-03-31 Geoffrey Garen + + Reviewed by Darin Adler. + + - Fixed JavaScript patch crashing Quartz + Composer + + JSValueWrappers used to hold on to the ExecState that pertained at + the time of their creation. Since ExecStates are transient, that + design was totally bogus, and it would crash once the ExecState had + been deallocated. + + Unfortunately, there's no clean solution to this problem, since + the JSGlue API has no notion of state. The solution here is to use + a shared, global ExecState for the purpose of JSGlue calls. Given + the pre-existing limitations in the JSGlue API, this design + shouldn't actually introduce any new limitations (see comments in + JSValueWrapper.cpp). + + I tested with Quartz Composer and PAC files, neither of which are + layout-testable. + + * JSUtils.cpp: + (KJSValueToJSObject): + * JSValueWrapper.cpp: + (JSValueWrapper::JSValueWrapper): + (JSValueWrapper::GetValue): + (getProcessGlobalExecState): + (JSValueWrapper::JSObjectCopyPropertyNames): + (JSValueWrapper::JSObjectCopyProperty): + (JSValueWrapper::JSObjectSetProperty): + (JSValueWrapper::JSObjectCallFunction): + (JSValueWrapper::JSObjectCopyCFValue): + * JSValueWrapper.h: + + Also added a test harness file. It was helpful while I was testing, + and may come in handy in the future: + + * JavaScriptGlue.xcodeproj/project.pbxproj: + testjsglue.cpp: Added. + +2006-03-28 Darin Adler + + Reviewed by Geoff. + + - added a build step that checks for init routines + + * JavaScriptGlue.xcodeproj/project.pbxproj: Added a custom build phase that invokes the + check-for-global-initializers script. + +2006-03-02 Maciej Stachowiak + + Not reviewed, but I noticed these trivial extra changes were needed to avoid + breaking the build with my reviewed patch for: + + http://bugs.webkit.org/show_bug.cgi?id=7387 + + Add config.h, includes of it, and Platform.h forwarding header. + + * JSBase.cpp: + * JSObject.cpp: + * JSRun.cpp: + * JSUtils.cpp: + * JSValueWrapper.cpp: + * JavaScriptGlue.cpp: + * UserObjectImp.cpp: + * config.h: Added. + * kxmlcore/Platform.h: Added. + +=== JavaScriptGlue-521.7 === + +2006-02-10 Geoffrey Garen + + Reviewed by eric. + + - Fixed build. + + * UserObjectImp.cpp: + (UserObjectImp::toPrimitive): + * UserObjectImp.h: + +2006-02-03 Timothy Hatcher + + Reviewed by Justin. + + Renamed configuration names to Debug, Release and Production. + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2006-02-01 Darin Adler + + - added some forwarding headers to make new JavaScriptCore changes work + + * kxmlcore/Assertions.h: Added. + * kxmlcore/Noncopyable.h: Added. + * kxmlcore/OwnPtr.h: Added. + * kxmlcore/OwnArrayPtr.h: Added. + +2006-01-16 Timothy Hatcher + + Adding the license header to all files so we can + move JavaScriptGlue into the open source repository. + + * LICENSE: Added. + * JSBase.cpp: license header added. + * JSBase.h: ditto. + * JSObject.cpp: ditto. + * JSObject.h: ditto. + * JSRun.cpp: ditto. + * JSRun.h: ditto. + * JSUtils.cpp: ditto. + * JSUtils.h: ditto. + * JSValueWrapper.cpp: ditto. + * JSValueWrapper.h: ditto. + * JavaScriptGlue.cpp: ditto. + * JavaScriptGlue.h: ditto. + * UserObjectImp.cpp: ditto. + * UserObjectImp.h: ditto. + +2005-12-21 Timothy Hatcher + + * JavaScriptGlue.xcodeproj/project.pbxproj: + Set tab width to 8, indent width to 4 and uses tabs to false per file. + +2005-12-19 Darin Adler + + Reviewed by Geoff Garen and Eric Seidel. + + - fix http://bugs.webkit.org/show_bug.cgi?id=4923 + stop using in WebCore, eliminating the troubles it causes + + * kxmlcore/AlwaysInline.h: Added. + +2005-12-15 Darin Adler + + Reviewed by Maciej. + + * JSRun.cpp: (JSRun::Evaluate): Updated for change to Interpreter::evaluate. + +2005-12-15 Darin Adler + + Reviewed by Tim Hatcher. + + * JavaScriptGlue.xcodeproj/project.pbxproj: Removed some redundant build + settings, turned off prebinding explicitly for our Development and + Deployment builds, remove .exp file from sources. All "clean-up". + +=== Safari-521~5 === + +2005-12-13 Geoffrey Garen + + - Fixed build after Anders's last checkin to JavaScriptCore. + + Reviewed by darin. + + * UserObjectImp.cpp: + (UserObjectImp::userObjectGetter): Updated to reflect new argument that + getters take (unused here). + * UserObjectImp.h: + +2005-12-13 Maciej Stachowiak + + Reviewed by Eric. + + - added forwarding header for HashCountedSet + + * kxmlcore/HashCountedSet.h: Added. + +2005-12-10 Darin Adler + + Rubber stamped by Maciej. + + - updated for KJS class renaming + + * many files and functions + +2005-12-10 Darin Adler + + Reviewed by Maciej. + + - eliminated the old Undefined(), Null(), Boolean(), Number(), and String() + + Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString(). + + * JSUtils.cpp: + (JSObjectKJSValue): + * UserObjectImp.cpp: + (UserObjectImp::callAsFunction): + (UserObjectImp::toPrimitive): + +2005-12-05 Maciej Stachowiak + + - added new forwarding headers + + * kxmlcore/PassRefPtr.h: Added. + * kxmlcore/RefPtr.h: Added. + +2005-12-05 Maciej Stachowiak + + * kxmlcore/PassRefPtr.h: Added. + +2005-11-26 Maciej Stachowiak + + Rubber stamped by Eric. + + - renamed InterpreterLock to JSLock + + * JSUtils.cpp: + (CFStringToUString): + (JSObjectKJSValue): + (KJSValueToCFTypeInternal): + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectCopyPropertyNames): + (JSValueWrapper::JSObjectCopyProperty): + (JSValueWrapper::JSObjectSetProperty): + (JSValueWrapper::JSObjectCallFunction): + (JSValueWrapper::JSObjectCopyCFValue): + * JavaScriptGlue.cpp: + (JSRunCreate): + (JSCollect): + (JSLockInterpreter): + (JSUnlockInterpreter): + * UserObjectImp.cpp: + (UserObjectImp::callAsFunction): + +2005-11-16 Maciej Stachowiak + + Reviewed by Geoff. + + Updated to use new API to drop all locks. + + * JavaScriptGlue.cpp: + (JSLockInterpreter): + (JSUnlockInterpreter): + * UserObjectImp.cpp: + (UserObjectImp::callAsFunction): + +2005-11-14 Geoffrey Garen + + Reviewed by mjs. + + - Part of the fix for Installer crash in + KJS::ValueImp::marked() when garbage collector runs inside call to + ConstantValues::init() + + Added locking in JSRunCreate, since JSRun::JSRun constructs an object. + + * JavaScriptGlue.cpp: + (JSRunCreate): + +2005-11-10 Geoffrey Garen + + Reviewed by Maciej. + + - Fixed installer crashed on my + dual g4 450Mhz after clicking language + + - Reversed backwards NULL check. + - Inserted guards against NULL fJSUserObject data member. + - Cleaned up some style. + + * JSUtils.cpp: + (KJSValueToCFTypeInternal): + * UserObjectImp.cpp: + (UserObjectImp::~UserObjectImp): + (UserObjectImp::callAsFunction): + (UserObjectImp::userObjectGetter): + (UserObjectImp::getOwnPropertySlot): + (UserObjectImp::put): + (UserObjectImp::mark): + +2005-11-04 Timothy Hatcher + + Reviewed by Darin Adler. + + * JavaScriptGlue.xcodeproj/project.pbxproj: + Fixed the FRAMEWORK_SEARCH_PATHS to look in the WebKit + Frameworks for the Default config. + +2005-11-03 Timothy Hatcher + + Reviewed by Darin and Vicki. + + * JavaScriptGlue.xcodeproj/project.pbxproj: + Change to use $(SYSTEM_LIBRARY_DIR) consistently and place + $(NEXT_ROOT) in a few spots to make build-root work. + +2005-11-01 Maciej Stachowiak + + Reviewed by: Eric. + + get JavaScriptGlue working with TOT JavaScriptCore again + + - reverted all this stuff to use ReferenceList instead of IdentifierSequencedSet + + * JSUtils.cpp: + (KJSValueToCFTypeInternal): + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectCopyPropertyNames): + * UserObjectImp.cpp: + (UserObjectImp::propList): + * UserObjectImp.h: + +2005-10-11 Timothy Hatcher + + Setup the proper Framework search path for the Default config. + Prepping for a TOT submission and build by B&I. + + * JavaScriptGlue.xcodeproj/project.pbxproj: + +2005-10-10 Darin Adler + + Reviewed by Eric. + + - converted tabs to spaces, NULL to 0, added some (void), got rid of __ prefixes + in headers (reserved for compiler/library) + + * Info.plist: + * JSBase.cpp: + * JSBase.h: + * JSObject.cpp: + * JSObject.h: + * JSRun.cpp: + * JSRun.h: + * JSUtils.cpp: + * JSUtils.h: + * JSValueWrapper.cpp: + * JSValueWrapper.h: + * JavaScriptGlue.cpp: + * JavaScriptGlue.h: + * UserObjectImp.cpp: + * UserObjectImp.h: + +2005-10-10 Darin Adler + + * .cvsignore: Added. Ignore Makefile.in and Makefile. + +2005-10-07 Timothy Hatcher + + Reviewed by Maciej. + + Build fix, needed to disable RTTI. Upgraded to a native target. + + * JavaScriptGlue.xcodeproj/project.pbxproj: + * Info.plist + +2005-10-05 Maciej Stachowiak + + Reviewed by Eric and Darin. + + Port JavaScriptGlue to TOT JavaScriptCore + + * JSRun.cpp: + (JSRun::JSRun): + (JSRun::GlobalObject): + * JSRun.h: + (JSInterpreter::JSInterpreter): + * JSUtils.cpp: + (KJSValueToJSObject): + (JSObjectKJSValue): + (KJSValueToCFTypeInternal): + (KJSValueToCFType): + * JSUtils.h: + * JSValueWrapper.cpp: + (JSValueWrapper::JSValueWrapper): + (JSValueWrapper::GetValue): + (JSValueWrapper::JSObjectCopyPropertyNames): + (JSValueWrapper::JSObjectCopyProperty): + (JSValueWrapper::JSObjectSetProperty): + (JSValueWrapper::JSObjectCallFunction): + (JSValueWrapper::JSObjectMark): + * JSValueWrapper.h: + * JavaScriptGlue.cpp: + (JSRunCopyGlobalObject): + * JavaScriptGlue.xcodeproj/project.pbxproj: + * Makefile.am: Added. + * UserObjectImp.cpp: + (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp): + (UserObjectImp::UserObjectImp): + (UserObjectImp::callAsFunction): + (UserObjectImp::getPropertyNames): + (UserObjectImp::userObjectGetter): + (UserObjectImp::getOwnPropertySlot): + (UserObjectImp::put): + (UserObjectImp::toPrimitive): + (UserObjectImp::mark): + * UserObjectImp.h: + * kxmlcore/FastMalloc.h: Added. + * kxmlcore/HashSet.h: Added. + +2005-09-14 Maciej Stachowiak + + Reviewed by Geoff. + + - fixed REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer) + + Make sure to lock using the InterpreterLock class in all places that need it + (including anything that uses the collector, the parser, the protect count hash table, + and anything that allocates via fast_malloc). + + * JSUtils.cpp: + (CFStringToUString): + (JSObjectKJSValue): + (KJSValueToCFTypeInternal): + * JSUtils.h: + * JSValueWrapper.cpp: + (JSValueWrapper::JSObjectCopyPropertyNames): + (JSValueWrapper::JSObjectCopyProperty): + (JSValueWrapper::JSObjectSetProperty): + (JSValueWrapper::JSObjectCallFunction): + (JSValueWrapper::JSObjectCopyCFValue): + * JavaScriptGlue.cpp: + (JSCollect): + +2005-09-27 Adele Peterson + + Reviewed by Maciej. + + JavaScriptGlue: Submit 64-bit compatible versions of your API and SPIs by September 15 + + * JavaScriptGlue.h: Changed UInt32 to CFTypeID for JSTypeID + +2005-09-06 Geoffrey Garen + + -upgraded project files to XCode 2.1 + + * JavaScriptGlue.pbproj/project.pbxproj: Removed. + * JavaScriptGlue.xcodeproj/.cvsignore: Added. + * JavaScriptGlue.xcodeproj/project.pbxproj: Added. + +2005-09-01 Maciej Stachowiak + + Rubber stamped by hyatt. + + - initial import of JavaScriptGlue into our repository + + * English.lproj/InfoPlist.strings: Added. + * JSBase.cpp: Added. + (JSBase::JSBase): + (JSBase::~JSBase): + (JSBase::Retain): + (JSBase::Release): + (JSBase::RetainCount): + (JSBase::GetTypeID): + (JSBase::CopyDescription): + (JSBase::Equal): + * JSBase.h: Added. + * JSObject.cpp: Added. + (JSUserObject::JSUserObject): + (JSUserObject::~JSUserObject): + (JSUserObject::CopyPropertyNames): + (JSUserObject::CopyProperty): + (JSUserObject::SetProperty): + (JSUserObject::ImplementsCall): + (JSUserObject::CallFunction): + (JSUserObject::CopyCFValue): + (JSUserObject::Equal): + (JSUserObject::Mark): + (JSUserObject::GetData): + * JSObject.h: Added. + (JSUserObject::DataType): + * JSRun.cpp: Added. + (JSRun::JSRun): + (JSRun::~JSRun): + (JSRun::Flags): + (JSRun::GetSource): + (JSRun::GlobalObject): + (JSRun::GetInterpreter): + (JSRun::Evaluate): + (JSRun::CheckSyntax): + * JSRun.h: Added. + (JSInterpreter::JSInterpreter): + (JSInterpreter::JSInterpreter::~JSInterpreter): + (JSInterpreter::Flags): + * JSUtils.cpp: Added. + (CFStringToUString): + (UStringToCFString): + (CFStringToIdentifier): + (IdentifierToCFString): + (KJSValueToJSObject): + (JSObjectKJSValue): + (KJSValueToCFTypeInternal): + (KJSValueToCFType): + (GetCFNull): + * JSUtils.h: Added. + (RetainCFType): + (ReleaseCFType): + * JSValueWrapper.cpp: Added. + (JSValueWrapper::JSValueWrapper): + (JSValueWrapper::~JSValueWrapper): + (JSValueWrapper::GetValue): + (JSValueWrapper::GetExecState): + (JSValueWrapper::GetJSObectCallBacks): + (JSValueWrapper::JSObjectDispose): + (JSValueWrapper::JSObjectCopyPropertyNames): + (JSValueWrapper::JSObjectCopyProperty): + (JSValueWrapper::JSObjectSetProperty): + (JSValueWrapper::JSObjectCallFunction): + (JSValueWrapper::JSObjectCopyCFValue): + (JSValueWrapper::JSObjectMark): + * JSValueWrapper.h: Added. + * JavaScriptGlue.cpp: Added. + (JSSetCFNull): + (JSGetCFNull): + (JSRetain): + (JSRelease): + (JSCopyDescription): + (JSEqual): + (JSGetTypeID): + (JSGetRetainCount): + (JSObjectCreate): + (JSObjectCreateInternal): + (JSObjectCopyCFValue): + (JSObjectGetData): + (JSObjectCopyProperty): + (JSObjectSetProperty): + (JSObjectCallFunction): + (JSRunCreate): + (JSRunCopySource): + (JSRunCopyGlobalObject): + (JSRunEvaluate): + (JSRunCheckSyntax): + (JSCollect): + (JSTypeGetCFArrayCallBacks): + (JSCFRetain): + (JSCFRelease): + (JSObjectCreateWithCFType): + (CFJSObjectDispose): + (JSObjectCopyPropertyNames): + (CFJSObjectCopyProperty): + (CFJSObjectSetProperty): + (CFJSObjectCopyCFValue): + (CFJSObjectEqual): + (CFJSObjectCopyPropertyNames): + (JSCreateCFArrayFromJSArray): + (JSCreateJSArrayFromCFArray): + (JSLockInterpreter): + (JSUnlockInterpreter): + * JavaScriptGlue.exp: Added. + * JavaScriptGlue.h: Added. + * JavaScriptGlue.pbproj/project.pbxproj: Added. + * UserObjectImp.cpp: Added. + (UserObjectPrototypeImp::UserObjectPrototypeImp): + (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp): + (UserObjectImp::UserObjectImp): + (UserObjectImp::~UserObjectImp): + (UserObjectImp::classInfo): + (UserObjectImp::implementsCall): + (UserObjectImp::call): + (UserObjectImp::propList): + (UserObjectImp::hasProperty): + (UserObjectImp::get): + (UserObjectImp::put): + (UserObjectImp::GetJSUserObject): + (UserObjectImp::toPrimitive): + (UserObjectImp::toBoolean): + (UserObjectImp::toNumber): + (UserObjectImp::toString): + (UserObjectImp::mark): + * UserObjectImp.h: Added. +