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