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