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