1 2011-03-17 Jeff Miller <jeffm@apple.com>
3 Use a consistent set of file patterns in the svn:ignore property for all .xcodeproj directories, specifically:
11 * JavaScriptGlue.xcodeproj: Modified property svn:ignore.
13 2011-03-15 Oliver Hunt <oliver@apple.com>
15 Reviewed by Geoffrey Garen.
17 Make Structure creation require a JSGlobalData
18 https://bugs.webkit.org/show_bug.cgi?id=56438
20 Mechanical change to make all structure creation pass a JSGlobalData&.
23 (JSGlueGlobalObject::JSGlueGlobalObject):
27 (getThreadGlobalObject):
29 (UserObjectImp::createStructure):
31 2011-03-15 Kevin Ollivier <kevino@theolliviers.com>
33 Reviewed by Darin Adler.
35 Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
36 info into the headers rather than in export symbol definition files, but disable it on
37 all platforms initially so we can deal with port build issues one port at a time.
39 https://bugs.webkit.org/show_bug.cgi?id=27551
43 2011-03-10 Geoffrey Garen <ggaren@apple.com>
45 Reviewed by Oliver Hunt.
47 Rolled back in 80277 and 80280 with event handler layout test failures fixed.
48 https://bugs.webkit.org/show_bug.cgi?id=55653
50 The failures were caused by a last minute typo: assigning to currentEvent
51 instead of m_currentEvent.
56 2011-03-04 Adam Barth <abarth@webkit.org>
58 Reviewed by Dimitri Glazkov.
60 Use target_defaults to reduce boilerplate in GYP build system
61 https://bugs.webkit.org/show_bug.cgi?id=55790
63 Instead of setting up the configuration in each target, just defer to
64 target_defaults. Also, removed a define that was redundant with the
67 * gyp/JavaScriptGlue.gyp:
69 2011-03-03 Geoffrey Garen <ggaren@apple.com>
71 Rolled out 80277 and 80280 because they caused event handler layout test
77 2011-03-01 Adam Barth <abarth@webkit.org>
79 Reviewed by Dimitri Glazkov.
81 Add pre- and post-build actions for JavaScriptCore GYP build
82 https://bugs.webkit.org/show_bug.cgi?id=55507
84 Remove the portion of this file that was split out into common.gypi.
86 * gyp/JavaScriptGlue.gyp:
88 2011-02-28 Gavin Barraclough <barraclough@apple.com>
90 Reviewed by Sam Weinig & Darin Adler.
92 Bug 55423 - Clean up property tables in Structure
94 Encapsulate, reduce duplication of table search code,
95 and reduce the size of the tables (remove the index,
96 just maintain the tables in the correct order).
98 Shows a 0.5% - 1% progression on sunspider.
100 * ForwardingHeaders/wtf/HashTable.h: Added.
102 2011-02-28 Adam Barth <abarth@webkit.org>
104 Reviewed by Dimitri Glazkov.
106 Teach JavaScriptGlue gyp build about DEPTH
107 https://bugs.webkit.org/show_bug.cgi?id=55421
109 After this path, we should set DEPTH to the Source directory, which is
110 a common point for all the frameworks that make up WebKit. These
111 changes to the GYP teach JavaScriptGlue how to find various files based
112 on DEPTH rather than based on the location of the xcodeproj file.
114 * gyp/JavaScriptGlue.gyp:
115 * gyp/remove-headers-if-needed.sh: Removed.
116 * gyp/run-if-exists.sh: Removed.
117 * gyp/update-info-plist.sh: Removed.
119 2011-02-28 Adam Barth <abarth@webkit.org>
121 Reviewed by Dimitri Glazkov.
123 Use more xcconfig files in JavaScriptGlue gyp build
124 https://bugs.webkit.org/show_bug.cgi?id=55395
126 Technically this patch breaks the build because the generated project
127 can't find the Info.plist file or the list of exported symbols. I'll
128 fix that in a follow-up patch.
130 * gyp/JavaScriptGlue.gyp:
132 2011-02-28 Dimitri Glazkov <dglazkov@chromium.org>
134 Reviewed by Adam Barth.
136 Add necessary build steps to JavaScriptGlue GYP project.
137 https://bugs.webkit.org/show_bug.cgi?id=55196
139 * gyp/JavaScriptGlue.gyp: Added pre- and post- build steps.
140 * gyp/JavaScriptGlue.gypi: Added Info.plist.
141 * gyp/remove-headers-if-needed.sh: Added.
142 * gyp/run-if-exists.sh: Added.
143 * gyp/update-info-plist.sh: Added.
145 2011-02-23 Geoffrey Garen <ggaren@apple.com>
147 Reviewed by Darin Adler.
149 Rolled back in r79367 with SnowLeopard Release bot crash fixed.
150 https://bugs.webkit.org/show_bug.cgi?id=54999
152 2011-02-22 Adam Barth <abarth@webkit.org>
154 Reviewed by Eric Seidel.
156 Add a GYP project for JavaScriptGlue
157 https://bugs.webkit.org/show_bug.cgi?id=55019
159 This is really just a proof-of-concept. The Xcode project file it
160 produces is able to build JavaScriptGlue, but it's not 100% correct.
161 Also, the GYP declarations aren't properly structured to allow for
162 multiple projects or ports. That should get better as we add
163 proof-of-concepts for other projects and ports.
165 This build system is not used currently.
168 * gyp/JavaScriptGlue.gyp: Added.
169 * gyp/JavaScriptGlue.gypi: Added.
171 2011-02-22 Sheriff Bot <webkit.review.bot@gmail.com>
173 Unreviewed, rolling out r79367.
174 http://trac.webkit.org/changeset/79367
175 https://bugs.webkit.org/show_bug.cgi?id=55012
177 all layout tests are crashing on Snow Leopard (Requested by
180 * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed.
182 2011-02-22 Geoffrey Garen <ggaren@apple.com>
184 Reviewed by Oliver Hunt.
186 Manage MarkedBlocks in a linked list instead of a vector, so arbitrary removal is O(1)
187 https://bugs.webkit.org/show_bug.cgi?id=54999
191 * ForwardingHeaders/wtf/DoublyLinkedList.h: Copied from ForwardingHeaders/wtf/FixedArray.h.
193 2011-02-18 Gavin Barraclough <barraclough@apple.com>
195 Reviewed by Sam Weinig.
197 Bug 54786 - Devirtualize JSCell::classInfo()
199 Instead of making a virtual function call, add a pointer to the ClassInfo
202 This removes a virtual function call, and paves the way towards removing all
203 the createStructure methods, and StructureFlags/AnonymousSlotCount properties
204 (these should be able to move onto ClassInfo).
206 Calls to Structure::create must now pass a pointer to the ClassInfo for the
207 structure. All objects now have a ClassInfo pointer, non-object cell types
210 Changes are most mechanical, involving three steps:
211 * Remove virtual classInfo() methods.
212 * Add &s_info parameter to calls to Structure::create.
213 * Rename ClassInfo static members on classes from 'info' to 's_info',
217 (KJSValueToJSObject):
218 (KJSValueToCFTypeInternal):
221 (UserObjectImp::createStructure):
223 2011-02-15 Gavin Barraclough <barraclough@apple.com>
225 Reviewed by Geoff Garen.
227 Bug 54524 - Allow JSObject to fully utilize cell's capacity for inline storage.
229 Currently JSObject is both directly instantiated for regular JS objects, and
230 derived to implement subtypes. A consequence of this is that we need to ensure
231 that sufficient space from the cell is left unused and available for any data
232 members that will be introduced by subclasses of JSObject. By restructuring
233 the internal storage array out of JSObject we can increase the size in the
234 internal storage for regular objects.
236 Add classes JSFinalObject and JSNonFinalObject. JSNonFinalObject retains as
237 much additional capacity as is currently available to allow for data members
238 in subclasses. JSFinalObject utilizes all available space for internal storage,
239 and only allows construction through JSFinalObject::create().
243 Update JSObject -> JSNonFinalObject.
245 2011-02-14 Oliver Hunt <oliver@apple.com>
247 Reviewed by Gavin Barraclough and Geoff Garen.
249 Refactor handles and weak pointers to become nicer and more automatic
250 https://bugs.webkit.org/show_bug.cgi?id=54415
252 Update to use new Global<> type
256 (JSRun::GlobalObject):
258 * JSValueWrapper.cpp:
259 (JSValueWrapper::JSValueWrapper):
262 2011-02-13 Cameron Zwarich <zwarich@apple.com>
264 Reviewed by Dan Bernstein.
266 Bug 53760 - JSC fails to build with TOT Clang
267 https://bugs.webkit.org/show_bug.cgi?id=53760
269 Fix -Woverloaded-virtual warnings.
272 (UserObjectImp::toPrimitive): Use PreferredPrimitiveType instead of JSType to
273 match the base class.
276 2011-02-06 Ryosuke Niwa <rniwa@webkit.org>
278 Reviewed by Darin Adler.
280 OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
281 https://bugs.webkit.org/show_bug.cgi?id=52867
283 * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Removed.
285 2011-01-31 Oliver Hunt <oliver@apple.com>
287 Convert markstack to a slot visitor API
288 https://bugs.webkit.org/show_bug.cgi?id=53219
290 rolling r77098, r77099, r77100, r77109, and
291 r77111 back in, along with a few more Qt fix attempts.
293 * JSValueWrapper.cpp:
294 (JSValueWrapper::JSObjectMark):
296 2011-01-30 Csaba Osztrogonác <ossy@webkit.org>
298 Unreviewed, rolling out r77098, r77099, r77100, r77109, and
300 http://trac.webkit.org/changeset/77098
301 http://trac.webkit.org/changeset/77099
302 http://trac.webkit.org/changeset/77100
303 http://trac.webkit.org/changeset/77109
304 http://trac.webkit.org/changeset/77111
305 https://bugs.webkit.org/show_bug.cgi?id=53219
309 * JSValueWrapper.cpp:
310 (JSValueWrapper::JSObjectMark):
312 2011-01-30 Oliver Hunt <oliver@apple.com>
314 Convert markstack to a slot visitor API
315 https://bugs.webkit.org/show_bug.cgi?id=53219
317 rolling r77006 and r77020 back in.
319 * JSValueWrapper.cpp:
320 (JSValueWrapper::JSObjectMark):
322 2011-01-28 Sheriff Bot <webkit.review.bot@gmail.com>
324 Unreviewed, rolling out r77006 and r77020.
325 http://trac.webkit.org/changeset/77006
326 http://trac.webkit.org/changeset/77020
327 https://bugs.webkit.org/show_bug.cgi?id=53360
329 "Broke Windows tests" (Requested by rniwa on #webkit).
331 * JSValueWrapper.cpp:
332 (JSValueWrapper::JSObjectMark):
334 2011-01-27 Oliver Hunt <oliver@apple.com>
336 Reviewed by Geoffrey Garen.
338 Convert markstack to a slot visitor API
339 https://bugs.webkit.org/show_bug.cgi?id=53219
341 There's no reason to recurse here, the value we
342 were marking was protected.
344 * JSValueWrapper.cpp:
345 (JSValueWrapper::JSObjectMark):
347 2011-01-23 Mark Rowe <mrowe@apple.com>
351 Fix the scripts that detect problematic code such as static initializers
352 and destructors, weak vtables, inappropriate files in the framework wrappers,
353 and public headers including private headers. These had all been broken
354 since the projects were moved in to the Source directory as the paths to the
355 scripts were not updated at that time.
357 * JavaScriptGlue.xcodeproj/project.pbxproj:
359 2011-01-17 Dan Bernstein <mitz@apple.com>
361 Rubber-stamped by Mark Rowe.
363 Update xcodeproj svn:ignore to include xcuserdata.
365 * JavaScriptGlue.xcodeproj: Modified property svn:ignore.
367 2011-01-10 Geoffrey Garen <ggaren@apple.com>
369 Reviewed by Oliver Hunt.
371 Moved Collector.* => Heap.*, since the file contains a class named "Heap".
375 2011-01-02 Dan Bernstein <mitz@apple.com>
377 Rubber-stamped by Simon Fraser.
379 <rdar://problem/8812159> Update copyright strings
383 2010-12-22 Dan Bernstein <mitz@apple.com>
385 Rubber-stamped by Mark Rowe.
387 Changed WebKitTools to Tools in script build phases.
389 * JavaScriptGlue.xcodeproj/project.pbxproj:
391 2010-12-21 Geoffrey Garen <ggaren@apple.com>
393 Reviewed by Gavin Barraclough & Oliver Hunt.
395 Added PageAllocationAligned, a cross-platform abstraction for memory allocations with arbitrary alignment requirements
396 https://bugs.webkit.org/show_bug.cgi?id=51359
398 * ForwardingHeaders/wtf/PageAllocationAligned.h: Added.
400 2010-12-21 Daniel Bates <dbates@rim.com>
402 Reviewed by Eric Seidel and Darin Adler.
404 Deallocate GregorianDateTime.timeZone (if allocated) when copying so that we don't leak memory.
405 https://bugs.webkit.org/show_bug.cgi?id=51367
407 Add forwarding header for PassOwnArrayPtr.h.
409 * ForwardingHeaders/wtf/PassOwnArrayPtr.h: Added.
411 2010-12-18 Gavin Barraclough <barraclough@apple.com>
413 Reviewed by Oliver Hunt.
415 Bug 26276 - Need a mechanism to determine stack extent
417 Add forwarding header for StackBounds.h.
419 * ForwardingHeaders/wtf/StackBounds.h: Added.
421 2010-12-20 Geoffrey Garen <ggaren@apple.com>
423 Reviewed by Sam Weinig.
425 Factored common page set management into a new PageBlock base class
426 https://bugs.webkit.org/show_bug.cgi?id=51285
428 * ForwardingHeaders/wtf/PageBlock.h: Added.
430 2010-12-01 Geoffrey Garen <ggaren@apple.com>
432 Build fix: Added a forwarding header.
434 * ForwardingHeaders/wtf/OSAllocator.h: Added.
436 2010-10-25 Oliver Hunt <oliver@apple.com>
438 Reviewed by Gavin Barraclough.
440 Remove exec and globalData arguments from jsNumber
441 https://bugs.webkit.org/show_bug.cgi?id=48270
443 Don't pass exec to jsNumber
448 (UserObjectImp::toPrimitive):
450 2010-10-25 Sheriff Bot <webkit.review.bot@gmail.com>
452 Unreviewed, rolling out r70451.
453 http://trac.webkit.org/changeset/70451
454 https://bugs.webkit.org/show_bug.cgi?id=48249
456 Broke set-unloaded-frame-location.html under Qt (Requested by
459 * ForwardingHeaders/wtf/text/TextPosition.h: Removed.
461 2010-10-16 Patrick Gansterer <paroga@webkit.org>
463 Reviewed by Adam Barth.
465 Rename StringHasherFunctions.h to StringHasher.h
466 https://bugs.webkit.org/show_bug.cgi?id=47200
468 * ForwardingHeaders/wtf/StringHashFunctions.h: Removed.
469 * ForwardingHeaders/wtf/StringHasher.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/StringHashFunctions.h.
471 2010-09-09 Michael Saboff <msaboff@apple.com>
473 Reviewed by Gavin Barraclough.
475 Added ListHashSet.h as an exported header in support of RegExp tracing.
476 https://bugs.webkit.org/show_bug.cgi?id=45401
478 * ForwardingHeaders/wtf/ListHashSet.h: Added.
480 2010-09-07 Anders Carlsson <andersca@apple.com>
482 Reviewed by Darin Adler.
484 <rdar://problem/8381749> -Wcast-align warning emitted when building with clang
486 Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc.
488 * Configurations/Base.xcconfig:
490 2010-08-26 Sam Weinig <sam@webkit.org>
492 Reviewed by Darin Adler.
495 https://bugs.webkit.org/show_bug.cgi?id=44627
497 Add new forwarding header.
499 * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Added.
501 2010-08-23 Gavin Barraclough <barraclough@apple.com>
503 Reviewed by Oliver Hunt.
505 https://bugs.webkit.org/show_bug.cgi?id=44487
507 * ForwardingHeaders/wtf/text/WTFString.h: Added.
509 2010-08-24 Oliver Hunt <oliver@apple.com>
511 Reviewed by Geoff Garen.
513 Don't seed the JS random number generator from time()
514 https://bugs.webkit.org/show_bug.cgi?id=41868
515 <rdar://problem/8171025>
517 Add forwarding header for RandomNumber in JavaScriptGlue
519 * ForwardingHeaders/wtf/RandomNumber.h: Added.
521 2010-08-11 Gavin Barraclough <barraclough@apple.com>
523 Rubber stamps by Darin Adler & Sam Weinig.
525 Bug 43867 - Some UString cleanup
527 Change JSC::UString data(), size(), and from(), to characters(), length(), and number() to match WTF::String.
528 Move string concatenation methods to a new header to simplify down UString.h. Remove is8Bit().
532 (KJSValueToCFTypeInternal):
533 * JavaScriptGlue.xcodeproj/project.pbxproj:
535 2010-08-04 Gavin Barraclough <barraclough@apple.com>
537 Reviewed by Sam Weinig.
539 Bug 43515 - Fix small design issues with PageAllocation, split out PageReservation.
540 (add forwarding headers)
542 * ForwardingHeaders/wtf/Bitmap.h: Added.
543 * ForwardingHeaders/wtf/PageReservation.h: Added.
545 2010-08-04 Sheriff Bot <webkit.review.bot@gmail.com>
547 Unreviewed, rolling out r64655.
548 http://trac.webkit.org/changeset/64655
549 https://bugs.webkit.org/show_bug.cgi?id=43496
551 JavaScriptCore references patch seems to have caused
552 regressions in QT and GTK builds (Requested by nlawrence on
555 * JSValueWrapper.cpp:
556 (JSValueWrapper::JSObjectMark):
558 2010-08-04 Nathan Lawrence <nlawrence@apple.com>
560 Reviewed by Darin Adler.
562 Removed unneeded marking. We need to remove this marking in order to have
563 MarkStack::append take references for updating movable objects.
565 https://bugs.webkit.org/show_bug.cgi?id=41177
567 * JSValueWrapper.cpp:
568 (JSValueWrapper::JSObjectMark):
570 2010-08-03 Gavin Barraclough <barraclough@apple.com>
572 Build fix following r64624.
574 * ForwardingHeaders/wtf/BitMap.h: Added.
576 2010-07-27 Gavin Barraclough <barraclough@apple.com>
578 Reviewed by Oliver Hunt.
580 Bug 42621 - Add a bump allocator for the YARR interpreter
582 The regex engine requires lifo allocation, however currently uses the general purpose
583 malloc/free memory allocation. A simple bump pointer allocator should provide a lower
584 overhead allocation solution.
586 * ForwardingHeaders/wtf/BumpPointerAllocator.h: Added.
588 2010-07-26 Gavin Barraclough <barraclough@apple.com>
590 Reviewed by Oliver Hunt.
592 Bug 43009 - Abstract out page allocation from executable allocators
594 * ForwardingHeaders/wtf/PageAllocation.h: Added.
596 2010-07-01 Oliver Hunt <oliver@apple.com>
598 Reviewed by Maciej Stachowiak.
600 Add a FixedArray template to encapsulate fixed length arrays
601 https://bugs.webkit.org/show_bug.cgi?id=41506
603 Add forwarding header.
605 * ForwardingHeaders/wtf/FixedArray.h: Added.
607 2010-06-02 Gavin Barraclough <barraclough@apple.com>
609 Reviewed by Oliver Hunt.
611 Bug 40094 - The return type of NativeFunction should be EncodedJSValue
612 On Windows & Linux, using JSVALUE32_64, EncodedJSValue is returned in registers, but JSValue is not.
615 (nativeCallFunction):
617 2010-05-28 Geoffrey Garen <ggaren@apple.com>
619 Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
621 Simplified the host calling convention.
623 PART ONE: Functional code changes.
625 [ None in JavaScriptGlue ]
627 PART TWO: Global search and replace.
629 In the areas below, I used global search-and-replace to change
630 (ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
631 args.size() => exec->argumentCount()
632 args.at(i) => exec->argument(i)
635 (nativeCallFunction):
637 (UserObjectImp::callAsFunction):
640 2010-04-23 Sam Weinig <sam@webkit.org>
642 Reviewed by David Levin.
644 Fix for https://bugs.webkit.org/show_bug.cgi?id=38060
647 Add necessary forwarding headers.
649 * ForwardingHeaders/wtf/Atomics.h: Added.
650 * ForwardingHeaders/wtf/ThreadSafeShared.h: Added.
651 * ForwardingHeaders/wtf/ThreadingPrimitives.h: Added.
653 2010-04-22 Sam Weinig <sam@webkit.org>
655 Reviewed by Anders Carlsson.
657 Fix for https://bugs.webkit.org/show_bug.cgi?id=38022
658 Move isMainThread predicate function to MainThread.h
660 Added forwarding header for MainThread.h
662 * ForwardingHeaders/wtf/MainThread.h: Added.
664 2010-04-22 Gavin Barraclough <barraclough@apple.com>
666 Rubber stamped by Sam Weinig
668 Do not get the globaldata for the APIShim via the
669 global object; global object construction creates identifiers
670 which results in the ASSERTs checking the thread data's
671 identifierTable has been set failing.
674 (unprotectGlobalObject):
675 (getThreadGlobalData):
676 (getThreadGlobalObject):
677 (JSGlueAPIEntry::JSGlueAPIEntry):
678 (JSGlueAPICallback::~JSGlueAPICallback):
680 2010-04-21 Geoffrey Garen <ggaren@apple.com>
682 Reviewed by Sam Weinig.
684 <rdar://problem/7879485> Leopard: Crash after opening Software Update dialog
687 (unprotectGlobalObject): Use the version of JSGlueAPIEntry that doesn't
688 call pthread_getspecific, since it's not safe to call pthread_getspecific
689 from a thread-specific data destructor. (<rdar://problem/7889842>
690 pthread_getspecific returns 0 when called from thread-specific data
693 (getThreadGlobalObject): Make sure to set the currentIdentifierTable
694 when first constructing our JSGlobalObject, since JSGlueAPIEntry has not
695 yet had an opportunity to do so.
697 (JSGlueAPIEntry::JSGlueAPIEntry):
698 * JSUtils.h: New version of JSGlueAPIEntry that doesn't call
701 2010-04-21 Gavin Barraclough <barraclough@apple.com>
703 Reviewed by NOBODY (build fix).
704 Errk! tree on fire, add fwd!
706 * ForwardingHeaders/wtf/text/StringHash.h: Added.
708 2010-04-20 Gavin Barraclough <barraclough@apple.com>
710 Reviewed by Oliver Hunt, Darin Adler.
712 Bug 37906 - Remove JSC::UStringImpl; unify with StringImpl.
713 Add forwarding header.
715 * ForwardingHeaders/wtf/ASCIICType.h: Added.
716 * ForwardingHeaders/wtf/text/StringImpl.h: Added.
718 2010-04-20 Gavin Barraclough <barraclough@apple.com>
720 Reviewed by Oliver Hunt.
722 Bug 37895 - Share common code from UStringImplBase with StringImpl
723 Add forwarding header.
725 * ForwardingHeaders/wtf/text/StringImplBase.h: Added.
727 2010-04-20 Gavin Barraclough <barraclough@apple.com>
729 Rubber stamped by Maciej Stachowiak (relanding r57829).
730 Added missing JS_EXPORTDATA
732 * ForwardingHeaders/wtf/WTFThreadData.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/WTFThreadData.h.
734 (JSGlueAPIEntry::JSGlueAPIEntry):
735 (JSGlueAPIEntry::~JSGlueAPIEntry):
736 (JSGlueAPICallback::JSGlueAPICallback):
737 (JSGlueAPICallback::~JSGlueAPICallback):
739 2010-04-19 Gavin Barraclough <barraclough@apple.com>
741 Reviewed by NOBODY (rolling out r57829).
744 * ForwardingHeaders/wtf/WTFThreadData.h: Removed.
746 (JSGlueAPIEntry::JSGlueAPIEntry):
747 (JSGlueAPIEntry::~JSGlueAPIEntry):
748 (JSGlueAPICallback::JSGlueAPICallback):
749 (JSGlueAPICallback::~JSGlueAPICallback):
751 2010-04-16 Gavin Barraclough <barraclough@apple.com>
753 Reviewed by Sam Weinig.
755 https://bugs.webkit.org/show_bug.cgi?id=37745
756 Move string uniquing tables to (new) WTFThreadData class.
758 Remove AtomicString's dependency on ThreadGlobalData so that we can move
759 WebCore's string classes up to WTF.
761 * ForwardingHeaders/wtf/WTFThreadData.h: Added.
762 * JSUtils.cpp: Update
763 (JSGlueAPIEntry::JSGlueAPIEntry):
764 (JSGlueAPIEntry::~JSGlueAPIEntry):
765 (JSGlueAPICallback::JSGlueAPICallback):
766 (JSGlueAPICallback::~JSGlueAPICallback):
768 2010-03-31 Gavin Barraclough <barraclough@apple.com>
770 Reviewed by Geoff Garen.
772 Bug 36871 - Remove JSC::CString
773 Use WTF::CString instead (which until recently was WebCore::CString).
775 * ForwardingHeaders/wtf/text: Added.
776 * ForwardingHeaders/wtf/text/CString.h: Added.
778 2010-03-11 Mark Rowe <mrowe@apple.com>
780 Reviewed by David Kilzer.
782 <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
784 Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version.
786 * Configurations/Base.xcconfig:
788 2010-03-11 Mark Rowe <mrowe@apple.com>
790 Reviewed by Tim Hatcher.
792 <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
794 Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted. It defaults to the
795 current Mac OS X version unless otherwise specified.
797 Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR.
799 Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice
800 may not be usable when targetting a different Mac OS X version.
802 Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off
803 MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used.
805 * Configurations/Base.xcconfig:
806 * Configurations/DebugRelease.xcconfig:
807 * Configurations/Version.xcconfig:
808 * JavaScriptGlue.xcodeproj/project.pbxproj:
810 2010-03-01 Oliver Hunt <oliver@apple.com>
812 Reviewed by Maciej Stachowiak.
814 Refactor named getter function signature to be in line with indexing getter signature
815 https://bugs.webkit.org/show_bug.cgi?id=35563
817 Fix method signature and update code as appropriate
820 (UserObjectImp::userObjectGetter):
823 2010-02-09 Alexey Proskuryakov <ap@apple.com>
825 Reviewed by Geoffrey Garen.
827 https://bugs.webkit.org/show_bug.cgi?id=34490
828 WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions
830 * ForwardingHeaders/wtf/ValueCheck.h: Added.
832 2010-02-04 Mark Rowe <mrowe@apple.com>
834 Reviewed by Timothy Hatcher.
836 Build fix. Remove a symbol corresponding to an inline function from the linker export
837 file to prevent a weak external failure.
839 * JavaScriptGlue.xcodeproj/project.pbxproj: Accommodate rename of script.
841 2010-01-28 Oliver Hunt <oliver@apple.com>
843 Reviewed by Gavin Barraclough.
845 Simplify anonymous slot implementation
846 https://bugs.webkit.org/show_bug.cgi?id=34282
848 Update JSGlue Structure usage to pass the anonymous slot count.
851 (UserObjectImp::createStructure):
853 2010-01-12 Kent Hansen <kent.hansen@nokia.com>
855 Reviewed by Geoffrey Garen.
857 [ES5] Implement Object.getOwnPropertyNames
858 https://bugs.webkit.org/show_bug.cgi?id=32242
860 Add new argument to the reimplementation of getOwnPropertyNames().
863 (UserObjectImp::getOwnPropertyNames):
866 2010-01-07 Alexey Proskuryakov <ap@apple.com>
870 * config.h: Define JS_EXPORTCLASS for JavaScriptGlue.
872 2010-01-05 Gavin Barraclough <barraclough@apple.com>
874 Reviewed by Sam Weinig.
876 https://bugs.webkit.org/show_bug.cgi?id=33236
877 Remove m_identifierTable pointer from UString
879 Add API shims similar to those used in the JSC API to track the current identifierTable.
885 (KJSValueToCFTypeInternal):
886 (unprotectGlobalObject):
887 (JSGlueAPIEntry::JSGlueAPIEntry):
888 (JSGlueAPIEntry::~JSGlueAPIEntry):
889 (JSGlueAPICallback::JSGlueAPICallback):
890 (JSGlueAPICallback::~JSGlueAPICallback):
892 * JSValueWrapper.cpp:
893 (JSValueWrapper::JSObjectCopyPropertyNames):
894 (JSValueWrapper::JSObjectCopyProperty):
895 (JSValueWrapper::JSObjectSetProperty):
896 (JSValueWrapper::JSObjectCallFunction):
897 (JSValueWrapper::JSObjectCopyCFValue):
898 * JavaScriptGlue.cpp:
903 * JavaScriptGlue.xcodeproj/project.pbxproj:
905 (UserObjectImp::callAsFunction):
907 2010-01-04 Gavin Barraclough <barraclough@apple.com>
909 Reviewed by Sam Weinig.
911 Add a forwarding header so that StringHashFunctions.h can be found.
913 * ForwardingHeaders/wtf/StringHashFunctions.h: Added.
915 2010-01-04 Dan Bernstein <mitz@apple.com>
917 Reviewed by Ada Chan and Mark Rowe.
919 Updated copyright string
923 2009-12-21 Gavin Barraclough <barraclough@apple.com>
925 Reviewed by Darin Adler.
927 https://bugs.webkit.org/show_bug.cgi?id=32831
928 Replace UString::Rep implementation, following introduction of ropes to JSC.
930 * ForwardingHeaders/wtf/PossiblyNull.h: Added.
931 - add forwarding header.
933 2009-12-16 Mark Rowe <mrowe@apple.com>
935 Build fix. Disable debug variants of WebKit frameworks.
937 * JavaScriptGlue.xcodeproj/project.pbxproj:
939 2009-12-13 Geoffrey Garen <ggaren@apple.com>
941 Reviewed by Sam Weinig.
943 Changed GC from mark-sweep to mark-allocate.
945 * JavaScriptGlue.cpp:
946 (JSCollect): Updated for rename. Fixed a bug where JSGlue would not check
947 to avoid nested GC calls.
949 2009-12-08 Dmitry Titov <dimich@chromium.org>
951 Rubber-stamped by David Levin.
953 Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread."
954 It may have caused massive increase of reported leaks on the bots.
955 https://bugs.webkit.org/show_bug.cgi?id=31639
957 * ForwardingHeaders/wtf/ThreadVerifier.h: Removed.
959 2009-12-08 Dmitry Titov <dimich@chromium.org>
961 Reviewed by Darin Adler.
963 Add asserts to RefCounted to make sure ref/deref happens on the right thread.
964 https://bugs.webkit.org/show_bug.cgi?id=31639
966 * ForwardingHeaders/wtf/ThreadVerifier.h: Added.
968 2009-11-24 Mark Rowe <mrowe@apple.com>
970 Fix production builds where the source tree may be read-only.
972 * JavaScriptGlue.xcodeproj/project.pbxproj:
974 2009-11-08 David Levin <levin@chromium.org>
976 Reviewed by NOBODY (chromium build fix).
978 Added the use jsc define for files that use
979 this config file and DateMath.h. This should
980 be able to go away when DateMath is properly
981 split into wtf and jsc portions which is this bug:
982 https://bugs.webkit.org/show_bug.cgi?id=31246
986 2009-11-06 Geoffrey Garen <ggaren@apple.com>
988 Reviewed by Oliver Hunt.
990 https://bugs.webkit.org/show_bug.cgi?id=31197
991 Implemented a timezone cache not based on Mac OS X's notify_check API.
993 * ForwardingHeaders/wtf/CurrentTime.h: Added.
995 2009-10-27 Geoffrey Garen <ggaren@apple.com>
997 Build fix: Updated for JavaScriptCore export changes.
999 * ForwardingHeaders/wtf/DateInstanceCache.h: Added.
1001 2009-10-27 Geoffrey Garen <ggaren@apple.com>
1003 Reviewed by Oliver Hunt.
1005 Updated for JavaScriptCore export changes.
1007 * ForwardingHeaders/wtf/DateMath.h: Added.
1009 2009-10-27 Dan Bernstein <mitz@apple.com>
1011 Reviewed by Darin Adler.
1017 2009-10-16 Oliver Hunt <oliver@apple.com>
1019 Reviewed by Gavin Barraclough.
1021 Make typeinfo flags default to false
1022 https://bugs.webkit.org/show_bug.cgi?id=30372
1024 Last part -- replace HasDefaultGetPropertyNames with OverridesGetPropertyNames
1028 (UserObjectImp::createStructure):
1030 2009-10-15 Oliver Hunt <oliver@apple.com>
1032 Reviewed by Darin Adler.
1034 Make typeinfo flags default to false
1035 https://bugs.webkit.org/show_bug.cgi?id=30372
1037 Part 2 -- Reverse the TypeInfo HasDefaultMark flag to OverridesMarkChildren, etc
1040 (UserObjectImp::createStructure):
1042 2009-10-14 Oliver Hunt <oliver@apple.com>
1044 Reviewed by Geoff Garen.
1046 Make typeinfo flags default to false
1047 https://bugs.webkit.org/show_bug.cgi?id=30372
1049 Part 1. Reverse the HasStandardGetOwnPropertySlot flag.
1052 (UserObjectImp::createStructure):
1054 2009-09-28 Geoffrey Garen <ggaren@apple.com>
1056 Reviewed by Sam Weinig.
1058 Removed virtual destructor from JSGlobalObjectData to eliminate pointer
1059 fix-ups when accessing JSGlobalObject::d.
1061 Replaced with an explicit destructor function pointer.
1064 (JSGlueGlobalObject::destroyData):
1066 (JSGlueGlobalObject::Data::Data):
1068 2009-09-12 Oliver Hunt <oliver@apple.com>
1070 Reviewed by Maciej Stachowiak.
1072 [ES5] Implement Object.keys
1073 https://bugs.webkit.org/show_bug.cgi?id=29170
1075 Switch over to getOwnPropertyNames instead of getPropertyNames.
1077 * UserObjectImp.cpp:
1078 (UserObjectImp::getOwnPropertyNames):
1081 2009-09-02 Darin Adler <darin@apple.com>
1083 Reviewed by Geoff Garen.
1085 * JSValueWrapper.cpp:
1086 (JSValueWrapper::JSObjectMark): Removed a check of the mark
1087 bit. It's OK to do more work in this case, and there is no
1088 longer a public function to access the mark bit.
1090 2009-08-14 Darin Adler <darin@apple.com>
1092 Reviewed by Sam Weinig.
1094 Rename the confusing isObject(<class>) to inherits(<class>).
1095 It still works on non-objects, returning false.
1098 (KJSValueToJSObject):
1099 (KJSValueToCFTypeInternal):
1100 Changed from isObject to inherits.
1102 2009-08-13 Oliver Hunt <oliver@apple.com>
1104 Reviewed by Maciej Stachowiak.
1106 Devirtualise marking
1107 https://bugs.webkit.org/show_bug.cgi?id=28294
1109 Continue to jump through hoops to deal with the exposed marking routines
1112 * JSValueWrapper.cpp:
1113 (JSValueWrapper::JSObjectMark):
1115 2009-08-07 Oliver Hunt <oliver@apple.com>
1117 Reviewed by Sam Weinig.
1119 Stack overflow crash in JavaScript garbage collector mark pass
1120 https://bugs.webkit.org/show_bug.cgi?id=12216
1122 Make JSGlue interact with the new iterative mark logic.
1124 * JSValueWrapper.cpp:
1125 (JSValueWrapper::JSObjectMark):
1126 Unfortunately JSGlue exposes recursive marking so we can only flatten
1127 the recursion. We just create a local mark stack if necessary and mark
1128 the given object iteratively from this point.
1129 * UserObjectImp.cpp:
1130 (UserObjectImp::markChildren):
1133 2009-08-06 Mark Rowe <mrowe@apple.com>
1135 Rubber-stamped by Sam Weinig.
1137 Add explicit dependencies for our build verification scripts to ensure that they always run after linking has completed.
1139 * JavaScriptGlue.xcodeproj/project.pbxproj:
1141 2009-07-27 Alexey Proskuryakov <ap@webkit.org>
1143 Reviewed by Darin Adler.
1145 https://bugs.webkit.org/show_bug.cgi?id=27735
1146 Give a helpful name to JSLock constructor argument
1152 (KJSValueToCFTypeInternal):
1153 (unprotectGlobalObject):
1154 * JSValueWrapper.cpp:
1155 (JSValueWrapper::JSObjectCopyPropertyNames):
1156 (JSValueWrapper::JSObjectCopyProperty):
1157 (JSValueWrapper::JSObjectSetProperty):
1158 (JSValueWrapper::JSObjectCallFunction):
1159 (JSValueWrapper::JSObjectCopyCFValue):
1160 * JavaScriptGlue.cpp:
1165 (JSLockInterpreter):
1166 (JSUnlockInterpreter):
1168 2009-07-10 Adam Roben <aroben@apple.com>
1170 Sort all our Xcode projects
1172 Accomplished using sort-Xcode-project-file.
1174 Requested by Dave Kilzer.
1176 * JavaScriptGlue.xcodeproj/project.pbxproj:
1178 2009-07-08 Darin Adler <darin@apple.com>
1180 Reviewed by Dan Bernstein
1182 - fix <rdar://problem/6971484> REGRESSION (r30534): "Scrolling Credits"
1183 effect does not scroll on iMovie 7.1.4 on Tiger
1185 In <http://trac.webkit.org/changeset/30534>, the prototype of
1186 JSObject::put() which UserObjectImp had been overriding changed, but
1187 UserObjectImp wasn't updated, so its override was no longer getting
1190 * UserObjectImp.cpp:
1191 (UserObjectImp::put): Match the current prototype of JSObject::put().
1192 The PutPropertySlot argument is unused.
1193 * UserObjectImp.h: Ditto.
1195 2009-06-19 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
1197 Reviewed by Darin Adler.
1199 Add FastAllocBase.h to JavaScriptGlue's ForwardingHeaders/wtf, because it's needed by HashCountedSet.h on MAC.
1201 * ForwardingHeaders/wtf/FastAllocBase.h: Added.
1203 2009-06-02 Mark Rowe <mrowe@apple.com>
1205 Reviewed by Anders Carlsson.
1207 Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds.
1209 * Configurations/Base.xcconfig:
1211 2009-05-25 David Levin <levin@chromium.org>
1213 Reviewed by Maciej Stachowiak and Oliver Hunt.
1215 https://bugs.webkit.org/show_bug.cgi?id=25126
1217 Added forwarding headers.
1219 * ForwardingHeaders/wtf/CrossThreadRefCounted.h: Added.
1220 * ForwardingHeaders/wtf/OwnFastMallocPtr.h: Added.
1222 2009-05-23 David Kilzer <ddkilzer@apple.com>
1224 Part 1 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
1226 <https://bugs.webkit.org/show_bug.cgi?id=25495>
1228 Reviewed by Oliver Hunt.
1230 * ForwardingHeaders/wtf/OwnPtrCommon.h: Added.
1231 * ForwardingHeaders/wtf/PassOwnPtr.h: Added.
1233 2009-05-14 Mark Rowe <mrowe@apple.com>
1235 Rubber-stamped by Darin Adler.
1237 <rdar://problem/6681868> When building with Xcode 3.1.3 should be using gcc 4.2
1239 The meaning of XCODE_VERSION_ACTUAL is more sensible in newer versions of Xcode.
1240 Update our logic to select the compiler version to use the more appropriate XCODE_VERSION_MINOR
1241 if the version of Xcode supports it, and fall back to XCODE_VERSION_ACTUAL if not.
1243 * Configurations/Base.xcconfig:
1245 2009-05-07 Oliver Hunt <oliver@apple.com>
1247 Reviewed by Gavin Barraclough.
1249 Add calling convention annotation
1253 2009-05-01 Geoffrey Garen <ggaren@apple.com>
1255 Rubber Stamped by Sam Weinig.
1257 Renamed JSValuePtr => JSValue.
1260 (nativeCallFunction):
1262 (KJSValueToJSObject):
1264 (KJSValueToCFTypeInternal):
1267 * JSValueWrapper.cpp:
1268 (JSValueWrapper::JSValueWrapper):
1269 (JSValueWrapper::GetValue):
1270 (JSValueWrapper::JSObjectCopyProperty):
1271 (JSValueWrapper::JSObjectSetProperty):
1272 (JSValueWrapper::JSObjectCallFunction):
1274 * UserObjectImp.cpp:
1275 (UserObjectImp::callAsFunction):
1276 (UserObjectImp::userObjectGetter):
1277 (UserObjectImp::getOwnPropertySlot):
1278 (UserObjectImp::put):
1279 (UserObjectImp::toPrimitive):
1281 (UserObjectImp::createStructure):
1283 2009-04-29 Oliver Hunt <oliver@apple.com>
1285 Reviewed by Gavin Barraclough.
1287 Clean up ArgList to be a trivial type
1289 Start using MarkedArgumentBuffer to create argument lists for function calls
1291 * JSValueWrapper.cpp:
1292 (JSValueWrapper::JSObjectCallFunction):
1294 2009-04-28 Geoffrey Garen <ggaren@apple.com>
1296 Rubber stamped by Beth Dakin.
1300 * UserObjectImp.cpp:
1301 (UserObjectImp::callAsFunction):
1303 2009-04-21 Geoffrey Garen <ggaren@apple.com>
1305 Reviewed by Mark Rowe.
1307 Tiger crash fix: Put VM tags in their own header file, and fixed up the
1308 #ifdefs so they're not used on Tiger.
1310 * ForwardingHeaders/wtf/VMTags.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/HashTraits.h.
1312 2009-04-20 Sam Weinig <sam@webkit.org>
1314 Rubber-stamped by Tim Hatcher.
1316 Add licenses for xcconfig files.
1318 * Configurations/Base.xcconfig:
1319 * Configurations/DebugRelease.xcconfig:
1320 * Configurations/JavaScriptGlue.xcconfig:
1321 * Configurations/Version.xcconfig:
1323 2009-03-13 Mark Rowe <mrowe@apple.com>
1325 Rubber-stamped by Dan Bernstein.
1327 Take advantage of the ability of recent versions of Xcode to easily switch the active
1330 * Configurations/DebugRelease.xcconfig:
1332 2009-02-24 Mark Rowe <mrowe@apple.com>
1334 Rubber-stamped by Dan Bernstein.
1336 <rdar://problem/6407844> JavaScriptGlue should use -Os rather than -O2
1338 * Configurations/Base.xcconfig:
1340 2009-01-28 Sam Weinig <sam@webkit.org>
1342 Reviewed by Gavin Barraclough.
1344 Fix for <rdar://problem/6525537>
1345 Hang occurs when closing Installer window (iTunes, Aperture)
1348 (getThreadGlobalObject): Use the shared JSGlobalData instance.
1350 2009-01-22 Mark Rowe <mrowe@apple.com>
1352 Rubber-stamped by Anders Carlsson.
1354 Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily.
1356 Current versions of Xcode only respect it for C and Objective-C files,
1357 and our code doesn't currently compile if it is applied to C++ and
1358 Objective-C++ files.
1360 * Configurations/Base.xcconfig:
1362 2009-01-19 Sam Weinig <sam@webkit.org>
1364 Rubber-stamped by Gavin Barraclough.
1366 Remove temporary operator-> from JSValuePtr.
1369 (KJSValueToJSObject):
1370 (KJSValueToCFTypeInternal):
1371 * JSValueWrapper.cpp:
1372 (JSValueWrapper::JSObjectCopyPropertyNames):
1373 (JSValueWrapper::JSObjectCopyProperty):
1374 (JSValueWrapper::JSObjectSetProperty):
1375 (JSValueWrapper::JSObjectCallFunction):
1376 (JSValueWrapper::JSObjectMark):
1377 * UserObjectImp.cpp:
1378 (UserObjectImp::getOwnPropertySlot):
1380 2009-01-14 Dan Bernstein <mitz@apple.com>
1382 Reviewed by John Sullivan.
1388 2009-01-09 David Levin <levin@chromium.org>
1390 Reviewed by Oliver Hunt.
1392 https://bugs.webkit.org/show_bug.cgi?id=23175
1394 Added forwarding header.
1396 * ForwardingHeaders/wtf/PtrAndFlags.h: Added.
1398 2009-01-05 Gavin Barraclough <baraclough@apple.com>
1400 Rubber Stamped by Oliver Hunt.
1402 Replace all uses of JSValue* with new wrapper class, JSValuePtr.
1403 See JavaScriptCore/ChangeLog for more detailed description.
1406 (nativeCallFunction):
1408 (KJSValueToJSObject):
1410 (KJSValueToCFTypeInternal):
1413 * JSValueWrapper.cpp:
1414 (JSValueWrapper::JSValueWrapper):
1415 (JSValueWrapper::GetValue):
1416 (JSValueWrapper::JSObjectCopyProperty):
1417 (JSValueWrapper::JSObjectSetProperty):
1418 (JSValueWrapper::JSObjectCallFunction):
1420 * UserObjectImp.cpp:
1421 (UserObjectImp::callAsFunction):
1422 (UserObjectImp::userObjectGetter):
1423 (UserObjectImp::getOwnPropertySlot):
1424 (UserObjectImp::put):
1425 (UserObjectImp::toPrimitive):
1427 (UserObjectImp::createStructure):
1429 2008-12-15 Mark Rowe <mrowe@apple.com>
1431 Rubber-stamped by Cameron Zwarich.
1433 <rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on Leopard.
1435 * Configurations/Base.xcconfig:
1436 * Configurations/DebugRelease.xcconfig:
1438 2008-12-08 David Kilzer <ddkilzer@apple.com>
1440 Bug 22555: Sort "children" sections in Xcode project files
1442 <https://bugs.webkit.org/show_bug.cgi?id=22555>
1444 Reviewed by Eric Seidel.
1446 * JavaScriptGlue.xcodeproj/project.pbxproj: Sorted.
1448 2008-11-17 Geoffrey Garen <ggaren@apple.com>
1450 Reviewed by Sam Weinig.
1452 Updated for JavaScriptCore rename.
1454 * ForwardingHeaders/runtime/CallFrame.h: Copied from JavaScriptGlue/ForwardingHeaders/runtime/ExecState.h.
1455 * ForwardingHeaders/runtime/ExecState.h: Removed.
1458 2008-11-17 Geoffrey Garen <ggaren@apple.com>
1460 Reviewed by Sam Weinig.
1462 Updated for JavaScriptCore rename.
1464 * ForwardingHeaders/interpreter: Added.
1465 * ForwardingHeaders/interpreter/CallFrame.h: Copied from ForwardingHeaders/runtime/ExecState.h.
1466 * ForwardingHeaders/runtime/ExecState.h: Removed.
1468 2008-11-15 Darin Adler <darin@apple.com>
1470 Rubber stamped by Geoff Garen.
1472 - do the long-planned StructureID -> Structure rename
1475 (JSGlueGlobalObject::JSGlueGlobalObject):
1478 (JSGlueGlobalObject::userObjectStructure):
1480 (getThreadGlobalObject):
1481 * UserObjectImp.cpp:
1482 (UserObjectImp::UserObjectImp):
1484 (UserObjectImp::createStructure):
1486 2008-11-15 Geoffrey Garen <ggaren@apple.com>
1488 Reviewed by Sam Weinig.
1490 Updated for JavaScriptCore renames.
1494 (JSRun::CheckSyntax):
1496 2008-11-05 Cameron Zwarich <zwarich@apple.com>
1500 Fix the JavaScriptGlue build. This wouldn't show up unless one was
1501 doing a clean build, because changes in JavaScriptCore don't cause
1502 anything in JavaScriptGlue to get rebuilt.
1506 * JavaScriptGlue.cpp:
1508 2008-11-04 Cameron Zwarich <zwarich@apple.com>
1510 Reviewed by Mark Rowe.
1512 Remove JavaScriptGlue forwarding headers that are no longer necessary,
1513 and correct the path of the ExecState.h forwarding header.
1515 * ForwardingHeaders/kjs: Removed.
1516 * ForwardingHeaders/kjs/CTI.h: Removed.
1517 * ForwardingHeaders/kjs/ExecState.h: Removed.
1518 * ForwardingHeaders/kjs/JSValue.h: Removed.
1519 * ForwardingHeaders/kjs/PutPropertySlot.h: Removed.
1520 * ForwardingHeaders/kjs/ustring.h: Removed.
1521 * ForwardingHeaders/runtime: Added.
1522 * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
1525 2008-10-31 Stephanie Lewis <slewis@apple.com>
1527 Fix build by including right files.
1531 2008-10-30 Mark Rowe <mrowe@apple.com>
1533 Reviewed by Jon Homeycutt.
1535 Explicitly default to building for only the native architecture in debug and release builds.
1537 * Configurations/DebugRelease.xcconfig:
1539 2008-10-24 Darin Adler <darin@apple.com>
1541 - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
1544 (nativeCallFunction):
1546 (KJSValueToJSObject):
1548 (KJSValueToCFTypeInternal):
1551 * JSValueWrapper.cpp:
1552 (JSValueWrapper::JSValueWrapper):
1553 (JSValueWrapper::GetValue):
1554 (JSValueWrapper::JSObjectCopyProperty):
1555 (JSValueWrapper::JSObjectSetProperty):
1556 (JSValueWrapper::JSObjectCallFunction):
1558 * UserObjectImp.cpp:
1559 (UserObjectImp::callAsFunction):
1560 (UserObjectImp::userObjectGetter):
1561 (UserObjectImp::getOwnPropertySlot):
1562 (UserObjectImp::put):
1563 (UserObjectImp::toPrimitive):
1565 (UserObjectImp::createStructureID):
1566 Use JSValue* instead of JSValuePtr.
1568 2008-10-23 Darin Adler <darin@apple.com>
1570 - roll out https://bugs.webkit.org/show_bug.cgi?id=21732
1572 * JSValueWrapper.cpp:
1573 (JSValueWrapper::GetValue): Added missing call to .get().
1574 * JSValueWrapper.h: ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.
1576 2008-10-22 Darin Adler <darin@apple.com>
1578 Reviewed by Sam Weinig.
1580 - fix https://bugs.webkit.org/show_bug.cgi?id=21294
1581 Bug 21294: Devirtualize getOwnPropertySlot()
1584 (JSGlueGlobalObject::JSGlueGlobalObject): Moved constructor here.
1585 Set up flags in its new location in global object data, and set up
1586 a structure for UserObjectImp too.
1587 (JSRun::JSRun): Added code to give the JSGlueGlobalObject its own unique
1588 structure, rather than using the default one from JSGlobalObject.
1590 * JSRun.h: Made JSGlueGlobalObject take a structure ID. Also moved
1591 the data into a separate data object. And added userObjectStructure,
1592 a Structure to be used by UserObjectImp.
1594 * JSUtils.cpp: Removed unused sharedGlobalData global.
1595 (JSObjectKJSValue): Pass Structure in when creating UserObjectImp.
1596 (unprotectGlobalObject): Use JSGlueGLobalObject type specifically.
1597 (initializeGlobalObjectKey): Removed code to set up unused sharedGlobalData.
1598 (getThreadGlobalObject): Added. Shared by JSObjectKJSValue and
1599 getThreadGlobalExecState. Also now passes in a structure ID when creating
1601 (getThreadGlobalExecState): Changed to call getThreadGlobalObject.
1603 * UserObjectImp.cpp:
1604 (UserObjectImp::UserObjectImp): Changed to take a structure.
1606 (UserObjectImp::createStructureID): Added. Returns a structure without
1607 HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
1609 2008-10-20 Sam Weinig <sam@webkit.org>
1611 Reviewed by Cameron Zwarich.
1613 Fix for https://bugs.webkit.org/show_bug.cgi?id=21766
1614 REGRESSION: 12 JSC tests fail
1616 The JSGlobalObject constructor no longer takes a JSGlobalData
1622 (JSGlueGlobalObject::JSGlueGlobalObject):
1624 (getThreadGlobalExecState):
1626 2008-10-19 Darin Adler <darin@apple.com>
1628 Reviewed by Oliver Hunt.
1630 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
1631 improve performance by eliminating JSValue as a base class for JSCell
1633 Remove most uses of JSValue, which will be removed in a future patch.
1635 * JSValueWrapper.h: Use JSValuePtr instead of JSValue*.
1637 2008-10-18 Darin Adler <darin@apple.com>
1639 Reviewed by Oliver Hunt.
1641 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
1642 improve performance by eliminating JSValue as a base class for JSCell
1644 Tweak a little more to get closer to where we can make JSValuePtr a class.
1647 (nativeCallFunction): Call asObject.
1650 (KJSValueToJSObject): Use JSValuePtr and asObject.
1651 (JSObjectKJSValue): Ditto.
1652 (KJSValueToCFTypeInternal): Ditto.
1653 (KJSValueToCFType): Ditto.
1656 * UserObjectImp.cpp:
1657 (UserObjectImp::callAsFunction): Use JSValuePtr and asObject.
1658 (UserObjectImp::userObjectGetter): Ditto.
1659 (UserObjectImp::getOwnPropertySlot): Ditto.
1660 (UserObjectImp::put): Ditto.
1661 (UserObjectImp::toPrimitive): Ditto.
1662 * UserObjectImp.h: Ditto.
1664 2008-10-18 Darin Adler <darin@apple.com>
1666 Reviewed by Cameron Zwarich.
1668 - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
1669 improve performance by eliminating JSValue as a base class for JSCell
1671 Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
1672 changing JSValuePtr to be a class, and then eventually renaming it
1673 to JSValue once that's done.
1676 * JSValueWrapper.cpp:
1677 * UserObjectImp.cpp:
1679 Replace JSValue* with JSValuePtr.
1681 2008-10-13 Maciej Stachowiak <mjs@apple.com>
1683 Rubber stamped by Mark Rowe.
1685 - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
1687 * Configurations/DebugRelease.xcconfig:
1689 2008-10-06 Maciej Stachowiak <mjs@apple.com>
1691 Not reviewed. Build fix.
1693 - revert toBoolean changes (r37333 and r37335); need to make WebCore work with these
1696 (KJSValueToCFTypeInternal):
1698 2008-10-06 Maciej Stachowiak <mjs@apple.com>
1702 - fix build; toBoolean no longer takes an ExecState
1705 (KJSValueToCFTypeInternal):
1707 2008-10-04 Mark Rowe <mrowe@apple.com>
1709 Reviewed by Tim Hatcher.
1711 Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
1713 * JavaScriptGlue.xcodeproj/project.pbxproj:
1715 2008-10-01 Geoffrey Garen <ggaren@apple.com>
1717 Reviewed by Darin Adler and Cameron Zwarich.
1721 (JSRun::CheckSyntax): Provide a SourceCode to the Interpreter, since
1722 other APIs are no longer supported.
1724 2008-09-29 Geoffrey Garen <ggaren@apple.com>
1728 Forwarding headers to fix the build.
1730 * ForwardingHeaders/kjs/CTI.h: Copied from ForwardingHeaders/kjs/ExecState.h.
1731 * ForwardingHeaders/kjs/ustring.h: Copied from ForwardingHeaders/kjs/ExecState.h.
1732 * ForwardingHeaders/masm: Added.
1733 * ForwardingHeaders/masm/X86Assembler.h: Added.
1734 * ForwardingHeaders/profiler: Added.
1735 * ForwardingHeaders/profiler/Profiler.h: Added.
1737 2008-09-08 Sam Weinig <sam@webkit.org>
1739 Reviewed by Maciej Stachowiak and Oliver Hunt.
1741 Add forwarding headers.
1743 * ForwardingHeaders/wtf/HashFunctions.h: Added.
1744 * ForwardingHeaders/wtf/HashTraits.h: Added.
1746 2008-09-02 Geoffrey Garen <ggaren@apple.com>
1748 Reviewed by Sam Weinig.
1750 Implemented the rest of Darin's review comments for the 09-01 inline
1753 * ForwardingHeaders/kjs/PutPropertySlot.h: Added.
1755 2008-09-01 Geoffrey Garen <ggaren@apple.com>
1757 Reviewed by Darin Adler.
1759 First cut at inline caching for access to vanilla JavaScript properties.
1761 Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
1762 to JavaScriptGlue classes, and PutPropertySlot& arguments to put functions.
1764 2008-08-22 Anders Carlsson <andersca@apple.com>
1766 Fix build for real this time.
1770 2008-08-22 Anders Carlsson <andersca@apple.com>
1774 * UserObjectImp.cpp:
1775 (UserObjectImp::toPrimitive):
1778 2008-08-19 Alexey Proskuryakov <ap@webkit.org>
1780 Reviewed by Geoff Garen.
1782 Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
1788 (KJSValueToCFTypeInternal):
1789 (unprotectGlobalObject):
1791 * JSValueWrapper.cpp:
1792 (JSValueWrapper::JSObjectCopyPropertyNames):
1793 (JSValueWrapper::JSObjectCopyProperty):
1794 (JSValueWrapper::JSObjectSetProperty):
1795 (JSValueWrapper::JSObjectCallFunction):
1796 (JSValueWrapper::JSObjectCopyCFValue):
1797 * JavaScriptGlue.cpp:
1802 (JSLockInterpreter):
1803 (JSUnlockInterpreter):
1804 * UserObjectImp.cpp:
1805 (UserObjectImp::callAsFunction):
1807 2008-08-12 Darin Adler <darin@apple.com>
1811 - eliminate JSValue::type()
1814 (KJSValueToCFTypeInternal): Replaced uses of JSValue::type() with
1815 JSValue::is functions.
1816 * UserObjectImp.cpp:
1817 (UserObjectImp::getOwnPropertySlot): Ditto.
1818 (UserObjectImp::toPrimitive): Take PreferredPrimitiveType argument
1819 instead of JSType argument.
1820 * UserObjectImp.h: Ditto.
1822 2008-08-17 Geoffrey Garen <ggaren@apple.com>
1824 Reviewed by Cameron Zwarich.
1826 Updated project files to XCode 3.1.
1828 * JavaScriptGlue.xcodeproj/project.pbxproj:
1830 2008-08-15 Mark Rowe <mrowe@apple.com>
1832 Rubber-stamped by Geoff Garen.
1834 <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
1836 * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
1837 between the Debug configuration and debug Production variant.
1838 * JavaScriptGlue.xcodeproj/project.pbxproj: Enable the debug variant.
1840 2008-07-31 Alexey Proskuryakov <ap@webkit.org>
1842 Rubber-stamped by Maciej.
1844 Eliminate JSLock (it was already disabled, removing the stub implementaion and all
1851 (KJSValueToCFTypeInternal):
1852 (unprotectGlobalObject):
1854 * JSValueWrapper.cpp:
1855 (JSValueWrapper::JSObjectCopyPropertyNames):
1856 (JSValueWrapper::JSObjectCopyProperty):
1857 (JSValueWrapper::JSObjectSetProperty):
1858 (JSValueWrapper::JSObjectCallFunction):
1859 (JSValueWrapper::JSObjectCopyCFValue):
1860 * JavaScriptGlue.cpp:
1865 (JSLockInterpreter):
1866 (JSUnlockInterpreter):
1867 * UserObjectImp.cpp:
1868 (UserObjectImp::callAsFunction):
1870 2008-07-29 Alexey Proskuryakov <ap@webkit.org>
1872 Reviewed by Geoff Garen.
1874 Implement JSContextGroup APIs to make concurrent execution possible for
1875 JavaScriptCore clients.
1880 (getThreadGlobalExecState):
1881 Changed JavaScriptGlue to use a JSGlobalData of its own, now that there is no shared
1884 2008-07-23 Alexey Proskuryakov <ap@webkit.org>
1886 Reviewed by Geoff Garen.
1888 Make JSClassRef work with any context, not just the first one it was used in.
1890 * ForwardingHeaders/wtf/HashMap.h: Added.
1892 2008-07-22 Geoffrey Garen <ggaren@apple.com>
1894 Reviewed by Oliver Hunt and Sam Weinig.
1896 Next step toward putting doubles in registers: Prepare the Register class
1897 and its clients for registers that don't contain JSValue*s.
1899 2008-07-21 Mark Rowe <mrowe@apple.com>
1901 Reviewed by Sam Weinig.
1903 <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
1905 * Configurations/Version.xcconfig:
1908 2008-07-18 Geoffrey Garen <ggaren@apple.com>
1910 Reviewed by Cameron Zwarich.
1914 "CallTypeNative" => "CallTypeHost"
1915 "code" => "byteCode"
1916 "generatedCode" => "generatedByteCode"
1920 (JSUserObject::getCallData):
1922 2008-07-14 Alexey Proskuryakov <ap@webkit.org>
1924 Reviewed by Geoff Garen.
1926 Eliminate per-thread JavaScript global data instance support and make arbitrary
1927 global data/global object combinations possible.
1929 * ForwardingHeaders/wtf/ThreadSpecific.h: Added.
1933 (getThreadGlobalExecState):
1934 Adapt to the new way of asking for shared JSGlobalData.
1936 2008-07-10 Mark Rowe <mrowe@apple.com>
1938 Reviewed by Sam Weinig.
1940 Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
1942 * Configurations/JavaScriptGlue.xcconfig:
1944 2008-07-09 Mark Rowe <mrowe@apple.com>
1946 Reviewed by Geoff Garen.
1948 Don't warn about deprecated functions in production builds.
1950 * Configurations/Base.xcconfig:
1951 * Configurations/DebugRelease.xcconfig:
1953 2008-07-08 Alexey Proskuryakov <ap@webkit.org>
1955 Reviewed by Darin Adler.
1957 <rdar://problem/6058368> REGRESSION: Crash occurs in KJS::Machine after launching
1960 The problem was that JSUserObject::getCallData() was setting call type to native, but
1961 left callData.native.function uninitialized.
1964 (JSUserObject::getCallData): Initialize callData.native.function.
1965 (nativeCallFunction): Call UserObjectImp::callAsFunction().
1967 2008-07-04 Sam Weinig <sam@webkit.org>
1969 Rubber-stamped by Dan Bernstein.
1971 * JSObject.h: Rename the header guard as it now conflicts with the
1972 JSObject in JavaScriptCore.
1974 2008-07-01 Alexey Proskuryakov <ap@webkit.org>
1976 Reviewed by Darin Adler.
1978 Disable JSLock for per-thread contexts.
1980 * ForwardingHeaders/wtf/Locker.h: Added.
1981 * ForwardingHeaders/wtf/Threading.h: Added.
1986 (KJSValueToCFTypeInternal):
1987 (unprotectGlobalObject):
1989 * JSValueWrapper.cpp:
1990 (JSValueWrapper::JSObjectCopyPropertyNames):
1991 (JSValueWrapper::JSObjectCopyProperty):
1992 (JSValueWrapper::JSObjectSetProperty):
1993 (JSValueWrapper::JSObjectCallFunction):
1994 (JSValueWrapper::JSObjectCopyCFValue):
1995 * JavaScriptGlue.cpp:
2000 (JSLockInterpreter):
2001 (JSUnlockInterpreter):
2002 * UserObjectImp.cpp:
2003 (UserObjectImp::callAsFunction):
2004 Pass a parameter (always true) to JSLock and JSLock::DropAllLocks to indicate that JSG
2005 clients always need implicit mutex protection.
2006 Added includes that are now needed.
2008 2008-06-26 Darin Adler <darin@apple.com>
2012 * JSUtils.cpp: Added include of <JavaScriptCore/JSString.h> since jsString
2013 will soon be changed to return a JSString*.
2014 * UserObjectImp.cpp: Ditto.
2016 2008-06-23 Darin Adler <darin@apple.com>
2020 * JSValueWrapper.cpp:
2021 (JSValueWrapper::JSObjectCallFunction): Updated to use getCallData and call instead
2022 of the old callAsFunction.
2024 2008-06-17 Alexey Proskuryakov <ap@webkit.org>
2026 Reviewed by Darin Adler.
2028 Prepare JavaScript heap for being per-thread.
2030 * JSRun.cpp: (JSRun::JSRun): Create JSGlueGlobalObject in a shared JS heap.
2032 * JSUtils.h: Made getThreadGlobalExecState available throughout JSGlue.
2035 (JSObjectKJSValue): Pass an ExecState where now required.
2036 (unprotectGlobalObject):
2037 (initializeGlobalObjectKey):
2038 (getThreadGlobalExecState):
2039 Moved these functions from JSValueWrapper.cpp, as the global exec state is now needed
2040 elsewhere. I'm not quite sure how this relates to the global object from JSRun, but
2041 since the new uses are all for Heap access, there doesn't seem to be any behavior change.
2043 * JavaScriptGlue.cpp:
2044 (JSLockInterpreter): Don't call registerThread explicitly, as JSLock will do that.
2046 * UserObjectImp.cpp: (UserObjectImp::toPrimitive): Pass ExecState* where now required.
2048 2008-06-17 Mark Rowe <mrowe@apple.com>
2050 Reviewed by Darin Adler.
2052 <rdar://problem/5775802> JavaScriptGlue should not force use of GCC 4.0.
2054 * JavaScriptGlue.xcodeproj/project.pbxproj:
2056 2008-06-16 Maciej Stachowiak <mjs@apple.com>
2060 - removed nearly unused types.h and LocalStorageEntry.h headers
2064 2008-06-16 Alexey Proskuryakov <ap@webkit.org>
2066 Reviewed by Geoff Garen.
2068 Make Identifier construction use an explicitly passed IdentifierTable.
2071 (CFStringToIdentifier):
2072 (KJSValueToCFTypeInternal):
2074 * JSValueWrapper.cpp:
2075 (JSValueWrapper::JSObjectCopyPropertyNames):
2076 (JSValueWrapper::JSObjectCopyProperty):
2077 (JSValueWrapper::JSObjectSetProperty):
2078 * UserObjectImp.cpp:
2079 (UserObjectImp::getPropertyNames):
2080 Pass ExecState or JSGlobalData everywhere.
2082 2008-06-15 Darin Adler <darin@apple.com>
2084 - rename KJS::List to KJS::ArgList
2086 * JSValueWrapper.cpp:
2087 (JSValueWrapper::JSObjectCallFunction):
2088 * UserObjectImp.cpp:
2089 (UserObjectImp::callAsFunction):
2092 2008-06-15 Darin Adler <darin@apple.com>
2094 - new names for a few key JavaScriptCore files
2096 * ForwardingHeaders/kjs/JSValue.h: Copied from JavaScriptGlue/ForwardingHeaders/kjs/value.h.
2097 * ForwardingHeaders/kjs/value.h: Removed.
2100 2008-06-03 Darin Adler <darin@apple.com>
2102 - update for JavaScriptCore changes for https://bugs.webkit.org/show_bug.cgi?id=19269
2103 speed up SunSpider by eliminating the toObject call for most get/put/delete
2105 * UserObjectImp.cpp:
2106 (UserObjectImp::userObjectGetter): Removed originalObject argument.
2107 * UserObjectImp.h: Ditto.
2109 2008-06-02 Geoffrey Garen <ggaren@apple.com>
2111 Reviewed by Alexey Proskuryakov.
2113 Removed JSObject::call, since it just called JSObject::callAsFunction.
2115 SunSpider reports no change.
2117 2008-05-28 Geoffrey Garen <ggaren@apple.com>
2119 Reviewed by Oliver Hunt.
2121 Fixed total destruction in Software Update.app.
2123 Updated JavaScriptGlue to honor squirrelfish's new getCallData mechanism for
2124 indicating that an object can be called as a function.
2126 2008-05-10 Maciej Stachowiak <mjs@apple.com>
2130 - JavaScriptGlue part of fix for: "SQUIRRELFISH: function toString broken after calling"
2131 https://bugs.webkit.org/show_bug.cgi?id=18869
2134 (JSRun::Evaluate): Use UString version of eveluate() instead of
2135 the now departed UChar*/length variant; use of the lower-level
2136 version was gratuitous in any case.
2137 (JSRun::CheckSyntax): Ditto for checkSyntax().
2139 2008-04-30 Geoffrey Garen <ggaren@apple.com>
2141 Build fix: supply missing parameter that used to be implicit.
2146 2008-03-30 Geoffrey Garen <ggaren@apple.com>
2148 Reviewed by Oliver Hunt.
2152 * ForwardingHeaders/wtf/UnusedParam.h: Copied from ForwardingHeaders/wtf/OwnPtr.h.
2154 2008-05-12 Alexey Proskuryakov <ap@webkit.org>
2156 Roll out recent threading changes (r32807, r32810, r32819, r32822) to simplify
2157 SquirrelFish merging.
2162 * JSValueWrapper.cpp:
2163 (unprotectGlobalObject):
2164 (initializeGlobalObjectKey):
2165 (getThreadGlobalExecState):
2166 * JavaScriptGlue.cpp:
2168 (JSLockInterpreter):
2169 * UserObjectImp.cpp:
2170 (UserObjectImp::toPrimitive):
2172 2008-05-02 Alexey Proskuryakov <ap@webkit.org>
2174 Reviewed by Darin Adler.
2176 Make JavaScriptGlue and JavaScriptCore API functions implicitly call initializeThreading
2177 for the sake of non-WebKit clients.
2179 * JavaScriptGlue.cpp:
2182 (JSCreateJSArrayFromCFArray):
2183 (JSLockInterpreter):
2184 These are all possible JavaScriptGlue entry points.
2186 2008-05-02 Alexey Proskuryakov <ap@webkit.org>
2188 Reviewed by Geoffrey Garen.
2190 https://bugs.webkit.org/show_bug.cgi?id=18826
2191 Make JavaScript heap per-thread
2193 * JSValueWrapper.cpp:
2195 Moved getThreadGlobalExecState() to JSUtils and made it extern, as ExecState is now needed
2196 for all JS allocations.
2199 (JSObjectKJSValue): Pass ExecState to functions that now need it.
2200 (unprotectGlobalObject): Moved from JSValueWrapper.cpp.
2201 (initializeGlobalObjectKey): Ditto.
2202 (getThreadGlobalExecState): Ditto.
2204 * UserObjectImp.cpp: (UserObjectImp::toPrimitive): Pass ExecState to jsString and jsNumber.
2206 * JavaScriptGlue.cpp:
2207 (JSCollect): Use current thread's heap.
2208 (JSLockInterpreter): Removed JSLock::registerThread(), because a JS heap doesn't need to
2209 know about other threads.
2211 2008-04-25 Alexey Proskuryakov <ap@webkit.org>
2213 Reviewed by Darin Adler.
2215 Fix run-webkit-tests --threading
2216 and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
2217 Proxy server issue in Sunday's Nightly
2219 * UserObjectImp.cpp: Adjusted for the new member added to ClassInfo.
2221 2008-04-25 Mark Rowe <mrowe@apple.com>
2223 Reviewed by Adele Peterson.
2225 <rdar://problem/5891264> Don't install the JavaScriptGlue headers
2227 * JavaScriptGlue.xcodeproj/project.pbxproj:
2229 2008-04-25 Mark Rowe <mrowe@apple.com>
2231 Rubber-stamped by Sam Weinig.
2233 Add some content to an empty ICU header file to prevent verification errors.
2235 * icu/unicode/utf_old.h:
2237 2008-04-02 Mark Rowe <mrowe@apple.com>
2239 Reviewed by Oliver Hunt.
2241 Ensure that debug symbols are generated for x86_64 and ppc64 builds.
2243 * Configurations/Base.xcconfig:
2245 2008-03-20 Maciej Stachowiak <mjs@apple.com>
2249 * ForwardingHeaders/wtf/ListRefPtr.h: Added.
2251 2008-03-01 Mark Rowe <mrowe@apple.com>
2253 Reviewed by Tim Hatcher.
2255 Update Xcode configuration to support building debug and release from the mysterious future.
2257 * Configurations/Base.xcconfig:
2258 * Configurations/DebugRelease.xcconfig:
2260 2008-02-29 Geoffrey Garen <ggaren@apple.com>
2262 Reviewed by David Harrison.
2264 Fixed <rdar://problem/5765063> TOT REGRESSION: Software Update crash in
2265 KJS::Collector::collect() (missing JSLock)
2267 * JSValueWrapper.cpp:
2268 (unprotectGlobalObject): Added missing JSLock.
2270 2008-02-05 Mark Rowe <mrowe@apple.com>
2272 Reviewed by Oliver Hunt.
2274 Update versioning to support the mysterious future.
2276 * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
2278 2008-01-28 Eric Seidel <eric@webkit.org>
2282 Add icu headers to JSG in preparation for depending on ::UChar.
2284 * Configurations/Base.xcconfig:
2285 * ForwardingHeaders/wtf/unicode: Added.
2286 * ForwardingHeaders/wtf/unicode/Unicode.h: Added.
2287 * ForwardingHeaders/wtf/unicode/icu: Added.
2288 * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Added.
2289 * icu: Copied from ../JavaScriptCore/icu.
2291 2007-12-19 Geoffrey Garen <ggaren@apple.com>
2295 * ForwardingHeaders/wtf/VectorTraits.h: Added.
2297 2007-12-10 Timothy Hatcher <timothy@apple.com>
2299 Reviewed by Mark Rowe.
2301 <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
2303 * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
2304 so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
2306 2007-12-04 Geoffrey Garen <ggaren@apple.com>
2308 Reviewed by Darin Adler.
2310 Third step in refactoring JSGlobalObject: Moved data members and data
2311 member access from Interpreter to JSGlobalObject. Replaced JSInterpreter
2312 subclass with JSGlobalObject subclass.
2317 (JSRun::CheckSyntax):
2319 (JSGlueGlobalObject::JSGlueGlobalObject):
2321 (KJSValueToCFTypeInternal):
2322 * JSValueWrapper.cpp:
2323 (getThreadGlobalExecState):
2325 2007-12-02 Geoffrey Garen <ggaren@apple.com>
2327 Reviewed by Eric Seidel.
2329 Updated to match the JavaScriptCore change to move virtual methods from
2330 Interpreter to JSGlobalObject.
2334 * JSValueWrapper.cpp:
2335 (getThreadGlobalExecState):
2336 * JavaScriptGlue.cpp:
2337 (JSRunCopyGlobalObject):
2340 2007-11-30 Geoffrey Garen <ggaren@apple.com>
2342 Reviewed by Beth Dakin.
2344 Modified to follow new JSGlobalObject/Interpreter ownership rules
2349 (JSRun::GetInterpreter):
2351 (JSRun::CheckSyntax):
2353 * JSValueWrapper.cpp:
2354 (unprotectGlobalObject):
2355 (initializeGlobalObjectKey):
2356 (getThreadGlobalExecState):
2358 2007-11-29 Mark Rowe <mrowe@apple.com>
2362 Fix REGRESSION(r27885): Installer hits assertion failure in JavaScriptGlue.
2364 * JSValueWrapper.cpp:
2365 (getThreadGlobalExecState): Set the global object on the Interpreter before using it.
2367 2007-11-27 Anders Carlsson <andersca@apple.com>
2372 (KJSValueToCFTypeInternal):
2373 * JSValueWrapper.cpp:
2374 (JSValueWrapper::JSObjectCopyPropertyNames):
2376 2007-11-21 Mark Rowe <mrowe@apple.com>
2380 Fix JavaScriptGlue to build without warnings using GCC 4.2.
2382 * Configurations/Base.xcconfig:
2385 2007-11-17 Mark Rowe <mrowe@apple.com>
2387 Reviewed by Darin Adler.
2389 Fix: <rdar://problem/5607032> REGRESSION: testapi exits with assertion failure in debug build
2390 <rdar://problem/5440659> JSGlobalContextCreate throws away globalObjectClass's prototype
2391 http://bugs.webkit.org/show_bug.cgi?id=16033
2393 Update for changes in Interpreter method signatures.
2397 2007-11-13 Geoffrey Garen <ggaren@apple.com>
2399 Reviewed by Anders Carlsson.
2401 Renamed Shared to RefCounted.
2403 * ForwardingHeaders/wtf/RefCounted.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/Shared.h.
2404 * ForwardingHeaders/wtf/Shared.h: Removed.
2406 2007-11-13 Geoffrey Garen <ggaren@apple.com>
2408 Reviewed by Sam Weinig.
2410 Moved Shared.h into wtf so it could be used in more places.
2412 * ForwardingHeaders/wtf/Shared.h: Added.
2414 2007-11-08 Mark Rowe <mrowe@apple.com>
2418 * ForwardingHeaders/wtf/MathExtras.h: Copied from WebCore/ForwardingHeaders/wtf/MathExtras.h.
2420 2007-11-05 Geoffrey Garen <ggaren@apple.com>
2424 * ForwardingHeaders/kjs/value.h: Added.
2426 2007-11-03 Sam Weinig <sam@webkit.org>
2430 * UserObjectImp.cpp:
2432 2007-11-03 David D. Kilzer <ddkilzer@webkit.org>
2434 Sort files(...); sections of Xcode project files.
2436 Rubber-stamped by Darin Adler.
2438 * JavaScriptGlue.xcodeproj/project.pbxproj:
2440 2007-10-25 Eric Seidel <eric@webkit.org>
2444 Make JSG build again after JSGlobalObject change.
2448 (JSRun::GlobalObject):
2450 (JSInterpreter::JSInterpreter):
2453 2007-10-11 Mark Rowe <mrowe@apple.com>
2455 Reviewed by Tim Hatcher.
2457 Fix for <rdar://problem/5488678>. Disable debugging symbols in production builds for 10.4
2458 PowerPC to prevent a huge STABS section from being generated.
2460 * Configurations/Base.xcconfig:
2462 2007-10-04 Mark Rowe <mrowe@apple.com>
2466 Switch to default level of debugging symbols to resolve <rdar://problem/5488678>.
2467 The "full" level appears to offer no observable benefits even though the documentation
2468 suggests it be used for dead code stripping. This should also decrease link times.
2470 * Configurations/Base.xcconfig:
2472 2007-09-03 Mark Rowe <mrowe@apple.com>
2474 Reviewed by Tim Hatcher.
2476 <rdar://problem/5452164> Production build with in symbols directory has no debug info
2478 Enable debug symbol generation on all build configurations. Production builds are stripped
2479 of symbols by Xcode during deployment post-processing.
2481 * Configurations/Base.xcconfig:
2482 * JavaScriptGlue.xcodeproj/project.pbxproj:
2484 2007-08-09 Mark Rowe <mrowe@apple.com>
2488 <rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +
2490 * Configurations/Version.xcconfig:
2491 * JavaScriptGlue.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between
2492 Version.xcconfig and Info.plist explicit to Xcode.
2494 2007-07-16 Sam Weinig <sam@webkit.org>
2498 Turn off -Wshorten-64-to-32 warning for 64-bit builds.
2500 * Configurations/Base.xcconfig:
2502 2007-04-27 Mark Rowe <mrowe@apple.com>
2506 * JavaScriptGlue.xcodeproj/project.pbxproj: Improve dependencies in Xcode project
2507 by marking JavaScriptGlue as a dependency of testjsglue.
2509 2007-03-24 Mark Rowe <mrowe@apple.com>
2511 Reviewed by Dave Hyatt.
2513 * JavaScriptGlue.xcodeproj/project.pbxproj: Use GCC 4.0 for testjsglue.
2515 2007-03-24 Mark Rowe <mrowe@apple.com>
2517 Rubber-stamped by Darin Adler.
2519 * Configurations/JavaScriptGlue.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS.
2521 2007-03-19 Andrew Wellington <proton@wiretapped.net>
2525 Really set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
2527 * JavaScriptGlue.xcodeproj/project.pbxproj:
2529 2007-03-18 Andrew Wellington <proton@wiretapped.net>
2531 Reviewed by Mark Rowe
2533 Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
2535 * JavaScriptGlue.xcodeproj/project.pbxproj:
2537 2007-03-17 Timothy Hatcher <timothy@apple.com>
2539 Reviewed by Mark Rowe.
2541 Made Version.xcconfig smarter when building for different configurations.
2542 Now uses the 522+ OpenSource version for Debug and Release, while using the
2543 full 522.4 version for Production builds. The system prefix is also computed
2544 based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.
2546 * Configurations/JavaScriptGlue.xcconfig:
2547 * Configurations/Version.xcconfig:
2549 2007-03-15 Timothy Hatcher <timothy@apple.com>
2553 * Factored out most of our common build settings into .xcconfig files. Anything that was common in
2554 each build configuration was factored out into the shared .xcconfig file.
2555 * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
2556 * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
2557 * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
2559 * Configurations/Base.xcconfig: Added.
2560 * Configurations/DebugRelease.xcconfig: Added.
2561 * Configurations/JavaScriptGlue.xcconfig: Added.
2562 * Configurations/Version.xcconfig: Added.
2564 * JavaScriptGlue.xcodeproj/project.pbxproj:
2566 === Safari-5522.4 ===
2568 2007-03-12 Geoffrey Garen <ggaren@apple.com>
2570 Reviewed by Oliver Hunt.
2572 Updated in light of fix for <rdar://problem/4681051> Installer crashes
2573 in KJS::Collector::markOtherThreadConservatively(KJS::Collector::Thread*)
2574 trying to install iLife 06 using Rosetta on an Intel Machine
2576 * JavaScriptGlue.cpp:
2577 (JSLockInterpreter): Ensure backwards compatibility by calling
2578 registerThread() when explicitly taking the JSLock. (This doesn't happen
2579 automatically anymore.) I doubt this actally matters, but in JavaScriptGlue
2580 territory, that kind of thinking will get you killed.
2582 2007-03-06 Geoffrey Garen <ggaren@apple.com>
2584 Reviewed by Maciej Stachowiak.
2586 Fixed all known crashers exposed by run-webkit-tests --threaded while using
2587 a PAC file (for maximum carnage). See JavaScriptCore ChangeLog for
2591 (JSBase::Release): Lock when deleting, because we may be deleting an object
2592 (like a JSRun) that holds thread-unsafe data.
2595 (CFStringToUString): Don't lock, because our caller locks. Also, locking
2596 inside a function that returns thread-unsafe data by copy will only mask
2599 * JavaScriptGlue.cpp:
2600 (JSRunEvaluate): Added missing JSLock.
2601 (JSRunCheckSyntax): Converted to JSLock.
2602 * JavaScriptGlue.xcodeproj/project.pbxproj:
2604 2007-02-22 Geoffrey Garen <ggaren@apple.com>
2606 Reviewed by Darin Adler.
2608 Fixed <rdar://problem/4942528> Installer.app Stuck "Examining additional
2611 The problem was that JavaScriptGlue held a JSObject in a static pointer
2612 without protecting it from garbage collection.
2614 sUserObjectPrototypeImp = new UserObjectPrototypeImp();
2615 static ProtectedPtr<UserObjectPrototypeImp> protectPrototype; // valiant, brave, but useless
2617 Through an interesting comedy of errors, this object would be collected
2618 and then assigned as the prototype of another object allocated at the
2619 same address, thus becoming its own prototype. (See http://www.ziplo.com/grandpa.htm
2620 for further explanation of this phenomenon.) Hence the infinte loop in
2623 The solution is equally humorous: all of this code was completely useless --
2624 it only served to create an empty object in the prototype chain -- so
2627 * UserObjectImp.cpp:
2628 (UserObjectImp::UserObjectImp):
2631 2007-02-19 Timothy Hatcher <timothy@apple.com>
2635 <rdar://problem/4636301> Deprecate JavaScriptGlue
2637 * JavaScriptGlue.h: adds DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER to everything
2638 * JavaScriptGlue.xcodeproj/project.pbxproj: use -Wno-deprecated-declarations to keep the project building
2639 * config.h: define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER as empty on other systems
2641 2007-02-16 Darin Adler <darin@apple.com>
2645 - fix <rdar://problem/5000216> JavaScriptGlue framework started turning all CFNumbers
2646 into signed 32bit values
2648 Circumstantial evidence seems to indicate that JavaScriptGlue was depending on a bug
2649 in CFNumber where CFNumberIsFloatType was returning true for 64-bit integer values.
2651 * JSUtils.cpp: (JSObjectKJSValue): Removed the call to CFNumberIsFloatType in the
2652 conversion of numeric values, and always use kCFNumberDoubleType, since double is
2653 the internal format of numbers in JavaScriptCore. There's no value to having a
2654 separate code path for integers. There's also no reason to check the return value
2655 from CFNumberGetValue -- if it returns false it still does the best it can to convert
2656 to a double, which is what we want.
2658 * UserObjectImp.cpp: (UserObjectImp::toString): Removed a similar code path that
2659 tried to handle integers separate from double. Instead, always use a double. For
2660 compatibility, use a format without a decimal point when CFNumberIsFloatType returns
2661 false. Also removed a bogus cast to float; the "%f" format string takes a double,
2662 not a float, so all the cast did was cut down on precision.
2664 2007-01-25 Mark Rowe <mrowe@apple.com>
2668 * Info.plist: Update copyright string.
2670 2006-12-19 Timothy Hatcher <timothy@apple.com>
2672 Reviewed by Darin Adler.
2674 <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features
2676 * JavaScriptGlue.xcodeproj/project.pbxproj:
2678 === Safari-521.26 ===
2680 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
2684 Build fix: DWARF and -gfull are incompatible with symbol separation.
2686 * JavaScriptGlue.xcodeproj/project.pbxproj:
2688 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
2692 http://bugs.webkit.org/show_bug.cgi?id=10394
2693 Bug 10394: WebKit Release and Production configurations should enable dead code stripping
2695 * JavaScriptGlue.xcodeproj/project.pbxproj:
2697 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
2701 http://bugs.webkit.org/show_bug.cgi?id=10384
2702 Bug 10384: Switch to DWARF for Release configuration
2704 * JavaScriptGlue.xcodeproj/project.pbxproj:
2706 2006-08-04 Sam Weinig <sam.weinig@gmail.com>
2708 Reviewed by Darin Adler.
2710 - patch for http://bugs.webkit.org/show_bug.cgi?id=10192
2711 Make WebCore (and friends) compile with -Wshorten-64-to-32
2713 * Adds -Wshorten-64-to-32 flag to Xcode project.
2715 * JavaScriptGlue.xcodeproj/project.pbxproj:
2717 2006-08-03 Sam Weinig <sam.weinig@gmail.com>
2719 Reviewed by Darin Adler.
2721 - patch for http://bugs.webkit.org/show_bug.cgi?id=10176
2722 Make WebCore compile with -Wundef
2724 * Adds -Wundef flag to Xcode project
2726 * JavaScriptGlue.xcodeproj/project.pbxproj:
2728 2006-07-29 Sam Weinig <sam.weinig@gmail.com>
2730 Reviewed by Darin Adler.
2732 - patch for http://bugs.webkit.org/show_bug.cgi?id=10080
2733 Adopt pedantic changes from the Unity project to improve
2734 cross-compiler compatibility
2737 * Turning on gcc warning for missing newline at the end of a source file
2738 (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
2740 * JavaScriptGlue.xcodeproj/project.pbxproj:
2742 === Safari-521.19 ===
2744 2006-07-19 Geoffrey Garen <ggaren@apple.com>
2746 Fixed by Darin & Maciej, reviewed by me.
2748 - Fixed <rdar://problem/4638934> Leopard 9A227: Installer crashes right
2749 after LCA and while preparing Installation
2751 Compile release/production with NDEBUG set, to ensure binary compatibility
2752 between JavaScriptGlue and JavaScriptCore. In debug builds, JavaScriptCore
2753 includes an extra debug data member in HashSet.
2755 * JavaScriptGlue.xcodeproj/project.pbxproj:
2757 === Safari-521.18 ===
2759 2006-07-15 Maciej Stachowiak <mjs@apple.com>
2761 Reviewed by Darin Adler.
2763 - switch property lists to be vector+set of Identifiers instead of list of References
2766 (KJSValueToCFTypeInternal): updated for JSC SPI changes
2767 * JSValueWrapper.cpp:
2768 (JSValueWrapper::JSObjectCopyPropertyNames): ditto
2769 * UserObjectImp.cpp:
2770 (UserObjectImp::getPropertyNames): ditto
2773 === Safari-521.17 ===
2775 2006-07-14 Geoffrey Garen <ggaren@apple.com>
2779 - Updated JSInterpreter to work with Interpreter ref-counting in JavaScriptCore.
2781 (JSInterpreter::JSInterpreter::~JSInterpreter): Now protected to catch
2784 2006-07-12 Anders Carlsson <acarlsson@apple.com>
2789 (KJSValueToCFTypeInternal):
2790 * JSValueWrapper.cpp:
2791 (JSValueWrapper::JSObjectCopyPropertyNames):
2792 * UserObjectImp.cpp:
2793 (UserObjectImp::getPropertyList):
2795 === Safari-521.15 ===
2797 2006-07-07 Geoffrey Garen <ggaren@apple.com>
2802 (KJSValueToCFTypeInternal):
2803 * JSValueWrapper.cpp:
2804 (JSValueWrapper::JSObjectCopyPropertyNames):
2806 2006-07-03 Geoffrey Garen <ggaren@apple.com>
2811 (JSRun::CheckSyntax): Updated to use new checkSyntax syntax in JSC.
2812 * JavaScriptGlue.xcodeproj/project.pbxproj:
2814 === Safari-521.14 ===
2816 2006-06-28 Timothy Hatcher <timothy@apple.com>
2818 Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
2820 * JavaScriptGlue.xcodeproj/project.pbxproj:
2822 2006-06-24 David Kilzer <ddkilzer@kilzer.net>
2824 Reviewed by Timothy.
2826 * Info.plist: Fixed copyright to include 2003-2006.
2828 === JavaScriptGlue-521.13 ===
2830 2006-06-20 Geoffrey Garen <ggaren@apple.com>
2834 - Required for JS API: Rename propList to getPropertyList and have it
2835 take its target property list by reference so that subclasses can
2836 add properties to the list before calling through to their superclasses.
2839 (KJSValueToCFTypeInternal):
2840 * JSValueWrapper.cpp:
2841 (JSValueWrapper::JSObjectCopyPropertyNames):
2842 * UserObjectImp.cpp:
2843 (UserObjectImp::getPropertyList):
2846 2006-06-15 Timothy Hatcher <timothy@apple.com>
2848 Reviewed by Geoff and Darin.
2850 Prefer the DWARF debugging symbols format for use in Xcode 2.3.
2852 * JavaScriptGlue.xcodeproj/project.pbxproj:
2854 2006-06-12 Geoffrey Garen <ggaren@apple.com>
2856 Reviewed by TimO, Maciej.
2858 - JSGlue part of merging InterpreterImp into Interpreter.
2860 Since there's now a kjs forwarding header, I moved all forwarding
2861 headers into a "ForwardingHeaders" directory, like in WebCore.
2863 * ForwardingHeaders: Added.
2864 * ForwardingHeaders/kjs: Added.
2865 * ForwardingHeaders/kjs/ExecState.h: Added.
2866 * ForwardingHeaders/wtf: Added.
2867 * JavaScriptGlue.xcodeproj/project.pbxproj:
2870 * wtf/AlwaysInline.h: Removed.
2871 * wtf/Assertions.h: Removed.
2872 * wtf/FastMalloc.h: Removed.
2873 * wtf/Forward.h: Removed.
2874 * wtf/HashCountedSet.h: Removed.
2875 * wtf/HashSet.h: Removed.
2876 * wtf/Noncopyable.h: Removed.
2877 * wtf/OwnArrayPtr.h: Removed.
2878 * wtf/OwnPtr.h: Removed.
2879 * wtf/PassRefPtr.h: Removed.
2880 * wtf/Platform.h: Removed.
2881 * wtf/RefPtr.h: Removed.
2882 * wtf/Vector.h: Removed.
2884 === JavaScriptGlue-521.10 ===
2886 2006-05-09 Maciej Stachowiak <mjs@apple.com>
2888 Rubber stamped by Anders.
2890 - renamed kxmlcore to wtf
2897 * kxmlcore: Removed.
2898 * kxmlcore/AlwaysInline.h: Removed.
2899 * kxmlcore/Assertions.h: Removed.
2900 * kxmlcore/FastMalloc.h: Removed.
2901 * kxmlcore/Forward.h: Removed.
2902 * kxmlcore/HashCountedSet.h: Removed.
2903 * kxmlcore/HashSet.h: Removed.
2904 * kxmlcore/Noncopyable.h: Removed.
2905 * kxmlcore/OwnArrayPtr.h: Removed.
2906 * kxmlcore/OwnPtr.h: Removed.
2907 * kxmlcore/PassRefPtr.h: Removed.
2908 * kxmlcore/Platform.h: Removed.
2909 * kxmlcore/RefPtr.h: Removed.
2910 * kxmlcore/Vector.h: Removed.
2913 2006-04-11 Darin Adler <darin@apple.com>
2915 - try to fix Windows build
2917 * kxmlcore/HashForward.h: Removed.
2919 2006-04-10 Darin Adler <darin@apple.com>
2921 Rubber-stamped by John Sullivan.
2923 - added forwarding headers for the new Forward.h and HashForward.h files
2925 * kxmlcore/Forward.h: Added.
2926 * kxmlcore/HashForward.h: Added.
2928 2006-04-04 Timothy Hatcher <timothy@apple.com>
2930 Reviewed by Darin Adler.
2932 The Debug and Release frameworks are now built with install paths relative to the build products directory.
2933 This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore.
2935 * JavaScriptGlue.xcodeproj/project.pbxproj:
2937 2006-04-02 Eric Seidel <eseidel@apple.com>
2939 Reviewed by andersca.
2941 Add missing forwarding header.
2943 * kxmlcore/Vector.h: Added.
2945 2006-03-31 Geoffrey Garen <ggaren@apple.com>
2947 Reviewed by Darin Adler.
2949 - Fixed <rdar://problem/4430836> JavaScript patch crashing Quartz
2952 JSValueWrappers used to hold on to the ExecState that pertained at
2953 the time of their creation. Since ExecStates are transient, that
2954 design was totally bogus, and it would crash once the ExecState had
2957 Unfortunately, there's no clean solution to this problem, since
2958 the JSGlue API has no notion of state. The solution here is to use
2959 a shared, global ExecState for the purpose of JSGlue calls. Given
2960 the pre-existing limitations in the JSGlue API, this design
2961 shouldn't actually introduce any new limitations (see comments in
2962 JSValueWrapper.cpp).
2964 I tested with Quartz Composer and PAC files, neither of which are
2968 (KJSValueToJSObject):
2969 * JSValueWrapper.cpp:
2970 (JSValueWrapper::JSValueWrapper):
2971 (JSValueWrapper::GetValue):
2972 (getProcessGlobalExecState):
2973 (JSValueWrapper::JSObjectCopyPropertyNames):
2974 (JSValueWrapper::JSObjectCopyProperty):
2975 (JSValueWrapper::JSObjectSetProperty):
2976 (JSValueWrapper::JSObjectCallFunction):
2977 (JSValueWrapper::JSObjectCopyCFValue):
2980 Also added a test harness file. It was helpful while I was testing,
2981 and may come in handy in the future:
2983 * JavaScriptGlue.xcodeproj/project.pbxproj:
2984 testjsglue.cpp: Added.
2986 2006-03-28 Darin Adler <darin@apple.com>
2990 - added a build step that checks for init routines
2992 * JavaScriptGlue.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
2993 check-for-global-initializers script.
2995 2006-03-02 Maciej Stachowiak <mjs@apple.com>
2997 Not reviewed, but I noticed these trivial extra changes were needed to avoid
2998 breaking the build with my reviewed patch for:
3000 http://bugs.webkit.org/show_bug.cgi?id=7387
3002 Add config.h, includes of it, and Platform.h forwarding header.
3008 * JSValueWrapper.cpp:
3009 * JavaScriptGlue.cpp:
3010 * UserObjectImp.cpp:
3012 * kxmlcore/Platform.h: Added.
3014 === JavaScriptGlue-521.7 ===
3016 2006-02-10 Geoffrey Garen <ggaren@apple.com>
3022 * UserObjectImp.cpp:
3023 (UserObjectImp::toPrimitive):
3026 2006-02-03 Timothy Hatcher <timothy@apple.com>
3030 Renamed configuration names to Debug, Release and Production.
3032 * JavaScriptGlue.xcodeproj/project.pbxproj:
3034 2006-02-01 Darin Adler <darin@apple.com>
3036 - added some forwarding headers to make new JavaScriptCore changes work
3038 * kxmlcore/Assertions.h: Added.
3039 * kxmlcore/Noncopyable.h: Added.
3040 * kxmlcore/OwnPtr.h: Added.
3041 * kxmlcore/OwnArrayPtr.h: Added.
3043 2006-01-16 Timothy Hatcher <timothy@apple.com>
3045 Adding the license header to all files so we can
3046 move JavaScriptGlue into the open source repository.
3049 * JSBase.cpp: license header added.
3051 * JSObject.cpp: ditto.
3052 * JSObject.h: ditto.
3055 * JSUtils.cpp: ditto.
3057 * JSValueWrapper.cpp: ditto.
3058 * JSValueWrapper.h: ditto.
3059 * JavaScriptGlue.cpp: ditto.
3060 * JavaScriptGlue.h: ditto.
3061 * UserObjectImp.cpp: ditto.
3062 * UserObjectImp.h: ditto.
3064 2005-12-21 Timothy Hatcher <timothy@apple.com>
3066 * JavaScriptGlue.xcodeproj/project.pbxproj:
3067 Set tab width to 8, indent width to 4 and uses tabs to false per file.
3069 2005-12-19 Darin Adler <darin@apple.com>
3071 Reviewed by Geoff Garen and Eric Seidel.
3073 - fix http://bugs.webkit.org/show_bug.cgi?id=4923
3074 stop using <ostream> in WebCore, eliminating the <cmath> troubles it causes
3076 * kxmlcore/AlwaysInline.h: Added.
3078 2005-12-15 Darin Adler <darin@apple.com>
3082 * JSRun.cpp: (JSRun::Evaluate): Updated for change to Interpreter::evaluate.
3084 2005-12-15 Darin Adler <darin@apple.com>
3086 Reviewed by Tim Hatcher.
3088 * JavaScriptGlue.xcodeproj/project.pbxproj: Removed some redundant build
3089 settings, turned off prebinding explicitly for our Development and
3090 Deployment builds, remove .exp file from sources. All "clean-up".
3092 === Safari-521~5 ===
3094 2005-12-13 Geoffrey Garen <ggaren@apple.com>
3096 - Fixed build after Anders's last checkin to JavaScriptCore.
3100 * UserObjectImp.cpp:
3101 (UserObjectImp::userObjectGetter): Updated to reflect new argument that
3102 getters take (unused here).
3105 2005-12-13 Maciej Stachowiak <mjs@apple.com>
3109 - added forwarding header for HashCountedSet
3111 * kxmlcore/HashCountedSet.h: Added.
3113 2005-12-10 Darin Adler <darin@apple.com>
3115 Rubber stamped by Maciej.
3117 - updated for KJS class renaming
3119 * many files and functions
3121 2005-12-10 Darin Adler <darin@apple.com>
3125 - eliminated the old Undefined(), Null(), Boolean(), Number(), and String()
3127 Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString().
3131 * UserObjectImp.cpp:
3132 (UserObjectImp::callAsFunction):
3133 (UserObjectImp::toPrimitive):
3135 2005-12-05 Maciej Stachowiak <mjs@apple.com>
3137 - added new forwarding headers
3139 * kxmlcore/PassRefPtr.h: Added.
3140 * kxmlcore/RefPtr.h: Added.
3142 2005-12-05 Maciej Stachowiak <mjs@apple.com>
3144 * kxmlcore/PassRefPtr.h: Added.
3146 2005-11-26 Maciej Stachowiak <mjs@apple.com>
3148 Rubber stamped by Eric.
3150 - renamed InterpreterLock to JSLock
3153 (CFStringToUString):
3155 (KJSValueToCFTypeInternal):
3156 * JSValueWrapper.cpp:
3157 (JSValueWrapper::JSObjectCopyPropertyNames):
3158 (JSValueWrapper::JSObjectCopyProperty):
3159 (JSValueWrapper::JSObjectSetProperty):
3160 (JSValueWrapper::JSObjectCallFunction):
3161 (JSValueWrapper::JSObjectCopyCFValue):
3162 * JavaScriptGlue.cpp:
3165 (JSLockInterpreter):
3166 (JSUnlockInterpreter):
3167 * UserObjectImp.cpp:
3168 (UserObjectImp::callAsFunction):
3170 2005-11-16 Maciej Stachowiak <mjs@apple.com>
3174 Updated to use new API to drop all locks.
3176 * JavaScriptGlue.cpp:
3177 (JSLockInterpreter):
3178 (JSUnlockInterpreter):
3179 * UserObjectImp.cpp:
3180 (UserObjectImp::callAsFunction):
3182 2005-11-14 Geoffrey Garen <ggaren@apple.com>
3186 - Part of the fix for <rdar://problem/4342216> Installer crash in
3187 KJS::ValueImp::marked() when garbage collector runs inside call to
3188 ConstantValues::init()
3190 Added locking in JSRunCreate, since JSRun::JSRun constructs an object.
3192 * JavaScriptGlue.cpp:
3195 2005-11-10 Geoffrey Garen <ggaren@apple.com>
3199 - Fixed <rdar://problem/4334445> installer crashed on my
3200 dual g4 450Mhz after clicking language
3202 - Reversed backwards NULL check.
3203 - Inserted guards against NULL fJSUserObject data member.
3204 - Cleaned up some style.
3207 (KJSValueToCFTypeInternal):
3208 * UserObjectImp.cpp:
3209 (UserObjectImp::~UserObjectImp):
3210 (UserObjectImp::callAsFunction):
3211 (UserObjectImp::userObjectGetter):
3212 (UserObjectImp::getOwnPropertySlot):
3213 (UserObjectImp::put):
3214 (UserObjectImp::mark):
3216 2005-11-04 Timothy Hatcher <timothy@apple.com>
3218 Reviewed by Darin Adler.
3220 * JavaScriptGlue.xcodeproj/project.pbxproj:
3221 Fixed the FRAMEWORK_SEARCH_PATHS to look in the WebKit
3222 Frameworks for the Default config.
3224 2005-11-03 Timothy Hatcher <timothy@apple.com>
3226 Reviewed by Darin and Vicki.
3228 * JavaScriptGlue.xcodeproj/project.pbxproj:
3229 Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
3230 $(NEXT_ROOT) in a few spots to make build-root work.
3232 2005-11-01 Maciej Stachowiak <mjs@apple.com>
3236 <rdar://problem/4324107> get JavaScriptGlue working with TOT JavaScriptCore again
3238 - reverted all this stuff to use ReferenceList instead of IdentifierSequencedSet
3241 (KJSValueToCFTypeInternal):
3242 * JSValueWrapper.cpp:
3243 (JSValueWrapper::JSObjectCopyPropertyNames):
3244 * UserObjectImp.cpp:
3245 (UserObjectImp::propList):
3248 2005-10-11 Timothy Hatcher <timothy@apple.com>
3250 Setup the proper Framework search path for the Default config.
3251 Prepping for a TOT submission and build by B&I.
3253 * JavaScriptGlue.xcodeproj/project.pbxproj:
3255 2005-10-10 Darin Adler <darin@apple.com>
3259 - converted tabs to spaces, NULL to 0, added some (void), got rid of __ prefixes
3260 in headers (reserved for compiler/library)
3271 * JSValueWrapper.cpp:
3273 * JavaScriptGlue.cpp:
3275 * UserObjectImp.cpp:
3278 2005-10-10 Darin Adler <darin@apple.com>
3280 * .cvsignore: Added. Ignore Makefile.in and Makefile.
3282 2005-10-07 Timothy Hatcher <timothy@apple.com>
3286 Build fix, needed to disable RTTI. Upgraded to a native target.
3288 * JavaScriptGlue.xcodeproj/project.pbxproj:
3291 2005-10-05 Maciej Stachowiak <mjs@apple.com>
3293 Reviewed by Eric and Darin.
3295 <rdar://problem/4260506> Port JavaScriptGlue to TOT JavaScriptCore
3299 (JSRun::GlobalObject):
3301 (JSInterpreter::JSInterpreter):
3303 (KJSValueToJSObject):
3305 (KJSValueToCFTypeInternal):
3308 * JSValueWrapper.cpp:
3309 (JSValueWrapper::JSValueWrapper):
3310 (JSValueWrapper::GetValue):
3311 (JSValueWrapper::JSObjectCopyPropertyNames):
3312 (JSValueWrapper::JSObjectCopyProperty):
3313 (JSValueWrapper::JSObjectSetProperty):
3314 (JSValueWrapper::JSObjectCallFunction):
3315 (JSValueWrapper::JSObjectMark):
3317 * JavaScriptGlue.cpp:
3318 (JSRunCopyGlobalObject):
3319 * JavaScriptGlue.xcodeproj/project.pbxproj:
3320 * Makefile.am: Added.
3321 * UserObjectImp.cpp:
3322 (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
3323 (UserObjectImp::UserObjectImp):
3324 (UserObjectImp::callAsFunction):
3325 (UserObjectImp::getPropertyNames):
3326 (UserObjectImp::userObjectGetter):
3327 (UserObjectImp::getOwnPropertySlot):
3328 (UserObjectImp::put):
3329 (UserObjectImp::toPrimitive):
3330 (UserObjectImp::mark):
3332 * kxmlcore/FastMalloc.h: Added.
3333 * kxmlcore/HashSet.h: Added.
3335 2005-09-14 Maciej Stachowiak <mjs@apple.com>
3339 - fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
3341 Make sure to lock using the InterpreterLock class in all places that need it
3342 (including anything that uses the collector, the parser, the protect count hash table,
3343 and anything that allocates via fast_malloc).
3346 (CFStringToUString):
3348 (KJSValueToCFTypeInternal):
3350 * JSValueWrapper.cpp:
3351 (JSValueWrapper::JSObjectCopyPropertyNames):
3352 (JSValueWrapper::JSObjectCopyProperty):
3353 (JSValueWrapper::JSObjectSetProperty):
3354 (JSValueWrapper::JSObjectCallFunction):
3355 (JSValueWrapper::JSObjectCopyCFValue):
3356 * JavaScriptGlue.cpp:
3359 2005-09-27 Adele Peterson <adele@apple.com>
3363 <rdar://problem/4223297> JavaScriptGlue: Submit 64-bit compatible versions of your API and SPIs by September 15
3365 * JavaScriptGlue.h: Changed UInt32 to CFTypeID for JSTypeID
3367 2005-09-06 Geoffrey Garen <ggaren@apple.com>
3369 -upgraded project files to XCode 2.1
3371 * JavaScriptGlue.pbproj/project.pbxproj: Removed.
3372 * JavaScriptGlue.xcodeproj/.cvsignore: Added.
3373 * JavaScriptGlue.xcodeproj/project.pbxproj: Added.
3375 2005-09-01 Maciej Stachowiak <mjs@apple.com>
3377 Rubber stamped by hyatt.
3379 - initial import of JavaScriptGlue into our repository
3381 * English.lproj/InfoPlist.strings: Added.
3382 * JSBase.cpp: Added.
3387 (JSBase::RetainCount):
3388 (JSBase::GetTypeID):
3389 (JSBase::CopyDescription):
3392 * JSObject.cpp: Added.
3393 (JSUserObject::JSUserObject):
3394 (JSUserObject::~JSUserObject):
3395 (JSUserObject::CopyPropertyNames):
3396 (JSUserObject::CopyProperty):
3397 (JSUserObject::SetProperty):
3398 (JSUserObject::ImplementsCall):
3399 (JSUserObject::CallFunction):
3400 (JSUserObject::CopyCFValue):
3401 (JSUserObject::Equal):
3402 (JSUserObject::Mark):
3403 (JSUserObject::GetData):
3404 * JSObject.h: Added.
3405 (JSUserObject::DataType):
3411 (JSRun::GlobalObject):
3412 (JSRun::GetInterpreter):
3414 (JSRun::CheckSyntax):
3416 (JSInterpreter::JSInterpreter):
3417 (JSInterpreter::JSInterpreter::~JSInterpreter):
3418 (JSInterpreter::Flags):
3419 * JSUtils.cpp: Added.
3420 (CFStringToUString):
3421 (UStringToCFString):
3422 (CFStringToIdentifier):
3423 (IdentifierToCFString):
3424 (KJSValueToJSObject):
3426 (KJSValueToCFTypeInternal):
3432 * JSValueWrapper.cpp: Added.
3433 (JSValueWrapper::JSValueWrapper):
3434 (JSValueWrapper::~JSValueWrapper):
3435 (JSValueWrapper::GetValue):
3436 (JSValueWrapper::GetExecState):
3437 (JSValueWrapper::GetJSObectCallBacks):
3438 (JSValueWrapper::JSObjectDispose):
3439 (JSValueWrapper::JSObjectCopyPropertyNames):
3440 (JSValueWrapper::JSObjectCopyProperty):
3441 (JSValueWrapper::JSObjectSetProperty):
3442 (JSValueWrapper::JSObjectCallFunction):
3443 (JSValueWrapper::JSObjectCopyCFValue):
3444 (JSValueWrapper::JSObjectMark):
3445 * JSValueWrapper.h: Added.
3446 * JavaScriptGlue.cpp: Added.
3451 (JSCopyDescription):
3456 (JSObjectCreateInternal):
3457 (JSObjectCopyCFValue):
3459 (JSObjectCopyProperty):
3460 (JSObjectSetProperty):
3461 (JSObjectCallFunction):
3464 (JSRunCopyGlobalObject):
3468 (JSTypeGetCFArrayCallBacks):
3471 (JSObjectCreateWithCFType):
3472 (CFJSObjectDispose):
3473 (JSObjectCopyPropertyNames):
3474 (CFJSObjectCopyProperty):
3475 (CFJSObjectSetProperty):
3476 (CFJSObjectCopyCFValue):
3478 (CFJSObjectCopyPropertyNames):
3479 (JSCreateCFArrayFromJSArray):
3480 (JSCreateJSArrayFromCFArray):
3481 (JSLockInterpreter):
3482 (JSUnlockInterpreter):
3483 * JavaScriptGlue.exp: Added.
3484 * JavaScriptGlue.h: Added.
3485 * JavaScriptGlue.pbproj/project.pbxproj: Added.
3486 * UserObjectImp.cpp: Added.
3487 (UserObjectPrototypeImp::UserObjectPrototypeImp):
3488 (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
3489 (UserObjectImp::UserObjectImp):
3490 (UserObjectImp::~UserObjectImp):
3491 (UserObjectImp::classInfo):
3492 (UserObjectImp::implementsCall):
3493 (UserObjectImp::call):
3494 (UserObjectImp::propList):
3495 (UserObjectImp::hasProperty):
3496 (UserObjectImp::get):
3497 (UserObjectImp::put):
3498 (UserObjectImp::GetJSUserObject):
3499 (UserObjectImp::toPrimitive):
3500 (UserObjectImp::toBoolean):
3501 (UserObjectImp::toNumber):
3502 (UserObjectImp::toString):
3503 (UserObjectImp::mark):
3504 * UserObjectImp.h: Added.