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