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