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