2011-11-29 David Levin Add a way to revert a variable to its previous value after leaving a scope. https://bugs.webkit.org/show_bug.cgi?id=73371 Reviewed by Adam Barth. * ForwardingHeaders/wtf/TemporarilyChange.h: Added. 2011-11-11 Mark Hahnenberg Add jsCast to replace static_cast https://bugs.webkit.org/show_bug.cgi?id=72071 Reviewed by Geoffrey Garen. Added new jsCast and changed all of the static_cast sites in functions that are in the MethodTable to use jsCast instead. * UserObjectImp.cpp: (UserObjectImp::getCallData): (UserObjectImp::getOwnPropertyNames): (UserObjectImp::getOwnPropertySlot): (UserObjectImp::put): (UserObjectImp::visitChildren): 2011-11-10 Mark Hahnenberg Add jsCast to replace static_cast https://bugs.webkit.org/show_bug.cgi?id=72071 Reviewed by Geoffrey Garen. Added new jsCast and changed all of the static_cast sites in functions that are in the MethodTable to use jsCast instead. * UserObjectImp.cpp: (UserObjectImp::getCallData): (UserObjectImp::getOwnPropertyNames): (UserObjectImp::getOwnPropertySlot): (UserObjectImp::put): (UserObjectImp::visitChildren): 2011-11-03 Filip Pizlo JSC should be able to sample itself in a more flexible way than just sampling flags https://bugs.webkit.org/show_bug.cgi?id=71522 Reviewed by Gavin Barraclough. * ForwardingHeaders/wtf/Spectrum.h: Added. 2011-11-03 Mark Hahnenberg De-virtualize JSObject::getPropertyNames https://bugs.webkit.org/show_bug.cgi?id=71306 Reviewed by Darin Adler. Added getPropertyNames to the MethodTable, changed all the virtual implementations of getPropertyNames to static ones, and replaced all call sites with corresponding lookups in the MethodTable. * JSUtils.cpp: (KJSValueToCFTypeInternal): * JSValueWrapper.cpp: (JSValueWrapper::JSObjectCopyPropertyNames): 2011-11-03 Mark Hahnenberg De-virtualize JSObject::className https://bugs.webkit.org/show_bug.cgi?id=71428 Reviewed by Sam Weinig. Added className to the MethodTable, changed all the virtual implementations of className to static ones, and replaced all call sites with corresponding lookups in the MethodTable. * JSUtils.cpp: (KJSValueToCFTypeInternal): 2011-11-02 Mark Hahnenberg De-virtualize JSObject::getOwnPropertyNames https://bugs.webkit.org/show_bug.cgi?id=71307 Reviewed by Darin Adler. Added getOwnPropertyNames to the MethodTable, changed all the virtual implementations of getOwnPropertyNames to static ones, and replaced all call sites with corresponding lookups in the MethodTable. * UserObjectImp.cpp: (UserObjectImp::getOwnPropertyNames): * UserObjectImp.h: 2011-10-26 Mark Hahnenberg Remove getOwnPropertySlotVirtual https://bugs.webkit.org/show_bug.cgi?id=70741 Reviewed by Geoffrey Garen. Removed all declarations and definitions of getOwnPropertySlotVirtual. Also replaced all call sites to getOwnPropertyVirtualVirtual with a corresponding lookup in the MethodTable. * UserObjectImp.cpp: * UserObjectImp.h: 2011-10-25 Mark Hahnenberg Remove putVirtual https://bugs.webkit.org/show_bug.cgi?id=70740 Reviewed by Geoffrey Garen. Removed all declarations and definitions of putVirtual. Also replaced all call sites to putVirtual with a corresponding lookup in the MethodTable. * JSValueWrapper.cpp: (JSValueWrapper::JSObjectSetProperty): * UserObjectImp.cpp: * UserObjectImp.h: 2011-10-19 Geoffrey Garen Removed StringImplBase, fusing it into StringImpl https://bugs.webkit.org/show_bug.cgi?id=70443 Reviewed by Gavin Barraclough. * ForwardingHeaders/wtf/text/StringImplBase.h: Removed. 2011-10-14 Mark Hahnenberg Rename getOwnPropertySlot to getOwnPropertySlotVirtual https://bugs.webkit.org/show_bug.cgi?id=69810 Reviewed by Geoffrey Garen. Renamed the virtual version of getOwnPropertySlot to getOwnPropertySlotVirtual in preparation for when we add the static getOwnPropertySlot to the MethodTable in ClassInfo. Also added a few static getOwnPropertySlot functions where they had been overlooked before (especially in CodeGeneratorJS.pm). * UserObjectImp.cpp: (UserObjectImp::getOwnPropertySlotVirtual): * UserObjectImp.h: 2011-10-14 Mark Hahnenberg Rename virtual put to putVirtual https://bugs.webkit.org/show_bug.cgi?id=69851 Reviewed by Darin Adler. Renamed virtual versions of put to putVirtual in prepration for adding the static put to the MethodTable in ClassInfo since the compiler gets mad if the virtual and static versions have the same name. * JSValueWrapper.cpp: (JSValueWrapper::JSObjectSetProperty): * UserObjectImp.cpp: (UserObjectImp::putVirtual): * UserObjectImp.h: 2011-10-14 Mark Hahnenberg Rename virtual put to putVirtual https://bugs.webkit.org/show_bug.cgi?id=69851 Reviewed by Darin Adler. Renamed virtual versions of put to putVirtual in prepration for adding the static put to the MethodTable in ClassInfo since the compiler gets mad if the virtual and static versions have the same name. * JSValueWrapper.cpp: (JSValueWrapper::JSObjectSetProperty): * UserObjectImp.cpp: (UserObjectImp::putVirtual): * UserObjectImp.h: 2011-10-13 Mark Hahnenberg De-virtualized JSCell::toNumber https://bugs.webkit.org/show_bug.cgi?id=69858 Reviewed by Sam Weinig. Removed UserObjectImp::toNumber because it's no longer necessary since JSObject::toNumber can cover this case. * UserObjectImp.cpp: * UserObjectImp.h: 2011-10-12 Mark Hahnenberg De-virtualize JSCell::toString https://bugs.webkit.org/show_bug.cgi?id=69677 Reviewed by Sam Weinig. Removed UserObjectImp::toString because it's no longer necessary since clients can provide their own toString callback which will in turn be called by JSObject::toString. * UserObjectImp.cpp: * UserObjectImp.h: 2011-10-10 Mark Hahnenberg Remove getCallDataVirtual methods https://bugs.webkit.org/show_bug.cgi?id=69186 Reviewed by Geoffrey Garen. Removed all getCallDataVirtual methods and replaced their call sites with an explicit lookup in the MethodTable. * JSValueWrapper.cpp: (JSValueWrapper::JSObjectCallFunction): * UserObjectImp.cpp: * UserObjectImp.h: 2011-10-08 Mark Hahnenberg Add static version of JSCell::getOwnPropertySlot https://bugs.webkit.org/show_bug.cgi?id=69593 Reviewed by Geoffrey Garen. Added static version of getOwnPropertySlot to every class that overrides JSCell::getOwnPropertySlot. The virtual versions now call the static versions. This is the first step in de-virtualizing JSCell::getOwnPropertySlot. * UserObjectImp.cpp: (UserObjectImp::getOwnPropertySlot): * UserObjectImp.h: 2011-10-08 Sheriff Bot Unreviewed, rolling out r96996. http://trac.webkit.org/changeset/96996 https://bugs.webkit.org/show_bug.cgi?id=69697 It broke all tests on the Qt bot (Requested by Ossy_night on #webkit). * JSValueWrapper.cpp: (JSValueWrapper::JSObjectCallFunction): * UserObjectImp.cpp: (UserObjectImp::getCallDataVirtual): * UserObjectImp.h: 2011-10-07 Mark Hahnenberg Remove getCallDataVirtual methods https://bugs.webkit.org/show_bug.cgi?id=69186 Reviewed by Geoffrey Garen. Removed all getCallDataVirtual methods and replaced their call sites with an explicit lookup in the MethodTable. * JSValueWrapper.cpp: (JSValueWrapper::JSObjectCallFunction): * UserObjectImp.cpp: * UserObjectImp.h: 2011-10-07 Mark Hahnenberg Add static version of JSCell::put https://bugs.webkit.org/show_bug.cgi?id=69382 Reviewed by Geoffrey Garen. Added static version of both versions of put to all classes that override them and changed the virtual versions to call the static versions. * UserObjectImp.cpp: (UserObjectImp::put): * UserObjectImp.h: 2011-10-06 Anders Carlsson When building with clang, enable -Wglobal-constructors and -Wexit-time-destructors https://bugs.webkit.org/show_bug.cgi?id=69586 Reviewed by Darin Adler. * Configurations/Base.xcconfig: Add -Wglobal-constructors and -Wexit-time-destructors when building with clang. * JavaScriptGlue.xcodeproj/project.pbxproj: When building with clang, we don't need to run the check-for-global-initializers and check-for-exit-time-destructors anymore. 2011-10-05 Gavin Barraclough Add explicit JSGlobalThis type. https://bugs.webkit.org/show_bug.cgi?id=69478 Reviewed by Darin Adler. JSC supports a split global object, as used by WebCore for the Window. As a stage of making this visible to JSC, make it so that if the global this value is not the global object itself, it must be a subclass of JSGlobalThis. * JSRun.h: (JSGlueGlobalObject::create): - Don't pass the thisValue to JSGlobalObject::finishCreation. 2011-10-01 Geoffrey Garen Removed redundant helper functions for allocating Strong handles https://bugs.webkit.org/show_bug.cgi?id=69218 Reviewed by Sam Weinig. * JSRun.cpp: * JSValueWrapper.cpp: 2011-09-29 Mark Hahnenberg De-virtualize JSCell::visitChildrenVirtual and remove all other visitChildrenVirtual methods https://bugs.webkit.org/show_bug.cgi?id=68839 Reviewed by Geoffrey Garen. Removed the remaining visitChildrenVirtual methods. This patch completes the process of de-virtualizing visitChildren. * UserObjectImp.cpp: * UserObjectImp.h: 2011-09-27 Mark Hahnenberg Add static version of JSCell::getCallData https://bugs.webkit.org/show_bug.cgi?id=68741 Reviewed by Darin Adler. In this patch we just extract the bodies of the virtual getCallData methods throughout the JSCell inheritance hierarchy out into static methods, which are now called from the virtual methods. This is an intermediate step in trying to move the virtual-ness of getCallData into our own method table stored in ClassInfo. We need to convert the methods to static methods because static methods can be represented as function pointers rather than pointers to member functions, and function pointers are smaller and faster to call than pointers to member functions. * JSValueWrapper.cpp: (JSValueWrapper::JSObjectCallFunction): * UserObjectImp.cpp: (UserObjectImp::getCallDataVirtual): (UserObjectImp::getCallData): * UserObjectImp.h: 2011-09-25 Mark Hahnenberg Add custom vtable struct to ClassInfo struct https://bugs.webkit.org/show_bug.cgi?id=68567 Reviewed by Oliver Hunt. Added CREATE_METHOD_TABLE macro to generate the custom vtable for the specified class in its ClassInfo. Also added to it the first function to use this macro, visitChildren. This is part of the process of getting rid of all C++ virtual methods in JSCell. Eventually all virtual functions in JSCell that can't easily be converted to non-virtual functions will be put into this custom vtable structure. * UserObjectImp.cpp: 2011-09-23 Mark Hahnenberg Add static version of JSCell::visitChildren https://bugs.webkit.org/show_bug.cgi?id=68404 Reviewed by Darin Adler. In this patch we just extract the bodies of the virtual visitChildren methods throughout the JSCell inheritance hierarchy out into static methods, which are now called from the virtual methods. This is an intermediate step in trying to move the virtual-ness of visitChildren into our own custom vtable stored in ClassInfo. We need to convert the methods to static methods in order to be able to more easily store and refer to them in our custom vtable since normal member methods store some implicit information in their types, making it impossible to store them generically in ClassInfo. * UserObjectImp.cpp: (UserObjectImp::visitChildrenVirtual): (UserObjectImp::visitChildren): * UserObjectImp.h: 2011-09-14 Mark Hahnenberg Unzip initialization lists and constructors in JSCell hierarchy (6/7) https://bugs.webkit.org/show_bug.cgi?id=67692 Reviewed by Geoffrey Garen. Completed the sixth level of the refactoring to add finishCreation() methods to all classes within the JSCell hierarchy with non-trivial constructor bodies. This primarily consists of pushing the calls to finishCreation() down into the constructors of the subclasses of the fifth level of the hierarchy as well as pulling the finishCreation() calls out into the class's corresponding create() method if it has one. Doing both simultaneously allows us to maintain the invariant that the finishCreation() method chain is called exactly once during the creation of an object, since calling it any other number of times (0, 2, or more) will cause an assertion failure. * JSRun.cpp: (JSGlueGlobalObject::JSGlueGlobalObject): * JSRun.h: (JSGlueGlobalObject::create): 2011-09-13 Anders Carlsson Disable C++ exceptions when building with clang https://bugs.webkit.org/show_bug.cgi?id=68031 Reviewed by Mark Rowe. * Configurations/Base.xcconfig: 2011-09-09 Oliver Hunt Remove support for anonymous storage from jsobjects https://bugs.webkit.org/show_bug.cgi?id=67881 Reviewed by Sam Weinig. Don't need an anonymous slot count anymore * UserObjectImp.h: (UserObjectImp::createStructure): 2011-08-18 Filip Pizlo The executable allocator makes it difficult to free individual chunks of executable memory https://bugs.webkit.org/show_bug.cgi?id=66363 Reviewed by Oliver Hunt. Introduced a best-fit, balanced-tree based allocator. The allocator required a balanced tree that does not allocate memory and that permits the removal of individual nodes directly (as opposed to by key); neither AVLTree nor WebCore's PODRedBlackTree supported this. Changed all references to executable code to use a reference counted handle. * ForwardingHeaders/wtf/MetaAllocatorHandle.h: Added. 2011-09-09 Mark Hahnenberg Unzip initialization lists and constructors in JSCell hierarchy (5/7) https://bugs.webkit.org/show_bug.cgi?id=67420 Reviewed by Geoffrey Garen. Completed the fifth level of the refactoring to add finishCreation() methods to all classes within the JSCell hierarchy with non-trivial constructor bodies. This primarily consists of pushing the calls to finishCreation() down into the constructors of the subclasses of the second level of the hierarchy as well as pulling the finishCreation() calls out into the class's corresponding create() method if it has one. Doing both simultaneously allows us to maintain the invariant that the finishCreation() method chain is called exactly once during the creation of an object, since calling it any other number of times (0, 2, or more) will cause an assertion failure. * JSRun.cpp: (JSGlueGlobalObject::JSGlueGlobalObject): 2011-09-08 Sam Weinig Remove the Completion object from JSC, I have never liked it https://bugs.webkit.org/show_bug.cgi?id=67755 Reviewed by Gavin Barraclough. * JSRun.cpp: (JSRun::Evaluate): (JSRun::CheckSyntax): * JSRun.h: * JavaScriptGlue.cpp: (JSRunEvaluate): 2011-09-07 Sheriff Bot Unreviewed, rolling out r94627 and r94632. http://trac.webkit.org/changeset/94627 http://trac.webkit.org/changeset/94632 https://bugs.webkit.org/show_bug.cgi?id=67698 It broke tests on GTK and Qt (Requested by Ossy on #webkit). * JSRun.cpp: (JSGlueGlobalObject::JSGlueGlobalObject): 2011-09-06 Mark Hahnenberg Unzip initialization lists and constructors in JSCell hierarchy (5/7) https://bugs.webkit.org/show_bug.cgi?id=67420 Reviewed by Geoffrey Garen. Completed the fifth level of the refactoring to add finishCreation() methods to all classes within the JSCell hierarchy with non-trivial constructor bodies. This primarily consists of pushing the calls to finishCreation() down into the constructors of the subclasses of the second level of the hierarchy as well as pulling the finishCreation() calls out into the class's corresponding create() method if it has one. Doing both simultaneously allows us to maintain the invariant that the finishCreation() method chain is called exactly once during the creation of an object, since calling it any other number of times (0, 2, or more) will cause an assertion failure. * JSRun.cpp: (JSGlueGlobalObject::JSGlueGlobalObject): 2011-09-05 Oliver Hunt An object's structure should reference the global object responsible for its creation https://bugs.webkit.org/show_bug.cgi?id=67624 Reviewed by Gavin Barraclough. Update for Structure::create() requiring a global object. * JSRun.h: (JSGlueGlobalObject::create): * UserObjectImp.h: (UserObjectImp::createStructure): 2011-09-01 Mark Hahnenberg Unzip initialization lists and constructors in JSCell hierarchy (4/7) https://bugs.webkit.org/show_bug.cgi?id=67174 Reviewed by Oliver Hunt. Completed the fourth level of the refactoring to add finishCreation() methods to all classes within the JSCell hierarchy with non-trivial constructor bodies. This primarily consists of pushing the calls to finishCreation() down into the constructors of the subclasses of the second level of the hierarchy as well as pulling the finishCreation() calls out into the class's corresponding create() method if it has one. Doing both simultaneously allows us to maintain the invariant that the finishCreation() method chain is called exactly once during the creation of an object, since calling it any other number of times (0, 2, or more) will cause an assertion failure. * UserObjectImp.cpp: (UserObjectImp::UserObjectImp): * UserObjectImp.h: (UserObjectImp::create): 2011-08-29 Mark Hahnenberg Unzip initialization lists and constructors in JSCell hierarchy (3/7) https://bugs.webkit.org/show_bug.cgi?id=67064 Reviewed by Darin Adler. Completed the third level of the refactoring to add finishCreation() methods to all classes within the JSCell hierarchy with non-trivial constructor bodies. This primarily consists of pushing the calls to finishCreation() down into the constructors of the subclasses of the second level of the hierarchy as well as pulling the finishCreation() calls out into the class's corresponding create() method if it has one. Doing both simultaneously allows us to maintain the invariant that the finishCreation() method chain is called exactly once during the creation of an object, since calling it any other number of times (0, 2, or more) will cause an assertion failure. * UserObjectImp.cpp: (UserObjectImp::UserObjectImp): 2011-08-15 Mark Hahnenberg Refactor JS objects to allocate in static create methods rather than constructors https://bugs.webkit.org/show_bug.cgi?id=65347 Reviewed by Geoffrey Garen. Removed all calls to deprecatedGetDOMObject from initialization lists as part of a larger refactoring to get rid of all allocation during initialization. * JSRun.cpp: (JSGlueGlobalObject::JSGlueGlobalObject): * JSRun.h: (JSGlueGlobalObject::create): 2011-08-12 Mark Rowe Be more forward-looking in the choice of compiler. Rubber-stamped by Jon Honeycutt. * Configurations/CompilerVersion.xcconfig: 2011-08-12 Sam Weinig Move compiler specific macros to their own header https://bugs.webkit.org/show_bug.cgi?id=66119 Reviewed by Anders Carlsson. * ForwardingHeaders/wtf/Compiler.h: Added. 2011-08-09 Mark Hahnenberg Add ParentClass typedef in all JSC classes https://bugs.webkit.org/show_bug.cgi?id=65731 Reviewed by Oliver Hunt. Just added the Base typedefs in all the classes that are a subclass of JSCell to point at their parent classes. This is a change to support future changes to the way constructors and destructors are implemented in JS objects, among other things. * JSRun.h: * UserObjectImp.h: 2011-08-04 Mark Rowe Future-proof Xcode configuration settings. * Configurations/Base.xcconfig: * Configurations/CompilerVersion.xcconfig: * Configurations/DebugRelease.xcconfig: * Configurations/Version.xcconfig: 2011-08-01 David Levin Add asserts to RefCounted to make sure ref/deref happens on the right thread. https://bugs.webkit.org/show_bug.cgi?id=31639 Reviewed by Dmitry Titov. * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Added. 2011-07-27 Mark Hahnenberg Remove operator new from JSCell https://bugs.webkit.org/show_bug.cgi?id=64999 Reviewed by Oliver Hunt. Removed the implementation of operator new in JSCell, so any further uses will not successfully link. Also removed any remaining uses of operator new. * JSRun.cpp: (JSRun::JSRun): * JSRun.h: (JSGlueGlobalObject::create): * JSUtils.cpp: (JSObjectKJSValue): (getThreadGlobalObject): * UserObjectImp.h: (UserObjectImp::create): 2011-07-01 Jungshik Shin Reviewed by Alexey Proskuryakov. Add uscript.h to icu/unicode to get JavaScriptGlue get built. The same file was added to JavaScriptCore/icu/unicode. http://bugs.webkit.org/show_bug.cgi?id=20797 * icu/unicode/uscript.h: Added. 2011-06-24 Sheriff Bot Unreviewed, rolling out r89594. http://trac.webkit.org/changeset/89594 https://bugs.webkit.org/show_bug.cgi?id=63316 It broke 5 tests on the Qt bot (Requested by Ossy_DC on #webkit). * icu/unicode/uscript.h: Removed. 2011-06-23 Jungshik Shin Reviewed by Alexey Proskuryakov. Add uscript.h to icu/unicode to get JavaScriptGlue get built. The same file was added to JavaScriptCore/icu/unicode. http://bugs.webkit.org/show_bug.cgi?id=20797 * icu/unicode/uscript.h: Added. 2011-05-16 David Kilzer C++ exceptions should not be enabled when building with llvm-gcc-4.2 Reviewed by Mark Rowe. * Configurations/Base.xcconfig: Fixed typo. 2011-05-12 David Kilzer JavaScriptGlue should compile with -Wmissing-prototypes Reviewed by Geoffrey Garen. Enabling -Wmissing-prototypes fixes an Xcode 4 project warning. This also fixes the following compiler warning: JavaScriptGlue/JSUtils.cpp:407:15: error: no previous prototype for function 'getThreadGlobalData' [-Werror,-Wmissing-prototypes,3] JSGlobalData* getThreadGlobalData() ^ * Configurations/Base.xcconfig: Set GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES. * JSUtils.cpp: (getThreadGlobalData): Made static. 2011-05-06 David Kilzer Remove unused GCC_ENABLE_FIX_AND_CONTINUE and ZERO_LINK settings Reviewed by Jon Honeycutt. This fixes an Xcode 4 warning about using obsolete settings. * JavaScriptGlue.xcodeproj/project.pbxproj: Removed GCC_ENABLE_FIX_AND_CONTINUE and ZERO_LINK settings. 2011-04-28 Sheriff Bot Unreviewed, rolling out r85233 and r85235. http://trac.webkit.org/changeset/85233 http://trac.webkit.org/changeset/85235 https://bugs.webkit.org/show_bug.cgi?id=59754 Causes issues with jsc. (Requested by dave_levin on #webkit). * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Removed. 2011-04-04 David Levin 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/ThreadRestrictionVerifier.h: Added. 2011-04-26 Dan Bernstein Build fix. * Configurations/CompilerVersion.xcconfig: 2011-04-26 Dan Bernstein Reviewed by Mark Rowe. Choose the compiler based on the Xcode version for Snow Leopard debug builds. * Configurations/Base.xcconfig: * Configurations/CompilerVersion.xcconfig: Added. 2011-04-21 Oliver Hunt Reviewed by Geoffrey Garen. Start moving to a general visitor pattern for GC traversal https://bugs.webkit.org/show_bug.cgi?id=59141 This is just a rename: markChildren -> visitChildren markAggregate -> visitAggregate markStack -> visitor MarkStack -> typedef'd to SlotVisitor * UserObjectImp.cpp: (UserObjectImp::visitChildren): 2011-04-19 Renata Hodovan Reviewed by Eric Seidel. Move the alignment related macros in Vector.h to new Alignment.h. https://bugs.webkit.org/show_bug.cgi?id=56000 Adding the new file to the forwarding headers of JavaScriptGlue. * ForwardingHeaders/wtf/Alignment.h: Added. 2011-04-15 Oliver Hunt GC allocate Structure https://bugs.webkit.org/show_bug.cgi?id=58483 Rolling r83894 r83827 r83810 r83809 r83808 back in with a workaround for the gcc bug seen by the gtk bots * JSRun.cpp: (JSGlueGlobalObject::JSGlueGlobalObject): * JSRun.h: * JSUtils.cpp: (JSObjectKJSValue): * UserObjectImp.cpp: (UserObjectImp::UserObjectImp): * UserObjectImp.h: (UserObjectImp::createStructure): 2011-04-08 Geoffrey Garen Reviewed by Oliver Hunt. A few heap-related renames and file moves. WeakGCPtr => Weak Global => Strong collector/ => heap/ collector/* => heap/* runtime/WeakGCPtr.h => heap/Weak.h (Eventually, even more files should move into the heap directory. Like Heap.h and Heap.cpp, for example.) * JSRun.h: * JSValueWrapper.h: 2011-04-07 Geoffrey Garen Reviewed by Maciej Stachowiak. Some Handle cleanup https://bugs.webkit.org/show_bug.cgi?id=58109 * JSRun.h: * JSValueWrapper.h: #include a file that was missing before, but was harmlessly so until now. 2011-03-30 Timur Iskhodzhanov Reviewed by Alexey Proskuryakov. Add some dynamic annotations to JavaScriptCore/wtf https://bugs.webkit.org/show_bug.cgi?id=53747 By using these annotations we can improve the precision of finding WebKit errors using dynamic analysis tools like ThreadSanitizer and Valgrind. These annotations don't affect the compiled binaries unless USE(DYNAMIC_ANNOTATIONS) is "1". These files don't add new functionality, so don't need extra tests. * ForwardingHeaders/wtf/DynamicAnnotations.h: Added. 2011-03-25 Oliver Hunt Reviewed by Geoffrey Garen. instanceof Array test fails when using iframes https://bugs.webkit.org/show_bug.cgi?id=17250 Up date for new toObject api * UserObjectImp.cpp: (UserObjectImp::toPrimitive): (UserObjectImp::toBoolean): (UserObjectImp::toNumber): (UserObjectImp::toString): 2011-03-26 Adam Barth Remove the JavaScriptGlue GYP build. We're not going to use GYP for JavaScriptGlue because JavaScriptGlue is used only by one port. * gyp: Removed. * gyp/JavaScriptGlue.gyp: Removed. * gyp/JavaScriptGlue.gypi: Removed. * gyp/remove-headers-if-needed.sh: Removed. * gyp/run-if-exists.sh: Removed. * gyp/update-info-plist.sh: Removed. 2011-03-22 Eric Seidel Reviewed by Adam Barth. Make it possible to build JavaScriptCore and WebCore gyp builds outside of Source https://bugs.webkit.org/show_bug.cgi?id=56867 This should make it possible to build the gyp-generated JavaScriptGlue.xcodeproj from a JavaScriptGlue directory outside of Source. * gyp/JavaScriptGlue.gyp: * gyp/run-if-exists.sh: Added. * gyp/update-info-plist.sh: Added. 2011-03-22 Adam Barth Reviewed by Eric Seidel. Production configuration in GYP isn't set up correctly https://bugs.webkit.org/show_bug.cgi?id=56786 Update JavaScriptGlue.gyp with information mined from JavaScriptGlue.xcodeproj. * gyp/JavaScriptGlue.gyp: * gyp/JavaScriptGlue.gypi: 2011-03-21 Adam Barth Reviewed by Eric Seidel. GYP build should not have include paths that point within the source tree https://bugs.webkit.org/show_bug.cgi?id=56788 Turns out we don't need these include paths anymore now that we have header maps working properly. * gyp/JavaScriptGlue.gyp: 2011-03-20 Bill Budge Reviewed by Adam Barth. Rename ThreadSafeShared to ThreadSafeRefCounted https://bugs.webkit.org/show_bug.cgi?id=56714 No new tests. Exposes no new functionality. * ForwardingHeaders/wtf/ThreadSafeRefCounted.h: Copied from ForwardingHeaders/wtf/ThreadSafeShared.h. * ForwardingHeaders/wtf/ThreadSafeShared.h: Removed. * gyp/JavaScriptGlue.gypi: 2011-03-17 Jeff Miller Use a consistent set of file patterns in the svn:ignore property for all .xcodeproj directories, specifically: *.mode* *.pbxuser *.perspective* project.xcworkspace xcuserdata * JavaScriptGlue.xcodeproj: Modified property svn:ignore. 2011-03-15 Oliver Hunt Reviewed by Geoffrey Garen. Make Structure creation require a JSGlobalData https://bugs.webkit.org/show_bug.cgi?id=56438 Mechanical change to make all structure creation pass a JSGlobalData&. * JSRun.cpp: (JSGlueGlobalObject::JSGlueGlobalObject): (JSRun::JSRun): * JSRun.h: * JSUtils.cpp: (getThreadGlobalObject): * UserObjectImp.h: (UserObjectImp::createStructure): 2011-03-15 Kevin Ollivier Reviewed by Darin Adler. Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export info into the headers rather than in export symbol definition files, but disable it on all platforms initially so we can deal with port build issues one port at a time. https://bugs.webkit.org/show_bug.cgi?id=27551 * config.h: 2011-03-10 Geoffrey Garen Reviewed by Oliver Hunt. Rolled back in 80277 and 80280 with event handler layout test failures fixed. https://bugs.webkit.org/show_bug.cgi?id=55653 The failures were caused by a last minute typo: assigning to currentEvent instead of m_currentEvent. * JSRun.cpp: * JSRun.h: 2011-03-04 Adam Barth Reviewed by Dimitri Glazkov. Use target_defaults to reduce boilerplate in GYP build system https://bugs.webkit.org/show_bug.cgi?id=55790 Instead of setting up the configuration in each target, just defer to target_defaults. Also, removed a define that was redundant with the xcconfig. * gyp/JavaScriptGlue.gyp: 2011-03-03 Geoffrey Garen Rolled out 80277 and 80280 because they caused event handler layout test failures. * JSRun.cpp: * JSRun.h: 2011-03-01 Adam Barth Reviewed by Dimitri Glazkov. Add pre- and post-build actions for JavaScriptCore GYP build https://bugs.webkit.org/show_bug.cgi?id=55507 Remove the portion of this file that was split out into common.gypi. * gyp/JavaScriptGlue.gyp: 2011-02-28 Gavin Barraclough Reviewed by Sam Weinig & Darin Adler. Bug 55423 - Clean up property tables in Structure Encapsulate, reduce duplication of table search code, and reduce the size of the tables (remove the index, just maintain the tables in the correct order). Shows a 0.5% - 1% progression on sunspider. * ForwardingHeaders/wtf/HashTable.h: Added. 2011-02-28 Adam Barth Reviewed by Dimitri Glazkov. Teach JavaScriptGlue gyp build about DEPTH https://bugs.webkit.org/show_bug.cgi?id=55421 After this path, we should set DEPTH to the Source directory, which is a common point for all the frameworks that make up WebKit. These changes to the GYP teach JavaScriptGlue how to find various files based on DEPTH rather than based on the location of the xcodeproj file. * gyp/JavaScriptGlue.gyp: * gyp/remove-headers-if-needed.sh: Removed. * gyp/run-if-exists.sh: Removed. * gyp/update-info-plist.sh: Removed. 2011-02-28 Adam Barth Reviewed by Dimitri Glazkov. Use more xcconfig files in JavaScriptGlue gyp build https://bugs.webkit.org/show_bug.cgi?id=55395 Technically this patch breaks the build because the generated project can't find the Info.plist file or the list of exported symbols. I'll fix that in a follow-up patch. * gyp/JavaScriptGlue.gyp: 2011-02-28 Dimitri Glazkov Reviewed by Adam Barth. Add necessary build steps to JavaScriptGlue GYP project. https://bugs.webkit.org/show_bug.cgi?id=55196 * gyp/JavaScriptGlue.gyp: Added pre- and post- build steps. * gyp/JavaScriptGlue.gypi: Added Info.plist. * gyp/remove-headers-if-needed.sh: Added. * gyp/run-if-exists.sh: Added. * gyp/update-info-plist.sh: Added. 2011-02-23 Geoffrey Garen Reviewed by Darin Adler. Rolled back in r79367 with SnowLeopard Release bot crash fixed. https://bugs.webkit.org/show_bug.cgi?id=54999 2011-02-22 Adam Barth Reviewed by Eric Seidel. Add a GYP project for JavaScriptGlue https://bugs.webkit.org/show_bug.cgi?id=55019 This is really just a proof-of-concept. The Xcode project file it produces is able to build JavaScriptGlue, but it's not 100% correct. Also, the GYP declarations aren't properly structured to allow for multiple projects or ports. That should get better as we add proof-of-concepts for other projects and ports. This build system is not used currently. * gyp: Added. * gyp/JavaScriptGlue.gyp: Added. * gyp/JavaScriptGlue.gypi: Added. 2011-02-22 Sheriff Bot Unreviewed, rolling out r79367. http://trac.webkit.org/changeset/79367 https://bugs.webkit.org/show_bug.cgi?id=55012 all layout tests are crashing on Snow Leopard (Requested by rniwa on #webkit). * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed. 2011-02-22 Geoffrey Garen Reviewed by Oliver Hunt. Manage MarkedBlocks in a linked list instead of a vector, so arbitrary removal is O(1) https://bugs.webkit.org/show_bug.cgi?id=54999 New WTF header. * ForwardingHeaders/wtf/DoublyLinkedList.h: Copied from ForwardingHeaders/wtf/FixedArray.h. 2011-02-18 Gavin Barraclough Reviewed by Sam Weinig. Bug 54786 - Devirtualize JSCell::classInfo() Instead of making a virtual function call, add a pointer to the ClassInfo onto Structure. This removes a virtual function call, and paves the way towards removing all the createStructure methods, and StructureFlags/AnonymousSlotCount properties (these should be able to move onto ClassInfo). Calls to Structure::create must now pass a pointer to the ClassInfo for the structure. All objects now have a ClassInfo pointer, non-object cell types still do not. Changes are most mechanical, involving three steps: * Remove virtual classInfo() methods. * Add &s_info parameter to calls to Structure::create. * Rename ClassInfo static members on classes from 'info' to 's_info', for consistency. * JSUtils.cpp: (KJSValueToJSObject): (KJSValueToCFTypeInternal): * UserObjectImp.cpp: * UserObjectImp.h: (UserObjectImp::createStructure): 2011-02-15 Gavin Barraclough Reviewed by Geoff Garen. Bug 54524 - Allow JSObject to fully utilize cell's capacity for inline storage. Currently JSObject is both directly instantiated for regular JS objects, and derived to implement subtypes. A consequence of this is that we need to ensure that sufficient space from the cell is left unused and available for any data members that will be introduced by subclasses of JSObject. By restructuring the internal storage array out of JSObject we can increase the size in the internal storage for regular objects. Add classes JSFinalObject and JSNonFinalObject. JSNonFinalObject retains as much additional capacity as is currently available to allow for data members in subclasses. JSFinalObject utilizes all available space for internal storage, and only allows construction through JSFinalObject::create(). * UserObjectImp.cpp: * UserObjectImp.h: Update JSObject -> JSNonFinalObject. 2011-02-14 Oliver Hunt Reviewed by Gavin Barraclough and Geoff Garen. Refactor handles and weak pointers to become nicer and more automatic https://bugs.webkit.org/show_bug.cgi?id=54415 Update to use new Global<> type * JSRun.cpp: (JSRun::JSRun): (JSRun::GlobalObject): * JSRun.h: * JSValueWrapper.cpp: (JSValueWrapper::JSValueWrapper): * JSValueWrapper.h: 2011-02-13 Cameron Zwarich Reviewed by Dan Bernstein. Bug 53760 - JSC fails to build with TOT Clang https://bugs.webkit.org/show_bug.cgi?id=53760 Fix -Woverloaded-virtual warnings. * UserObjectImp.cpp: (UserObjectImp::toPrimitive): Use PreferredPrimitiveType instead of JSType to match the base class. * UserObjectImp.h: 2011-02-06 Ryosuke Niwa Reviewed by Darin Adler. OwnArraryPtr.h uses deleteOwnedPtr but doesn't include OwnPtrCommon.h https://bugs.webkit.org/show_bug.cgi?id=52867 * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Removed. 2011-01-31 Oliver Hunt Convert markstack to a slot visitor API https://bugs.webkit.org/show_bug.cgi?id=53219 rolling r77098, r77099, r77100, r77109, and r77111 back in, along with a few more Qt fix attempts. * JSValueWrapper.cpp: (JSValueWrapper::JSObjectMark): 2011-01-30 Csaba Osztrogonác Unreviewed, rolling out r77098, r77099, r77100, r77109, and r77111. http://trac.webkit.org/changeset/77098 http://trac.webkit.org/changeset/77099 http://trac.webkit.org/changeset/77100 http://trac.webkit.org/changeset/77109 http://trac.webkit.org/changeset/77111 https://bugs.webkit.org/show_bug.cgi?id=53219 Qt build is broken * JSValueWrapper.cpp: (JSValueWrapper::JSObjectMark): 2011-01-30 Oliver Hunt Convert markstack to a slot visitor API https://bugs.webkit.org/show_bug.cgi?id=53219 rolling r77006 and r77020 back in. * JSValueWrapper.cpp: (JSValueWrapper::JSObjectMark): 2011-01-28 Sheriff Bot Unreviewed, rolling out r77006 and r77020. http://trac.webkit.org/changeset/77006 http://trac.webkit.org/changeset/77020 https://bugs.webkit.org/show_bug.cgi?id=53360 "Broke Windows tests" (Requested by rniwa on #webkit). * JSValueWrapper.cpp: (JSValueWrapper::JSObjectMark): 2011-01-27 Oliver Hunt Reviewed by Geoffrey Garen. Convert markstack to a slot visitor API https://bugs.webkit.org/show_bug.cgi?id=53219 There's no reason to recurse here, the value we were marking was protected. * JSValueWrapper.cpp: (JSValueWrapper::JSObjectMark): 2011-01-23 Mark Rowe Follow-up to r76477. Fix the scripts that detect problematic code such as static initializers and destructors, weak vtables, inappropriate files in the framework wrappers, and public headers including private headers. These had all been broken since the projects were moved in to the Source directory as the paths to the scripts were not updated at that time. * JavaScriptGlue.xcodeproj/project.pbxproj: 2011-01-17 Dan Bernstein Rubber-stamped by Mark Rowe. Update xcodeproj svn:ignore to include xcuserdata. * JavaScriptGlue.xcodeproj: Modified property svn:ignore. 2011-01-10 Geoffrey Garen Reviewed by Oliver Hunt. Moved Collector.* => Heap.*, since the file contains a class named "Heap". * JSUtils.h: 2011-01-02 Dan Bernstein Rubber-stamped by Simon Fraser. Update copyright strings * Info.plist: 2010-12-22 Dan Bernstein Rubber-stamped by Mark Rowe. Changed WebKitTools to Tools in script build phases. * JavaScriptGlue.xcodeproj/project.pbxproj: 2010-12-21 Geoffrey Garen Reviewed by Gavin Barraclough & Oliver Hunt. Added PageAllocationAligned, a cross-platform abstraction for memory allocations with arbitrary alignment requirements https://bugs.webkit.org/show_bug.cgi?id=51359 * ForwardingHeaders/wtf/PageAllocationAligned.h: Added. 2010-12-21 Daniel Bates Reviewed by Eric Seidel and Darin Adler. Deallocate GregorianDateTime.timeZone (if allocated) when copying so that we don't leak memory. https://bugs.webkit.org/show_bug.cgi?id=51367 Add forwarding header for PassOwnArrayPtr.h. * ForwardingHeaders/wtf/PassOwnArrayPtr.h: Added. 2010-12-18 Gavin Barraclough Reviewed by Oliver Hunt. Bug 26276 - Need a mechanism to determine stack extent Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. 2010-12-20 Geoffrey Garen Reviewed by Sam Weinig. Factored common page set management into a new PageBlock base class https://bugs.webkit.org/show_bug.cgi?id=51285 * ForwardingHeaders/wtf/PageBlock.h: Added. 2010-12-01 Geoffrey Garen Build fix: Added a forwarding header. * ForwardingHeaders/wtf/OSAllocator.h: Added. 2010-10-25 Oliver Hunt 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 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 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 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 Reviewed by Darin Adler. -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 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 Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=44487 * ForwardingHeaders/wtf/text/WTFString.h: Added. 2010-08-24 Oliver Hunt Reviewed by Geoff Garen. Don't seed the JS random number generator from time() https://bugs.webkit.org/show_bug.cgi?id=41868 Add forwarding header for RandomNumber in JavaScriptGlue * ForwardingHeaders/wtf/RandomNumber.h: Added. 2010-08-11 Gavin Barraclough 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 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 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 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 Build fix following r64624. * ForwardingHeaders/wtf/BitMap.h: Added. 2010-07-27 Gavin Barraclough 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 Reviewed by Oliver Hunt. Bug 43009 - Abstract out page allocation from executable allocators * ForwardingHeaders/wtf/PageAllocation.h: Added. 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.