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