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