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