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