• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
12010-02-09  Alexey Proskuryakov  <ap@apple.com>
2
3        Reviewed by Geoffrey Garen.
4
5        https://bugs.webkit.org/show_bug.cgi?id=34490
6        WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions
7
8        * ForwardingHeaders/wtf/ValueCheck.h: Added.
9
102010-02-04  Mark Rowe  <mrowe@apple.com>
11
12        Reviewed by Timothy Hatcher.
13
14        Build fix.  Remove a symbol corresponding to an inline function from the linker export
15        file to prevent a weak external failure.
16
17        * JavaScriptGlue.xcodeproj/project.pbxproj: Accommodate rename of script.
18
192010-01-28  Oliver Hunt  <oliver@apple.com>
20
21        Reviewed by Gavin Barraclough.
22
23        Simplify anonymous slot implementation
24        https://bugs.webkit.org/show_bug.cgi?id=34282
25
26        Update JSGlue Structure usage to pass the anonymous slot count.
27
28        * UserObjectImp.h:
29        (UserObjectImp::createStructure):
30
312010-01-12  Kent Hansen  <kent.hansen@nokia.com>
32
33        Reviewed by Geoffrey Garen.
34
35        [ES5] Implement Object.getOwnPropertyNames
36        https://bugs.webkit.org/show_bug.cgi?id=32242
37
38        Add new argument to the reimplementation of getOwnPropertyNames().
39
40        * UserObjectImp.cpp:
41        (UserObjectImp::getOwnPropertyNames):
42        * UserObjectImp.h:
43
442010-01-07  Alexey Proskuryakov  <ap@apple.com>
45
46        Mac build fix.
47
48        * config.h: Define JS_EXPORTCLASS for JavaScriptGlue.
49
502010-01-05  Gavin Barraclough  <barraclough@apple.com>
51
52        Reviewed by Sam Weinig.
53
54        https://bugs.webkit.org/show_bug.cgi?id=33236
55        Remove m_identifierTable pointer from UString
56
57        Add API shims similar to those used in the JSC API to track the current identifierTable.
58
59        * JSBase.cpp:
60        (JSBase::Release):
61        * JSUtils.cpp:
62        (JSObjectKJSValue):
63        (KJSValueToCFTypeInternal):
64        (unprotectGlobalObject):
65        (JSGlueAPIEntry::JSGlueAPIEntry):
66        (JSGlueAPIEntry::~JSGlueAPIEntry):
67        (JSGlueAPICallback::JSGlueAPICallback):
68        (JSGlueAPICallback::~JSGlueAPICallback):
69        * JSUtils.h:
70        * JSValueWrapper.cpp:
71        (JSValueWrapper::JSObjectCopyPropertyNames):
72        (JSValueWrapper::JSObjectCopyProperty):
73        (JSValueWrapper::JSObjectSetProperty):
74        (JSValueWrapper::JSObjectCallFunction):
75        (JSValueWrapper::JSObjectCopyCFValue):
76        * JavaScriptGlue.cpp:
77        (JSRunCreate):
78        (JSRunEvaluate):
79        (JSRunCheckSyntax):
80        (JSCollect):
81        * JavaScriptGlue.xcodeproj/project.pbxproj:
82        * UserObjectImp.cpp:
83        (UserObjectImp::callAsFunction):
84
852010-01-04  Gavin Barraclough <barraclough@apple.com>
86
87        Reviewed by Sam Weinig.
88
89        Add a forwarding header so that StringHashFunctions.h can be found.
90
91        * ForwardingHeaders/wtf/StringHashFunctions.h: Added.
92
932010-01-04  Dan Bernstein  <mitz@apple.com>
94
95        Reviewed by Ada Chan and Mark Rowe.
96
97        Updated copyright string
98
99        * Info.plist:
100
1012009-12-21  Gavin Barraclough  <barraclough@apple.com>
102
103        Reviewed by Darin Adler.
104
105        https://bugs.webkit.org/show_bug.cgi?id=32831
106        Replace UString::Rep implementation, following introduction of ropes to JSC.
107
108        * ForwardingHeaders/wtf/PossiblyNull.h: Added.
109            - add forwarding header.
110
1112009-12-16  Mark Rowe  <mrowe@apple.com>
112
113        Build fix.  Disable debug variants of WebKit frameworks.
114
115        * JavaScriptGlue.xcodeproj/project.pbxproj:
116
1172009-12-13  Geoffrey Garen  <ggaren@apple.com>
118
119        Reviewed by Sam Weinig.
120
121        Changed GC from mark-sweep to mark-allocate.
122
123        * JavaScriptGlue.cpp:
124        (JSCollect): Updated for rename. Fixed a bug where JSGlue would not check
125        to avoid nested GC calls.
126
1272009-12-08  Dmitry Titov  <dimich@chromium.org>
128
129        Rubber-stamped by David Levin.
130
131        Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread."
132        It may have caused massive increase of reported leaks on the bots.
133        https://bugs.webkit.org/show_bug.cgi?id=31639
134
135        * ForwardingHeaders/wtf/ThreadVerifier.h: Removed.
136
1372009-12-08  Dmitry Titov  <dimich@chromium.org>
138
139        Reviewed by Darin Adler.
140
141        Add asserts to RefCounted to make sure ref/deref happens on the right thread.
142        https://bugs.webkit.org/show_bug.cgi?id=31639
143
144        * ForwardingHeaders/wtf/ThreadVerifier.h: Added.
145
1462009-11-24  Mark Rowe  <mrowe@apple.com>
147
148        Fix production builds where the source tree may be read-only.
149
150        * JavaScriptGlue.xcodeproj/project.pbxproj:
151
1522009-11-08  David Levin  <levin@chromium.org>
153
154        Reviewed by NOBODY (chromium build fix).
155
156        Added the use jsc define for files that use
157        this config file and DateMath.h. This should
158        be able to go away when DateMath is properly
159        split into wtf and jsc portions which is this bug:
160        https://bugs.webkit.org/show_bug.cgi?id=31246
161
162        * config.h:
163
1642009-11-06  Geoffrey Garen  <ggaren@apple.com>
165
166        Reviewed by Oliver Hunt.
167
168        https://bugs.webkit.org/show_bug.cgi?id=31197
169        Implemented a timezone cache not based on Mac OS X's notify_check API.
170
171        * ForwardingHeaders/wtf/CurrentTime.h: Added.
172
1732009-10-27  Geoffrey Garen  <ggaren@apple.com>
174
175        Build fix: Updated for JavaScriptCore export changes.
176
177        * ForwardingHeaders/wtf/DateInstanceCache.h: Added.
178
1792009-10-27  Geoffrey Garen  <ggaren@apple.com>
180
181        Reviewed by Oliver Hunt.
182
183        Updated for JavaScriptCore export changes.
184
185        * ForwardingHeaders/wtf/DateMath.h: Added.
186
1872009-10-27  Dan Bernstein  <mitz@apple.com>
188
189        Reviewed by Darin Adler.
190
191        Updated license
192
193        * LICENSE:
194
1952009-10-16  Oliver Hunt  <oliver@apple.com>
196
197        Reviewed by Gavin Barraclough.
198
199        Make typeinfo flags default to false
200        https://bugs.webkit.org/show_bug.cgi?id=30372
201
202        Last part -- replace HasDefaultGetPropertyNames with OverridesGetPropertyNames
203        flag.
204
205        * UserObjectImp.h:
206        (UserObjectImp::createStructure):
207
2082009-10-15  Oliver Hunt  <oliver@apple.com>
209
210        Reviewed by Darin Adler.
211
212        Make typeinfo flags default to false
213        https://bugs.webkit.org/show_bug.cgi?id=30372
214
215        Part 2 -- Reverse the TypeInfo HasDefaultMark flag to OverridesMarkChildren, etc
216
217        * UserObjectImp.h:
218        (UserObjectImp::createStructure):
219
2202009-10-14  Oliver Hunt  <oliver@apple.com>
221
222        Reviewed by Geoff Garen.
223
224        Make typeinfo flags default to false
225        https://bugs.webkit.org/show_bug.cgi?id=30372
226
227        Part 1. Reverse the HasStandardGetOwnPropertySlot flag.
228
229        * UserObjectImp.h:
230        (UserObjectImp::createStructure):
231
2322009-09-28  Geoffrey Garen  <ggaren@apple.com>
233
234        Reviewed by Sam Weinig.
235
236        Removed virtual destructor from JSGlobalObjectData to eliminate pointer
237        fix-ups when accessing JSGlobalObject::d.
238
239        Replaced with an explicit destructor function pointer.
240
241        * JSRun.cpp:
242        (JSGlueGlobalObject::destroyData):
243        * JSRun.h:
244        (JSGlueGlobalObject::Data::Data):
245
2462009-09-12  Oliver Hunt  <oliver@apple.com>
247
248        Reviewed by Maciej Stachowiak.
249
250        [ES5] Implement Object.keys
251        https://bugs.webkit.org/show_bug.cgi?id=29170
252
253        Switch over to getOwnPropertyNames instead of getPropertyNames.
254
255        * UserObjectImp.cpp:
256        (UserObjectImp::getOwnPropertyNames):
257        * UserObjectImp.h:
258
2592009-09-02  Darin Adler  <darin@apple.com>
260
261        Reviewed by Geoff Garen.
262
263        * JSValueWrapper.cpp:
264        (JSValueWrapper::JSObjectMark): Removed a check of the mark
265        bit. It's OK to do more work in this case, and there is no
266        longer a public function to access the mark bit.
267
2682009-08-14  Darin Adler  <darin@apple.com>
269
270        Reviewed by Sam Weinig.
271
272        Rename the confusing isObject(<class>) to inherits(<class>).
273        It still works on non-objects, returning false.
274
275        * JSUtils.cpp:
276        (KJSValueToJSObject):
277        (KJSValueToCFTypeInternal):
278        Changed from isObject to inherits.
279
2802009-08-13  Oliver Hunt  <oliver@apple.com>
281
282        Reviewed by Maciej Stachowiak.
283
284        Devirtualise marking
285        https://bugs.webkit.org/show_bug.cgi?id=28294
286
287        Continue to jump through hoops to deal with the exposed marking routines
288        in JavaScriptGlue.
289
290        * JSValueWrapper.cpp:
291        (JSValueWrapper::JSObjectMark):
292
2932009-08-07  Oliver Hunt  <oliver@apple.com>
294
295        Reviewed by Sam Weinig.
296
297        Stack overflow crash in JavaScript garbage collector mark pass
298        https://bugs.webkit.org/show_bug.cgi?id=12216
299
300        Make JSGlue interact with the new iterative mark logic.
301
302        * JSValueWrapper.cpp:
303        (JSValueWrapper::JSObjectMark):
304          Unfortunately JSGlue exposes recursive marking so we can only flatten
305          the recursion.  We just create a local mark stack if necessary and mark
306          the given object iteratively from this point.
307        * UserObjectImp.cpp:
308        (UserObjectImp::markChildren):
309        * UserObjectImp.h:
310
3112009-08-06  Mark Rowe  <mrowe@apple.com>
312
313        Rubber-stamped by Sam Weinig.
314
315        Add explicit dependencies for our build verification scripts to ensure that they always run after linking has completed.
316
317        * JavaScriptGlue.xcodeproj/project.pbxproj:
318
3192009-07-27  Alexey Proskuryakov  <ap@webkit.org>
320
321        Reviewed by Darin Adler.
322
323        https://bugs.webkit.org/show_bug.cgi?id=27735
324        Give a helpful name to JSLock constructor argument
325
326        * JSBase.cpp:
327        (JSBase::Release):
328        * JSUtils.cpp:
329        (JSObjectKJSValue):
330        (KJSValueToCFTypeInternal):
331        (unprotectGlobalObject):
332        * JSValueWrapper.cpp:
333        (JSValueWrapper::JSObjectCopyPropertyNames):
334        (JSValueWrapper::JSObjectCopyProperty):
335        (JSValueWrapper::JSObjectSetProperty):
336        (JSValueWrapper::JSObjectCallFunction):
337        (JSValueWrapper::JSObjectCopyCFValue):
338        * JavaScriptGlue.cpp:
339        (JSRunCreate):
340        (JSRunEvaluate):
341        (JSRunCheckSyntax):
342        (JSCollect):
343        (JSLockInterpreter):
344        (JSUnlockInterpreter):
345
3462009-07-10  Adam Roben  <aroben@apple.com>
347
348        Sort all our Xcode projects
349
350        Accomplished using sort-Xcode-project-file.
351
352        Requested by Dave Kilzer.
353
354        * JavaScriptGlue.xcodeproj/project.pbxproj:
355
3562009-07-08  Darin Adler  <darin@apple.com>
357
358        Reviewed by Dan Bernstein
359
360        - fix <rdar://problem/6971484> REGRESSION (r30534): "Scrolling Credits"
361          effect does not scroll on iMovie 7.1.4 on Tiger
362
363        In <http://trac.webkit.org/changeset/30534>, the prototype of
364        JSObject::put() which UserObjectImp had been overriding changed, but
365        UserObjectImp wasn't updated, so its override was no longer getting
366        called after that.
367
368        * UserObjectImp.cpp:
369        (UserObjectImp::put): Match the current prototype of JSObject::put().
370        The PutPropertySlot argument is unused.
371        * UserObjectImp.h: Ditto.
372
3732009-06-19  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
374
375        Reviewed by Darin Adler.
376
377        Add FastAllocBase.h to JavaScriptGlue's ForwardingHeaders/wtf, because it's needed by HashCountedSet.h on MAC.
378
379        * ForwardingHeaders/wtf/FastAllocBase.h: Added.
380
3812009-06-02  Mark Rowe  <mrowe@apple.com>
382
383        Reviewed by Anders Carlsson.
384
385        Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds.
386
387        * Configurations/Base.xcconfig:
388
3892009-05-25  David Levin  <levin@chromium.org>
390
391        Reviewed by Maciej Stachowiak and Oliver Hunt.
392
393        https://bugs.webkit.org/show_bug.cgi?id=25126
394
395        Added forwarding headers.
396
397        * ForwardingHeaders/wtf/CrossThreadRefCounted.h: Added.
398        * ForwardingHeaders/wtf/OwnFastMallocPtr.h: Added.
399
4002009-05-23  David Kilzer  <ddkilzer@apple.com>
401
402        Part 1 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
403
404        <https://bugs.webkit.org/show_bug.cgi?id=25495>
405
406        Reviewed by Oliver Hunt.
407
408        * ForwardingHeaders/wtf/OwnPtrCommon.h: Added.
409        * ForwardingHeaders/wtf/PassOwnPtr.h: Added.
410
4112009-05-14  Mark Rowe  <mrowe@apple.com>
412
413        Rubber-stamped by Darin Adler.
414
415        <rdar://problem/6681868> When building with Xcode 3.1.3 should be using gcc 4.2
416
417        The meaning of XCODE_VERSION_ACTUAL is more sensible in newer versions of Xcode.
418        Update our logic to select the compiler version to use the more appropriate XCODE_VERSION_MINOR
419        if the version of Xcode supports it, and fall back to XCODE_VERSION_ACTUAL if not.
420
421        * Configurations/Base.xcconfig:
422
4232009-05-07  Oliver Hunt  <oliver@apple.com>
424
425        Reviewed by Gavin Barraclough.
426
427        Add calling convention annotation
428
429        * JSObject.cpp:
430
4312009-05-01  Geoffrey Garen  <ggaren@apple.com>
432
433        Rubber Stamped by Sam Weinig.
434
435        Renamed JSValuePtr => JSValue.
436
437        * JSObject.cpp:
438        (nativeCallFunction):
439        * JSUtils.cpp:
440        (KJSValueToJSObject):
441        (JSObjectKJSValue):
442        (KJSValueToCFTypeInternal):
443        (KJSValueToCFType):
444        * JSUtils.h:
445        * JSValueWrapper.cpp:
446        (JSValueWrapper::JSValueWrapper):
447        (JSValueWrapper::GetValue):
448        (JSValueWrapper::JSObjectCopyProperty):
449        (JSValueWrapper::JSObjectSetProperty):
450        (JSValueWrapper::JSObjectCallFunction):
451        * JSValueWrapper.h:
452        * UserObjectImp.cpp:
453        (UserObjectImp::callAsFunction):
454        (UserObjectImp::userObjectGetter):
455        (UserObjectImp::getOwnPropertySlot):
456        (UserObjectImp::put):
457        (UserObjectImp::toPrimitive):
458        * UserObjectImp.h:
459        (UserObjectImp::createStructure):
460
4612009-04-29  Oliver Hunt  <oliver@apple.com>
462
463        Reviewed by Gavin Barraclough.
464
465        Clean up ArgList to be a trivial type
466
467        Start using MarkedArgumentBuffer to create argument lists for function calls
468
469        * JSValueWrapper.cpp:
470        (JSValueWrapper::JSObjectCallFunction):
471
4722009-04-28  Geoffrey Garen  <ggaren@apple.com>
473
474        Rubber stamped by Beth Dakin.
475
476        Missed one.
477
478        * UserObjectImp.cpp:
479        (UserObjectImp::callAsFunction):
480
4812009-04-21  Geoffrey Garen  <ggaren@apple.com>
482
483        Reviewed by Mark Rowe.
484
485        Tiger crash fix: Put VM tags in their own header file, and fixed up the
486        #ifdefs so they're not used on Tiger.
487
488        * ForwardingHeaders/wtf/VMTags.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/HashTraits.h.
489
4902009-04-20  Sam Weinig  <sam@webkit.org>
491
492        Rubber-stamped by Tim Hatcher.
493
494        Add licenses for xcconfig files.
495
496        * Configurations/Base.xcconfig:
497        * Configurations/DebugRelease.xcconfig:
498        * Configurations/JavaScriptGlue.xcconfig:
499        * Configurations/Version.xcconfig:
500
5012009-03-13  Mark Rowe  <mrowe@apple.com>
502
503        Rubber-stamped by Dan Bernstein.
504
505        Take advantage of the ability of recent versions of Xcode to easily switch the active
506        architecture.
507
508        * Configurations/DebugRelease.xcconfig:
509
5102009-02-24  Mark Rowe  <mrowe@apple.com>
511
512        Rubber-stamped by Dan Bernstein.
513
514        <rdar://problem/6407844> JavaScriptGlue should use -Os rather than -O2
515
516        * Configurations/Base.xcconfig:
517
5182009-01-28  Sam Weinig  <sam@webkit.org>
519
520        Reviewed by Gavin Barraclough.
521
522        Fix for <rdar://problem/6525537>
523        Hang occurs when closing Installer window (iTunes, Aperture)
524
525        * JSUtils.cpp:
526        (getThreadGlobalObject): Use the shared JSGlobalData instance.
527
5282009-01-22  Mark Rowe  <mrowe@apple.com>
529
530        Rubber-stamped by Anders Carlsson.
531
532        Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily.
533
534        Current versions of Xcode only respect it for C and Objective-C files,
535        and our code doesn't currently compile if it is applied to C++ and
536        Objective-C++ files.
537
538        * Configurations/Base.xcconfig:
539
5402009-01-19  Sam Weinig  <sam@webkit.org>
541
542        Rubber-stamped by Gavin Barraclough.
543
544        Remove temporary operator-> from JSValuePtr.
545
546        * JSUtils.cpp:
547        (KJSValueToJSObject):
548        (KJSValueToCFTypeInternal):
549        * JSValueWrapper.cpp:
550        (JSValueWrapper::JSObjectCopyPropertyNames):
551        (JSValueWrapper::JSObjectCopyProperty):
552        (JSValueWrapper::JSObjectSetProperty):
553        (JSValueWrapper::JSObjectCallFunction):
554        (JSValueWrapper::JSObjectMark):
555        * UserObjectImp.cpp:
556        (UserObjectImp::getOwnPropertySlot):
557
5582009-01-14  Dan Bernstein  <mitz@apple.com>
559
560        Reviewed by John Sullivan.
561
562        - update copyright
563
564        * Info.plist:
565
5662009-01-09  David Levin  <levin@chromium.org>
567
568        Reviewed by Oliver Hunt.
569
570        https://bugs.webkit.org/show_bug.cgi?id=23175
571
572        Added forwarding header.
573
574        * ForwardingHeaders/wtf/PtrAndFlags.h: Added.
575
5762009-01-05  Gavin Barraclough  <baraclough@apple.com>
577
578        Rubber Stamped by Oliver Hunt.
579
580        Replace all uses of JSValue* with new wrapper class, JSValuePtr.
581        See JavaScriptCore/ChangeLog for more detailed description.
582
583        * JSObject.cpp:
584        (nativeCallFunction):
585        * JSUtils.cpp:
586        (KJSValueToJSObject):
587        (JSObjectKJSValue):
588        (KJSValueToCFTypeInternal):
589        (KJSValueToCFType):
590        * JSUtils.h:
591        * JSValueWrapper.cpp:
592        (JSValueWrapper::JSValueWrapper):
593        (JSValueWrapper::GetValue):
594        (JSValueWrapper::JSObjectCopyProperty):
595        (JSValueWrapper::JSObjectSetProperty):
596        (JSValueWrapper::JSObjectCallFunction):
597        * JSValueWrapper.h:
598        * UserObjectImp.cpp:
599        (UserObjectImp::callAsFunction):
600        (UserObjectImp::userObjectGetter):
601        (UserObjectImp::getOwnPropertySlot):
602        (UserObjectImp::put):
603        (UserObjectImp::toPrimitive):
604        * UserObjectImp.h:
605        (UserObjectImp::createStructure):
606
6072008-12-15  Mark Rowe  <mrowe@apple.com>
608
609        Rubber-stamped by Cameron Zwarich.
610
611        <rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on Leopard.
612
613        * Configurations/Base.xcconfig:
614        * Configurations/DebugRelease.xcconfig:
615
6162008-12-08  David Kilzer  <ddkilzer@apple.com>
617
618        Bug 22555: Sort "children" sections in Xcode project files
619
620        <https://bugs.webkit.org/show_bug.cgi?id=22555>
621
622        Reviewed by Eric Seidel.
623
624        * JavaScriptGlue.xcodeproj/project.pbxproj: Sorted.
625
6262008-11-17  Geoffrey Garen  <ggaren@apple.com>
627
628        Reviewed by Sam Weinig.
629
630        Updated for JavaScriptCore rename.
631
632        * ForwardingHeaders/runtime/CallFrame.h: Copied from JavaScriptGlue/ForwardingHeaders/runtime/ExecState.h.
633        * ForwardingHeaders/runtime/ExecState.h: Removed.
634        * config.h:
635
6362008-11-17  Geoffrey Garen  <ggaren@apple.com>
637
638        Reviewed by Sam Weinig.
639
640        Updated for JavaScriptCore rename.
641
642        * ForwardingHeaders/interpreter: Added.
643        * ForwardingHeaders/interpreter/CallFrame.h: Copied from ForwardingHeaders/runtime/ExecState.h.
644        * ForwardingHeaders/runtime/ExecState.h: Removed.
645
6462008-11-15  Darin Adler  <darin@apple.com>
647
648        Rubber stamped by Geoff Garen.
649
650        - do the long-planned StructureID -> Structure rename
651
652        * JSRun.cpp:
653        (JSGlueGlobalObject::JSGlueGlobalObject):
654        (JSRun::JSRun):
655        * JSRun.h:
656        (JSGlueGlobalObject::userObjectStructure):
657        * JSUtils.cpp:
658        (getThreadGlobalObject):
659        * UserObjectImp.cpp:
660        (UserObjectImp::UserObjectImp):
661        * UserObjectImp.h:
662        (UserObjectImp::createStructure):
663
6642008-11-15  Geoffrey Garen  <ggaren@apple.com>
665
666        Reviewed by Sam Weinig.
667
668        Updated for JavaScriptCore renames.
669
670        * JSRun.cpp:
671        (JSRun::Evaluate):
672        (JSRun::CheckSyntax):
673
6742008-11-05  Cameron Zwarich  <zwarich@apple.com>
675
676        Not reviewed.
677
678        Fix the JavaScriptGlue build. This wouldn't show up unless one was
679        doing a clean build, because changes in JavaScriptCore don't cause
680        anything in JavaScriptGlue to get rebuilt.
681
682        * JSRun.cpp:
683        * JSUtils.h:
684        * JavaScriptGlue.cpp:
685
6862008-11-04  Cameron Zwarich  <zwarich@apple.com>
687
688        Reviewed by Mark Rowe.
689
690        Remove JavaScriptGlue forwarding headers that are no longer necessary,
691        and correct the path of the ExecState.h forwarding header.
692
693        * ForwardingHeaders/kjs: Removed.
694        * ForwardingHeaders/kjs/CTI.h: Removed.
695        * ForwardingHeaders/kjs/ExecState.h: Removed.
696        * ForwardingHeaders/kjs/JSValue.h: Removed.
697        * ForwardingHeaders/kjs/PutPropertySlot.h: Removed.
698        * ForwardingHeaders/kjs/ustring.h: Removed.
699        * ForwardingHeaders/runtime: Added.
700        * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
701        * config.h:
702
7032008-10-31  Stephanie Lewis  <slewis@apple.com>
704
705        Fix build by including right files.
706
707        * JSRun.cpp:
708
7092008-10-30  Mark Rowe  <mrowe@apple.com>
710
711        Reviewed by Jon Homeycutt.
712
713        Explicitly default to building for only the native architecture in debug and release builds.
714
715        * Configurations/DebugRelease.xcconfig:
716
7172008-10-24  Darin Adler  <darin@apple.com>
718
719        - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
720
721        * JSObject.cpp:
722        (nativeCallFunction):
723        * JSUtils.cpp:
724        (KJSValueToJSObject):
725        (JSObjectKJSValue):
726        (KJSValueToCFTypeInternal):
727        (KJSValueToCFType):
728        * JSUtils.h:
729        * JSValueWrapper.cpp:
730        (JSValueWrapper::JSValueWrapper):
731        (JSValueWrapper::GetValue):
732        (JSValueWrapper::JSObjectCopyProperty):
733        (JSValueWrapper::JSObjectSetProperty):
734        (JSValueWrapper::JSObjectCallFunction):
735        * JSValueWrapper.h:
736        * UserObjectImp.cpp:
737        (UserObjectImp::callAsFunction):
738        (UserObjectImp::userObjectGetter):
739        (UserObjectImp::getOwnPropertySlot):
740        (UserObjectImp::put):
741        (UserObjectImp::toPrimitive):
742        * UserObjectImp.h:
743        (UserObjectImp::createStructureID):
744        Use JSValue* instead of JSValuePtr.
745
7462008-10-23  Darin Adler  <darin@apple.com>
747
748        - roll out https://bugs.webkit.org/show_bug.cgi?id=21732
749
750        * JSValueWrapper.cpp:
751        (JSValueWrapper::GetValue): Added missing call to .get().
752        * JSValueWrapper.h: ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.
753
7542008-10-22  Darin Adler  <darin@apple.com>
755
756        Reviewed by Sam Weinig.
757
758        - fix https://bugs.webkit.org/show_bug.cgi?id=21294
759          Bug 21294: Devirtualize getOwnPropertySlot()
760
761        * JSRun.cpp:
762        (JSGlueGlobalObject::JSGlueGlobalObject): Moved constructor here.
763        Set up flags in its new location in global object data, and set up
764        a structure for UserObjectImp too.
765        (JSRun::JSRun): Added code to give the JSGlueGlobalObject its own unique
766        structure, rather than using the default one from JSGlobalObject.
767
768        * JSRun.h: Made JSGlueGlobalObject take a structure ID. Also moved
769        the data into a separate data object. And added userObjectStructure,
770        a Structure to be used by UserObjectImp.
771
772        * JSUtils.cpp: Removed unused sharedGlobalData global.
773        (JSObjectKJSValue): Pass Structure in when creating UserObjectImp.
774        (unprotectGlobalObject): Use JSGlueGLobalObject type specifically.
775        (initializeGlobalObjectKey): Removed code to set up unused sharedGlobalData.
776        (getThreadGlobalObject): Added. Shared by JSObjectKJSValue and
777        getThreadGlobalExecState. Also now passes in a structure ID when creating
778        the global object.
779        (getThreadGlobalExecState): Changed to call getThreadGlobalObject.
780
781        * UserObjectImp.cpp:
782        (UserObjectImp::UserObjectImp): Changed to take a structure.
783        * UserObjectImp.h:
784        (UserObjectImp::createStructureID): Added. Returns a structure without
785        HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
786
7872008-10-20  Sam Weinig  <sam@webkit.org>
788
789        Reviewed by Cameron Zwarich.
790
791        Fix for https://bugs.webkit.org/show_bug.cgi?id=21766
792        REGRESSION: 12 JSC tests fail
793
794        The JSGlobalObject constructor no longer takes a JSGlobalData
795        as an argument.
796
797        * JSRun.cpp:
798        (JSRun::JSRun):
799        * JSRun.h:
800        (JSGlueGlobalObject::JSGlueGlobalObject):
801        * JSUtils.cpp:
802        (getThreadGlobalExecState):
803
8042008-10-19  Darin Adler  <darin@apple.com>
805
806        Reviewed by Oliver Hunt.
807
808        - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
809          improve performance by eliminating JSValue as a base class for JSCell
810
811        Remove most uses of JSValue, which will be removed in a future patch.
812
813        * JSValueWrapper.h: Use JSValuePtr instead of JSValue*.
814
8152008-10-18  Darin Adler  <darin@apple.com>
816
817        Reviewed by Oliver Hunt.
818
819        - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
820          improve performance by eliminating JSValue as a base class for JSCell
821
822        Tweak a little more to get closer to where we can make JSValuePtr a class.
823
824        * JSObject.cpp:
825        (nativeCallFunction): Call asObject.
826
827        * JSUtils.cpp:
828        (KJSValueToJSObject): Use JSValuePtr and asObject.
829        (JSObjectKJSValue): Ditto.
830        (KJSValueToCFTypeInternal): Ditto.
831        (KJSValueToCFType): Ditto.
832        * JSUtils.h: Ditto.
833
834        * UserObjectImp.cpp:
835        (UserObjectImp::callAsFunction): Use JSValuePtr and asObject.
836        (UserObjectImp::userObjectGetter): Ditto.
837        (UserObjectImp::getOwnPropertySlot): Ditto.
838        (UserObjectImp::put): Ditto.
839        (UserObjectImp::toPrimitive): Ditto.
840        * UserObjectImp.h: Ditto.
841
8422008-10-18  Darin Adler  <darin@apple.com>
843
844        Reviewed by Cameron Zwarich.
845
846        - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
847          improve performance by eliminating JSValue as a base class for JSCell
848
849        Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
850        changing JSValuePtr to be a class, and then eventually renaming it
851        to JSValue once that's done.
852
853        * JSObject.cpp:
854        * JSValueWrapper.cpp:
855        * UserObjectImp.cpp:
856        * UserObjectImp.h:
857        Replace JSValue* with JSValuePtr.
858
8592008-10-13  Maciej Stachowiak  <mjs@apple.com>
860
861        Rubber stamped by Mark Rowe.
862
863        - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
864
865        * Configurations/DebugRelease.xcconfig:
866
8672008-10-06  Maciej Stachowiak  <mjs@apple.com>
868
869        Not reviewed. Build fix.
870
871        - revert toBoolean changes (r37333 and r37335); need to make WebCore work with these
872
873        * JSUtils.cpp:
874        (KJSValueToCFTypeInternal):
875
8762008-10-06  Maciej Stachowiak  <mjs@apple.com>
877
878        Not reviewed.
879
880        - fix build; toBoolean no longer takes an ExecState
881
882        * JSUtils.cpp:
883        (KJSValueToCFTypeInternal):
884
8852008-10-04  Mark Rowe  <mrowe@apple.com>
886
887        Reviewed by Tim Hatcher.
888
889        Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
890
891        * JavaScriptGlue.xcodeproj/project.pbxproj:
892
8932008-10-01  Geoffrey Garen  <ggaren@apple.com>
894
895        Reviewed by Darin Adler and Cameron Zwarich.
896
897        * JSRun.cpp:
898        (JSRun::Evaluate):
899        (JSRun::CheckSyntax): Provide a SourceCode to the Interpreter, since
900        other APIs are no longer supported.
901
9022008-09-29  Geoffrey Garen  <ggaren@apple.com>
903
904        Not reviewed.
905
906        Forwarding headers to fix the build.
907
908        * ForwardingHeaders/kjs/CTI.h: Copied from ForwardingHeaders/kjs/ExecState.h.
909        * ForwardingHeaders/kjs/ustring.h: Copied from ForwardingHeaders/kjs/ExecState.h.
910        * ForwardingHeaders/masm: Added.
911        * ForwardingHeaders/masm/X86Assembler.h: Added.
912        * ForwardingHeaders/profiler: Added.
913        * ForwardingHeaders/profiler/Profiler.h: Added.
914
9152008-09-08  Sam Weinig  <sam@webkit.org>
916
917        Reviewed by Maciej Stachowiak and Oliver Hunt.
918
919        Add forwarding headers.
920
921        * ForwardingHeaders/wtf/HashFunctions.h: Added.
922        * ForwardingHeaders/wtf/HashTraits.h: Added.
923
9242008-09-02  Geoffrey Garen  <ggaren@apple.com>
925
926        Reviewed by Sam Weinig.
927
928        Implemented the rest of Darin's review comments for the 09-01 inline
929        caching patch.
930
931        * ForwardingHeaders/kjs/PutPropertySlot.h: Added.
932
9332008-09-01  Geoffrey Garen  <ggaren@apple.com>
934
935        Reviewed by Darin Adler.
936
937        First cut at inline caching for access to vanilla JavaScript properties.
938
939        Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
940        to JavaScriptGlue classes, and PutPropertySlot& arguments to put functions.
941
9422008-08-22  Anders Carlsson  <andersca@apple.com>
943
944        Fix build for real this time.
945
946        * UserObjectImp.h:
947
9482008-08-22  Anders Carlsson  <andersca@apple.com>
949
950        Fix build.
951
952        * UserObjectImp.cpp:
953        (UserObjectImp::toPrimitive):
954        * UserObjectImp.h:
955
9562008-08-19  Alexey Proskuryakov  <ap@webkit.org>
957
958        Reviewed by Geoff Garen.
959
960        Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
961
962        * JSBase.cpp:
963        (JSBase::Release):
964        * JSUtils.cpp:
965        (JSObjectKJSValue):
966        (KJSValueToCFTypeInternal):
967        (unprotectGlobalObject):
968        * JSUtils.h:
969        * JSValueWrapper.cpp:
970        (JSValueWrapper::JSObjectCopyPropertyNames):
971        (JSValueWrapper::JSObjectCopyProperty):
972        (JSValueWrapper::JSObjectSetProperty):
973        (JSValueWrapper::JSObjectCallFunction):
974        (JSValueWrapper::JSObjectCopyCFValue):
975        * JavaScriptGlue.cpp:
976        (JSRunCreate):
977        (JSRunEvaluate):
978        (JSRunCheckSyntax):
979        (JSCollect):
980        (JSLockInterpreter):
981        (JSUnlockInterpreter):
982        * UserObjectImp.cpp:
983        (UserObjectImp::callAsFunction):
984
9852008-08-12  Darin Adler  <darin@apple.com>
986
987        Reviewed by Geoff.
988
989        - eliminate JSValue::type()
990
991        * JSUtils.cpp:
992        (KJSValueToCFTypeInternal): Replaced uses of JSValue::type() with
993        JSValue::is functions.
994        * UserObjectImp.cpp:
995        (UserObjectImp::getOwnPropertySlot): Ditto.
996        (UserObjectImp::toPrimitive): Take PreferredPrimitiveType argument
997        instead of JSType argument.
998        * UserObjectImp.h: Ditto.
999
10002008-08-17  Geoffrey Garen  <ggaren@apple.com>
1001
1002        Reviewed by Cameron Zwarich.
1003
1004        Updated project files to XCode 3.1.
1005
1006        * JavaScriptGlue.xcodeproj/project.pbxproj:
1007
10082008-08-15  Mark Rowe  <mrowe@apple.com>
1009
1010        Rubber-stamped by Geoff Garen.
1011
1012        <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
1013
1014        * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
1015        between the Debug configuration and debug Production variant.
1016        * JavaScriptGlue.xcodeproj/project.pbxproj: Enable the debug variant.
1017
10182008-07-31  Alexey Proskuryakov  <ap@webkit.org>
1019
1020        Rubber-stamped by Maciej.
1021
1022        Eliminate JSLock (it was already disabled, removing the stub implementaion and all
1023        call sites now).
1024
1025        * JSBase.cpp:
1026        (JSBase::Release):
1027        * JSUtils.cpp:
1028        (JSObjectKJSValue):
1029        (KJSValueToCFTypeInternal):
1030        (unprotectGlobalObject):
1031        * JSUtils.h:
1032        * JSValueWrapper.cpp:
1033        (JSValueWrapper::JSObjectCopyPropertyNames):
1034        (JSValueWrapper::JSObjectCopyProperty):
1035        (JSValueWrapper::JSObjectSetProperty):
1036        (JSValueWrapper::JSObjectCallFunction):
1037        (JSValueWrapper::JSObjectCopyCFValue):
1038        * JavaScriptGlue.cpp:
1039        (JSRunCreate):
1040        (JSRunEvaluate):
1041        (JSRunCheckSyntax):
1042        (JSCollect):
1043        (JSLockInterpreter):
1044        (JSUnlockInterpreter):
1045        * UserObjectImp.cpp:
1046        (UserObjectImp::callAsFunction):
1047
10482008-07-29  Alexey Proskuryakov  <ap@webkit.org>
1049
1050        Reviewed by Geoff Garen.
1051
1052        Implement JSContextGroup APIs to make concurrent execution possible for
1053        JavaScriptCore clients.
1054
1055        * JSRun.cpp:
1056        (JSRun::JSRun):
1057        * JSUtils.cpp:
1058        (getThreadGlobalExecState):
1059        Changed JavaScriptGlue to use a JSGlobalData of its own, now that there is no shared
1060        instance.
1061
10622008-07-23  Alexey Proskuryakov  <ap@webkit.org>
1063
1064        Reviewed by Geoff Garen.
1065
1066        Make JSClassRef work with any context, not just the first one it was used in.
1067
1068        * ForwardingHeaders/wtf/HashMap.h: Added.
1069
10702008-07-22  Geoffrey Garen  <ggaren@apple.com>
1071
1072        Reviewed by Oliver Hunt and Sam Weinig.
1073
1074        Next step toward putting doubles in registers: Prepare the Register class
1075        and its clients for registers that don't contain JSValue*s.
1076
10772008-07-21  Mark Rowe  <mrowe@apple.com>
1078
1079        Reviewed by Sam Weinig.
1080
1081        <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
1082
1083        * Configurations/Version.xcconfig:
1084        * Info.plist:
1085
10862008-07-18  Geoffrey Garen  <ggaren@apple.com>
1087
1088        Reviewed by Cameron Zwarich.
1089
1090        Three renames:
1091
1092        "CallTypeNative" => "CallTypeHost"
1093        "code" => "byteCode"
1094        "generatedCode" => "generatedByteCode"
1095
1096        * ChangeLog:
1097        * JSObject.cpp:
1098        (JSUserObject::getCallData):
1099
11002008-07-14  Alexey Proskuryakov  <ap@webkit.org>
1101
1102        Reviewed by Geoff Garen.
1103
1104        Eliminate per-thread JavaScript global data instance support and make arbitrary
1105        global data/global object combinations possible.
1106
1107        * ForwardingHeaders/wtf/ThreadSpecific.h: Added.
1108        * JSRun.cpp:
1109        (JSRun::JSRun):
1110        * JSUtils.cpp:
1111        (getThreadGlobalExecState):
1112        Adapt to the new way of asking for shared JSGlobalData.
1113
11142008-07-10  Mark Rowe  <mrowe@apple.com>
1115
1116        Reviewed by Sam Weinig.
1117
1118        Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
1119
1120        * Configurations/JavaScriptGlue.xcconfig:
1121
11222008-07-09  Mark Rowe  <mrowe@apple.com>
1123
1124        Reviewed by Geoff Garen.
1125
1126        Don't warn about deprecated functions in production builds.
1127
1128        * Configurations/Base.xcconfig:
1129        * Configurations/DebugRelease.xcconfig:
1130
11312008-07-08  Alexey Proskuryakov  <ap@webkit.org>
1132
1133        Reviewed by Darin Adler.
1134
1135        <rdar://problem/6058368> REGRESSION: Crash occurs in KJS::Machine after launching
1136        Apple Installer
1137
1138        The problem was that JSUserObject::getCallData() was setting call type to native, but
1139        left callData.native.function uninitialized.
1140
1141        * JSObject.cpp:
1142        (JSUserObject::getCallData): Initialize callData.native.function.
1143        (nativeCallFunction): Call UserObjectImp::callAsFunction().
1144
11452008-07-04  Sam Weinig  <sam@webkit.org>
1146
1147        Rubber-stamped by Dan Bernstein.
1148
1149        * JSObject.h: Rename the header guard as it now conflicts with the
1150        JSObject in JavaScriptCore.
1151
11522008-07-01  Alexey Proskuryakov  <ap@webkit.org>
1153
1154        Reviewed by Darin Adler.
1155
1156        Disable JSLock for per-thread contexts.
1157
1158        * ForwardingHeaders/wtf/Locker.h: Added.
1159        * ForwardingHeaders/wtf/Threading.h: Added.
1160        * JSBase.cpp:
1161        (JSBase::Release):
1162        * JSUtils.cpp:
1163        (JSObjectKJSValue):
1164        (KJSValueToCFTypeInternal):
1165        (unprotectGlobalObject):
1166        * JSUtils.h:
1167        * JSValueWrapper.cpp:
1168        (JSValueWrapper::JSObjectCopyPropertyNames):
1169        (JSValueWrapper::JSObjectCopyProperty):
1170        (JSValueWrapper::JSObjectSetProperty):
1171        (JSValueWrapper::JSObjectCallFunction):
1172        (JSValueWrapper::JSObjectCopyCFValue):
1173        * JavaScriptGlue.cpp:
1174        (JSRunCreate):
1175        (JSRunEvaluate):
1176        (JSRunCheckSyntax):
1177        (JSCollect):
1178        (JSLockInterpreter):
1179        (JSUnlockInterpreter):
1180        * UserObjectImp.cpp:
1181        (UserObjectImp::callAsFunction):
1182        Pass a parameter (always true) to JSLock and JSLock::DropAllLocks to indicate that JSG
1183        clients always need implicit mutex protection.
1184        Added includes that are now needed.
1185
11862008-06-26  Darin Adler  <darin@apple.com>
1187
1188        Reviewed by Geoff.
1189
1190        * JSUtils.cpp: Added include of <JavaScriptCore/JSString.h> since jsString
1191        will soon be changed to return a JSString*.
1192        * UserObjectImp.cpp: Ditto.
1193
11942008-06-23  Darin Adler  <darin@apple.com>
1195
1196        Reviewed by Geoff.
1197
1198        * JSValueWrapper.cpp:
1199        (JSValueWrapper::JSObjectCallFunction): Updated to use getCallData and call instead
1200        of the old callAsFunction.
1201
12022008-06-17  Alexey Proskuryakov  <ap@webkit.org>
1203
1204        Reviewed by Darin Adler.
1205
1206        Prepare JavaScript heap for being per-thread.
1207
1208        * JSRun.cpp: (JSRun::JSRun): Create JSGlueGlobalObject in a shared JS heap.
1209
1210        * JSUtils.h: Made getThreadGlobalExecState available throughout JSGlue.
1211
1212        * JSUtils.cpp:
1213        (JSObjectKJSValue): Pass an ExecState where now required.
1214        (unprotectGlobalObject):
1215        (initializeGlobalObjectKey):
1216        (getThreadGlobalExecState):
1217        Moved these functions from JSValueWrapper.cpp, as the global exec state is now needed
1218        elsewhere. I'm not quite sure how this relates to the global object from JSRun, but
1219        since the new uses are all for Heap access, there doesn't seem to be any behavior change.
1220
1221        * JavaScriptGlue.cpp:
1222        (JSLockInterpreter): Don't call registerThread explicitly, as JSLock will do that.
1223
1224        * UserObjectImp.cpp: (UserObjectImp::toPrimitive): Pass ExecState* where now required.
1225
12262008-06-17  Mark Rowe  <mrowe@apple.com>
1227
1228        Reviewed by Darin Adler.
1229
1230        <rdar://problem/5775802> JavaScriptGlue should not force use of GCC 4.0.
1231
1232        * JavaScriptGlue.xcodeproj/project.pbxproj:
1233
12342008-06-16  Maciej Stachowiak  <mjs@apple.com>
1235
1236        Reviewed by Alexey.
1237
1238        - removed nearly unused types.h and LocalStorageEntry.h headers
1239
1240        * JSUtils.h:
1241
12422008-06-16  Alexey Proskuryakov  <ap@webkit.org>
1243
1244        Reviewed by Geoff Garen.
1245
1246        Make Identifier construction use an explicitly passed IdentifierTable.
1247
1248        * JSUtils.cpp:
1249        (CFStringToIdentifier):
1250        (KJSValueToCFTypeInternal):
1251        * JSUtils.h:
1252        * JSValueWrapper.cpp:
1253        (JSValueWrapper::JSObjectCopyPropertyNames):
1254        (JSValueWrapper::JSObjectCopyProperty):
1255        (JSValueWrapper::JSObjectSetProperty):
1256        * UserObjectImp.cpp:
1257        (UserObjectImp::getPropertyNames):
1258        Pass ExecState or JSGlobalData everywhere.
1259
12602008-06-15  Darin Adler  <darin@apple.com>
1261
1262        - rename KJS::List to KJS::ArgList
1263
1264        * JSValueWrapper.cpp:
1265        (JSValueWrapper::JSObjectCallFunction):
1266        * UserObjectImp.cpp:
1267        (UserObjectImp::callAsFunction):
1268        * UserObjectImp.h:
1269
12702008-06-15  Darin Adler  <darin@apple.com>
1271
1272        - new names for a few key JavaScriptCore files
1273
1274        * ForwardingHeaders/kjs/JSValue.h: Copied from JavaScriptGlue/ForwardingHeaders/kjs/value.h.
1275        * ForwardingHeaders/kjs/value.h: Removed.
1276        * JSUtils.h:
1277
12782008-06-03  Darin Adler  <darin@apple.com>
1279
1280        - update for JavaScriptCore changes for https://bugs.webkit.org/show_bug.cgi?id=19269
1281          speed up SunSpider by eliminating the toObject call for most get/put/delete
1282
1283        * UserObjectImp.cpp:
1284        (UserObjectImp::userObjectGetter): Removed originalObject argument.
1285        * UserObjectImp.h: Ditto.
1286
12872008-06-02  Geoffrey Garen  <ggaren@apple.com>
1288
1289        Reviewed by Alexey Proskuryakov.
1290
1291        Removed JSObject::call, since it just called JSObject::callAsFunction.
1292
1293        SunSpider reports no change.
1294
12952008-05-28  Geoffrey Garen  <ggaren@apple.com>
1296
1297        Reviewed by Oliver Hunt.
1298
1299        Fixed total destruction in Software Update.app.
1300
1301        Updated JavaScriptGlue to honor squirrelfish's new getCallData mechanism for
1302        indicating that an object can be called as a function.
1303
13042008-05-10  Maciej Stachowiak  <mjs@apple.com>
1305
1306        Reviewed by Oliver.
1307
1308        - JavaScriptGlue part of fix for: "SQUIRRELFISH: function toString broken after calling"
1309        https://bugs.webkit.org/show_bug.cgi?id=18869
1310
1311        * JSRun.cpp:
1312        (JSRun::Evaluate): Use UString version of eveluate() instead of
1313        the now departed UChar*/length variant; use of the lower-level
1314        version was gratuitous in any case.
1315        (JSRun::CheckSyntax): Ditto for checkSyntax().
1316
13172008-04-30  Geoffrey Garen  <ggaren@apple.com>
1318
1319        Build fix: supply missing parameter that used to be implicit.
1320
1321        * JSRun.cpp:
1322        (JSRun::Evaluate):
1323
13242008-03-30  Geoffrey Garen  <ggaren@apple.com>
1325
1326        Reviewed by Oliver Hunt.
1327
1328        Build fix.
1329
1330        * ForwardingHeaders/wtf/UnusedParam.h: Copied from ForwardingHeaders/wtf/OwnPtr.h.
1331
13322008-05-12  Alexey Proskuryakov  <ap@webkit.org>
1333
1334        Roll out recent  threading changes (r32807, r32810, r32819, r32822) to simplify
1335        SquirrelFish merging.
1336
1337        * JSUtils.cpp:
1338        (JSObjectKJSValue):
1339        * JSUtils.h:
1340        * JSValueWrapper.cpp:
1341        (unprotectGlobalObject):
1342        (initializeGlobalObjectKey):
1343        (getThreadGlobalExecState):
1344        * JavaScriptGlue.cpp:
1345        (JSCollect):
1346        (JSLockInterpreter):
1347        * UserObjectImp.cpp:
1348        (UserObjectImp::toPrimitive):
1349
13502008-05-02  Alexey Proskuryakov  <ap@webkit.org>
1351
1352        Reviewed by Darin Adler.
1353
1354        Make JavaScriptGlue and JavaScriptCore API functions implicitly call initializeThreading
1355        for the sake of non-WebKit clients.
1356
1357        * JavaScriptGlue.cpp:
1358        (JSRunCreate):
1359        (JSCollect):
1360        (JSCreateJSArrayFromCFArray):
1361        (JSLockInterpreter):
1362        These are all possible JavaScriptGlue entry points.
1363
13642008-05-02  Alexey Proskuryakov  <ap@webkit.org>
1365
1366        Reviewed by Geoffrey Garen.
1367
1368        https://bugs.webkit.org/show_bug.cgi?id=18826
1369        Make JavaScript heap per-thread
1370
1371        * JSValueWrapper.cpp:
1372        * JSUtils.h:
1373        Moved getThreadGlobalExecState() to JSUtils and made it extern, as ExecState is now needed
1374        for all JS allocations.
1375
1376        * JSUtils.cpp:
1377        (JSObjectKJSValue): Pass ExecState to functions that now need it.
1378        (unprotectGlobalObject): Moved from JSValueWrapper.cpp.
1379        (initializeGlobalObjectKey): Ditto.
1380        (getThreadGlobalExecState): Ditto.
1381
1382        * UserObjectImp.cpp: (UserObjectImp::toPrimitive): Pass ExecState to jsString and jsNumber.
1383
1384        * JavaScriptGlue.cpp:
1385        (JSCollect): Use current thread's heap.
1386        (JSLockInterpreter): Removed JSLock::registerThread(), because a JS heap doesn't need to
1387        know about other threads.
1388
13892008-04-25  Alexey Proskuryakov  <ap@webkit.org>
1390
1391        Reviewed by Darin Adler.
1392
1393        Fix run-webkit-tests --threading
1394        and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
1395        Proxy server issue in Sunday's Nightly
1396
1397        * UserObjectImp.cpp: Adjusted for the new member added to ClassInfo.
1398
13992008-04-25  Mark Rowe  <mrowe@apple.com>
1400
1401        Reviewed by Adele Peterson.
1402
1403        <rdar://problem/5891264> Don't install the JavaScriptGlue headers
1404
1405        * JavaScriptGlue.xcodeproj/project.pbxproj:
1406
14072008-04-25  Mark Rowe  <mrowe@apple.com>
1408
1409        Rubber-stamped by Sam Weinig.
1410
1411        Add some content to an empty ICU header file to prevent verification errors.
1412
1413        * icu/unicode/utf_old.h:
1414
14152008-04-02  Mark Rowe  <mrowe@apple.com>
1416
1417        Reviewed by Oliver Hunt.
1418
1419        Ensure that debug symbols are generated for x86_64 and ppc64 builds.
1420
1421        * Configurations/Base.xcconfig:
1422
14232008-03-20  Maciej Stachowiak  <mjs@apple.com>
1424
1425        - fix build
1426
1427        * ForwardingHeaders/wtf/ListRefPtr.h: Added.
1428
14292008-03-01  Mark Rowe  <mrowe@apple.com>
1430
1431        Reviewed by Tim Hatcher.
1432
1433        Update Xcode configuration to support building debug and release from the mysterious future.
1434
1435        * Configurations/Base.xcconfig:
1436        * Configurations/DebugRelease.xcconfig:
1437
14382008-02-29  Geoffrey Garen  <ggaren@apple.com>
1439
1440        Reviewed by David Harrison.
1441
1442        Fixed <rdar://problem/5765063> TOT REGRESSION: Software Update crash in
1443        KJS::Collector::collect() (missing JSLock)
1444
1445        * JSValueWrapper.cpp:
1446        (unprotectGlobalObject): Added missing JSLock.
1447
14482008-02-05  Mark Rowe  <mrowe@apple.com>
1449
1450        Reviewed by Oliver Hunt.
1451
1452        Update versioning to support the mysterious future.
1453
1454        * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
1455
14562008-01-28  Eric Seidel  <eric@webkit.org>
1457
1458        Reviewed by darin.
1459
1460        Add icu headers to JSG in preparation for depending on ::UChar.
1461
1462        * Configurations/Base.xcconfig:
1463        * ForwardingHeaders/wtf/unicode: Added.
1464        * ForwardingHeaders/wtf/unicode/Unicode.h: Added.
1465        * ForwardingHeaders/wtf/unicode/icu: Added.
1466        * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Added.
1467        * icu: Copied from ../JavaScriptCore/icu.
1468
14692007-12-19  Geoffrey Garen  <ggaren@apple.com>
1470
1471        Build fix.
1472
1473        * ForwardingHeaders/wtf/VectorTraits.h: Added.
1474
14752007-12-10  Timothy Hatcher  <timothy@apple.com>
1476
1477        Reviewed by Mark Rowe.
1478
1479        <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
1480
1481        * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
1482          so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
1483
14842007-12-04  Geoffrey Garen  <ggaren@apple.com>
1485
1486        Reviewed by Darin Adler.
1487
1488        Third step in refactoring JSGlobalObject: Moved data members and data
1489        member access from Interpreter to JSGlobalObject. Replaced JSInterpreter
1490        subclass with JSGlobalObject subclass.
1491
1492        * JSRun.cpp:
1493        (JSRun::JSRun):
1494        (JSRun::Evaluate):
1495        (JSRun::CheckSyntax):
1496        * JSRun.h:
1497        (JSGlueGlobalObject::JSGlueGlobalObject):
1498        * JSUtils.cpp:
1499        (KJSValueToCFTypeInternal):
1500        * JSValueWrapper.cpp:
1501        (getThreadGlobalExecState):
1502
15032007-12-02  Geoffrey Garen  <ggaren@apple.com>
1504
1505        Reviewed by Eric Seidel.
1506
1507        Updated to match the JavaScriptCore change to move virtual methods from
1508        Interpreter to JSGlobalObject.
1509
1510        * JSRun.cpp:
1511        * JSRun.h:
1512        * JSValueWrapper.cpp:
1513        (getThreadGlobalExecState):
1514        * JavaScriptGlue.cpp:
1515        (JSRunCopyGlobalObject):
1516        (JSRunEvaluate):
1517
15182007-11-30  Geoffrey Garen  <ggaren@apple.com>
1519
1520        Reviewed by Beth Dakin.
1521
1522        Modified to follow new JSGlobalObject/Interpreter ownership rules
1523        in JavaScriptCore.
1524
1525        * JSRun.cpp:
1526        (JSRun::JSRun):
1527        (JSRun::GetInterpreter):
1528        (JSRun::Evaluate):
1529        (JSRun::CheckSyntax):
1530        * JSRun.h:
1531        * JSValueWrapper.cpp:
1532        (unprotectGlobalObject):
1533        (initializeGlobalObjectKey):
1534        (getThreadGlobalExecState):
1535
15362007-11-29  Mark Rowe  <mrowe@apple.com>
1537
1538        Reviewed by Maciej.
1539
1540        Fix REGRESSION(r27885): Installer hits assertion failure in JavaScriptGlue.
1541
1542        * JSValueWrapper.cpp:
1543        (getThreadGlobalExecState): Set the global object on the Interpreter before using it.
1544
15452007-11-27  Anders Carlsson  <andersca@apple.com>
1546
1547        Build fix.
1548
1549        * JSUtils.cpp:
1550        (KJSValueToCFTypeInternal):
1551        * JSValueWrapper.cpp:
1552        (JSValueWrapper::JSObjectCopyPropertyNames):
1553
15542007-11-21  Mark Rowe  <mrowe@apple.com>
1555
1556        Reviewed by Eric.
1557
1558        Fix JavaScriptGlue to build without warnings using GCC 4.2.
1559
1560        * Configurations/Base.xcconfig:
1561        * JSRun.h:
1562
15632007-11-17  Mark Rowe  <mrowe@apple.com>
1564
1565        Reviewed by Darin Adler.
1566
1567        Fix: <rdar://problem/5607032> REGRESSION: testapi exits with assertion failure in debug build
1568             <rdar://problem/5440659> JSGlobalContextCreate throws away globalObjectClass's prototype
1569             http://bugs.webkit.org/show_bug.cgi?id=16033
1570
1571        Update for changes in Interpreter method signatures.
1572
1573        * JSRun.h:
1574
15752007-11-13  Geoffrey Garen  <ggaren@apple.com>
1576
1577        Reviewed by Anders Carlsson.
1578
1579        Renamed Shared to RefCounted.
1580
1581        * ForwardingHeaders/wtf/RefCounted.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/Shared.h.
1582        * ForwardingHeaders/wtf/Shared.h: Removed.
1583
15842007-11-13  Geoffrey Garen  <ggaren@apple.com>
1585
1586        Reviewed by Sam Weinig.
1587
1588        Moved Shared.h into wtf so it could be used in more places.
1589
1590        * ForwardingHeaders/wtf/Shared.h: Added.
1591
15922007-11-08  Mark Rowe  <mrowe@apple.com>
1593
1594        Build fix.
1595
1596        * ForwardingHeaders/wtf/MathExtras.h: Copied from WebCore/ForwardingHeaders/wtf/MathExtras.h.
1597
15982007-11-05  Geoffrey Garen  <ggaren@apple.com>
1599
1600        Build fix.
1601
1602        * ForwardingHeaders/kjs/value.h: Added.
1603
16042007-11-03  Sam Weinig  <sam@webkit.org>
1605
1606        Build-fix.
1607
1608        * UserObjectImp.cpp:
1609
16102007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
1611
1612        Sort files(...); sections of Xcode project files.
1613
1614        Rubber-stamped by Darin Adler.
1615
1616        * JavaScriptGlue.xcodeproj/project.pbxproj:
1617
16182007-10-25  Eric Seidel  <eric@webkit.org>
1619
1620        Reviewed by Geoff.
1621
1622        Make JSG build again after JSGlobalObject change.
1623
1624        * JSRun.cpp:
1625        (JSRun::JSRun):
1626        (JSRun::GlobalObject):
1627        * JSRun.h:
1628        (JSInterpreter::JSInterpreter):
1629        * JSUtils.h:
1630
16312007-10-11  Mark Rowe  <mrowe@apple.com>
1632
1633        Reviewed by Tim Hatcher.
1634
1635        Fix for <rdar://problem/5488678>.  Disable debugging symbols in production builds for 10.4
1636        PowerPC to prevent a huge STABS section from being generated.
1637
1638        * Configurations/Base.xcconfig:
1639
16402007-10-04  Mark Rowe  <mrowe@apple.com>
1641
1642        Reviewed by Oliver.
1643
1644        Switch to default level of debugging symbols to resolve <rdar://problem/5488678>.
1645        The "full" level appears to offer no observable benefits even though the documentation
1646        suggests it be used for dead code stripping.  This should also decrease link times.
1647
1648        * Configurations/Base.xcconfig:
1649
16502007-09-03  Mark Rowe  <mrowe@apple.com>
1651
1652        Reviewed by Tim Hatcher.
1653
1654        <rdar://problem/5452164> Production build with in symbols directory has no debug info
1655
1656        Enable debug symbol generation on all build configurations.  Production builds are stripped
1657        of symbols by Xcode during deployment post-processing.
1658
1659        * Configurations/Base.xcconfig:
1660        * JavaScriptGlue.xcodeproj/project.pbxproj:
1661
16622007-08-09  Mark Rowe  <mrowe@apple.com>
1663
1664        Reviewed by Antti.
1665
1666        <rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +
1667
1668        * Configurations/Version.xcconfig:
1669        * JavaScriptGlue.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between
1670        Version.xcconfig and Info.plist explicit to Xcode.
1671
16722007-07-16  Sam Weinig  <sam@webkit.org>
1673
1674        Reviewed by Oliver.
1675
1676        Turn off -Wshorten-64-to-32 warning for 64-bit builds.
1677
1678        * Configurations/Base.xcconfig:
1679
16802007-04-27  Mark Rowe  <mrowe@apple.com>
1681
1682        Reviewed by Oliver.
1683
1684        * JavaScriptGlue.xcodeproj/project.pbxproj: Improve dependencies in Xcode project
1685        by marking JavaScriptGlue as a dependency of testjsglue.
1686
16872007-03-24  Mark Rowe  <mrowe@apple.com>
1688
1689        Reviewed by Dave Hyatt.
1690
1691        * JavaScriptGlue.xcodeproj/project.pbxproj: Use GCC 4.0 for testjsglue.
1692
16932007-03-24  Mark Rowe  <mrowe@apple.com>
1694
1695        Rubber-stamped by Darin Adler.
1696
1697        * Configurations/JavaScriptGlue.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS.
1698
16992007-03-19  Andrew Wellington  <proton@wiretapped.net>
1700
1701        Reviewed by Maciej.
1702
1703        Really set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
1704
1705        * JavaScriptGlue.xcodeproj/project.pbxproj:
1706
17072007-03-18  Andrew Wellington  <proton@wiretapped.net>
1708
1709        Reviewed by Mark Rowe
1710
1711        Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
1712
1713        * JavaScriptGlue.xcodeproj/project.pbxproj:
1714
17152007-03-17  Timothy Hatcher  <timothy@apple.com>
1716
1717        Reviewed by Mark Rowe.
1718
1719        Made Version.xcconfig smarter when building for different configurations.
1720        Now uses the 522+ OpenSource version for Debug and Release, while using the
1721        full 522.4 version for Production builds. The system prefix is also computed
1722        based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.
1723
1724        * Configurations/JavaScriptGlue.xcconfig:
1725        * Configurations/Version.xcconfig:
1726
17272007-03-15  Timothy Hatcher  <timothy@apple.com>
1728
1729        Reviewed by John.
1730
1731        * Factored out most of our common build settings into .xcconfig files. Anything that was common in
1732          each build configuration was factored out into the shared .xcconfig file.
1733        * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
1734        * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
1735        * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
1736
1737        * Configurations/Base.xcconfig: Added.
1738        * Configurations/DebugRelease.xcconfig: Added.
1739        * Configurations/JavaScriptGlue.xcconfig: Added.
1740        * Configurations/Version.xcconfig: Added.
1741        * Info.plist:
1742        * JavaScriptGlue.xcodeproj/project.pbxproj:
1743
1744=== Safari-5522.4 ===
1745
17462007-03-12  Geoffrey Garen  <ggaren@apple.com>
1747
1748        Reviewed by Oliver Hunt.
1749
1750        Updated in light of fix for <rdar://problem/4681051> Installer crashes
1751        in KJS::Collector::markOtherThreadConservatively(KJS::Collector::Thread*)
1752        trying to install iLife 06 using Rosetta on an Intel Machine
1753
1754        * JavaScriptGlue.cpp:
1755        (JSLockInterpreter): Ensure backwards compatibility by calling
1756        registerThread() when explicitly taking the JSLock. (This doesn't happen
1757        automatically anymore.) I doubt this actally matters, but in JavaScriptGlue
1758        territory, that kind of thinking will get you killed.
1759
17602007-03-06  Geoffrey Garen  <ggaren@apple.com>
1761
1762        Reviewed by Maciej Stachowiak.
1763
1764        Fixed all known crashers exposed by run-webkit-tests --threaded while using
1765        a PAC file (for maximum carnage). See JavaScriptCore ChangeLog for
1766        more details.
1767
1768        * JSBase.cpp:
1769        (JSBase::Release): Lock when deleting, because we may be deleting an object
1770        (like a JSRun) that holds thread-unsafe data.
1771
1772        * JSUtils.cpp:
1773        (CFStringToUString): Don't lock, because our caller locks. Also, locking
1774        inside a function that returns thread-unsafe data by copy will only mask
1775        threading problems.
1776
1777        * JavaScriptGlue.cpp:
1778        (JSRunEvaluate): Added missing JSLock.
1779        (JSRunCheckSyntax): Converted to JSLock.
1780        * JavaScriptGlue.xcodeproj/project.pbxproj:
1781
17822007-02-22  Geoffrey Garen  <ggaren@apple.com>
1783
1784        Reviewed by Darin Adler.
1785
1786        Fixed <rdar://problem/4942528> Installer.app Stuck "Examining additional
1787        volumes..."
1788
1789        The problem was that JavaScriptGlue held a JSObject in a static pointer
1790        without protecting it from garbage collection.
1791
1792            sUserObjectPrototypeImp  = new UserObjectPrototypeImp();
1793            static ProtectedPtr<UserObjectPrototypeImp> protectPrototype; // valiant, brave, but useless
1794
1795        Through an interesting comedy of errors, this object would be collected
1796        and then assigned as the prototype of another object allocated at the
1797        same address, thus becoming its own prototype. (See http://www.ziplo.com/grandpa.htm
1798        for further explanation of this phenomenon.) Hence the infinte loop in
1799        property lookup.
1800
1801        The solution is equally humorous: all of this code was completely useless --
1802        it only served to create an empty object in the prototype chain -- so
1803        I just removed it.
1804
1805        * UserObjectImp.cpp:
1806        (UserObjectImp::UserObjectImp):
1807        * UserObjectImp.h:
1808
18092007-02-19  Timothy Hatcher  <timothy@apple.com>
1810
1811        Reviewed by Geoff.
1812
1813        <rdar://problem/4636301> Deprecate JavaScriptGlue
1814
1815        * JavaScriptGlue.h: adds DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER to everything
1816        * JavaScriptGlue.xcodeproj/project.pbxproj: use -Wno-deprecated-declarations to keep the project building
1817        * config.h: define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER as empty on other systems
1818
18192007-02-16  Darin Adler  <darin@apple.com>
1820
1821        Reviewed by Anders.
1822
1823        - fix <rdar://problem/5000216> JavaScriptGlue framework started turning all CFNumbers
1824          into signed 32bit values
1825
1826        Circumstantial evidence seems to indicate that JavaScriptGlue was depending on a bug
1827        in CFNumber where CFNumberIsFloatType was returning true for 64-bit integer values.
1828
1829        * JSUtils.cpp: (JSObjectKJSValue): Removed the call to CFNumberIsFloatType in the
1830        conversion of numeric values, and always use kCFNumberDoubleType, since double is
1831        the internal format of numbers in JavaScriptCore. There's no value to having a
1832        separate code path for integers. There's also no reason to check the return value
1833        from CFNumberGetValue -- if it returns false it still does the best it can to convert
1834        to a double, which is what we want.
1835
1836        * UserObjectImp.cpp: (UserObjectImp::toString): Removed a similar code path that
1837        tried to handle integers separate from double. Instead, always use a double. For
1838        compatibility, use a format without a decimal point when CFNumberIsFloatType returns
1839        false. Also removed a bogus cast to float; the "%f" format string takes a double,
1840        not a float, so all the cast did was cut down on precision.
1841
18422007-01-25  Mark Rowe  <mrowe@apple.com>
1843
1844        Reviewed by Maciej.
1845
1846        * Info.plist: Update copyright string.
1847
18482006-12-19  Timothy Hatcher  <timothy@apple.com>
1849
1850        Reviewed by Darin Adler.
1851
1852        <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features
1853
1854        * JavaScriptGlue.xcodeproj/project.pbxproj:
1855
1856=== Safari-521.26 ===
1857
18582006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
1859
1860        Reviewed by Tim H.
1861
1862        Build fix:  DWARF and -gfull are incompatible with symbol separation.
1863
1864        * JavaScriptGlue.xcodeproj/project.pbxproj:
1865
18662006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
1867
1868        Reviewed by Tim H.
1869
1870        http://bugs.webkit.org/show_bug.cgi?id=10394
1871        Bug 10394: WebKit Release and Production configurations should enable dead code stripping
1872
1873        * JavaScriptGlue.xcodeproj/project.pbxproj:
1874
18752006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
1876
1877        Reviewed by Tim H.
1878
1879        http://bugs.webkit.org/show_bug.cgi?id=10384
1880        Bug 10384: Switch to DWARF for Release configuration
1881
1882        * JavaScriptGlue.xcodeproj/project.pbxproj:
1883
18842006-08-04  Sam Weinig  <sam.weinig@gmail.com>
1885
1886        Reviewed by Darin Adler.
1887
1888        - patch for http://bugs.webkit.org/show_bug.cgi?id=10192
1889          Make WebCore (and friends) compile with -Wshorten-64-to-32
1890
1891          * Adds -Wshorten-64-to-32 flag to Xcode project.
1892
1893        * JavaScriptGlue.xcodeproj/project.pbxproj:
1894
18952006-08-03  Sam Weinig  <sam.weinig@gmail.com>
1896
1897        Reviewed by Darin Adler.
1898
1899        - patch for http://bugs.webkit.org/show_bug.cgi?id=10176
1900          Make WebCore compile with -Wundef
1901
1902          * Adds -Wundef flag to Xcode project
1903
1904        * JavaScriptGlue.xcodeproj/project.pbxproj:
1905
19062006-07-29  Sam Weinig  <sam.weinig@gmail.com>
1907
1908        Reviewed by Darin Adler.
1909
1910        - patch for http://bugs.webkit.org/show_bug.cgi?id=10080
1911          Adopt pedantic changes from the Unity project to improve
1912          cross-compiler compatibility
1913
1914          Changes include:
1915          * Turning on gcc warning for missing newline at the end of a source file
1916            (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
1917
1918        * JavaScriptGlue.xcodeproj/project.pbxproj:
1919
1920=== Safari-521.19 ===
1921
19222006-07-19  Geoffrey Garen  <ggaren@apple.com>
1923
1924        Fixed by Darin & Maciej, reviewed by me.
1925
1926        - Fixed <rdar://problem/4638934> Leopard 9A227: Installer crashes right
1927        after LCA and while preparing Installation
1928
1929        Compile release/production with NDEBUG set, to ensure binary compatibility
1930        between JavaScriptGlue and JavaScriptCore. In debug builds, JavaScriptCore
1931        includes an extra debug data member in HashSet.
1932
1933        * JavaScriptGlue.xcodeproj/project.pbxproj:
1934
1935=== Safari-521.18 ===
1936
19372006-07-15  Maciej Stachowiak  <mjs@apple.com>
1938
1939        Reviewed by Darin Adler.
1940
1941        - switch property lists to be vector+set of Identifiers instead of list of References
1942
1943        * JSUtils.cpp:
1944        (KJSValueToCFTypeInternal): updated for JSC SPI changes
1945        * JSValueWrapper.cpp:
1946        (JSValueWrapper::JSObjectCopyPropertyNames): ditto
1947        * UserObjectImp.cpp:
1948        (UserObjectImp::getPropertyNames): ditto
1949        * UserObjectImp.h:
1950
1951=== Safari-521.17 ===
1952
19532006-07-14  Geoffrey Garen  <ggaren@apple.com>
1954
1955        Reviewed by Maciej.
1956
1957        - Updated JSInterpreter to work with Interpreter ref-counting in JavaScriptCore.
1958
1959        (JSInterpreter::JSInterpreter::~JSInterpreter): Now protected to catch
1960        manual delete.
1961
19622006-07-12  Anders Carlsson  <acarlsson@apple.com>
1963
1964        Build fix
1965
1966        * JSUtils.cpp:
1967        (KJSValueToCFTypeInternal):
1968        * JSValueWrapper.cpp:
1969        (JSValueWrapper::JSObjectCopyPropertyNames):
1970        * UserObjectImp.cpp:
1971        (UserObjectImp::getPropertyList):
1972
1973=== Safari-521.15 ===
1974
19752006-07-07  Geoffrey Garen  <ggaren@apple.com>
1976
1977        - build fix
1978
1979        * JSUtils.cpp:
1980        (KJSValueToCFTypeInternal):
1981        * JSValueWrapper.cpp:
1982        (JSValueWrapper::JSObjectCopyPropertyNames):
1983
19842006-07-03  Geoffrey Garen  <ggaren@apple.com>
1985
1986        Reviewed by Maciej.
1987
1988        * JSRun.cpp:
1989        (JSRun::CheckSyntax): Updated to use new checkSyntax syntax in JSC.
1990        * JavaScriptGlue.xcodeproj/project.pbxproj:
1991
1992=== Safari-521.14 ===
1993
19942006-06-28  Timothy Hatcher  <timothy@apple.com>
1995
1996        Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
1997
1998        * JavaScriptGlue.xcodeproj/project.pbxproj:
1999
20002006-06-24  David Kilzer  <ddkilzer@kilzer.net>
2001
2002        Reviewed by Timothy.
2003
2004        * Info.plist: Fixed copyright to include 2003-2006.
2005
2006=== JavaScriptGlue-521.13 ===
2007
20082006-06-20  Geoffrey Garen  <ggaren@apple.com>
2009
2010        Reviewed by Anders.
2011
2012        - Required for JS API: Rename propList to getPropertyList and have it
2013        take its target property list by reference so that subclasses can
2014        add properties to the list before calling through to their superclasses.
2015
2016        * JSUtils.cpp:
2017        (KJSValueToCFTypeInternal):
2018        * JSValueWrapper.cpp:
2019        (JSValueWrapper::JSObjectCopyPropertyNames):
2020        * UserObjectImp.cpp:
2021        (UserObjectImp::getPropertyList):
2022        * UserObjectImp.h:
2023
20242006-06-15  Timothy Hatcher  <timothy@apple.com>
2025
2026        Reviewed by Geoff and Darin.
2027
2028        Prefer the DWARF debugging symbols format for use in Xcode 2.3.
2029
2030        * JavaScriptGlue.xcodeproj/project.pbxproj:
2031
20322006-06-12  Geoffrey Garen  <ggaren@apple.com>
2033
2034        Reviewed by TimO, Maciej.
2035
2036        - JSGlue part of merging InterpreterImp into Interpreter.
2037
2038        Since there's now a kjs forwarding header, I moved all forwarding
2039        headers into a "ForwardingHeaders" directory, like in WebCore.
2040
2041        * ForwardingHeaders: Added.
2042        * ForwardingHeaders/kjs: Added.
2043        * ForwardingHeaders/kjs/ExecState.h: Added.
2044        * ForwardingHeaders/wtf: Added.
2045        * JavaScriptGlue.xcodeproj/project.pbxproj:
2046        * config.h:
2047        * wtf: Removed.
2048        * wtf/AlwaysInline.h: Removed.
2049        * wtf/Assertions.h: Removed.
2050        * wtf/FastMalloc.h: Removed.
2051        * wtf/Forward.h: Removed.
2052        * wtf/HashCountedSet.h: Removed.
2053        * wtf/HashSet.h: Removed.
2054        * wtf/Noncopyable.h: Removed.
2055        * wtf/OwnArrayPtr.h: Removed.
2056        * wtf/OwnPtr.h: Removed.
2057        * wtf/PassRefPtr.h: Removed.
2058        * wtf/Platform.h: Removed.
2059        * wtf/RefPtr.h: Removed.
2060        * wtf/Vector.h: Removed.
2061
2062=== JavaScriptGlue-521.10 ===
2063
20642006-05-09  Maciej Stachowiak  <mjs@apple.com>
2065
2066        Rubber stamped by Anders.
2067
2068        - renamed kxmlcore to wtf
2069
2070        kxmlcore --> wtf
2071        KXMLCore --> WTF
2072        KXC --> WTF
2073
2074        * config.h:
2075        * kxmlcore: Removed.
2076        * kxmlcore/AlwaysInline.h: Removed.
2077        * kxmlcore/Assertions.h: Removed.
2078        * kxmlcore/FastMalloc.h: Removed.
2079        * kxmlcore/Forward.h: Removed.
2080        * kxmlcore/HashCountedSet.h: Removed.
2081        * kxmlcore/HashSet.h: Removed.
2082        * kxmlcore/Noncopyable.h: Removed.
2083        * kxmlcore/OwnArrayPtr.h: Removed.
2084        * kxmlcore/OwnPtr.h: Removed.
2085        * kxmlcore/PassRefPtr.h: Removed.
2086        * kxmlcore/Platform.h: Removed.
2087        * kxmlcore/RefPtr.h: Removed.
2088        * kxmlcore/Vector.h: Removed.
2089        * wtf: Added.
2090
20912006-04-11  Darin Adler  <darin@apple.com>
2092
2093        - try to fix Windows build
2094
2095        * kxmlcore/HashForward.h: Removed.
2096
20972006-04-10  Darin Adler  <darin@apple.com>
2098
2099        Rubber-stamped by John Sullivan.
2100
2101        - added forwarding headers for the new Forward.h and HashForward.h files
2102
2103        * kxmlcore/Forward.h: Added.
2104        * kxmlcore/HashForward.h: Added.
2105
21062006-04-04  Timothy Hatcher  <timothy@apple.com>
2107
2108        Reviewed by Darin Adler.
2109
2110        The Debug and Release frameworks are now built with install paths relative to the build products directory.
2111        This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore.
2112
2113        * JavaScriptGlue.xcodeproj/project.pbxproj:
2114
21152006-04-02  Eric Seidel  <eseidel@apple.com>
2116
2117        Reviewed by andersca.
2118
2119        Add missing forwarding header.
2120
2121        * kxmlcore/Vector.h: Added.
2122
21232006-03-31  Geoffrey Garen  <ggaren@apple.com>
2124
2125        Reviewed by Darin Adler.
2126
2127        - Fixed <rdar://problem/4430836> JavaScript patch crashing Quartz
2128        Composer
2129
2130        JSValueWrappers used to hold on to the ExecState that pertained at
2131        the time of their creation. Since ExecStates are transient, that
2132        design was totally bogus, and it would crash once the ExecState had
2133        been deallocated.
2134
2135        Unfortunately, there's no clean solution to this problem, since
2136        the JSGlue API has no notion of state. The solution here is to use
2137        a shared, global ExecState for the purpose of JSGlue calls. Given
2138        the pre-existing limitations in the JSGlue API, this design
2139        shouldn't actually introduce any new limitations (see comments in
2140        JSValueWrapper.cpp).
2141
2142        I tested with Quartz Composer and PAC files, neither of which are
2143        layout-testable.
2144
2145        * JSUtils.cpp:
2146        (KJSValueToJSObject):
2147        * JSValueWrapper.cpp:
2148        (JSValueWrapper::JSValueWrapper):
2149        (JSValueWrapper::GetValue):
2150        (getProcessGlobalExecState):
2151        (JSValueWrapper::JSObjectCopyPropertyNames):
2152        (JSValueWrapper::JSObjectCopyProperty):
2153        (JSValueWrapper::JSObjectSetProperty):
2154        (JSValueWrapper::JSObjectCallFunction):
2155        (JSValueWrapper::JSObjectCopyCFValue):
2156        * JSValueWrapper.h:
2157
2158        Also added a test harness file. It was helpful while I was testing,
2159        and may come in handy in the future:
2160
2161        * JavaScriptGlue.xcodeproj/project.pbxproj:
2162        testjsglue.cpp: Added.
2163
21642006-03-28  Darin Adler  <darin@apple.com>
2165
2166        Reviewed by Geoff.
2167
2168        - added a build step that checks for init routines
2169
2170        * JavaScriptGlue.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
2171        check-for-global-initializers script.
2172
21732006-03-02  Maciej Stachowiak  <mjs@apple.com>
2174
2175        Not reviewed, but I noticed these trivial extra changes were needed to avoid
2176        breaking the build with my reviewed patch for:
2177
2178        http://bugs.webkit.org/show_bug.cgi?id=7387
2179
2180        Add config.h, includes of it, and Platform.h forwarding header.
2181
2182        * JSBase.cpp:
2183        * JSObject.cpp:
2184        * JSRun.cpp:
2185        * JSUtils.cpp:
2186        * JSValueWrapper.cpp:
2187        * JavaScriptGlue.cpp:
2188        * UserObjectImp.cpp:
2189        * config.h: Added.
2190        * kxmlcore/Platform.h: Added.
2191
2192=== JavaScriptGlue-521.7 ===
2193
21942006-02-10  Geoffrey Garen  <ggaren@apple.com>
2195
2196        Reviewed by eric.
2197
2198        - Fixed build.
2199
2200        * UserObjectImp.cpp:
2201        (UserObjectImp::toPrimitive):
2202        * UserObjectImp.h:
2203
22042006-02-03  Timothy Hatcher  <timothy@apple.com>
2205
2206        Reviewed by Justin.
2207
2208        Renamed configuration names to Debug, Release and Production.
2209
2210        * JavaScriptGlue.xcodeproj/project.pbxproj:
2211
22122006-02-01  Darin Adler  <darin@apple.com>
2213
2214        - added some forwarding headers to make new JavaScriptCore changes work
2215
2216        * kxmlcore/Assertions.h: Added.
2217        * kxmlcore/Noncopyable.h: Added.
2218        * kxmlcore/OwnPtr.h: Added.
2219        * kxmlcore/OwnArrayPtr.h: Added.
2220
22212006-01-16  Timothy Hatcher  <timothy@apple.com>
2222
2223        Adding the license header to all files so we can
2224        move JavaScriptGlue into the open source repository.
2225
2226        * LICENSE: Added.
2227        * JSBase.cpp: license header added.
2228        * JSBase.h: ditto.
2229        * JSObject.cpp: ditto.
2230        * JSObject.h: ditto.
2231        * JSRun.cpp: ditto.
2232        * JSRun.h: ditto.
2233        * JSUtils.cpp: ditto.
2234        * JSUtils.h: ditto.
2235        * JSValueWrapper.cpp: ditto.
2236        * JSValueWrapper.h: ditto.
2237        * JavaScriptGlue.cpp: ditto.
2238        * JavaScriptGlue.h: ditto.
2239        * UserObjectImp.cpp: ditto.
2240        * UserObjectImp.h: ditto.
2241
22422005-12-21  Timothy Hatcher  <timothy@apple.com>
2243
2244        * JavaScriptGlue.xcodeproj/project.pbxproj:
2245          Set tab width to 8, indent width to 4 and uses tabs to false per file.
2246
22472005-12-19  Darin Adler  <darin@apple.com>
2248
2249        Reviewed by Geoff Garen and Eric Seidel.
2250
2251        - fix http://bugs.webkit.org/show_bug.cgi?id=4923
2252          stop using <ostream> in WebCore, eliminating the <cmath> troubles it causes
2253
2254        * kxmlcore/AlwaysInline.h: Added.
2255
22562005-12-15  Darin Adler  <darin@apple.com>
2257
2258        Reviewed by Maciej.
2259
2260        * JSRun.cpp: (JSRun::Evaluate): Updated for change to Interpreter::evaluate.
2261
22622005-12-15  Darin Adler  <darin@apple.com>
2263
2264        Reviewed by Tim Hatcher.
2265
2266        * JavaScriptGlue.xcodeproj/project.pbxproj: Removed some redundant build
2267        settings, turned off prebinding explicitly for our Development and
2268        Deployment builds, remove .exp file from sources. All "clean-up".
2269
2270=== Safari-521~5 ===
2271
22722005-12-13  Geoffrey Garen  <ggaren@apple.com>
2273
2274    - Fixed build after Anders's last checkin to JavaScriptCore.
2275
2276        Reviewed by darin.
2277
2278        * UserObjectImp.cpp:
2279        (UserObjectImp::userObjectGetter): Updated to reflect new argument that
2280    getters take (unused here).
2281        * UserObjectImp.h:
2282
22832005-12-13  Maciej Stachowiak  <mjs@apple.com>
2284
2285        Reviewed by Eric.
2286
2287    - added forwarding header for HashCountedSet
2288
2289        * kxmlcore/HashCountedSet.h: Added.
2290
22912005-12-10  Darin Adler  <darin@apple.com>
2292
2293        Rubber stamped by Maciej.
2294
2295        - updated for KJS class renaming
2296
2297        * many files and functions
2298
22992005-12-10  Darin Adler  <darin@apple.com>
2300
2301        Reviewed by Maciej.
2302
2303        - eliminated the old Undefined(), Null(), Boolean(), Number(), and String()
2304
2305        Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString().
2306
2307        * JSUtils.cpp:
2308        (JSObjectKJSValue):
2309        * UserObjectImp.cpp:
2310        (UserObjectImp::callAsFunction):
2311        (UserObjectImp::toPrimitive):
2312
23132005-12-05  Maciej Stachowiak  <mjs@apple.com>
2314
2315        - added new forwarding headers
2316
2317        * kxmlcore/PassRefPtr.h: Added.
2318        * kxmlcore/RefPtr.h: Added.
2319
23202005-12-05  Maciej Stachowiak  <mjs@apple.com>
2321
2322        * kxmlcore/PassRefPtr.h: Added.
2323
23242005-11-26  Maciej Stachowiak  <mjs@apple.com>
2325
2326        Rubber stamped by Eric.
2327
2328    - renamed InterpreterLock to JSLock
2329
2330        * JSUtils.cpp:
2331        (CFStringToUString):
2332        (JSObjectKJSValue):
2333        (KJSValueToCFTypeInternal):
2334        * JSValueWrapper.cpp:
2335        (JSValueWrapper::JSObjectCopyPropertyNames):
2336        (JSValueWrapper::JSObjectCopyProperty):
2337        (JSValueWrapper::JSObjectSetProperty):
2338        (JSValueWrapper::JSObjectCallFunction):
2339        (JSValueWrapper::JSObjectCopyCFValue):
2340        * JavaScriptGlue.cpp:
2341        (JSRunCreate):
2342        (JSCollect):
2343        (JSLockInterpreter):
2344        (JSUnlockInterpreter):
2345        * UserObjectImp.cpp:
2346        (UserObjectImp::callAsFunction):
2347
23482005-11-16  Maciej Stachowiak  <mjs@apple.com>
2349
2350        Reviewed by Geoff.
2351
2352    Updated to use new API to drop all locks.
2353
2354        * JavaScriptGlue.cpp:
2355        (JSLockInterpreter):
2356        (JSUnlockInterpreter):
2357        * UserObjectImp.cpp:
2358        (UserObjectImp::callAsFunction):
2359
23602005-11-14  Geoffrey Garen  <ggaren@apple.com>
2361
2362        Reviewed by mjs.
2363
2364        - Part of the fix for <rdar://problem/4342216> Installer crash in
2365          KJS::ValueImp::marked() when garbage collector runs inside call to
2366          ConstantValues::init()
2367
2368        Added locking in JSRunCreate, since JSRun::JSRun constructs an object.
2369
2370        * JavaScriptGlue.cpp:
2371        (JSRunCreate):
2372
23732005-11-10  Geoffrey Garen  <ggaren@apple.com>
2374
2375        Reviewed by Maciej.
2376
2377        - Fixed <rdar://problem/4334445> installer crashed on my
2378          dual g4 450Mhz after clicking language
2379
2380        - Reversed backwards NULL check.
2381        - Inserted guards against NULL fJSUserObject data member.
2382        - Cleaned up some style.
2383
2384        * JSUtils.cpp:
2385        (KJSValueToCFTypeInternal):
2386        * UserObjectImp.cpp:
2387        (UserObjectImp::~UserObjectImp):
2388        (UserObjectImp::callAsFunction):
2389        (UserObjectImp::userObjectGetter):
2390        (UserObjectImp::getOwnPropertySlot):
2391        (UserObjectImp::put):
2392        (UserObjectImp::mark):
2393
23942005-11-04  Timothy Hatcher  <timothy@apple.com>
2395
2396        Reviewed by Darin Adler.
2397
2398        * JavaScriptGlue.xcodeproj/project.pbxproj:
2399          Fixed the FRAMEWORK_SEARCH_PATHS to look in the WebKit
2400          Frameworks for the Default config.
2401
24022005-11-03  Timothy Hatcher  <timothy@apple.com>
2403
2404        Reviewed by Darin and Vicki.
2405
2406        * JavaScriptGlue.xcodeproj/project.pbxproj:
2407          Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
2408          $(NEXT_ROOT) in a few spots to make build-root work.
2409
24102005-11-01  Maciej Stachowiak  <mjs@apple.com>
2411
2412    Reviewed by: Eric.
2413
2414        <rdar://problem/4324107> get JavaScriptGlue working with TOT JavaScriptCore again
2415
2416    - reverted all this stuff to use ReferenceList instead of IdentifierSequencedSet
2417
2418        * JSUtils.cpp:
2419        (KJSValueToCFTypeInternal):
2420        * JSValueWrapper.cpp:
2421        (JSValueWrapper::JSObjectCopyPropertyNames):
2422        * UserObjectImp.cpp:
2423        (UserObjectImp::propList):
2424        * UserObjectImp.h:
2425
24262005-10-11  Timothy Hatcher  <timothy@apple.com>
2427
2428        Setup the proper Framework search path for the Default config.
2429        Prepping for a TOT submission and build by B&I.
2430
2431        * JavaScriptGlue.xcodeproj/project.pbxproj:
2432
24332005-10-10  Darin Adler  <darin@apple.com>
2434
2435        Reviewed by Eric.
2436
2437        - converted tabs to spaces, NULL to 0, added some (void), got rid of __ prefixes
2438          in headers (reserved for compiler/library)
2439
2440        * Info.plist:
2441        * JSBase.cpp:
2442        * JSBase.h:
2443        * JSObject.cpp:
2444        * JSObject.h:
2445        * JSRun.cpp:
2446        * JSRun.h:
2447        * JSUtils.cpp:
2448        * JSUtils.h:
2449        * JSValueWrapper.cpp:
2450        * JSValueWrapper.h:
2451        * JavaScriptGlue.cpp:
2452        * JavaScriptGlue.h:
2453        * UserObjectImp.cpp:
2454        * UserObjectImp.h:
2455
24562005-10-10  Darin Adler  <darin@apple.com>
2457
2458        * .cvsignore: Added. Ignore Makefile.in and Makefile.
2459
24602005-10-07  Timothy Hatcher  <timothy@apple.com>
2461
2462        Reviewed by Maciej.
2463
2464        Build fix, needed to disable RTTI. Upgraded to a native target.
2465
2466        * JavaScriptGlue.xcodeproj/project.pbxproj:
2467        * Info.plist
2468
24692005-10-05  Maciej Stachowiak  <mjs@apple.com>
2470
2471        Reviewed by Eric and Darin.
2472
2473    <rdar://problem/4260506> Port JavaScriptGlue to TOT JavaScriptCore
2474
2475        * JSRun.cpp:
2476        (JSRun::JSRun):
2477        (JSRun::GlobalObject):
2478        * JSRun.h:
2479        (JSInterpreter::JSInterpreter):
2480        * JSUtils.cpp:
2481        (KJSValueToJSObject):
2482        (JSObjectKJSValue):
2483        (KJSValueToCFTypeInternal):
2484        (KJSValueToCFType):
2485        * JSUtils.h:
2486        * JSValueWrapper.cpp:
2487        (JSValueWrapper::JSValueWrapper):
2488        (JSValueWrapper::GetValue):
2489        (JSValueWrapper::JSObjectCopyPropertyNames):
2490        (JSValueWrapper::JSObjectCopyProperty):
2491        (JSValueWrapper::JSObjectSetProperty):
2492        (JSValueWrapper::JSObjectCallFunction):
2493        (JSValueWrapper::JSObjectMark):
2494        * JSValueWrapper.h:
2495        * JavaScriptGlue.cpp:
2496        (JSRunCopyGlobalObject):
2497        * JavaScriptGlue.xcodeproj/project.pbxproj:
2498        * Makefile.am: Added.
2499        * UserObjectImp.cpp:
2500        (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
2501        (UserObjectImp::UserObjectImp):
2502        (UserObjectImp::callAsFunction):
2503        (UserObjectImp::getPropertyNames):
2504        (UserObjectImp::userObjectGetter):
2505        (UserObjectImp::getOwnPropertySlot):
2506        (UserObjectImp::put):
2507        (UserObjectImp::toPrimitive):
2508        (UserObjectImp::mark):
2509        * UserObjectImp.h:
2510        * kxmlcore/FastMalloc.h: Added.
2511        * kxmlcore/HashSet.h: Added.
2512
25132005-09-14  Maciej Stachowiak  <mjs@apple.com>
2514
2515        Reviewed by Geoff.
2516
2517    - fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
2518
2519    Make sure to lock using the InterpreterLock class in all places that need it
2520    (including anything that uses the collector, the parser, the protect count hash table,
2521    and anything that allocates via fast_malloc).
2522
2523        * JSUtils.cpp:
2524        (CFStringToUString):
2525        (JSObjectKJSValue):
2526        (KJSValueToCFTypeInternal):
2527        * JSUtils.h:
2528        * JSValueWrapper.cpp:
2529        (JSValueWrapper::JSObjectCopyPropertyNames):
2530        (JSValueWrapper::JSObjectCopyProperty):
2531        (JSValueWrapper::JSObjectSetProperty):
2532        (JSValueWrapper::JSObjectCallFunction):
2533        (JSValueWrapper::JSObjectCopyCFValue):
2534        * JavaScriptGlue.cpp:
2535        (JSCollect):
2536
25372005-09-27  Adele Peterson  <adele@apple.com>
2538
2539        Reviewed by Maciej.
2540
2541        <rdar://problem/4223297> JavaScriptGlue: Submit 64-bit compatible versions of your API and SPIs by September 15
2542
2543        * JavaScriptGlue.h: Changed UInt32 to CFTypeID for JSTypeID
2544
25452005-09-06  Geoffrey Garen  <ggaren@apple.com>
2546
2547        -upgraded project files to XCode 2.1
2548
2549        * JavaScriptGlue.pbproj/project.pbxproj: Removed.
2550        * JavaScriptGlue.xcodeproj/.cvsignore: Added.
2551        * JavaScriptGlue.xcodeproj/project.pbxproj: Added.
2552
25532005-09-01  Maciej Stachowiak  <mjs@apple.com>
2554
2555        Rubber stamped by hyatt.
2556
2557    - initial import of JavaScriptGlue into our repository
2558
2559        * English.lproj/InfoPlist.strings: Added.
2560        * JSBase.cpp: Added.
2561        (JSBase::JSBase):
2562        (JSBase::~JSBase):
2563        (JSBase::Retain):
2564        (JSBase::Release):
2565        (JSBase::RetainCount):
2566        (JSBase::GetTypeID):
2567        (JSBase::CopyDescription):
2568        (JSBase::Equal):
2569        * JSBase.h: Added.
2570        * JSObject.cpp: Added.
2571        (JSUserObject::JSUserObject):
2572        (JSUserObject::~JSUserObject):
2573        (JSUserObject::CopyPropertyNames):
2574        (JSUserObject::CopyProperty):
2575        (JSUserObject::SetProperty):
2576        (JSUserObject::ImplementsCall):
2577        (JSUserObject::CallFunction):
2578        (JSUserObject::CopyCFValue):
2579        (JSUserObject::Equal):
2580        (JSUserObject::Mark):
2581        (JSUserObject::GetData):
2582        * JSObject.h: Added.
2583        (JSUserObject::DataType):
2584        * JSRun.cpp: Added.
2585        (JSRun::JSRun):
2586        (JSRun::~JSRun):
2587        (JSRun::Flags):
2588        (JSRun::GetSource):
2589        (JSRun::GlobalObject):
2590        (JSRun::GetInterpreter):
2591        (JSRun::Evaluate):
2592        (JSRun::CheckSyntax):
2593        * JSRun.h: Added.
2594        (JSInterpreter::JSInterpreter):
2595        (JSInterpreter::JSInterpreter::~JSInterpreter):
2596        (JSInterpreter::Flags):
2597        * JSUtils.cpp: Added.
2598        (CFStringToUString):
2599        (UStringToCFString):
2600        (CFStringToIdentifier):
2601        (IdentifierToCFString):
2602        (KJSValueToJSObject):
2603        (JSObjectKJSValue):
2604        (KJSValueToCFTypeInternal):
2605        (KJSValueToCFType):
2606        (GetCFNull):
2607        * JSUtils.h: Added.
2608        (RetainCFType):
2609        (ReleaseCFType):
2610        * JSValueWrapper.cpp: Added.
2611        (JSValueWrapper::JSValueWrapper):
2612        (JSValueWrapper::~JSValueWrapper):
2613        (JSValueWrapper::GetValue):
2614        (JSValueWrapper::GetExecState):
2615        (JSValueWrapper::GetJSObectCallBacks):
2616        (JSValueWrapper::JSObjectDispose):
2617        (JSValueWrapper::JSObjectCopyPropertyNames):
2618        (JSValueWrapper::JSObjectCopyProperty):
2619        (JSValueWrapper::JSObjectSetProperty):
2620        (JSValueWrapper::JSObjectCallFunction):
2621        (JSValueWrapper::JSObjectCopyCFValue):
2622        (JSValueWrapper::JSObjectMark):
2623        * JSValueWrapper.h: Added.
2624        * JavaScriptGlue.cpp: Added.
2625        (JSSetCFNull):
2626        (JSGetCFNull):
2627        (JSRetain):
2628        (JSRelease):
2629        (JSCopyDescription):
2630        (JSEqual):
2631        (JSGetTypeID):
2632        (JSGetRetainCount):
2633        (JSObjectCreate):
2634        (JSObjectCreateInternal):
2635        (JSObjectCopyCFValue):
2636        (JSObjectGetData):
2637        (JSObjectCopyProperty):
2638        (JSObjectSetProperty):
2639        (JSObjectCallFunction):
2640        (JSRunCreate):
2641        (JSRunCopySource):
2642        (JSRunCopyGlobalObject):
2643        (JSRunEvaluate):
2644        (JSRunCheckSyntax):
2645        (JSCollect):
2646        (JSTypeGetCFArrayCallBacks):
2647        (JSCFRetain):
2648        (JSCFRelease):
2649        (JSObjectCreateWithCFType):
2650        (CFJSObjectDispose):
2651        (JSObjectCopyPropertyNames):
2652        (CFJSObjectCopyProperty):
2653        (CFJSObjectSetProperty):
2654        (CFJSObjectCopyCFValue):
2655        (CFJSObjectEqual):
2656        (CFJSObjectCopyPropertyNames):
2657        (JSCreateCFArrayFromJSArray):
2658        (JSCreateJSArrayFromCFArray):
2659        (JSLockInterpreter):
2660        (JSUnlockInterpreter):
2661        * JavaScriptGlue.exp: Added.
2662        * JavaScriptGlue.h: Added.
2663        * JavaScriptGlue.pbproj/project.pbxproj: Added.
2664        * UserObjectImp.cpp: Added.
2665        (UserObjectPrototypeImp::UserObjectPrototypeImp):
2666        (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
2667        (UserObjectImp::UserObjectImp):
2668        (UserObjectImp::~UserObjectImp):
2669        (UserObjectImp::classInfo):
2670        (UserObjectImp::implementsCall):
2671        (UserObjectImp::call):
2672        (UserObjectImp::propList):
2673        (UserObjectImp::hasProperty):
2674        (UserObjectImp::get):
2675        (UserObjectImp::put):
2676        (UserObjectImp::GetJSUserObject):
2677        (UserObjectImp::toPrimitive):
2678        (UserObjectImp::toBoolean):
2679        (UserObjectImp::toNumber):
2680        (UserObjectImp::toString):
2681        (UserObjectImp::mark):
2682        * UserObjectImp.h: Added.
2683
2684