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