1 2007-03-17 Timothy Hatcher <timothy@apple.com>
5 Made Version.xcconfig smarter when building for different configurations.
6 Now uses the 522+ OpenSource version for Debug and Release, while using the
7 full 522.4 version for Production builds. The system prefix is also computed
8 based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.
10 * Configurations/JavaScriptGlue.xcconfig:
11 * Configurations/Version.xcconfig:
13 2007-03-15 Timothy Hatcher <timothy@apple.com>
17 * Factored out most of our common build settings into .xcconfig files. Anything that was common in
18 each build configuration was factored out into the shared .xcconfig file.
19 * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
20 * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
21 * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
23 * Configurations/Base.xcconfig: Added.
24 * Configurations/DebugRelease.xcconfig: Added.
25 * Configurations/JavaScriptGlue.xcconfig: Added.
26 * Configurations/Version.xcconfig: Added.
28 * JavaScriptGlue.xcodeproj/project.pbxproj:
32 2007-03-12 Geoffrey Garen <ggaren@apple.com>
34 Reviewed by Oliver Hunt.
36 Updated in light of fix for <rdar://problem/4681051> Installer crashes
37 in KJS::Collector::markOtherThreadConservatively(KJS::Collector::Thread*)
38 trying to install iLife 06 using Rosetta on an Intel Machine
41 (JSLockInterpreter): Ensure backwards compatibility by calling
42 registerThread() when explicitly taking the JSLock. (This doesn't happen
43 automatically anymore.) I doubt this actally matters, but in JavaScriptGlue
44 territory, that kind of thinking will get you killed.
46 2007-03-06 Geoffrey Garen <ggaren@apple.com>
48 Reviewed by Maciej Stachowiak.
50 Fixed all known crashers exposed by run-webkit-tests --threaded while using
51 a PAC file (for maximum carnage). See JavaScriptCore ChangeLog for
55 (JSBase::Release): Lock when deleting, because we may be deleting an object
56 (like a JSRun) that holds thread-unsafe data.
59 (CFStringToUString): Don't lock, because our caller locks. Also, locking
60 inside a function that returns thread-unsafe data by copy will only mask
64 (JSRunEvaluate): Added missing JSLock.
65 (JSRunCheckSyntax): Converted to JSLock.
66 * JavaScriptGlue.xcodeproj/project.pbxproj:
68 2007-02-22 Geoffrey Garen <ggaren@apple.com>
70 Reviewed by Darin Adler.
72 Fixed <rdar://problem/4942528> Installer.app Stuck "Examining additional
75 The problem was that JavaScriptGlue held a JSObject in a static pointer
76 without protecting it from garbage collection.
78 sUserObjectPrototypeImp = new UserObjectPrototypeImp();
79 static ProtectedPtr<UserObjectPrototypeImp> protectPrototype; // valiant, brave, but useless
81 Through an interesting comedy of errors, this object would be collected
82 and then assigned as the prototype of another object allocated at the
83 same address, thus becoming its own prototype. (See http://www.ziplo.com/grandpa.htm
84 for further explanation of this phenomenon.) Hence the infinte loop in
87 The solution is equally humorous: all of this code was completely useless --
88 it only served to create an empty object in the prototype chain -- so
92 (UserObjectImp::UserObjectImp):
95 2007-02-19 Timothy Hatcher <timothy@apple.com>
99 <rdar://problem/4636301> Deprecate JavaScriptGlue
101 * JavaScriptGlue.h: adds DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER to everything
102 * JavaScriptGlue.xcodeproj/project.pbxproj: use -Wno-deprecated-declarations to keep the project building
103 * config.h: define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER as empty on other systems
105 2007-02-16 Darin Adler <darin@apple.com>
109 - fix <rdar://problem/5000216> JavaScriptGlue framework started turning all CFNumbers
110 into signed 32bit values
112 Circumstantial evidence seems to indicate that JavaScriptGlue was depending on a bug
113 in CFNumber where CFNumberIsFloatType was returning true for 64-bit integer values.
115 * JSUtils.cpp: (JSObjectKJSValue): Removed the call to CFNumberIsFloatType in the
116 conversion of numeric values, and always use kCFNumberDoubleType, since double is
117 the internal format of numbers in JavaScriptCore. There's no value to having a
118 separate code path for integers. There's also no reason to check the return value
119 from CFNumberGetValue -- if it returns false it still does the best it can to convert
120 to a double, which is what we want.
122 * UserObjectImp.cpp: (UserObjectImp::toString): Removed a similar code path that
123 tried to handle integers separate from double. Instead, always use a double. For
124 compatibility, use a format without a decimal point when CFNumberIsFloatType returns
125 false. Also removed a bogus cast to float; the "%f" format string takes a double,
126 not a float, so all the cast did was cut down on precision.
128 2007-01-25 Mark Rowe <mrowe@apple.com>
132 * Info.plist: Update copyright string.
134 2006-12-19 Timothy Hatcher <timothy@apple.com>
138 <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features
140 * JavaScriptGlue.xcodeproj/project.pbxproj:
142 === Safari-521.26 ===
144 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
148 Build fix: DWARF and -gfull are incompatible with symbol separation.
150 * JavaScriptGlue.xcodeproj/project.pbxproj:
152 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
156 http://bugs.webkit.org/show_bug.cgi?id=10394
157 Bug 10394: WebKit Release and Production configurations should enable dead code stripping
159 * JavaScriptGlue.xcodeproj/project.pbxproj:
161 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
165 http://bugs.webkit.org/show_bug.cgi?id=10384
166 Bug 10384: Switch to DWARF for Release configuration
168 * JavaScriptGlue.xcodeproj/project.pbxproj:
170 2006-08-04 Sam Weinig <sam.weinig@gmail.com>
174 - patch for http://bugs.webkit.org/show_bug.cgi?id=10192
175 Make WebCore (and friends) compile with -Wshorten-64-to-32
177 * Adds -Wshorten-64-to-32 flag to Xcode project.
179 * JavaScriptGlue.xcodeproj/project.pbxproj:
181 2006-08-03 Sam Weinig <sam.weinig@gmail.com>
185 - patch for http://bugs.webkit.org/show_bug.cgi?id=10176
186 Make WebCore compile with -Wundef
188 * Adds -Wundef flag to Xcode project
190 * JavaScriptGlue.xcodeproj/project.pbxproj:
192 2006-07-29 Sam Weinig <sam.weinig@gmail.com>
196 - patch for http://bugs.webkit.org/show_bug.cgi?id=10080
197 Adopt pedantic changes from the Unity project to improve
198 cross-compiler compatibility
201 * Turning on gcc warning for missing newline at the end of a source file
202 (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
204 * JavaScriptGlue.xcodeproj/project.pbxproj:
206 === Safari-521.19 ===
208 2006-07-19 Geoffrey Garen <ggaren@apple.com>
210 Fixed by Darin & Maciej, reviewed by me.
212 - Fixed <rdar://problem/4638934> Leopard 9A227: Installer crashes right
213 after LCA and while preparing Installation
215 Compile release/production with NDEBUG set, to ensure binary compatibility
216 between JavaScriptGlue and JavaScriptCore. In debug builds, JavaScriptCore
217 includes an extra debug data member in HashSet.
219 * JavaScriptGlue.xcodeproj/project.pbxproj:
221 === Safari-521.18 ===
223 2006-07-15 Maciej Stachowiak <mjs@apple.com>
227 - switch property lists to be vector+set of Identifiers instead of list of References
230 (KJSValueToCFTypeInternal): updated for JSC SPI changes
231 * JSValueWrapper.cpp:
232 (JSValueWrapper::JSObjectCopyPropertyNames): ditto
234 (UserObjectImp::getPropertyNames): ditto
237 === Safari-521.17 ===
239 2006-07-14 Geoffrey Garen <ggaren@apple.com>
243 - Updated JSInterpreter to work with Interpreter ref-counting in JavaScriptCore.
245 (JSInterpreter::JSInterpreter::~JSInterpreter): Now protected to catch
248 2006-07-12 Anders Carlsson <acarlsson@apple.com>
253 (KJSValueToCFTypeInternal):
254 * JSValueWrapper.cpp:
255 (JSValueWrapper::JSObjectCopyPropertyNames):
257 (UserObjectImp::getPropertyList):
259 === Safari-521.15 ===
261 2006-07-07 Geoffrey Garen <ggaren@apple.com>
266 (KJSValueToCFTypeInternal):
267 * JSValueWrapper.cpp:
268 (JSValueWrapper::JSObjectCopyPropertyNames):
270 2006-07-03 Geoffrey Garen <ggaren@apple.com>
275 (JSRun::CheckSyntax): Updated to use new checkSyntax syntax in JSC.
276 * JavaScriptGlue.xcodeproj/project.pbxproj:
278 === Safari-521.14 ===
280 2006-06-28 Timothy Hatcher <timothy@apple.com>
282 Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
284 * JavaScriptGlue.xcodeproj/project.pbxproj:
286 2006-06-24 David Kilzer <ddkilzer@kilzer.net>
290 * Info.plist: Fixed copyright to include 2003-2006.
292 === JavaScriptGlue-521.13 ===
294 2006-06-20 Geoffrey Garen <ggaren@apple.com>
298 - Required for JS API: Rename propList to getPropertyList and have it
299 take its target property list by reference so that subclasses can
300 add properties to the list before calling through to their superclasses.
303 (KJSValueToCFTypeInternal):
304 * JSValueWrapper.cpp:
305 (JSValueWrapper::JSObjectCopyPropertyNames):
307 (UserObjectImp::getPropertyList):
310 2006-06-15 Timothy Hatcher <timothy@apple.com>
312 Reviewed by Geoff and Darin.
314 Prefer the DWARF debugging symbols format for use in Xcode 2.3.
316 * JavaScriptGlue.xcodeproj/project.pbxproj:
318 2006-06-12 Geoffrey Garen <ggaren@apple.com>
320 Reviewed by TimO, Maciej.
322 - JSGlue part of merging InterpreterImp into Interpreter.
324 Since there's now a kjs forwarding header, I moved all forwarding
325 headers into a "ForwardingHeaders" directory, like in WebCore.
327 * ForwardingHeaders: Added.
328 * ForwardingHeaders/kjs: Added.
329 * ForwardingHeaders/kjs/ExecState.h: Added.
330 * ForwardingHeaders/wtf: Added.
331 * JavaScriptGlue.xcodeproj/project.pbxproj:
334 * wtf/AlwaysInline.h: Removed.
335 * wtf/Assertions.h: Removed.
336 * wtf/FastMalloc.h: Removed.
337 * wtf/Forward.h: Removed.
338 * wtf/HashCountedSet.h: Removed.
339 * wtf/HashSet.h: Removed.
340 * wtf/Noncopyable.h: Removed.
341 * wtf/OwnArrayPtr.h: Removed.
342 * wtf/OwnPtr.h: Removed.
343 * wtf/PassRefPtr.h: Removed.
344 * wtf/Platform.h: Removed.
345 * wtf/RefPtr.h: Removed.
346 * wtf/Vector.h: Removed.
348 === JavaScriptGlue-521.10 ===
350 2006-05-09 Maciej Stachowiak <mjs@apple.com>
352 Rubber stamped by Anders.
354 - renamed kxmlcore to wtf
362 * kxmlcore/AlwaysInline.h: Removed.
363 * kxmlcore/Assertions.h: Removed.
364 * kxmlcore/FastMalloc.h: Removed.
365 * kxmlcore/Forward.h: Removed.
366 * kxmlcore/HashCountedSet.h: Removed.
367 * kxmlcore/HashSet.h: Removed.
368 * kxmlcore/Noncopyable.h: Removed.
369 * kxmlcore/OwnArrayPtr.h: Removed.
370 * kxmlcore/OwnPtr.h: Removed.
371 * kxmlcore/PassRefPtr.h: Removed.
372 * kxmlcore/Platform.h: Removed.
373 * kxmlcore/RefPtr.h: Removed.
374 * kxmlcore/Vector.h: Removed.
377 2006-04-11 Darin Adler <darin@apple.com>
379 - try to fix Windows build
381 * kxmlcore/HashForward.h: Removed.
383 2006-04-10 Darin Adler <darin@apple.com>
385 Rubber-stamped by John Sullivan.
387 - added forwarding headers for the new Forward.h and HashForward.h files
389 * kxmlcore/Forward.h: Added.
390 * kxmlcore/HashForward.h: Added.
392 2006-04-04 Timothy Hatcher <timothy@apple.com>
396 The Debug and Release frameworks are now built with install paths relative to the build products directory.
397 This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore.
399 * JavaScriptGlue.xcodeproj/project.pbxproj:
401 2006-04-02 Eric Seidel <eseidel@apple.com>
403 Reviewed by andersca.
405 Add missing forwarding header.
407 * kxmlcore/Vector.h: Added.
409 2006-03-31 Geoffrey Garen <ggaren@apple.com>
413 - Fixed <rdar://problem/4430836> JavaScript patch crashing Quartz
416 JSValueWrappers used to hold on to the ExecState that pertained at
417 the time of their creation. Since ExecStates are transient, that
418 design was totally bogus, and it would crash once the ExecState had
421 Unfortunately, there's no clean solution to this problem, since
422 the JSGlue API has no notion of state. The solution here is to use
423 a shared, global ExecState for the purpose of JSGlue calls. Given
424 the pre-existing limitations in the JSGlue API, this design
425 shouldn't actually introduce any new limitations (see comments in
428 I tested with Quartz Composer and PAC files, neither of which are
432 (KJSValueToJSObject):
433 * JSValueWrapper.cpp:
434 (JSValueWrapper::JSValueWrapper):
435 (JSValueWrapper::GetValue):
436 (getProcessGlobalExecState):
437 (JSValueWrapper::JSObjectCopyPropertyNames):
438 (JSValueWrapper::JSObjectCopyProperty):
439 (JSValueWrapper::JSObjectSetProperty):
440 (JSValueWrapper::JSObjectCallFunction):
441 (JSValueWrapper::JSObjectCopyCFValue):
444 Also added a test harness file. It was helpful while I was testing,
445 and may come in handy in the future:
447 * JavaScriptGlue.xcodeproj/project.pbxproj:
448 testjsglue.cpp: Added.
450 2006-03-28 Darin Adler <darin@apple.com>
454 - added a build step that checks for init routines
456 * JavaScriptGlue.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
457 check-for-global-initializers script.
459 2006-03-02 Maciej Stachowiak <mjs@apple.com>
461 Not reviewed, but I noticed these trivial extra changes were needed to avoid
462 breaking the build with my reviewed patch for:
464 http://bugs.webkit.org/show_bug.cgi?id=7387
466 Add config.h, includes of it, and Platform.h forwarding header.
472 * JSValueWrapper.cpp:
473 * JavaScriptGlue.cpp:
476 * kxmlcore/Platform.h: Added.
478 === JavaScriptGlue-521.7 ===
480 2006-02-10 Geoffrey Garen <ggaren@apple.com>
487 (UserObjectImp::toPrimitive):
490 2006-02-03 Timothy Hatcher <timothy@apple.com>
494 Renamed configuration names to Debug, Release and Production.
496 * JavaScriptGlue.xcodeproj/project.pbxproj:
498 2006-02-01 Darin Adler <darin@apple.com>
500 - added some forwarding headers to make new JavaScriptCore changes work
502 * kxmlcore/Assertions.h: Added.
503 * kxmlcore/Noncopyable.h: Added.
504 * kxmlcore/OwnPtr.h: Added.
505 * kxmlcore/OwnArrayPtr.h: Added.
507 2006-01-16 Timothy Hatcher <timothy@apple.com>
509 Adding the license header to all files so we can
510 move JavaScriptGlue into the open source repository.
513 * JSBase.cpp: license header added.
515 * JSObject.cpp: ditto.
519 * JSUtils.cpp: ditto.
521 * JSValueWrapper.cpp: ditto.
522 * JSValueWrapper.h: ditto.
523 * JavaScriptGlue.cpp: ditto.
524 * JavaScriptGlue.h: ditto.
525 * UserObjectImp.cpp: ditto.
526 * UserObjectImp.h: ditto.
528 2005-12-21 Timothy Hatcher <timothy@apple.com>
530 * JavaScriptGlue.xcodeproj/project.pbxproj:
531 Set tab width to 8, indent width to 4 and uses tabs to false per file.
533 2005-12-19 Darin Adler <darin@apple.com>
535 Reviewed by Geoff Garen and Eric Seidel.
537 - fix http://bugs.webkit.org/show_bug.cgi?id=4923
538 stop using <ostream> in WebCore, eliminating the <cmath> troubles it causes
540 * kxmlcore/AlwaysInline.h: Added.
542 2005-12-15 Darin Adler <darin@apple.com>
546 * JSRun.cpp: (JSRun::Evaluate): Updated for change to Interpreter::evaluate.
548 2005-12-15 Darin Adler <darin@apple.com>
550 Reviewed by Tim Hatcher.
552 * JavaScriptGlue.xcodeproj/project.pbxproj: Removed some redundant build
553 settings, turned off prebinding explicitly for our Development and
554 Deployment builds, remove .exp file from sources. All "clean-up".
558 2005-12-13 Geoffrey Garen <ggaren@apple.com>
560 - Fixed build after Anders's last checkin to JavaScriptCore.
565 (UserObjectImp::userObjectGetter): Updated to reflect new argument that
566 getters take (unused here).
569 2005-12-13 Maciej Stachowiak <mjs@apple.com>
573 - added forwarding header for HashCountedSet
575 * kxmlcore/HashCountedSet.h: Added.
577 2005-12-10 Darin Adler <darin@apple.com>
579 Rubber stamped by Maciej.
581 - updated for KJS class renaming
583 * many files and functions
585 2005-12-10 Darin Adler <darin@apple.com>
589 - eliminated the old Undefined(), Null(), Boolean(), Number(), and String()
591 Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString().
596 (UserObjectImp::callAsFunction):
597 (UserObjectImp::toPrimitive):
599 2005-12-05 Maciej Stachowiak <mjs@apple.com>
601 - added new forwarding headers
603 * kxmlcore/PassRefPtr.h: Added.
604 * kxmlcore/RefPtr.h: Added.
606 2005-12-05 Maciej Stachowiak <mjs@apple.com>
608 * kxmlcore/PassRefPtr.h: Added.
610 2005-11-26 Maciej Stachowiak <mjs@apple.com>
612 Rubber stamped by Eric.
614 - renamed InterpreterLock to JSLock
619 (KJSValueToCFTypeInternal):
620 * JSValueWrapper.cpp:
621 (JSValueWrapper::JSObjectCopyPropertyNames):
622 (JSValueWrapper::JSObjectCopyProperty):
623 (JSValueWrapper::JSObjectSetProperty):
624 (JSValueWrapper::JSObjectCallFunction):
625 (JSValueWrapper::JSObjectCopyCFValue):
626 * JavaScriptGlue.cpp:
630 (JSUnlockInterpreter):
632 (UserObjectImp::callAsFunction):
634 2005-11-16 Maciej Stachowiak <mjs@apple.com>
638 Updated to use new API to drop all locks.
640 * JavaScriptGlue.cpp:
642 (JSUnlockInterpreter):
644 (UserObjectImp::callAsFunction):
646 2005-11-14 Geoffrey Garen <ggaren@apple.com>
650 - Part of the fix for <rdar://problem/4342216> Installer crash in
651 KJS::ValueImp::marked() when garbage collector runs inside call to
652 ConstantValues::init()
654 Added locking in JSRunCreate, since JSRun::JSRun constructs an object.
656 * JavaScriptGlue.cpp:
659 2005-11-10 Geoffrey Garen <ggaren@apple.com>
663 - Fixed <rdar://problem/4334445> installer crashed on my
664 dual g4 450Mhz after clicking language
666 - Reversed backwards NULL check.
667 - Inserted guards against NULL fJSUserObject data member.
668 - Cleaned up some style.
671 (KJSValueToCFTypeInternal):
673 (UserObjectImp::~UserObjectImp):
674 (UserObjectImp::callAsFunction):
675 (UserObjectImp::userObjectGetter):
676 (UserObjectImp::getOwnPropertySlot):
677 (UserObjectImp::put):
678 (UserObjectImp::mark):
680 2005-11-04 Timothy Hatcher <timothy@apple.com>
684 * JavaScriptGlue.xcodeproj/project.pbxproj:
685 Fixed the FRAMEWORK_SEARCH_PATHS to look in the WebKit
686 Frameworks for the Default config.
688 2005-11-03 Timothy Hatcher <timothy@apple.com>
690 Reviewed by Darin and Vicki.
692 * JavaScriptGlue.xcodeproj/project.pbxproj:
693 Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
694 $(NEXT_ROOT) in a few spots to make build-root work.
696 2005-11-01 Maciej Stachowiak <mjs@apple.com>
700 <rdar://problem/4324107> get JavaScriptGlue working with TOT JavaScriptCore again
702 - reverted all this stuff to use ReferenceList instead of IdentifierSequencedSet
705 (KJSValueToCFTypeInternal):
706 * JSValueWrapper.cpp:
707 (JSValueWrapper::JSObjectCopyPropertyNames):
709 (UserObjectImp::propList):
712 2005-10-11 Timothy Hatcher <timothy@apple.com>
714 Setup the proper Framework search path for the Default config.
715 Prepping for a TOT submission and build by B&I.
717 * JavaScriptGlue.xcodeproj/project.pbxproj:
719 2005-10-10 Darin Adler <darin@apple.com>
723 - converted tabs to spaces, NULL to 0, added some (void), got rid of __ prefixes
724 in headers (reserved for compiler/library)
735 * JSValueWrapper.cpp:
737 * JavaScriptGlue.cpp:
742 2005-10-10 Darin Adler <darin@apple.com>
744 * .cvsignore: Added. Ignore Makefile.in and Makefile.
746 2005-10-07 Timothy Hatcher <timothy@apple.com>
750 Build fix, needed to disable RTTI. Upgraded to a native target.
752 * JavaScriptGlue.xcodeproj/project.pbxproj:
755 2005-10-05 Maciej Stachowiak <mjs@apple.com>
757 Reviewed by Eric and Darin.
759 <rdar://problem/4260506> Port JavaScriptGlue to TOT JavaScriptCore
763 (JSRun::GlobalObject):
765 (JSInterpreter::JSInterpreter):
767 (KJSValueToJSObject):
769 (KJSValueToCFTypeInternal):
772 * JSValueWrapper.cpp:
773 (JSValueWrapper::JSValueWrapper):
774 (JSValueWrapper::GetValue):
775 (JSValueWrapper::JSObjectCopyPropertyNames):
776 (JSValueWrapper::JSObjectCopyProperty):
777 (JSValueWrapper::JSObjectSetProperty):
778 (JSValueWrapper::JSObjectCallFunction):
779 (JSValueWrapper::JSObjectMark):
781 * JavaScriptGlue.cpp:
782 (JSRunCopyGlobalObject):
783 * JavaScriptGlue.xcodeproj/project.pbxproj:
784 * Makefile.am: Added.
786 (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
787 (UserObjectImp::UserObjectImp):
788 (UserObjectImp::callAsFunction):
789 (UserObjectImp::getPropertyNames):
790 (UserObjectImp::userObjectGetter):
791 (UserObjectImp::getOwnPropertySlot):
792 (UserObjectImp::put):
793 (UserObjectImp::toPrimitive):
794 (UserObjectImp::mark):
796 * kxmlcore/FastMalloc.h: Added.
797 * kxmlcore/HashSet.h: Added.
799 2005-09-14 Maciej Stachowiak <mjs@apple.com>
803 - fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
805 Make sure to lock using the InterpreterLock class in all places that need it
806 (including anything that uses the collector, the parser, the protect count hash table,
807 and anything that allocates via fast_malloc).
812 (KJSValueToCFTypeInternal):
814 * JSValueWrapper.cpp:
815 (JSValueWrapper::JSObjectCopyPropertyNames):
816 (JSValueWrapper::JSObjectCopyProperty):
817 (JSValueWrapper::JSObjectSetProperty):
818 (JSValueWrapper::JSObjectCallFunction):
819 (JSValueWrapper::JSObjectCopyCFValue):
820 * JavaScriptGlue.cpp:
823 2005-09-27 Adele Peterson <adele@apple.com>
827 <rdar://problem/4223297> JavaScriptGlue: Submit 64-bit compatible versions of your API and SPIs by September 15
829 * JavaScriptGlue.h: Changed UInt32 to CFTypeID for JSTypeID
831 2005-09-06 Geoffrey Garen <ggaren@apple.com>
833 -upgraded project files to XCode 2.1
835 * JavaScriptGlue.pbproj/project.pbxproj: Removed.
836 * JavaScriptGlue.xcodeproj/.cvsignore: Added.
837 * JavaScriptGlue.xcodeproj/project.pbxproj: Added.
839 2005-09-01 Maciej Stachowiak <mjs@apple.com>
841 Rubber stamped by hyatt.
843 - initial import of JavaScriptGlue into our repository
845 * English.lproj/InfoPlist.strings: Added.
851 (JSBase::RetainCount):
853 (JSBase::CopyDescription):
856 * JSObject.cpp: Added.
857 (JSUserObject::JSUserObject):
858 (JSUserObject::~JSUserObject):
859 (JSUserObject::CopyPropertyNames):
860 (JSUserObject::CopyProperty):
861 (JSUserObject::SetProperty):
862 (JSUserObject::ImplementsCall):
863 (JSUserObject::CallFunction):
864 (JSUserObject::CopyCFValue):
865 (JSUserObject::Equal):
866 (JSUserObject::Mark):
867 (JSUserObject::GetData):
869 (JSUserObject::DataType):
875 (JSRun::GlobalObject):
876 (JSRun::GetInterpreter):
878 (JSRun::CheckSyntax):
880 (JSInterpreter::JSInterpreter):
881 (JSInterpreter::JSInterpreter::~JSInterpreter):
882 (JSInterpreter::Flags):
883 * JSUtils.cpp: Added.
886 (CFStringToIdentifier):
887 (IdentifierToCFString):
888 (KJSValueToJSObject):
890 (KJSValueToCFTypeInternal):
896 * JSValueWrapper.cpp: Added.
897 (JSValueWrapper::JSValueWrapper):
898 (JSValueWrapper::~JSValueWrapper):
899 (JSValueWrapper::GetValue):
900 (JSValueWrapper::GetExecState):
901 (JSValueWrapper::GetJSObectCallBacks):
902 (JSValueWrapper::JSObjectDispose):
903 (JSValueWrapper::JSObjectCopyPropertyNames):
904 (JSValueWrapper::JSObjectCopyProperty):
905 (JSValueWrapper::JSObjectSetProperty):
906 (JSValueWrapper::JSObjectCallFunction):
907 (JSValueWrapper::JSObjectCopyCFValue):
908 (JSValueWrapper::JSObjectMark):
909 * JSValueWrapper.h: Added.
910 * JavaScriptGlue.cpp: Added.
920 (JSObjectCreateInternal):
921 (JSObjectCopyCFValue):
923 (JSObjectCopyProperty):
924 (JSObjectSetProperty):
925 (JSObjectCallFunction):
928 (JSRunCopyGlobalObject):
932 (JSTypeGetCFArrayCallBacks):
935 (JSObjectCreateWithCFType):
937 (JSObjectCopyPropertyNames):
938 (CFJSObjectCopyProperty):
939 (CFJSObjectSetProperty):
940 (CFJSObjectCopyCFValue):
942 (CFJSObjectCopyPropertyNames):
943 (JSCreateCFArrayFromJSArray):
944 (JSCreateJSArrayFromCFArray):
946 (JSUnlockInterpreter):
947 * JavaScriptGlue.exp: Added.
948 * JavaScriptGlue.h: Added.
949 * JavaScriptGlue.pbproj/project.pbxproj: Added.
950 * UserObjectImp.cpp: Added.
951 (UserObjectPrototypeImp::UserObjectPrototypeImp):
952 (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
953 (UserObjectImp::UserObjectImp):
954 (UserObjectImp::~UserObjectImp):
955 (UserObjectImp::classInfo):
956 (UserObjectImp::implementsCall):
957 (UserObjectImp::call):
958 (UserObjectImp::propList):
959 (UserObjectImp::hasProperty):
960 (UserObjectImp::get):
961 (UserObjectImp::put):
962 (UserObjectImp::GetJSUserObject):
963 (UserObjectImp::toPrimitive):
964 (UserObjectImp::toBoolean):
965 (UserObjectImp::toNumber):
966 (UserObjectImp::toString):
967 (UserObjectImp::mark):
968 * UserObjectImp.h: Added.