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