initial import
[vuplus_webkit] / Source / JavaScriptGlue / ChangeLog
1 2011-09-14  Mark Hahnenberg  <mhahnenberg@apple.com>
2
3         Unzip initialization lists and constructors in JSCell hierarchy (6/7)
4         https://bugs.webkit.org/show_bug.cgi?id=67692
5
6         Reviewed by Geoffrey Garen.
7
8         Completed the sixth level of the refactoring to add finishCreation() 
9         methods to all classes within the JSCell hierarchy with non-trivial 
10         constructor bodies.
11
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.
19
20         * JSRun.cpp:
21         (JSGlueGlobalObject::JSGlueGlobalObject):
22         * JSRun.h:
23         (JSGlueGlobalObject::create):
24
25 2011-09-13  Anders Carlsson  <andersca@apple.com>
26
27         Disable C++ exceptions when building with clang
28         https://bugs.webkit.org/show_bug.cgi?id=68031
29         <rdar://problem/9556880>
30
31         Reviewed by Mark Rowe.
32
33         * Configurations/Base.xcconfig:
34
35 2011-09-09  Oliver Hunt  <oliver@apple.com>
36
37         Remove support for anonymous storage from jsobjects
38         https://bugs.webkit.org/show_bug.cgi?id=67881
39
40         Reviewed by Sam Weinig.
41
42         Don't need an anonymous slot count anymore
43
44         * UserObjectImp.h:
45         (UserObjectImp::createStructure):
46
47 2011-08-18  Filip Pizlo  <fpizlo@apple.com>
48
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
52
53         Reviewed by Oliver Hunt.
54         
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
60         handle.
61
62         * ForwardingHeaders/wtf/MetaAllocatorHandle.h: Added.
63
64 2011-09-09  Mark Hahnenberg  <mhahnenberg@apple.com>
65
66         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
67         https://bugs.webkit.org/show_bug.cgi?id=67420
68
69         Reviewed by Geoffrey Garen.
70
71         Completed the fifth level of the refactoring to add finishCreation() 
72         methods to all classes within the JSCell hierarchy with non-trivial 
73         constructor bodies.
74
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.
82
83         * JSRun.cpp:
84         (JSGlueGlobalObject::JSGlueGlobalObject):
85
86 2011-09-08  Sam Weinig  <sam@webkit.org>
87
88         Remove the Completion object from JSC, I have never liked it
89         https://bugs.webkit.org/show_bug.cgi?id=67755
90
91         Reviewed by Gavin Barraclough.
92
93         * JSRun.cpp:
94         (JSRun::Evaluate):
95         (JSRun::CheckSyntax):
96         * JSRun.h:
97         * JavaScriptGlue.cpp:
98         (JSRunEvaluate):
99
100 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
101
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
106
107         It broke tests on GTK and Qt (Requested by Ossy on #webkit).
108
109         * JSRun.cpp:
110         (JSGlueGlobalObject::JSGlueGlobalObject):
111
112 2011-09-06  Mark Hahnenberg  <mhahnenberg@apple.com>
113
114         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
115         https://bugs.webkit.org/show_bug.cgi?id=67420
116
117         Reviewed by Geoffrey Garen.
118
119         Completed the fifth level of the refactoring to add finishCreation() 
120         methods to all classes within the JSCell hierarchy with non-trivial 
121         constructor bodies.
122
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.
130
131         * JSRun.cpp:
132         (JSGlueGlobalObject::JSGlueGlobalObject):
133
134 2011-09-05  Oliver Hunt  <oliver@apple.com>
135
136         An object's structure should reference the global object responsible for its creation
137         https://bugs.webkit.org/show_bug.cgi?id=67624
138
139         Reviewed by Gavin Barraclough.
140
141         Update for Structure::create() requiring a global object.
142
143         * JSRun.h:
144         (JSGlueGlobalObject::create):
145         * UserObjectImp.h:
146         (UserObjectImp::createStructure):
147
148 2011-09-01  Mark Hahnenberg  <mhahnenberg@apple.com>
149
150         Unzip initialization lists and constructors in JSCell hierarchy (4/7)
151         https://bugs.webkit.org/show_bug.cgi?id=67174
152
153         Reviewed by Oliver Hunt.
154
155         Completed the fourth level of the refactoring to add finishCreation() 
156         methods to all classes within the JSCell hierarchy with non-trivial 
157         constructor bodies.
158
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.
166
167         * UserObjectImp.cpp:
168         (UserObjectImp::UserObjectImp):
169         * UserObjectImp.h:
170         (UserObjectImp::create):
171
172 2011-08-29  Mark Hahnenberg  <mhahnenberg@apple.com>
173
174         Unzip initialization lists and constructors in JSCell hierarchy (3/7)
175         https://bugs.webkit.org/show_bug.cgi?id=67064
176
177         Reviewed by Darin Adler.
178
179         Completed the third level of the refactoring to add finishCreation() 
180         methods to all classes within the JSCell hierarchy with non-trivial 
181         constructor bodies.
182
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.
190
191         * UserObjectImp.cpp:
192         (UserObjectImp::UserObjectImp):
193
194 2011-08-15  Mark Hahnenberg  <mhahnenberg@apple.com>
195
196         Refactor JS objects to allocate in static create methods rather than constructors
197         https://bugs.webkit.org/show_bug.cgi?id=65347
198
199         Reviewed by Geoffrey Garen.
200
201         Removed all calls to deprecatedGetDOMObject from initialization lists as part of a 
202         larger refactoring to get rid of all allocation during initialization.
203
204         * JSRun.cpp:
205         (JSGlueGlobalObject::JSGlueGlobalObject):
206         * JSRun.h:
207         (JSGlueGlobalObject::create):
208
209 2011-08-12  Mark Rowe  <mrowe@apple.com>
210
211         Be more forward-looking in the choice of compiler.
212
213         Rubber-stamped by Jon Honeycutt.
214
215         * Configurations/CompilerVersion.xcconfig:
216
217 2011-08-12  Sam Weinig  <sam@webkit.org>
218
219         Move compiler specific macros to their own header
220         https://bugs.webkit.org/show_bug.cgi?id=66119
221
222         Reviewed by Anders Carlsson.
223
224         * ForwardingHeaders/wtf/Compiler.h: Added.
225
226 2011-08-09  Mark Hahnenberg  <mhahnenberg@apple.com>
227
228         Add ParentClass typedef in all JSC classes
229         https://bugs.webkit.org/show_bug.cgi?id=65731
230
231         Reviewed by Oliver Hunt.
232
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.
236
237         * JSRun.h:
238         * UserObjectImp.h:
239
240 2011-08-04  Mark Rowe  <mrowe@apple.com>
241
242         Future-proof Xcode configuration settings.
243
244         * Configurations/Base.xcconfig:
245         * Configurations/CompilerVersion.xcconfig:
246         * Configurations/DebugRelease.xcconfig:
247         * Configurations/Version.xcconfig:
248
249 2011-08-01  David Levin  <levin@chromium.org>
250
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
253
254         Reviewed by Dmitry Titov.
255
256         * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Added.
257
258 2011-07-27  Mark Hahnenberg  <mhahnenberg@apple.com>
259
260         Remove operator new from JSCell
261         https://bugs.webkit.org/show_bug.cgi?id=64999
262
263         Reviewed by Oliver Hunt.
264
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.
267
268         * JSRun.cpp:
269         (JSRun::JSRun):
270         * JSRun.h:
271         (JSGlueGlobalObject::create):
272         * JSUtils.cpp:
273         (JSObjectKJSValue):
274         (getThreadGlobalObject):
275         * UserObjectImp.h:
276         (UserObjectImp::create):
277
278 2011-07-01  Jungshik Shin  <jshin@chromium.org>
279
280         Reviewed by Alexey Proskuryakov.
281
282         Add uscript.h to icu/unicode to get JavaScriptGlue get built. The same
283         file was added to JavaScriptCore/icu/unicode.
284
285         http://bugs.webkit.org/show_bug.cgi?id=20797
286
287         * icu/unicode/uscript.h: Added.
288
289 2011-06-24  Sheriff Bot  <webkit.review.bot@gmail.com>
290
291         Unreviewed, rolling out r89594.
292         http://trac.webkit.org/changeset/89594
293         https://bugs.webkit.org/show_bug.cgi?id=63316
294
295         It broke 5 tests on the Qt bot (Requested by Ossy_DC on
296         #webkit).
297
298         * icu/unicode/uscript.h: Removed.
299
300 2011-06-23  Jungshik Shin  <jshin@chromium.org>
301
302         Reviewed by Alexey Proskuryakov.
303
304         Add uscript.h to icu/unicode to get JavaScriptGlue get built. The same
305         file was added to JavaScriptCore/icu/unicode.
306
307         http://bugs.webkit.org/show_bug.cgi?id=20797
308
309         * icu/unicode/uscript.h: Added.
310
311 2011-05-16  David Kilzer  <ddkilzer@apple.com>
312
313         <http://webkit.org/b/60913> C++ exceptions should not be enabled when building with llvm-gcc-4.2
314         <rdar://problem/9446430>
315
316         Reviewed by Mark Rowe.
317
318         * Configurations/Base.xcconfig: Fixed typo.
319
320 2011-05-12  David Kilzer  <ddkilzer@apple.com>
321
322         <http://webkit.org/b/60710> JavaScriptGlue should compile with -Wmissing-prototypes
323
324         Reviewed by Geoffrey Garen.
325
326         Enabling -Wmissing-prototypes fixes an Xcode 4 project warning.
327
328         This also fixes the following compiler warning:
329
330             JavaScriptGlue/JSUtils.cpp:407:15: error: no previous prototype for function 'getThreadGlobalData' [-Werror,-Wmissing-prototypes,3]
331              JSGlobalData* getThreadGlobalData()
332                            ^
333
334         * Configurations/Base.xcconfig: Set
335         GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES.
336         * JSUtils.cpp:
337         (getThreadGlobalData): Made static.
338
339 2011-05-06  David Kilzer  <ddkilzer@apple.com>
340
341         Remove unused GCC_ENABLE_FIX_AND_CONTINUE and ZERO_LINK settings
342
343         Reviewed by Jon Honeycutt.
344
345         This fixes an Xcode 4 warning about using obsolete settings.
346
347         * JavaScriptGlue.xcodeproj/project.pbxproj: Removed
348         GCC_ENABLE_FIX_AND_CONTINUE and ZERO_LINK settings.
349
350 2011-04-28  Sheriff Bot  <webkit.review.bot@gmail.com>
351
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
356
357         Causes issues with jsc. (Requested by dave_levin on #webkit).
358
359         * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Removed.
360
361 2011-04-04  David Levin  <levin@chromium.org>
362
363         Reviewed by Darin Adler.
364
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
367
368         * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Added.
369
370 2011-04-26  Dan Bernstein  <mitz@apple.com>
371
372         Build fix.
373
374         * Configurations/CompilerVersion.xcconfig:
375
376 2011-04-26  Dan Bernstein  <mitz@apple.com>
377
378         Reviewed by Mark Rowe.
379
380         Choose the compiler based on the Xcode version for Snow Leopard debug builds.
381
382         * Configurations/Base.xcconfig:
383         * Configurations/CompilerVersion.xcconfig: Added.
384
385 2011-04-21  Oliver Hunt  <oliver@apple.com>
386
387         Reviewed by Geoffrey Garen.
388
389         Start moving to a general visitor pattern for GC traversal
390         https://bugs.webkit.org/show_bug.cgi?id=59141
391
392         This is just a rename:
393             markChildren -> visitChildren
394             markAggregate -> visitAggregate
395             markStack -> visitor
396             MarkStack -> typedef'd to SlotVisitor
397
398         * UserObjectImp.cpp:
399         (UserObjectImp::visitChildren):
400
401 2011-04-19  Renata Hodovan  <reni@webkit.org>
402
403         Reviewed by Eric Seidel.
404
405         Move the alignment related macros in Vector.h to new Alignment.h.
406         https://bugs.webkit.org/show_bug.cgi?id=56000
407
408         Adding the new file to the forwarding headers of JavaScriptGlue.
409
410         * ForwardingHeaders/wtf/Alignment.h: Added.
411
412 2011-04-15  Oliver Hunt  <oliver@apple.com>
413
414         GC allocate Structure
415         https://bugs.webkit.org/show_bug.cgi?id=58483
416
417         Rolling r83894 r83827 r83810 r83809 r83808 back in with
418         a workaround for the gcc bug seen by the gtk bots
419
420         * JSRun.cpp:
421         (JSGlueGlobalObject::JSGlueGlobalObject):
422         * JSRun.h:
423         * JSUtils.cpp:
424         (JSObjectKJSValue):
425         * UserObjectImp.cpp:
426         (UserObjectImp::UserObjectImp):
427         * UserObjectImp.h:
428         (UserObjectImp::createStructure):
429
430 2011-04-08  Geoffrey Garen  <ggaren@apple.com>
431
432         Reviewed by Oliver Hunt.
433
434         A few heap-related renames and file moves.
435         
436         WeakGCPtr<T> => Weak<T>
437         Global<T> => Strong<T>
438         collector/ => heap/
439         collector/* => heap/*
440         runtime/WeakGCPtr.h => heap/Weak.h
441         
442         (Eventually, even more files should move into the heap directory. Like
443         Heap.h and Heap.cpp, for example.)
444
445         * JSRun.h:
446         * JSValueWrapper.h:
447
448 2011-04-07  Geoffrey Garen  <ggaren@apple.com>
449
450         Reviewed by Maciej Stachowiak.
451
452         Some Handle<T> cleanup
453         https://bugs.webkit.org/show_bug.cgi?id=58109
454
455         * JSRun.h:
456         * JSValueWrapper.h: #include a file that was missing before, but was
457         harmlessly so until now.
458
459 2011-03-30  Timur Iskhodzhanov  <timurrrr@google.com>
460
461         Reviewed by Alexey Proskuryakov.
462
463         Add some dynamic annotations to JavaScriptCore/wtf
464         https://bugs.webkit.org/show_bug.cgi?id=53747
465
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".
469
470         These files don't add new functionality, so don't need extra tests.
471
472         * ForwardingHeaders/wtf/DynamicAnnotations.h: Added.
473
474 2011-03-25  Oliver Hunt  <oliver@apple.com>
475
476         Reviewed by Geoffrey Garen.
477
478         instanceof Array test fails when using iframes
479         https://bugs.webkit.org/show_bug.cgi?id=17250
480
481         Up date for new toObject api
482
483         * UserObjectImp.cpp:
484         (UserObjectImp::toPrimitive):
485         (UserObjectImp::toBoolean):
486         (UserObjectImp::toNumber):
487         (UserObjectImp::toString):
488
489 2011-03-26  Adam Barth  <abarth@webkit.org>
490
491         Remove the JavaScriptGlue GYP build.  We're not going to use GYP for
492         JavaScriptGlue because JavaScriptGlue is used only by one port.
493
494         * gyp: Removed.
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.
500
501 2011-03-22  Eric Seidel  <eric@webkit.org>
502
503         Reviewed by Adam Barth.
504
505         Make it possible to build JavaScriptCore and WebCore gyp builds outside of Source
506         https://bugs.webkit.org/show_bug.cgi?id=56867
507
508         This should make it possible to build the gyp-generated JavaScriptGlue.xcodeproj
509         from a JavaScriptGlue directory outside of Source.
510
511         * gyp/JavaScriptGlue.gyp:
512         * gyp/run-if-exists.sh: Added.
513         * gyp/update-info-plist.sh: Added.
514
515 2011-03-22  Adam Barth  <abarth@webkit.org>
516
517         Reviewed by Eric Seidel.
518
519         Production configuration in GYP isn&apos;t set up correctly
520         https://bugs.webkit.org/show_bug.cgi?id=56786
521
522         Update JavaScriptGlue.gyp with information mined from
523         JavaScriptGlue.xcodeproj.
524
525         * gyp/JavaScriptGlue.gyp:
526         * gyp/JavaScriptGlue.gypi:
527
528 2011-03-21  Adam Barth  <abarth@webkit.org>
529
530         Reviewed by Eric Seidel.
531
532         GYP build should not have include paths that point within the source tree
533         https://bugs.webkit.org/show_bug.cgi?id=56788
534
535         Turns out we don't need these include paths anymore now that we have
536         header maps working properly.
537
538         * gyp/JavaScriptGlue.gyp:
539
540 2011-03-20  Bill Budge  <bbudge@chromium.org>
541
542         Reviewed by Adam Barth.
543
544         Rename ThreadSafeShared to ThreadSafeRefCounted
545         https://bugs.webkit.org/show_bug.cgi?id=56714
546
547         No new tests. Exposes no new functionality.§
548
549         * ForwardingHeaders/wtf/ThreadSafeRefCounted.h: Copied from ForwardingHeaders/wtf/ThreadSafeShared.h.
550         * ForwardingHeaders/wtf/ThreadSafeShared.h: Removed.
551         * gyp/JavaScriptGlue.gypi:
552
553 2011-03-17  Jeff Miller  <jeffm@apple.com>
554
555         Use a consistent set of file patterns in the svn:ignore property for all .xcodeproj directories, specifically:
556         
557         *.mode*
558         *.pbxuser
559         *.perspective*
560         project.xcworkspace
561         xcuserdata
562
563         * JavaScriptGlue.xcodeproj: Modified property svn:ignore.
564
565 2011-03-15  Oliver Hunt  <oliver@apple.com>
566
567         Reviewed by Geoffrey Garen.
568
569         Make Structure creation require a JSGlobalData
570         https://bugs.webkit.org/show_bug.cgi?id=56438
571
572         Mechanical change to make all structure creation pass a JSGlobalData&.
573
574         * JSRun.cpp:
575         (JSGlueGlobalObject::JSGlueGlobalObject):
576         (JSRun::JSRun):
577         * JSRun.h:
578         * JSUtils.cpp:
579         (getThreadGlobalObject):
580         * UserObjectImp.h:
581         (UserObjectImp::createStructure):
582
583 2011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
584
585         Reviewed by Darin Adler.
586
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.
590         
591         https://bugs.webkit.org/show_bug.cgi?id=27551
592
593         * config.h:
594
595 2011-03-10  Geoffrey Garen  <ggaren@apple.com>
596
597         Reviewed by Oliver Hunt.
598
599         Rolled back in 80277 and 80280 with event handler layout test failures fixed.
600         https://bugs.webkit.org/show_bug.cgi?id=55653        
601
602         The failures were caused by a last minute typo: assigning to currentEvent
603         instead of m_currentEvent.
604
605         * JSRun.cpp:
606         * JSRun.h:
607
608 2011-03-04  Adam Barth  <abarth@webkit.org>
609
610         Reviewed by Dimitri Glazkov.
611
612         Use target_defaults to reduce boilerplate in GYP build system
613         https://bugs.webkit.org/show_bug.cgi?id=55790
614
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
617         xcconfig.
618
619         * gyp/JavaScriptGlue.gyp:
620
621 2011-03-03  Geoffrey Garen  <ggaren@apple.com>
622
623         Rolled out 80277 and 80280 because they caused event handler layout test
624         failures.
625
626         * JSRun.cpp:
627         * JSRun.h:
628
629 2011-03-01  Adam Barth  <abarth@webkit.org>
630
631         Reviewed by Dimitri Glazkov.
632
633         Add pre- and post-build actions for JavaScriptCore GYP build
634         https://bugs.webkit.org/show_bug.cgi?id=55507
635
636         Remove the portion of this file that was split out into common.gypi.
637
638         * gyp/JavaScriptGlue.gyp:
639
640 2011-02-28  Gavin Barraclough  <barraclough@apple.com>
641
642         Reviewed by Sam Weinig & Darin Adler.
643
644         Bug 55423 - Clean up property tables in Structure
645
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).
649
650         Shows a 0.5% - 1% progression on sunspider.
651
652         * ForwardingHeaders/wtf/HashTable.h: Added.
653
654 2011-02-28  Adam Barth  <abarth@webkit.org>
655
656         Reviewed by Dimitri Glazkov.
657
658         Teach JavaScriptGlue gyp build about DEPTH
659         https://bugs.webkit.org/show_bug.cgi?id=55421
660
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.
665
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.
670
671 2011-02-28  Adam Barth  <abarth@webkit.org>
672
673         Reviewed by Dimitri Glazkov.
674
675         Use more xcconfig files in JavaScriptGlue gyp build
676         https://bugs.webkit.org/show_bug.cgi?id=55395
677
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.
681
682         * gyp/JavaScriptGlue.gyp:
683
684 2011-02-28  Dimitri Glazkov  <dglazkov@chromium.org>
685
686         Reviewed by Adam Barth.
687
688         Add necessary build steps to JavaScriptGlue GYP project.
689         https://bugs.webkit.org/show_bug.cgi?id=55196
690
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.
696
697 2011-02-23  Geoffrey Garen  <ggaren@apple.com>
698
699         Reviewed by Darin Adler.
700
701         Rolled back in r79367 with SnowLeopard Release bot crash fixed.
702         https://bugs.webkit.org/show_bug.cgi?id=54999
703
704 2011-02-22  Adam Barth  <abarth@webkit.org>
705
706         Reviewed by Eric Seidel.
707
708         Add a GYP project for JavaScriptGlue
709         https://bugs.webkit.org/show_bug.cgi?id=55019
710
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.
716
717         This build system is not used currently.
718
719         * gyp: Added.
720         * gyp/JavaScriptGlue.gyp: Added.
721         * gyp/JavaScriptGlue.gypi: Added.
722
723 2011-02-22  Sheriff Bot  <webkit.review.bot@gmail.com>
724
725         Unreviewed, rolling out r79367.
726         http://trac.webkit.org/changeset/79367
727         https://bugs.webkit.org/show_bug.cgi?id=55012
728
729         all layout tests are crashing on Snow Leopard (Requested by
730         rniwa on #webkit).
731
732         * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed.
733
734 2011-02-22  Geoffrey Garen  <ggaren@apple.com>
735
736         Reviewed by Oliver Hunt.
737
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
740         
741         New WTF header.
742
743         * ForwardingHeaders/wtf/DoublyLinkedList.h: Copied from ForwardingHeaders/wtf/FixedArray.h.
744
745 2011-02-18  Gavin Barraclough  <barraclough@apple.com>
746
747         Reviewed by Sam Weinig.
748
749         Bug 54786 - Devirtualize JSCell::classInfo()
750
751         Instead of making a virtual function call, add a pointer to the ClassInfo
752         onto Structure.
753
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).
757
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
760         still do not.
761
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',
766               for consistency.
767
768         * JSUtils.cpp:
769         (KJSValueToJSObject):
770         (KJSValueToCFTypeInternal):
771         * UserObjectImp.cpp:
772         * UserObjectImp.h:
773         (UserObjectImp::createStructure):
774
775 2011-02-15  Gavin Barraclough  <barraclough@apple.com>
776
777         Reviewed by Geoff Garen.
778
779         Bug 54524 - Allow JSObject to fully utilize cell's capacity for inline storage.
780
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.
787
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().
792
793         * UserObjectImp.cpp:
794         * UserObjectImp.h:
795             Update JSObject -> JSNonFinalObject.
796
797 2011-02-14  Oliver Hunt  <oliver@apple.com>
798
799         Reviewed by Gavin Barraclough and Geoff Garen.
800
801         Refactor handles and weak pointers to become nicer and more automatic
802         https://bugs.webkit.org/show_bug.cgi?id=54415
803
804         Update to use new Global<> type
805
806         * JSRun.cpp:
807         (JSRun::JSRun):
808         (JSRun::GlobalObject):
809         * JSRun.h:
810         * JSValueWrapper.cpp:
811         (JSValueWrapper::JSValueWrapper):
812         * JSValueWrapper.h:
813
814 2011-02-13  Cameron Zwarich  <zwarich@apple.com>
815
816         Reviewed by Dan Bernstein.
817
818         Bug 53760 - JSC fails to build with TOT Clang
819         https://bugs.webkit.org/show_bug.cgi?id=53760
820
821         Fix -Woverloaded-virtual warnings.
822
823         * UserObjectImp.cpp:
824         (UserObjectImp::toPrimitive): Use PreferredPrimitiveType instead of JSType to
825         match the base class.
826         * UserObjectImp.h: 
827
828 2011-02-06  Ryosuke Niwa  <rniwa@webkit.org>
829
830         Reviewed by Darin Adler.
831
832         OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
833         https://bugs.webkit.org/show_bug.cgi?id=52867
834
835         * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Removed.
836
837 2011-01-31  Oliver Hunt  <oliver@apple.com>
838
839         Convert markstack to a slot visitor API
840         https://bugs.webkit.org/show_bug.cgi?id=53219
841
842         rolling r77098, r77099, r77100, r77109, and
843         r77111 back in, along with a few more Qt fix attempts.
844
845         * JSValueWrapper.cpp:
846         (JSValueWrapper::JSObjectMark):
847
848 2011-01-30  Csaba Osztrogonác  <ossy@webkit.org>
849
850         Unreviewed, rolling out r77098, r77099, r77100, r77109, and
851         r77111.
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
858
859         Qt build is broken
860
861         * JSValueWrapper.cpp:
862         (JSValueWrapper::JSObjectMark):
863
864 2011-01-30  Oliver Hunt  <oliver@apple.com>
865
866         Convert markstack to a slot visitor API
867         https://bugs.webkit.org/show_bug.cgi?id=53219
868
869         rolling r77006 and r77020 back in.
870
871         * JSValueWrapper.cpp:
872         (JSValueWrapper::JSObjectMark):
873
874 2011-01-28  Sheriff Bot  <webkit.review.bot@gmail.com>
875
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
880
881         "Broke Windows tests" (Requested by rniwa on #webkit).
882
883         * JSValueWrapper.cpp:
884         (JSValueWrapper::JSObjectMark):
885
886 2011-01-27  Oliver Hunt  <oliver@apple.com>
887
888         Reviewed by Geoffrey Garen.
889
890         Convert markstack to a slot visitor API
891         https://bugs.webkit.org/show_bug.cgi?id=53219
892
893         There's no reason to recurse here, the value we
894         were marking was protected.
895
896         * JSValueWrapper.cpp:
897         (JSValueWrapper::JSObjectMark):
898
899 2011-01-23  Mark Rowe  <mrowe@apple.com>
900
901         Follow-up to r76477.
902
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.
908
909         * JavaScriptGlue.xcodeproj/project.pbxproj:
910
911 2011-01-17  Dan Bernstein  <mitz@apple.com>
912
913         Rubber-stamped by Mark Rowe.
914
915         Update xcodeproj svn:ignore to include xcuserdata.
916
917         * JavaScriptGlue.xcodeproj: Modified property svn:ignore.
918
919 2011-01-10  Geoffrey Garen  <ggaren@apple.com>
920
921         Reviewed by Oliver Hunt.
922
923         Moved Collector.* => Heap.*, since the file contains a class named "Heap".
924
925         * JSUtils.h:
926
927 2011-01-02  Dan Bernstein  <mitz@apple.com>
928
929         Rubber-stamped by Simon Fraser.
930
931         <rdar://problem/8812159> Update copyright strings
932
933         * Info.plist:
934
935 2010-12-22  Dan Bernstein  <mitz@apple.com>
936
937         Rubber-stamped by Mark Rowe.
938
939         Changed WebKitTools to Tools in script build phases.
940
941         * JavaScriptGlue.xcodeproj/project.pbxproj:
942
943 2010-12-21  Geoffrey Garen  <ggaren@apple.com>
944
945         Reviewed by Gavin Barraclough & Oliver Hunt.
946
947         Added PageAllocationAligned, a cross-platform abstraction for memory allocations with arbitrary alignment requirements
948         https://bugs.webkit.org/show_bug.cgi?id=51359
949
950         * ForwardingHeaders/wtf/PageAllocationAligned.h: Added.
951
952 2010-12-21  Daniel Bates  <dbates@rim.com>
953
954         Reviewed by Eric Seidel and Darin Adler.
955
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
958
959         Add forwarding header for PassOwnArrayPtr.h.
960
961         * ForwardingHeaders/wtf/PassOwnArrayPtr.h: Added.
962
963 2010-12-18  Gavin Barraclough  <barraclough@apple.com>
964
965         Reviewed by Oliver Hunt.
966
967         Bug 26276 - Need a mechanism to determine stack extent
968
969         Add forwarding header for StackBounds.h.
970
971         * ForwardingHeaders/wtf/StackBounds.h: Added.
972
973 2010-12-20  Geoffrey Garen  <ggaren@apple.com>
974
975         Reviewed by Sam Weinig.
976
977         Factored common page set management into a new PageBlock base class
978         https://bugs.webkit.org/show_bug.cgi?id=51285
979
980         * ForwardingHeaders/wtf/PageBlock.h: Added.
981
982 2010-12-01  Geoffrey Garen  <ggaren@apple.com>
983
984         Build fix: Added a forwarding header.
985
986         * ForwardingHeaders/wtf/OSAllocator.h: Added.
987
988 2010-10-25  Oliver Hunt  <oliver@apple.com>
989
990         Reviewed by Gavin Barraclough.
991
992         Remove exec and globalData arguments from jsNumber
993         https://bugs.webkit.org/show_bug.cgi?id=48270
994
995         Don't pass exec to jsNumber
996
997         * JSUtils.cpp:
998         (JSObjectKJSValue):
999         * UserObjectImp.cpp:
1000         (UserObjectImp::toPrimitive):
1001
1002 2010-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1003
1004         Unreviewed, rolling out r70451.
1005         http://trac.webkit.org/changeset/70451
1006         https://bugs.webkit.org/show_bug.cgi?id=48249
1007
1008         Broke set-unloaded-frame-location.html under Qt (Requested by
1009         caseq on #webkit).
1010
1011         * ForwardingHeaders/wtf/text/TextPosition.h: Removed.
1012
1013 2010-10-16  Patrick Gansterer  <paroga@webkit.org>
1014
1015         Reviewed by Adam Barth.
1016
1017         Rename StringHasherFunctions.h to StringHasher.h
1018         https://bugs.webkit.org/show_bug.cgi?id=47200
1019
1020         * ForwardingHeaders/wtf/StringHashFunctions.h: Removed.
1021         * ForwardingHeaders/wtf/StringHasher.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/StringHashFunctions.h.
1022
1023 2010-09-09  Michael Saboff  <msaboff@apple.com>
1024
1025         Reviewed by Gavin Barraclough.
1026
1027         Added ListHashSet.h as an exported header in support of RegExp tracing.
1028         https://bugs.webkit.org/show_bug.cgi?id=45401
1029
1030         * ForwardingHeaders/wtf/ListHashSet.h: Added.
1031
1032 2010-09-07  Anders Carlsson  <andersca@apple.com>
1033
1034         Reviewed by Darin Adler.
1035
1036         <rdar://problem/8381749> -Wcast-align warning emitted when building with clang
1037
1038         Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc.
1039
1040         * Configurations/Base.xcconfig:
1041
1042 2010-08-26  Sam Weinig  <sam@webkit.org>
1043
1044         Reviewed by Darin Adler.
1045
1046         Add PassOwnArrayPtr
1047         https://bugs.webkit.org/show_bug.cgi?id=44627
1048
1049         Add new forwarding header.
1050
1051         * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Added.
1052
1053 2010-08-23  Gavin Barraclough  <barraclough@apple.com>
1054
1055         Reviewed by Oliver Hunt.
1056
1057         https://bugs.webkit.org/show_bug.cgi?id=44487
1058
1059         * ForwardingHeaders/wtf/text/WTFString.h: Added.
1060
1061 2010-08-24  Oliver Hunt  <oliver@apple.com>
1062
1063         Reviewed by Geoff Garen.
1064
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>
1068
1069         Add forwarding header for RandomNumber in JavaScriptGlue
1070
1071         * ForwardingHeaders/wtf/RandomNumber.h: Added.
1072
1073 2010-08-11  Gavin Barraclough  <barraclough@apple.com>
1074
1075         Rubber stamps by Darin Adler & Sam Weinig.
1076
1077         Bug 43867 - Some UString cleanup
1078
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().
1081
1082         * JSUtils.cpp:
1083         (UStringToCFString):
1084         (KJSValueToCFTypeInternal):
1085         * JavaScriptGlue.xcodeproj/project.pbxproj:
1086
1087 2010-08-04  Gavin Barraclough  <barraclough@apple.com>
1088
1089         Reviewed by Sam Weinig.
1090
1091         Bug 43515 - Fix small design issues with PageAllocation, split out PageReservation.
1092         (add forwarding headers)
1093
1094         * ForwardingHeaders/wtf/Bitmap.h: Added.
1095         * ForwardingHeaders/wtf/PageReservation.h: Added.
1096
1097 2010-08-04  Sheriff Bot  <webkit.review.bot@gmail.com>
1098
1099         Unreviewed, rolling out r64655.
1100         http://trac.webkit.org/changeset/64655
1101         https://bugs.webkit.org/show_bug.cgi?id=43496
1102
1103         JavaScriptCore references patch seems to have caused
1104         regressions in QT and GTK builds (Requested by nlawrence on
1105         #webkit).
1106
1107         * JSValueWrapper.cpp:
1108         (JSValueWrapper::JSObjectMark):
1109
1110 2010-08-04  Nathan Lawrence  <nlawrence@apple.com>
1111
1112         Reviewed by Darin Adler.
1113
1114         Removed unneeded marking.  We need to remove this marking in order to have
1115         MarkStack::append take references for updating movable objects.
1116
1117         https://bugs.webkit.org/show_bug.cgi?id=41177
1118
1119         * JSValueWrapper.cpp:
1120         (JSValueWrapper::JSObjectMark):
1121
1122 2010-08-03  Gavin Barraclough  <barraclough@apple.com>
1123
1124         Build fix following r64624.
1125
1126         * ForwardingHeaders/wtf/BitMap.h: Added.
1127
1128 2010-07-27  Gavin Barraclough  <barraclough@apple.com>
1129
1130         Reviewed by Oliver Hunt.
1131
1132         Bug 42621 - Add a bump allocator for the YARR interpreter
1133
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.
1137
1138         * ForwardingHeaders/wtf/BumpPointerAllocator.h: Added.
1139
1140 2010-07-26  Gavin Barraclough  <barraclough@apple.com>
1141
1142         Reviewed by Oliver Hunt.
1143
1144         Bug 43009 - Abstract out page allocation from executable allocators
1145
1146         * ForwardingHeaders/wtf/PageAllocation.h: Added.
1147
1148 2010-07-01  Oliver Hunt  <oliver@apple.com>
1149
1150         Reviewed by Maciej Stachowiak.
1151
1152         Add a FixedArray template to encapsulate fixed length arrays
1153         https://bugs.webkit.org/show_bug.cgi?id=41506
1154
1155         Add forwarding header.
1156
1157         * ForwardingHeaders/wtf/FixedArray.h: Added.
1158
1159 2010-06-02  Gavin Barraclough  <barraclough@apple.com>
1160
1161         Reviewed by Oliver Hunt.
1162
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.
1165
1166         * JSObject.cpp:
1167         (nativeCallFunction):
1168
1169 2010-05-28  Geoffrey Garen  <ggaren@apple.com>
1170
1171         Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
1172
1173         Simplified the host calling convention.
1174
1175         PART ONE: Functional code changes.
1176         
1177         [ None in JavaScriptGlue ]
1178         
1179         PART TWO: Global search and replace.
1180         
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)
1185
1186         * JSObject.cpp:
1187         (nativeCallFunction):
1188         * UserObjectImp.cpp:
1189         (UserObjectImp::callAsFunction):
1190         * UserObjectImp.h:
1191
1192 2010-04-23  Sam Weinig  <sam@webkit.org>
1193
1194         Reviewed by David Levin.
1195
1196         Fix for https://bugs.webkit.org/show_bug.cgi?id=38060
1197         Split up Threading.h
1198
1199         Add necessary forwarding headers.
1200
1201         * ForwardingHeaders/wtf/Atomics.h: Added.
1202         * ForwardingHeaders/wtf/ThreadSafeShared.h: Added.
1203         * ForwardingHeaders/wtf/ThreadingPrimitives.h: Added.
1204
1205 2010-04-22  Sam Weinig  <sam@webkit.org>
1206
1207         Reviewed by Anders Carlsson.
1208
1209         Fix for https://bugs.webkit.org/show_bug.cgi?id=38022
1210         Move isMainThread predicate function to MainThread.h
1211
1212         Added forwarding header for MainThread.h
1213
1214         * ForwardingHeaders/wtf/MainThread.h: Added.
1215
1216 2010-04-22  Gavin Barraclough  <barraclough@apple.com>
1217
1218         Rubber stamped by Sam Weinig
1219
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.
1224
1225         * JSUtils.cpp:
1226         (unprotectGlobalObject):
1227         (getThreadGlobalData):
1228         (getThreadGlobalObject):
1229         (JSGlueAPIEntry::JSGlueAPIEntry):
1230         (JSGlueAPICallback::~JSGlueAPICallback):
1231
1232 2010-04-21  Geoffrey Garen  <ggaren@apple.com>
1233
1234         Reviewed by Sam Weinig.
1235
1236         <rdar://problem/7879485> Leopard: Crash after opening Software Update dialog
1237
1238         * JSUtils.cpp:
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)
1244
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.
1248
1249         (JSGlueAPIEntry::JSGlueAPIEntry):
1250         * JSUtils.h: New version of JSGlueAPIEntry that doesn't call
1251         pthread_getspecific.
1252
1253 2010-04-21  Gavin Barraclough  <barraclough@apple.com>
1254
1255         Reviewed by NOBODY (build fix).
1256         Errk! tree on fire, add fwd!
1257
1258         * ForwardingHeaders/wtf/text/StringHash.h: Added.
1259
1260 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
1261
1262         Reviewed by Oliver Hunt, Darin Adler.
1263
1264         Bug 37906 - Remove JSC::UStringImpl; unify with StringImpl.
1265         Add forwarding header.
1266
1267         * ForwardingHeaders/wtf/ASCIICType.h: Added.
1268         * ForwardingHeaders/wtf/text/StringImpl.h: Added.
1269
1270 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
1271
1272         Reviewed by Oliver Hunt.
1273
1274         Bug 37895 - Share common code from UStringImplBase with StringImpl
1275         Add forwarding header.
1276
1277         * ForwardingHeaders/wtf/text/StringImplBase.h: Added.
1278
1279 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
1280
1281         Rubber stamped by Maciej Stachowiak (relanding r57829).
1282         Added missing JS_EXPORTDATA
1283
1284         * ForwardingHeaders/wtf/WTFThreadData.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/WTFThreadData.h.
1285         * JSUtils.cpp:
1286         (JSGlueAPIEntry::JSGlueAPIEntry):
1287         (JSGlueAPIEntry::~JSGlueAPIEntry):
1288         (JSGlueAPICallback::JSGlueAPICallback):
1289         (JSGlueAPICallback::~JSGlueAPICallback):
1290
1291 2010-04-19  Gavin Barraclough  <barraclough@apple.com>
1292
1293         Reviewed by NOBODY (rolling out r57829).
1294         This broke windows.
1295
1296         * ForwardingHeaders/wtf/WTFThreadData.h: Removed.
1297         * JSUtils.cpp:
1298         (JSGlueAPIEntry::JSGlueAPIEntry):
1299         (JSGlueAPIEntry::~JSGlueAPIEntry):
1300         (JSGlueAPICallback::JSGlueAPICallback):
1301         (JSGlueAPICallback::~JSGlueAPICallback):
1302
1303 2010-04-16  Gavin Barraclough  <barraclough@apple.com>
1304
1305         Reviewed by Sam Weinig.
1306
1307         https://bugs.webkit.org/show_bug.cgi?id=37745
1308         Move string uniquing tables to (new) WTFThreadData class.
1309
1310         Remove AtomicString's dependency on ThreadGlobalData so that we can move
1311         WebCore's string classes up to WTF.
1312
1313         * ForwardingHeaders/wtf/WTFThreadData.h: Added.
1314         * JSUtils.cpp: Update 
1315         (JSGlueAPIEntry::JSGlueAPIEntry):
1316         (JSGlueAPIEntry::~JSGlueAPIEntry):
1317         (JSGlueAPICallback::JSGlueAPICallback):
1318         (JSGlueAPICallback::~JSGlueAPICallback):
1319
1320 2010-03-31  Gavin Barraclough  <barraclough@apple.com>
1321
1322         Reviewed by Geoff Garen.
1323
1324         Bug 36871 - Remove JSC::CString
1325         Use WTF::CString instead (which until recently was WebCore::CString).
1326
1327         * ForwardingHeaders/wtf/text: Added.
1328         * ForwardingHeaders/wtf/text/CString.h: Added.
1329
1330 2010-03-11  Mark Rowe  <mrowe@apple.com>
1331
1332         Reviewed by David Kilzer.
1333
1334         <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
1335
1336         Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version.
1337
1338         * Configurations/Base.xcconfig:
1339
1340 2010-03-11  Mark Rowe  <mrowe@apple.com>
1341
1342         Reviewed by Tim Hatcher.
1343
1344         <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
1345
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.
1348
1349         Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR.
1350
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.
1353
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.
1356
1357         * Configurations/Base.xcconfig:
1358         * Configurations/DebugRelease.xcconfig:
1359         * Configurations/Version.xcconfig:
1360         * JavaScriptGlue.xcodeproj/project.pbxproj:
1361
1362 2010-03-01  Oliver Hunt  <oliver@apple.com>
1363
1364         Reviewed by Maciej Stachowiak.
1365
1366         Refactor named getter function signature to be in line with indexing getter signature
1367         https://bugs.webkit.org/show_bug.cgi?id=35563
1368
1369         Fix method signature and update code as appropriate
1370
1371         * UserObjectImp.cpp:
1372         (UserObjectImp::userObjectGetter):
1373         * UserObjectImp.h:
1374
1375 2010-02-09  Alexey Proskuryakov  <ap@apple.com>
1376
1377         Reviewed by Geoffrey Garen.
1378
1379         https://bugs.webkit.org/show_bug.cgi?id=34490
1380         WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions
1381
1382         * ForwardingHeaders/wtf/ValueCheck.h: Added.
1383
1384 2010-02-04  Mark Rowe  <mrowe@apple.com>
1385
1386         Reviewed by Timothy Hatcher.
1387
1388         Build fix.  Remove a symbol corresponding to an inline function from the linker export
1389         file to prevent a weak external failure.
1390
1391         * JavaScriptGlue.xcodeproj/project.pbxproj: Accommodate rename of script.
1392
1393 2010-01-28  Oliver Hunt  <oliver@apple.com>
1394
1395         Reviewed by Gavin Barraclough.
1396
1397         Simplify anonymous slot implementation
1398         https://bugs.webkit.org/show_bug.cgi?id=34282
1399
1400         Update JSGlue Structure usage to pass the anonymous slot count.
1401
1402         * UserObjectImp.h:
1403         (UserObjectImp::createStructure):
1404
1405 2010-01-12  Kent Hansen  <kent.hansen@nokia.com>
1406
1407         Reviewed by Geoffrey Garen.
1408
1409         [ES5] Implement Object.getOwnPropertyNames
1410         https://bugs.webkit.org/show_bug.cgi?id=32242
1411
1412         Add new argument to the reimplementation of getOwnPropertyNames().
1413
1414         * UserObjectImp.cpp:
1415         (UserObjectImp::getOwnPropertyNames):
1416         * UserObjectImp.h:
1417
1418 2010-01-07  Alexey Proskuryakov  <ap@apple.com>
1419
1420         Mac build fix.
1421
1422         * config.h: Define JS_EXPORTCLASS for JavaScriptGlue.
1423
1424 2010-01-05  Gavin Barraclough  <barraclough@apple.com>
1425
1426         Reviewed by Sam Weinig.
1427
1428         https://bugs.webkit.org/show_bug.cgi?id=33236
1429         Remove m_identifierTable pointer from UString
1430
1431         Add API shims similar to those used in the JSC API to track the current identifierTable.
1432
1433         * JSBase.cpp:
1434         (JSBase::Release):
1435         * JSUtils.cpp:
1436         (JSObjectKJSValue):
1437         (KJSValueToCFTypeInternal):
1438         (unprotectGlobalObject):
1439         (JSGlueAPIEntry::JSGlueAPIEntry):
1440         (JSGlueAPIEntry::~JSGlueAPIEntry):
1441         (JSGlueAPICallback::JSGlueAPICallback):
1442         (JSGlueAPICallback::~JSGlueAPICallback):
1443         * JSUtils.h:
1444         * JSValueWrapper.cpp:
1445         (JSValueWrapper::JSObjectCopyPropertyNames):
1446         (JSValueWrapper::JSObjectCopyProperty):
1447         (JSValueWrapper::JSObjectSetProperty):
1448         (JSValueWrapper::JSObjectCallFunction):
1449         (JSValueWrapper::JSObjectCopyCFValue):
1450         * JavaScriptGlue.cpp:
1451         (JSRunCreate):
1452         (JSRunEvaluate):
1453         (JSRunCheckSyntax):
1454         (JSCollect):
1455         * JavaScriptGlue.xcodeproj/project.pbxproj:
1456         * UserObjectImp.cpp:
1457         (UserObjectImp::callAsFunction):
1458
1459 2010-01-04  Gavin Barraclough <barraclough@apple.com>
1460
1461         Reviewed by Sam Weinig.
1462
1463         Add a forwarding header so that StringHashFunctions.h can be found.
1464
1465         * ForwardingHeaders/wtf/StringHashFunctions.h: Added.
1466
1467 2010-01-04  Dan Bernstein  <mitz@apple.com>
1468
1469         Reviewed by Ada Chan and Mark Rowe.
1470
1471         Updated copyright string
1472
1473         * Info.plist:
1474
1475 2009-12-21  Gavin Barraclough  <barraclough@apple.com>
1476
1477         Reviewed by Darin Adler.
1478
1479         https://bugs.webkit.org/show_bug.cgi?id=32831
1480         Replace UString::Rep implementation, following introduction of ropes to JSC.
1481
1482         * ForwardingHeaders/wtf/PossiblyNull.h: Added.
1483             - add forwarding header.
1484
1485 2009-12-16  Mark Rowe  <mrowe@apple.com>
1486
1487         Build fix.  Disable debug variants of WebKit frameworks.
1488
1489         * JavaScriptGlue.xcodeproj/project.pbxproj:
1490
1491 2009-12-13  Geoffrey Garen  <ggaren@apple.com>
1492
1493         Reviewed by Sam Weinig.
1494         
1495         Changed GC from mark-sweep to mark-allocate.
1496         
1497         * JavaScriptGlue.cpp:
1498         (JSCollect): Updated for rename. Fixed a bug where JSGlue would not check
1499         to avoid nested GC calls.
1500
1501 2009-12-08  Dmitry Titov  <dimich@chromium.org>
1502
1503         Rubber-stamped by David Levin.
1504
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
1508
1509         * ForwardingHeaders/wtf/ThreadVerifier.h: Removed.
1510
1511 2009-12-08  Dmitry Titov  <dimich@chromium.org>
1512
1513         Reviewed by Darin Adler.
1514
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
1517
1518         * ForwardingHeaders/wtf/ThreadVerifier.h: Added.
1519
1520 2009-11-24  Mark Rowe  <mrowe@apple.com>
1521
1522         Fix production builds where the source tree may be read-only.
1523
1524         * JavaScriptGlue.xcodeproj/project.pbxproj:
1525
1526 2009-11-08  David Levin  <levin@chromium.org>
1527
1528         Reviewed by NOBODY (chromium build fix).
1529
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
1535
1536         * config.h:
1537
1538 2009-11-06  Geoffrey Garen  <ggaren@apple.com>
1539
1540         Reviewed by Oliver Hunt.
1541
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.
1544         
1545         * ForwardingHeaders/wtf/CurrentTime.h: Added.
1546
1547 2009-10-27  Geoffrey Garen  <ggaren@apple.com>
1548
1549         Build fix: Updated for JavaScriptCore export changes.
1550
1551         * ForwardingHeaders/wtf/DateInstanceCache.h: Added.
1552
1553 2009-10-27  Geoffrey Garen  <ggaren@apple.com>
1554
1555         Reviewed by Oliver Hunt.
1556
1557         Updated for JavaScriptCore export changes.
1558
1559         * ForwardingHeaders/wtf/DateMath.h: Added.
1560
1561 2009-10-27  Dan Bernstein  <mitz@apple.com>
1562
1563         Reviewed by Darin Adler.
1564
1565         Updated license
1566
1567         * LICENSE:
1568
1569 2009-10-16  Oliver Hunt  <oliver@apple.com>
1570
1571         Reviewed by Gavin Barraclough.
1572
1573         Make typeinfo flags default to false
1574         https://bugs.webkit.org/show_bug.cgi?id=30372
1575
1576         Last part -- replace HasDefaultGetPropertyNames with OverridesGetPropertyNames
1577         flag.
1578
1579         * UserObjectImp.h:
1580         (UserObjectImp::createStructure):
1581
1582 2009-10-15  Oliver Hunt  <oliver@apple.com>
1583
1584         Reviewed by Darin Adler.
1585
1586         Make typeinfo flags default to false
1587         https://bugs.webkit.org/show_bug.cgi?id=30372
1588
1589         Part 2 -- Reverse the TypeInfo HasDefaultMark flag to OverridesMarkChildren, etc
1590
1591         * UserObjectImp.h:
1592         (UserObjectImp::createStructure):
1593
1594 2009-10-14  Oliver Hunt  <oliver@apple.com>
1595
1596         Reviewed by Geoff Garen.
1597
1598         Make typeinfo flags default to false
1599         https://bugs.webkit.org/show_bug.cgi?id=30372
1600         
1601         Part 1. Reverse the HasStandardGetOwnPropertySlot flag.
1602
1603         * UserObjectImp.h:
1604         (UserObjectImp::createStructure):
1605
1606 2009-09-28  Geoffrey Garen  <ggaren@apple.com>
1607
1608         Reviewed by Sam Weinig.
1609
1610         Removed virtual destructor from JSGlobalObjectData to eliminate pointer
1611         fix-ups when accessing JSGlobalObject::d.
1612         
1613         Replaced with an explicit destructor function pointer.
1614
1615         * JSRun.cpp:
1616         (JSGlueGlobalObject::destroyData):
1617         * JSRun.h:
1618         (JSGlueGlobalObject::Data::Data):
1619
1620 2009-09-12  Oliver Hunt  <oliver@apple.com>
1621
1622         Reviewed by Maciej Stachowiak.
1623
1624         [ES5] Implement Object.keys
1625         https://bugs.webkit.org/show_bug.cgi?id=29170
1626
1627         Switch over to getOwnPropertyNames instead of getPropertyNames.
1628
1629         * UserObjectImp.cpp:
1630         (UserObjectImp::getOwnPropertyNames):
1631         * UserObjectImp.h:
1632
1633 2009-09-02  Darin Adler  <darin@apple.com>
1634
1635         Reviewed by Geoff Garen.
1636
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.
1641
1642 2009-08-14  Darin Adler  <darin@apple.com>
1643
1644         Reviewed by Sam Weinig.
1645
1646         Rename the confusing isObject(<class>) to inherits(<class>).
1647         It still works on non-objects, returning false.
1648
1649         * JSUtils.cpp:
1650         (KJSValueToJSObject):
1651         (KJSValueToCFTypeInternal):
1652         Changed from isObject to inherits.
1653
1654 2009-08-13  Oliver Hunt  <oliver@apple.com>
1655
1656         Reviewed by Maciej Stachowiak.
1657
1658         Devirtualise marking
1659         https://bugs.webkit.org/show_bug.cgi?id=28294
1660
1661         Continue to jump through hoops to deal with the exposed marking routines
1662         in JavaScriptGlue.
1663
1664         * JSValueWrapper.cpp:
1665         (JSValueWrapper::JSObjectMark):
1666
1667 2009-08-07  Oliver Hunt  <oliver@apple.com>
1668
1669         Reviewed by Sam Weinig.
1670
1671         Stack overflow crash in JavaScript garbage collector mark pass
1672         https://bugs.webkit.org/show_bug.cgi?id=12216
1673
1674         Make JSGlue interact with the new iterative mark logic.
1675
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):
1683         * UserObjectImp.h:
1684
1685 2009-08-06  Mark Rowe  <mrowe@apple.com>
1686
1687         Rubber-stamped by Sam Weinig.
1688
1689         Add explicit dependencies for our build verification scripts to ensure that they always run after linking has completed.
1690
1691         * JavaScriptGlue.xcodeproj/project.pbxproj:
1692
1693 2009-07-27  Alexey Proskuryakov  <ap@webkit.org>
1694
1695         Reviewed by Darin Adler.
1696
1697         https://bugs.webkit.org/show_bug.cgi?id=27735
1698         Give a helpful name to JSLock constructor argument
1699
1700         * JSBase.cpp:
1701         (JSBase::Release):
1702         * JSUtils.cpp:
1703         (JSObjectKJSValue):
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:
1713         (JSRunCreate):
1714         (JSRunEvaluate):
1715         (JSRunCheckSyntax):
1716         (JSCollect):
1717         (JSLockInterpreter):
1718         (JSUnlockInterpreter):
1719
1720 2009-07-10  Adam Roben  <aroben@apple.com>
1721
1722         Sort all our Xcode projects
1723
1724         Accomplished using sort-Xcode-project-file.
1725
1726         Requested by Dave Kilzer.
1727
1728         * JavaScriptGlue.xcodeproj/project.pbxproj:
1729
1730 2009-07-08  Darin Adler  <darin@apple.com>
1731
1732         Reviewed by Dan Bernstein
1733
1734         - fix <rdar://problem/6971484> REGRESSION (r30534): "Scrolling Credits"
1735           effect does not scroll on iMovie 7.1.4 on Tiger
1736
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
1740         called after that.
1741
1742         * UserObjectImp.cpp:
1743         (UserObjectImp::put): Match the current prototype of JSObject::put().
1744         The PutPropertySlot argument is unused.
1745         * UserObjectImp.h: Ditto.
1746
1747 2009-06-19  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
1748
1749         Reviewed by Darin Adler.
1750
1751         Add FastAllocBase.h to JavaScriptGlue's ForwardingHeaders/wtf, because it's needed by HashCountedSet.h on MAC.
1752
1753         * ForwardingHeaders/wtf/FastAllocBase.h: Added.
1754
1755 2009-06-02  Mark Rowe  <mrowe@apple.com>
1756
1757         Reviewed by Anders Carlsson.
1758
1759         Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds.
1760
1761         * Configurations/Base.xcconfig:
1762
1763 2009-05-25  David Levin  <levin@chromium.org>
1764
1765         Reviewed by Maciej Stachowiak and Oliver Hunt.
1766
1767         https://bugs.webkit.org/show_bug.cgi?id=25126
1768
1769         Added forwarding headers.
1770
1771         * ForwardingHeaders/wtf/CrossThreadRefCounted.h: Added.
1772         * ForwardingHeaders/wtf/OwnFastMallocPtr.h: Added.
1773
1774 2009-05-23  David Kilzer  <ddkilzer@apple.com>
1775
1776         Part 1 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
1777
1778         <https://bugs.webkit.org/show_bug.cgi?id=25495>
1779
1780         Reviewed by Oliver Hunt.
1781
1782         * ForwardingHeaders/wtf/OwnPtrCommon.h: Added.
1783         * ForwardingHeaders/wtf/PassOwnPtr.h: Added.
1784
1785 2009-05-14  Mark Rowe  <mrowe@apple.com>
1786
1787         Rubber-stamped by Darin Adler.
1788
1789         <rdar://problem/6681868> When building with Xcode 3.1.3 should be using gcc 4.2
1790
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.
1794
1795         * Configurations/Base.xcconfig:
1796
1797 2009-05-07  Oliver Hunt  <oliver@apple.com>
1798
1799         Reviewed by Gavin Barraclough.
1800
1801         Add calling convention annotation
1802
1803         * JSObject.cpp:
1804
1805 2009-05-01  Geoffrey Garen  <ggaren@apple.com>
1806
1807         Rubber Stamped by Sam Weinig.
1808         
1809         Renamed JSValuePtr => JSValue.
1810
1811         * JSObject.cpp:
1812         (nativeCallFunction):
1813         * JSUtils.cpp:
1814         (KJSValueToJSObject):
1815         (JSObjectKJSValue):
1816         (KJSValueToCFTypeInternal):
1817         (KJSValueToCFType):
1818         * JSUtils.h:
1819         * JSValueWrapper.cpp:
1820         (JSValueWrapper::JSValueWrapper):
1821         (JSValueWrapper::GetValue):
1822         (JSValueWrapper::JSObjectCopyProperty):
1823         (JSValueWrapper::JSObjectSetProperty):
1824         (JSValueWrapper::JSObjectCallFunction):
1825         * JSValueWrapper.h:
1826         * UserObjectImp.cpp:
1827         (UserObjectImp::callAsFunction):
1828         (UserObjectImp::userObjectGetter):
1829         (UserObjectImp::getOwnPropertySlot):
1830         (UserObjectImp::put):
1831         (UserObjectImp::toPrimitive):
1832         * UserObjectImp.h:
1833         (UserObjectImp::createStructure):
1834
1835 2009-04-29  Oliver Hunt  <oliver@apple.com>
1836
1837         Reviewed by Gavin Barraclough.
1838
1839         Clean up ArgList to be a trivial type
1840
1841         Start using MarkedArgumentBuffer to create argument lists for function calls
1842
1843         * JSValueWrapper.cpp:
1844         (JSValueWrapper::JSObjectCallFunction):
1845
1846 2009-04-28  Geoffrey Garen  <ggaren@apple.com>
1847
1848         Rubber stamped by Beth Dakin.
1849         
1850         Missed one.
1851
1852         * UserObjectImp.cpp:
1853         (UserObjectImp::callAsFunction):
1854
1855 2009-04-21  Geoffrey Garen  <ggaren@apple.com>
1856
1857         Reviewed by Mark Rowe.
1858
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.
1861
1862         * ForwardingHeaders/wtf/VMTags.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/HashTraits.h.
1863
1864 2009-04-20  Sam Weinig  <sam@webkit.org>
1865
1866         Rubber-stamped by Tim Hatcher.
1867
1868         Add licenses for xcconfig files.
1869
1870         * Configurations/Base.xcconfig:
1871         * Configurations/DebugRelease.xcconfig:
1872         * Configurations/JavaScriptGlue.xcconfig:
1873         * Configurations/Version.xcconfig:
1874
1875 2009-03-13  Mark Rowe  <mrowe@apple.com>
1876
1877         Rubber-stamped by Dan Bernstein.
1878
1879         Take advantage of the ability of recent versions of Xcode to easily switch the active
1880         architecture.
1881
1882         * Configurations/DebugRelease.xcconfig:
1883
1884 2009-02-24  Mark Rowe  <mrowe@apple.com>
1885
1886         Rubber-stamped by Dan Bernstein.
1887
1888         <rdar://problem/6407844> JavaScriptGlue should use -Os rather than -O2
1889
1890         * Configurations/Base.xcconfig:
1891
1892 2009-01-28  Sam Weinig  <sam@webkit.org>
1893
1894         Reviewed by Gavin Barraclough.
1895
1896         Fix for <rdar://problem/6525537>
1897         Hang occurs when closing Installer window (iTunes, Aperture)
1898
1899         * JSUtils.cpp:
1900         (getThreadGlobalObject): Use the shared JSGlobalData instance.
1901
1902 2009-01-22  Mark Rowe  <mrowe@apple.com>
1903
1904         Rubber-stamped by Anders Carlsson.
1905
1906         Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily.
1907
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.
1911
1912         * Configurations/Base.xcconfig:
1913
1914 2009-01-19  Sam Weinig  <sam@webkit.org>
1915
1916         Rubber-stamped by Gavin Barraclough.
1917
1918         Remove temporary operator-> from JSValuePtr.
1919
1920         * JSUtils.cpp:
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):
1931
1932 2009-01-14  Dan Bernstein  <mitz@apple.com>
1933
1934         Reviewed by John Sullivan.
1935
1936         - update copyright
1937
1938         * Info.plist:
1939
1940 2009-01-09  David Levin  <levin@chromium.org>
1941
1942         Reviewed by Oliver Hunt.
1943
1944         https://bugs.webkit.org/show_bug.cgi?id=23175
1945
1946         Added forwarding header.
1947
1948         * ForwardingHeaders/wtf/PtrAndFlags.h: Added.
1949
1950 2009-01-05  Gavin Barraclough  <baraclough@apple.com>
1951
1952         Rubber Stamped by Oliver Hunt.
1953
1954         Replace all uses of JSValue* with new wrapper class, JSValuePtr.
1955         See JavaScriptCore/ChangeLog for more detailed description.
1956
1957         * JSObject.cpp:
1958         (nativeCallFunction):
1959         * JSUtils.cpp:
1960         (KJSValueToJSObject):
1961         (JSObjectKJSValue):
1962         (KJSValueToCFTypeInternal):
1963         (KJSValueToCFType):
1964         * JSUtils.h:
1965         * JSValueWrapper.cpp:
1966         (JSValueWrapper::JSValueWrapper):
1967         (JSValueWrapper::GetValue):
1968         (JSValueWrapper::JSObjectCopyProperty):
1969         (JSValueWrapper::JSObjectSetProperty):
1970         (JSValueWrapper::JSObjectCallFunction):
1971         * JSValueWrapper.h:
1972         * UserObjectImp.cpp:
1973         (UserObjectImp::callAsFunction):
1974         (UserObjectImp::userObjectGetter):
1975         (UserObjectImp::getOwnPropertySlot):
1976         (UserObjectImp::put):
1977         (UserObjectImp::toPrimitive):
1978         * UserObjectImp.h:
1979         (UserObjectImp::createStructure):
1980
1981 2008-12-15  Mark Rowe  <mrowe@apple.com>
1982
1983         Rubber-stamped by Cameron Zwarich.
1984
1985         <rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on Leopard.
1986
1987         * Configurations/Base.xcconfig:
1988         * Configurations/DebugRelease.xcconfig:
1989
1990 2008-12-08  David Kilzer  <ddkilzer@apple.com>
1991
1992         Bug 22555: Sort "children" sections in Xcode project files
1993
1994         <https://bugs.webkit.org/show_bug.cgi?id=22555>
1995
1996         Reviewed by Eric Seidel.
1997
1998         * JavaScriptGlue.xcodeproj/project.pbxproj: Sorted.
1999
2000 2008-11-17  Geoffrey Garen  <ggaren@apple.com>
2001
2002         Reviewed by Sam Weinig.
2003         
2004         Updated for JavaScriptCore rename.
2005
2006         * ForwardingHeaders/runtime/CallFrame.h: Copied from JavaScriptGlue/ForwardingHeaders/runtime/ExecState.h.
2007         * ForwardingHeaders/runtime/ExecState.h: Removed.
2008         * config.h:
2009
2010 2008-11-17  Geoffrey Garen  <ggaren@apple.com>
2011
2012         Reviewed by Sam Weinig.
2013         
2014         Updated for JavaScriptCore rename.
2015
2016         * ForwardingHeaders/interpreter: Added.
2017         * ForwardingHeaders/interpreter/CallFrame.h: Copied from ForwardingHeaders/runtime/ExecState.h.
2018         * ForwardingHeaders/runtime/ExecState.h: Removed.
2019
2020 2008-11-15  Darin Adler  <darin@apple.com>
2021
2022         Rubber stamped by Geoff Garen.
2023
2024         - do the long-planned StructureID -> Structure rename
2025
2026         * JSRun.cpp:
2027         (JSGlueGlobalObject::JSGlueGlobalObject):
2028         (JSRun::JSRun):
2029         * JSRun.h:
2030         (JSGlueGlobalObject::userObjectStructure):
2031         * JSUtils.cpp:
2032         (getThreadGlobalObject):
2033         * UserObjectImp.cpp:
2034         (UserObjectImp::UserObjectImp):
2035         * UserObjectImp.h:
2036         (UserObjectImp::createStructure):
2037
2038 2008-11-15  Geoffrey Garen  <ggaren@apple.com>
2039
2040         Reviewed by Sam Weinig.
2041         
2042         Updated for JavaScriptCore renames.
2043
2044         * JSRun.cpp:
2045         (JSRun::Evaluate):
2046         (JSRun::CheckSyntax):
2047
2048 2008-11-05  Cameron Zwarich  <zwarich@apple.com>
2049
2050         Not reviewed.
2051
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.
2055
2056         * JSRun.cpp:
2057         * JSUtils.h:
2058         * JavaScriptGlue.cpp:
2059
2060 2008-11-04  Cameron Zwarich  <zwarich@apple.com>
2061
2062         Reviewed by Mark Rowe.
2063
2064         Remove JavaScriptGlue forwarding headers that are no longer necessary,
2065         and correct the path of the ExecState.h forwarding header.
2066
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.
2075         * config.h:
2076
2077 2008-10-31  Stephanie Lewis  <slewis@apple.com>
2078
2079         Fix build by including right files.
2080
2081         * JSRun.cpp:
2082
2083 2008-10-30  Mark Rowe  <mrowe@apple.com>
2084
2085         Reviewed by Jon Homeycutt.
2086
2087         Explicitly default to building for only the native architecture in debug and release builds.
2088
2089         * Configurations/DebugRelease.xcconfig:
2090
2091 2008-10-24  Darin Adler  <darin@apple.com>
2092
2093         - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
2094
2095         * JSObject.cpp:
2096         (nativeCallFunction):
2097         * JSUtils.cpp:
2098         (KJSValueToJSObject):
2099         (JSObjectKJSValue):
2100         (KJSValueToCFTypeInternal):
2101         (KJSValueToCFType):
2102         * JSUtils.h:
2103         * JSValueWrapper.cpp:
2104         (JSValueWrapper::JSValueWrapper):
2105         (JSValueWrapper::GetValue):
2106         (JSValueWrapper::JSObjectCopyProperty):
2107         (JSValueWrapper::JSObjectSetProperty):
2108         (JSValueWrapper::JSObjectCallFunction):
2109         * JSValueWrapper.h:
2110         * UserObjectImp.cpp:
2111         (UserObjectImp::callAsFunction):
2112         (UserObjectImp::userObjectGetter):
2113         (UserObjectImp::getOwnPropertySlot):
2114         (UserObjectImp::put):
2115         (UserObjectImp::toPrimitive):
2116         * UserObjectImp.h:
2117         (UserObjectImp::createStructureID):
2118         Use JSValue* instead of JSValuePtr.
2119
2120 2008-10-23  Darin Adler  <darin@apple.com>
2121
2122         - roll out https://bugs.webkit.org/show_bug.cgi?id=21732
2123
2124         * JSValueWrapper.cpp:
2125         (JSValueWrapper::GetValue): Added missing call to .get().
2126         * JSValueWrapper.h: ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.
2127
2128 2008-10-22  Darin Adler  <darin@apple.com>
2129
2130         Reviewed by Sam Weinig.
2131
2132         - fix https://bugs.webkit.org/show_bug.cgi?id=21294
2133           Bug 21294: Devirtualize getOwnPropertySlot()
2134
2135         * JSRun.cpp:
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.
2141
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.
2145
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
2152         the global object.
2153         (getThreadGlobalExecState): Changed to call getThreadGlobalObject.
2154
2155         * UserObjectImp.cpp:
2156         (UserObjectImp::UserObjectImp): Changed to take a structure.
2157         * UserObjectImp.h:
2158         (UserObjectImp::createStructureID): Added. Returns a structure without
2159         HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
2160
2161 2008-10-20  Sam Weinig  <sam@webkit.org>
2162
2163         Reviewed by Cameron Zwarich.
2164
2165         Fix for https://bugs.webkit.org/show_bug.cgi?id=21766
2166         REGRESSION: 12 JSC tests fail
2167
2168         The JSGlobalObject constructor no longer takes a JSGlobalData
2169         as an argument.
2170
2171         * JSRun.cpp:
2172         (JSRun::JSRun):
2173         * JSRun.h:
2174         (JSGlueGlobalObject::JSGlueGlobalObject):
2175         * JSUtils.cpp:
2176         (getThreadGlobalExecState):
2177
2178 2008-10-19  Darin Adler  <darin@apple.com>
2179
2180         Reviewed by Oliver Hunt.
2181
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
2184
2185         Remove most uses of JSValue, which will be removed in a future patch.
2186
2187         * JSValueWrapper.h: Use JSValuePtr instead of JSValue*.
2188
2189 2008-10-18  Darin Adler  <darin@apple.com>
2190
2191         Reviewed by Oliver Hunt.
2192
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
2195
2196         Tweak a little more to get closer to where we can make JSValuePtr a class.
2197
2198         * JSObject.cpp:
2199         (nativeCallFunction): Call asObject.
2200
2201         * JSUtils.cpp:
2202         (KJSValueToJSObject): Use JSValuePtr and asObject.
2203         (JSObjectKJSValue): Ditto.
2204         (KJSValueToCFTypeInternal): Ditto.
2205         (KJSValueToCFType): Ditto.
2206         * JSUtils.h: Ditto.
2207
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.
2215
2216 2008-10-18  Darin Adler  <darin@apple.com>
2217
2218         Reviewed by Cameron Zwarich.
2219
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
2222
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.
2226
2227         * JSObject.cpp:
2228         * JSValueWrapper.cpp:
2229         * UserObjectImp.cpp:
2230         * UserObjectImp.h:
2231         Replace JSValue* with JSValuePtr.
2232
2233 2008-10-13  Maciej Stachowiak  <mjs@apple.com>
2234
2235         Rubber stamped by Mark Rowe.
2236         
2237         - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
2238
2239         * Configurations/DebugRelease.xcconfig:
2240
2241 2008-10-06  Maciej Stachowiak  <mjs@apple.com>
2242
2243         Not reviewed. Build fix.
2244
2245         - revert toBoolean changes (r37333 and r37335); need to make WebCore work with these
2246
2247         * JSUtils.cpp:
2248         (KJSValueToCFTypeInternal):
2249
2250 2008-10-06  Maciej Stachowiak  <mjs@apple.com>
2251
2252         Not reviewed.
2253         
2254         - fix build; toBoolean no longer takes an ExecState
2255
2256         * JSUtils.cpp:
2257         (KJSValueToCFTypeInternal):
2258
2259 2008-10-04  Mark Rowe  <mrowe@apple.com>
2260
2261         Reviewed by Tim Hatcher.
2262
2263         Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
2264
2265         * JavaScriptGlue.xcodeproj/project.pbxproj:
2266
2267 2008-10-01  Geoffrey Garen  <ggaren@apple.com>
2268
2269         Reviewed by Darin Adler and Cameron Zwarich.
2270
2271         * JSRun.cpp:
2272         (JSRun::Evaluate):
2273         (JSRun::CheckSyntax): Provide a SourceCode to the Interpreter, since
2274         other APIs are no longer supported.
2275
2276 2008-09-29  Geoffrey Garen  <ggaren@apple.com>
2277
2278         Not reviewed.
2279         
2280         Forwarding headers to fix the build.
2281
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.
2288
2289 2008-09-08  Sam Weinig  <sam@webkit.org>
2290
2291         Reviewed by Maciej Stachowiak and Oliver Hunt.
2292
2293         Add forwarding headers.
2294
2295         * ForwardingHeaders/wtf/HashFunctions.h: Added.
2296         * ForwardingHeaders/wtf/HashTraits.h: Added.
2297
2298 2008-09-02  Geoffrey Garen  <ggaren@apple.com>
2299
2300         Reviewed by Sam Weinig.
2301         
2302         Implemented the rest of Darin's review comments for the 09-01 inline
2303         caching patch.
2304         
2305         * ForwardingHeaders/kjs/PutPropertySlot.h: Added.
2306
2307 2008-09-01  Geoffrey Garen  <ggaren@apple.com>
2308
2309         Reviewed by Darin Adler.
2310
2311         First cut at inline caching for access to vanilla JavaScript properties.
2312         
2313         Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
2314         to JavaScriptGlue classes, and PutPropertySlot& arguments to put functions.
2315
2316 2008-08-22  Anders Carlsson  <andersca@apple.com>
2317
2318         Fix build for real this time.
2319         
2320         * UserObjectImp.h:
2321
2322 2008-08-22  Anders Carlsson  <andersca@apple.com>
2323
2324         Fix build.
2325         
2326         * UserObjectImp.cpp:
2327         (UserObjectImp::toPrimitive):
2328         * UserObjectImp.h:
2329
2330 2008-08-19  Alexey Proskuryakov  <ap@webkit.org>
2331
2332         Reviewed by Geoff Garen.
2333
2334         Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
2335
2336         * JSBase.cpp:
2337         (JSBase::Release):
2338         * JSUtils.cpp:
2339         (JSObjectKJSValue):
2340         (KJSValueToCFTypeInternal):
2341         (unprotectGlobalObject):
2342         * JSUtils.h:
2343         * JSValueWrapper.cpp:
2344         (JSValueWrapper::JSObjectCopyPropertyNames):
2345         (JSValueWrapper::JSObjectCopyProperty):
2346         (JSValueWrapper::JSObjectSetProperty):
2347         (JSValueWrapper::JSObjectCallFunction):
2348         (JSValueWrapper::JSObjectCopyCFValue):
2349         * JavaScriptGlue.cpp:
2350         (JSRunCreate):
2351         (JSRunEvaluate):
2352         (JSRunCheckSyntax):
2353         (JSCollect):
2354         (JSLockInterpreter):
2355         (JSUnlockInterpreter):
2356         * UserObjectImp.cpp:
2357         (UserObjectImp::callAsFunction):
2358
2359 2008-08-12  Darin Adler  <darin@apple.com>
2360
2361         Reviewed by Geoff.
2362
2363         - eliminate JSValue::type()
2364
2365         * JSUtils.cpp:
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.
2373
2374 2008-08-17  Geoffrey Garen  <ggaren@apple.com>
2375
2376         Reviewed by Cameron Zwarich.
2377         
2378         Updated project files to XCode 3.1.
2379
2380         * JavaScriptGlue.xcodeproj/project.pbxproj:
2381
2382 2008-08-15  Mark Rowe  <mrowe@apple.com>
2383
2384         Rubber-stamped by Geoff Garen.
2385
2386         <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
2387
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.
2391
2392 2008-07-31  Alexey Proskuryakov  <ap@webkit.org>
2393
2394         Rubber-stamped by Maciej.
2395
2396         Eliminate JSLock (it was already disabled, removing the stub implementaion and all
2397         call sites now).
2398
2399         * JSBase.cpp:
2400         (JSBase::Release):
2401         * JSUtils.cpp:
2402         (JSObjectKJSValue):
2403         (KJSValueToCFTypeInternal):
2404         (unprotectGlobalObject):
2405         * JSUtils.h:
2406         * JSValueWrapper.cpp:
2407         (JSValueWrapper::JSObjectCopyPropertyNames):
2408         (JSValueWrapper::JSObjectCopyProperty):
2409         (JSValueWrapper::JSObjectSetProperty):
2410         (JSValueWrapper::JSObjectCallFunction):
2411         (JSValueWrapper::JSObjectCopyCFValue):
2412         * JavaScriptGlue.cpp:
2413         (JSRunCreate):
2414         (JSRunEvaluate):
2415         (JSRunCheckSyntax):
2416         (JSCollect):
2417         (JSLockInterpreter):
2418         (JSUnlockInterpreter):
2419         * UserObjectImp.cpp:
2420         (UserObjectImp::callAsFunction):
2421
2422 2008-07-29  Alexey Proskuryakov  <ap@webkit.org>
2423
2424         Reviewed by Geoff Garen.
2425
2426         Implement JSContextGroup APIs to make concurrent execution possible for
2427         JavaScriptCore clients.
2428
2429         * JSRun.cpp:
2430         (JSRun::JSRun):
2431         * JSUtils.cpp:
2432         (getThreadGlobalExecState):
2433         Changed JavaScriptGlue to use a JSGlobalData of its own, now that there is no shared
2434         instance.
2435
2436 2008-07-23  Alexey Proskuryakov  <ap@webkit.org>
2437
2438         Reviewed by Geoff Garen.
2439
2440         Make JSClassRef work with any context, not just the first one it was used in.
2441
2442         * ForwardingHeaders/wtf/HashMap.h: Added.
2443
2444 2008-07-22  Geoffrey Garen  <ggaren@apple.com>
2445
2446         Reviewed by Oliver Hunt and Sam Weinig.
2447
2448         Next step toward putting doubles in registers: Prepare the Register class
2449         and its clients for registers that don't contain JSValue*s.
2450         
2451 2008-07-21  Mark Rowe  <mrowe@apple.com>
2452
2453         Reviewed by Sam Weinig.
2454
2455         <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
2456
2457         * Configurations/Version.xcconfig:
2458         * Info.plist:
2459
2460 2008-07-18  Geoffrey Garen  <ggaren@apple.com>
2461
2462         Reviewed by Cameron Zwarich.
2463         
2464         Three renames:
2465         
2466         "CallTypeNative" => "CallTypeHost"
2467         "code" => "byteCode"
2468         "generatedCode" => "generatedByteCode"
2469
2470         * ChangeLog:
2471         * JSObject.cpp:
2472         (JSUserObject::getCallData):
2473
2474 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
2475
2476         Reviewed by Geoff Garen.
2477
2478         Eliminate per-thread JavaScript global data instance support and make arbitrary
2479         global data/global object combinations possible.
2480
2481         * ForwardingHeaders/wtf/ThreadSpecific.h: Added.
2482         * JSRun.cpp:
2483         (JSRun::JSRun):
2484         * JSUtils.cpp:
2485         (getThreadGlobalExecState):
2486         Adapt to the new way of asking for shared JSGlobalData.
2487
2488 2008-07-10  Mark Rowe  <mrowe@apple.com>
2489
2490         Reviewed by Sam Weinig.
2491
2492         Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
2493
2494         * Configurations/JavaScriptGlue.xcconfig:
2495
2496 2008-07-09  Mark Rowe  <mrowe@apple.com>
2497
2498         Reviewed by Geoff Garen.
2499
2500         Don't warn about deprecated functions in production builds.
2501
2502         * Configurations/Base.xcconfig:
2503         * Configurations/DebugRelease.xcconfig:
2504
2505 2008-07-08  Alexey Proskuryakov  <ap@webkit.org>
2506
2507         Reviewed by Darin Adler.
2508
2509         <rdar://problem/6058368> REGRESSION: Crash occurs in KJS::Machine after launching
2510         Apple Installer
2511
2512         The problem was that JSUserObject::getCallData() was setting call type to native, but
2513         left callData.native.function uninitialized.
2514
2515         * JSObject.cpp:
2516         (JSUserObject::getCallData): Initialize callData.native.function.
2517         (nativeCallFunction): Call UserObjectImp::callAsFunction().
2518
2519 2008-07-04  Sam Weinig  <sam@webkit.org>
2520
2521         Rubber-stamped by Dan Bernstein.
2522
2523         * JSObject.h: Rename the header guard as it now conflicts with the
2524         JSObject in JavaScriptCore.
2525
2526 2008-07-01  Alexey Proskuryakov  <ap@webkit.org>
2527
2528         Reviewed by Darin Adler.
2529
2530         Disable JSLock for per-thread contexts.
2531
2532         * ForwardingHeaders/wtf/Locker.h: Added.
2533         * ForwardingHeaders/wtf/Threading.h: Added.
2534         * JSBase.cpp:
2535         (JSBase::Release):
2536         * JSUtils.cpp:
2537         (JSObjectKJSValue):
2538         (KJSValueToCFTypeInternal):
2539         (unprotectGlobalObject):
2540         * JSUtils.h:
2541         * JSValueWrapper.cpp:
2542         (JSValueWrapper::JSObjectCopyPropertyNames):
2543         (JSValueWrapper::JSObjectCopyProperty):
2544         (JSValueWrapper::JSObjectSetProperty):
2545         (JSValueWrapper::JSObjectCallFunction):
2546         (JSValueWrapper::JSObjectCopyCFValue):
2547         * JavaScriptGlue.cpp:
2548         (JSRunCreate):
2549         (JSRunEvaluate):
2550         (JSRunCheckSyntax):
2551         (JSCollect):
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.
2559
2560 2008-06-26  Darin Adler  <darin@apple.com>
2561
2562         Reviewed by Geoff.
2563
2564         * JSUtils.cpp: Added include of <JavaScriptCore/JSString.h> since jsString
2565         will soon be changed to return a JSString*.
2566         * UserObjectImp.cpp: Ditto.
2567
2568 2008-06-23  Darin Adler  <darin@apple.com>
2569
2570         Reviewed by Geoff.
2571
2572         * JSValueWrapper.cpp:
2573         (JSValueWrapper::JSObjectCallFunction): Updated to use getCallData and call instead
2574         of the old callAsFunction.
2575
2576 2008-06-17  Alexey Proskuryakov  <ap@webkit.org>
2577
2578         Reviewed by Darin Adler.
2579
2580         Prepare JavaScript heap for being per-thread.
2581
2582         * JSRun.cpp: (JSRun::JSRun): Create JSGlueGlobalObject in a shared JS heap.
2583
2584         * JSUtils.h: Made getThreadGlobalExecState available throughout JSGlue.
2585
2586         * JSUtils.cpp:
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.
2594
2595         * JavaScriptGlue.cpp:
2596         (JSLockInterpreter): Don't call registerThread explicitly, as JSLock will do that.
2597
2598         * UserObjectImp.cpp: (UserObjectImp::toPrimitive): Pass ExecState* where now required.
2599
2600 2008-06-17  Mark Rowe  <mrowe@apple.com>
2601
2602         Reviewed by Darin Adler.
2603
2604         <rdar://problem/5775802> JavaScriptGlue should not force use of GCC 4.0.
2605
2606         * JavaScriptGlue.xcodeproj/project.pbxproj:
2607
2608 2008-06-16  Maciej Stachowiak  <mjs@apple.com>
2609
2610         Reviewed by Alexey.
2611
2612         - removed nearly unused types.h and LocalStorageEntry.h headers
2613
2614         * JSUtils.h:
2615
2616 2008-06-16  Alexey Proskuryakov  <ap@webkit.org>
2617
2618         Reviewed by Geoff Garen.
2619
2620         Make Identifier construction use an explicitly passed IdentifierTable.
2621
2622         * JSUtils.cpp:
2623         (CFStringToIdentifier):
2624         (KJSValueToCFTypeInternal):
2625         * JSUtils.h:
2626         * JSValueWrapper.cpp:
2627         (JSValueWrapper::JSObjectCopyPropertyNames):
2628         (JSValueWrapper::JSObjectCopyProperty):
2629         (JSValueWrapper::JSObjectSetProperty):
2630         * UserObjectImp.cpp:
2631         (UserObjectImp::getPropertyNames):
2632         Pass ExecState or JSGlobalData everywhere.
2633
2634 2008-06-15  Darin Adler  <darin@apple.com>
2635
2636         - rename KJS::List to KJS::ArgList
2637
2638         * JSValueWrapper.cpp:
2639         (JSValueWrapper::JSObjectCallFunction):
2640         * UserObjectImp.cpp:
2641         (UserObjectImp::callAsFunction):
2642         * UserObjectImp.h:
2643
2644 2008-06-15  Darin Adler  <darin@apple.com>
2645
2646         - new names for a few key JavaScriptCore files
2647
2648         * ForwardingHeaders/kjs/JSValue.h: Copied from JavaScriptGlue/ForwardingHeaders/kjs/value.h.
2649         * ForwardingHeaders/kjs/value.h: Removed.
2650         * JSUtils.h:
2651
2652 2008-06-03  Darin Adler  <darin@apple.com>
2653
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
2656
2657         * UserObjectImp.cpp:
2658         (UserObjectImp::userObjectGetter): Removed originalObject argument.
2659         * UserObjectImp.h: Ditto.
2660
2661 2008-06-02  Geoffrey Garen  <ggaren@apple.com>
2662
2663         Reviewed by Alexey Proskuryakov.
2664
2665         Removed JSObject::call, since it just called JSObject::callAsFunction.
2666
2667         SunSpider reports no change.
2668
2669 2008-05-28  Geoffrey Garen  <ggaren@apple.com>
2670
2671         Reviewed by Oliver Hunt.
2672         
2673         Fixed total destruction in Software Update.app.
2674         
2675         Updated JavaScriptGlue to honor squirrelfish's new getCallData mechanism for
2676         indicating that an object can be called as a function.
2677
2678 2008-05-10  Maciej Stachowiak  <mjs@apple.com>
2679
2680         Reviewed by Oliver.
2681
2682         - JavaScriptGlue part of fix for: "SQUIRRELFISH: function toString broken after calling"
2683         https://bugs.webkit.org/show_bug.cgi?id=18869
2684         
2685         * JSRun.cpp:
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().
2690
2691 2008-04-30  Geoffrey Garen  <ggaren@apple.com>
2692
2693         Build fix: supply missing parameter that used to be implicit.
2694
2695         * JSRun.cpp:
2696         (JSRun::Evaluate):
2697
2698 2008-03-30  Geoffrey Garen  <ggaren@apple.com>
2699
2700         Reviewed by Oliver Hunt.
2701         
2702         Build fix.
2703
2704         * ForwardingHeaders/wtf/UnusedParam.h: Copied from ForwardingHeaders/wtf/OwnPtr.h.
2705
2706 2008-05-12  Alexey Proskuryakov  <ap@webkit.org>
2707
2708         Roll out recent  threading changes (r32807, r32810, r32819, r32822) to simplify
2709         SquirrelFish merging.
2710
2711         * JSUtils.cpp:
2712         (JSObjectKJSValue):
2713         * JSUtils.h:
2714         * JSValueWrapper.cpp:
2715         (unprotectGlobalObject):
2716         (initializeGlobalObjectKey):
2717         (getThreadGlobalExecState):
2718         * JavaScriptGlue.cpp:
2719         (JSCollect):
2720         (JSLockInterpreter):
2721         * UserObjectImp.cpp:
2722         (UserObjectImp::toPrimitive):
2723
2724 2008-05-02  Alexey Proskuryakov  <ap@webkit.org>
2725
2726         Reviewed by Darin Adler.
2727
2728         Make JavaScriptGlue and JavaScriptCore API functions implicitly call initializeThreading
2729         for the sake of non-WebKit clients.
2730
2731         * JavaScriptGlue.cpp:
2732         (JSRunCreate):
2733         (JSCollect):
2734         (JSCreateJSArrayFromCFArray):
2735         (JSLockInterpreter):
2736         These are all possible JavaScriptGlue entry points.
2737
2738 2008-05-02  Alexey Proskuryakov  <ap@webkit.org>
2739
2740         Reviewed by Geoffrey Garen.
2741
2742         https://bugs.webkit.org/show_bug.cgi?id=18826
2743         Make JavaScript heap per-thread
2744
2745         * JSValueWrapper.cpp:
2746         * JSUtils.h:
2747         Moved getThreadGlobalExecState() to JSUtils and made it extern, as ExecState is now needed
2748         for all JS allocations.
2749
2750         * JSUtils.cpp:
2751         (JSObjectKJSValue): Pass ExecState to functions that now need it.
2752         (unprotectGlobalObject): Moved from JSValueWrapper.cpp.
2753         (initializeGlobalObjectKey): Ditto.
2754         (getThreadGlobalExecState): Ditto.
2755
2756         * UserObjectImp.cpp: (UserObjectImp::toPrimitive): Pass ExecState to jsString and jsNumber.
2757
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.
2762
2763 2008-04-25  Alexey Proskuryakov  <ap@webkit.org>
2764
2765         Reviewed by Darin Adler.
2766
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
2770
2771         * UserObjectImp.cpp: Adjusted for the new member added to ClassInfo.
2772
2773 2008-04-25  Mark Rowe  <mrowe@apple.com>
2774
2775         Reviewed by Adele Peterson.
2776
2777         <rdar://problem/5891264> Don't install the JavaScriptGlue headers
2778
2779         * JavaScriptGlue.xcodeproj/project.pbxproj:
2780
2781 2008-04-25  Mark Rowe  <mrowe@apple.com>
2782
2783         Rubber-stamped by Sam Weinig.
2784
2785         Add some content to an empty ICU header file to prevent verification errors.
2786
2787         * icu/unicode/utf_old.h:
2788
2789 2008-04-02  Mark Rowe  <mrowe@apple.com>
2790
2791         Reviewed by Oliver Hunt.
2792
2793         Ensure that debug symbols are generated for x86_64 and ppc64 builds.
2794
2795         * Configurations/Base.xcconfig:
2796
2797 2008-03-20  Maciej Stachowiak  <mjs@apple.com>
2798
2799         - fix build
2800
2801         * ForwardingHeaders/wtf/ListRefPtr.h: Added.
2802
2803 2008-03-01  Mark Rowe  <mrowe@apple.com>
2804
2805         Reviewed by Tim Hatcher.
2806
2807         Update Xcode configuration to support building debug and release from the mysterious future.
2808
2809         * Configurations/Base.xcconfig:
2810         * Configurations/DebugRelease.xcconfig:
2811
2812 2008-02-29  Geoffrey Garen  <ggaren@apple.com>
2813
2814         Reviewed by David Harrison.
2815         
2816         Fixed <rdar://problem/5765063> TOT REGRESSION: Software Update crash in
2817         KJS::Collector::collect() (missing JSLock)
2818
2819         * JSValueWrapper.cpp:
2820         (unprotectGlobalObject): Added missing JSLock.
2821
2822 2008-02-05  Mark Rowe  <mrowe@apple.com>
2823
2824         Reviewed by Oliver Hunt.
2825
2826         Update versioning to support the mysterious future.
2827
2828         * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
2829
2830 2008-01-28  Eric Seidel  <eric@webkit.org>
2831
2832         Reviewed by darin.
2833         
2834         Add icu headers to JSG in preparation for depending on ::UChar.
2835
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.
2842
2843 2007-12-19  Geoffrey Garen  <ggaren@apple.com>
2844
2845         Build fix.
2846
2847         * ForwardingHeaders/wtf/VectorTraits.h: Added.
2848
2849 2007-12-10  Timothy Hatcher  <timothy@apple.com>
2850
2851         Reviewed by Mark Rowe.
2852
2853         <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
2854
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.
2857
2858 2007-12-04  Geoffrey Garen  <ggaren@apple.com>
2859
2860         Reviewed by Darin Adler.
2861
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.
2865         
2866         * JSRun.cpp:
2867         (JSRun::JSRun):
2868         (JSRun::Evaluate):
2869         (JSRun::CheckSyntax):
2870         * JSRun.h:
2871         (JSGlueGlobalObject::JSGlueGlobalObject):
2872         * JSUtils.cpp:
2873         (KJSValueToCFTypeInternal):
2874         * JSValueWrapper.cpp:
2875         (getThreadGlobalExecState):
2876
2877 2007-12-02  Geoffrey Garen  <ggaren@apple.com>
2878
2879         Reviewed by Eric Seidel.
2880
2881         Updated to match the JavaScriptCore change to move virtual methods from
2882         Interpreter to JSGlobalObject.
2883         
2884         * JSRun.cpp:
2885         * JSRun.h:
2886         * JSValueWrapper.cpp:
2887         (getThreadGlobalExecState):
2888         * JavaScriptGlue.cpp:
2889         (JSRunCopyGlobalObject):
2890         (JSRunEvaluate):
2891
2892 2007-11-30  Geoffrey Garen  <ggaren@apple.com>
2893
2894         Reviewed by Beth Dakin.
2895         
2896         Modified to follow new JSGlobalObject/Interpreter ownership rules 
2897         in JavaScriptCore.
2898
2899         * JSRun.cpp:
2900         (JSRun::JSRun):
2901         (JSRun::GetInterpreter):
2902         (JSRun::Evaluate):
2903         (JSRun::CheckSyntax):
2904         * JSRun.h:
2905         * JSValueWrapper.cpp:
2906         (unprotectGlobalObject):
2907         (initializeGlobalObjectKey):
2908         (getThreadGlobalExecState):
2909
2910 2007-11-29  Mark Rowe  <mrowe@apple.com>
2911
2912         Reviewed by Maciej.
2913
2914         Fix REGRESSION(r27885): Installer hits assertion failure in JavaScriptGlue.
2915
2916         * JSValueWrapper.cpp:
2917         (getThreadGlobalExecState): Set the global object on the Interpreter before using it.
2918
2919 2007-11-27  Anders Carlsson  <andersca@apple.com>
2920         
2921         Build fix.
2922         
2923         * JSUtils.cpp:
2924         (KJSValueToCFTypeInternal):
2925         * JSValueWrapper.cpp:
2926         (JSValueWrapper::JSObjectCopyPropertyNames):
2927
2928 2007-11-21  Mark Rowe  <mrowe@apple.com>
2929
2930         Reviewed by Eric.
2931
2932         Fix JavaScriptGlue to build without warnings using GCC 4.2.
2933
2934         * Configurations/Base.xcconfig:
2935         * JSRun.h:
2936
2937 2007-11-17  Mark Rowe  <mrowe@apple.com>
2938
2939         Reviewed by Darin Adler.
2940
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
2944
2945         Update for changes in Interpreter method signatures.
2946
2947         * JSRun.h:
2948
2949 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
2950
2951         Reviewed by Anders Carlsson.
2952
2953         Renamed Shared to RefCounted.
2954
2955         * ForwardingHeaders/wtf/RefCounted.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/Shared.h.
2956         * ForwardingHeaders/wtf/Shared.h: Removed.
2957
2958 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
2959
2960         Reviewed by Sam Weinig.
2961
2962         Moved Shared.h into wtf so it could be used in more places.
2963
2964         * ForwardingHeaders/wtf/Shared.h: Added.
2965
2966 2007-11-08  Mark Rowe  <mrowe@apple.com>
2967
2968         Build fix.
2969
2970         * ForwardingHeaders/wtf/MathExtras.h: Copied from WebCore/ForwardingHeaders/wtf/MathExtras.h.
2971
2972 2007-11-05  Geoffrey Garen  <ggaren@apple.com>
2973
2974         Build fix.
2975
2976         * ForwardingHeaders/kjs/value.h: Added.
2977
2978 2007-11-03  Sam Weinig  <sam@webkit.org>
2979
2980         Build-fix.
2981
2982         * UserObjectImp.cpp:
2983
2984 2007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
2985
2986         Sort files(...); sections of Xcode project files.
2987
2988         Rubber-stamped by Darin Adler.
2989
2990         * JavaScriptGlue.xcodeproj/project.pbxproj:
2991
2992 2007-10-25  Eric Seidel  <eric@webkit.org>
2993
2994         Reviewed by Geoff.
2995         
2996         Make JSG build again after JSGlobalObject change.
2997
2998         * JSRun.cpp:
2999         (JSRun::JSRun):
3000         (JSRun::GlobalObject):
3001         * JSRun.h:
3002         (JSInterpreter::JSInterpreter):
3003         * JSUtils.h:
3004
3005 2007-10-11  Mark Rowe  <mrowe@apple.com>
3006
3007         Reviewed by Tim Hatcher.
3008
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.
3011
3012         * Configurations/Base.xcconfig:
3013
3014 2007-10-04  Mark Rowe  <mrowe@apple.com>
3015
3016         Reviewed by Oliver.
3017
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.
3021
3022         * Configurations/Base.xcconfig:
3023
3024 2007-09-03  Mark Rowe  <mrowe@apple.com>
3025
3026         Reviewed by Tim Hatcher.
3027
3028         <rdar://problem/5452164> Production build with in symbols directory has no debug info
3029
3030         Enable debug symbol generation on all build configurations.  Production builds are stripped
3031         of symbols by Xcode during deployment post-processing.
3032
3033         * Configurations/Base.xcconfig:
3034         * JavaScriptGlue.xcodeproj/project.pbxproj:
3035
3036 2007-08-09  Mark Rowe  <mrowe@apple.com>
3037
3038         Reviewed by Antti.
3039
3040         <rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +
3041
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.
3045
3046 2007-07-16  Sam Weinig  <sam@webkit.org>
3047
3048         Reviewed by Oliver.
3049
3050         Turn off -Wshorten-64-to-32 warning for 64-bit builds.
3051
3052         * Configurations/Base.xcconfig:
3053
3054 2007-04-27  Mark Rowe  <mrowe@apple.com>
3055
3056         Reviewed by Oliver.
3057
3058         * JavaScriptGlue.xcodeproj/project.pbxproj: Improve dependencies in Xcode project
3059         by marking JavaScriptGlue as a dependency of testjsglue.
3060
3061 2007-03-24  Mark Rowe  <mrowe@apple.com>
3062
3063         Reviewed by Dave Hyatt.
3064
3065         * JavaScriptGlue.xcodeproj/project.pbxproj: Use GCC 4.0 for testjsglue.
3066
3067 2007-03-24  Mark Rowe  <mrowe@apple.com>
3068
3069         Rubber-stamped by Darin Adler.
3070
3071         * Configurations/JavaScriptGlue.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS.
3072
3073 2007-03-19  Andrew Wellington  <proton@wiretapped.net>
3074
3075         Reviewed by Maciej.
3076
3077         Really set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
3078
3079         * JavaScriptGlue.xcodeproj/project.pbxproj:
3080
3081 2007-03-18  Andrew Wellington  <proton@wiretapped.net>
3082
3083         Reviewed by Mark Rowe
3084         
3085         Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
3086
3087         * JavaScriptGlue.xcodeproj/project.pbxproj:
3088
3089 2007-03-17  Timothy Hatcher  <timothy@apple.com>
3090
3091         Reviewed by Mark Rowe.
3092
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.
3097
3098         * Configurations/JavaScriptGlue.xcconfig:
3099         * Configurations/Version.xcconfig:
3100
3101 2007-03-15  Timothy Hatcher  <timothy@apple.com>
3102
3103         Reviewed by John.
3104
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).
3110
3111         * Configurations/Base.xcconfig: Added.
3112         * Configurations/DebugRelease.xcconfig: Added.
3113         * Configurations/JavaScriptGlue.xcconfig: Added.
3114         * Configurations/Version.xcconfig: Added.
3115         * Info.plist:
3116         * JavaScriptGlue.xcodeproj/project.pbxproj:
3117
3118 === Safari-5522.4 ===
3119
3120 2007-03-12  Geoffrey Garen  <ggaren@apple.com>
3121
3122         Reviewed by Oliver Hunt.
3123         
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
3127         
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.
3133
3134 2007-03-06  Geoffrey Garen  <ggaren@apple.com>
3135
3136         Reviewed by Maciej Stachowiak.
3137
3138         Fixed all known crashers exposed by run-webkit-tests --threaded while using
3139         a PAC file (for maximum carnage). See JavaScriptCore ChangeLog for 
3140         more details.
3141
3142         * JSBase.cpp:
3143         (JSBase::Release): Lock when deleting, because we may be deleting an object
3144         (like a JSRun) that holds thread-unsafe data.
3145
3146         * JSUtils.cpp:
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
3149         threading problems.
3150
3151         * JavaScriptGlue.cpp:
3152         (JSRunEvaluate): Added missing JSLock.
3153         (JSRunCheckSyntax): Converted to JSLock.
3154         * JavaScriptGlue.xcodeproj/project.pbxproj:
3155
3156 2007-02-22  Geoffrey Garen  <ggaren@apple.com>
3157
3158         Reviewed by Darin Adler.
3159         
3160         Fixed <rdar://problem/4942528> Installer.app Stuck "Examining additional 
3161         volumes..."
3162         
3163         The problem was that JavaScriptGlue held a JSObject in a static pointer
3164         without protecting it from garbage collection. 
3165         
3166             sUserObjectPrototypeImp  = new UserObjectPrototypeImp();
3167             static ProtectedPtr<UserObjectPrototypeImp> protectPrototype; // valiant, brave, but useless
3168
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 
3173         property lookup.
3174         
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
3177         I just removed it.
3178
3179         * UserObjectImp.cpp:
3180         (UserObjectImp::UserObjectImp):
3181         * UserObjectImp.h:
3182
3183 2007-02-19  Timothy Hatcher  <timothy@apple.com>
3184
3185         Reviewed by Geoff.
3186
3187         <rdar://problem/4636301> Deprecate JavaScriptGlue
3188
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
3192
3193 2007-02-16  Darin Adler  <darin@apple.com>
3194
3195         Reviewed by Anders.
3196
3197         - fix <rdar://problem/5000216> JavaScriptGlue framework started turning all CFNumbers
3198           into signed 32bit values
3199
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.
3202
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.
3209
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.
3215
3216 2007-01-25  Mark Rowe  <mrowe@apple.com>
3217
3218         Reviewed by Maciej.
3219
3220         * Info.plist: Update copyright string.
3221
3222 2006-12-19  Timothy Hatcher  <timothy@apple.com>
3223
3224         Reviewed by Darin Adler.
3225
3226         <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features
3227
3228         * JavaScriptGlue.xcodeproj/project.pbxproj:
3229
3230 === Safari-521.26 ===
3231
3232 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
3233
3234         Reviewed by Tim H.
3235
3236         Build fix:  DWARF and -gfull are incompatible with symbol separation.
3237
3238         * JavaScriptGlue.xcodeproj/project.pbxproj:
3239
3240 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
3241
3242         Reviewed by Tim H.
3243
3244         http://bugs.webkit.org/show_bug.cgi?id=10394
3245         Bug 10394: WebKit Release and Production configurations should enable dead code stripping
3246
3247         * JavaScriptGlue.xcodeproj/project.pbxproj:
3248
3249 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
3250
3251         Reviewed by Tim H.
3252
3253         http://bugs.webkit.org/show_bug.cgi?id=10384
3254         Bug 10384: Switch to DWARF for Release configuration
3255
3256         * JavaScriptGlue.xcodeproj/project.pbxproj:
3257
3258 2006-08-04  Sam Weinig  <sam.weinig@gmail.com>
3259
3260         Reviewed by Darin Adler.
3261
3262         - patch for http://bugs.webkit.org/show_bug.cgi?id=10192
3263           Make WebCore (and friends) compile with -Wshorten-64-to-32
3264
3265           * Adds -Wshorten-64-to-32 flag to Xcode project.
3266
3267         * JavaScriptGlue.xcodeproj/project.pbxproj:
3268
3269 2006-08-03  Sam Weinig  <sam.weinig@gmail.com>
3270
3271         Reviewed by Darin Adler.
3272
3273         - patch for http://bugs.webkit.org/show_bug.cgi?id=10176
3274           Make WebCore compile with -Wundef
3275
3276           * Adds -Wundef flag to Xcode project
3277
3278         * JavaScriptGlue.xcodeproj/project.pbxproj:
3279
3280 2006-07-29  Sam Weinig  <sam.weinig@gmail.com>
3281
3282         Reviewed by Darin Adler.
3283
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
3287
3288           Changes include:
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).
3291
3292         * JavaScriptGlue.xcodeproj/project.pbxproj:
3293
3294 === Safari-521.19 ===
3295
3296 2006-07-19  Geoffrey Garen  <ggaren@apple.com>
3297
3298         Fixed by Darin & Maciej, reviewed by me.
3299         
3300         - Fixed <rdar://problem/4638934> Leopard 9A227: Installer crashes right 
3301         after LCA and while preparing Installation
3302
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.
3306         
3307         * JavaScriptGlue.xcodeproj/project.pbxproj:
3308
3309 === Safari-521.18 ===
3310
3311 2006-07-15  Maciej Stachowiak  <mjs@apple.com>
3312
3313         Reviewed by Darin Adler.
3314
3315         - switch property lists to be vector+set of Identifiers instead of list of References
3316         
3317         * JSUtils.cpp:
3318         (KJSValueToCFTypeInternal): updated for JSC SPI changes
3319         * JSValueWrapper.cpp:
3320         (JSValueWrapper::JSObjectCopyPropertyNames): ditto
3321         * UserObjectImp.cpp:
3322         (UserObjectImp::getPropertyNames): ditto
3323         * UserObjectImp.h:
3324
3325 === Safari-521.17 ===
3326
3327 2006-07-14  Geoffrey Garen  <ggaren@apple.com>
3328
3329         Reviewed by Maciej.
3330         
3331         - Updated JSInterpreter to work with Interpreter ref-counting in JavaScriptCore.
3332
3333         (JSInterpreter::JSInterpreter::~JSInterpreter): Now protected to catch
3334         manual delete.
3335
3336 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
3337
3338         Build fix
3339         
3340         * JSUtils.cpp:
3341         (KJSValueToCFTypeInternal):
3342         * JSValueWrapper.cpp:
3343         (JSValueWrapper::JSObjectCopyPropertyNames):
3344         * UserObjectImp.cpp:
3345         (UserObjectImp::getPropertyList):
3346         
3347 === Safari-521.15 ===
3348
3349 2006-07-07  Geoffrey Garen  <ggaren@apple.com>
3350
3351         - build fix
3352
3353         * JSUtils.cpp:
3354         (KJSValueToCFTypeInternal):
3355         * JSValueWrapper.cpp:
3356         (JSValueWrapper::JSObjectCopyPropertyNames):
3357
3358 2006-07-03  Geoffrey Garen  <ggaren@apple.com>
3359
3360         Reviewed by Maciej.
3361         
3362         * JSRun.cpp:
3363         (JSRun::CheckSyntax): Updated to use new checkSyntax syntax in JSC.
3364         * JavaScriptGlue.xcodeproj/project.pbxproj:
3365
3366 === Safari-521.14 ===
3367
3368 2006-06-28  Timothy Hatcher  <timothy@apple.com>
3369
3370         Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
3371
3372         * JavaScriptGlue.xcodeproj/project.pbxproj:
3373
3374 2006-06-24  David Kilzer  <ddkilzer@kilzer.net>
3375
3376         Reviewed by Timothy.
3377
3378         * Info.plist: Fixed copyright to include 2003-2006.
3379
3380 === JavaScriptGlue-521.13 ===
3381         
3382 2006-06-20  Geoffrey Garen  <ggaren@apple.com>
3383
3384         Reviewed by Anders.
3385         
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.
3389
3390         * JSUtils.cpp:
3391         (KJSValueToCFTypeInternal):
3392         * JSValueWrapper.cpp:
3393         (JSValueWrapper::JSObjectCopyPropertyNames):
3394         * UserObjectImp.cpp:
3395         (UserObjectImp::getPropertyList):
3396         * UserObjectImp.h:
3397
3398 2006-06-15  Timothy Hatcher  <timothy@apple.com>
3399
3400         Reviewed by Geoff and Darin.
3401         
3402         Prefer the DWARF debugging symbols format for use in Xcode 2.3.
3403
3404         * JavaScriptGlue.xcodeproj/project.pbxproj:
3405
3406 2006-06-12  Geoffrey Garen  <ggaren@apple.com>
3407
3408         Reviewed by TimO, Maciej.
3409         
3410         - JSGlue part of merging InterpreterImp into Interpreter.
3411         
3412         Since there's now a kjs forwarding header, I moved all forwarding
3413         headers into a "ForwardingHeaders" directory, like in WebCore.
3414
3415         * ForwardingHeaders: Added.
3416         * ForwardingHeaders/kjs: Added.
3417         * ForwardingHeaders/kjs/ExecState.h: Added.
3418         * ForwardingHeaders/wtf: Added.
3419         * JavaScriptGlue.xcodeproj/project.pbxproj:
3420         * config.h:
3421         * wtf: Removed.
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.
3435
3436 === JavaScriptGlue-521.10 ===
3437
3438 2006-05-09  Maciej Stachowiak  <mjs@apple.com>
3439
3440         Rubber stamped by Anders.
3441         
3442         - renamed kxmlcore to wtf
3443         
3444         kxmlcore --> wtf
3445         KXMLCore --> WTF
3446         KXC --> WTF
3447
3448         * config.h:
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.
3463         * wtf: Added.
3464
3465 2006-04-11  Darin Adler  <darin@apple.com>
3466
3467         - try to fix Windows build
3468
3469         * kxmlcore/HashForward.h: Removed.
3470
3471 2006-04-10  Darin Adler  <darin@apple.com>
3472
3473         Rubber-stamped by John Sullivan.
3474
3475         - added forwarding headers for the new Forward.h and HashForward.h files
3476
3477         * kxmlcore/Forward.h: Added.
3478         * kxmlcore/HashForward.h: Added.
3479
3480 2006-04-04  Timothy Hatcher  <timothy@apple.com>
3481
3482         Reviewed by Darin Adler.
3483
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. 
3486
3487         * JavaScriptGlue.xcodeproj/project.pbxproj:
3488
3489 2006-04-02  Eric Seidel  <eseidel@apple.com>
3490
3491         Reviewed by andersca.
3492
3493         Add missing forwarding header.
3494
3495         * kxmlcore/Vector.h: Added.
3496
3497 2006-03-31  Geoffrey Garen  <ggaren@apple.com>
3498
3499         Reviewed by Darin Adler.
3500
3501         - Fixed <rdar://problem/4430836> JavaScript patch crashing Quartz
3502         Composer
3503
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
3507         been deallocated.
3508
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).
3515
3516         I tested with Quartz Composer and PAC files, neither of which are
3517         layout-testable.
3518         
3519         * JSUtils.cpp:
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):
3530         * JSValueWrapper.h:
3531
3532         Also added a test harness file. It was helpful while I was testing,
3533         and may come in handy in the future:
3534         
3535         * JavaScriptGlue.xcodeproj/project.pbxproj:
3536         testjsglue.cpp: Added.
3537
3538 2006-03-28  Darin Adler  <darin@apple.com>
3539
3540         Reviewed by Geoff.
3541
3542         - added a build step that checks for init routines
3543
3544         * JavaScriptGlue.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
3545         check-for-global-initializers script.
3546
3547 2006-03-02  Maciej Stachowiak  <mjs@apple.com>
3548
3549         Not reviewed, but I noticed these trivial extra changes were needed to avoid
3550         breaking the build with my reviewed patch for:
3551         
3552         http://bugs.webkit.org/show_bug.cgi?id=7387
3553         
3554         Add config.h, includes of it, and Platform.h forwarding header.
3555
3556         * JSBase.cpp:
3557         * JSObject.cpp:
3558         * JSRun.cpp:
3559         * JSUtils.cpp:
3560         * JSValueWrapper.cpp:
3561         * JavaScriptGlue.cpp:
3562         * UserObjectImp.cpp:
3563         * config.h: Added.
3564         * kxmlcore/Platform.h: Added.
3565
3566 === JavaScriptGlue-521.7 ===
3567
3568 2006-02-10  Geoffrey Garen  <ggaren@apple.com>
3569
3570         Reviewed by eric.
3571
3572         - Fixed build.
3573
3574         * UserObjectImp.cpp:
3575         (UserObjectImp::toPrimitive):
3576         * UserObjectImp.h:
3577
3578 2006-02-03  Timothy Hatcher  <timothy@apple.com>
3579
3580         Reviewed by Justin.
3581
3582         Renamed configuration names to Debug, Release and Production.
3583
3584         * JavaScriptGlue.xcodeproj/project.pbxproj:
3585
3586 2006-02-01  Darin Adler  <darin@apple.com>
3587
3588         - added some forwarding headers to make new JavaScriptCore changes work
3589
3590         * kxmlcore/Assertions.h: Added.
3591         * kxmlcore/Noncopyable.h: Added.
3592         * kxmlcore/OwnPtr.h: Added.
3593         * kxmlcore/OwnArrayPtr.h: Added.
3594
3595 2006-01-16  Timothy Hatcher  <timothy@apple.com>
3596
3597         Adding the license header to all files so we can
3598         move JavaScriptGlue into the open source repository.
3599
3600         * LICENSE: Added.
3601         * JSBase.cpp: license header added.
3602         * JSBase.h: ditto.
3603         * JSObject.cpp: ditto.
3604         * JSObject.h: ditto.
3605         * JSRun.cpp: ditto.
3606         * JSRun.h: ditto.
3607         * JSUtils.cpp: ditto.
3608         * JSUtils.h: 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.
3615
3616 2005-12-21  Timothy Hatcher  <timothy@apple.com>
3617
3618         * JavaScriptGlue.xcodeproj/project.pbxproj:
3619           Set tab width to 8, indent width to 4 and uses tabs to false per file.
3620
3621 2005-12-19  Darin Adler  <darin@apple.com>
3622
3623         Reviewed by Geoff Garen and Eric Seidel.
3624
3625         - fix http://bugs.webkit.org/show_bug.cgi?id=4923
3626           stop using <ostream> in WebCore, eliminating the <cmath> troubles it causes
3627
3628         * kxmlcore/AlwaysInline.h: Added.
3629
3630 2005-12-15  Darin Adler  <darin@apple.com>
3631
3632         Reviewed by Maciej.
3633
3634         * JSRun.cpp: (JSRun::Evaluate): Updated for change to Interpreter::evaluate.
3635
3636 2005-12-15  Darin Adler  <darin@apple.com>
3637
3638         Reviewed by Tim Hatcher.
3639
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".
3643
3644 === Safari-521~5 ===
3645
3646 2005-12-13  Geoffrey Garen  <ggaren@apple.com>
3647
3648     - Fixed build after Anders's last checkin to JavaScriptCore.
3649     
3650         Reviewed by darin.
3651
3652         * UserObjectImp.cpp:
3653         (UserObjectImp::userObjectGetter): Updated to reflect new argument that 
3654     getters take (unused here).
3655         * UserObjectImp.h:
3656
3657 2005-12-13  Maciej Stachowiak  <mjs@apple.com>
3658
3659         Reviewed by Eric.
3660
3661     - added forwarding header for HashCountedSet
3662
3663         * kxmlcore/HashCountedSet.h: Added.
3664
3665 2005-12-10  Darin Adler  <darin@apple.com>
3666
3667         Rubber stamped by Maciej.
3668
3669         - updated for KJS class renaming
3670
3671         * many files and functions
3672
3673 2005-12-10  Darin Adler  <darin@apple.com>
3674
3675         Reviewed by Maciej.
3676
3677         - eliminated the old Undefined(), Null(), Boolean(), Number(), and String()
3678
3679         Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString().
3680
3681         * JSUtils.cpp:
3682         (JSObjectKJSValue):
3683         * UserObjectImp.cpp:
3684         (UserObjectImp::callAsFunction):
3685         (UserObjectImp::toPrimitive):
3686
3687 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
3688
3689         - added new forwarding headers
3690
3691         * kxmlcore/PassRefPtr.h: Added.
3692         * kxmlcore/RefPtr.h: Added.
3693
3694 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
3695
3696         * kxmlcore/PassRefPtr.h: Added.
3697
3698 2005-11-26  Maciej Stachowiak  <mjs@apple.com>
3699
3700         Rubber stamped by Eric.
3701
3702     - renamed InterpreterLock to JSLock
3703
3704         * JSUtils.cpp:
3705         (CFStringToUString):
3706         (JSObjectKJSValue):
3707         (KJSValueToCFTypeInternal):
3708         * JSValueWrapper.cpp:
3709         (JSValueWrapper::JSObjectCopyPropertyNames):
3710         (JSValueWrapper::JSObjectCopyProperty):
3711         (JSValueWrapper::JSObjectSetProperty):
3712         (JSValueWrapper::JSObjectCallFunction):
3713         (JSValueWrapper::JSObjectCopyCFValue):
3714         * JavaScriptGlue.cpp:
3715         (JSRunCreate):
3716         (JSCollect):
3717         (JSLockInterpreter):
3718         (JSUnlockInterpreter):
3719         * UserObjectImp.cpp:
3720         (UserObjectImp::callAsFunction):
3721
3722 2005-11-16  Maciej Stachowiak  <mjs@apple.com>
3723
3724         Reviewed by Geoff.
3725
3726     Updated to use new API to drop all locks.
3727
3728         * JavaScriptGlue.cpp:
3729         (JSLockInterpreter):
3730         (JSUnlockInterpreter):
3731         * UserObjectImp.cpp:
3732         (UserObjectImp::callAsFunction):
3733
3734 2005-11-14  Geoffrey Garen  <ggaren@apple.com>
3735
3736         Reviewed by mjs.
3737
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()
3741           
3742         Added locking in JSRunCreate, since JSRun::JSRun constructs an object.
3743         
3744         * JavaScriptGlue.cpp:
3745         (JSRunCreate):
3746
3747 2005-11-10  Geoffrey Garen  <ggaren@apple.com>
3748
3749         Reviewed by Maciej.
3750
3751         - Fixed <rdar://problem/4334445> installer crashed on my 
3752           dual g4 450Mhz after clicking language
3753
3754         - Reversed backwards NULL check.
3755         - Inserted guards against NULL fJSUserObject data member.
3756         - Cleaned up some style.
3757
3758         * JSUtils.cpp:
3759         (KJSValueToCFTypeInternal):
3760         * UserObjectImp.cpp:
3761         (UserObjectImp::~UserObjectImp):
3762         (UserObjectImp::callAsFunction):
3763         (UserObjectImp::userObjectGetter):
3764         (UserObjectImp::getOwnPropertySlot):
3765         (UserObjectImp::put):
3766         (UserObjectImp::mark):
3767
3768 2005-11-04  Timothy Hatcher  <timothy@apple.com>
3769
3770         Reviewed by Darin Adler.
3771
3772         * JavaScriptGlue.xcodeproj/project.pbxproj:
3773           Fixed the FRAMEWORK_SEARCH_PATHS to look in the WebKit
3774           Frameworks for the Default config.
3775
3776 2005-11-03  Timothy Hatcher  <timothy@apple.com>
3777
3778         Reviewed by Darin and Vicki.
3779
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.
3783
3784 2005-11-01  Maciej Stachowiak  <mjs@apple.com>
3785
3786     Reviewed by: Eric.
3787     
3788         <rdar://problem/4324107> get JavaScriptGlue working with TOT JavaScriptCore again
3789
3790     - reverted all this stuff to use ReferenceList instead of IdentifierSequencedSet
3791
3792         * JSUtils.cpp:
3793         (KJSValueToCFTypeInternal):
3794         * JSValueWrapper.cpp:
3795         (JSValueWrapper::JSObjectCopyPropertyNames):
3796         * UserObjectImp.cpp:
3797         (UserObjectImp::propList):
3798         * UserObjectImp.h:
3799
3800 2005-10-11  Timothy Hatcher  <timothy@apple.com>
3801
3802         Setup the proper Framework search path for the Default config.
3803         Prepping for a TOT submission and build by B&I.
3804
3805         * JavaScriptGlue.xcodeproj/project.pbxproj:
3806
3807 2005-10-10  Darin Adler  <darin@apple.com>
3808
3809         Reviewed by Eric.
3810
3811         - converted tabs to spaces, NULL to 0, added some (void), got rid of __ prefixes
3812           in headers (reserved for compiler/library)
3813
3814         * Info.plist:
3815         * JSBase.cpp:
3816         * JSBase.h:
3817         * JSObject.cpp:
3818         * JSObject.h:
3819         * JSRun.cpp:
3820         * JSRun.h:
3821         * JSUtils.cpp:
3822         * JSUtils.h:
3823         * JSValueWrapper.cpp:
3824         * JSValueWrapper.h:
3825         * JavaScriptGlue.cpp:
3826         * JavaScriptGlue.h:
3827         * UserObjectImp.cpp:
3828         * UserObjectImp.h:
3829
3830 2005-10-10  Darin Adler  <darin@apple.com>
3831
3832         * .cvsignore: Added. Ignore Makefile.in and Makefile.
3833
3834 2005-10-07  Timothy Hatcher  <timothy@apple.com>
3835
3836         Reviewed by Maciej.
3837         
3838         Build fix, needed to disable RTTI. Upgraded to a native target.
3839
3840         * JavaScriptGlue.xcodeproj/project.pbxproj:
3841         * Info.plist
3842
3843 2005-10-05  Maciej Stachowiak  <mjs@apple.com>
3844
3845         Reviewed by Eric and Darin.
3846
3847     <rdar://problem/4260506> Port JavaScriptGlue to TOT JavaScriptCore
3848
3849         * JSRun.cpp:
3850         (JSRun::JSRun):
3851         (JSRun::GlobalObject):
3852         * JSRun.h:
3853         (JSInterpreter::JSInterpreter):
3854         * JSUtils.cpp:
3855         (KJSValueToJSObject):
3856         (JSObjectKJSValue):
3857         (KJSValueToCFTypeInternal):
3858         (KJSValueToCFType):
3859         * JSUtils.h:
3860         * JSValueWrapper.cpp:
3861         (JSValueWrapper::JSValueWrapper):
3862         (JSValueWrapper::GetValue):
3863         (JSValueWrapper::JSObjectCopyPropertyNames):
3864         (JSValueWrapper::JSObjectCopyProperty):
3865         (JSValueWrapper::JSObjectSetProperty):
3866         (JSValueWrapper::JSObjectCallFunction):
3867         (JSValueWrapper::JSObjectMark):
3868         * JSValueWrapper.h:
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):
3883         * UserObjectImp.h:
3884         * kxmlcore/FastMalloc.h: Added.
3885         * kxmlcore/HashSet.h: Added.
3886
3887 2005-09-14  Maciej Stachowiak  <mjs@apple.com>
3888
3889         Reviewed by Geoff.
3890
3891     - fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
3892
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).
3896
3897         * JSUtils.cpp:
3898         (CFStringToUString):
3899         (JSObjectKJSValue):
3900         (KJSValueToCFTypeInternal):
3901         * JSUtils.h:
3902         * JSValueWrapper.cpp:
3903         (JSValueWrapper::JSObjectCopyPropertyNames):
3904         (JSValueWrapper::JSObjectCopyProperty):
3905         (JSValueWrapper::JSObjectSetProperty):
3906         (JSValueWrapper::JSObjectCallFunction):
3907         (JSValueWrapper::JSObjectCopyCFValue):
3908         * JavaScriptGlue.cpp:
3909         (JSCollect):
3910
3911 2005-09-27  Adele Peterson  <adele@apple.com>
3912
3913         Reviewed by Maciej.
3914
3915         <rdar://problem/4223297> JavaScriptGlue: Submit 64-bit compatible versions of your API and SPIs by September 15
3916
3917         * JavaScriptGlue.h: Changed UInt32 to CFTypeID for JSTypeID
3918
3919 2005-09-06  Geoffrey Garen  <ggaren@apple.com>
3920
3921         -upgraded project files to XCode 2.1
3922
3923         * JavaScriptGlue.pbproj/project.pbxproj: Removed.
3924         * JavaScriptGlue.xcodeproj/.cvsignore: Added.
3925         * JavaScriptGlue.xcodeproj/project.pbxproj: Added.
3926
3927 2005-09-01  Maciej Stachowiak  <mjs@apple.com>
3928
3929         Rubber stamped by hyatt.
3930
3931     - initial import of JavaScriptGlue into our repository
3932
3933         * English.lproj/InfoPlist.strings: Added.
3934         * JSBase.cpp: Added.
3935         (JSBase::JSBase):
3936         (JSBase::~JSBase):
3937         (JSBase::Retain):
3938         (JSBase::Release):
3939         (JSBase::RetainCount):
3940         (JSBase::GetTypeID):
3941         (JSBase::CopyDescription):
3942         (JSBase::Equal):
3943         * JSBase.h: Added.
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):
3958         * JSRun.cpp: Added.
3959         (JSRun::JSRun):
3960         (JSRun::~JSRun):
3961         (JSRun::Flags):
3962         (JSRun::GetSource):
3963         (JSRun::GlobalObject):
3964         (JSRun::GetInterpreter):
3965         (JSRun::Evaluate):
3966         (JSRun::CheckSyntax):
3967         * JSRun.h: Added.
3968         (JSInterpreter::JSInterpreter):
3969         (JSInterpreter::JSInterpreter::~JSInterpreter):
3970         (JSInterpreter::Flags):
3971         * JSUtils.cpp: Added.
3972         (CFStringToUString):
3973         (UStringToCFString):
3974         (CFStringToIdentifier):
3975         (IdentifierToCFString):
3976         (KJSValueToJSObject):
3977         (JSObjectKJSValue):
3978         (KJSValueToCFTypeInternal):
3979         (KJSValueToCFType):
3980         (GetCFNull):
3981         * JSUtils.h: Added.
3982         (RetainCFType):
3983         (ReleaseCFType):
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.
3999         (JSSetCFNull):
4000         (JSGetCFNull):
4001         (JSRetain):
4002         (JSRelease):
4003         (JSCopyDescription):
4004         (JSEqual):
4005         (JSGetTypeID):
4006         (JSGetRetainCount):
4007         (JSObjectCreate):
4008         (JSObjectCreateInternal):
4009         (JSObjectCopyCFValue):
4010         (JSObjectGetData):
4011         (JSObjectCopyProperty):
4012         (JSObjectSetProperty):
4013         (JSObjectCallFunction):
4014         (JSRunCreate):
4015         (JSRunCopySource):
4016         (JSRunCopyGlobalObject):
4017         (JSRunEvaluate):
4018         (JSRunCheckSyntax):
4019         (JSCollect):
4020         (JSTypeGetCFArrayCallBacks):
4021         (JSCFRetain):
4022         (JSCFRelease):
4023         (JSObjectCreateWithCFType):
4024         (CFJSObjectDispose):
4025         (JSObjectCopyPropertyNames):
4026         (CFJSObjectCopyProperty):
4027         (CFJSObjectSetProperty):
4028         (CFJSObjectCopyCFValue):
4029         (CFJSObjectEqual):
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.
4057