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