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