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