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