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