• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 2009-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 
19 2009-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 
27 2009-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 
54 2009-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 
64 2009-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 
81 2009-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 
89 2009-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 
97 2009-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 
108 2009-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 
119 2009-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 
131 2009-05-07  Oliver Hunt  <oliver@apple.com>
132 
133         Reviewed by Gavin Barraclough.
134 
135         Add calling convention annotation
136 
137         * JSObject.cpp:
138 
139 2009-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 
169 2009-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 
180 2009-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 
189 2009-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 
198 2009-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 
209 2009-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 
218 2009-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 
226 2009-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 
236 2009-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 
248 2009-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 
266 2009-01-14  Dan Bernstein  <mitz@apple.com>
267 
268         Reviewed by John Sullivan.
269 
270         - update copyright
271 
272         * Info.plist:
273 
274 2009-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 
284 2009-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 
315 2008-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 
324 2008-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 
334 2008-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 
344 2008-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 
354 2008-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 
372 2008-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 
382 2008-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 
394 2008-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 
411 2008-10-31  Stephanie Lewis  <slewis@apple.com>
412 
413         Fix build by including right files.
414 
415         * JSRun.cpp:
416 
417 2008-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 
425 2008-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 
454 2008-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 
462 2008-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 
495 2008-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 
512 2008-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 
523 2008-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 
550 2008-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 
567 2008-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 
575 2008-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 
584 2008-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 
593 2008-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 
601 2008-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 
610 2008-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 
623 2008-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 
632 2008-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 
641 2008-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 
650 2008-08-22  Anders Carlsson  <andersca@apple.com>
651 
652         Fix build for real this time.
653 
654         * UserObjectImp.h:
655 
656 2008-08-22  Anders Carlsson  <andersca@apple.com>
657 
658         Fix build.
659 
660         * UserObjectImp.cpp:
661         (UserObjectImp::toPrimitive):
662         * UserObjectImp.h:
663 
664 2008-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 
693 2008-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 
708 2008-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 
716 2008-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 
726 2008-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 
756 2008-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 
770 2008-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 
778 2008-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 
785 2008-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 
794 2008-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 
808 2008-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 
822 2008-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 
830 2008-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 
839 2008-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 
853 2008-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 
860 2008-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 
894 2008-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 
902 2008-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 
910 2008-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 
934 2008-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 
942 2008-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 
950 2008-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 
968 2008-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 
978 2008-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 
986 2008-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 
995 2008-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 
1003 2008-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 
1012 2008-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 
1025 2008-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 
1032 2008-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 
1040 2008-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 
1058 2008-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 
1072 2008-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 
1097 2008-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 
1107 2008-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 
1115 2008-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 
1123 2008-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 
1131 2008-03-20  Maciej Stachowiak  <mjs@apple.com>
1132 
1133         - fix build
1134 
1135         * ForwardingHeaders/wtf/ListRefPtr.h: Added.
1136 
1137 2008-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 
1146 2008-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 
1156 2008-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 
1164 2008-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 
1177 2007-12-19  Geoffrey Garen  <ggaren@apple.com>
1178 
1179         Build fix.
1180 
1181         * ForwardingHeaders/wtf/VectorTraits.h: Added.
1182 
1183 2007-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 
1192 2007-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 
1211 2007-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 
1226 2007-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 
1244 2007-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 
1253 2007-11-27  Anders Carlsson  <andersca@apple.com>
1254 
1255         Build fix.
1256 
1257         * JSUtils.cpp:
1258         (KJSValueToCFTypeInternal):
1259         * JSValueWrapper.cpp:
1260         (JSValueWrapper::JSObjectCopyPropertyNames):
1261 
1262 2007-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 
1271 2007-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 
1283 2007-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 
1292 2007-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 
1300 2007-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 
1306 2007-11-05  Geoffrey Garen  <ggaren@apple.com>
1307 
1308         Build fix.
1309 
1310         * ForwardingHeaders/kjs/value.h: Added.
1311 
1312 2007-11-03  Sam Weinig  <sam@webkit.org>
1313 
1314         Build-fix.
1315 
1316         * UserObjectImp.cpp:
1317 
1318 2007-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 
1326 2007-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 
1339 2007-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 
1348 2007-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 
1358 2007-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 
1370 2007-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 
1380 2007-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 
1388 2007-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 
1395 2007-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 
1401 2007-03-24  Mark Rowe  <mrowe@apple.com>
1402 
1403         Rubber-stamped by Darin Adler.
1404 
1405         * Configurations/JavaScriptGlue.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS.
1406 
1407 2007-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 
1415 2007-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 
1423 2007-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 
1435 2007-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 
1454 2007-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 
1468 2007-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 
1490 2007-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 
1517 2007-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 
1527 2007-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 
1550 2007-01-25  Mark Rowe  <mrowe@apple.com>
1551 
1552         Reviewed by Maciej.
1553 
1554         * Info.plist: Update copyright string.
1555 
1556 2006-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 
1566 2006-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 
1574 2006-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 
1583 2006-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 
1592 2006-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 
1603 2006-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 
1614 2006-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 
1630 2006-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 
1645 2006-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 
1661 2006-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 
1670 2006-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 
1683 2006-07-07  Geoffrey Garen  <ggaren@apple.com>
1684 
1685         - build fix
1686 
1687         * JSUtils.cpp:
1688         (KJSValueToCFTypeInternal):
1689         * JSValueWrapper.cpp:
1690         (JSValueWrapper::JSObjectCopyPropertyNames):
1691 
1692 2006-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 
1702 2006-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 
1708 2006-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 
1716 2006-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 
1732 2006-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 
1740 2006-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 
1772 2006-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 
1799 2006-04-11  Darin Adler  <darin@apple.com>
1800 
1801         - try to fix Windows build
1802 
1803         * kxmlcore/HashForward.h: Removed.
1804 
1805 2006-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 
1814 2006-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 
1823 2006-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 
1831 2006-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 
1872 2006-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 
1881 2006-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 
1902 2006-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 
1912 2006-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 
1920 2006-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 
1929 2006-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 
1950 2005-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 
1955 2005-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 
1964 2005-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 
1970 2005-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 
1980 2005-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 
1991 2005-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 
1999 2005-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 
2007 2005-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 
2021 2005-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 
2028 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
2029 
2030         * kxmlcore/PassRefPtr.h: Added.
2031 
2032 2005-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 
2056 2005-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 
2068 2005-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 
2081 2005-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 
2102 2005-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 
2110 2005-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 
2118 2005-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 
2134 2005-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 
2141 2005-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 
2164 2005-10-10  Darin Adler  <darin@apple.com>
2165 
2166         * .cvsignore: Added. Ignore Makefile.in and Makefile.
2167 
2168 2005-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 
2177 2005-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 
2221 2005-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 
2245 2005-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 
2253 2005-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 
2261 2005-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