1 2011-09-14 Mark Hahnenberg <mhahnenberg@apple.com>
3 Unzip initialization lists and constructors in JSCell hierarchy (6/7)
4 https://bugs.webkit.org/show_bug.cgi?id=67692
6 Reviewed by Geoffrey Garen.
8 Completed the sixth level of the refactoring to add finishCreation()
9 methods to all classes within the JSCell hierarchy with non-trivial
12 This primarily consists of pushing the calls to finishCreation() down
13 into the constructors of the subclasses of the fifth level of the hierarchy
14 as well as pulling the finishCreation() calls out into the class's corresponding
15 create() method if it has one. Doing both simultaneously allows us to
16 maintain the invariant that the finishCreation() method chain is called exactly
17 once during the creation of an object, since calling it any other number of
18 times (0, 2, or more) will cause an assertion failure.
21 (JSGlueGlobalObject::JSGlueGlobalObject):
23 (JSGlueGlobalObject::create):
25 2011-09-13 Anders Carlsson <andersca@apple.com>
27 Disable C++ exceptions when building with clang
28 https://bugs.webkit.org/show_bug.cgi?id=68031
29 <rdar://problem/9556880>
31 Reviewed by Mark Rowe.
33 * Configurations/Base.xcconfig:
35 2011-09-09 Oliver Hunt <oliver@apple.com>
37 Remove support for anonymous storage from jsobjects
38 https://bugs.webkit.org/show_bug.cgi?id=67881
40 Reviewed by Sam Weinig.
42 Don't need an anonymous slot count anymore
45 (UserObjectImp::createStructure):
47 2011-08-18 Filip Pizlo <fpizlo@apple.com>
49 The executable allocator makes it difficult to free individual
50 chunks of executable memory
51 https://bugs.webkit.org/show_bug.cgi?id=66363
53 Reviewed by Oliver Hunt.
55 Introduced a best-fit, balanced-tree based allocator. The allocator
56 required a balanced tree that does not allocate memory and that
57 permits the removal of individual nodes directly (as opposed to by
58 key); neither AVLTree nor WebCore's PODRedBlackTree supported this.
59 Changed all references to executable code to use a reference counted
62 * ForwardingHeaders/wtf/MetaAllocatorHandle.h: Added.
64 2011-09-09 Mark Hahnenberg <mhahnenberg@apple.com>
66 Unzip initialization lists and constructors in JSCell hierarchy (5/7)
67 https://bugs.webkit.org/show_bug.cgi?id=67420
69 Reviewed by Geoffrey Garen.
71 Completed the fifth level of the refactoring to add finishCreation()
72 methods to all classes within the JSCell hierarchy with non-trivial
75 This primarily consists of pushing the calls to finishCreation() down
76 into the constructors of the subclasses of the second level of the hierarchy
77 as well as pulling the finishCreation() calls out into the class's corresponding
78 create() method if it has one. Doing both simultaneously allows us to
79 maintain the invariant that the finishCreation() method chain is called exactly
80 once during the creation of an object, since calling it any other number of
81 times (0, 2, or more) will cause an assertion failure.
84 (JSGlueGlobalObject::JSGlueGlobalObject):
86 2011-09-08 Sam Weinig <sam@webkit.org>
88 Remove the Completion object from JSC, I have never liked it
89 https://bugs.webkit.org/show_bug.cgi?id=67755
91 Reviewed by Gavin Barraclough.
100 2011-09-07 Sheriff Bot <webkit.review.bot@gmail.com>
102 Unreviewed, rolling out r94627 and r94632.
103 http://trac.webkit.org/changeset/94627
104 http://trac.webkit.org/changeset/94632
105 https://bugs.webkit.org/show_bug.cgi?id=67698
107 It broke tests on GTK and Qt (Requested by Ossy on #webkit).
110 (JSGlueGlobalObject::JSGlueGlobalObject):
112 2011-09-06 Mark Hahnenberg <mhahnenberg@apple.com>
114 Unzip initialization lists and constructors in JSCell hierarchy (5/7)
115 https://bugs.webkit.org/show_bug.cgi?id=67420
117 Reviewed by Geoffrey Garen.
119 Completed the fifth level of the refactoring to add finishCreation()
120 methods to all classes within the JSCell hierarchy with non-trivial
123 This primarily consists of pushing the calls to finishCreation() down
124 into the constructors of the subclasses of the second level of the hierarchy
125 as well as pulling the finishCreation() calls out into the class's corresponding
126 create() method if it has one. Doing both simultaneously allows us to
127 maintain the invariant that the finishCreation() method chain is called exactly
128 once during the creation of an object, since calling it any other number of
129 times (0, 2, or more) will cause an assertion failure.
132 (JSGlueGlobalObject::JSGlueGlobalObject):
134 2011-09-05 Oliver Hunt <oliver@apple.com>
136 An object's structure should reference the global object responsible for its creation
137 https://bugs.webkit.org/show_bug.cgi?id=67624
139 Reviewed by Gavin Barraclough.
141 Update for Structure::create() requiring a global object.
144 (JSGlueGlobalObject::create):
146 (UserObjectImp::createStructure):
148 2011-09-01 Mark Hahnenberg <mhahnenberg@apple.com>
150 Unzip initialization lists and constructors in JSCell hierarchy (4/7)
151 https://bugs.webkit.org/show_bug.cgi?id=67174
153 Reviewed by Oliver Hunt.
155 Completed the fourth level of the refactoring to add finishCreation()
156 methods to all classes within the JSCell hierarchy with non-trivial
159 This primarily consists of pushing the calls to finishCreation() down
160 into the constructors of the subclasses of the second level of the hierarchy
161 as well as pulling the finishCreation() calls out into the class's corresponding
162 create() method if it has one. Doing both simultaneously allows us to
163 maintain the invariant that the finishCreation() method chain is called exactly
164 once during the creation of an object, since calling it any other number of
165 times (0, 2, or more) will cause an assertion failure.
168 (UserObjectImp::UserObjectImp):
170 (UserObjectImp::create):
172 2011-08-29 Mark Hahnenberg <mhahnenberg@apple.com>
174 Unzip initialization lists and constructors in JSCell hierarchy (3/7)
175 https://bugs.webkit.org/show_bug.cgi?id=67064
177 Reviewed by Darin Adler.
179 Completed the third level of the refactoring to add finishCreation()
180 methods to all classes within the JSCell hierarchy with non-trivial
183 This primarily consists of pushing the calls to finishCreation() down
184 into the constructors of the subclasses of the second level of the hierarchy
185 as well as pulling the finishCreation() calls out into the class's corresponding
186 create() method if it has one. Doing both simultaneously allows us to
187 maintain the invariant that the finishCreation() method chain is called exactly
188 once during the creation of an object, since calling it any other number of
189 times (0, 2, or more) will cause an assertion failure.
192 (UserObjectImp::UserObjectImp):
194 2011-08-15 Mark Hahnenberg <mhahnenberg@apple.com>
196 Refactor JS objects to allocate in static create methods rather than constructors
197 https://bugs.webkit.org/show_bug.cgi?id=65347
199 Reviewed by Geoffrey Garen.
201 Removed all calls to deprecatedGetDOMObject from initialization lists as part of a
202 larger refactoring to get rid of all allocation during initialization.
205 (JSGlueGlobalObject::JSGlueGlobalObject):
207 (JSGlueGlobalObject::create):
209 2011-08-12 Mark Rowe <mrowe@apple.com>
211 Be more forward-looking in the choice of compiler.
213 Rubber-stamped by Jon Honeycutt.
215 * Configurations/CompilerVersion.xcconfig:
217 2011-08-12 Sam Weinig <sam@webkit.org>
219 Move compiler specific macros to their own header
220 https://bugs.webkit.org/show_bug.cgi?id=66119
222 Reviewed by Anders Carlsson.
224 * ForwardingHeaders/wtf/Compiler.h: Added.
226 2011-08-09 Mark Hahnenberg <mhahnenberg@apple.com>
228 Add ParentClass typedef in all JSC classes
229 https://bugs.webkit.org/show_bug.cgi?id=65731
231 Reviewed by Oliver Hunt.
233 Just added the Base typedefs in all the classes that are a subclass of JSCell
234 to point at their parent classes. This is a change to support future changes to the way
235 constructors and destructors are implemented in JS objects, among other things.
240 2011-08-04 Mark Rowe <mrowe@apple.com>
242 Future-proof Xcode configuration settings.
244 * Configurations/Base.xcconfig:
245 * Configurations/CompilerVersion.xcconfig:
246 * Configurations/DebugRelease.xcconfig:
247 * Configurations/Version.xcconfig:
249 2011-08-01 David Levin <levin@chromium.org>
251 Add asserts to RefCounted to make sure ref/deref happens on the right thread.
252 https://bugs.webkit.org/show_bug.cgi?id=31639
254 Reviewed by Dmitry Titov.
256 * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Added.
258 2011-07-27 Mark Hahnenberg <mhahnenberg@apple.com>
260 Remove operator new from JSCell
261 https://bugs.webkit.org/show_bug.cgi?id=64999
263 Reviewed by Oliver Hunt.
265 Removed the implementation of operator new in JSCell, so any further uses
266 will not successfully link. Also removed any remaining uses of operator new.
271 (JSGlueGlobalObject::create):
274 (getThreadGlobalObject):
276 (UserObjectImp::create):
278 2011-07-01 Jungshik Shin <jshin@chromium.org>
280 Reviewed by Alexey Proskuryakov.
282 Add uscript.h to icu/unicode to get JavaScriptGlue get built. The same
283 file was added to JavaScriptCore/icu/unicode.
285 http://bugs.webkit.org/show_bug.cgi?id=20797
287 * icu/unicode/uscript.h: Added.
289 2011-06-24 Sheriff Bot <webkit.review.bot@gmail.com>
291 Unreviewed, rolling out r89594.
292 http://trac.webkit.org/changeset/89594
293 https://bugs.webkit.org/show_bug.cgi?id=63316
295 It broke 5 tests on the Qt bot (Requested by Ossy_DC on
298 * icu/unicode/uscript.h: Removed.
300 2011-06-23 Jungshik Shin <jshin@chromium.org>
302 Reviewed by Alexey Proskuryakov.
304 Add uscript.h to icu/unicode to get JavaScriptGlue get built. The same
305 file was added to JavaScriptCore/icu/unicode.
307 http://bugs.webkit.org/show_bug.cgi?id=20797
309 * icu/unicode/uscript.h: Added.
311 2011-05-16 David Kilzer <ddkilzer@apple.com>
313 <http://webkit.org/b/60913> C++ exceptions should not be enabled when building with llvm-gcc-4.2
314 <rdar://problem/9446430>
316 Reviewed by Mark Rowe.
318 * Configurations/Base.xcconfig: Fixed typo.
320 2011-05-12 David Kilzer <ddkilzer@apple.com>
322 <http://webkit.org/b/60710> JavaScriptGlue should compile with -Wmissing-prototypes
324 Reviewed by Geoffrey Garen.
326 Enabling -Wmissing-prototypes fixes an Xcode 4 project warning.
328 This also fixes the following compiler warning:
330 JavaScriptGlue/JSUtils.cpp:407:15: error: no previous prototype for function 'getThreadGlobalData' [-Werror,-Wmissing-prototypes,3]
331 JSGlobalData* getThreadGlobalData()
334 * Configurations/Base.xcconfig: Set
335 GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES.
337 (getThreadGlobalData): Made static.
339 2011-05-06 David Kilzer <ddkilzer@apple.com>
341 Remove unused GCC_ENABLE_FIX_AND_CONTINUE and ZERO_LINK settings
343 Reviewed by Jon Honeycutt.
345 This fixes an Xcode 4 warning about using obsolete settings.
347 * JavaScriptGlue.xcodeproj/project.pbxproj: Removed
348 GCC_ENABLE_FIX_AND_CONTINUE and ZERO_LINK settings.
350 2011-04-28 Sheriff Bot <webkit.review.bot@gmail.com>
352 Unreviewed, rolling out r85233 and r85235.
353 http://trac.webkit.org/changeset/85233
354 http://trac.webkit.org/changeset/85235
355 https://bugs.webkit.org/show_bug.cgi?id=59754
357 Causes issues with jsc. (Requested by dave_levin on #webkit).
359 * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Removed.
361 2011-04-04 David Levin <levin@chromium.org>
363 Reviewed by Darin Adler.
365 Add asserts to RefCounted to make sure ref/deref happens on the right thread.
366 https://bugs.webkit.org/show_bug.cgi?id=31639
368 * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Added.
370 2011-04-26 Dan Bernstein <mitz@apple.com>
374 * Configurations/CompilerVersion.xcconfig:
376 2011-04-26 Dan Bernstein <mitz@apple.com>
378 Reviewed by Mark Rowe.
380 Choose the compiler based on the Xcode version for Snow Leopard debug builds.
382 * Configurations/Base.xcconfig:
383 * Configurations/CompilerVersion.xcconfig: Added.
385 2011-04-21 Oliver Hunt <oliver@apple.com>
387 Reviewed by Geoffrey Garen.
389 Start moving to a general visitor pattern for GC traversal
390 https://bugs.webkit.org/show_bug.cgi?id=59141
392 This is just a rename:
393 markChildren -> visitChildren
394 markAggregate -> visitAggregate
396 MarkStack -> typedef'd to SlotVisitor
399 (UserObjectImp::visitChildren):
401 2011-04-19 Renata Hodovan <reni@webkit.org>
403 Reviewed by Eric Seidel.
405 Move the alignment related macros in Vector.h to new Alignment.h.
406 https://bugs.webkit.org/show_bug.cgi?id=56000
408 Adding the new file to the forwarding headers of JavaScriptGlue.
410 * ForwardingHeaders/wtf/Alignment.h: Added.
412 2011-04-15 Oliver Hunt <oliver@apple.com>
414 GC allocate Structure
415 https://bugs.webkit.org/show_bug.cgi?id=58483
417 Rolling r83894 r83827 r83810 r83809 r83808 back in with
418 a workaround for the gcc bug seen by the gtk bots
421 (JSGlueGlobalObject::JSGlueGlobalObject):
426 (UserObjectImp::UserObjectImp):
428 (UserObjectImp::createStructure):
430 2011-04-08 Geoffrey Garen <ggaren@apple.com>
432 Reviewed by Oliver Hunt.
434 A few heap-related renames and file moves.
436 WeakGCPtr<T> => Weak<T>
437 Global<T> => Strong<T>
439 collector/* => heap/*
440 runtime/WeakGCPtr.h => heap/Weak.h
442 (Eventually, even more files should move into the heap directory. Like
443 Heap.h and Heap.cpp, for example.)
448 2011-04-07 Geoffrey Garen <ggaren@apple.com>
450 Reviewed by Maciej Stachowiak.
452 Some Handle<T> cleanup
453 https://bugs.webkit.org/show_bug.cgi?id=58109
456 * JSValueWrapper.h: #include a file that was missing before, but was
457 harmlessly so until now.
459 2011-03-30 Timur Iskhodzhanov <timurrrr@google.com>
461 Reviewed by Alexey Proskuryakov.
463 Add some dynamic annotations to JavaScriptCore/wtf
464 https://bugs.webkit.org/show_bug.cgi?id=53747
466 By using these annotations we can improve the precision of finding
467 WebKit errors using dynamic analysis tools like ThreadSanitizer and Valgrind.
468 These annotations don't affect the compiled binaries unless USE(DYNAMIC_ANNOTATIONS) is "1".
470 These files don't add new functionality, so don't need extra tests.
472 * ForwardingHeaders/wtf/DynamicAnnotations.h: Added.
474 2011-03-25 Oliver Hunt <oliver@apple.com>
476 Reviewed by Geoffrey Garen.
478 instanceof Array test fails when using iframes
479 https://bugs.webkit.org/show_bug.cgi?id=17250
481 Up date for new toObject api
484 (UserObjectImp::toPrimitive):
485 (UserObjectImp::toBoolean):
486 (UserObjectImp::toNumber):
487 (UserObjectImp::toString):
489 2011-03-26 Adam Barth <abarth@webkit.org>
491 Remove the JavaScriptGlue GYP build. We're not going to use GYP for
492 JavaScriptGlue because JavaScriptGlue is used only by one port.
495 * gyp/JavaScriptGlue.gyp: Removed.
496 * gyp/JavaScriptGlue.gypi: Removed.
497 * gyp/remove-headers-if-needed.sh: Removed.
498 * gyp/run-if-exists.sh: Removed.
499 * gyp/update-info-plist.sh: Removed.
501 2011-03-22 Eric Seidel <eric@webkit.org>
503 Reviewed by Adam Barth.
505 Make it possible to build JavaScriptCore and WebCore gyp builds outside of Source
506 https://bugs.webkit.org/show_bug.cgi?id=56867
508 This should make it possible to build the gyp-generated JavaScriptGlue.xcodeproj
509 from a JavaScriptGlue directory outside of Source.
511 * gyp/JavaScriptGlue.gyp:
512 * gyp/run-if-exists.sh: Added.
513 * gyp/update-info-plist.sh: Added.
515 2011-03-22 Adam Barth <abarth@webkit.org>
517 Reviewed by Eric Seidel.
519 Production configuration in GYP isn't set up correctly
520 https://bugs.webkit.org/show_bug.cgi?id=56786
522 Update JavaScriptGlue.gyp with information mined from
523 JavaScriptGlue.xcodeproj.
525 * gyp/JavaScriptGlue.gyp:
526 * gyp/JavaScriptGlue.gypi:
528 2011-03-21 Adam Barth <abarth@webkit.org>
530 Reviewed by Eric Seidel.
532 GYP build should not have include paths that point within the source tree
533 https://bugs.webkit.org/show_bug.cgi?id=56788
535 Turns out we don't need these include paths anymore now that we have
536 header maps working properly.
538 * gyp/JavaScriptGlue.gyp:
540 2011-03-20 Bill Budge <bbudge@chromium.org>
542 Reviewed by Adam Barth.
544 Rename ThreadSafeShared to ThreadSafeRefCounted
545 https://bugs.webkit.org/show_bug.cgi?id=56714
547 No new tests. Exposes no new functionality.§
549 * ForwardingHeaders/wtf/ThreadSafeRefCounted.h: Copied from ForwardingHeaders/wtf/ThreadSafeShared.h.
550 * ForwardingHeaders/wtf/ThreadSafeShared.h: Removed.
551 * gyp/JavaScriptGlue.gypi:
553 2011-03-17 Jeff Miller <jeffm@apple.com>
555 Use a consistent set of file patterns in the svn:ignore property for all .xcodeproj directories, specifically:
563 * JavaScriptGlue.xcodeproj: Modified property svn:ignore.
565 2011-03-15 Oliver Hunt <oliver@apple.com>
567 Reviewed by Geoffrey Garen.
569 Make Structure creation require a JSGlobalData
570 https://bugs.webkit.org/show_bug.cgi?id=56438
572 Mechanical change to make all structure creation pass a JSGlobalData&.
575 (JSGlueGlobalObject::JSGlueGlobalObject):
579 (getThreadGlobalObject):
581 (UserObjectImp::createStructure):
583 2011-03-15 Kevin Ollivier <kevino@theolliviers.com>
585 Reviewed by Darin Adler.
587 Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
588 info into the headers rather than in export symbol definition files, but disable it on
589 all platforms initially so we can deal with port build issues one port at a time.
591 https://bugs.webkit.org/show_bug.cgi?id=27551
595 2011-03-10 Geoffrey Garen <ggaren@apple.com>
597 Reviewed by Oliver Hunt.
599 Rolled back in 80277 and 80280 with event handler layout test failures fixed.
600 https://bugs.webkit.org/show_bug.cgi?id=55653
602 The failures were caused by a last minute typo: assigning to currentEvent
603 instead of m_currentEvent.
608 2011-03-04 Adam Barth <abarth@webkit.org>
610 Reviewed by Dimitri Glazkov.
612 Use target_defaults to reduce boilerplate in GYP build system
613 https://bugs.webkit.org/show_bug.cgi?id=55790
615 Instead of setting up the configuration in each target, just defer to
616 target_defaults. Also, removed a define that was redundant with the
619 * gyp/JavaScriptGlue.gyp:
621 2011-03-03 Geoffrey Garen <ggaren@apple.com>
623 Rolled out 80277 and 80280 because they caused event handler layout test
629 2011-03-01 Adam Barth <abarth@webkit.org>
631 Reviewed by Dimitri Glazkov.
633 Add pre- and post-build actions for JavaScriptCore GYP build
634 https://bugs.webkit.org/show_bug.cgi?id=55507
636 Remove the portion of this file that was split out into common.gypi.
638 * gyp/JavaScriptGlue.gyp:
640 2011-02-28 Gavin Barraclough <barraclough@apple.com>
642 Reviewed by Sam Weinig & Darin Adler.
644 Bug 55423 - Clean up property tables in Structure
646 Encapsulate, reduce duplication of table search code,
647 and reduce the size of the tables (remove the index,
648 just maintain the tables in the correct order).
650 Shows a 0.5% - 1% progression on sunspider.
652 * ForwardingHeaders/wtf/HashTable.h: Added.
654 2011-02-28 Adam Barth <abarth@webkit.org>
656 Reviewed by Dimitri Glazkov.
658 Teach JavaScriptGlue gyp build about DEPTH
659 https://bugs.webkit.org/show_bug.cgi?id=55421
661 After this path, we should set DEPTH to the Source directory, which is
662 a common point for all the frameworks that make up WebKit. These
663 changes to the GYP teach JavaScriptGlue how to find various files based
664 on DEPTH rather than based on the location of the xcodeproj file.
666 * gyp/JavaScriptGlue.gyp:
667 * gyp/remove-headers-if-needed.sh: Removed.
668 * gyp/run-if-exists.sh: Removed.
669 * gyp/update-info-plist.sh: Removed.
671 2011-02-28 Adam Barth <abarth@webkit.org>
673 Reviewed by Dimitri Glazkov.
675 Use more xcconfig files in JavaScriptGlue gyp build
676 https://bugs.webkit.org/show_bug.cgi?id=55395
678 Technically this patch breaks the build because the generated project
679 can't find the Info.plist file or the list of exported symbols. I'll
680 fix that in a follow-up patch.
682 * gyp/JavaScriptGlue.gyp:
684 2011-02-28 Dimitri Glazkov <dglazkov@chromium.org>
686 Reviewed by Adam Barth.
688 Add necessary build steps to JavaScriptGlue GYP project.
689 https://bugs.webkit.org/show_bug.cgi?id=55196
691 * gyp/JavaScriptGlue.gyp: Added pre- and post- build steps.
692 * gyp/JavaScriptGlue.gypi: Added Info.plist.
693 * gyp/remove-headers-if-needed.sh: Added.
694 * gyp/run-if-exists.sh: Added.
695 * gyp/update-info-plist.sh: Added.
697 2011-02-23 Geoffrey Garen <ggaren@apple.com>
699 Reviewed by Darin Adler.
701 Rolled back in r79367 with SnowLeopard Release bot crash fixed.
702 https://bugs.webkit.org/show_bug.cgi?id=54999
704 2011-02-22 Adam Barth <abarth@webkit.org>
706 Reviewed by Eric Seidel.
708 Add a GYP project for JavaScriptGlue
709 https://bugs.webkit.org/show_bug.cgi?id=55019
711 This is really just a proof-of-concept. The Xcode project file it
712 produces is able to build JavaScriptGlue, but it's not 100% correct.
713 Also, the GYP declarations aren't properly structured to allow for
714 multiple projects or ports. That should get better as we add
715 proof-of-concepts for other projects and ports.
717 This build system is not used currently.
720 * gyp/JavaScriptGlue.gyp: Added.
721 * gyp/JavaScriptGlue.gypi: Added.
723 2011-02-22 Sheriff Bot <webkit.review.bot@gmail.com>
725 Unreviewed, rolling out r79367.
726 http://trac.webkit.org/changeset/79367
727 https://bugs.webkit.org/show_bug.cgi?id=55012
729 all layout tests are crashing on Snow Leopard (Requested by
732 * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed.
734 2011-02-22 Geoffrey Garen <ggaren@apple.com>
736 Reviewed by Oliver Hunt.
738 Manage MarkedBlocks in a linked list instead of a vector, so arbitrary removal is O(1)
739 https://bugs.webkit.org/show_bug.cgi?id=54999
743 * ForwardingHeaders/wtf/DoublyLinkedList.h: Copied from ForwardingHeaders/wtf/FixedArray.h.
745 2011-02-18 Gavin Barraclough <barraclough@apple.com>
747 Reviewed by Sam Weinig.
749 Bug 54786 - Devirtualize JSCell::classInfo()
751 Instead of making a virtual function call, add a pointer to the ClassInfo
754 This removes a virtual function call, and paves the way towards removing all
755 the createStructure methods, and StructureFlags/AnonymousSlotCount properties
756 (these should be able to move onto ClassInfo).
758 Calls to Structure::create must now pass a pointer to the ClassInfo for the
759 structure. All objects now have a ClassInfo pointer, non-object cell types
762 Changes are most mechanical, involving three steps:
763 * Remove virtual classInfo() methods.
764 * Add &s_info parameter to calls to Structure::create.
765 * Rename ClassInfo static members on classes from 'info' to 's_info',
769 (KJSValueToJSObject):
770 (KJSValueToCFTypeInternal):
773 (UserObjectImp::createStructure):
775 2011-02-15 Gavin Barraclough <barraclough@apple.com>
777 Reviewed by Geoff Garen.
779 Bug 54524 - Allow JSObject to fully utilize cell's capacity for inline storage.
781 Currently JSObject is both directly instantiated for regular JS objects, and
782 derived to implement subtypes. A consequence of this is that we need to ensure
783 that sufficient space from the cell is left unused and available for any data
784 members that will be introduced by subclasses of JSObject. By restructuring
785 the internal storage array out of JSObject we can increase the size in the
786 internal storage for regular objects.
788 Add classes JSFinalObject and JSNonFinalObject. JSNonFinalObject retains as
789 much additional capacity as is currently available to allow for data members
790 in subclasses. JSFinalObject utilizes all available space for internal storage,
791 and only allows construction through JSFinalObject::create().
795 Update JSObject -> JSNonFinalObject.
797 2011-02-14 Oliver Hunt <oliver@apple.com>
799 Reviewed by Gavin Barraclough and Geoff Garen.
801 Refactor handles and weak pointers to become nicer and more automatic
802 https://bugs.webkit.org/show_bug.cgi?id=54415
804 Update to use new Global<> type
808 (JSRun::GlobalObject):
810 * JSValueWrapper.cpp:
811 (JSValueWrapper::JSValueWrapper):
814 2011-02-13 Cameron Zwarich <zwarich@apple.com>
816 Reviewed by Dan Bernstein.
818 Bug 53760 - JSC fails to build with TOT Clang
819 https://bugs.webkit.org/show_bug.cgi?id=53760
821 Fix -Woverloaded-virtual warnings.
824 (UserObjectImp::toPrimitive): Use PreferredPrimitiveType instead of JSType to
825 match the base class.
828 2011-02-06 Ryosuke Niwa <rniwa@webkit.org>
830 Reviewed by Darin Adler.
832 OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
833 https://bugs.webkit.org/show_bug.cgi?id=52867
835 * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Removed.
837 2011-01-31 Oliver Hunt <oliver@apple.com>
839 Convert markstack to a slot visitor API
840 https://bugs.webkit.org/show_bug.cgi?id=53219
842 rolling r77098, r77099, r77100, r77109, and
843 r77111 back in, along with a few more Qt fix attempts.
845 * JSValueWrapper.cpp:
846 (JSValueWrapper::JSObjectMark):
848 2011-01-30 Csaba Osztrogonác <ossy@webkit.org>
850 Unreviewed, rolling out r77098, r77099, r77100, r77109, and
852 http://trac.webkit.org/changeset/77098
853 http://trac.webkit.org/changeset/77099
854 http://trac.webkit.org/changeset/77100
855 http://trac.webkit.org/changeset/77109
856 http://trac.webkit.org/changeset/77111
857 https://bugs.webkit.org/show_bug.cgi?id=53219
861 * JSValueWrapper.cpp:
862 (JSValueWrapper::JSObjectMark):
864 2011-01-30 Oliver Hunt <oliver@apple.com>
866 Convert markstack to a slot visitor API
867 https://bugs.webkit.org/show_bug.cgi?id=53219
869 rolling r77006 and r77020 back in.
871 * JSValueWrapper.cpp:
872 (JSValueWrapper::JSObjectMark):
874 2011-01-28 Sheriff Bot <webkit.review.bot@gmail.com>
876 Unreviewed, rolling out r77006 and r77020.
877 http://trac.webkit.org/changeset/77006
878 http://trac.webkit.org/changeset/77020
879 https://bugs.webkit.org/show_bug.cgi?id=53360
881 "Broke Windows tests" (Requested by rniwa on #webkit).
883 * JSValueWrapper.cpp:
884 (JSValueWrapper::JSObjectMark):
886 2011-01-27 Oliver Hunt <oliver@apple.com>
888 Reviewed by Geoffrey Garen.
890 Convert markstack to a slot visitor API
891 https://bugs.webkit.org/show_bug.cgi?id=53219
893 There's no reason to recurse here, the value we
894 were marking was protected.
896 * JSValueWrapper.cpp:
897 (JSValueWrapper::JSObjectMark):
899 2011-01-23 Mark Rowe <mrowe@apple.com>
903 Fix the scripts that detect problematic code such as static initializers
904 and destructors, weak vtables, inappropriate files in the framework wrappers,
905 and public headers including private headers. These had all been broken
906 since the projects were moved in to the Source directory as the paths to the
907 scripts were not updated at that time.
909 * JavaScriptGlue.xcodeproj/project.pbxproj:
911 2011-01-17 Dan Bernstein <mitz@apple.com>
913 Rubber-stamped by Mark Rowe.
915 Update xcodeproj svn:ignore to include xcuserdata.
917 * JavaScriptGlue.xcodeproj: Modified property svn:ignore.
919 2011-01-10 Geoffrey Garen <ggaren@apple.com>
921 Reviewed by Oliver Hunt.
923 Moved Collector.* => Heap.*, since the file contains a class named "Heap".
927 2011-01-02 Dan Bernstein <mitz@apple.com>
929 Rubber-stamped by Simon Fraser.
931 <rdar://problem/8812159> Update copyright strings
935 2010-12-22 Dan Bernstein <mitz@apple.com>
937 Rubber-stamped by Mark Rowe.
939 Changed WebKitTools to Tools in script build phases.
941 * JavaScriptGlue.xcodeproj/project.pbxproj:
943 2010-12-21 Geoffrey Garen <ggaren@apple.com>
945 Reviewed by Gavin Barraclough & Oliver Hunt.
947 Added PageAllocationAligned, a cross-platform abstraction for memory allocations with arbitrary alignment requirements
948 https://bugs.webkit.org/show_bug.cgi?id=51359
950 * ForwardingHeaders/wtf/PageAllocationAligned.h: Added.
952 2010-12-21 Daniel Bates <dbates@rim.com>
954 Reviewed by Eric Seidel and Darin Adler.
956 Deallocate GregorianDateTime.timeZone (if allocated) when copying so that we don't leak memory.
957 https://bugs.webkit.org/show_bug.cgi?id=51367
959 Add forwarding header for PassOwnArrayPtr.h.
961 * ForwardingHeaders/wtf/PassOwnArrayPtr.h: Added.
963 2010-12-18 Gavin Barraclough <barraclough@apple.com>
965 Reviewed by Oliver Hunt.
967 Bug 26276 - Need a mechanism to determine stack extent
969 Add forwarding header for StackBounds.h.
971 * ForwardingHeaders/wtf/StackBounds.h: Added.
973 2010-12-20 Geoffrey Garen <ggaren@apple.com>
975 Reviewed by Sam Weinig.
977 Factored common page set management into a new PageBlock base class
978 https://bugs.webkit.org/show_bug.cgi?id=51285
980 * ForwardingHeaders/wtf/PageBlock.h: Added.
982 2010-12-01 Geoffrey Garen <ggaren@apple.com>
984 Build fix: Added a forwarding header.
986 * ForwardingHeaders/wtf/OSAllocator.h: Added.
988 2010-10-25 Oliver Hunt <oliver@apple.com>
990 Reviewed by Gavin Barraclough.
992 Remove exec and globalData arguments from jsNumber
993 https://bugs.webkit.org/show_bug.cgi?id=48270
995 Don't pass exec to jsNumber
1000 (UserObjectImp::toPrimitive):
1002 2010-10-25 Sheriff Bot <webkit.review.bot@gmail.com>
1004 Unreviewed, rolling out r70451.
1005 http://trac.webkit.org/changeset/70451
1006 https://bugs.webkit.org/show_bug.cgi?id=48249
1008 Broke set-unloaded-frame-location.html under Qt (Requested by
1011 * ForwardingHeaders/wtf/text/TextPosition.h: Removed.
1013 2010-10-16 Patrick Gansterer <paroga@webkit.org>
1015 Reviewed by Adam Barth.
1017 Rename StringHasherFunctions.h to StringHasher.h
1018 https://bugs.webkit.org/show_bug.cgi?id=47200
1020 * ForwardingHeaders/wtf/StringHashFunctions.h: Removed.
1021 * ForwardingHeaders/wtf/StringHasher.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/StringHashFunctions.h.
1023 2010-09-09 Michael Saboff <msaboff@apple.com>
1025 Reviewed by Gavin Barraclough.
1027 Added ListHashSet.h as an exported header in support of RegExp tracing.
1028 https://bugs.webkit.org/show_bug.cgi?id=45401
1030 * ForwardingHeaders/wtf/ListHashSet.h: Added.
1032 2010-09-07 Anders Carlsson <andersca@apple.com>
1034 Reviewed by Darin Adler.
1036 <rdar://problem/8381749> -Wcast-align warning emitted when building with clang
1038 Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc.
1040 * Configurations/Base.xcconfig:
1042 2010-08-26 Sam Weinig <sam@webkit.org>
1044 Reviewed by Darin Adler.
1047 https://bugs.webkit.org/show_bug.cgi?id=44627
1049 Add new forwarding header.
1051 * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Added.
1053 2010-08-23 Gavin Barraclough <barraclough@apple.com>
1055 Reviewed by Oliver Hunt.
1057 https://bugs.webkit.org/show_bug.cgi?id=44487
1059 * ForwardingHeaders/wtf/text/WTFString.h: Added.
1061 2010-08-24 Oliver Hunt <oliver@apple.com>
1063 Reviewed by Geoff Garen.
1065 Don't seed the JS random number generator from time()
1066 https://bugs.webkit.org/show_bug.cgi?id=41868
1067 <rdar://problem/8171025>
1069 Add forwarding header for RandomNumber in JavaScriptGlue
1071 * ForwardingHeaders/wtf/RandomNumber.h: Added.
1073 2010-08-11 Gavin Barraclough <barraclough@apple.com>
1075 Rubber stamps by Darin Adler & Sam Weinig.
1077 Bug 43867 - Some UString cleanup
1079 Change JSC::UString data(), size(), and from(), to characters(), length(), and number() to match WTF::String.
1080 Move string concatenation methods to a new header to simplify down UString.h. Remove is8Bit().
1083 (UStringToCFString):
1084 (KJSValueToCFTypeInternal):
1085 * JavaScriptGlue.xcodeproj/project.pbxproj:
1087 2010-08-04 Gavin Barraclough <barraclough@apple.com>
1089 Reviewed by Sam Weinig.
1091 Bug 43515 - Fix small design issues with PageAllocation, split out PageReservation.
1092 (add forwarding headers)
1094 * ForwardingHeaders/wtf/Bitmap.h: Added.
1095 * ForwardingHeaders/wtf/PageReservation.h: Added.
1097 2010-08-04 Sheriff Bot <webkit.review.bot@gmail.com>
1099 Unreviewed, rolling out r64655.
1100 http://trac.webkit.org/changeset/64655
1101 https://bugs.webkit.org/show_bug.cgi?id=43496
1103 JavaScriptCore references patch seems to have caused
1104 regressions in QT and GTK builds (Requested by nlawrence on
1107 * JSValueWrapper.cpp:
1108 (JSValueWrapper::JSObjectMark):
1110 2010-08-04 Nathan Lawrence <nlawrence@apple.com>
1112 Reviewed by Darin Adler.
1114 Removed unneeded marking. We need to remove this marking in order to have
1115 MarkStack::append take references for updating movable objects.
1117 https://bugs.webkit.org/show_bug.cgi?id=41177
1119 * JSValueWrapper.cpp:
1120 (JSValueWrapper::JSObjectMark):
1122 2010-08-03 Gavin Barraclough <barraclough@apple.com>
1124 Build fix following r64624.
1126 * ForwardingHeaders/wtf/BitMap.h: Added.
1128 2010-07-27 Gavin Barraclough <barraclough@apple.com>
1130 Reviewed by Oliver Hunt.
1132 Bug 42621 - Add a bump allocator for the YARR interpreter
1134 The regex engine requires lifo allocation, however currently uses the general purpose
1135 malloc/free memory allocation. A simple bump pointer allocator should provide a lower
1136 overhead allocation solution.
1138 * ForwardingHeaders/wtf/BumpPointerAllocator.h: Added.
1140 2010-07-26 Gavin Barraclough <barraclough@apple.com>
1142 Reviewed by Oliver Hunt.
1144 Bug 43009 - Abstract out page allocation from executable allocators
1146 * ForwardingHeaders/wtf/PageAllocation.h: Added.
1148 2010-07-01 Oliver Hunt <oliver@apple.com>
1150 Reviewed by Maciej Stachowiak.
1152 Add a FixedArray template to encapsulate fixed length arrays
1153 https://bugs.webkit.org/show_bug.cgi?id=41506
1155 Add forwarding header.
1157 * ForwardingHeaders/wtf/FixedArray.h: Added.
1159 2010-06-02 Gavin Barraclough <barraclough@apple.com>
1161 Reviewed by Oliver Hunt.
1163 Bug 40094 - The return type of NativeFunction should be EncodedJSValue
1164 On Windows & Linux, using JSVALUE32_64, EncodedJSValue is returned in registers, but JSValue is not.
1167 (nativeCallFunction):
1169 2010-05-28 Geoffrey Garen <ggaren@apple.com>
1171 Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
1173 Simplified the host calling convention.
1175 PART ONE: Functional code changes.
1177 [ None in JavaScriptGlue ]
1179 PART TWO: Global search and replace.
1181 In the areas below, I used global search-and-replace to change
1182 (ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
1183 args.size() => exec->argumentCount()
1184 args.at(i) => exec->argument(i)
1187 (nativeCallFunction):
1188 * UserObjectImp.cpp:
1189 (UserObjectImp::callAsFunction):
1192 2010-04-23 Sam Weinig <sam@webkit.org>
1194 Reviewed by David Levin.
1196 Fix for https://bugs.webkit.org/show_bug.cgi?id=38060
1197 Split up Threading.h
1199 Add necessary forwarding headers.
1201 * ForwardingHeaders/wtf/Atomics.h: Added.
1202 * ForwardingHeaders/wtf/ThreadSafeShared.h: Added.
1203 * ForwardingHeaders/wtf/ThreadingPrimitives.h: Added.
1205 2010-04-22 Sam Weinig <sam@webkit.org>
1207 Reviewed by Anders Carlsson.
1209 Fix for https://bugs.webkit.org/show_bug.cgi?id=38022
1210 Move isMainThread predicate function to MainThread.h
1212 Added forwarding header for MainThread.h
1214 * ForwardingHeaders/wtf/MainThread.h: Added.
1216 2010-04-22 Gavin Barraclough <barraclough@apple.com>
1218 Rubber stamped by Sam Weinig
1220 Do not get the globaldata for the APIShim via the
1221 global object; global object construction creates identifiers
1222 which results in the ASSERTs checking the thread data's
1223 identifierTable has been set failing.
1226 (unprotectGlobalObject):
1227 (getThreadGlobalData):
1228 (getThreadGlobalObject):
1229 (JSGlueAPIEntry::JSGlueAPIEntry):
1230 (JSGlueAPICallback::~JSGlueAPICallback):
1232 2010-04-21 Geoffrey Garen <ggaren@apple.com>
1234 Reviewed by Sam Weinig.
1236 <rdar://problem/7879485> Leopard: Crash after opening Software Update dialog
1239 (unprotectGlobalObject): Use the version of JSGlueAPIEntry that doesn't
1240 call pthread_getspecific, since it's not safe to call pthread_getspecific
1241 from a thread-specific data destructor. (<rdar://problem/7889842>
1242 pthread_getspecific returns 0 when called from thread-specific data
1243 destructor function)
1245 (getThreadGlobalObject): Make sure to set the currentIdentifierTable
1246 when first constructing our JSGlobalObject, since JSGlueAPIEntry has not
1247 yet had an opportunity to do so.
1249 (JSGlueAPIEntry::JSGlueAPIEntry):
1250 * JSUtils.h: New version of JSGlueAPIEntry that doesn't call
1251 pthread_getspecific.
1253 2010-04-21 Gavin Barraclough <barraclough@apple.com>
1255 Reviewed by NOBODY (build fix).
1256 Errk! tree on fire, add fwd!
1258 * ForwardingHeaders/wtf/text/StringHash.h: Added.
1260 2010-04-20 Gavin Barraclough <barraclough@apple.com>
1262 Reviewed by Oliver Hunt, Darin Adler.
1264 Bug 37906 - Remove JSC::UStringImpl; unify with StringImpl.
1265 Add forwarding header.
1267 * ForwardingHeaders/wtf/ASCIICType.h: Added.
1268 * ForwardingHeaders/wtf/text/StringImpl.h: Added.
1270 2010-04-20 Gavin Barraclough <barraclough@apple.com>
1272 Reviewed by Oliver Hunt.
1274 Bug 37895 - Share common code from UStringImplBase with StringImpl
1275 Add forwarding header.
1277 * ForwardingHeaders/wtf/text/StringImplBase.h: Added.
1279 2010-04-20 Gavin Barraclough <barraclough@apple.com>
1281 Rubber stamped by Maciej Stachowiak (relanding r57829).
1282 Added missing JS_EXPORTDATA
1284 * ForwardingHeaders/wtf/WTFThreadData.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/WTFThreadData.h.
1286 (JSGlueAPIEntry::JSGlueAPIEntry):
1287 (JSGlueAPIEntry::~JSGlueAPIEntry):
1288 (JSGlueAPICallback::JSGlueAPICallback):
1289 (JSGlueAPICallback::~JSGlueAPICallback):
1291 2010-04-19 Gavin Barraclough <barraclough@apple.com>
1293 Reviewed by NOBODY (rolling out r57829).
1296 * ForwardingHeaders/wtf/WTFThreadData.h: Removed.
1298 (JSGlueAPIEntry::JSGlueAPIEntry):
1299 (JSGlueAPIEntry::~JSGlueAPIEntry):
1300 (JSGlueAPICallback::JSGlueAPICallback):
1301 (JSGlueAPICallback::~JSGlueAPICallback):
1303 2010-04-16 Gavin Barraclough <barraclough@apple.com>
1305 Reviewed by Sam Weinig.
1307 https://bugs.webkit.org/show_bug.cgi?id=37745
1308 Move string uniquing tables to (new) WTFThreadData class.
1310 Remove AtomicString's dependency on ThreadGlobalData so that we can move
1311 WebCore's string classes up to WTF.
1313 * ForwardingHeaders/wtf/WTFThreadData.h: Added.
1314 * JSUtils.cpp: Update
1315 (JSGlueAPIEntry::JSGlueAPIEntry):
1316 (JSGlueAPIEntry::~JSGlueAPIEntry):
1317 (JSGlueAPICallback::JSGlueAPICallback):
1318 (JSGlueAPICallback::~JSGlueAPICallback):
1320 2010-03-31 Gavin Barraclough <barraclough@apple.com>
1322 Reviewed by Geoff Garen.
1324 Bug 36871 - Remove JSC::CString
1325 Use WTF::CString instead (which until recently was WebCore::CString).
1327 * ForwardingHeaders/wtf/text: Added.
1328 * ForwardingHeaders/wtf/text/CString.h: Added.
1330 2010-03-11 Mark Rowe <mrowe@apple.com>
1332 Reviewed by David Kilzer.
1334 <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
1336 Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version.
1338 * Configurations/Base.xcconfig:
1340 2010-03-11 Mark Rowe <mrowe@apple.com>
1342 Reviewed by Tim Hatcher.
1344 <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
1346 Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted. It defaults to the
1347 current Mac OS X version unless otherwise specified.
1349 Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR.
1351 Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice
1352 may not be usable when targetting a different Mac OS X version.
1354 Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off
1355 MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used.
1357 * Configurations/Base.xcconfig:
1358 * Configurations/DebugRelease.xcconfig:
1359 * Configurations/Version.xcconfig:
1360 * JavaScriptGlue.xcodeproj/project.pbxproj:
1362 2010-03-01 Oliver Hunt <oliver@apple.com>
1364 Reviewed by Maciej Stachowiak.
1366 Refactor named getter function signature to be in line with indexing getter signature
1367 https://bugs.webkit.org/show_bug.cgi?id=35563
1369 Fix method signature and update code as appropriate
1371 * UserObjectImp.cpp:
1372 (UserObjectImp::userObjectGetter):
1375 2010-02-09 Alexey Proskuryakov <ap@apple.com>
1377 Reviewed by Geoffrey Garen.
1379 https://bugs.webkit.org/show_bug.cgi?id=34490
1380 WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions
1382 * ForwardingHeaders/wtf/ValueCheck.h: Added.
1384 2010-02-04 Mark Rowe <mrowe@apple.com>
1386 Reviewed by Timothy Hatcher.
1388 Build fix. Remove a symbol corresponding to an inline function from the linker export
1389 file to prevent a weak external failure.
1391 * JavaScriptGlue.xcodeproj/project.pbxproj: Accommodate rename of script.
1393 2010-01-28 Oliver Hunt <oliver@apple.com>
1395 Reviewed by Gavin Barraclough.
1397 Simplify anonymous slot implementation
1398 https://bugs.webkit.org/show_bug.cgi?id=34282
1400 Update JSGlue Structure usage to pass the anonymous slot count.
1403 (UserObjectImp::createStructure):
1405 2010-01-12 Kent Hansen <kent.hansen@nokia.com>
1407 Reviewed by Geoffrey Garen.
1409 [ES5] Implement Object.getOwnPropertyNames
1410 https://bugs.webkit.org/show_bug.cgi?id=32242
1412 Add new argument to the reimplementation of getOwnPropertyNames().
1414 * UserObjectImp.cpp:
1415 (UserObjectImp::getOwnPropertyNames):
1418 2010-01-07 Alexey Proskuryakov <ap@apple.com>
1422 * config.h: Define JS_EXPORTCLASS for JavaScriptGlue.
1424 2010-01-05 Gavin Barraclough <barraclough@apple.com>
1426 Reviewed by Sam Weinig.
1428 https://bugs.webkit.org/show_bug.cgi?id=33236
1429 Remove m_identifierTable pointer from UString
1431 Add API shims similar to those used in the JSC API to track the current identifierTable.
1437 (KJSValueToCFTypeInternal):
1438 (unprotectGlobalObject):
1439 (JSGlueAPIEntry::JSGlueAPIEntry):
1440 (JSGlueAPIEntry::~JSGlueAPIEntry):
1441 (JSGlueAPICallback::JSGlueAPICallback):
1442 (JSGlueAPICallback::~JSGlueAPICallback):
1444 * JSValueWrapper.cpp:
1445 (JSValueWrapper::JSObjectCopyPropertyNames):
1446 (JSValueWrapper::JSObjectCopyProperty):
1447 (JSValueWrapper::JSObjectSetProperty):
1448 (JSValueWrapper::JSObjectCallFunction):
1449 (JSValueWrapper::JSObjectCopyCFValue):
1450 * JavaScriptGlue.cpp:
1455 * JavaScriptGlue.xcodeproj/project.pbxproj:
1456 * UserObjectImp.cpp:
1457 (UserObjectImp::callAsFunction):
1459 2010-01-04 Gavin Barraclough <barraclough@apple.com>
1461 Reviewed by Sam Weinig.
1463 Add a forwarding header so that StringHashFunctions.h can be found.
1465 * ForwardingHeaders/wtf/StringHashFunctions.h: Added.
1467 2010-01-04 Dan Bernstein <mitz@apple.com>
1469 Reviewed by Ada Chan and Mark Rowe.
1471 Updated copyright string
1475 2009-12-21 Gavin Barraclough <barraclough@apple.com>
1477 Reviewed by Darin Adler.
1479 https://bugs.webkit.org/show_bug.cgi?id=32831
1480 Replace UString::Rep implementation, following introduction of ropes to JSC.
1482 * ForwardingHeaders/wtf/PossiblyNull.h: Added.
1483 - add forwarding header.
1485 2009-12-16 Mark Rowe <mrowe@apple.com>
1487 Build fix. Disable debug variants of WebKit frameworks.
1489 * JavaScriptGlue.xcodeproj/project.pbxproj:
1491 2009-12-13 Geoffrey Garen <ggaren@apple.com>
1493 Reviewed by Sam Weinig.
1495 Changed GC from mark-sweep to mark-allocate.
1497 * JavaScriptGlue.cpp:
1498 (JSCollect): Updated for rename. Fixed a bug where JSGlue would not check
1499 to avoid nested GC calls.
1501 2009-12-08 Dmitry Titov <dimich@chromium.org>
1503 Rubber-stamped by David Levin.
1505 Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread."
1506 It may have caused massive increase of reported leaks on the bots.
1507 https://bugs.webkit.org/show_bug.cgi?id=31639
1509 * ForwardingHeaders/wtf/ThreadVerifier.h: Removed.
1511 2009-12-08 Dmitry Titov <dimich@chromium.org>
1513 Reviewed by Darin Adler.
1515 Add asserts to RefCounted to make sure ref/deref happens on the right thread.
1516 https://bugs.webkit.org/show_bug.cgi?id=31639
1518 * ForwardingHeaders/wtf/ThreadVerifier.h: Added.
1520 2009-11-24 Mark Rowe <mrowe@apple.com>
1522 Fix production builds where the source tree may be read-only.
1524 * JavaScriptGlue.xcodeproj/project.pbxproj:
1526 2009-11-08 David Levin <levin@chromium.org>
1528 Reviewed by NOBODY (chromium build fix).
1530 Added the use jsc define for files that use
1531 this config file and DateMath.h. This should
1532 be able to go away when DateMath is properly
1533 split into wtf and jsc portions which is this bug:
1534 https://bugs.webkit.org/show_bug.cgi?id=31246
1538 2009-11-06 Geoffrey Garen <ggaren@apple.com>
1540 Reviewed by Oliver Hunt.
1542 https://bugs.webkit.org/show_bug.cgi?id=31197
1543 Implemented a timezone cache not based on Mac OS X's notify_check API.
1545 * ForwardingHeaders/wtf/CurrentTime.h: Added.
1547 2009-10-27 Geoffrey Garen <ggaren@apple.com>
1549 Build fix: Updated for JavaScriptCore export changes.
1551 * ForwardingHeaders/wtf/DateInstanceCache.h: Added.
1553 2009-10-27 Geoffrey Garen <ggaren@apple.com>
1555 Reviewed by Oliver Hunt.
1557 Updated for JavaScriptCore export changes.
1559 * ForwardingHeaders/wtf/DateMath.h: Added.
1561 2009-10-27 Dan Bernstein <mitz@apple.com>
1563 Reviewed by Darin Adler.
1569 2009-10-16 Oliver Hunt <oliver@apple.com>
1571 Reviewed by Gavin Barraclough.
1573 Make typeinfo flags default to false
1574 https://bugs.webkit.org/show_bug.cgi?id=30372
1576 Last part -- replace HasDefaultGetPropertyNames with OverridesGetPropertyNames
1580 (UserObjectImp::createStructure):
1582 2009-10-15 Oliver Hunt <oliver@apple.com>
1584 Reviewed by Darin Adler.
1586 Make typeinfo flags default to false
1587 https://bugs.webkit.org/show_bug.cgi?id=30372
1589 Part 2 -- Reverse the TypeInfo HasDefaultMark flag to OverridesMarkChildren, etc
1592 (UserObjectImp::createStructure):
1594 2009-10-14 Oliver Hunt <oliver@apple.com>
1596 Reviewed by Geoff Garen.
1598 Make typeinfo flags default to false
1599 https://bugs.webkit.org/show_bug.cgi?id=30372
1601 Part 1. Reverse the HasStandardGetOwnPropertySlot flag.
1604 (UserObjectImp::createStructure):
1606 2009-09-28 Geoffrey Garen <ggaren@apple.com>
1608 Reviewed by Sam Weinig.
1610 Removed virtual destructor from JSGlobalObjectData to eliminate pointer
1611 fix-ups when accessing JSGlobalObject::d.
1613 Replaced with an explicit destructor function pointer.
1616 (JSGlueGlobalObject::destroyData):
1618 (JSGlueGlobalObject::Data::Data):
1620 2009-09-12 Oliver Hunt <oliver@apple.com>
1622 Reviewed by Maciej Stachowiak.
1624 [ES5] Implement Object.keys
1625 https://bugs.webkit.org/show_bug.cgi?id=29170
1627 Switch over to getOwnPropertyNames instead of getPropertyNames.
1629 * UserObjectImp.cpp:
1630 (UserObjectImp::getOwnPropertyNames):
1633 2009-09-02 Darin Adler <darin@apple.com>
1635 Reviewed by Geoff Garen.
1637 * JSValueWrapper.cpp:
1638 (JSValueWrapper::JSObjectMark): Removed a check of the mark
1639 bit. It's OK to do more work in this case, and there is no
1640 longer a public function to access the mark bit.
1642 2009-08-14 Darin Adler <darin@apple.com>
1644 Reviewed by Sam Weinig.
1646 Rename the confusing isObject(<class>) to inherits(<class>).
1647 It still works on non-objects, returning false.
1650 (KJSValueToJSObject):
1651 (KJSValueToCFTypeInternal):
1652 Changed from isObject to inherits.
1654 2009-08-13 Oliver Hunt <oliver@apple.com>
1656 Reviewed by Maciej Stachowiak.
1658 Devirtualise marking
1659 https://bugs.webkit.org/show_bug.cgi?id=28294
1661 Continue to jump through hoops to deal with the exposed marking routines
1664 * JSValueWrapper.cpp:
1665 (JSValueWrapper::JSObjectMark):
1667 2009-08-07 Oliver Hunt <oliver@apple.com>
1669 Reviewed by Sam Weinig.
1671 Stack overflow crash in JavaScript garbage collector mark pass
1672 https://bugs.webkit.org/show_bug.cgi?id=12216
1674 Make JSGlue interact with the new iterative mark logic.
1676 * JSValueWrapper.cpp:
1677 (JSValueWrapper::JSObjectMark):
1678 Unfortunately JSGlue exposes recursive marking so we can only flatten
1679 the recursion. We just create a local mark stack if necessary and mark
1680 the given object iteratively from this point.
1681 * UserObjectImp.cpp:
1682 (UserObjectImp::markChildren):
1685 2009-08-06 Mark Rowe <mrowe@apple.com>
1687 Rubber-stamped by Sam Weinig.
1689 Add explicit dependencies for our build verification scripts to ensure that they always run after linking has completed.
1691 * JavaScriptGlue.xcodeproj/project.pbxproj:
1693 2009-07-27 Alexey Proskuryakov <ap@webkit.org>
1695 Reviewed by Darin Adler.
1697 https://bugs.webkit.org/show_bug.cgi?id=27735
1698 Give a helpful name to JSLock constructor argument
1704 (KJSValueToCFTypeInternal):
1705 (unprotectGlobalObject):
1706 * JSValueWrapper.cpp:
1707 (JSValueWrapper::JSObjectCopyPropertyNames):
1708 (JSValueWrapper::JSObjectCopyProperty):
1709 (JSValueWrapper::JSObjectSetProperty):
1710 (JSValueWrapper::JSObjectCallFunction):
1711 (JSValueWrapper::JSObjectCopyCFValue):
1712 * JavaScriptGlue.cpp:
1717 (JSLockInterpreter):
1718 (JSUnlockInterpreter):
1720 2009-07-10 Adam Roben <aroben@apple.com>
1722 Sort all our Xcode projects
1724 Accomplished using sort-Xcode-project-file.
1726 Requested by Dave Kilzer.
1728 * JavaScriptGlue.xcodeproj/project.pbxproj:
1730 2009-07-08 Darin Adler <darin@apple.com>
1732 Reviewed by Dan Bernstein
1734 - fix <rdar://problem/6971484> REGRESSION (r30534): "Scrolling Credits"
1735 effect does not scroll on iMovie 7.1.4 on Tiger
1737 In <http://trac.webkit.org/changeset/30534>, the prototype of
1738 JSObject::put() which UserObjectImp had been overriding changed, but
1739 UserObjectImp wasn't updated, so its override was no longer getting
1742 * UserObjectImp.cpp:
1743 (UserObjectImp::put): Match the current prototype of JSObject::put().
1744 The PutPropertySlot argument is unused.
1745 * UserObjectImp.h: Ditto.
1747 2009-06-19 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
1749 Reviewed by Darin Adler.
1751 Add FastAllocBase.h to JavaScriptGlue's ForwardingHeaders/wtf, because it's needed by HashCountedSet.h on MAC.
1753 * ForwardingHeaders/wtf/FastAllocBase.h: Added.
1755 2009-06-02 Mark Rowe <mrowe@apple.com>
1757 Reviewed by Anders Carlsson.
1759 Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds.
1761 * Configurations/Base.xcconfig:
1763 2009-05-25 David Levin <levin@chromium.org>
1765 Reviewed by Maciej Stachowiak and Oliver Hunt.
1767 https://bugs.webkit.org/show_bug.cgi?id=25126
1769 Added forwarding headers.
1771 * ForwardingHeaders/wtf/CrossThreadRefCounted.h: Added.
1772 * ForwardingHeaders/wtf/OwnFastMallocPtr.h: Added.
1774 2009-05-23 David Kilzer <ddkilzer@apple.com>
1776 Part 1 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
1778 <https://bugs.webkit.org/show_bug.cgi?id=25495>
1780 Reviewed by Oliver Hunt.
1782 * ForwardingHeaders/wtf/OwnPtrCommon.h: Added.
1783 * ForwardingHeaders/wtf/PassOwnPtr.h: Added.
1785 2009-05-14 Mark Rowe <mrowe@apple.com>
1787 Rubber-stamped by Darin Adler.
1789 <rdar://problem/6681868> When building with Xcode 3.1.3 should be using gcc 4.2
1791 The meaning of XCODE_VERSION_ACTUAL is more sensible in newer versions of Xcode.
1792 Update our logic to select the compiler version to use the more appropriate XCODE_VERSION_MINOR
1793 if the version of Xcode supports it, and fall back to XCODE_VERSION_ACTUAL if not.
1795 * Configurations/Base.xcconfig:
1797 2009-05-07 Oliver Hunt <oliver@apple.com>
1799 Reviewed by Gavin Barraclough.
1801 Add calling convention annotation
1805 2009-05-01 Geoffrey Garen <ggaren@apple.com>
1807 Rubber Stamped by Sam Weinig.
1809 Renamed JSValuePtr => JSValue.
1812 (nativeCallFunction):
1814 (KJSValueToJSObject):
1816 (KJSValueToCFTypeInternal):
1819 * JSValueWrapper.cpp:
1820 (JSValueWrapper::JSValueWrapper):
1821 (JSValueWrapper::GetValue):
1822 (JSValueWrapper::JSObjectCopyProperty):
1823 (JSValueWrapper::JSObjectSetProperty):
1824 (JSValueWrapper::JSObjectCallFunction):
1826 * UserObjectImp.cpp:
1827 (UserObjectImp::callAsFunction):
1828 (UserObjectImp::userObjectGetter):
1829 (UserObjectImp::getOwnPropertySlot):
1830 (UserObjectImp::put):
1831 (UserObjectImp::toPrimitive):
1833 (UserObjectImp::createStructure):
1835 2009-04-29 Oliver Hunt <oliver@apple.com>
1837 Reviewed by Gavin Barraclough.
1839 Clean up ArgList to be a trivial type
1841 Start using MarkedArgumentBuffer to create argument lists for function calls
1843 * JSValueWrapper.cpp:
1844 (JSValueWrapper::JSObjectCallFunction):
1846 2009-04-28 Geoffrey Garen <ggaren@apple.com>
1848 Rubber stamped by Beth Dakin.
1852 * UserObjectImp.cpp:
1853 (UserObjectImp::callAsFunction):
1855 2009-04-21 Geoffrey Garen <ggaren@apple.com>
1857 Reviewed by Mark Rowe.
1859 Tiger crash fix: Put VM tags in their own header file, and fixed up the
1860 #ifdefs so they're not used on Tiger.
1862 * ForwardingHeaders/wtf/VMTags.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/HashTraits.h.
1864 2009-04-20 Sam Weinig <sam@webkit.org>
1866 Rubber-stamped by Tim Hatcher.
1868 Add licenses for xcconfig files.
1870 * Configurations/Base.xcconfig:
1871 * Configurations/DebugRelease.xcconfig:
1872 * Configurations/JavaScriptGlue.xcconfig:
1873 * Configurations/Version.xcconfig:
1875 2009-03-13 Mark Rowe <mrowe@apple.com>
1877 Rubber-stamped by Dan Bernstein.
1879 Take advantage of the ability of recent versions of Xcode to easily switch the active
1882 * Configurations/DebugRelease.xcconfig:
1884 2009-02-24 Mark Rowe <mrowe@apple.com>
1886 Rubber-stamped by Dan Bernstein.
1888 <rdar://problem/6407844> JavaScriptGlue should use -Os rather than -O2
1890 * Configurations/Base.xcconfig:
1892 2009-01-28 Sam Weinig <sam@webkit.org>
1894 Reviewed by Gavin Barraclough.
1896 Fix for <rdar://problem/6525537>
1897 Hang occurs when closing Installer window (iTunes, Aperture)
1900 (getThreadGlobalObject): Use the shared JSGlobalData instance.
1902 2009-01-22 Mark Rowe <mrowe@apple.com>
1904 Rubber-stamped by Anders Carlsson.
1906 Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily.
1908 Current versions of Xcode only respect it for C and Objective-C files,
1909 and our code doesn't currently compile if it is applied to C++ and
1910 Objective-C++ files.
1912 * Configurations/Base.xcconfig:
1914 2009-01-19 Sam Weinig <sam@webkit.org>
1916 Rubber-stamped by Gavin Barraclough.
1918 Remove temporary operator-> from JSValuePtr.
1921 (KJSValueToJSObject):
1922 (KJSValueToCFTypeInternal):
1923 * JSValueWrapper.cpp:
1924 (JSValueWrapper::JSObjectCopyPropertyNames):
1925 (JSValueWrapper::JSObjectCopyProperty):
1926 (JSValueWrapper::JSObjectSetProperty):
1927 (JSValueWrapper::JSObjectCallFunction):
1928 (JSValueWrapper::JSObjectMark):
1929 * UserObjectImp.cpp:
1930 (UserObjectImp::getOwnPropertySlot):
1932 2009-01-14 Dan Bernstein <mitz@apple.com>
1934 Reviewed by John Sullivan.
1940 2009-01-09 David Levin <levin@chromium.org>
1942 Reviewed by Oliver Hunt.
1944 https://bugs.webkit.org/show_bug.cgi?id=23175
1946 Added forwarding header.
1948 * ForwardingHeaders/wtf/PtrAndFlags.h: Added.
1950 2009-01-05 Gavin Barraclough <baraclough@apple.com>
1952 Rubber Stamped by Oliver Hunt.
1954 Replace all uses of JSValue* with new wrapper class, JSValuePtr.
1955 See JavaScriptCore/ChangeLog for more detailed description.
1958 (nativeCallFunction):
1960 (KJSValueToJSObject):
1962 (KJSValueToCFTypeInternal):
1965 * JSValueWrapper.cpp:
1966 (JSValueWrapper::JSValueWrapper):
1967 (JSValueWrapper::GetValue):
1968 (JSValueWrapper::JSObjectCopyProperty):
1969 (JSValueWrapper::JSObjectSetProperty):
1970 (JSValueWrapper::JSObjectCallFunction):
1972 * UserObjectImp.cpp:
1973 (UserObjectImp::callAsFunction):
1974 (UserObjectImp::userObjectGetter):
1975 (UserObjectImp::getOwnPropertySlot):
1976 (UserObjectImp::put):
1977 (UserObjectImp::toPrimitive):
1979 (UserObjectImp::createStructure):
1981 2008-12-15 Mark Rowe <mrowe@apple.com>
1983 Rubber-stamped by Cameron Zwarich.
1985 <rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on Leopard.
1987 * Configurations/Base.xcconfig:
1988 * Configurations/DebugRelease.xcconfig:
1990 2008-12-08 David Kilzer <ddkilzer@apple.com>
1992 Bug 22555: Sort "children" sections in Xcode project files
1994 <https://bugs.webkit.org/show_bug.cgi?id=22555>
1996 Reviewed by Eric Seidel.
1998 * JavaScriptGlue.xcodeproj/project.pbxproj: Sorted.
2000 2008-11-17 Geoffrey Garen <ggaren@apple.com>
2002 Reviewed by Sam Weinig.
2004 Updated for JavaScriptCore rename.
2006 * ForwardingHeaders/runtime/CallFrame.h: Copied from JavaScriptGlue/ForwardingHeaders/runtime/ExecState.h.
2007 * ForwardingHeaders/runtime/ExecState.h: Removed.
2010 2008-11-17 Geoffrey Garen <ggaren@apple.com>
2012 Reviewed by Sam Weinig.
2014 Updated for JavaScriptCore rename.
2016 * ForwardingHeaders/interpreter: Added.
2017 * ForwardingHeaders/interpreter/CallFrame.h: Copied from ForwardingHeaders/runtime/ExecState.h.
2018 * ForwardingHeaders/runtime/ExecState.h: Removed.
2020 2008-11-15 Darin Adler <darin@apple.com>
2022 Rubber stamped by Geoff Garen.
2024 - do the long-planned StructureID -> Structure rename
2027 (JSGlueGlobalObject::JSGlueGlobalObject):
2030 (JSGlueGlobalObject::userObjectStructure):
2032 (getThreadGlobalObject):
2033 * UserObjectImp.cpp:
2034 (UserObjectImp::UserObjectImp):
2036 (UserObjectImp::createStructure):
2038 2008-11-15 Geoffrey Garen <ggaren@apple.com>
2040 Reviewed by Sam Weinig.
2042 Updated for JavaScriptCore renames.
2046 (JSRun::CheckSyntax):
2048 2008-11-05 Cameron Zwarich <zwarich@apple.com>
2052 Fix the JavaScriptGlue build. This wouldn't show up unless one was
2053 doing a clean build, because changes in JavaScriptCore don't cause
2054 anything in JavaScriptGlue to get rebuilt.
2058 * JavaScriptGlue.cpp:
2060 2008-11-04 Cameron Zwarich <zwarich@apple.com>
2062 Reviewed by Mark Rowe.
2064 Remove JavaScriptGlue forwarding headers that are no longer necessary,
2065 and correct the path of the ExecState.h forwarding header.
2067 * ForwardingHeaders/kjs: Removed.
2068 * ForwardingHeaders/kjs/CTI.h: Removed.
2069 * ForwardingHeaders/kjs/ExecState.h: Removed.
2070 * ForwardingHeaders/kjs/JSValue.h: Removed.
2071 * ForwardingHeaders/kjs/PutPropertySlot.h: Removed.
2072 * ForwardingHeaders/kjs/ustring.h: Removed.
2073 * ForwardingHeaders/runtime: Added.
2074 * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
2077 2008-10-31 Stephanie Lewis <slewis@apple.com>
2079 Fix build by including right files.
2083 2008-10-30 Mark Rowe <mrowe@apple.com>
2085 Reviewed by Jon Homeycutt.
2087 Explicitly default to building for only the native architecture in debug and release builds.
2089 * Configurations/DebugRelease.xcconfig:
2091 2008-10-24 Darin Adler <darin@apple.com>
2093 - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
2096 (nativeCallFunction):
2098 (KJSValueToJSObject):
2100 (KJSValueToCFTypeInternal):
2103 * JSValueWrapper.cpp:
2104 (JSValueWrapper::JSValueWrapper):
2105 (JSValueWrapper::GetValue):
2106 (JSValueWrapper::JSObjectCopyProperty):
2107 (JSValueWrapper::JSObjectSetProperty):
2108 (JSValueWrapper::JSObjectCallFunction):
2110 * UserObjectImp.cpp:
2111 (UserObjectImp::callAsFunction):
2112 (UserObjectImp::userObjectGetter):
2113 (UserObjectImp::getOwnPropertySlot):
2114 (UserObjectImp::put):
2115 (UserObjectImp::toPrimitive):
2117 (UserObjectImp::createStructureID):
2118 Use JSValue* instead of JSValuePtr.
2120 2008-10-23 Darin Adler <darin@apple.com>
2122 - roll out https://bugs.webkit.org/show_bug.cgi?id=21732
2124 * JSValueWrapper.cpp:
2125 (JSValueWrapper::GetValue): Added missing call to .get().
2126 * JSValueWrapper.h: ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.
2128 2008-10-22 Darin Adler <darin@apple.com>
2130 Reviewed by Sam Weinig.
2132 - fix https://bugs.webkit.org/show_bug.cgi?id=21294
2133 Bug 21294: Devirtualize getOwnPropertySlot()
2136 (JSGlueGlobalObject::JSGlueGlobalObject): Moved constructor here.
2137 Set up flags in its new location in global object data, and set up
2138 a structure for UserObjectImp too.
2139 (JSRun::JSRun): Added code to give the JSGlueGlobalObject its own unique
2140 structure, rather than using the default one from JSGlobalObject.
2142 * JSRun.h: Made JSGlueGlobalObject take a structure ID. Also moved
2143 the data into a separate data object. And added userObjectStructure,
2144 a Structure to be used by UserObjectImp.
2146 * JSUtils.cpp: Removed unused sharedGlobalData global.
2147 (JSObjectKJSValue): Pass Structure in when creating UserObjectImp.
2148 (unprotectGlobalObject): Use JSGlueGLobalObject type specifically.
2149 (initializeGlobalObjectKey): Removed code to set up unused sharedGlobalData.
2150 (getThreadGlobalObject): Added. Shared by JSObjectKJSValue and
2151 getThreadGlobalExecState. Also now passes in a structure ID when creating
2153 (getThreadGlobalExecState): Changed to call getThreadGlobalObject.
2155 * UserObjectImp.cpp:
2156 (UserObjectImp::UserObjectImp): Changed to take a structure.
2158 (UserObjectImp::createStructureID): Added. Returns a structure without
2159 HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
2161 2008-10-20 Sam Weinig <sam@webkit.org>
2163 Reviewed by Cameron Zwarich.
2165 Fix for https://bugs.webkit.org/show_bug.cgi?id=21766
2166 REGRESSION: 12 JSC tests fail
2168 The JSGlobalObject constructor no longer takes a JSGlobalData
2174 (JSGlueGlobalObject::JSGlueGlobalObject):
2176 (getThreadGlobalExecState):
2178 2008-10-19 Darin Adler <darin@apple.com>
2180 Reviewed by Oliver Hunt.
2182 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
2183 improve performance by eliminating JSValue as a base class for JSCell
2185 Remove most uses of JSValue, which will be removed in a future patch.
2187 * JSValueWrapper.h: Use JSValuePtr instead of JSValue*.
2189 2008-10-18 Darin Adler <darin@apple.com>
2191 Reviewed by Oliver Hunt.
2193 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
2194 improve performance by eliminating JSValue as a base class for JSCell
2196 Tweak a little more to get closer to where we can make JSValuePtr a class.
2199 (nativeCallFunction): Call asObject.
2202 (KJSValueToJSObject): Use JSValuePtr and asObject.
2203 (JSObjectKJSValue): Ditto.
2204 (KJSValueToCFTypeInternal): Ditto.
2205 (KJSValueToCFType): Ditto.
2208 * UserObjectImp.cpp:
2209 (UserObjectImp::callAsFunction): Use JSValuePtr and asObject.
2210 (UserObjectImp::userObjectGetter): Ditto.
2211 (UserObjectImp::getOwnPropertySlot): Ditto.
2212 (UserObjectImp::put): Ditto.
2213 (UserObjectImp::toPrimitive): Ditto.
2214 * UserObjectImp.h: Ditto.
2216 2008-10-18 Darin Adler <darin@apple.com>
2218 Reviewed by Cameron Zwarich.
2220 - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
2221 improve performance by eliminating JSValue as a base class for JSCell
2223 Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
2224 changing JSValuePtr to be a class, and then eventually renaming it
2225 to JSValue once that's done.
2228 * JSValueWrapper.cpp:
2229 * UserObjectImp.cpp:
2231 Replace JSValue* with JSValuePtr.
2233 2008-10-13 Maciej Stachowiak <mjs@apple.com>
2235 Rubber stamped by Mark Rowe.
2237 - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
2239 * Configurations/DebugRelease.xcconfig:
2241 2008-10-06 Maciej Stachowiak <mjs@apple.com>
2243 Not reviewed. Build fix.
2245 - revert toBoolean changes (r37333 and r37335); need to make WebCore work with these
2248 (KJSValueToCFTypeInternal):
2250 2008-10-06 Maciej Stachowiak <mjs@apple.com>
2254 - fix build; toBoolean no longer takes an ExecState
2257 (KJSValueToCFTypeInternal):
2259 2008-10-04 Mark Rowe <mrowe@apple.com>
2261 Reviewed by Tim Hatcher.
2263 Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
2265 * JavaScriptGlue.xcodeproj/project.pbxproj:
2267 2008-10-01 Geoffrey Garen <ggaren@apple.com>
2269 Reviewed by Darin Adler and Cameron Zwarich.
2273 (JSRun::CheckSyntax): Provide a SourceCode to the Interpreter, since
2274 other APIs are no longer supported.
2276 2008-09-29 Geoffrey Garen <ggaren@apple.com>
2280 Forwarding headers to fix the build.
2282 * ForwardingHeaders/kjs/CTI.h: Copied from ForwardingHeaders/kjs/ExecState.h.
2283 * ForwardingHeaders/kjs/ustring.h: Copied from ForwardingHeaders/kjs/ExecState.h.
2284 * ForwardingHeaders/masm: Added.
2285 * ForwardingHeaders/masm/X86Assembler.h: Added.
2286 * ForwardingHeaders/profiler: Added.
2287 * ForwardingHeaders/profiler/Profiler.h: Added.
2289 2008-09-08 Sam Weinig <sam@webkit.org>
2291 Reviewed by Maciej Stachowiak and Oliver Hunt.
2293 Add forwarding headers.
2295 * ForwardingHeaders/wtf/HashFunctions.h: Added.
2296 * ForwardingHeaders/wtf/HashTraits.h: Added.
2298 2008-09-02 Geoffrey Garen <ggaren@apple.com>
2300 Reviewed by Sam Weinig.
2302 Implemented the rest of Darin's review comments for the 09-01 inline
2305 * ForwardingHeaders/kjs/PutPropertySlot.h: Added.
2307 2008-09-01 Geoffrey Garen <ggaren@apple.com>
2309 Reviewed by Darin Adler.
2311 First cut at inline caching for access to vanilla JavaScript properties.
2313 Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
2314 to JavaScriptGlue classes, and PutPropertySlot& arguments to put functions.
2316 2008-08-22 Anders Carlsson <andersca@apple.com>
2318 Fix build for real this time.
2322 2008-08-22 Anders Carlsson <andersca@apple.com>
2326 * UserObjectImp.cpp:
2327 (UserObjectImp::toPrimitive):
2330 2008-08-19 Alexey Proskuryakov <ap@webkit.org>
2332 Reviewed by Geoff Garen.
2334 Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
2340 (KJSValueToCFTypeInternal):
2341 (unprotectGlobalObject):
2343 * JSValueWrapper.cpp:
2344 (JSValueWrapper::JSObjectCopyPropertyNames):
2345 (JSValueWrapper::JSObjectCopyProperty):
2346 (JSValueWrapper::JSObjectSetProperty):
2347 (JSValueWrapper::JSObjectCallFunction):
2348 (JSValueWrapper::JSObjectCopyCFValue):
2349 * JavaScriptGlue.cpp:
2354 (JSLockInterpreter):
2355 (JSUnlockInterpreter):
2356 * UserObjectImp.cpp:
2357 (UserObjectImp::callAsFunction):
2359 2008-08-12 Darin Adler <darin@apple.com>
2363 - eliminate JSValue::type()
2366 (KJSValueToCFTypeInternal): Replaced uses of JSValue::type() with
2367 JSValue::is functions.
2368 * UserObjectImp.cpp:
2369 (UserObjectImp::getOwnPropertySlot): Ditto.
2370 (UserObjectImp::toPrimitive): Take PreferredPrimitiveType argument
2371 instead of JSType argument.
2372 * UserObjectImp.h: Ditto.
2374 2008-08-17 Geoffrey Garen <ggaren@apple.com>
2376 Reviewed by Cameron Zwarich.
2378 Updated project files to XCode 3.1.
2380 * JavaScriptGlue.xcodeproj/project.pbxproj:
2382 2008-08-15 Mark Rowe <mrowe@apple.com>
2384 Rubber-stamped by Geoff Garen.
2386 <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
2388 * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
2389 between the Debug configuration and debug Production variant.
2390 * JavaScriptGlue.xcodeproj/project.pbxproj: Enable the debug variant.
2392 2008-07-31 Alexey Proskuryakov <ap@webkit.org>
2394 Rubber-stamped by Maciej.
2396 Eliminate JSLock (it was already disabled, removing the stub implementaion and all
2403 (KJSValueToCFTypeInternal):
2404 (unprotectGlobalObject):
2406 * JSValueWrapper.cpp:
2407 (JSValueWrapper::JSObjectCopyPropertyNames):
2408 (JSValueWrapper::JSObjectCopyProperty):
2409 (JSValueWrapper::JSObjectSetProperty):
2410 (JSValueWrapper::JSObjectCallFunction):
2411 (JSValueWrapper::JSObjectCopyCFValue):
2412 * JavaScriptGlue.cpp:
2417 (JSLockInterpreter):
2418 (JSUnlockInterpreter):
2419 * UserObjectImp.cpp:
2420 (UserObjectImp::callAsFunction):
2422 2008-07-29 Alexey Proskuryakov <ap@webkit.org>
2424 Reviewed by Geoff Garen.
2426 Implement JSContextGroup APIs to make concurrent execution possible for
2427 JavaScriptCore clients.
2432 (getThreadGlobalExecState):
2433 Changed JavaScriptGlue to use a JSGlobalData of its own, now that there is no shared
2436 2008-07-23 Alexey Proskuryakov <ap@webkit.org>
2438 Reviewed by Geoff Garen.
2440 Make JSClassRef work with any context, not just the first one it was used in.
2442 * ForwardingHeaders/wtf/HashMap.h: Added.
2444 2008-07-22 Geoffrey Garen <ggaren@apple.com>
2446 Reviewed by Oliver Hunt and Sam Weinig.
2448 Next step toward putting doubles in registers: Prepare the Register class
2449 and its clients for registers that don't contain JSValue*s.
2451 2008-07-21 Mark Rowe <mrowe@apple.com>
2453 Reviewed by Sam Weinig.
2455 <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
2457 * Configurations/Version.xcconfig:
2460 2008-07-18 Geoffrey Garen <ggaren@apple.com>
2462 Reviewed by Cameron Zwarich.
2466 "CallTypeNative" => "CallTypeHost"
2467 "code" => "byteCode"
2468 "generatedCode" => "generatedByteCode"
2472 (JSUserObject::getCallData):
2474 2008-07-14 Alexey Proskuryakov <ap@webkit.org>
2476 Reviewed by Geoff Garen.
2478 Eliminate per-thread JavaScript global data instance support and make arbitrary
2479 global data/global object combinations possible.
2481 * ForwardingHeaders/wtf/ThreadSpecific.h: Added.
2485 (getThreadGlobalExecState):
2486 Adapt to the new way of asking for shared JSGlobalData.
2488 2008-07-10 Mark Rowe <mrowe@apple.com>
2490 Reviewed by Sam Weinig.
2492 Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
2494 * Configurations/JavaScriptGlue.xcconfig:
2496 2008-07-09 Mark Rowe <mrowe@apple.com>
2498 Reviewed by Geoff Garen.
2500 Don't warn about deprecated functions in production builds.
2502 * Configurations/Base.xcconfig:
2503 * Configurations/DebugRelease.xcconfig:
2505 2008-07-08 Alexey Proskuryakov <ap@webkit.org>
2507 Reviewed by Darin Adler.
2509 <rdar://problem/6058368> REGRESSION: Crash occurs in KJS::Machine after launching
2512 The problem was that JSUserObject::getCallData() was setting call type to native, but
2513 left callData.native.function uninitialized.
2516 (JSUserObject::getCallData): Initialize callData.native.function.
2517 (nativeCallFunction): Call UserObjectImp::callAsFunction().
2519 2008-07-04 Sam Weinig <sam@webkit.org>
2521 Rubber-stamped by Dan Bernstein.
2523 * JSObject.h: Rename the header guard as it now conflicts with the
2524 JSObject in JavaScriptCore.
2526 2008-07-01 Alexey Proskuryakov <ap@webkit.org>
2528 Reviewed by Darin Adler.
2530 Disable JSLock for per-thread contexts.
2532 * ForwardingHeaders/wtf/Locker.h: Added.
2533 * ForwardingHeaders/wtf/Threading.h: Added.
2538 (KJSValueToCFTypeInternal):
2539 (unprotectGlobalObject):
2541 * JSValueWrapper.cpp:
2542 (JSValueWrapper::JSObjectCopyPropertyNames):
2543 (JSValueWrapper::JSObjectCopyProperty):
2544 (JSValueWrapper::JSObjectSetProperty):
2545 (JSValueWrapper::JSObjectCallFunction):
2546 (JSValueWrapper::JSObjectCopyCFValue):
2547 * JavaScriptGlue.cpp:
2552 (JSLockInterpreter):
2553 (JSUnlockInterpreter):
2554 * UserObjectImp.cpp:
2555 (UserObjectImp::callAsFunction):
2556 Pass a parameter (always true) to JSLock and JSLock::DropAllLocks to indicate that JSG
2557 clients always need implicit mutex protection.
2558 Added includes that are now needed.
2560 2008-06-26 Darin Adler <darin@apple.com>
2564 * JSUtils.cpp: Added include of <JavaScriptCore/JSString.h> since jsString
2565 will soon be changed to return a JSString*.
2566 * UserObjectImp.cpp: Ditto.
2568 2008-06-23 Darin Adler <darin@apple.com>
2572 * JSValueWrapper.cpp:
2573 (JSValueWrapper::JSObjectCallFunction): Updated to use getCallData and call instead
2574 of the old callAsFunction.
2576 2008-06-17 Alexey Proskuryakov <ap@webkit.org>
2578 Reviewed by Darin Adler.
2580 Prepare JavaScript heap for being per-thread.
2582 * JSRun.cpp: (JSRun::JSRun): Create JSGlueGlobalObject in a shared JS heap.
2584 * JSUtils.h: Made getThreadGlobalExecState available throughout JSGlue.
2587 (JSObjectKJSValue): Pass an ExecState where now required.
2588 (unprotectGlobalObject):
2589 (initializeGlobalObjectKey):
2590 (getThreadGlobalExecState):
2591 Moved these functions from JSValueWrapper.cpp, as the global exec state is now needed
2592 elsewhere. I'm not quite sure how this relates to the global object from JSRun, but
2593 since the new uses are all for Heap access, there doesn't seem to be any behavior change.
2595 * JavaScriptGlue.cpp:
2596 (JSLockInterpreter): Don't call registerThread explicitly, as JSLock will do that.
2598 * UserObjectImp.cpp: (UserObjectImp::toPrimitive): Pass ExecState* where now required.
2600 2008-06-17 Mark Rowe <mrowe@apple.com>
2602 Reviewed by Darin Adler.
2604 <rdar://problem/5775802> JavaScriptGlue should not force use of GCC 4.0.
2606 * JavaScriptGlue.xcodeproj/project.pbxproj:
2608 2008-06-16 Maciej Stachowiak <mjs@apple.com>
2612 - removed nearly unused types.h and LocalStorageEntry.h headers
2616 2008-06-16 Alexey Proskuryakov <ap@webkit.org>
2618 Reviewed by Geoff Garen.
2620 Make Identifier construction use an explicitly passed IdentifierTable.
2623 (CFStringToIdentifier):
2624 (KJSValueToCFTypeInternal):
2626 * JSValueWrapper.cpp:
2627 (JSValueWrapper::JSObjectCopyPropertyNames):
2628 (JSValueWrapper::JSObjectCopyProperty):
2629 (JSValueWrapper::JSObjectSetProperty):
2630 * UserObjectImp.cpp:
2631 (UserObjectImp::getPropertyNames):
2632 Pass ExecState or JSGlobalData everywhere.
2634 2008-06-15 Darin Adler <darin@apple.com>
2636 - rename KJS::List to KJS::ArgList
2638 * JSValueWrapper.cpp:
2639 (JSValueWrapper::JSObjectCallFunction):
2640 * UserObjectImp.cpp:
2641 (UserObjectImp::callAsFunction):
2644 2008-06-15 Darin Adler <darin@apple.com>
2646 - new names for a few key JavaScriptCore files
2648 * ForwardingHeaders/kjs/JSValue.h: Copied from JavaScriptGlue/ForwardingHeaders/kjs/value.h.
2649 * ForwardingHeaders/kjs/value.h: Removed.
2652 2008-06-03 Darin Adler <darin@apple.com>
2654 - update for JavaScriptCore changes for https://bugs.webkit.org/show_bug.cgi?id=19269
2655 speed up SunSpider by eliminating the toObject call for most get/put/delete
2657 * UserObjectImp.cpp:
2658 (UserObjectImp::userObjectGetter): Removed originalObject argument.
2659 * UserObjectImp.h: Ditto.
2661 2008-06-02 Geoffrey Garen <ggaren@apple.com>
2663 Reviewed by Alexey Proskuryakov.
2665 Removed JSObject::call, since it just called JSObject::callAsFunction.
2667 SunSpider reports no change.
2669 2008-05-28 Geoffrey Garen <ggaren@apple.com>
2671 Reviewed by Oliver Hunt.
2673 Fixed total destruction in Software Update.app.
2675 Updated JavaScriptGlue to honor squirrelfish's new getCallData mechanism for
2676 indicating that an object can be called as a function.
2678 2008-05-10 Maciej Stachowiak <mjs@apple.com>
2682 - JavaScriptGlue part of fix for: "SQUIRRELFISH: function toString broken after calling"
2683 https://bugs.webkit.org/show_bug.cgi?id=18869
2686 (JSRun::Evaluate): Use UString version of eveluate() instead of
2687 the now departed UChar*/length variant; use of the lower-level
2688 version was gratuitous in any case.
2689 (JSRun::CheckSyntax): Ditto for checkSyntax().
2691 2008-04-30 Geoffrey Garen <ggaren@apple.com>
2693 Build fix: supply missing parameter that used to be implicit.
2698 2008-03-30 Geoffrey Garen <ggaren@apple.com>
2700 Reviewed by Oliver Hunt.
2704 * ForwardingHeaders/wtf/UnusedParam.h: Copied from ForwardingHeaders/wtf/OwnPtr.h.
2706 2008-05-12 Alexey Proskuryakov <ap@webkit.org>
2708 Roll out recent threading changes (r32807, r32810, r32819, r32822) to simplify
2709 SquirrelFish merging.
2714 * JSValueWrapper.cpp:
2715 (unprotectGlobalObject):
2716 (initializeGlobalObjectKey):
2717 (getThreadGlobalExecState):
2718 * JavaScriptGlue.cpp:
2720 (JSLockInterpreter):
2721 * UserObjectImp.cpp:
2722 (UserObjectImp::toPrimitive):
2724 2008-05-02 Alexey Proskuryakov <ap@webkit.org>
2726 Reviewed by Darin Adler.
2728 Make JavaScriptGlue and JavaScriptCore API functions implicitly call initializeThreading
2729 for the sake of non-WebKit clients.
2731 * JavaScriptGlue.cpp:
2734 (JSCreateJSArrayFromCFArray):
2735 (JSLockInterpreter):
2736 These are all possible JavaScriptGlue entry points.
2738 2008-05-02 Alexey Proskuryakov <ap@webkit.org>
2740 Reviewed by Geoffrey Garen.
2742 https://bugs.webkit.org/show_bug.cgi?id=18826
2743 Make JavaScript heap per-thread
2745 * JSValueWrapper.cpp:
2747 Moved getThreadGlobalExecState() to JSUtils and made it extern, as ExecState is now needed
2748 for all JS allocations.
2751 (JSObjectKJSValue): Pass ExecState to functions that now need it.
2752 (unprotectGlobalObject): Moved from JSValueWrapper.cpp.
2753 (initializeGlobalObjectKey): Ditto.
2754 (getThreadGlobalExecState): Ditto.
2756 * UserObjectImp.cpp: (UserObjectImp::toPrimitive): Pass ExecState to jsString and jsNumber.
2758 * JavaScriptGlue.cpp:
2759 (JSCollect): Use current thread's heap.
2760 (JSLockInterpreter): Removed JSLock::registerThread(), because a JS heap doesn't need to
2761 know about other threads.
2763 2008-04-25 Alexey Proskuryakov <ap@webkit.org>
2765 Reviewed by Darin Adler.
2767 Fix run-webkit-tests --threading
2768 and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
2769 Proxy server issue in Sunday's Nightly
2771 * UserObjectImp.cpp: Adjusted for the new member added to ClassInfo.
2773 2008-04-25 Mark Rowe <mrowe@apple.com>
2775 Reviewed by Adele Peterson.
2777 <rdar://problem/5891264> Don't install the JavaScriptGlue headers
2779 * JavaScriptGlue.xcodeproj/project.pbxproj:
2781 2008-04-25 Mark Rowe <mrowe@apple.com>
2783 Rubber-stamped by Sam Weinig.
2785 Add some content to an empty ICU header file to prevent verification errors.
2787 * icu/unicode/utf_old.h:
2789 2008-04-02 Mark Rowe <mrowe@apple.com>
2791 Reviewed by Oliver Hunt.
2793 Ensure that debug symbols are generated for x86_64 and ppc64 builds.
2795 * Configurations/Base.xcconfig:
2797 2008-03-20 Maciej Stachowiak <mjs@apple.com>
2801 * ForwardingHeaders/wtf/ListRefPtr.h: Added.
2803 2008-03-01 Mark Rowe <mrowe@apple.com>
2805 Reviewed by Tim Hatcher.
2807 Update Xcode configuration to support building debug and release from the mysterious future.
2809 * Configurations/Base.xcconfig:
2810 * Configurations/DebugRelease.xcconfig:
2812 2008-02-29 Geoffrey Garen <ggaren@apple.com>
2814 Reviewed by David Harrison.
2816 Fixed <rdar://problem/5765063> TOT REGRESSION: Software Update crash in
2817 KJS::Collector::collect() (missing JSLock)
2819 * JSValueWrapper.cpp:
2820 (unprotectGlobalObject): Added missing JSLock.
2822 2008-02-05 Mark Rowe <mrowe@apple.com>
2824 Reviewed by Oliver Hunt.
2826 Update versioning to support the mysterious future.
2828 * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
2830 2008-01-28 Eric Seidel <eric@webkit.org>
2834 Add icu headers to JSG in preparation for depending on ::UChar.
2836 * Configurations/Base.xcconfig:
2837 * ForwardingHeaders/wtf/unicode: Added.
2838 * ForwardingHeaders/wtf/unicode/Unicode.h: Added.
2839 * ForwardingHeaders/wtf/unicode/icu: Added.
2840 * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Added.
2841 * icu: Copied from ../JavaScriptCore/icu.
2843 2007-12-19 Geoffrey Garen <ggaren@apple.com>
2847 * ForwardingHeaders/wtf/VectorTraits.h: Added.
2849 2007-12-10 Timothy Hatcher <timothy@apple.com>
2851 Reviewed by Mark Rowe.
2853 <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
2855 * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
2856 so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
2858 2007-12-04 Geoffrey Garen <ggaren@apple.com>
2860 Reviewed by Darin Adler.
2862 Third step in refactoring JSGlobalObject: Moved data members and data
2863 member access from Interpreter to JSGlobalObject. Replaced JSInterpreter
2864 subclass with JSGlobalObject subclass.
2869 (JSRun::CheckSyntax):
2871 (JSGlueGlobalObject::JSGlueGlobalObject):
2873 (KJSValueToCFTypeInternal):
2874 * JSValueWrapper.cpp:
2875 (getThreadGlobalExecState):
2877 2007-12-02 Geoffrey Garen <ggaren@apple.com>
2879 Reviewed by Eric Seidel.
2881 Updated to match the JavaScriptCore change to move virtual methods from
2882 Interpreter to JSGlobalObject.
2886 * JSValueWrapper.cpp:
2887 (getThreadGlobalExecState):
2888 * JavaScriptGlue.cpp:
2889 (JSRunCopyGlobalObject):
2892 2007-11-30 Geoffrey Garen <ggaren@apple.com>
2894 Reviewed by Beth Dakin.
2896 Modified to follow new JSGlobalObject/Interpreter ownership rules
2901 (JSRun::GetInterpreter):
2903 (JSRun::CheckSyntax):
2905 * JSValueWrapper.cpp:
2906 (unprotectGlobalObject):
2907 (initializeGlobalObjectKey):
2908 (getThreadGlobalExecState):
2910 2007-11-29 Mark Rowe <mrowe@apple.com>
2914 Fix REGRESSION(r27885): Installer hits assertion failure in JavaScriptGlue.
2916 * JSValueWrapper.cpp:
2917 (getThreadGlobalExecState): Set the global object on the Interpreter before using it.
2919 2007-11-27 Anders Carlsson <andersca@apple.com>
2924 (KJSValueToCFTypeInternal):
2925 * JSValueWrapper.cpp:
2926 (JSValueWrapper::JSObjectCopyPropertyNames):
2928 2007-11-21 Mark Rowe <mrowe@apple.com>
2932 Fix JavaScriptGlue to build without warnings using GCC 4.2.
2934 * Configurations/Base.xcconfig:
2937 2007-11-17 Mark Rowe <mrowe@apple.com>
2939 Reviewed by Darin Adler.
2941 Fix: <rdar://problem/5607032> REGRESSION: testapi exits with assertion failure in debug build
2942 <rdar://problem/5440659> JSGlobalContextCreate throws away globalObjectClass's prototype
2943 http://bugs.webkit.org/show_bug.cgi?id=16033
2945 Update for changes in Interpreter method signatures.
2949 2007-11-13 Geoffrey Garen <ggaren@apple.com>
2951 Reviewed by Anders Carlsson.
2953 Renamed Shared to RefCounted.
2955 * ForwardingHeaders/wtf/RefCounted.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/Shared.h.
2956 * ForwardingHeaders/wtf/Shared.h: Removed.
2958 2007-11-13 Geoffrey Garen <ggaren@apple.com>
2960 Reviewed by Sam Weinig.
2962 Moved Shared.h into wtf so it could be used in more places.
2964 * ForwardingHeaders/wtf/Shared.h: Added.
2966 2007-11-08 Mark Rowe <mrowe@apple.com>
2970 * ForwardingHeaders/wtf/MathExtras.h: Copied from WebCore/ForwardingHeaders/wtf/MathExtras.h.
2972 2007-11-05 Geoffrey Garen <ggaren@apple.com>
2976 * ForwardingHeaders/kjs/value.h: Added.
2978 2007-11-03 Sam Weinig <sam@webkit.org>
2982 * UserObjectImp.cpp:
2984 2007-11-03 David D. Kilzer <ddkilzer@webkit.org>
2986 Sort files(...); sections of Xcode project files.
2988 Rubber-stamped by Darin Adler.
2990 * JavaScriptGlue.xcodeproj/project.pbxproj:
2992 2007-10-25 Eric Seidel <eric@webkit.org>
2996 Make JSG build again after JSGlobalObject change.
3000 (JSRun::GlobalObject):
3002 (JSInterpreter::JSInterpreter):
3005 2007-10-11 Mark Rowe <mrowe@apple.com>
3007 Reviewed by Tim Hatcher.
3009 Fix for <rdar://problem/5488678>. Disable debugging symbols in production builds for 10.4
3010 PowerPC to prevent a huge STABS section from being generated.
3012 * Configurations/Base.xcconfig:
3014 2007-10-04 Mark Rowe <mrowe@apple.com>
3018 Switch to default level of debugging symbols to resolve <rdar://problem/5488678>.
3019 The "full" level appears to offer no observable benefits even though the documentation
3020 suggests it be used for dead code stripping. This should also decrease link times.
3022 * Configurations/Base.xcconfig:
3024 2007-09-03 Mark Rowe <mrowe@apple.com>
3026 Reviewed by Tim Hatcher.
3028 <rdar://problem/5452164> Production build with in symbols directory has no debug info
3030 Enable debug symbol generation on all build configurations. Production builds are stripped
3031 of symbols by Xcode during deployment post-processing.
3033 * Configurations/Base.xcconfig:
3034 * JavaScriptGlue.xcodeproj/project.pbxproj:
3036 2007-08-09 Mark Rowe <mrowe@apple.com>
3040 <rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +
3042 * Configurations/Version.xcconfig:
3043 * JavaScriptGlue.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between
3044 Version.xcconfig and Info.plist explicit to Xcode.
3046 2007-07-16 Sam Weinig <sam@webkit.org>
3050 Turn off -Wshorten-64-to-32 warning for 64-bit builds.
3052 * Configurations/Base.xcconfig:
3054 2007-04-27 Mark Rowe <mrowe@apple.com>
3058 * JavaScriptGlue.xcodeproj/project.pbxproj: Improve dependencies in Xcode project
3059 by marking JavaScriptGlue as a dependency of testjsglue.
3061 2007-03-24 Mark Rowe <mrowe@apple.com>
3063 Reviewed by Dave Hyatt.
3065 * JavaScriptGlue.xcodeproj/project.pbxproj: Use GCC 4.0 for testjsglue.
3067 2007-03-24 Mark Rowe <mrowe@apple.com>
3069 Rubber-stamped by Darin Adler.
3071 * Configurations/JavaScriptGlue.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS.
3073 2007-03-19 Andrew Wellington <proton@wiretapped.net>
3077 Really set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
3079 * JavaScriptGlue.xcodeproj/project.pbxproj:
3081 2007-03-18 Andrew Wellington <proton@wiretapped.net>
3083 Reviewed by Mark Rowe
3085 Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
3087 * JavaScriptGlue.xcodeproj/project.pbxproj:
3089 2007-03-17 Timothy Hatcher <timothy@apple.com>
3091 Reviewed by Mark Rowe.
3093 Made Version.xcconfig smarter when building for different configurations.
3094 Now uses the 522+ OpenSource version for Debug and Release, while using the
3095 full 522.4 version for Production builds. The system prefix is also computed
3096 based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.
3098 * Configurations/JavaScriptGlue.xcconfig:
3099 * Configurations/Version.xcconfig:
3101 2007-03-15 Timothy Hatcher <timothy@apple.com>
3105 * Factored out most of our common build settings into .xcconfig files. Anything that was common in
3106 each build configuration was factored out into the shared .xcconfig file.
3107 * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
3108 * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
3109 * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
3111 * Configurations/Base.xcconfig: Added.
3112 * Configurations/DebugRelease.xcconfig: Added.
3113 * Configurations/JavaScriptGlue.xcconfig: Added.
3114 * Configurations/Version.xcconfig: Added.
3116 * JavaScriptGlue.xcodeproj/project.pbxproj:
3118 === Safari-5522.4 ===
3120 2007-03-12 Geoffrey Garen <ggaren@apple.com>
3122 Reviewed by Oliver Hunt.
3124 Updated in light of fix for <rdar://problem/4681051> Installer crashes
3125 in KJS::Collector::markOtherThreadConservatively(KJS::Collector::Thread*)
3126 trying to install iLife 06 using Rosetta on an Intel Machine
3128 * JavaScriptGlue.cpp:
3129 (JSLockInterpreter): Ensure backwards compatibility by calling
3130 registerThread() when explicitly taking the JSLock. (This doesn't happen
3131 automatically anymore.) I doubt this actally matters, but in JavaScriptGlue
3132 territory, that kind of thinking will get you killed.
3134 2007-03-06 Geoffrey Garen <ggaren@apple.com>
3136 Reviewed by Maciej Stachowiak.
3138 Fixed all known crashers exposed by run-webkit-tests --threaded while using
3139 a PAC file (for maximum carnage). See JavaScriptCore ChangeLog for
3143 (JSBase::Release): Lock when deleting, because we may be deleting an object
3144 (like a JSRun) that holds thread-unsafe data.
3147 (CFStringToUString): Don't lock, because our caller locks. Also, locking
3148 inside a function that returns thread-unsafe data by copy will only mask
3151 * JavaScriptGlue.cpp:
3152 (JSRunEvaluate): Added missing JSLock.
3153 (JSRunCheckSyntax): Converted to JSLock.
3154 * JavaScriptGlue.xcodeproj/project.pbxproj:
3156 2007-02-22 Geoffrey Garen <ggaren@apple.com>
3158 Reviewed by Darin Adler.
3160 Fixed <rdar://problem/4942528> Installer.app Stuck "Examining additional
3163 The problem was that JavaScriptGlue held a JSObject in a static pointer
3164 without protecting it from garbage collection.
3166 sUserObjectPrototypeImp = new UserObjectPrototypeImp();
3167 static ProtectedPtr<UserObjectPrototypeImp> protectPrototype; // valiant, brave, but useless
3169 Through an interesting comedy of errors, this object would be collected
3170 and then assigned as the prototype of another object allocated at the
3171 same address, thus becoming its own prototype. (See http://www.ziplo.com/grandpa.htm
3172 for further explanation of this phenomenon.) Hence the infinte loop in
3175 The solution is equally humorous: all of this code was completely useless --
3176 it only served to create an empty object in the prototype chain -- so
3179 * UserObjectImp.cpp:
3180 (UserObjectImp::UserObjectImp):
3183 2007-02-19 Timothy Hatcher <timothy@apple.com>
3187 <rdar://problem/4636301> Deprecate JavaScriptGlue
3189 * JavaScriptGlue.h: adds DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER to everything
3190 * JavaScriptGlue.xcodeproj/project.pbxproj: use -Wno-deprecated-declarations to keep the project building
3191 * config.h: define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER as empty on other systems
3193 2007-02-16 Darin Adler <darin@apple.com>
3197 - fix <rdar://problem/5000216> JavaScriptGlue framework started turning all CFNumbers
3198 into signed 32bit values
3200 Circumstantial evidence seems to indicate that JavaScriptGlue was depending on a bug
3201 in CFNumber where CFNumberIsFloatType was returning true for 64-bit integer values.
3203 * JSUtils.cpp: (JSObjectKJSValue): Removed the call to CFNumberIsFloatType in the
3204 conversion of numeric values, and always use kCFNumberDoubleType, since double is
3205 the internal format of numbers in JavaScriptCore. There's no value to having a
3206 separate code path for integers. There's also no reason to check the return value
3207 from CFNumberGetValue -- if it returns false it still does the best it can to convert
3208 to a double, which is what we want.
3210 * UserObjectImp.cpp: (UserObjectImp::toString): Removed a similar code path that
3211 tried to handle integers separate from double. Instead, always use a double. For
3212 compatibility, use a format without a decimal point when CFNumberIsFloatType returns
3213 false. Also removed a bogus cast to float; the "%f" format string takes a double,
3214 not a float, so all the cast did was cut down on precision.
3216 2007-01-25 Mark Rowe <mrowe@apple.com>
3220 * Info.plist: Update copyright string.
3222 2006-12-19 Timothy Hatcher <timothy@apple.com>
3224 Reviewed by Darin Adler.
3226 <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features
3228 * JavaScriptGlue.xcodeproj/project.pbxproj:
3230 === Safari-521.26 ===
3232 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
3236 Build fix: DWARF and -gfull are incompatible with symbol separation.
3238 * JavaScriptGlue.xcodeproj/project.pbxproj:
3240 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
3244 http://bugs.webkit.org/show_bug.cgi?id=10394
3245 Bug 10394: WebKit Release and Production configurations should enable dead code stripping
3247 * JavaScriptGlue.xcodeproj/project.pbxproj:
3249 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
3253 http://bugs.webkit.org/show_bug.cgi?id=10384
3254 Bug 10384: Switch to DWARF for Release configuration
3256 * JavaScriptGlue.xcodeproj/project.pbxproj:
3258 2006-08-04 Sam Weinig <sam.weinig@gmail.com>
3260 Reviewed by Darin Adler.
3262 - patch for http://bugs.webkit.org/show_bug.cgi?id=10192
3263 Make WebCore (and friends) compile with -Wshorten-64-to-32
3265 * Adds -Wshorten-64-to-32 flag to Xcode project.
3267 * JavaScriptGlue.xcodeproj/project.pbxproj:
3269 2006-08-03 Sam Weinig <sam.weinig@gmail.com>
3271 Reviewed by Darin Adler.
3273 - patch for http://bugs.webkit.org/show_bug.cgi?id=10176
3274 Make WebCore compile with -Wundef
3276 * Adds -Wundef flag to Xcode project
3278 * JavaScriptGlue.xcodeproj/project.pbxproj:
3280 2006-07-29 Sam Weinig <sam.weinig@gmail.com>
3282 Reviewed by Darin Adler.
3284 - patch for http://bugs.webkit.org/show_bug.cgi?id=10080
3285 Adopt pedantic changes from the Unity project to improve
3286 cross-compiler compatibility
3289 * Turning on gcc warning for missing newline at the end of a source file
3290 (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
3292 * JavaScriptGlue.xcodeproj/project.pbxproj:
3294 === Safari-521.19 ===
3296 2006-07-19 Geoffrey Garen <ggaren@apple.com>
3298 Fixed by Darin & Maciej, reviewed by me.
3300 - Fixed <rdar://problem/4638934> Leopard 9A227: Installer crashes right
3301 after LCA and while preparing Installation
3303 Compile release/production with NDEBUG set, to ensure binary compatibility
3304 between JavaScriptGlue and JavaScriptCore. In debug builds, JavaScriptCore
3305 includes an extra debug data member in HashSet.
3307 * JavaScriptGlue.xcodeproj/project.pbxproj:
3309 === Safari-521.18 ===
3311 2006-07-15 Maciej Stachowiak <mjs@apple.com>
3313 Reviewed by Darin Adler.
3315 - switch property lists to be vector+set of Identifiers instead of list of References
3318 (KJSValueToCFTypeInternal): updated for JSC SPI changes
3319 * JSValueWrapper.cpp:
3320 (JSValueWrapper::JSObjectCopyPropertyNames): ditto
3321 * UserObjectImp.cpp:
3322 (UserObjectImp::getPropertyNames): ditto
3325 === Safari-521.17 ===
3327 2006-07-14 Geoffrey Garen <ggaren@apple.com>
3331 - Updated JSInterpreter to work with Interpreter ref-counting in JavaScriptCore.
3333 (JSInterpreter::JSInterpreter::~JSInterpreter): Now protected to catch
3336 2006-07-12 Anders Carlsson <acarlsson@apple.com>
3341 (KJSValueToCFTypeInternal):
3342 * JSValueWrapper.cpp:
3343 (JSValueWrapper::JSObjectCopyPropertyNames):
3344 * UserObjectImp.cpp:
3345 (UserObjectImp::getPropertyList):
3347 === Safari-521.15 ===
3349 2006-07-07 Geoffrey Garen <ggaren@apple.com>
3354 (KJSValueToCFTypeInternal):
3355 * JSValueWrapper.cpp:
3356 (JSValueWrapper::JSObjectCopyPropertyNames):
3358 2006-07-03 Geoffrey Garen <ggaren@apple.com>
3363 (JSRun::CheckSyntax): Updated to use new checkSyntax syntax in JSC.
3364 * JavaScriptGlue.xcodeproj/project.pbxproj:
3366 === Safari-521.14 ===
3368 2006-06-28 Timothy Hatcher <timothy@apple.com>
3370 Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
3372 * JavaScriptGlue.xcodeproj/project.pbxproj:
3374 2006-06-24 David Kilzer <ddkilzer@kilzer.net>
3376 Reviewed by Timothy.
3378 * Info.plist: Fixed copyright to include 2003-2006.
3380 === JavaScriptGlue-521.13 ===
3382 2006-06-20 Geoffrey Garen <ggaren@apple.com>
3386 - Required for JS API: Rename propList to getPropertyList and have it
3387 take its target property list by reference so that subclasses can
3388 add properties to the list before calling through to their superclasses.
3391 (KJSValueToCFTypeInternal):
3392 * JSValueWrapper.cpp:
3393 (JSValueWrapper::JSObjectCopyPropertyNames):
3394 * UserObjectImp.cpp:
3395 (UserObjectImp::getPropertyList):
3398 2006-06-15 Timothy Hatcher <timothy@apple.com>
3400 Reviewed by Geoff and Darin.
3402 Prefer the DWARF debugging symbols format for use in Xcode 2.3.
3404 * JavaScriptGlue.xcodeproj/project.pbxproj:
3406 2006-06-12 Geoffrey Garen <ggaren@apple.com>
3408 Reviewed by TimO, Maciej.
3410 - JSGlue part of merging InterpreterImp into Interpreter.
3412 Since there's now a kjs forwarding header, I moved all forwarding
3413 headers into a "ForwardingHeaders" directory, like in WebCore.
3415 * ForwardingHeaders: Added.
3416 * ForwardingHeaders/kjs: Added.
3417 * ForwardingHeaders/kjs/ExecState.h: Added.
3418 * ForwardingHeaders/wtf: Added.
3419 * JavaScriptGlue.xcodeproj/project.pbxproj:
3422 * wtf/AlwaysInline.h: Removed.
3423 * wtf/Assertions.h: Removed.
3424 * wtf/FastMalloc.h: Removed.
3425 * wtf/Forward.h: Removed.
3426 * wtf/HashCountedSet.h: Removed.
3427 * wtf/HashSet.h: Removed.
3428 * wtf/Noncopyable.h: Removed.
3429 * wtf/OwnArrayPtr.h: Removed.
3430 * wtf/OwnPtr.h: Removed.
3431 * wtf/PassRefPtr.h: Removed.
3432 * wtf/Platform.h: Removed.
3433 * wtf/RefPtr.h: Removed.
3434 * wtf/Vector.h: Removed.
3436 === JavaScriptGlue-521.10 ===
3438 2006-05-09 Maciej Stachowiak <mjs@apple.com>
3440 Rubber stamped by Anders.
3442 - renamed kxmlcore to wtf
3449 * kxmlcore: Removed.
3450 * kxmlcore/AlwaysInline.h: Removed.
3451 * kxmlcore/Assertions.h: Removed.
3452 * kxmlcore/FastMalloc.h: Removed.
3453 * kxmlcore/Forward.h: Removed.
3454 * kxmlcore/HashCountedSet.h: Removed.
3455 * kxmlcore/HashSet.h: Removed.
3456 * kxmlcore/Noncopyable.h: Removed.
3457 * kxmlcore/OwnArrayPtr.h: Removed.
3458 * kxmlcore/OwnPtr.h: Removed.
3459 * kxmlcore/PassRefPtr.h: Removed.
3460 * kxmlcore/Platform.h: Removed.
3461 * kxmlcore/RefPtr.h: Removed.
3462 * kxmlcore/Vector.h: Removed.
3465 2006-04-11 Darin Adler <darin@apple.com>
3467 - try to fix Windows build
3469 * kxmlcore/HashForward.h: Removed.
3471 2006-04-10 Darin Adler <darin@apple.com>
3473 Rubber-stamped by John Sullivan.
3475 - added forwarding headers for the new Forward.h and HashForward.h files
3477 * kxmlcore/Forward.h: Added.
3478 * kxmlcore/HashForward.h: Added.
3480 2006-04-04 Timothy Hatcher <timothy@apple.com>
3482 Reviewed by Darin Adler.
3484 The Debug and Release frameworks are now built with install paths relative to the build products directory.
3485 This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore.
3487 * JavaScriptGlue.xcodeproj/project.pbxproj:
3489 2006-04-02 Eric Seidel <eseidel@apple.com>
3491 Reviewed by andersca.
3493 Add missing forwarding header.
3495 * kxmlcore/Vector.h: Added.
3497 2006-03-31 Geoffrey Garen <ggaren@apple.com>
3499 Reviewed by Darin Adler.
3501 - Fixed <rdar://problem/4430836> JavaScript patch crashing Quartz
3504 JSValueWrappers used to hold on to the ExecState that pertained at
3505 the time of their creation. Since ExecStates are transient, that
3506 design was totally bogus, and it would crash once the ExecState had
3509 Unfortunately, there's no clean solution to this problem, since
3510 the JSGlue API has no notion of state. The solution here is to use
3511 a shared, global ExecState for the purpose of JSGlue calls. Given
3512 the pre-existing limitations in the JSGlue API, this design
3513 shouldn't actually introduce any new limitations (see comments in
3514 JSValueWrapper.cpp).
3516 I tested with Quartz Composer and PAC files, neither of which are
3520 (KJSValueToJSObject):
3521 * JSValueWrapper.cpp:
3522 (JSValueWrapper::JSValueWrapper):
3523 (JSValueWrapper::GetValue):
3524 (getProcessGlobalExecState):
3525 (JSValueWrapper::JSObjectCopyPropertyNames):
3526 (JSValueWrapper::JSObjectCopyProperty):
3527 (JSValueWrapper::JSObjectSetProperty):
3528 (JSValueWrapper::JSObjectCallFunction):
3529 (JSValueWrapper::JSObjectCopyCFValue):
3532 Also added a test harness file. It was helpful while I was testing,
3533 and may come in handy in the future:
3535 * JavaScriptGlue.xcodeproj/project.pbxproj:
3536 testjsglue.cpp: Added.
3538 2006-03-28 Darin Adler <darin@apple.com>
3542 - added a build step that checks for init routines
3544 * JavaScriptGlue.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
3545 check-for-global-initializers script.
3547 2006-03-02 Maciej Stachowiak <mjs@apple.com>
3549 Not reviewed, but I noticed these trivial extra changes were needed to avoid
3550 breaking the build with my reviewed patch for:
3552 http://bugs.webkit.org/show_bug.cgi?id=7387
3554 Add config.h, includes of it, and Platform.h forwarding header.
3560 * JSValueWrapper.cpp:
3561 * JavaScriptGlue.cpp:
3562 * UserObjectImp.cpp:
3564 * kxmlcore/Platform.h: Added.
3566 === JavaScriptGlue-521.7 ===
3568 2006-02-10 Geoffrey Garen <ggaren@apple.com>
3574 * UserObjectImp.cpp:
3575 (UserObjectImp::toPrimitive):
3578 2006-02-03 Timothy Hatcher <timothy@apple.com>
3582 Renamed configuration names to Debug, Release and Production.
3584 * JavaScriptGlue.xcodeproj/project.pbxproj:
3586 2006-02-01 Darin Adler <darin@apple.com>
3588 - added some forwarding headers to make new JavaScriptCore changes work
3590 * kxmlcore/Assertions.h: Added.
3591 * kxmlcore/Noncopyable.h: Added.
3592 * kxmlcore/OwnPtr.h: Added.
3593 * kxmlcore/OwnArrayPtr.h: Added.
3595 2006-01-16 Timothy Hatcher <timothy@apple.com>
3597 Adding the license header to all files so we can
3598 move JavaScriptGlue into the open source repository.
3601 * JSBase.cpp: license header added.
3603 * JSObject.cpp: ditto.
3604 * JSObject.h: ditto.
3607 * JSUtils.cpp: ditto.
3609 * JSValueWrapper.cpp: ditto.
3610 * JSValueWrapper.h: ditto.
3611 * JavaScriptGlue.cpp: ditto.
3612 * JavaScriptGlue.h: ditto.
3613 * UserObjectImp.cpp: ditto.
3614 * UserObjectImp.h: ditto.
3616 2005-12-21 Timothy Hatcher <timothy@apple.com>
3618 * JavaScriptGlue.xcodeproj/project.pbxproj:
3619 Set tab width to 8, indent width to 4 and uses tabs to false per file.
3621 2005-12-19 Darin Adler <darin@apple.com>
3623 Reviewed by Geoff Garen and Eric Seidel.
3625 - fix http://bugs.webkit.org/show_bug.cgi?id=4923
3626 stop using <ostream> in WebCore, eliminating the <cmath> troubles it causes
3628 * kxmlcore/AlwaysInline.h: Added.
3630 2005-12-15 Darin Adler <darin@apple.com>
3634 * JSRun.cpp: (JSRun::Evaluate): Updated for change to Interpreter::evaluate.
3636 2005-12-15 Darin Adler <darin@apple.com>
3638 Reviewed by Tim Hatcher.
3640 * JavaScriptGlue.xcodeproj/project.pbxproj: Removed some redundant build
3641 settings, turned off prebinding explicitly for our Development and
3642 Deployment builds, remove .exp file from sources. All "clean-up".
3644 === Safari-521~5 ===
3646 2005-12-13 Geoffrey Garen <ggaren@apple.com>
3648 - Fixed build after Anders's last checkin to JavaScriptCore.
3652 * UserObjectImp.cpp:
3653 (UserObjectImp::userObjectGetter): Updated to reflect new argument that
3654 getters take (unused here).
3657 2005-12-13 Maciej Stachowiak <mjs@apple.com>
3661 - added forwarding header for HashCountedSet
3663 * kxmlcore/HashCountedSet.h: Added.
3665 2005-12-10 Darin Adler <darin@apple.com>
3667 Rubber stamped by Maciej.
3669 - updated for KJS class renaming
3671 * many files and functions
3673 2005-12-10 Darin Adler <darin@apple.com>
3677 - eliminated the old Undefined(), Null(), Boolean(), Number(), and String()
3679 Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString().
3683 * UserObjectImp.cpp:
3684 (UserObjectImp::callAsFunction):
3685 (UserObjectImp::toPrimitive):
3687 2005-12-05 Maciej Stachowiak <mjs@apple.com>
3689 - added new forwarding headers
3691 * kxmlcore/PassRefPtr.h: Added.
3692 * kxmlcore/RefPtr.h: Added.
3694 2005-12-05 Maciej Stachowiak <mjs@apple.com>
3696 * kxmlcore/PassRefPtr.h: Added.
3698 2005-11-26 Maciej Stachowiak <mjs@apple.com>
3700 Rubber stamped by Eric.
3702 - renamed InterpreterLock to JSLock
3705 (CFStringToUString):
3707 (KJSValueToCFTypeInternal):
3708 * JSValueWrapper.cpp:
3709 (JSValueWrapper::JSObjectCopyPropertyNames):
3710 (JSValueWrapper::JSObjectCopyProperty):
3711 (JSValueWrapper::JSObjectSetProperty):
3712 (JSValueWrapper::JSObjectCallFunction):
3713 (JSValueWrapper::JSObjectCopyCFValue):
3714 * JavaScriptGlue.cpp:
3717 (JSLockInterpreter):
3718 (JSUnlockInterpreter):
3719 * UserObjectImp.cpp:
3720 (UserObjectImp::callAsFunction):
3722 2005-11-16 Maciej Stachowiak <mjs@apple.com>
3726 Updated to use new API to drop all locks.
3728 * JavaScriptGlue.cpp:
3729 (JSLockInterpreter):
3730 (JSUnlockInterpreter):
3731 * UserObjectImp.cpp:
3732 (UserObjectImp::callAsFunction):
3734 2005-11-14 Geoffrey Garen <ggaren@apple.com>
3738 - Part of the fix for <rdar://problem/4342216> Installer crash in
3739 KJS::ValueImp::marked() when garbage collector runs inside call to
3740 ConstantValues::init()
3742 Added locking in JSRunCreate, since JSRun::JSRun constructs an object.
3744 * JavaScriptGlue.cpp:
3747 2005-11-10 Geoffrey Garen <ggaren@apple.com>
3751 - Fixed <rdar://problem/4334445> installer crashed on my
3752 dual g4 450Mhz after clicking language
3754 - Reversed backwards NULL check.
3755 - Inserted guards against NULL fJSUserObject data member.
3756 - Cleaned up some style.
3759 (KJSValueToCFTypeInternal):
3760 * UserObjectImp.cpp:
3761 (UserObjectImp::~UserObjectImp):
3762 (UserObjectImp::callAsFunction):
3763 (UserObjectImp::userObjectGetter):
3764 (UserObjectImp::getOwnPropertySlot):
3765 (UserObjectImp::put):
3766 (UserObjectImp::mark):
3768 2005-11-04 Timothy Hatcher <timothy@apple.com>
3770 Reviewed by Darin Adler.
3772 * JavaScriptGlue.xcodeproj/project.pbxproj:
3773 Fixed the FRAMEWORK_SEARCH_PATHS to look in the WebKit
3774 Frameworks for the Default config.
3776 2005-11-03 Timothy Hatcher <timothy@apple.com>
3778 Reviewed by Darin and Vicki.
3780 * JavaScriptGlue.xcodeproj/project.pbxproj:
3781 Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
3782 $(NEXT_ROOT) in a few spots to make build-root work.
3784 2005-11-01 Maciej Stachowiak <mjs@apple.com>
3788 <rdar://problem/4324107> get JavaScriptGlue working with TOT JavaScriptCore again
3790 - reverted all this stuff to use ReferenceList instead of IdentifierSequencedSet
3793 (KJSValueToCFTypeInternal):
3794 * JSValueWrapper.cpp:
3795 (JSValueWrapper::JSObjectCopyPropertyNames):
3796 * UserObjectImp.cpp:
3797 (UserObjectImp::propList):
3800 2005-10-11 Timothy Hatcher <timothy@apple.com>
3802 Setup the proper Framework search path for the Default config.
3803 Prepping for a TOT submission and build by B&I.
3805 * JavaScriptGlue.xcodeproj/project.pbxproj:
3807 2005-10-10 Darin Adler <darin@apple.com>
3811 - converted tabs to spaces, NULL to 0, added some (void), got rid of __ prefixes
3812 in headers (reserved for compiler/library)
3823 * JSValueWrapper.cpp:
3825 * JavaScriptGlue.cpp:
3827 * UserObjectImp.cpp:
3830 2005-10-10 Darin Adler <darin@apple.com>
3832 * .cvsignore: Added. Ignore Makefile.in and Makefile.
3834 2005-10-07 Timothy Hatcher <timothy@apple.com>
3838 Build fix, needed to disable RTTI. Upgraded to a native target.
3840 * JavaScriptGlue.xcodeproj/project.pbxproj:
3843 2005-10-05 Maciej Stachowiak <mjs@apple.com>
3845 Reviewed by Eric and Darin.
3847 <rdar://problem/4260506> Port JavaScriptGlue to TOT JavaScriptCore
3851 (JSRun::GlobalObject):
3853 (JSInterpreter::JSInterpreter):
3855 (KJSValueToJSObject):
3857 (KJSValueToCFTypeInternal):
3860 * JSValueWrapper.cpp:
3861 (JSValueWrapper::JSValueWrapper):
3862 (JSValueWrapper::GetValue):
3863 (JSValueWrapper::JSObjectCopyPropertyNames):
3864 (JSValueWrapper::JSObjectCopyProperty):
3865 (JSValueWrapper::JSObjectSetProperty):
3866 (JSValueWrapper::JSObjectCallFunction):
3867 (JSValueWrapper::JSObjectMark):
3869 * JavaScriptGlue.cpp:
3870 (JSRunCopyGlobalObject):
3871 * JavaScriptGlue.xcodeproj/project.pbxproj:
3872 * Makefile.am: Added.
3873 * UserObjectImp.cpp:
3874 (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
3875 (UserObjectImp::UserObjectImp):
3876 (UserObjectImp::callAsFunction):
3877 (UserObjectImp::getPropertyNames):
3878 (UserObjectImp::userObjectGetter):
3879 (UserObjectImp::getOwnPropertySlot):
3880 (UserObjectImp::put):
3881 (UserObjectImp::toPrimitive):
3882 (UserObjectImp::mark):
3884 * kxmlcore/FastMalloc.h: Added.
3885 * kxmlcore/HashSet.h: Added.
3887 2005-09-14 Maciej Stachowiak <mjs@apple.com>
3891 - fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
3893 Make sure to lock using the InterpreterLock class in all places that need it
3894 (including anything that uses the collector, the parser, the protect count hash table,
3895 and anything that allocates via fast_malloc).
3898 (CFStringToUString):
3900 (KJSValueToCFTypeInternal):
3902 * JSValueWrapper.cpp:
3903 (JSValueWrapper::JSObjectCopyPropertyNames):
3904 (JSValueWrapper::JSObjectCopyProperty):
3905 (JSValueWrapper::JSObjectSetProperty):
3906 (JSValueWrapper::JSObjectCallFunction):
3907 (JSValueWrapper::JSObjectCopyCFValue):
3908 * JavaScriptGlue.cpp:
3911 2005-09-27 Adele Peterson <adele@apple.com>
3915 <rdar://problem/4223297> JavaScriptGlue: Submit 64-bit compatible versions of your API and SPIs by September 15
3917 * JavaScriptGlue.h: Changed UInt32 to CFTypeID for JSTypeID
3919 2005-09-06 Geoffrey Garen <ggaren@apple.com>
3921 -upgraded project files to XCode 2.1
3923 * JavaScriptGlue.pbproj/project.pbxproj: Removed.
3924 * JavaScriptGlue.xcodeproj/.cvsignore: Added.
3925 * JavaScriptGlue.xcodeproj/project.pbxproj: Added.
3927 2005-09-01 Maciej Stachowiak <mjs@apple.com>
3929 Rubber stamped by hyatt.
3931 - initial import of JavaScriptGlue into our repository
3933 * English.lproj/InfoPlist.strings: Added.
3934 * JSBase.cpp: Added.
3939 (JSBase::RetainCount):
3940 (JSBase::GetTypeID):
3941 (JSBase::CopyDescription):
3944 * JSObject.cpp: Added.
3945 (JSUserObject::JSUserObject):
3946 (JSUserObject::~JSUserObject):
3947 (JSUserObject::CopyPropertyNames):
3948 (JSUserObject::CopyProperty):
3949 (JSUserObject::SetProperty):
3950 (JSUserObject::ImplementsCall):
3951 (JSUserObject::CallFunction):
3952 (JSUserObject::CopyCFValue):
3953 (JSUserObject::Equal):
3954 (JSUserObject::Mark):
3955 (JSUserObject::GetData):
3956 * JSObject.h: Added.
3957 (JSUserObject::DataType):
3963 (JSRun::GlobalObject):
3964 (JSRun::GetInterpreter):
3966 (JSRun::CheckSyntax):
3968 (JSInterpreter::JSInterpreter):
3969 (JSInterpreter::JSInterpreter::~JSInterpreter):
3970 (JSInterpreter::Flags):
3971 * JSUtils.cpp: Added.
3972 (CFStringToUString):
3973 (UStringToCFString):
3974 (CFStringToIdentifier):
3975 (IdentifierToCFString):
3976 (KJSValueToJSObject):
3978 (KJSValueToCFTypeInternal):
3984 * JSValueWrapper.cpp: Added.
3985 (JSValueWrapper::JSValueWrapper):
3986 (JSValueWrapper::~JSValueWrapper):
3987 (JSValueWrapper::GetValue):
3988 (JSValueWrapper::GetExecState):
3989 (JSValueWrapper::GetJSObectCallBacks):
3990 (JSValueWrapper::JSObjectDispose):
3991 (JSValueWrapper::JSObjectCopyPropertyNames):
3992 (JSValueWrapper::JSObjectCopyProperty):
3993 (JSValueWrapper::JSObjectSetProperty):
3994 (JSValueWrapper::JSObjectCallFunction):
3995 (JSValueWrapper::JSObjectCopyCFValue):
3996 (JSValueWrapper::JSObjectMark):
3997 * JSValueWrapper.h: Added.
3998 * JavaScriptGlue.cpp: Added.
4003 (JSCopyDescription):
4008 (JSObjectCreateInternal):
4009 (JSObjectCopyCFValue):
4011 (JSObjectCopyProperty):
4012 (JSObjectSetProperty):
4013 (JSObjectCallFunction):
4016 (JSRunCopyGlobalObject):
4020 (JSTypeGetCFArrayCallBacks):
4023 (JSObjectCreateWithCFType):
4024 (CFJSObjectDispose):
4025 (JSObjectCopyPropertyNames):
4026 (CFJSObjectCopyProperty):
4027 (CFJSObjectSetProperty):
4028 (CFJSObjectCopyCFValue):
4030 (CFJSObjectCopyPropertyNames):
4031 (JSCreateCFArrayFromJSArray):
4032 (JSCreateJSArrayFromCFArray):
4033 (JSLockInterpreter):
4034 (JSUnlockInterpreter):
4035 * JavaScriptGlue.exp: Added.
4036 * JavaScriptGlue.h: Added.
4037 * JavaScriptGlue.pbproj/project.pbxproj: Added.
4038 * UserObjectImp.cpp: Added.
4039 (UserObjectPrototypeImp::UserObjectPrototypeImp):
4040 (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
4041 (UserObjectImp::UserObjectImp):
4042 (UserObjectImp::~UserObjectImp):
4043 (UserObjectImp::classInfo):
4044 (UserObjectImp::implementsCall):
4045 (UserObjectImp::call):
4046 (UserObjectImp::propList):
4047 (UserObjectImp::hasProperty):
4048 (UserObjectImp::get):
4049 (UserObjectImp::put):
4050 (UserObjectImp::GetJSUserObject):
4051 (UserObjectImp::toPrimitive):
4052 (UserObjectImp::toBoolean):
4053 (UserObjectImp::toNumber):
4054 (UserObjectImp::toString):
4055 (UserObjectImp::mark):
4056 * UserObjectImp.h: Added.