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