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