Choose the compiler based on the Xcode version for Snow Leopard debug builds.
[WebKit-https.git] / Source / JavaScriptGlue / ChangeLog
1 2011-04-26  Dan Bernstein  <mitz@apple.com>
2
3         Reviewed by Mark Rowe.
4
5         Choose the compiler based on the Xcode version for Snow Leopard debug builds.
6
7         * Configurations/Base.xcconfig:
8         * Configurations/CompilerVersion.xcconfig: Added.
9
10 2011-04-21  Oliver Hunt  <oliver@apple.com>
11
12         Reviewed by Geoffrey Garen.
13
14         Start moving to a general visitor pattern for GC traversal
15         https://bugs.webkit.org/show_bug.cgi?id=59141
16
17         This is just a rename:
18             markChildren -> visitChildren
19             markAggregate -> visitAggregate
20             markStack -> visitor
21             MarkStack -> typedef'd to SlotVisitor
22
23         * UserObjectImp.cpp:
24         (UserObjectImp::visitChildren):
25
26 2011-04-19  Renata Hodovan  <reni@webkit.org>
27
28         Reviewed by Eric Seidel.
29
30         Move the alignment related macros in Vector.h to new Alignment.h.
31         https://bugs.webkit.org/show_bug.cgi?id=56000
32
33         Adding the new file to the forwarding headers of JavaScriptGlue.
34
35         * ForwardingHeaders/wtf/Alignment.h: Added.
36
37 2011-04-15  Oliver Hunt  <oliver@apple.com>
38
39         GC allocate Structure
40         https://bugs.webkit.org/show_bug.cgi?id=58483
41
42         Rolling r83894 r83827 r83810 r83809 r83808 back in with
43         a workaround for the gcc bug seen by the gtk bots
44
45         * JSRun.cpp:
46         (JSGlueGlobalObject::JSGlueGlobalObject):
47         * JSRun.h:
48         * JSUtils.cpp:
49         (JSObjectKJSValue):
50         * UserObjectImp.cpp:
51         (UserObjectImp::UserObjectImp):
52         * UserObjectImp.h:
53         (UserObjectImp::createStructure):
54
55 2011-04-08  Geoffrey Garen  <ggaren@apple.com>
56
57         Reviewed by Oliver Hunt.
58
59         A few heap-related renames and file moves.
60         
61         WeakGCPtr<T> => Weak<T>
62         Global<T> => Strong<T>
63         collector/ => heap/
64         collector/* => heap/*
65         runtime/WeakGCPtr.h => heap/Weak.h
66         
67         (Eventually, even more files should move into the heap directory. Like
68         Heap.h and Heap.cpp, for example.)
69
70         * JSRun.h:
71         * JSValueWrapper.h:
72
73 2011-04-07  Geoffrey Garen  <ggaren@apple.com>
74
75         Reviewed by Maciej Stachowiak.
76
77         Some Handle<T> cleanup
78         https://bugs.webkit.org/show_bug.cgi?id=58109
79
80         * JSRun.h:
81         * JSValueWrapper.h: #include a file that was missing before, but was
82         harmlessly so until now.
83
84 2011-03-30  Timur Iskhodzhanov  <timurrrr@google.com>
85
86         Reviewed by Alexey Proskuryakov.
87
88         Add some dynamic annotations to JavaScriptCore/wtf
89         https://bugs.webkit.org/show_bug.cgi?id=53747
90
91         By using these annotations we can improve the precision of finding
92         WebKit errors using dynamic analysis tools like ThreadSanitizer and Valgrind.
93         These annotations don't affect the compiled binaries unless USE(DYNAMIC_ANNOTATIONS) is "1".
94
95         These files don't add new functionality, so don't need extra tests.
96
97         * ForwardingHeaders/wtf/DynamicAnnotations.h: Added.
98
99 2011-03-25  Oliver Hunt  <oliver@apple.com>
100
101         Reviewed by Geoffrey Garen.
102
103         instanceof Array test fails when using iframes
104         https://bugs.webkit.org/show_bug.cgi?id=17250
105
106         Up date for new toObject api
107
108         * UserObjectImp.cpp:
109         (UserObjectImp::toPrimitive):
110         (UserObjectImp::toBoolean):
111         (UserObjectImp::toNumber):
112         (UserObjectImp::toString):
113
114 2011-03-26  Adam Barth  <abarth@webkit.org>
115
116         Remove the JavaScriptGlue GYP build.  We're not going to use GYP for
117         JavaScriptGlue because JavaScriptGlue is used only by one port.
118
119         * gyp: Removed.
120         * gyp/JavaScriptGlue.gyp: Removed.
121         * gyp/JavaScriptGlue.gypi: Removed.
122         * gyp/remove-headers-if-needed.sh: Removed.
123         * gyp/run-if-exists.sh: Removed.
124         * gyp/update-info-plist.sh: Removed.
125
126 2011-03-22  Eric Seidel  <eric@webkit.org>
127
128         Reviewed by Adam Barth.
129
130         Make it possible to build JavaScriptCore and WebCore gyp builds outside of Source
131         https://bugs.webkit.org/show_bug.cgi?id=56867
132
133         This should make it possible to build the gyp-generated JavaScriptGlue.xcodeproj
134         from a JavaScriptGlue directory outside of Source.
135
136         * gyp/JavaScriptGlue.gyp:
137         * gyp/run-if-exists.sh: Added.
138         * gyp/update-info-plist.sh: Added.
139
140 2011-03-22  Adam Barth  <abarth@webkit.org>
141
142         Reviewed by Eric Seidel.
143
144         Production configuration in GYP isn&apos;t set up correctly
145         https://bugs.webkit.org/show_bug.cgi?id=56786
146
147         Update JavaScriptGlue.gyp with information mined from
148         JavaScriptGlue.xcodeproj.
149
150         * gyp/JavaScriptGlue.gyp:
151         * gyp/JavaScriptGlue.gypi:
152
153 2011-03-21  Adam Barth  <abarth@webkit.org>
154
155         Reviewed by Eric Seidel.
156
157         GYP build should not have include paths that point within the source tree
158         https://bugs.webkit.org/show_bug.cgi?id=56788
159
160         Turns out we don't need these include paths anymore now that we have
161         header maps working properly.
162
163         * gyp/JavaScriptGlue.gyp:
164
165 2011-03-20  Bill Budge  <bbudge@chromium.org>
166
167         Reviewed by Adam Barth.
168
169         Rename ThreadSafeShared to ThreadSafeRefCounted
170         https://bugs.webkit.org/show_bug.cgi?id=56714
171
172         No new tests. Exposes no new functionality.§
173
174         * ForwardingHeaders/wtf/ThreadSafeRefCounted.h: Copied from ForwardingHeaders/wtf/ThreadSafeShared.h.
175         * ForwardingHeaders/wtf/ThreadSafeShared.h: Removed.
176         * gyp/JavaScriptGlue.gypi:
177
178 2011-03-17  Jeff Miller  <jeffm@apple.com>
179
180         Use a consistent set of file patterns in the svn:ignore property for all .xcodeproj directories, specifically:
181         
182         *.mode*
183         *.pbxuser
184         *.perspective*
185         project.xcworkspace
186         xcuserdata
187
188         * JavaScriptGlue.xcodeproj: Modified property svn:ignore.
189
190 2011-03-15  Oliver Hunt  <oliver@apple.com>
191
192         Reviewed by Geoffrey Garen.
193
194         Make Structure creation require a JSGlobalData
195         https://bugs.webkit.org/show_bug.cgi?id=56438
196
197         Mechanical change to make all structure creation pass a JSGlobalData&.
198
199         * JSRun.cpp:
200         (JSGlueGlobalObject::JSGlueGlobalObject):
201         (JSRun::JSRun):
202         * JSRun.h:
203         * JSUtils.cpp:
204         (getThreadGlobalObject):
205         * UserObjectImp.h:
206         (UserObjectImp::createStructure):
207
208 2011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
209
210         Reviewed by Darin Adler.
211
212         Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
213         info into the headers rather than in export symbol definition files, but disable it on 
214         all platforms initially so we can deal with port build issues one port at a time.
215         
216         https://bugs.webkit.org/show_bug.cgi?id=27551
217
218         * config.h:
219
220 2011-03-10  Geoffrey Garen  <ggaren@apple.com>
221
222         Reviewed by Oliver Hunt.
223
224         Rolled back in 80277 and 80280 with event handler layout test failures fixed.
225         https://bugs.webkit.org/show_bug.cgi?id=55653        
226
227         The failures were caused by a last minute typo: assigning to currentEvent
228         instead of m_currentEvent.
229
230         * JSRun.cpp:
231         * JSRun.h:
232
233 2011-03-04  Adam Barth  <abarth@webkit.org>
234
235         Reviewed by Dimitri Glazkov.
236
237         Use target_defaults to reduce boilerplate in GYP build system
238         https://bugs.webkit.org/show_bug.cgi?id=55790
239
240         Instead of setting up the configuration in each target, just defer to
241         target_defaults.  Also, removed a define that was redundant with the
242         xcconfig.
243
244         * gyp/JavaScriptGlue.gyp:
245
246 2011-03-03  Geoffrey Garen  <ggaren@apple.com>
247
248         Rolled out 80277 and 80280 because they caused event handler layout test
249         failures.
250
251         * JSRun.cpp:
252         * JSRun.h:
253
254 2011-03-01  Adam Barth  <abarth@webkit.org>
255
256         Reviewed by Dimitri Glazkov.
257
258         Add pre- and post-build actions for JavaScriptCore GYP build
259         https://bugs.webkit.org/show_bug.cgi?id=55507
260
261         Remove the portion of this file that was split out into common.gypi.
262
263         * gyp/JavaScriptGlue.gyp:
264
265 2011-02-28  Gavin Barraclough  <barraclough@apple.com>
266
267         Reviewed by Sam Weinig & Darin Adler.
268
269         Bug 55423 - Clean up property tables in Structure
270
271         Encapsulate, reduce duplication of table search code,
272         and reduce the size of the tables (remove the index,
273         just maintain the tables in the correct order).
274
275         Shows a 0.5% - 1% progression on sunspider.
276
277         * ForwardingHeaders/wtf/HashTable.h: Added.
278
279 2011-02-28  Adam Barth  <abarth@webkit.org>
280
281         Reviewed by Dimitri Glazkov.
282
283         Teach JavaScriptGlue gyp build about DEPTH
284         https://bugs.webkit.org/show_bug.cgi?id=55421
285
286         After this path, we should set DEPTH to the Source directory, which is
287         a common point for all the frameworks that make up WebKit.  These
288         changes to the GYP teach JavaScriptGlue how to find various files based
289         on DEPTH rather than based on the location of the xcodeproj file.
290
291         * gyp/JavaScriptGlue.gyp:
292         * gyp/remove-headers-if-needed.sh: Removed.
293         * gyp/run-if-exists.sh: Removed.
294         * gyp/update-info-plist.sh: Removed.
295
296 2011-02-28  Adam Barth  <abarth@webkit.org>
297
298         Reviewed by Dimitri Glazkov.
299
300         Use more xcconfig files in JavaScriptGlue gyp build
301         https://bugs.webkit.org/show_bug.cgi?id=55395
302
303         Technically this patch breaks the build because the generated project
304         can't find the Info.plist file or the list of exported symbols.  I'll
305         fix that in a follow-up patch.
306
307         * gyp/JavaScriptGlue.gyp:
308
309 2011-02-28  Dimitri Glazkov  <dglazkov@chromium.org>
310
311         Reviewed by Adam Barth.
312
313         Add necessary build steps to JavaScriptGlue GYP project.
314         https://bugs.webkit.org/show_bug.cgi?id=55196
315
316         * gyp/JavaScriptGlue.gyp: Added pre- and post- build steps.
317         * gyp/JavaScriptGlue.gypi: Added Info.plist.
318         * gyp/remove-headers-if-needed.sh: Added.
319         * gyp/run-if-exists.sh: Added.
320         * gyp/update-info-plist.sh: Added.
321
322 2011-02-23  Geoffrey Garen  <ggaren@apple.com>
323
324         Reviewed by Darin Adler.
325
326         Rolled back in r79367 with SnowLeopard Release bot crash fixed.
327         https://bugs.webkit.org/show_bug.cgi?id=54999
328
329 2011-02-22  Adam Barth  <abarth@webkit.org>
330
331         Reviewed by Eric Seidel.
332
333         Add a GYP project for JavaScriptGlue
334         https://bugs.webkit.org/show_bug.cgi?id=55019
335
336         This is really just a proof-of-concept.  The Xcode project file it
337         produces is able to build JavaScriptGlue, but it's not 100% correct.
338         Also, the GYP declarations aren't properly structured to allow for
339         multiple projects or ports.  That should get better as we add
340         proof-of-concepts for other projects and ports.
341
342         This build system is not used currently.
343
344         * gyp: Added.
345         * gyp/JavaScriptGlue.gyp: Added.
346         * gyp/JavaScriptGlue.gypi: Added.
347
348 2011-02-22  Sheriff Bot  <webkit.review.bot@gmail.com>
349
350         Unreviewed, rolling out r79367.
351         http://trac.webkit.org/changeset/79367
352         https://bugs.webkit.org/show_bug.cgi?id=55012
353
354         all layout tests are crashing on Snow Leopard (Requested by
355         rniwa on #webkit).
356
357         * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed.
358
359 2011-02-22  Geoffrey Garen  <ggaren@apple.com>
360
361         Reviewed by Oliver Hunt.
362
363         Manage MarkedBlocks in a linked list instead of a vector, so arbitrary removal is O(1)
364         https://bugs.webkit.org/show_bug.cgi?id=54999
365         
366         New WTF header.
367
368         * ForwardingHeaders/wtf/DoublyLinkedList.h: Copied from ForwardingHeaders/wtf/FixedArray.h.
369
370 2011-02-18  Gavin Barraclough  <barraclough@apple.com>
371
372         Reviewed by Sam Weinig.
373
374         Bug 54786 - Devirtualize JSCell::classInfo()
375
376         Instead of making a virtual function call, add a pointer to the ClassInfo
377         onto Structure.
378
379         This removes a virtual function call, and paves the way towards removing all
380         the createStructure methods, and StructureFlags/AnonymousSlotCount properties
381         (these should be able to move onto ClassInfo).
382
383         Calls to Structure::create must now pass a pointer to the ClassInfo for the
384         structure. All objects now have a ClassInfo pointer, non-object cell types
385         still do not.
386
387         Changes are most mechanical, involving three steps:
388             * Remove virtual classInfo() methods.
389             * Add &s_info parameter to calls to Structure::create.
390             * Rename ClassInfo static members on classes from 'info' to 's_info',
391               for consistency.
392
393         * JSUtils.cpp:
394         (KJSValueToJSObject):
395         (KJSValueToCFTypeInternal):
396         * UserObjectImp.cpp:
397         * UserObjectImp.h:
398         (UserObjectImp::createStructure):
399
400 2011-02-15  Gavin Barraclough  <barraclough@apple.com>
401
402         Reviewed by Geoff Garen.
403
404         Bug 54524 - Allow JSObject to fully utilize cell's capacity for inline storage.
405
406         Currently JSObject is both directly instantiated for regular JS objects, and
407         derived to implement subtypes. A consequence of this is that we need to ensure
408         that sufficient space from the cell is left unused and available for any data
409         members that will be introduced by subclasses of JSObject. By restructuring
410         the internal storage array out of JSObject we can increase the size in the
411         internal storage for regular objects.
412
413         Add classes JSFinalObject and JSNonFinalObject. JSNonFinalObject retains as
414         much additional capacity as is currently available to allow for data members
415         in subclasses. JSFinalObject utilizes all available space for internal storage,
416         and only allows construction through JSFinalObject::create().
417
418         * UserObjectImp.cpp:
419         * UserObjectImp.h:
420             Update JSObject -> JSNonFinalObject.
421
422 2011-02-14  Oliver Hunt  <oliver@apple.com>
423
424         Reviewed by Gavin Barraclough and Geoff Garen.
425
426         Refactor handles and weak pointers to become nicer and more automatic
427         https://bugs.webkit.org/show_bug.cgi?id=54415
428
429         Update to use new Global<> type
430
431         * JSRun.cpp:
432         (JSRun::JSRun):
433         (JSRun::GlobalObject):
434         * JSRun.h:
435         * JSValueWrapper.cpp:
436         (JSValueWrapper::JSValueWrapper):
437         * JSValueWrapper.h:
438
439 2011-02-13  Cameron Zwarich  <zwarich@apple.com>
440
441         Reviewed by Dan Bernstein.
442
443         Bug 53760 - JSC fails to build with TOT Clang
444         https://bugs.webkit.org/show_bug.cgi?id=53760
445
446         Fix -Woverloaded-virtual warnings.
447
448         * UserObjectImp.cpp:
449         (UserObjectImp::toPrimitive): Use PreferredPrimitiveType instead of JSType to
450         match the base class.
451         * UserObjectImp.h: 
452
453 2011-02-06  Ryosuke Niwa  <rniwa@webkit.org>
454
455         Reviewed by Darin Adler.
456
457         OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
458         https://bugs.webkit.org/show_bug.cgi?id=52867
459
460         * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Removed.
461
462 2011-01-31  Oliver Hunt  <oliver@apple.com>
463
464         Convert markstack to a slot visitor API
465         https://bugs.webkit.org/show_bug.cgi?id=53219
466
467         rolling r77098, r77099, r77100, r77109, and
468         r77111 back in, along with a few more Qt fix attempts.
469
470         * JSValueWrapper.cpp:
471         (JSValueWrapper::JSObjectMark):
472
473 2011-01-30  Csaba Osztrogonác  <ossy@webkit.org>
474
475         Unreviewed, rolling out r77098, r77099, r77100, r77109, and
476         r77111.
477         http://trac.webkit.org/changeset/77098
478         http://trac.webkit.org/changeset/77099
479         http://trac.webkit.org/changeset/77100
480         http://trac.webkit.org/changeset/77109
481         http://trac.webkit.org/changeset/77111
482         https://bugs.webkit.org/show_bug.cgi?id=53219
483
484         Qt build is broken
485
486         * JSValueWrapper.cpp:
487         (JSValueWrapper::JSObjectMark):
488
489 2011-01-30  Oliver Hunt  <oliver@apple.com>
490
491         Convert markstack to a slot visitor API
492         https://bugs.webkit.org/show_bug.cgi?id=53219
493
494         rolling r77006 and r77020 back in.
495
496         * JSValueWrapper.cpp:
497         (JSValueWrapper::JSObjectMark):
498
499 2011-01-28  Sheriff Bot  <webkit.review.bot@gmail.com>
500
501         Unreviewed, rolling out r77006 and r77020.
502         http://trac.webkit.org/changeset/77006
503         http://trac.webkit.org/changeset/77020
504         https://bugs.webkit.org/show_bug.cgi?id=53360
505
506         "Broke Windows tests" (Requested by rniwa on #webkit).
507
508         * JSValueWrapper.cpp:
509         (JSValueWrapper::JSObjectMark):
510
511 2011-01-27  Oliver Hunt  <oliver@apple.com>
512
513         Reviewed by Geoffrey Garen.
514
515         Convert markstack to a slot visitor API
516         https://bugs.webkit.org/show_bug.cgi?id=53219
517
518         There's no reason to recurse here, the value we
519         were marking was protected.
520
521         * JSValueWrapper.cpp:
522         (JSValueWrapper::JSObjectMark):
523
524 2011-01-23  Mark Rowe  <mrowe@apple.com>
525
526         Follow-up to r76477.
527
528         Fix the scripts that detect problematic code such as static initializers
529         and destructors, weak vtables, inappropriate files in the framework wrappers,
530         and public headers including private headers. These had all been broken
531         since the projects were moved in to the Source directory as the paths to the
532         scripts were not updated at that time.
533
534         * JavaScriptGlue.xcodeproj/project.pbxproj:
535
536 2011-01-17  Dan Bernstein  <mitz@apple.com>
537
538         Rubber-stamped by Mark Rowe.
539
540         Update xcodeproj svn:ignore to include xcuserdata.
541
542         * JavaScriptGlue.xcodeproj: Modified property svn:ignore.
543
544 2011-01-10  Geoffrey Garen  <ggaren@apple.com>
545
546         Reviewed by Oliver Hunt.
547
548         Moved Collector.* => Heap.*, since the file contains a class named "Heap".
549
550         * JSUtils.h:
551
552 2011-01-02  Dan Bernstein  <mitz@apple.com>
553
554         Rubber-stamped by Simon Fraser.
555
556         <rdar://problem/8812159> Update copyright strings
557
558         * Info.plist:
559
560 2010-12-22  Dan Bernstein  <mitz@apple.com>
561
562         Rubber-stamped by Mark Rowe.
563
564         Changed WebKitTools to Tools in script build phases.
565
566         * JavaScriptGlue.xcodeproj/project.pbxproj:
567
568 2010-12-21  Geoffrey Garen  <ggaren@apple.com>
569
570         Reviewed by Gavin Barraclough & Oliver Hunt.
571
572         Added PageAllocationAligned, a cross-platform abstraction for memory allocations with arbitrary alignment requirements
573         https://bugs.webkit.org/show_bug.cgi?id=51359
574
575         * ForwardingHeaders/wtf/PageAllocationAligned.h: Added.
576
577 2010-12-21  Daniel Bates  <dbates@rim.com>
578
579         Reviewed by Eric Seidel and Darin Adler.
580
581         Deallocate GregorianDateTime.timeZone (if allocated) when copying so that we don't leak memory.
582         https://bugs.webkit.org/show_bug.cgi?id=51367
583
584         Add forwarding header for PassOwnArrayPtr.h.
585
586         * ForwardingHeaders/wtf/PassOwnArrayPtr.h: Added.
587
588 2010-12-18  Gavin Barraclough  <barraclough@apple.com>
589
590         Reviewed by Oliver Hunt.
591
592         Bug 26276 - Need a mechanism to determine stack extent
593
594         Add forwarding header for StackBounds.h.
595
596         * ForwardingHeaders/wtf/StackBounds.h: Added.
597
598 2010-12-20  Geoffrey Garen  <ggaren@apple.com>
599
600         Reviewed by Sam Weinig.
601
602         Factored common page set management into a new PageBlock base class
603         https://bugs.webkit.org/show_bug.cgi?id=51285
604
605         * ForwardingHeaders/wtf/PageBlock.h: Added.
606
607 2010-12-01  Geoffrey Garen  <ggaren@apple.com>
608
609         Build fix: Added a forwarding header.
610
611         * ForwardingHeaders/wtf/OSAllocator.h: Added.
612
613 2010-10-25  Oliver Hunt  <oliver@apple.com>
614
615         Reviewed by Gavin Barraclough.
616
617         Remove exec and globalData arguments from jsNumber
618         https://bugs.webkit.org/show_bug.cgi?id=48270
619
620         Don't pass exec to jsNumber
621
622         * JSUtils.cpp:
623         (JSObjectKJSValue):
624         * UserObjectImp.cpp:
625         (UserObjectImp::toPrimitive):
626
627 2010-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
628
629         Unreviewed, rolling out r70451.
630         http://trac.webkit.org/changeset/70451
631         https://bugs.webkit.org/show_bug.cgi?id=48249
632
633         Broke set-unloaded-frame-location.html under Qt (Requested by
634         caseq on #webkit).
635
636         * ForwardingHeaders/wtf/text/TextPosition.h: Removed.
637
638 2010-10-16  Patrick Gansterer  <paroga@webkit.org>
639
640         Reviewed by Adam Barth.
641
642         Rename StringHasherFunctions.h to StringHasher.h
643         https://bugs.webkit.org/show_bug.cgi?id=47200
644
645         * ForwardingHeaders/wtf/StringHashFunctions.h: Removed.
646         * ForwardingHeaders/wtf/StringHasher.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/StringHashFunctions.h.
647
648 2010-09-09  Michael Saboff  <msaboff@apple.com>
649
650         Reviewed by Gavin Barraclough.
651
652         Added ListHashSet.h as an exported header in support of RegExp tracing.
653         https://bugs.webkit.org/show_bug.cgi?id=45401
654
655         * ForwardingHeaders/wtf/ListHashSet.h: Added.
656
657 2010-09-07  Anders Carlsson  <andersca@apple.com>
658
659         Reviewed by Darin Adler.
660
661         <rdar://problem/8381749> -Wcast-align warning emitted when building with clang
662
663         Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc.
664
665         * Configurations/Base.xcconfig:
666
667 2010-08-26  Sam Weinig  <sam@webkit.org>
668
669         Reviewed by Darin Adler.
670
671         Add PassOwnArrayPtr
672         https://bugs.webkit.org/show_bug.cgi?id=44627
673
674         Add new forwarding header.
675
676         * ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Added.
677
678 2010-08-23  Gavin Barraclough  <barraclough@apple.com>
679
680         Reviewed by Oliver Hunt.
681
682         https://bugs.webkit.org/show_bug.cgi?id=44487
683
684         * ForwardingHeaders/wtf/text/WTFString.h: Added.
685
686 2010-08-24  Oliver Hunt  <oliver@apple.com>
687
688         Reviewed by Geoff Garen.
689
690         Don't seed the JS random number generator from time()
691         https://bugs.webkit.org/show_bug.cgi?id=41868
692         <rdar://problem/8171025>
693
694         Add forwarding header for RandomNumber in JavaScriptGlue
695
696         * ForwardingHeaders/wtf/RandomNumber.h: Added.
697
698 2010-08-11  Gavin Barraclough  <barraclough@apple.com>
699
700         Rubber stamps by Darin Adler & Sam Weinig.
701
702         Bug 43867 - Some UString cleanup
703
704         Change JSC::UString data(), size(), and from(), to characters(), length(), and number() to match WTF::String.
705         Move string concatenation methods to a new header to simplify down UString.h.  Remove is8Bit().
706
707         * JSUtils.cpp:
708         (UStringToCFString):
709         (KJSValueToCFTypeInternal):
710         * JavaScriptGlue.xcodeproj/project.pbxproj:
711
712 2010-08-04  Gavin Barraclough  <barraclough@apple.com>
713
714         Reviewed by Sam Weinig.
715
716         Bug 43515 - Fix small design issues with PageAllocation, split out PageReservation.
717         (add forwarding headers)
718
719         * ForwardingHeaders/wtf/Bitmap.h: Added.
720         * ForwardingHeaders/wtf/PageReservation.h: Added.
721
722 2010-08-04  Sheriff Bot  <webkit.review.bot@gmail.com>
723
724         Unreviewed, rolling out r64655.
725         http://trac.webkit.org/changeset/64655
726         https://bugs.webkit.org/show_bug.cgi?id=43496
727
728         JavaScriptCore references patch seems to have caused
729         regressions in QT and GTK builds (Requested by nlawrence on
730         #webkit).
731
732         * JSValueWrapper.cpp:
733         (JSValueWrapper::JSObjectMark):
734
735 2010-08-04  Nathan Lawrence  <nlawrence@apple.com>
736
737         Reviewed by Darin Adler.
738
739         Removed unneeded marking.  We need to remove this marking in order to have
740         MarkStack::append take references for updating movable objects.
741
742         https://bugs.webkit.org/show_bug.cgi?id=41177
743
744         * JSValueWrapper.cpp:
745         (JSValueWrapper::JSObjectMark):
746
747 2010-08-03  Gavin Barraclough  <barraclough@apple.com>
748
749         Build fix following r64624.
750
751         * ForwardingHeaders/wtf/BitMap.h: Added.
752
753 2010-07-27  Gavin Barraclough  <barraclough@apple.com>
754
755         Reviewed by Oliver Hunt.
756
757         Bug 42621 - Add a bump allocator for the YARR interpreter
758
759         The regex engine requires lifo allocation, however currently uses the general purpose
760         malloc/free memory allocation.  A simple bump pointer allocator should provide a lower
761         overhead allocation solution.
762
763         * ForwardingHeaders/wtf/BumpPointerAllocator.h: Added.
764
765 2010-07-26  Gavin Barraclough  <barraclough@apple.com>
766
767         Reviewed by Oliver Hunt.
768
769         Bug 43009 - Abstract out page allocation from executable allocators
770
771         * ForwardingHeaders/wtf/PageAllocation.h: Added.
772
773 2010-07-01  Oliver Hunt  <oliver@apple.com>
774
775         Reviewed by Maciej Stachowiak.
776
777         Add a FixedArray template to encapsulate fixed length arrays
778         https://bugs.webkit.org/show_bug.cgi?id=41506
779
780         Add forwarding header.
781
782         * ForwardingHeaders/wtf/FixedArray.h: Added.
783
784 2010-06-02  Gavin Barraclough  <barraclough@apple.com>
785
786         Reviewed by Oliver Hunt.
787
788         Bug 40094 - The return type of NativeFunction should be EncodedJSValue
789         On Windows & Linux, using JSVALUE32_64, EncodedJSValue is returned in registers, but JSValue is not.
790
791         * JSObject.cpp:
792         (nativeCallFunction):
793
794 2010-05-28  Geoffrey Garen  <ggaren@apple.com>
795
796         Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
797
798         Simplified the host calling convention.
799
800         PART ONE: Functional code changes.
801         
802         [ None in JavaScriptGlue ]
803         
804         PART TWO: Global search and replace.
805         
806         In the areas below, I used global search-and-replace to change
807             (ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
808             args.size() => exec->argumentCount()
809             args.at(i) => exec->argument(i)
810
811         * JSObject.cpp:
812         (nativeCallFunction):
813         * UserObjectImp.cpp:
814         (UserObjectImp::callAsFunction):
815         * UserObjectImp.h:
816
817 2010-04-23  Sam Weinig  <sam@webkit.org>
818
819         Reviewed by David Levin.
820
821         Fix for https://bugs.webkit.org/show_bug.cgi?id=38060
822         Split up Threading.h
823
824         Add necessary forwarding headers.
825
826         * ForwardingHeaders/wtf/Atomics.h: Added.
827         * ForwardingHeaders/wtf/ThreadSafeShared.h: Added.
828         * ForwardingHeaders/wtf/ThreadingPrimitives.h: Added.
829
830 2010-04-22  Sam Weinig  <sam@webkit.org>
831
832         Reviewed by Anders Carlsson.
833
834         Fix for https://bugs.webkit.org/show_bug.cgi?id=38022
835         Move isMainThread predicate function to MainThread.h
836
837         Added forwarding header for MainThread.h
838
839         * ForwardingHeaders/wtf/MainThread.h: Added.
840
841 2010-04-22  Gavin Barraclough  <barraclough@apple.com>
842
843         Rubber stamped by Sam Weinig
844
845         Do not get the globaldata for the APIShim via the
846         global object; global object construction creates identifiers
847         which results in the ASSERTs checking the thread data's
848         identifierTable has been set failing.
849
850         * JSUtils.cpp:
851         (unprotectGlobalObject):
852         (getThreadGlobalData):
853         (getThreadGlobalObject):
854         (JSGlueAPIEntry::JSGlueAPIEntry):
855         (JSGlueAPICallback::~JSGlueAPICallback):
856
857 2010-04-21  Geoffrey Garen  <ggaren@apple.com>
858
859         Reviewed by Sam Weinig.
860
861         <rdar://problem/7879485> Leopard: Crash after opening Software Update dialog
862
863         * JSUtils.cpp:
864         (unprotectGlobalObject): Use the version of JSGlueAPIEntry that doesn't
865         call pthread_getspecific, since it's not safe to call pthread_getspecific
866         from a thread-specific data destructor. (<rdar://problem/7889842>
867         pthread_getspecific returns 0 when called from thread-specific data
868         destructor function)
869
870         (getThreadGlobalObject): Make sure to set the currentIdentifierTable
871         when first constructing our JSGlobalObject, since JSGlueAPIEntry has not
872         yet had an opportunity to do so.
873
874         (JSGlueAPIEntry::JSGlueAPIEntry):
875         * JSUtils.h: New version of JSGlueAPIEntry that doesn't call
876         pthread_getspecific.
877
878 2010-04-21  Gavin Barraclough  <barraclough@apple.com>
879
880         Reviewed by NOBODY (build fix).
881         Errk! tree on fire, add fwd!
882
883         * ForwardingHeaders/wtf/text/StringHash.h: Added.
884
885 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
886
887         Reviewed by Oliver Hunt, Darin Adler.
888
889         Bug 37906 - Remove JSC::UStringImpl; unify with StringImpl.
890         Add forwarding header.
891
892         * ForwardingHeaders/wtf/ASCIICType.h: Added.
893         * ForwardingHeaders/wtf/text/StringImpl.h: Added.
894
895 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
896
897         Reviewed by Oliver Hunt.
898
899         Bug 37895 - Share common code from UStringImplBase with StringImpl
900         Add forwarding header.
901
902         * ForwardingHeaders/wtf/text/StringImplBase.h: Added.
903
904 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
905
906         Rubber stamped by Maciej Stachowiak (relanding r57829).
907         Added missing JS_EXPORTDATA
908
909         * ForwardingHeaders/wtf/WTFThreadData.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/WTFThreadData.h.
910         * JSUtils.cpp:
911         (JSGlueAPIEntry::JSGlueAPIEntry):
912         (JSGlueAPIEntry::~JSGlueAPIEntry):
913         (JSGlueAPICallback::JSGlueAPICallback):
914         (JSGlueAPICallback::~JSGlueAPICallback):
915
916 2010-04-19  Gavin Barraclough  <barraclough@apple.com>
917
918         Reviewed by NOBODY (rolling out r57829).
919         This broke windows.
920
921         * ForwardingHeaders/wtf/WTFThreadData.h: Removed.
922         * JSUtils.cpp:
923         (JSGlueAPIEntry::JSGlueAPIEntry):
924         (JSGlueAPIEntry::~JSGlueAPIEntry):
925         (JSGlueAPICallback::JSGlueAPICallback):
926         (JSGlueAPICallback::~JSGlueAPICallback):
927
928 2010-04-16  Gavin Barraclough  <barraclough@apple.com>
929
930         Reviewed by Sam Weinig.
931
932         https://bugs.webkit.org/show_bug.cgi?id=37745
933         Move string uniquing tables to (new) WTFThreadData class.
934
935         Remove AtomicString's dependency on ThreadGlobalData so that we can move
936         WebCore's string classes up to WTF.
937
938         * ForwardingHeaders/wtf/WTFThreadData.h: Added.
939         * JSUtils.cpp: Update 
940         (JSGlueAPIEntry::JSGlueAPIEntry):
941         (JSGlueAPIEntry::~JSGlueAPIEntry):
942         (JSGlueAPICallback::JSGlueAPICallback):
943         (JSGlueAPICallback::~JSGlueAPICallback):
944
945 2010-03-31  Gavin Barraclough  <barraclough@apple.com>
946
947         Reviewed by Geoff Garen.
948
949         Bug 36871 - Remove JSC::CString
950         Use WTF::CString instead (which until recently was WebCore::CString).
951
952         * ForwardingHeaders/wtf/text: Added.
953         * ForwardingHeaders/wtf/text/CString.h: Added.
954
955 2010-03-11  Mark Rowe  <mrowe@apple.com>
956
957         Reviewed by David Kilzer.
958
959         <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
960
961         Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version.
962
963         * Configurations/Base.xcconfig:
964
965 2010-03-11  Mark Rowe  <mrowe@apple.com>
966
967         Reviewed by Tim Hatcher.
968
969         <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
970
971         Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted.  It defaults to the
972         current Mac OS X version unless otherwise specified.
973
974         Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR.
975
976         Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice
977         may not be usable when targetting a different Mac OS X version.
978
979         Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off
980         MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used.
981
982         * Configurations/Base.xcconfig:
983         * Configurations/DebugRelease.xcconfig:
984         * Configurations/Version.xcconfig:
985         * JavaScriptGlue.xcodeproj/project.pbxproj:
986
987 2010-03-01  Oliver Hunt  <oliver@apple.com>
988
989         Reviewed by Maciej Stachowiak.
990
991         Refactor named getter function signature to be in line with indexing getter signature
992         https://bugs.webkit.org/show_bug.cgi?id=35563
993
994         Fix method signature and update code as appropriate
995
996         * UserObjectImp.cpp:
997         (UserObjectImp::userObjectGetter):
998         * UserObjectImp.h:
999
1000 2010-02-09  Alexey Proskuryakov  <ap@apple.com>
1001
1002         Reviewed by Geoffrey Garen.
1003
1004         https://bugs.webkit.org/show_bug.cgi?id=34490
1005         WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions
1006
1007         * ForwardingHeaders/wtf/ValueCheck.h: Added.
1008
1009 2010-02-04  Mark Rowe  <mrowe@apple.com>
1010
1011         Reviewed by Timothy Hatcher.
1012
1013         Build fix.  Remove a symbol corresponding to an inline function from the linker export
1014         file to prevent a weak external failure.
1015
1016         * JavaScriptGlue.xcodeproj/project.pbxproj: Accommodate rename of script.
1017
1018 2010-01-28  Oliver Hunt  <oliver@apple.com>
1019
1020         Reviewed by Gavin Barraclough.
1021
1022         Simplify anonymous slot implementation
1023         https://bugs.webkit.org/show_bug.cgi?id=34282
1024
1025         Update JSGlue Structure usage to pass the anonymous slot count.
1026
1027         * UserObjectImp.h:
1028         (UserObjectImp::createStructure):
1029
1030 2010-01-12  Kent Hansen  <kent.hansen@nokia.com>
1031
1032         Reviewed by Geoffrey Garen.
1033
1034         [ES5] Implement Object.getOwnPropertyNames
1035         https://bugs.webkit.org/show_bug.cgi?id=32242
1036
1037         Add new argument to the reimplementation of getOwnPropertyNames().
1038
1039         * UserObjectImp.cpp:
1040         (UserObjectImp::getOwnPropertyNames):
1041         * UserObjectImp.h:
1042
1043 2010-01-07  Alexey Proskuryakov  <ap@apple.com>
1044
1045         Mac build fix.
1046
1047         * config.h: Define JS_EXPORTCLASS for JavaScriptGlue.
1048
1049 2010-01-05  Gavin Barraclough  <barraclough@apple.com>
1050
1051         Reviewed by Sam Weinig.
1052
1053         https://bugs.webkit.org/show_bug.cgi?id=33236
1054         Remove m_identifierTable pointer from UString
1055
1056         Add API shims similar to those used in the JSC API to track the current identifierTable.
1057
1058         * JSBase.cpp:
1059         (JSBase::Release):
1060         * JSUtils.cpp:
1061         (JSObjectKJSValue):
1062         (KJSValueToCFTypeInternal):
1063         (unprotectGlobalObject):
1064         (JSGlueAPIEntry::JSGlueAPIEntry):
1065         (JSGlueAPIEntry::~JSGlueAPIEntry):
1066         (JSGlueAPICallback::JSGlueAPICallback):
1067         (JSGlueAPICallback::~JSGlueAPICallback):
1068         * JSUtils.h:
1069         * JSValueWrapper.cpp:
1070         (JSValueWrapper::JSObjectCopyPropertyNames):
1071         (JSValueWrapper::JSObjectCopyProperty):
1072         (JSValueWrapper::JSObjectSetProperty):
1073         (JSValueWrapper::JSObjectCallFunction):
1074         (JSValueWrapper::JSObjectCopyCFValue):
1075         * JavaScriptGlue.cpp:
1076         (JSRunCreate):
1077         (JSRunEvaluate):
1078         (JSRunCheckSyntax):
1079         (JSCollect):
1080         * JavaScriptGlue.xcodeproj/project.pbxproj:
1081         * UserObjectImp.cpp:
1082         (UserObjectImp::callAsFunction):
1083
1084 2010-01-04  Gavin Barraclough <barraclough@apple.com>
1085
1086         Reviewed by Sam Weinig.
1087
1088         Add a forwarding header so that StringHashFunctions.h can be found.
1089
1090         * ForwardingHeaders/wtf/StringHashFunctions.h: Added.
1091
1092 2010-01-04  Dan Bernstein  <mitz@apple.com>
1093
1094         Reviewed by Ada Chan and Mark Rowe.
1095
1096         Updated copyright string
1097
1098         * Info.plist:
1099
1100 2009-12-21  Gavin Barraclough  <barraclough@apple.com>
1101
1102         Reviewed by Darin Adler.
1103
1104         https://bugs.webkit.org/show_bug.cgi?id=32831
1105         Replace UString::Rep implementation, following introduction of ropes to JSC.
1106
1107         * ForwardingHeaders/wtf/PossiblyNull.h: Added.
1108             - add forwarding header.
1109
1110 2009-12-16  Mark Rowe  <mrowe@apple.com>
1111
1112         Build fix.  Disable debug variants of WebKit frameworks.
1113
1114         * JavaScriptGlue.xcodeproj/project.pbxproj:
1115
1116 2009-12-13  Geoffrey Garen  <ggaren@apple.com>
1117
1118         Reviewed by Sam Weinig.
1119         
1120         Changed GC from mark-sweep to mark-allocate.
1121         
1122         * JavaScriptGlue.cpp:
1123         (JSCollect): Updated for rename. Fixed a bug where JSGlue would not check
1124         to avoid nested GC calls.
1125
1126 2009-12-08  Dmitry Titov  <dimich@chromium.org>
1127
1128         Rubber-stamped by David Levin.
1129
1130         Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread."
1131         It may have caused massive increase of reported leaks on the bots.
1132         https://bugs.webkit.org/show_bug.cgi?id=31639
1133
1134         * ForwardingHeaders/wtf/ThreadVerifier.h: Removed.
1135
1136 2009-12-08  Dmitry Titov  <dimich@chromium.org>
1137
1138         Reviewed by Darin Adler.
1139
1140         Add asserts to RefCounted to make sure ref/deref happens on the right thread.
1141         https://bugs.webkit.org/show_bug.cgi?id=31639
1142
1143         * ForwardingHeaders/wtf/ThreadVerifier.h: Added.
1144
1145 2009-11-24  Mark Rowe  <mrowe@apple.com>
1146
1147         Fix production builds where the source tree may be read-only.
1148
1149         * JavaScriptGlue.xcodeproj/project.pbxproj:
1150
1151 2009-11-08  David Levin  <levin@chromium.org>
1152
1153         Reviewed by NOBODY (chromium build fix).
1154
1155         Added the use jsc define for files that use
1156         this config file and DateMath.h. This should
1157         be able to go away when DateMath is properly
1158         split into wtf and jsc portions which is this bug:
1159         https://bugs.webkit.org/show_bug.cgi?id=31246
1160
1161         * config.h:
1162
1163 2009-11-06  Geoffrey Garen  <ggaren@apple.com>
1164
1165         Reviewed by Oliver Hunt.
1166
1167         https://bugs.webkit.org/show_bug.cgi?id=31197
1168         Implemented a timezone cache not based on Mac OS X's notify_check API.
1169         
1170         * ForwardingHeaders/wtf/CurrentTime.h: Added.
1171
1172 2009-10-27  Geoffrey Garen  <ggaren@apple.com>
1173
1174         Build fix: Updated for JavaScriptCore export changes.
1175
1176         * ForwardingHeaders/wtf/DateInstanceCache.h: Added.
1177
1178 2009-10-27  Geoffrey Garen  <ggaren@apple.com>
1179
1180         Reviewed by Oliver Hunt.
1181
1182         Updated for JavaScriptCore export changes.
1183
1184         * ForwardingHeaders/wtf/DateMath.h: Added.
1185
1186 2009-10-27  Dan Bernstein  <mitz@apple.com>
1187
1188         Reviewed by Darin Adler.
1189
1190         Updated license
1191
1192         * LICENSE:
1193
1194 2009-10-16  Oliver Hunt  <oliver@apple.com>
1195
1196         Reviewed by Gavin Barraclough.
1197
1198         Make typeinfo flags default to false
1199         https://bugs.webkit.org/show_bug.cgi?id=30372
1200
1201         Last part -- replace HasDefaultGetPropertyNames with OverridesGetPropertyNames
1202         flag.
1203
1204         * UserObjectImp.h:
1205         (UserObjectImp::createStructure):
1206
1207 2009-10-15  Oliver Hunt  <oliver@apple.com>
1208
1209         Reviewed by Darin Adler.
1210
1211         Make typeinfo flags default to false
1212         https://bugs.webkit.org/show_bug.cgi?id=30372
1213
1214         Part 2 -- Reverse the TypeInfo HasDefaultMark flag to OverridesMarkChildren, etc
1215
1216         * UserObjectImp.h:
1217         (UserObjectImp::createStructure):
1218
1219 2009-10-14  Oliver Hunt  <oliver@apple.com>
1220
1221         Reviewed by Geoff Garen.
1222
1223         Make typeinfo flags default to false
1224         https://bugs.webkit.org/show_bug.cgi?id=30372
1225         
1226         Part 1. Reverse the HasStandardGetOwnPropertySlot flag.
1227
1228         * UserObjectImp.h:
1229         (UserObjectImp::createStructure):
1230
1231 2009-09-28  Geoffrey Garen  <ggaren@apple.com>
1232
1233         Reviewed by Sam Weinig.
1234
1235         Removed virtual destructor from JSGlobalObjectData to eliminate pointer
1236         fix-ups when accessing JSGlobalObject::d.
1237         
1238         Replaced with an explicit destructor function pointer.
1239
1240         * JSRun.cpp:
1241         (JSGlueGlobalObject::destroyData):
1242         * JSRun.h:
1243         (JSGlueGlobalObject::Data::Data):
1244
1245 2009-09-12  Oliver Hunt  <oliver@apple.com>
1246
1247         Reviewed by Maciej Stachowiak.
1248
1249         [ES5] Implement Object.keys
1250         https://bugs.webkit.org/show_bug.cgi?id=29170
1251
1252         Switch over to getOwnPropertyNames instead of getPropertyNames.
1253
1254         * UserObjectImp.cpp:
1255         (UserObjectImp::getOwnPropertyNames):
1256         * UserObjectImp.h:
1257
1258 2009-09-02  Darin Adler  <darin@apple.com>
1259
1260         Reviewed by Geoff Garen.
1261
1262         * JSValueWrapper.cpp:
1263         (JSValueWrapper::JSObjectMark): Removed a check of the mark
1264         bit. It's OK to do more work in this case, and there is no
1265         longer a public function to access the mark bit.
1266
1267 2009-08-14  Darin Adler  <darin@apple.com>
1268
1269         Reviewed by Sam Weinig.
1270
1271         Rename the confusing isObject(<class>) to inherits(<class>).
1272         It still works on non-objects, returning false.
1273
1274         * JSUtils.cpp:
1275         (KJSValueToJSObject):
1276         (KJSValueToCFTypeInternal):
1277         Changed from isObject to inherits.
1278
1279 2009-08-13  Oliver Hunt  <oliver@apple.com>
1280
1281         Reviewed by Maciej Stachowiak.
1282
1283         Devirtualise marking
1284         https://bugs.webkit.org/show_bug.cgi?id=28294
1285
1286         Continue to jump through hoops to deal with the exposed marking routines
1287         in JavaScriptGlue.
1288
1289         * JSValueWrapper.cpp:
1290         (JSValueWrapper::JSObjectMark):
1291
1292 2009-08-07  Oliver Hunt  <oliver@apple.com>
1293
1294         Reviewed by Sam Weinig.
1295
1296         Stack overflow crash in JavaScript garbage collector mark pass
1297         https://bugs.webkit.org/show_bug.cgi?id=12216
1298
1299         Make JSGlue interact with the new iterative mark logic.
1300
1301         * JSValueWrapper.cpp:
1302         (JSValueWrapper::JSObjectMark):
1303           Unfortunately JSGlue exposes recursive marking so we can only flatten
1304           the recursion.  We just create a local mark stack if necessary and mark
1305           the given object iteratively from this point.
1306         * UserObjectImp.cpp:
1307         (UserObjectImp::markChildren):
1308         * UserObjectImp.h:
1309
1310 2009-08-06  Mark Rowe  <mrowe@apple.com>
1311
1312         Rubber-stamped by Sam Weinig.
1313
1314         Add explicit dependencies for our build verification scripts to ensure that they always run after linking has completed.
1315
1316         * JavaScriptGlue.xcodeproj/project.pbxproj:
1317
1318 2009-07-27  Alexey Proskuryakov  <ap@webkit.org>
1319
1320         Reviewed by Darin Adler.
1321
1322         https://bugs.webkit.org/show_bug.cgi?id=27735
1323         Give a helpful name to JSLock constructor argument
1324
1325         * JSBase.cpp:
1326         (JSBase::Release):
1327         * JSUtils.cpp:
1328         (JSObjectKJSValue):
1329         (KJSValueToCFTypeInternal):
1330         (unprotectGlobalObject):
1331         * JSValueWrapper.cpp:
1332         (JSValueWrapper::JSObjectCopyPropertyNames):
1333         (JSValueWrapper::JSObjectCopyProperty):
1334         (JSValueWrapper::JSObjectSetProperty):
1335         (JSValueWrapper::JSObjectCallFunction):
1336         (JSValueWrapper::JSObjectCopyCFValue):
1337         * JavaScriptGlue.cpp:
1338         (JSRunCreate):
1339         (JSRunEvaluate):
1340         (JSRunCheckSyntax):
1341         (JSCollect):
1342         (JSLockInterpreter):
1343         (JSUnlockInterpreter):
1344
1345 2009-07-10  Adam Roben  <aroben@apple.com>
1346
1347         Sort all our Xcode projects
1348
1349         Accomplished using sort-Xcode-project-file.
1350
1351         Requested by Dave Kilzer.
1352
1353         * JavaScriptGlue.xcodeproj/project.pbxproj:
1354
1355 2009-07-08  Darin Adler  <darin@apple.com>
1356
1357         Reviewed by Dan Bernstein
1358
1359         - fix <rdar://problem/6971484> REGRESSION (r30534): "Scrolling Credits"
1360           effect does not scroll on iMovie 7.1.4 on Tiger
1361
1362         In <http://trac.webkit.org/changeset/30534>, the prototype of
1363         JSObject::put() which UserObjectImp had been overriding changed, but
1364         UserObjectImp wasn't updated, so its override was no longer getting
1365         called after that.
1366
1367         * UserObjectImp.cpp:
1368         (UserObjectImp::put): Match the current prototype of JSObject::put().
1369         The PutPropertySlot argument is unused.
1370         * UserObjectImp.h: Ditto.
1371
1372 2009-06-19  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
1373
1374         Reviewed by Darin Adler.
1375
1376         Add FastAllocBase.h to JavaScriptGlue's ForwardingHeaders/wtf, because it's needed by HashCountedSet.h on MAC.
1377
1378         * ForwardingHeaders/wtf/FastAllocBase.h: Added.
1379
1380 2009-06-02  Mark Rowe  <mrowe@apple.com>
1381
1382         Reviewed by Anders Carlsson.
1383
1384         Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds.
1385
1386         * Configurations/Base.xcconfig:
1387
1388 2009-05-25  David Levin  <levin@chromium.org>
1389
1390         Reviewed by Maciej Stachowiak and Oliver Hunt.
1391
1392         https://bugs.webkit.org/show_bug.cgi?id=25126
1393
1394         Added forwarding headers.
1395
1396         * ForwardingHeaders/wtf/CrossThreadRefCounted.h: Added.
1397         * ForwardingHeaders/wtf/OwnFastMallocPtr.h: Added.
1398
1399 2009-05-23  David Kilzer  <ddkilzer@apple.com>
1400
1401         Part 1 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
1402
1403         <https://bugs.webkit.org/show_bug.cgi?id=25495>
1404
1405         Reviewed by Oliver Hunt.
1406
1407         * ForwardingHeaders/wtf/OwnPtrCommon.h: Added.
1408         * ForwardingHeaders/wtf/PassOwnPtr.h: Added.
1409
1410 2009-05-14  Mark Rowe  <mrowe@apple.com>
1411
1412         Rubber-stamped by Darin Adler.
1413
1414         <rdar://problem/6681868> When building with Xcode 3.1.3 should be using gcc 4.2
1415
1416         The meaning of XCODE_VERSION_ACTUAL is more sensible in newer versions of Xcode.
1417         Update our logic to select the compiler version to use the more appropriate XCODE_VERSION_MINOR
1418         if the version of Xcode supports it, and fall back to XCODE_VERSION_ACTUAL if not.
1419
1420         * Configurations/Base.xcconfig:
1421
1422 2009-05-07  Oliver Hunt  <oliver@apple.com>
1423
1424         Reviewed by Gavin Barraclough.
1425
1426         Add calling convention annotation
1427
1428         * JSObject.cpp:
1429
1430 2009-05-01  Geoffrey Garen  <ggaren@apple.com>
1431
1432         Rubber Stamped by Sam Weinig.
1433         
1434         Renamed JSValuePtr => JSValue.
1435
1436         * JSObject.cpp:
1437         (nativeCallFunction):
1438         * JSUtils.cpp:
1439         (KJSValueToJSObject):
1440         (JSObjectKJSValue):
1441         (KJSValueToCFTypeInternal):
1442         (KJSValueToCFType):
1443         * JSUtils.h:
1444         * JSValueWrapper.cpp:
1445         (JSValueWrapper::JSValueWrapper):
1446         (JSValueWrapper::GetValue):
1447         (JSValueWrapper::JSObjectCopyProperty):
1448         (JSValueWrapper::JSObjectSetProperty):
1449         (JSValueWrapper::JSObjectCallFunction):
1450         * JSValueWrapper.h:
1451         * UserObjectImp.cpp:
1452         (UserObjectImp::callAsFunction):
1453         (UserObjectImp::userObjectGetter):
1454         (UserObjectImp::getOwnPropertySlot):
1455         (UserObjectImp::put):
1456         (UserObjectImp::toPrimitive):
1457         * UserObjectImp.h:
1458         (UserObjectImp::createStructure):
1459
1460 2009-04-29  Oliver Hunt  <oliver@apple.com>
1461
1462         Reviewed by Gavin Barraclough.
1463
1464         Clean up ArgList to be a trivial type
1465
1466         Start using MarkedArgumentBuffer to create argument lists for function calls
1467
1468         * JSValueWrapper.cpp:
1469         (JSValueWrapper::JSObjectCallFunction):
1470
1471 2009-04-28  Geoffrey Garen  <ggaren@apple.com>
1472
1473         Rubber stamped by Beth Dakin.
1474         
1475         Missed one.
1476
1477         * UserObjectImp.cpp:
1478         (UserObjectImp::callAsFunction):
1479
1480 2009-04-21  Geoffrey Garen  <ggaren@apple.com>
1481
1482         Reviewed by Mark Rowe.
1483
1484         Tiger crash fix: Put VM tags in their own header file, and fixed up the
1485         #ifdefs so they're not used on Tiger.
1486
1487         * ForwardingHeaders/wtf/VMTags.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/HashTraits.h.
1488
1489 2009-04-20  Sam Weinig  <sam@webkit.org>
1490
1491         Rubber-stamped by Tim Hatcher.
1492
1493         Add licenses for xcconfig files.
1494
1495         * Configurations/Base.xcconfig:
1496         * Configurations/DebugRelease.xcconfig:
1497         * Configurations/JavaScriptGlue.xcconfig:
1498         * Configurations/Version.xcconfig:
1499
1500 2009-03-13  Mark Rowe  <mrowe@apple.com>
1501
1502         Rubber-stamped by Dan Bernstein.
1503
1504         Take advantage of the ability of recent versions of Xcode to easily switch the active
1505         architecture.
1506
1507         * Configurations/DebugRelease.xcconfig:
1508
1509 2009-02-24  Mark Rowe  <mrowe@apple.com>
1510
1511         Rubber-stamped by Dan Bernstein.
1512
1513         <rdar://problem/6407844> JavaScriptGlue should use -Os rather than -O2
1514
1515         * Configurations/Base.xcconfig:
1516
1517 2009-01-28  Sam Weinig  <sam@webkit.org>
1518
1519         Reviewed by Gavin Barraclough.
1520
1521         Fix for <rdar://problem/6525537>
1522         Hang occurs when closing Installer window (iTunes, Aperture)
1523
1524         * JSUtils.cpp:
1525         (getThreadGlobalObject): Use the shared JSGlobalData instance.
1526
1527 2009-01-22  Mark Rowe  <mrowe@apple.com>
1528
1529         Rubber-stamped by Anders Carlsson.
1530
1531         Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily.
1532
1533         Current versions of Xcode only respect it for C and Objective-C files,
1534         and our code doesn't currently compile if it is applied to C++ and
1535         Objective-C++ files.
1536
1537         * Configurations/Base.xcconfig:
1538
1539 2009-01-19  Sam Weinig  <sam@webkit.org>
1540
1541         Rubber-stamped by Gavin Barraclough.
1542
1543         Remove temporary operator-> from JSValuePtr.
1544
1545         * JSUtils.cpp:
1546         (KJSValueToJSObject):
1547         (KJSValueToCFTypeInternal):
1548         * JSValueWrapper.cpp:
1549         (JSValueWrapper::JSObjectCopyPropertyNames):
1550         (JSValueWrapper::JSObjectCopyProperty):
1551         (JSValueWrapper::JSObjectSetProperty):
1552         (JSValueWrapper::JSObjectCallFunction):
1553         (JSValueWrapper::JSObjectMark):
1554         * UserObjectImp.cpp:
1555         (UserObjectImp::getOwnPropertySlot):
1556
1557 2009-01-14  Dan Bernstein  <mitz@apple.com>
1558
1559         Reviewed by John Sullivan.
1560
1561         - update copyright
1562
1563         * Info.plist:
1564
1565 2009-01-09  David Levin  <levin@chromium.org>
1566
1567         Reviewed by Oliver Hunt.
1568
1569         https://bugs.webkit.org/show_bug.cgi?id=23175
1570
1571         Added forwarding header.
1572
1573         * ForwardingHeaders/wtf/PtrAndFlags.h: Added.
1574
1575 2009-01-05  Gavin Barraclough  <baraclough@apple.com>
1576
1577         Rubber Stamped by Oliver Hunt.
1578
1579         Replace all uses of JSValue* with new wrapper class, JSValuePtr.
1580         See JavaScriptCore/ChangeLog for more detailed description.
1581
1582         * JSObject.cpp:
1583         (nativeCallFunction):
1584         * JSUtils.cpp:
1585         (KJSValueToJSObject):
1586         (JSObjectKJSValue):
1587         (KJSValueToCFTypeInternal):
1588         (KJSValueToCFType):
1589         * JSUtils.h:
1590         * JSValueWrapper.cpp:
1591         (JSValueWrapper::JSValueWrapper):
1592         (JSValueWrapper::GetValue):
1593         (JSValueWrapper::JSObjectCopyProperty):
1594         (JSValueWrapper::JSObjectSetProperty):
1595         (JSValueWrapper::JSObjectCallFunction):
1596         * JSValueWrapper.h:
1597         * UserObjectImp.cpp:
1598         (UserObjectImp::callAsFunction):
1599         (UserObjectImp::userObjectGetter):
1600         (UserObjectImp::getOwnPropertySlot):
1601         (UserObjectImp::put):
1602         (UserObjectImp::toPrimitive):
1603         * UserObjectImp.h:
1604         (UserObjectImp::createStructure):
1605
1606 2008-12-15  Mark Rowe  <mrowe@apple.com>
1607
1608         Rubber-stamped by Cameron Zwarich.
1609
1610         <rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on Leopard.
1611
1612         * Configurations/Base.xcconfig:
1613         * Configurations/DebugRelease.xcconfig:
1614
1615 2008-12-08  David Kilzer  <ddkilzer@apple.com>
1616
1617         Bug 22555: Sort "children" sections in Xcode project files
1618
1619         <https://bugs.webkit.org/show_bug.cgi?id=22555>
1620
1621         Reviewed by Eric Seidel.
1622
1623         * JavaScriptGlue.xcodeproj/project.pbxproj: Sorted.
1624
1625 2008-11-17  Geoffrey Garen  <ggaren@apple.com>
1626
1627         Reviewed by Sam Weinig.
1628         
1629         Updated for JavaScriptCore rename.
1630
1631         * ForwardingHeaders/runtime/CallFrame.h: Copied from JavaScriptGlue/ForwardingHeaders/runtime/ExecState.h.
1632         * ForwardingHeaders/runtime/ExecState.h: Removed.
1633         * config.h:
1634
1635 2008-11-17  Geoffrey Garen  <ggaren@apple.com>
1636
1637         Reviewed by Sam Weinig.
1638         
1639         Updated for JavaScriptCore rename.
1640
1641         * ForwardingHeaders/interpreter: Added.
1642         * ForwardingHeaders/interpreter/CallFrame.h: Copied from ForwardingHeaders/runtime/ExecState.h.
1643         * ForwardingHeaders/runtime/ExecState.h: Removed.
1644
1645 2008-11-15  Darin Adler  <darin@apple.com>
1646
1647         Rubber stamped by Geoff Garen.
1648
1649         - do the long-planned StructureID -> Structure rename
1650
1651         * JSRun.cpp:
1652         (JSGlueGlobalObject::JSGlueGlobalObject):
1653         (JSRun::JSRun):
1654         * JSRun.h:
1655         (JSGlueGlobalObject::userObjectStructure):
1656         * JSUtils.cpp:
1657         (getThreadGlobalObject):
1658         * UserObjectImp.cpp:
1659         (UserObjectImp::UserObjectImp):
1660         * UserObjectImp.h:
1661         (UserObjectImp::createStructure):
1662
1663 2008-11-15  Geoffrey Garen  <ggaren@apple.com>
1664
1665         Reviewed by Sam Weinig.
1666         
1667         Updated for JavaScriptCore renames.
1668
1669         * JSRun.cpp:
1670         (JSRun::Evaluate):
1671         (JSRun::CheckSyntax):
1672
1673 2008-11-05  Cameron Zwarich  <zwarich@apple.com>
1674
1675         Not reviewed.
1676
1677         Fix the JavaScriptGlue build. This wouldn't show up unless one was
1678         doing a clean build, because changes in JavaScriptCore don't cause
1679         anything in JavaScriptGlue to get rebuilt.
1680
1681         * JSRun.cpp:
1682         * JSUtils.h:
1683         * JavaScriptGlue.cpp:
1684
1685 2008-11-04  Cameron Zwarich  <zwarich@apple.com>
1686
1687         Reviewed by Mark Rowe.
1688
1689         Remove JavaScriptGlue forwarding headers that are no longer necessary,
1690         and correct the path of the ExecState.h forwarding header.
1691
1692         * ForwardingHeaders/kjs: Removed.
1693         * ForwardingHeaders/kjs/CTI.h: Removed.
1694         * ForwardingHeaders/kjs/ExecState.h: Removed.
1695         * ForwardingHeaders/kjs/JSValue.h: Removed.
1696         * ForwardingHeaders/kjs/PutPropertySlot.h: Removed.
1697         * ForwardingHeaders/kjs/ustring.h: Removed.
1698         * ForwardingHeaders/runtime: Added.
1699         * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
1700         * config.h:
1701
1702 2008-10-31  Stephanie Lewis  <slewis@apple.com>
1703
1704         Fix build by including right files.
1705
1706         * JSRun.cpp:
1707
1708 2008-10-30  Mark Rowe  <mrowe@apple.com>
1709
1710         Reviewed by Jon Homeycutt.
1711
1712         Explicitly default to building for only the native architecture in debug and release builds.
1713
1714         * Configurations/DebugRelease.xcconfig:
1715
1716 2008-10-24  Darin Adler  <darin@apple.com>
1717
1718         - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
1719
1720         * JSObject.cpp:
1721         (nativeCallFunction):
1722         * JSUtils.cpp:
1723         (KJSValueToJSObject):
1724         (JSObjectKJSValue):
1725         (KJSValueToCFTypeInternal):
1726         (KJSValueToCFType):
1727         * JSUtils.h:
1728         * JSValueWrapper.cpp:
1729         (JSValueWrapper::JSValueWrapper):
1730         (JSValueWrapper::GetValue):
1731         (JSValueWrapper::JSObjectCopyProperty):
1732         (JSValueWrapper::JSObjectSetProperty):
1733         (JSValueWrapper::JSObjectCallFunction):
1734         * JSValueWrapper.h:
1735         * UserObjectImp.cpp:
1736         (UserObjectImp::callAsFunction):
1737         (UserObjectImp::userObjectGetter):
1738         (UserObjectImp::getOwnPropertySlot):
1739         (UserObjectImp::put):
1740         (UserObjectImp::toPrimitive):
1741         * UserObjectImp.h:
1742         (UserObjectImp::createStructureID):
1743         Use JSValue* instead of JSValuePtr.
1744
1745 2008-10-23  Darin Adler  <darin@apple.com>
1746
1747         - roll out https://bugs.webkit.org/show_bug.cgi?id=21732
1748
1749         * JSValueWrapper.cpp:
1750         (JSValueWrapper::GetValue): Added missing call to .get().
1751         * JSValueWrapper.h: ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.
1752
1753 2008-10-22  Darin Adler  <darin@apple.com>
1754
1755         Reviewed by Sam Weinig.
1756
1757         - fix https://bugs.webkit.org/show_bug.cgi?id=21294
1758           Bug 21294: Devirtualize getOwnPropertySlot()
1759
1760         * JSRun.cpp:
1761         (JSGlueGlobalObject::JSGlueGlobalObject): Moved constructor here.
1762         Set up flags in its new location in global object data, and set up
1763         a structure for UserObjectImp too.
1764         (JSRun::JSRun): Added code to give the JSGlueGlobalObject its own unique
1765         structure, rather than using the default one from JSGlobalObject.
1766
1767         * JSRun.h: Made JSGlueGlobalObject take a structure ID. Also moved
1768         the data into a separate data object. And added userObjectStructure,
1769         a Structure to be used by UserObjectImp.
1770
1771         * JSUtils.cpp: Removed unused sharedGlobalData global.
1772         (JSObjectKJSValue): Pass Structure in when creating UserObjectImp.
1773         (unprotectGlobalObject): Use JSGlueGLobalObject type specifically.
1774         (initializeGlobalObjectKey): Removed code to set up unused sharedGlobalData.
1775         (getThreadGlobalObject): Added. Shared by JSObjectKJSValue and
1776         getThreadGlobalExecState. Also now passes in a structure ID when creating
1777         the global object.
1778         (getThreadGlobalExecState): Changed to call getThreadGlobalObject.
1779
1780         * UserObjectImp.cpp:
1781         (UserObjectImp::UserObjectImp): Changed to take a structure.
1782         * UserObjectImp.h:
1783         (UserObjectImp::createStructureID): Added. Returns a structure without
1784         HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
1785
1786 2008-10-20  Sam Weinig  <sam@webkit.org>
1787
1788         Reviewed by Cameron Zwarich.
1789
1790         Fix for https://bugs.webkit.org/show_bug.cgi?id=21766
1791         REGRESSION: 12 JSC tests fail
1792
1793         The JSGlobalObject constructor no longer takes a JSGlobalData
1794         as an argument.
1795
1796         * JSRun.cpp:
1797         (JSRun::JSRun):
1798         * JSRun.h:
1799         (JSGlueGlobalObject::JSGlueGlobalObject):
1800         * JSUtils.cpp:
1801         (getThreadGlobalExecState):
1802
1803 2008-10-19  Darin Adler  <darin@apple.com>
1804
1805         Reviewed by Oliver Hunt.
1806
1807         - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
1808           improve performance by eliminating JSValue as a base class for JSCell
1809
1810         Remove most uses of JSValue, which will be removed in a future patch.
1811
1812         * JSValueWrapper.h: Use JSValuePtr instead of JSValue*.
1813
1814 2008-10-18  Darin Adler  <darin@apple.com>
1815
1816         Reviewed by Oliver Hunt.
1817
1818         - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
1819           improve performance by eliminating JSValue as a base class for JSCell
1820
1821         Tweak a little more to get closer to where we can make JSValuePtr a class.
1822
1823         * JSObject.cpp:
1824         (nativeCallFunction): Call asObject.
1825
1826         * JSUtils.cpp:
1827         (KJSValueToJSObject): Use JSValuePtr and asObject.
1828         (JSObjectKJSValue): Ditto.
1829         (KJSValueToCFTypeInternal): Ditto.
1830         (KJSValueToCFType): Ditto.
1831         * JSUtils.h: Ditto.
1832
1833         * UserObjectImp.cpp:
1834         (UserObjectImp::callAsFunction): Use JSValuePtr and asObject.
1835         (UserObjectImp::userObjectGetter): Ditto.
1836         (UserObjectImp::getOwnPropertySlot): Ditto.
1837         (UserObjectImp::put): Ditto.
1838         (UserObjectImp::toPrimitive): Ditto.
1839         * UserObjectImp.h: Ditto.
1840
1841 2008-10-18  Darin Adler  <darin@apple.com>
1842
1843         Reviewed by Cameron Zwarich.
1844
1845         - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
1846           improve performance by eliminating JSValue as a base class for JSCell
1847
1848         Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
1849         changing JSValuePtr to be a class, and then eventually renaming it
1850         to JSValue once that's done.
1851
1852         * JSObject.cpp:
1853         * JSValueWrapper.cpp:
1854         * UserObjectImp.cpp:
1855         * UserObjectImp.h:
1856         Replace JSValue* with JSValuePtr.
1857
1858 2008-10-13  Maciej Stachowiak  <mjs@apple.com>
1859
1860         Rubber stamped by Mark Rowe.
1861         
1862         - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
1863
1864         * Configurations/DebugRelease.xcconfig:
1865
1866 2008-10-06  Maciej Stachowiak  <mjs@apple.com>
1867
1868         Not reviewed. Build fix.
1869
1870         - revert toBoolean changes (r37333 and r37335); need to make WebCore work with these
1871
1872         * JSUtils.cpp:
1873         (KJSValueToCFTypeInternal):
1874
1875 2008-10-06  Maciej Stachowiak  <mjs@apple.com>
1876
1877         Not reviewed.
1878         
1879         - fix build; toBoolean no longer takes an ExecState
1880
1881         * JSUtils.cpp:
1882         (KJSValueToCFTypeInternal):
1883
1884 2008-10-04  Mark Rowe  <mrowe@apple.com>
1885
1886         Reviewed by Tim Hatcher.
1887
1888         Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
1889
1890         * JavaScriptGlue.xcodeproj/project.pbxproj:
1891
1892 2008-10-01  Geoffrey Garen  <ggaren@apple.com>
1893
1894         Reviewed by Darin Adler and Cameron Zwarich.
1895
1896         * JSRun.cpp:
1897         (JSRun::Evaluate):
1898         (JSRun::CheckSyntax): Provide a SourceCode to the Interpreter, since
1899         other APIs are no longer supported.
1900
1901 2008-09-29  Geoffrey Garen  <ggaren@apple.com>
1902
1903         Not reviewed.
1904         
1905         Forwarding headers to fix the build.
1906
1907         * ForwardingHeaders/kjs/CTI.h: Copied from ForwardingHeaders/kjs/ExecState.h.
1908         * ForwardingHeaders/kjs/ustring.h: Copied from ForwardingHeaders/kjs/ExecState.h.
1909         * ForwardingHeaders/masm: Added.
1910         * ForwardingHeaders/masm/X86Assembler.h: Added.
1911         * ForwardingHeaders/profiler: Added.
1912         * ForwardingHeaders/profiler/Profiler.h: Added.
1913
1914 2008-09-08  Sam Weinig  <sam@webkit.org>
1915
1916         Reviewed by Maciej Stachowiak and Oliver Hunt.
1917
1918         Add forwarding headers.
1919
1920         * ForwardingHeaders/wtf/HashFunctions.h: Added.
1921         * ForwardingHeaders/wtf/HashTraits.h: Added.
1922
1923 2008-09-02  Geoffrey Garen  <ggaren@apple.com>
1924
1925         Reviewed by Sam Weinig.
1926         
1927         Implemented the rest of Darin's review comments for the 09-01 inline
1928         caching patch.
1929         
1930         * ForwardingHeaders/kjs/PutPropertySlot.h: Added.
1931
1932 2008-09-01  Geoffrey Garen  <ggaren@apple.com>
1933
1934         Reviewed by Darin Adler.
1935
1936         First cut at inline caching for access to vanilla JavaScript properties.
1937         
1938         Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
1939         to JavaScriptGlue classes, and PutPropertySlot& arguments to put functions.
1940
1941 2008-08-22  Anders Carlsson  <andersca@apple.com>
1942
1943         Fix build for real this time.
1944         
1945         * UserObjectImp.h:
1946
1947 2008-08-22  Anders Carlsson  <andersca@apple.com>
1948
1949         Fix build.
1950         
1951         * UserObjectImp.cpp:
1952         (UserObjectImp::toPrimitive):
1953         * UserObjectImp.h:
1954
1955 2008-08-19  Alexey Proskuryakov  <ap@webkit.org>
1956
1957         Reviewed by Geoff Garen.
1958
1959         Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
1960
1961         * JSBase.cpp:
1962         (JSBase::Release):
1963         * JSUtils.cpp:
1964         (JSObjectKJSValue):
1965         (KJSValueToCFTypeInternal):
1966         (unprotectGlobalObject):
1967         * JSUtils.h:
1968         * JSValueWrapper.cpp:
1969         (JSValueWrapper::JSObjectCopyPropertyNames):
1970         (JSValueWrapper::JSObjectCopyProperty):
1971         (JSValueWrapper::JSObjectSetProperty):
1972         (JSValueWrapper::JSObjectCallFunction):
1973         (JSValueWrapper::JSObjectCopyCFValue):
1974         * JavaScriptGlue.cpp:
1975         (JSRunCreate):
1976         (JSRunEvaluate):
1977         (JSRunCheckSyntax):
1978         (JSCollect):
1979         (JSLockInterpreter):
1980         (JSUnlockInterpreter):
1981         * UserObjectImp.cpp:
1982         (UserObjectImp::callAsFunction):
1983
1984 2008-08-12  Darin Adler  <darin@apple.com>
1985
1986         Reviewed by Geoff.
1987
1988         - eliminate JSValue::type()
1989
1990         * JSUtils.cpp:
1991         (KJSValueToCFTypeInternal): Replaced uses of JSValue::type() with
1992         JSValue::is functions.
1993         * UserObjectImp.cpp:
1994         (UserObjectImp::getOwnPropertySlot): Ditto.
1995         (UserObjectImp::toPrimitive): Take PreferredPrimitiveType argument
1996         instead of JSType argument.
1997         * UserObjectImp.h: Ditto.
1998
1999 2008-08-17  Geoffrey Garen  <ggaren@apple.com>
2000
2001         Reviewed by Cameron Zwarich.
2002         
2003         Updated project files to XCode 3.1.
2004
2005         * JavaScriptGlue.xcodeproj/project.pbxproj:
2006
2007 2008-08-15  Mark Rowe  <mrowe@apple.com>
2008
2009         Rubber-stamped by Geoff Garen.
2010
2011         <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
2012
2013         * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
2014         between the Debug configuration and debug Production variant.
2015         * JavaScriptGlue.xcodeproj/project.pbxproj: Enable the debug variant.
2016
2017 2008-07-31  Alexey Proskuryakov  <ap@webkit.org>
2018
2019         Rubber-stamped by Maciej.
2020
2021         Eliminate JSLock (it was already disabled, removing the stub implementaion and all
2022         call sites now).
2023
2024         * JSBase.cpp:
2025         (JSBase::Release):
2026         * JSUtils.cpp:
2027         (JSObjectKJSValue):
2028         (KJSValueToCFTypeInternal):
2029         (unprotectGlobalObject):
2030         * JSUtils.h:
2031         * JSValueWrapper.cpp:
2032         (JSValueWrapper::JSObjectCopyPropertyNames):
2033         (JSValueWrapper::JSObjectCopyProperty):
2034         (JSValueWrapper::JSObjectSetProperty):
2035         (JSValueWrapper::JSObjectCallFunction):
2036         (JSValueWrapper::JSObjectCopyCFValue):
2037         * JavaScriptGlue.cpp:
2038         (JSRunCreate):
2039         (JSRunEvaluate):
2040         (JSRunCheckSyntax):
2041         (JSCollect):
2042         (JSLockInterpreter):
2043         (JSUnlockInterpreter):
2044         * UserObjectImp.cpp:
2045         (UserObjectImp::callAsFunction):
2046
2047 2008-07-29  Alexey Proskuryakov  <ap@webkit.org>
2048
2049         Reviewed by Geoff Garen.
2050
2051         Implement JSContextGroup APIs to make concurrent execution possible for
2052         JavaScriptCore clients.
2053
2054         * JSRun.cpp:
2055         (JSRun::JSRun):
2056         * JSUtils.cpp:
2057         (getThreadGlobalExecState):
2058         Changed JavaScriptGlue to use a JSGlobalData of its own, now that there is no shared
2059         instance.
2060
2061 2008-07-23  Alexey Proskuryakov  <ap@webkit.org>
2062
2063         Reviewed by Geoff Garen.
2064
2065         Make JSClassRef work with any context, not just the first one it was used in.
2066
2067         * ForwardingHeaders/wtf/HashMap.h: Added.
2068
2069 2008-07-22  Geoffrey Garen  <ggaren@apple.com>
2070
2071         Reviewed by Oliver Hunt and Sam Weinig.
2072
2073         Next step toward putting doubles in registers: Prepare the Register class
2074         and its clients for registers that don't contain JSValue*s.
2075         
2076 2008-07-21  Mark Rowe  <mrowe@apple.com>
2077
2078         Reviewed by Sam Weinig.
2079
2080         <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
2081
2082         * Configurations/Version.xcconfig:
2083         * Info.plist:
2084
2085 2008-07-18  Geoffrey Garen  <ggaren@apple.com>
2086
2087         Reviewed by Cameron Zwarich.
2088         
2089         Three renames:
2090         
2091         "CallTypeNative" => "CallTypeHost"
2092         "code" => "byteCode"
2093         "generatedCode" => "generatedByteCode"
2094
2095         * ChangeLog:
2096         * JSObject.cpp:
2097         (JSUserObject::getCallData):
2098
2099 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
2100
2101         Reviewed by Geoff Garen.
2102
2103         Eliminate per-thread JavaScript global data instance support and make arbitrary
2104         global data/global object combinations possible.
2105
2106         * ForwardingHeaders/wtf/ThreadSpecific.h: Added.
2107         * JSRun.cpp:
2108         (JSRun::JSRun):
2109         * JSUtils.cpp:
2110         (getThreadGlobalExecState):
2111         Adapt to the new way of asking for shared JSGlobalData.
2112
2113 2008-07-10  Mark Rowe  <mrowe@apple.com>
2114
2115         Reviewed by Sam Weinig.
2116
2117         Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
2118
2119         * Configurations/JavaScriptGlue.xcconfig:
2120
2121 2008-07-09  Mark Rowe  <mrowe@apple.com>
2122
2123         Reviewed by Geoff Garen.
2124
2125         Don't warn about deprecated functions in production builds.
2126
2127         * Configurations/Base.xcconfig:
2128         * Configurations/DebugRelease.xcconfig:
2129
2130 2008-07-08  Alexey Proskuryakov  <ap@webkit.org>
2131
2132         Reviewed by Darin Adler.
2133
2134         <rdar://problem/6058368> REGRESSION: Crash occurs in KJS::Machine after launching
2135         Apple Installer
2136
2137         The problem was that JSUserObject::getCallData() was setting call type to native, but
2138         left callData.native.function uninitialized.
2139
2140         * JSObject.cpp:
2141         (JSUserObject::getCallData): Initialize callData.native.function.
2142         (nativeCallFunction): Call UserObjectImp::callAsFunction().
2143
2144 2008-07-04  Sam Weinig  <sam@webkit.org>
2145
2146         Rubber-stamped by Dan Bernstein.
2147
2148         * JSObject.h: Rename the header guard as it now conflicts with the
2149         JSObject in JavaScriptCore.
2150
2151 2008-07-01  Alexey Proskuryakov  <ap@webkit.org>
2152
2153         Reviewed by Darin Adler.
2154
2155         Disable JSLock for per-thread contexts.
2156
2157         * ForwardingHeaders/wtf/Locker.h: Added.
2158         * ForwardingHeaders/wtf/Threading.h: Added.
2159         * JSBase.cpp:
2160         (JSBase::Release):
2161         * JSUtils.cpp:
2162         (JSObjectKJSValue):
2163         (KJSValueToCFTypeInternal):
2164         (unprotectGlobalObject):
2165         * JSUtils.h:
2166         * JSValueWrapper.cpp:
2167         (JSValueWrapper::JSObjectCopyPropertyNames):
2168         (JSValueWrapper::JSObjectCopyProperty):
2169         (JSValueWrapper::JSObjectSetProperty):
2170         (JSValueWrapper::JSObjectCallFunction):
2171         (JSValueWrapper::JSObjectCopyCFValue):
2172         * JavaScriptGlue.cpp:
2173         (JSRunCreate):
2174         (JSRunEvaluate):
2175         (JSRunCheckSyntax):
2176         (JSCollect):
2177         (JSLockInterpreter):
2178         (JSUnlockInterpreter):
2179         * UserObjectImp.cpp:
2180         (UserObjectImp::callAsFunction):
2181         Pass a parameter (always true) to JSLock and JSLock::DropAllLocks to indicate that JSG
2182         clients always need implicit mutex protection.
2183         Added includes that are now needed.
2184
2185 2008-06-26  Darin Adler  <darin@apple.com>
2186
2187         Reviewed by Geoff.
2188
2189         * JSUtils.cpp: Added include of <JavaScriptCore/JSString.h> since jsString
2190         will soon be changed to return a JSString*.
2191         * UserObjectImp.cpp: Ditto.
2192
2193 2008-06-23  Darin Adler  <darin@apple.com>
2194
2195         Reviewed by Geoff.
2196
2197         * JSValueWrapper.cpp:
2198         (JSValueWrapper::JSObjectCallFunction): Updated to use getCallData and call instead
2199         of the old callAsFunction.
2200
2201 2008-06-17  Alexey Proskuryakov  <ap@webkit.org>
2202
2203         Reviewed by Darin Adler.
2204
2205         Prepare JavaScript heap for being per-thread.
2206
2207         * JSRun.cpp: (JSRun::JSRun): Create JSGlueGlobalObject in a shared JS heap.
2208
2209         * JSUtils.h: Made getThreadGlobalExecState available throughout JSGlue.
2210
2211         * JSUtils.cpp:
2212         (JSObjectKJSValue): Pass an ExecState where now required.
2213         (unprotectGlobalObject):
2214         (initializeGlobalObjectKey):
2215         (getThreadGlobalExecState):
2216         Moved these functions from JSValueWrapper.cpp, as the global exec state is now needed
2217         elsewhere. I'm not quite sure how this relates to the global object from JSRun, but
2218         since the new uses are all for Heap access, there doesn't seem to be any behavior change.
2219
2220         * JavaScriptGlue.cpp:
2221         (JSLockInterpreter): Don't call registerThread explicitly, as JSLock will do that.
2222
2223         * UserObjectImp.cpp: (UserObjectImp::toPrimitive): Pass ExecState* where now required.
2224
2225 2008-06-17  Mark Rowe  <mrowe@apple.com>
2226
2227         Reviewed by Darin Adler.
2228
2229         <rdar://problem/5775802> JavaScriptGlue should not force use of GCC 4.0.
2230
2231         * JavaScriptGlue.xcodeproj/project.pbxproj:
2232
2233 2008-06-16  Maciej Stachowiak  <mjs@apple.com>
2234
2235         Reviewed by Alexey.
2236
2237         - removed nearly unused types.h and LocalStorageEntry.h headers
2238
2239         * JSUtils.h:
2240
2241 2008-06-16  Alexey Proskuryakov  <ap@webkit.org>
2242
2243         Reviewed by Geoff Garen.
2244
2245         Make Identifier construction use an explicitly passed IdentifierTable.
2246
2247         * JSUtils.cpp:
2248         (CFStringToIdentifier):
2249         (KJSValueToCFTypeInternal):
2250         * JSUtils.h:
2251         * JSValueWrapper.cpp:
2252         (JSValueWrapper::JSObjectCopyPropertyNames):
2253         (JSValueWrapper::JSObjectCopyProperty):
2254         (JSValueWrapper::JSObjectSetProperty):
2255         * UserObjectImp.cpp:
2256         (UserObjectImp::getPropertyNames):
2257         Pass ExecState or JSGlobalData everywhere.
2258
2259 2008-06-15  Darin Adler  <darin@apple.com>
2260
2261         - rename KJS::List to KJS::ArgList
2262
2263         * JSValueWrapper.cpp:
2264         (JSValueWrapper::JSObjectCallFunction):
2265         * UserObjectImp.cpp:
2266         (UserObjectImp::callAsFunction):
2267         * UserObjectImp.h:
2268
2269 2008-06-15  Darin Adler  <darin@apple.com>
2270
2271         - new names for a few key JavaScriptCore files
2272
2273         * ForwardingHeaders/kjs/JSValue.h: Copied from JavaScriptGlue/ForwardingHeaders/kjs/value.h.
2274         * ForwardingHeaders/kjs/value.h: Removed.
2275         * JSUtils.h:
2276
2277 2008-06-03  Darin Adler  <darin@apple.com>
2278
2279         - update for JavaScriptCore changes for https://bugs.webkit.org/show_bug.cgi?id=19269
2280           speed up SunSpider by eliminating the toObject call for most get/put/delete
2281
2282         * UserObjectImp.cpp:
2283         (UserObjectImp::userObjectGetter): Removed originalObject argument.
2284         * UserObjectImp.h: Ditto.
2285
2286 2008-06-02  Geoffrey Garen  <ggaren@apple.com>
2287
2288         Reviewed by Alexey Proskuryakov.
2289
2290         Removed JSObject::call, since it just called JSObject::callAsFunction.
2291
2292         SunSpider reports no change.
2293
2294 2008-05-28  Geoffrey Garen  <ggaren@apple.com>
2295
2296         Reviewed by Oliver Hunt.
2297         
2298         Fixed total destruction in Software Update.app.
2299         
2300         Updated JavaScriptGlue to honor squirrelfish's new getCallData mechanism for
2301         indicating that an object can be called as a function.
2302
2303 2008-05-10  Maciej Stachowiak  <mjs@apple.com>
2304
2305         Reviewed by Oliver.
2306
2307         - JavaScriptGlue part of fix for: "SQUIRRELFISH: function toString broken after calling"
2308         https://bugs.webkit.org/show_bug.cgi?id=18869
2309         
2310         * JSRun.cpp:
2311         (JSRun::Evaluate): Use UString version of eveluate() instead of
2312         the now departed UChar*/length variant; use of the lower-level
2313         version was gratuitous in any case.
2314         (JSRun::CheckSyntax): Ditto for checkSyntax().
2315
2316 2008-04-30  Geoffrey Garen  <ggaren@apple.com>
2317
2318         Build fix: supply missing parameter that used to be implicit.
2319
2320         * JSRun.cpp:
2321         (JSRun::Evaluate):
2322
2323 2008-03-30  Geoffrey Garen  <ggaren@apple.com>
2324
2325         Reviewed by Oliver Hunt.
2326         
2327         Build fix.
2328
2329         * ForwardingHeaders/wtf/UnusedParam.h: Copied from ForwardingHeaders/wtf/OwnPtr.h.
2330
2331 2008-05-12  Alexey Proskuryakov  <ap@webkit.org>
2332
2333         Roll out recent  threading changes (r32807, r32810, r32819, r32822) to simplify
2334         SquirrelFish merging.
2335
2336         * JSUtils.cpp:
2337         (JSObjectKJSValue):
2338         * JSUtils.h:
2339         * JSValueWrapper.cpp:
2340         (unprotectGlobalObject):
2341         (initializeGlobalObjectKey):
2342         (getThreadGlobalExecState):
2343         * JavaScriptGlue.cpp:
2344         (JSCollect):
2345         (JSLockInterpreter):
2346         * UserObjectImp.cpp:
2347         (UserObjectImp::toPrimitive):
2348
2349 2008-05-02  Alexey Proskuryakov  <ap@webkit.org>
2350
2351         Reviewed by Darin Adler.
2352
2353         Make JavaScriptGlue and JavaScriptCore API functions implicitly call initializeThreading
2354         for the sake of non-WebKit clients.
2355
2356         * JavaScriptGlue.cpp:
2357         (JSRunCreate):
2358         (JSCollect):
2359         (JSCreateJSArrayFromCFArray):
2360         (JSLockInterpreter):
2361         These are all possible JavaScriptGlue entry points.
2362
2363 2008-05-02  Alexey Proskuryakov  <ap@webkit.org>
2364
2365         Reviewed by Geoffrey Garen.
2366
2367         https://bugs.webkit.org/show_bug.cgi?id=18826
2368         Make JavaScript heap per-thread
2369
2370         * JSValueWrapper.cpp:
2371         * JSUtils.h:
2372         Moved getThreadGlobalExecState() to JSUtils and made it extern, as ExecState is now needed
2373         for all JS allocations.
2374
2375         * JSUtils.cpp:
2376         (JSObjectKJSValue): Pass ExecState to functions that now need it.
2377         (unprotectGlobalObject): Moved from JSValueWrapper.cpp.
2378         (initializeGlobalObjectKey): Ditto.
2379         (getThreadGlobalExecState): Ditto.
2380
2381         * UserObjectImp.cpp: (UserObjectImp::toPrimitive): Pass ExecState to jsString and jsNumber.
2382
2383         * JavaScriptGlue.cpp:
2384         (JSCollect): Use current thread's heap.
2385         (JSLockInterpreter): Removed JSLock::registerThread(), because a JS heap doesn't need to
2386         know about other threads.
2387
2388 2008-04-25  Alexey Proskuryakov  <ap@webkit.org>
2389
2390         Reviewed by Darin Adler.
2391
2392         Fix run-webkit-tests --threading
2393         and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
2394         Proxy server issue in Sunday's Nightly
2395
2396         * UserObjectImp.cpp: Adjusted for the new member added to ClassInfo.
2397
2398 2008-04-25  Mark Rowe  <mrowe@apple.com>
2399
2400         Reviewed by Adele Peterson.
2401
2402         <rdar://problem/5891264> Don't install the JavaScriptGlue headers
2403
2404         * JavaScriptGlue.xcodeproj/project.pbxproj:
2405
2406 2008-04-25  Mark Rowe  <mrowe@apple.com>
2407
2408         Rubber-stamped by Sam Weinig.
2409
2410         Add some content to an empty ICU header file to prevent verification errors.
2411
2412         * icu/unicode/utf_old.h:
2413
2414 2008-04-02  Mark Rowe  <mrowe@apple.com>
2415
2416         Reviewed by Oliver Hunt.
2417
2418         Ensure that debug symbols are generated for x86_64 and ppc64 builds.
2419
2420         * Configurations/Base.xcconfig:
2421
2422 2008-03-20  Maciej Stachowiak  <mjs@apple.com>
2423
2424         - fix build
2425
2426         * ForwardingHeaders/wtf/ListRefPtr.h: Added.
2427
2428 2008-03-01  Mark Rowe  <mrowe@apple.com>
2429
2430         Reviewed by Tim Hatcher.
2431
2432         Update Xcode configuration to support building debug and release from the mysterious future.
2433
2434         * Configurations/Base.xcconfig:
2435         * Configurations/DebugRelease.xcconfig:
2436
2437 2008-02-29  Geoffrey Garen  <ggaren@apple.com>
2438
2439         Reviewed by David Harrison.
2440         
2441         Fixed <rdar://problem/5765063> TOT REGRESSION: Software Update crash in
2442         KJS::Collector::collect() (missing JSLock)
2443
2444         * JSValueWrapper.cpp:
2445         (unprotectGlobalObject): Added missing JSLock.
2446
2447 2008-02-05  Mark Rowe  <mrowe@apple.com>
2448
2449         Reviewed by Oliver Hunt.
2450
2451         Update versioning to support the mysterious future.
2452
2453         * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
2454
2455 2008-01-28  Eric Seidel  <eric@webkit.org>
2456
2457         Reviewed by darin.
2458         
2459         Add icu headers to JSG in preparation for depending on ::UChar.
2460
2461         * Configurations/Base.xcconfig:
2462         * ForwardingHeaders/wtf/unicode: Added.
2463         * ForwardingHeaders/wtf/unicode/Unicode.h: Added.
2464         * ForwardingHeaders/wtf/unicode/icu: Added.
2465         * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Added.
2466         * icu: Copied from ../JavaScriptCore/icu.
2467
2468 2007-12-19  Geoffrey Garen  <ggaren@apple.com>
2469
2470         Build fix.
2471
2472         * ForwardingHeaders/wtf/VectorTraits.h: Added.
2473
2474 2007-12-10  Timothy Hatcher  <timothy@apple.com>
2475
2476         Reviewed by Mark Rowe.
2477
2478         <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
2479
2480         * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
2481           so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
2482
2483 2007-12-04  Geoffrey Garen  <ggaren@apple.com>
2484
2485         Reviewed by Darin Adler.
2486
2487         Third step in refactoring JSGlobalObject: Moved data members and data
2488         member access from Interpreter to JSGlobalObject. Replaced JSInterpreter
2489         subclass with JSGlobalObject subclass.
2490         
2491         * JSRun.cpp:
2492         (JSRun::JSRun):
2493         (JSRun::Evaluate):
2494         (JSRun::CheckSyntax):
2495         * JSRun.h:
2496         (JSGlueGlobalObject::JSGlueGlobalObject):
2497         * JSUtils.cpp:
2498         (KJSValueToCFTypeInternal):
2499         * JSValueWrapper.cpp:
2500         (getThreadGlobalExecState):
2501
2502 2007-12-02  Geoffrey Garen  <ggaren@apple.com>
2503
2504         Reviewed by Eric Seidel.
2505
2506         Updated to match the JavaScriptCore change to move virtual methods from
2507         Interpreter to JSGlobalObject.
2508         
2509         * JSRun.cpp:
2510         * JSRun.h:
2511         * JSValueWrapper.cpp:
2512         (getThreadGlobalExecState):
2513         * JavaScriptGlue.cpp:
2514         (JSRunCopyGlobalObject):
2515         (JSRunEvaluate):
2516
2517 2007-11-30  Geoffrey Garen  <ggaren@apple.com>
2518
2519         Reviewed by Beth Dakin.
2520         
2521         Modified to follow new JSGlobalObject/Interpreter ownership rules 
2522         in JavaScriptCore.
2523
2524         * JSRun.cpp:
2525         (JSRun::JSRun):
2526         (JSRun::GetInterpreter):
2527         (JSRun::Evaluate):
2528         (JSRun::CheckSyntax):
2529         * JSRun.h:
2530         * JSValueWrapper.cpp:
2531         (unprotectGlobalObject):
2532         (initializeGlobalObjectKey):
2533         (getThreadGlobalExecState):
2534
2535 2007-11-29  Mark Rowe  <mrowe@apple.com>
2536
2537         Reviewed by Maciej.
2538
2539         Fix REGRESSION(r27885): Installer hits assertion failure in JavaScriptGlue.
2540
2541         * JSValueWrapper.cpp:
2542         (getThreadGlobalExecState): Set the global object on the Interpreter before using it.
2543
2544 2007-11-27  Anders Carlsson  <andersca@apple.com>
2545         
2546         Build fix.
2547         
2548         * JSUtils.cpp:
2549         (KJSValueToCFTypeInternal):
2550         * JSValueWrapper.cpp:
2551         (JSValueWrapper::JSObjectCopyPropertyNames):
2552
2553 2007-11-21  Mark Rowe  <mrowe@apple.com>
2554
2555         Reviewed by Eric.
2556
2557         Fix JavaScriptGlue to build without warnings using GCC 4.2.
2558
2559         * Configurations/Base.xcconfig:
2560         * JSRun.h:
2561
2562 2007-11-17  Mark Rowe  <mrowe@apple.com>
2563
2564         Reviewed by Darin Adler.
2565
2566         Fix: <rdar://problem/5607032> REGRESSION: testapi exits with assertion failure in debug build
2567              <rdar://problem/5440659> JSGlobalContextCreate throws away globalObjectClass's prototype
2568              http://bugs.webkit.org/show_bug.cgi?id=16033
2569
2570         Update for changes in Interpreter method signatures.
2571
2572         * JSRun.h:
2573
2574 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
2575
2576         Reviewed by Anders Carlsson.
2577
2578         Renamed Shared to RefCounted.
2579
2580         * ForwardingHeaders/wtf/RefCounted.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/Shared.h.
2581         * ForwardingHeaders/wtf/Shared.h: Removed.
2582
2583 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
2584
2585         Reviewed by Sam Weinig.
2586
2587         Moved Shared.h into wtf so it could be used in more places.
2588
2589         * ForwardingHeaders/wtf/Shared.h: Added.
2590
2591 2007-11-08  Mark Rowe  <mrowe@apple.com>
2592
2593         Build fix.
2594
2595         * ForwardingHeaders/wtf/MathExtras.h: Copied from WebCore/ForwardingHeaders/wtf/MathExtras.h.
2596
2597 2007-11-05  Geoffrey Garen  <ggaren@apple.com>
2598
2599         Build fix.
2600
2601         * ForwardingHeaders/kjs/value.h: Added.
2602
2603 2007-11-03  Sam Weinig  <sam@webkit.org>
2604
2605         Build-fix.
2606
2607         * UserObjectImp.cpp:
2608
2609 2007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
2610
2611         Sort files(...); sections of Xcode project files.
2612
2613         Rubber-stamped by Darin Adler.
2614
2615         * JavaScriptGlue.xcodeproj/project.pbxproj:
2616
2617 2007-10-25  Eric Seidel  <eric@webkit.org>
2618
2619         Reviewed by Geoff.
2620         
2621         Make JSG build again after JSGlobalObject change.
2622
2623         * JSRun.cpp:
2624         (JSRun::JSRun):
2625         (JSRun::GlobalObject):
2626         * JSRun.h:
2627         (JSInterpreter::JSInterpreter):
2628         * JSUtils.h:
2629
2630 2007-10-11  Mark Rowe  <mrowe@apple.com>
2631
2632         Reviewed by Tim Hatcher.
2633
2634         Fix for <rdar://problem/5488678>.  Disable debugging symbols in production builds for 10.4
2635         PowerPC to prevent a huge STABS section from being generated.
2636
2637         * Configurations/Base.xcconfig:
2638
2639 2007-10-04  Mark Rowe  <mrowe@apple.com>
2640
2641         Reviewed by Oliver.
2642
2643         Switch to default level of debugging symbols to resolve <rdar://problem/5488678>.
2644         The "full" level appears to offer no observable benefits even though the documentation
2645         suggests it be used for dead code stripping.  This should also decrease link times.
2646
2647         * Configurations/Base.xcconfig:
2648
2649 2007-09-03  Mark Rowe  <mrowe@apple.com>
2650
2651         Reviewed by Tim Hatcher.
2652
2653         <rdar://problem/5452164> Production build with in symbols directory has no debug info
2654
2655         Enable debug symbol generation on all build configurations.  Production builds are stripped
2656         of symbols by Xcode during deployment post-processing.
2657
2658         * Configurations/Base.xcconfig:
2659         * JavaScriptGlue.xcodeproj/project.pbxproj:
2660
2661 2007-08-09  Mark Rowe  <mrowe@apple.com>
2662
2663         Reviewed by Antti.
2664
2665         <rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +
2666
2667         * Configurations/Version.xcconfig:
2668         * JavaScriptGlue.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between
2669         Version.xcconfig and Info.plist explicit to Xcode.
2670
2671 2007-07-16  Sam Weinig  <sam@webkit.org>
2672
2673         Reviewed by Oliver.
2674
2675         Turn off -Wshorten-64-to-32 warning for 64-bit builds.
2676
2677         * Configurations/Base.xcconfig:
2678
2679 2007-04-27  Mark Rowe  <mrowe@apple.com>
2680
2681         Reviewed by Oliver.
2682
2683         * JavaScriptGlue.xcodeproj/project.pbxproj: Improve dependencies in Xcode project
2684         by marking JavaScriptGlue as a dependency of testjsglue.
2685
2686 2007-03-24  Mark Rowe  <mrowe@apple.com>
2687
2688         Reviewed by Dave Hyatt.
2689
2690         * JavaScriptGlue.xcodeproj/project.pbxproj: Use GCC 4.0 for testjsglue.
2691
2692 2007-03-24  Mark Rowe  <mrowe@apple.com>
2693
2694         Rubber-stamped by Darin Adler.
2695
2696         * Configurations/JavaScriptGlue.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS.
2697
2698 2007-03-19  Andrew Wellington  <proton@wiretapped.net>
2699
2700         Reviewed by Maciej.
2701
2702         Really set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
2703
2704         * JavaScriptGlue.xcodeproj/project.pbxproj:
2705
2706 2007-03-18  Andrew Wellington  <proton@wiretapped.net>
2707
2708         Reviewed by Mark Rowe
2709         
2710         Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
2711
2712         * JavaScriptGlue.xcodeproj/project.pbxproj:
2713
2714 2007-03-17  Timothy Hatcher  <timothy@apple.com>
2715
2716         Reviewed by Mark Rowe.
2717
2718         Made Version.xcconfig smarter when building for different configurations.
2719         Now uses the 522+ OpenSource version for Debug and Release, while using the    
2720         full 522.4 version for Production builds. The system prefix is also computed
2721         based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.
2722
2723         * Configurations/JavaScriptGlue.xcconfig:
2724         * Configurations/Version.xcconfig:
2725
2726 2007-03-15  Timothy Hatcher  <timothy@apple.com>
2727
2728         Reviewed by John.
2729
2730         * Factored out most of our common build settings into .xcconfig files. Anything that was common in
2731           each build configuration was factored out into the shared .xcconfig file.
2732         * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
2733         * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
2734         * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
2735
2736         * Configurations/Base.xcconfig: Added.
2737         * Configurations/DebugRelease.xcconfig: Added.
2738         * Configurations/JavaScriptGlue.xcconfig: Added.
2739         * Configurations/Version.xcconfig: Added.
2740         * Info.plist:
2741         * JavaScriptGlue.xcodeproj/project.pbxproj:
2742
2743 === Safari-5522.4 ===
2744
2745 2007-03-12  Geoffrey Garen  <ggaren@apple.com>
2746
2747         Reviewed by Oliver Hunt.
2748         
2749         Updated in light of fix for <rdar://problem/4681051> Installer crashes 
2750         in KJS::Collector::markOtherThreadConservatively(KJS::Collector::Thread*) 
2751         trying to install iLife 06 using Rosetta on an Intel Machine
2752         
2753         * JavaScriptGlue.cpp:
2754         (JSLockInterpreter): Ensure backwards compatibility by calling 
2755         registerThread() when explicitly taking the JSLock. (This doesn't happen 
2756         automatically anymore.) I doubt this actally matters, but in JavaScriptGlue
2757         territory, that kind of thinking will get you killed.
2758
2759 2007-03-06  Geoffrey Garen  <ggaren@apple.com>
2760
2761         Reviewed by Maciej Stachowiak.
2762
2763         Fixed all known crashers exposed by run-webkit-tests --threaded while using
2764         a PAC file (for maximum carnage). See JavaScriptCore ChangeLog for 
2765         more details.
2766
2767         * JSBase.cpp:
2768         (JSBase::Release): Lock when deleting, because we may be deleting an object
2769         (like a JSRun) that holds thread-unsafe data.
2770
2771         * JSUtils.cpp:
2772         (CFStringToUString): Don't lock, because our caller locks. Also, locking
2773         inside a function that returns thread-unsafe data by copy will only mask
2774         threading problems.
2775
2776         * JavaScriptGlue.cpp:
2777         (JSRunEvaluate): Added missing JSLock.
2778         (JSRunCheckSyntax): Converted to JSLock.
2779         * JavaScriptGlue.xcodeproj/project.pbxproj:
2780
2781 2007-02-22  Geoffrey Garen  <ggaren@apple.com>
2782
2783         Reviewed by Darin Adler.
2784         
2785         Fixed <rdar://problem/4942528> Installer.app Stuck "Examining additional 
2786         volumes..."
2787         
2788         The problem was that JavaScriptGlue held a JSObject in a static pointer
2789         without protecting it from garbage collection. 
2790         
2791             sUserObjectPrototypeImp  = new UserObjectPrototypeImp();
2792             static ProtectedPtr<UserObjectPrototypeImp> protectPrototype; // valiant, brave, but useless
2793
2794         Through an interesting comedy of errors, this object would be collected 
2795         and then assigned as the prototype of another object allocated at the 
2796         same address, thus becoming its own prototype. (See http://www.ziplo.com/grandpa.htm
2797         for further explanation of this phenomenon.) Hence the infinte loop in 
2798         property lookup.
2799         
2800         The solution is equally humorous: all of this code was completely useless --
2801         it only served to create an empty object in the prototype chain -- so
2802         I just removed it.
2803
2804         * UserObjectImp.cpp:
2805         (UserObjectImp::UserObjectImp):
2806         * UserObjectImp.h:
2807
2808 2007-02-19  Timothy Hatcher  <timothy@apple.com>
2809
2810         Reviewed by Geoff.
2811
2812         <rdar://problem/4636301> Deprecate JavaScriptGlue
2813
2814         * JavaScriptGlue.h: adds DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER to everything
2815         * JavaScriptGlue.xcodeproj/project.pbxproj: use -Wno-deprecated-declarations to keep the project building
2816         * config.h: define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER as empty on other systems
2817
2818 2007-02-16  Darin Adler  <darin@apple.com>
2819
2820         Reviewed by Anders.
2821
2822         - fix <rdar://problem/5000216> JavaScriptGlue framework started turning all CFNumbers
2823           into signed 32bit values
2824
2825         Circumstantial evidence seems to indicate that JavaScriptGlue was depending on a bug
2826         in CFNumber where CFNumberIsFloatType was returning true for 64-bit integer values.
2827
2828         * JSUtils.cpp: (JSObjectKJSValue): Removed the call to CFNumberIsFloatType in the
2829         conversion of numeric values, and always use kCFNumberDoubleType, since double is
2830         the internal format of numbers in JavaScriptCore. There's no value to having a
2831         separate code path for integers. There's also no reason to check the return value
2832         from CFNumberGetValue -- if it returns false it still does the best it can to convert
2833         to a double, which is what we want.
2834
2835         * UserObjectImp.cpp: (UserObjectImp::toString): Removed a similar code path that
2836         tried to handle integers separate from double. Instead, always use a double. For
2837         compatibility, use a format without a decimal point when CFNumberIsFloatType returns
2838         false. Also removed a bogus cast to float; the "%f" format string takes a double,
2839         not a float, so all the cast did was cut down on precision.
2840
2841 2007-01-25  Mark Rowe  <mrowe@apple.com>
2842
2843         Reviewed by Maciej.
2844
2845         * Info.plist: Update copyright string.
2846
2847 2006-12-19  Timothy Hatcher  <timothy@apple.com>
2848
2849         Reviewed by Darin Adler.
2850
2851         <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features
2852
2853         * JavaScriptGlue.xcodeproj/project.pbxproj:
2854
2855 === Safari-521.26 ===
2856
2857 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
2858
2859         Reviewed by Tim H.
2860
2861         Build fix:  DWARF and -gfull are incompatible with symbol separation.
2862
2863         * JavaScriptGlue.xcodeproj/project.pbxproj:
2864
2865 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
2866
2867         Reviewed by Tim H.
2868
2869         http://bugs.webkit.org/show_bug.cgi?id=10394
2870         Bug 10394: WebKit Release and Production configurations should enable dead code stripping
2871
2872         * JavaScriptGlue.xcodeproj/project.pbxproj:
2873
2874 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
2875
2876         Reviewed by Tim H.
2877
2878         http://bugs.webkit.org/show_bug.cgi?id=10384
2879         Bug 10384: Switch to DWARF for Release configuration
2880
2881         * JavaScriptGlue.xcodeproj/project.pbxproj:
2882
2883 2006-08-04  Sam Weinig  <sam.weinig@gmail.com>
2884
2885         Reviewed by Darin Adler.
2886
2887         - patch for http://bugs.webkit.org/show_bug.cgi?id=10192
2888           Make WebCore (and friends) compile with -Wshorten-64-to-32
2889
2890           * Adds -Wshorten-64-to-32 flag to Xcode project.
2891
2892         * JavaScriptGlue.xcodeproj/project.pbxproj:
2893
2894 2006-08-03  Sam Weinig  <sam.weinig@gmail.com>
2895
2896         Reviewed by Darin Adler.
2897
2898         - patch for http://bugs.webkit.org/show_bug.cgi?id=10176
2899           Make WebCore compile with -Wundef
2900
2901           * Adds -Wundef flag to Xcode project
2902
2903         * JavaScriptGlue.xcodeproj/project.pbxproj:
2904
2905 2006-07-29  Sam Weinig  <sam.weinig@gmail.com>
2906
2907         Reviewed by Darin Adler.
2908
2909         - patch for http://bugs.webkit.org/show_bug.cgi?id=10080
2910           Adopt pedantic changes from the Unity project to improve 
2911           cross-compiler compatibility
2912
2913           Changes include:
2914           * Turning on gcc warning for missing newline at the end of a source file
2915             (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
2916
2917         * JavaScriptGlue.xcodeproj/project.pbxproj:
2918
2919 === Safari-521.19 ===
2920
2921 2006-07-19  Geoffrey Garen  <ggaren@apple.com>
2922
2923         Fixed by Darin & Maciej, reviewed by me.
2924         
2925         - Fixed <rdar://problem/4638934> Leopard 9A227: Installer crashes right 
2926         after LCA and while preparing Installation
2927
2928         Compile release/production with NDEBUG set, to ensure binary compatibility
2929         between JavaScriptGlue and JavaScriptCore. In debug builds, JavaScriptCore 
2930         includes an extra debug data member in HashSet.
2931         
2932         * JavaScriptGlue.xcodeproj/project.pbxproj:
2933
2934 === Safari-521.18 ===
2935
2936 2006-07-15  Maciej Stachowiak  <mjs@apple.com>
2937
2938         Reviewed by Darin Adler.
2939
2940         - switch property lists to be vector+set of Identifiers instead of list of References
2941         
2942         * JSUtils.cpp:
2943         (KJSValueToCFTypeInternal): updated for JSC SPI changes
2944         * JSValueWrapper.cpp:
2945         (JSValueWrapper::JSObjectCopyPropertyNames): ditto
2946         * UserObjectImp.cpp:
2947         (UserObjectImp::getPropertyNames): ditto
2948         * UserObjectImp.h:
2949
2950 === Safari-521.17 ===
2951
2952 2006-07-14  Geoffrey Garen  <ggaren@apple.com>
2953
2954         Reviewed by Maciej.
2955         
2956         - Updated JSInterpreter to work with Interpreter ref-counting in JavaScriptCore.
2957
2958         (JSInterpreter::JSInterpreter::~JSInterpreter): Now protected to catch
2959         manual delete.
2960
2961 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
2962
2963         Build fix
2964         
2965         * JSUtils.cpp:
2966         (KJSValueToCFTypeInternal):
2967         * JSValueWrapper.cpp:
2968         (JSValueWrapper::JSObjectCopyPropertyNames):
2969         * UserObjectImp.cpp:
2970         (UserObjectImp::getPropertyList):
2971         
2972 === Safari-521.15 ===
2973
2974 2006-07-07  Geoffrey Garen  <ggaren@apple.com>
2975
2976         - build fix
2977
2978         * JSUtils.cpp:
2979         (KJSValueToCFTypeInternal):
2980         * JSValueWrapper.cpp:
2981         (JSValueWrapper::JSObjectCopyPropertyNames):
2982
2983 2006-07-03  Geoffrey Garen  <ggaren@apple.com>
2984
2985         Reviewed by Maciej.
2986         
2987         * JSRun.cpp:
2988         (JSRun::CheckSyntax): Updated to use new checkSyntax syntax in JSC.
2989         * JavaScriptGlue.xcodeproj/project.pbxproj:
2990
2991 === Safari-521.14 ===
2992
2993 2006-06-28  Timothy Hatcher  <timothy@apple.com>
2994
2995         Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
2996
2997         * JavaScriptGlue.xcodeproj/project.pbxproj:
2998
2999 2006-06-24  David Kilzer  <ddkilzer@kilzer.net>
3000
3001         Reviewed by Timothy.
3002
3003         * Info.plist: Fixed copyright to include 2003-2006.
3004
3005 === JavaScriptGlue-521.13 ===
3006         
3007 2006-06-20  Geoffrey Garen  <ggaren@apple.com>
3008
3009         Reviewed by Anders.
3010         
3011         - Required for JS API: Rename propList to getPropertyList and have it
3012         take its target property list by reference so that subclasses can
3013         add properties to the list before calling through to their superclasses.
3014
3015         * JSUtils.cpp:
3016         (KJSValueToCFTypeInternal):
3017         * JSValueWrapper.cpp:
3018         (JSValueWrapper::JSObjectCopyPropertyNames):
3019         * UserObjectImp.cpp:
3020         (UserObjectImp::getPropertyList):
3021         * UserObjectImp.h:
3022
3023 2006-06-15  Timothy Hatcher  <timothy@apple.com>
3024
3025         Reviewed by Geoff and Darin.
3026         
3027         Prefer the DWARF debugging symbols format for use in Xcode 2.3.
3028
3029         * JavaScriptGlue.xcodeproj/project.pbxproj:
3030
3031 2006-06-12  Geoffrey Garen  <ggaren@apple.com>
3032
3033         Reviewed by TimO, Maciej.
3034         
3035         - JSGlue part of merging InterpreterImp into Interpreter.
3036         
3037         Since there's now a kjs forwarding header, I moved all forwarding
3038         headers into a "ForwardingHeaders" directory, like in WebCore.
3039
3040         * ForwardingHeaders: Added.
3041         * ForwardingHeaders/kjs: Added.
3042         * ForwardingHeaders/kjs/ExecState.h: Added.
3043         * ForwardingHeaders/wtf: Added.
3044         * JavaScriptGlue.xcodeproj/project.pbxproj:
3045         * config.h:
3046         * wtf: Removed.
3047         * wtf/AlwaysInline.h: Removed.
3048         * wtf/Assertions.h: Removed.
3049         * wtf/FastMalloc.h: Removed.
3050         * wtf/Forward.h: Removed.
3051         * wtf/HashCountedSet.h: Removed.
3052         * wtf/HashSet.h: Removed.
3053         * wtf/Noncopyable.h: Removed.
3054         * wtf/OwnArrayPtr.h: Removed.
3055         * wtf/OwnPtr.h: Removed.
3056         * wtf/PassRefPtr.h: Removed.
3057         * wtf/Platform.h: Removed.
3058         * wtf/RefPtr.h: Removed.
3059         * wtf/Vector.h: Removed.
3060
3061 === JavaScriptGlue-521.10 ===
3062
3063 2006-05-09  Maciej Stachowiak  <mjs@apple.com>
3064
3065         Rubber stamped by Anders.
3066         
3067         - renamed kxmlcore to wtf
3068         
3069         kxmlcore --> wtf
3070         KXMLCore --> WTF
3071         KXC --> WTF
3072
3073         * config.h:
3074         * kxmlcore: Removed.
3075         * kxmlcore/AlwaysInline.h: Removed.
3076         * kxmlcore/Assertions.h: Removed.
3077         * kxmlcore/FastMalloc.h: Removed.
3078         * kxmlcore/Forward.h: Removed.
3079         * kxmlcore/HashCountedSet.h: Removed.
3080         * kxmlcore/HashSet.h: Removed.
3081         * kxmlcore/Noncopyable.h: Removed.
3082         * kxmlcore/OwnArrayPtr.h: Removed.
3083         * kxmlcore/OwnPtr.h: Removed.
3084         * kxmlcore/PassRefPtr.h: Removed.
3085         * kxmlcore/Platform.h: Removed.
3086         * kxmlcore/RefPtr.h: Removed.
3087         * kxmlcore/Vector.h: Removed.
3088         * wtf: Added.
3089
3090 2006-04-11  Darin Adler  <darin@apple.com>
3091
3092         - try to fix Windows build
3093
3094         * kxmlcore/HashForward.h: Removed.
3095
3096 2006-04-10  Darin Adler  <darin@apple.com>
3097
3098         Rubber-stamped by John Sullivan.
3099
3100         - added forwarding headers for the new Forward.h and HashForward.h files
3101
3102         * kxmlcore/Forward.h: Added.
3103         * kxmlcore/HashForward.h: Added.
3104
3105 2006-04-04  Timothy Hatcher  <timothy@apple.com>
3106
3107         Reviewed by Darin Adler.
3108
3109         The Debug and Release frameworks are now built with install paths relative to the build products directory.
3110         This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. 
3111
3112         * JavaScriptGlue.xcodeproj/project.pbxproj:
3113
3114 2006-04-02  Eric Seidel  <eseidel@apple.com>
3115
3116         Reviewed by andersca.
3117
3118         Add missing forwarding header.
3119
3120         * kxmlcore/Vector.h: Added.
3121
3122 2006-03-31  Geoffrey Garen  <ggaren@apple.com>
3123
3124         Reviewed by Darin Adler.
3125
3126         - Fixed <rdar://problem/4430836> JavaScript patch crashing Quartz
3127         Composer
3128
3129         JSValueWrappers used to hold on to the ExecState that pertained at
3130         the time of their creation. Since ExecStates are transient, that
3131         design was totally bogus, and it would crash once the ExecState had
3132         been deallocated.
3133
3134         Unfortunately, there's no clean solution to this problem, since
3135         the JSGlue API has no notion of state. The solution here is to use
3136         a shared, global ExecState for the purpose of JSGlue calls. Given
3137         the pre-existing limitations in the JSGlue API, this design
3138         shouldn't actually introduce any new limitations (see comments in
3139         JSValueWrapper.cpp).
3140
3141         I tested with Quartz Composer and PAC files, neither of which are
3142         layout-testable.
3143         
3144         * JSUtils.cpp:
3145         (KJSValueToJSObject):
3146         * JSValueWrapper.cpp:
3147         (JSValueWrapper::JSValueWrapper):
3148         (JSValueWrapper::GetValue):
3149         (getProcessGlobalExecState):
3150         (JSValueWrapper::JSObjectCopyPropertyNames):
3151         (JSValueWrapper::JSObjectCopyProperty):
3152         (JSValueWrapper::JSObjectSetProperty):
3153         (JSValueWrapper::JSObjectCallFunction):
3154         (JSValueWrapper::JSObjectCopyCFValue):
3155         * JSValueWrapper.h:
3156
3157         Also added a test harness file. It was helpful while I was testing,
3158         and may come in handy in the future:
3159         
3160         * JavaScriptGlue.xcodeproj/project.pbxproj:
3161         testjsglue.cpp: Added.
3162
3163 2006-03-28  Darin Adler  <darin@apple.com>
3164
3165         Reviewed by Geoff.
3166
3167         - added a build step that checks for init routines
3168
3169         * JavaScriptGlue.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
3170         check-for-global-initializers script.
3171
3172 2006-03-02  Maciej Stachowiak  <mjs@apple.com>
3173
3174         Not reviewed, but I noticed these trivial extra changes were needed to avoid
3175         breaking the build with my reviewed patch for:
3176         
3177         http://bugs.webkit.org/show_bug.cgi?id=7387
3178         
3179         Add config.h, includes of it, and Platform.h forwarding header.
3180
3181         * JSBase.cpp:
3182         * JSObject.cpp:
3183         * JSRun.cpp:
3184         * JSUtils.cpp:
3185         * JSValueWrapper.cpp:
3186         * JavaScriptGlue.cpp:
3187         * UserObjectImp.cpp:
3188         * config.h: Added.
3189         * kxmlcore/Platform.h: Added.
3190
3191 === JavaScriptGlue-521.7 ===
3192
3193 2006-02-10  Geoffrey Garen  <ggaren@apple.com>
3194
3195         Reviewed by eric.
3196
3197         - Fixed build.
3198
3199         * UserObjectImp.cpp:
3200         (UserObjectImp::toPrimitive):
3201         * UserObjectImp.h:
3202
3203 2006-02-03  Timothy Hatcher  <timothy@apple.com>
3204
3205         Reviewed by Justin.
3206
3207         Renamed configuration names to Debug, Release and Production.
3208
3209         * JavaScriptGlue.xcodeproj/project.pbxproj:
3210
3211 2006-02-01  Darin Adler  <darin@apple.com>
3212
3213         - added some forwarding headers to make new JavaScriptCore changes work
3214
3215         * kxmlcore/Assertions.h: Added.
3216         * kxmlcore/Noncopyable.h: Added.
3217         * kxmlcore/OwnPtr.h: Added.
3218         * kxmlcore/OwnArrayPtr.h: Added.
3219
3220 2006-01-16  Timothy Hatcher  <timothy@apple.com>
3221
3222         Adding the license header to all files so we can
3223         move JavaScriptGlue into the open source repository.
3224
3225         * LICENSE: Added.
3226         * JSBase.cpp: license header added.
3227         * JSBase.h: ditto.
3228         * JSObject.cpp: ditto.
3229         * JSObject.h: ditto.
3230         * JSRun.cpp: ditto.
3231         * JSRun.h: ditto.
3232         * JSUtils.cpp: ditto.
3233         * JSUtils.h: ditto.
3234         * JSValueWrapper.cpp: ditto.
3235         * JSValueWrapper.h: ditto.
3236         * JavaScriptGlue.cpp: ditto.
3237         * JavaScriptGlue.h: ditto.
3238         * UserObjectImp.cpp: ditto.
3239         * UserObjectImp.h: ditto.
3240
3241 2005-12-21  Timothy Hatcher  <timothy@apple.com>
3242
3243         * JavaScriptGlue.xcodeproj/project.pbxproj:
3244           Set tab width to 8, indent width to 4 and uses tabs to false per file.
3245
3246 2005-12-19  Darin Adler  <darin@apple.com>
3247
3248         Reviewed by Geoff Garen and Eric Seidel.
3249
3250         - fix http://bugs.webkit.org/show_bug.cgi?id=4923
3251           stop using <ostream> in WebCore, eliminating the <cmath> troubles it causes
3252
3253         * kxmlcore/AlwaysInline.h: Added.
3254
3255 2005-12-15  Darin Adler  <darin@apple.com>
3256
3257         Reviewed by Maciej.
3258
3259         * JSRun.cpp: (JSRun::Evaluate): Updated for change to Interpreter::evaluate.
3260
3261 2005-12-15  Darin Adler  <darin@apple.com>
3262
3263         Reviewed by Tim Hatcher.
3264
3265         * JavaScriptGlue.xcodeproj/project.pbxproj: Removed some redundant build
3266         settings, turned off prebinding explicitly for our Development and
3267         Deployment builds, remove .exp file from sources. All "clean-up".
3268
3269 === Safari-521~5 ===
3270
3271 2005-12-13  Geoffrey Garen  <ggaren@apple.com>
3272
3273     - Fixed build after Anders's last checkin to JavaScriptCore.
3274     
3275         Reviewed by darin.
3276
3277         * UserObjectImp.cpp:
3278         (UserObjectImp::userObjectGetter): Updated to reflect new argument that 
3279     getters take (unused here).
3280         * UserObjectImp.h:
3281
3282 2005-12-13  Maciej Stachowiak  <mjs@apple.com>
3283
3284         Reviewed by Eric.
3285
3286     - added forwarding header for HashCountedSet
3287
3288         * kxmlcore/HashCountedSet.h: Added.
3289
3290 2005-12-10  Darin Adler  <darin@apple.com>
3291
3292         Rubber stamped by Maciej.
3293
3294         - updated for KJS class renaming
3295
3296         * many files and functions
3297
3298 2005-12-10  Darin Adler  <darin@apple.com>
3299
3300         Reviewed by Maciej.
3301
3302         - eliminated the old Undefined(), Null(), Boolean(), Number(), and String()
3303
3304         Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString().
3305
3306         * JSUtils.cpp:
3307         (JSObjectKJSValue):
3308         * UserObjectImp.cpp:
3309         (UserObjectImp::callAsFunction):
3310         (UserObjectImp::toPrimitive):
3311
3312 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
3313
3314         - added new forwarding headers
3315
3316         * kxmlcore/PassRefPtr.h: Added.
3317         * kxmlcore/RefPtr.h: Added.
3318
3319 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
3320
3321         * kxmlcore/PassRefPtr.h: Added.
3322
3323 2005-11-26  Maciej Stachowiak  <mjs@apple.com>
3324
3325         Rubber stamped by Eric.
3326
3327     - renamed InterpreterLock to JSLock
3328
3329         * JSUtils.cpp:
3330         (CFStringToUString):
3331         (JSObjectKJSValue):
3332         (KJSValueToCFTypeInternal):
3333         * JSValueWrapper.cpp:
3334         (JSValueWrapper::JSObjectCopyPropertyNames):
3335         (JSValueWrapper::JSObjectCopyProperty):
3336         (JSValueWrapper::JSObjectSetProperty):
3337         (JSValueWrapper::JSObjectCallFunction):
3338         (JSValueWrapper::JSObjectCopyCFValue):
3339         * JavaScriptGlue.cpp:
3340         (JSRunCreate):
3341         (JSCollect):
3342         (JSLockInterpreter):
3343         (JSUnlockInterpreter):
3344         * UserObjectImp.cpp:
3345         (UserObjectImp::callAsFunction):
3346
3347 2005-11-16  Maciej Stachowiak  <mjs@apple.com>
3348
3349         Reviewed by Geoff.
3350
3351     Updated to use new API to drop all locks.
3352
3353         * JavaScriptGlue.cpp:
3354         (JSLockInterpreter):
3355         (JSUnlockInterpreter):
3356         * UserObjectImp.cpp:
3357         (UserObjectImp::callAsFunction):
3358
3359 2005-11-14  Geoffrey Garen  <ggaren@apple.com>
3360
3361         Reviewed by mjs.
3362
3363         - Part of the fix for <rdar://problem/4342216> Installer crash in 
3364           KJS::ValueImp::marked() when garbage collector runs inside call to 
3365           ConstantValues::init()
3366           
3367         Added locking in JSRunCreate, since JSRun::JSRun constructs an object.
3368         
3369         * JavaScriptGlue.cpp:
3370         (JSRunCreate):
3371
3372 2005-11-10  Geoffrey Garen  <ggaren@apple.com>
3373
3374         Reviewed by Maciej.
3375
3376         - Fixed <rdar://problem/4334445> installer crashed on my 
3377           dual g4 450Mhz after clicking language
3378
3379         - Reversed backwards NULL check.
3380         - Inserted guards against NULL fJSUserObject data member.
3381         - Cleaned up some style.
3382
3383         * JSUtils.cpp:
3384         (KJSValueToCFTypeInternal):
3385         * UserObjectImp.cpp:
3386         (UserObjectImp::~UserObjectImp):
3387         (UserObjectImp::callAsFunction):
3388         (UserObjectImp::userObjectGetter):
3389         (UserObjectImp::getOwnPropertySlot):
3390         (UserObjectImp::put):
3391         (UserObjectImp::mark):
3392
3393 2005-11-04  Timothy Hatcher  <timothy@apple.com>
3394
3395         Reviewed by Darin Adler.
3396
3397         * JavaScriptGlue.xcodeproj/project.pbxproj:
3398           Fixed the FRAMEWORK_SEARCH_PATHS to look in the WebKit
3399           Frameworks for the Default config.
3400
3401 2005-11-03  Timothy Hatcher  <timothy@apple.com>
3402
3403         Reviewed by Darin and Vicki.
3404
3405         * JavaScriptGlue.xcodeproj/project.pbxproj:
3406           Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
3407           $(NEXT_ROOT) in a few spots to make build-root work.
3408
3409 2005-11-01  Maciej Stachowiak  <mjs@apple.com>
3410
3411     Reviewed by: Eric.
3412     
3413         <rdar://problem/4324107> get JavaScriptGlue working with TOT JavaScriptCore again
3414
3415     - reverted all this stuff to use ReferenceList instead of IdentifierSequencedSet
3416
3417         * JSUtils.cpp:
3418         (KJSValueToCFTypeInternal):
3419         * JSValueWrapper.cpp:
3420         (JSValueWrapper::JSObjectCopyPropertyNames):
3421         * UserObjectImp.cpp:
3422         (UserObjectImp::propList):
3423         * UserObjectImp.h:
3424
3425 2005-10-11  Timothy Hatcher  <timothy@apple.com>
3426
3427         Setup the proper Framework search path for the Default config.
3428         Prepping for a TOT submission and build by B&I.
3429
3430         * JavaScriptGlue.xcodeproj/project.pbxproj:
3431
3432 2005-10-10  Darin Adler  <darin@apple.com>
3433
3434         Reviewed by Eric.
3435
3436         - converted tabs to spaces, NULL to 0, added some (void), got rid of __ prefixes
3437           in headers (reserved for compiler/library)
3438
3439         * Info.plist:
3440         * JSBase.cpp:
3441         * JSBase.h:
3442         * JSObject.cpp:
3443         * JSObject.h:
3444         * JSRun.cpp:
3445         * JSRun.h:
3446         * JSUtils.cpp:
3447         * JSUtils.h:
3448         * JSValueWrapper.cpp:
3449         * JSValueWrapper.h:
3450         * JavaScriptGlue.cpp:
3451         * JavaScriptGlue.h:
3452         * UserObjectImp.cpp:
3453         * UserObjectImp.h:
3454
3455 2005-10-10  Darin Adler  <darin@apple.com>
3456
3457         * .cvsignore: Added. Ignore Makefile.in and Makefile.
3458
3459 2005-10-07  Timothy Hatcher  <timothy@apple.com>
3460
3461         Reviewed by Maciej.
3462         
3463         Build fix, needed to disable RTTI. Upgraded to a native target.
3464
3465         * JavaScriptGlue.xcodeproj/project.pbxproj:
3466         * Info.plist
3467
3468 2005-10-05  Maciej Stachowiak  <mjs@apple.com>
3469
3470         Reviewed by Eric and Darin.
3471
3472     <rdar://problem/4260506> Port JavaScriptGlue to TOT JavaScriptCore
3473
3474         * JSRun.cpp:
3475         (JSRun::JSRun):
3476         (JSRun::GlobalObject):
3477         * JSRun.h:
3478         (JSInterpreter::JSInterpreter):
3479         * JSUtils.cpp:
3480         (KJSValueToJSObject):
3481         (JSObjectKJSValue):
3482         (KJSValueToCFTypeInternal):
3483         (KJSValueToCFType):
3484         * JSUtils.h:
3485         * JSValueWrapper.cpp:
3486         (JSValueWrapper::JSValueWrapper):
3487         (JSValueWrapper::GetValue):
3488         (JSValueWrapper::JSObjectCopyPropertyNames):
3489         (JSValueWrapper::JSObjectCopyProperty):
3490         (JSValueWrapper::JSObjectSetProperty):
3491         (JSValueWrapper::JSObjectCallFunction):
3492         (JSValueWrapper::JSObjectMark):
3493         * JSValueWrapper.h:
3494         * JavaScriptGlue.cpp:
3495         (JSRunCopyGlobalObject):
3496         * JavaScriptGlue.xcodeproj/project.pbxproj:
3497         * Makefile.am: Added.
3498         * UserObjectImp.cpp:
3499         (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
3500         (UserObjectImp::UserObjectImp):
3501         (UserObjectImp::callAsFunction):
3502         (UserObjectImp::getPropertyNames):
3503         (UserObjectImp::userObjectGetter):
3504         (UserObjectImp::getOwnPropertySlot):
3505         (UserObjectImp::put):
3506         (UserObjectImp::toPrimitive):
3507         (UserObjectImp::mark):
3508         * UserObjectImp.h:
3509         * kxmlcore/FastMalloc.h: Added.
3510         * kxmlcore/HashSet.h: Added.
3511
3512 2005-09-14  Maciej Stachowiak  <mjs@apple.com>
3513
3514         Reviewed by Geoff.
3515
3516     - fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
3517
3518     Make sure to lock using the InterpreterLock class in all places that need it
3519     (including anything that uses the collector, the parser, the protect count hash table,
3520     and anything that allocates via fast_malloc).
3521
3522         * JSUtils.cpp:
3523         (CFStringToUString):
3524         (JSObjectKJSValue):
3525         (KJSValueToCFTypeInternal):
3526         * JSUtils.h:
3527         * JSValueWrapper.cpp:
3528         (JSValueWrapper::JSObjectCopyPropertyNames):
3529         (JSValueWrapper::JSObjectCopyProperty):
3530         (JSValueWrapper::JSObjectSetProperty):
3531         (JSValueWrapper::JSObjectCallFunction):
3532         (JSValueWrapper::JSObjectCopyCFValue):
3533         * JavaScriptGlue.cpp:
3534         (JSCollect):
3535
3536 2005-09-27  Adele Peterson  <adele@apple.com>
3537
3538         Reviewed by Maciej.
3539
3540         <rdar://problem/4223297> JavaScriptGlue: Submit 64-bit compatible versions of your API and SPIs by September 15
3541
3542         * JavaScriptGlue.h: Changed UInt32 to CFTypeID for JSTypeID
3543
3544 2005-09-06  Geoffrey Garen  <ggaren@apple.com>
3545
3546         -upgraded project files to XCode 2.1
3547
3548         * JavaScriptGlue.pbproj/project.pbxproj: Removed.
3549         * JavaScriptGlue.xcodeproj/.cvsignore: Added.
3550         * JavaScriptGlue.xcodeproj/project.pbxproj: Added.
3551
3552 2005-09-01  Maciej Stachowiak  <mjs@apple.com>
3553
3554         Rubber stamped by hyatt.
3555
3556     - initial import of JavaScriptGlue into our repository
3557
3558         * English.lproj/InfoPlist.strings: Added.
3559         * JSBase.cpp: Added.
3560         (JSBase::JSBase):
3561         (JSBase::~JSBase):
3562         (JSBase::Retain):
3563         (JSBase::Release):
3564         (JSBase::RetainCount):
3565         (JSBase::GetTypeID):
3566         (JSBase::CopyDescription):
3567         (JSBase::Equal):
3568         * JSBase.h: Added.
3569         * JSObject.cpp: Added.
3570         (JSUserObject::JSUserObject):
3571         (JSUserObject::~JSUserObject):
3572         (JSUserObject::CopyPropertyNames):
3573         (JSUserObject::CopyProperty):
3574         (JSUserObject::SetProperty):
3575         (JSUserObject::ImplementsCall):
3576         (JSUserObject::CallFunction):
3577         (JSUserObject::CopyCFValue):
3578         (JSUserObject::Equal):
3579         (JSUserObject::Mark):
3580         (JSUserObject::GetData):
3581         * JSObject.h: Added.
3582         (JSUserObject::DataType):
3583         * JSRun.cpp: Added.
3584         (JSRun::JSRun):
3585         (JSRun::~JSRun):
3586         (JSRun::Flags):
3587         (JSRun::GetSource):
3588         (JSRun::GlobalObject):
3589         (JSRun::GetInterpreter):
3590         (JSRun::Evaluate):
3591         (JSRun::CheckSyntax):
3592         * JSRun.h: Added.
3593         (JSInterpreter::JSInterpreter):
3594         (JSInterpreter::JSInterpreter::~JSInterpreter):
3595         (JSInterpreter::Flags):
3596         * JSUtils.cpp: Added.
3597         (CFStringToUString):
3598         (UStringToCFString):
3599         (CFStr