2007-01-25 Mark Rowe <mrowe@apple.com>
[WebKit-https.git] / JavaScriptGlue / ChangeLog
1 2007-01-25  Mark Rowe  <mrowe@apple.com>
2
3         Reviewed by Maciej.
4
5         * Info.plist: Update copyright string.
6
7 2006-12-19  Timothy Hatcher  <timothy@apple.com>
8
9         Reviewed by Darin.
10
11         <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features
12
13         * JavaScriptGlue.xcodeproj/project.pbxproj:
14
15 === Safari-521.26 ===
16
17 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
18
19         Reviewed by Tim H.
20
21         Build fix:  DWARF and -gfull are incompatible with symbol separation.
22
23         * JavaScriptGlue.xcodeproj/project.pbxproj:
24
25 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
26
27         Reviewed by Tim H.
28
29         http://bugs.webkit.org/show_bug.cgi?id=10394
30         Bug 10394: WebKit Release and Production configurations should enable dead code stripping
31
32         * JavaScriptGlue.xcodeproj/project.pbxproj:
33
34 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
35
36         Reviewed by Tim H.
37
38         http://bugs.webkit.org/show_bug.cgi?id=10384
39         Bug 10384: Switch to DWARF for Release configuration
40
41         * JavaScriptGlue.xcodeproj/project.pbxproj:
42
43 2006-08-04  Sam Weinig  <sam.weinig@gmail.com>
44
45         Reviewed by Darin.
46
47         - patch for http://bugs.webkit.org/show_bug.cgi?id=10192
48           Make WebCore (and friends) compile with -Wshorten-64-to-32
49
50           * Adds -Wshorten-64-to-32 flag to Xcode project.
51
52         * JavaScriptGlue.xcodeproj/project.pbxproj:
53
54 2006-08-03  Sam Weinig  <sam.weinig@gmail.com>
55
56         Reviewed by Darin.
57
58         - patch for http://bugs.webkit.org/show_bug.cgi?id=10176
59           Make WebCore compile with -Wundef
60
61           * Adds -Wundef flag to Xcode project
62
63         * JavaScriptGlue.xcodeproj/project.pbxproj:
64
65 2006-07-29  Sam Weinig  <sam.weinig@gmail.com>
66
67         Reviewed by Darin.
68
69         - patch for http://bugs.webkit.org/show_bug.cgi?id=10080
70           Adopt pedantic changes from the Unity project to improve 
71           cross-compiler compatibility
72
73           Changes include:
74           * Turning on gcc warning for missing newline at the end of a source file
75             (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
76
77         * JavaScriptGlue.xcodeproj/project.pbxproj:
78
79 === Safari-521.19 ===
80
81 2006-07-19  Geoffrey Garen  <ggaren@apple.com>
82
83         Fixed by Darin & Maciej, reviewed by me.
84         
85         - Fixed <rdar://problem/4638934> Leopard 9A227: Installer crashes right 
86         after LCA and while preparing Installation
87
88         Compile release/production with NDEBUG set, to ensure binary compatibility
89         between JavaScriptGlue and JavaScriptCore. In debug builds, JavaScriptCore 
90         includes an extra debug data member in HashSet.
91         
92         * JavaScriptGlue.xcodeproj/project.pbxproj:
93
94 === Safari-521.18 ===
95
96 2006-07-15  Maciej Stachowiak  <mjs@apple.com>
97
98         Reviewed by Darin.
99
100         - switch property lists to be vector+set of Identifiers instead of list of References
101         
102         * JSUtils.cpp:
103         (KJSValueToCFTypeInternal): updated for JSC SPI changes
104         * JSValueWrapper.cpp:
105         (JSValueWrapper::JSObjectCopyPropertyNames): ditto
106         * UserObjectImp.cpp:
107         (UserObjectImp::getPropertyNames): ditto
108         * UserObjectImp.h:
109
110 === Safari-521.17 ===
111
112 2006-07-14  Geoffrey Garen  <ggaren@apple.com>
113
114         Reviewed by Maciej.
115         
116         - Updated JSInterpreter to work with Interpreter ref-counting in JavaScriptCore.
117
118         (JSInterpreter::JSInterpreter::~JSInterpreter): Now protected to catch
119         manual delete.
120
121 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
122
123         Build fix
124         
125         * JSUtils.cpp:
126         (KJSValueToCFTypeInternal):
127         * JSValueWrapper.cpp:
128         (JSValueWrapper::JSObjectCopyPropertyNames):
129         * UserObjectImp.cpp:
130         (UserObjectImp::getPropertyList):
131         
132 === Safari-521.15 ===
133
134 2006-07-07  Geoffrey Garen  <ggaren@apple.com>
135
136         - build fix
137
138         * JSUtils.cpp:
139         (KJSValueToCFTypeInternal):
140         * JSValueWrapper.cpp:
141         (JSValueWrapper::JSObjectCopyPropertyNames):
142
143 2006-07-03  Geoffrey Garen  <ggaren@apple.com>
144
145         Reviewed by Maciej.
146         
147         * JSRun.cpp:
148         (JSRun::CheckSyntax): Updated to use new checkSyntax syntax in JSC.
149         * JavaScriptGlue.xcodeproj/project.pbxproj:
150
151 === Safari-521.14 ===
152
153 2006-06-28  Timothy Hatcher  <timothy@apple.com>
154
155         Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
156
157         * JavaScriptGlue.xcodeproj/project.pbxproj:
158
159 2006-06-24  David Kilzer  <ddkilzer@kilzer.net>
160
161         Reviewed by Timothy.
162
163         * Info.plist: Fixed copyright to include 2003-2006.
164
165 === JavaScriptGlue-521.13 ===
166         
167 2006-06-20  Geoffrey Garen  <ggaren@apple.com>
168
169         Reviewed by Anders.
170         
171         - Required for JS API: Rename propList to getPropertyList and have it
172         take its target property list by reference so that subclasses can
173         add properties to the list before calling through to their superclasses.
174
175         * JSUtils.cpp:
176         (KJSValueToCFTypeInternal):
177         * JSValueWrapper.cpp:
178         (JSValueWrapper::JSObjectCopyPropertyNames):
179         * UserObjectImp.cpp:
180         (UserObjectImp::getPropertyList):
181         * UserObjectImp.h:
182
183 2006-06-15  Timothy Hatcher  <timothy@apple.com>
184
185         Reviewed by Geoff and Darin.
186         
187         Prefer the DWARF debugging symbols format for use in Xcode 2.3.
188
189         * JavaScriptGlue.xcodeproj/project.pbxproj:
190
191 2006-06-12  Geoffrey Garen  <ggaren@apple.com>
192
193         Reviewed by TimO, Maciej.
194         
195         - JSGlue part of merging InterpreterImp into Interpreter.
196         
197         Since there's now a kjs forwarding header, I moved all forwarding
198         headers into a "ForwardingHeaders" directory, like in WebCore.
199
200         * ForwardingHeaders: Added.
201         * ForwardingHeaders/kjs: Added.
202         * ForwardingHeaders/kjs/ExecState.h: Added.
203         * ForwardingHeaders/wtf: Added.
204         * JavaScriptGlue.xcodeproj/project.pbxproj:
205         * config.h:
206         * wtf: Removed.
207         * wtf/AlwaysInline.h: Removed.
208         * wtf/Assertions.h: Removed.
209         * wtf/FastMalloc.h: Removed.
210         * wtf/Forward.h: Removed.
211         * wtf/HashCountedSet.h: Removed.
212         * wtf/HashSet.h: Removed.
213         * wtf/Noncopyable.h: Removed.
214         * wtf/OwnArrayPtr.h: Removed.
215         * wtf/OwnPtr.h: Removed.
216         * wtf/PassRefPtr.h: Removed.
217         * wtf/Platform.h: Removed.
218         * wtf/RefPtr.h: Removed.
219         * wtf/Vector.h: Removed.
220
221 === JavaScriptGlue-521.10 ===
222
223 2006-05-09  Maciej Stachowiak  <mjs@apple.com>
224
225         Rubber stamped by Anders.
226         
227         - renamed kxmlcore to wtf
228         
229         kxmlcore --> wtf
230         KXMLCore --> WTF
231         KXC --> WTF
232
233         * config.h:
234         * kxmlcore: Removed.
235         * kxmlcore/AlwaysInline.h: Removed.
236         * kxmlcore/Assertions.h: Removed.
237         * kxmlcore/FastMalloc.h: Removed.
238         * kxmlcore/Forward.h: Removed.
239         * kxmlcore/HashCountedSet.h: Removed.
240         * kxmlcore/HashSet.h: Removed.
241         * kxmlcore/Noncopyable.h: Removed.
242         * kxmlcore/OwnArrayPtr.h: Removed.
243         * kxmlcore/OwnPtr.h: Removed.
244         * kxmlcore/PassRefPtr.h: Removed.
245         * kxmlcore/Platform.h: Removed.
246         * kxmlcore/RefPtr.h: Removed.
247         * kxmlcore/Vector.h: Removed.
248         * wtf: Added.
249
250 2006-04-11  Darin Adler  <darin@apple.com>
251
252         - try to fix Windows build
253
254         * kxmlcore/HashForward.h: Removed.
255
256 2006-04-10  Darin Adler  <darin@apple.com>
257
258         Rubber-stamped by John Sullivan.
259
260         - added forwarding headers for the new Forward.h and HashForward.h files
261
262         * kxmlcore/Forward.h: Added.
263         * kxmlcore/HashForward.h: Added.
264
265 2006-04-04  Timothy Hatcher  <timothy@apple.com>
266
267         Reviewed by Darin.
268
269         The Debug and Release frameworks are now built with install paths relative to the build products directory.
270         This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. 
271
272         * JavaScriptGlue.xcodeproj/project.pbxproj:
273
274 2006-04-02  Eric Seidel  <eseidel@apple.com>
275
276         Reviewed by andersca.
277
278         Add missing forwarding header.
279
280         * kxmlcore/Vector.h: Added.
281
282 2006-03-31  Geoffrey Garen  <ggaren@apple.com>
283
284         Reviewed by Darin.
285
286         - Fixed <rdar://problem/4430836> JavaScript patch crashing Quartz
287         Composer
288
289         JSValueWrappers used to hold on to the ExecState that pertained at
290         the time of their creation. Since ExecStates are transient, that
291         design was totally bogus, and it would crash once the ExecState had
292         been deallocated.
293
294         Unfortunately, there's no clean solution to this problem, since
295         the JSGlue API has no notion of state. The solution here is to use
296         a shared, global ExecState for the purpose of JSGlue calls. Given
297         the pre-existing limitations in the JSGlue API, this design
298         shouldn't actually introduce any new limitations (see comments in
299         JSValueWrapper.cpp).
300
301         I tested with Quartz Composer and PAC files, neither of which are
302         layout-testable.
303         
304         * JSUtils.cpp:
305         (KJSValueToJSObject):
306         * JSValueWrapper.cpp:
307         (JSValueWrapper::JSValueWrapper):
308         (JSValueWrapper::GetValue):
309         (getProcessGlobalExecState):
310         (JSValueWrapper::JSObjectCopyPropertyNames):
311         (JSValueWrapper::JSObjectCopyProperty):
312         (JSValueWrapper::JSObjectSetProperty):
313         (JSValueWrapper::JSObjectCallFunction):
314         (JSValueWrapper::JSObjectCopyCFValue):
315         * JSValueWrapper.h:
316
317         Also added a test harness file. It was helpful while I was testing,
318         and may come in handy in the future:
319         
320         * JavaScriptGlue.xcodeproj/project.pbxproj:
321         testjsglue.cpp: Added.
322
323 2006-03-28  Darin Adler  <darin@apple.com>
324
325         Reviewed by Geoff.
326
327         - added a build step that checks for init routines
328
329         * JavaScriptGlue.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
330         check-for-global-initializers script.
331
332 2006-03-02  Maciej Stachowiak  <mjs@apple.com>
333
334         Not reviewed, but I noticed these trivial extra changes were needed to avoid
335         breaking the build with my reviewed patch for:
336         
337         http://bugs.webkit.org/show_bug.cgi?id=7387
338         
339         Add config.h, includes of it, and Platform.h forwarding header.
340
341         * JSBase.cpp:
342         * JSObject.cpp:
343         * JSRun.cpp:
344         * JSUtils.cpp:
345         * JSValueWrapper.cpp:
346         * JavaScriptGlue.cpp:
347         * UserObjectImp.cpp:
348         * config.h: Added.
349         * kxmlcore/Platform.h: Added.
350
351 === JavaScriptGlue-521.7 ===
352
353 2006-02-10  Geoffrey Garen  <ggaren@apple.com>
354
355         Reviewed by eric.
356
357         - Fixed build.
358
359         * UserObjectImp.cpp:
360         (UserObjectImp::toPrimitive):
361         * UserObjectImp.h:
362
363 2006-02-03  Timothy Hatcher  <timothy@apple.com>
364
365         Reviewed by Justin.
366
367         Renamed configuration names to Debug, Release and Production.
368
369         * JavaScriptGlue.xcodeproj/project.pbxproj:
370
371 2006-02-01  Darin Adler  <darin@apple.com>
372
373         - added some forwarding headers to make new JavaScriptCore changes work
374
375         * kxmlcore/Assertions.h: Added.
376         * kxmlcore/Noncopyable.h: Added.
377         * kxmlcore/OwnPtr.h: Added.
378         * kxmlcore/OwnArrayPtr.h: Added.
379
380 2006-01-16  Timothy Hatcher  <timothy@apple.com>
381
382         Adding the license header to all files so we can
383         move JavaScriptGlue into the open source repository.
384
385         * LICENSE: Added.
386         * JSBase.cpp: license header added.
387         * JSBase.h: ditto.
388         * JSObject.cpp: ditto.
389         * JSObject.h: ditto.
390         * JSRun.cpp: ditto.
391         * JSRun.h: ditto.
392         * JSUtils.cpp: ditto.
393         * JSUtils.h: ditto.
394         * JSValueWrapper.cpp: ditto.
395         * JSValueWrapper.h: ditto.
396         * JavaScriptGlue.cpp: ditto.
397         * JavaScriptGlue.h: ditto.
398         * UserObjectImp.cpp: ditto.
399         * UserObjectImp.h: ditto.
400
401 2005-12-21  Timothy Hatcher  <timothy@apple.com>
402
403         * JavaScriptGlue.xcodeproj/project.pbxproj:
404           Set tab width to 8, indent width to 4 and uses tabs to false per file.
405
406 2005-12-19  Darin Adler  <darin@apple.com>
407
408         Reviewed by Geoff Garen and Eric Seidel.
409
410         - fix http://bugs.webkit.org/show_bug.cgi?id=4923
411           stop using <ostream> in WebCore, eliminating the <cmath> troubles it causes
412
413         * kxmlcore/AlwaysInline.h: Added.
414
415 2005-12-15  Darin Adler  <darin@apple.com>
416
417         Reviewed by Maciej.
418
419         * JSRun.cpp: (JSRun::Evaluate): Updated for change to Interpreter::evaluate.
420
421 2005-12-15  Darin Adler  <darin@apple.com>
422
423         Reviewed by Tim Hatcher.
424
425         * JavaScriptGlue.xcodeproj/project.pbxproj: Removed some redundant build
426         settings, turned off prebinding explicitly for our Development and
427         Deployment builds, remove .exp file from sources. All "clean-up".
428
429 === Safari-521~5 ===
430
431 2005-12-13  Geoffrey Garen  <ggaren@apple.com>
432
433     - Fixed build after Anders's last checkin to JavaScriptCore.
434     
435         Reviewed by darin.
436
437         * UserObjectImp.cpp:
438         (UserObjectImp::userObjectGetter): Updated to reflect new argument that 
439     getters take (unused here).
440         * UserObjectImp.h:
441
442 2005-12-13  Maciej Stachowiak  <mjs@apple.com>
443
444         Reviewed by Eric.
445
446     - added forwarding header for HashCountedSet
447
448         * kxmlcore/HashCountedSet.h: Added.
449
450 2005-12-10  Darin Adler  <darin@apple.com>
451
452         Rubber stamped by Maciej.
453
454         - updated for KJS class renaming
455
456         * many files and functions
457
458 2005-12-10  Darin Adler  <darin@apple.com>
459
460         Reviewed by Maciej.
461
462         - eliminated the old Undefined(), Null(), Boolean(), Number(), and String()
463
464         Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString().
465
466         * JSUtils.cpp:
467         (JSObjectKJSValue):
468         * UserObjectImp.cpp:
469         (UserObjectImp::callAsFunction):
470         (UserObjectImp::toPrimitive):
471
472 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
473
474         - added new forwarding headers
475
476         * kxmlcore/PassRefPtr.h: Added.
477         * kxmlcore/RefPtr.h: Added.
478
479 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
480
481         * kxmlcore/PassRefPtr.h: Added.
482
483 2005-11-26  Maciej Stachowiak  <mjs@apple.com>
484
485         Rubber stamped by Eric.
486
487     - renamed InterpreterLock to JSLock
488
489         * JSUtils.cpp:
490         (CFStringToUString):
491         (JSObjectKJSValue):
492         (KJSValueToCFTypeInternal):
493         * JSValueWrapper.cpp:
494         (JSValueWrapper::JSObjectCopyPropertyNames):
495         (JSValueWrapper::JSObjectCopyProperty):
496         (JSValueWrapper::JSObjectSetProperty):
497         (JSValueWrapper::JSObjectCallFunction):
498         (JSValueWrapper::JSObjectCopyCFValue):
499         * JavaScriptGlue.cpp:
500         (JSRunCreate):
501         (JSCollect):
502         (JSLockInterpreter):
503         (JSUnlockInterpreter):
504         * UserObjectImp.cpp:
505         (UserObjectImp::callAsFunction):
506
507 2005-11-16  Maciej Stachowiak  <mjs@apple.com>
508
509         Reviewed by Geoff.
510
511     Updated to use new API to drop all locks.
512
513         * JavaScriptGlue.cpp:
514         (JSLockInterpreter):
515         (JSUnlockInterpreter):
516         * UserObjectImp.cpp:
517         (UserObjectImp::callAsFunction):
518
519 2005-11-14  Geoffrey Garen  <ggaren@apple.com>
520
521         Reviewed by mjs.
522
523         - Part of the fix for <rdar://problem/4342216> Installer crash in 
524           KJS::ValueImp::marked() when garbage collector runs inside call to 
525           ConstantValues::init()
526           
527         Added locking in JSRunCreate, since JSRun::JSRun constructs an object.
528         
529         * JavaScriptGlue.cpp:
530         (JSRunCreate):
531
532 2005-11-10  Geoffrey Garen  <ggaren@apple.com>
533
534         Reviewed by Maciej.
535
536         - Fixed <rdar://problem/4334445> installer crashed on my 
537           dual g4 450Mhz after clicking language
538
539         - Reversed backwards NULL check.
540         - Inserted guards against NULL fJSUserObject data member.
541         - Cleaned up some style.
542
543         * JSUtils.cpp:
544         (KJSValueToCFTypeInternal):
545         * UserObjectImp.cpp:
546         (UserObjectImp::~UserObjectImp):
547         (UserObjectImp::callAsFunction):
548         (UserObjectImp::userObjectGetter):
549         (UserObjectImp::getOwnPropertySlot):
550         (UserObjectImp::put):
551         (UserObjectImp::mark):
552
553 2005-11-04  Timothy Hatcher  <timothy@apple.com>
554
555         Reviewed by Darin.
556
557         * JavaScriptGlue.xcodeproj/project.pbxproj:
558           Fixed the FRAMEWORK_SEARCH_PATHS to look in the WebKit
559           Frameworks for the Default config.
560
561 2005-11-03  Timothy Hatcher  <timothy@apple.com>
562
563         Reviewed by Darin and Vicki.
564
565         * JavaScriptGlue.xcodeproj/project.pbxproj:
566           Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
567           $(NEXT_ROOT) in a few spots to make build-root work.
568
569 2005-11-01  Maciej Stachowiak  <mjs@apple.com>
570
571     Reviewed by: Eric.
572     
573         <rdar://problem/4324107> get JavaScriptGlue working with TOT JavaScriptCore again
574
575     - reverted all this stuff to use ReferenceList instead of IdentifierSequencedSet
576
577         * JSUtils.cpp:
578         (KJSValueToCFTypeInternal):
579         * JSValueWrapper.cpp:
580         (JSValueWrapper::JSObjectCopyPropertyNames):
581         * UserObjectImp.cpp:
582         (UserObjectImp::propList):
583         * UserObjectImp.h:
584
585 2005-10-11  Timothy Hatcher  <timothy@apple.com>
586
587         Setup the proper Framework search path for the Default config.
588         Prepping for a TOT submission and build by B&I.
589
590         * JavaScriptGlue.xcodeproj/project.pbxproj:
591
592 2005-10-10  Darin Adler  <darin@apple.com>
593
594         Reviewed by Eric.
595
596         - converted tabs to spaces, NULL to 0, added some (void), got rid of __ prefixes
597           in headers (reserved for compiler/library)
598
599         * Info.plist:
600         * JSBase.cpp:
601         * JSBase.h:
602         * JSObject.cpp:
603         * JSObject.h:
604         * JSRun.cpp:
605         * JSRun.h:
606         * JSUtils.cpp:
607         * JSUtils.h:
608         * JSValueWrapper.cpp:
609         * JSValueWrapper.h:
610         * JavaScriptGlue.cpp:
611         * JavaScriptGlue.h:
612         * UserObjectImp.cpp:
613         * UserObjectImp.h:
614
615 2005-10-10  Darin Adler  <darin@apple.com>
616
617         * .cvsignore: Added. Ignore Makefile.in and Makefile.
618
619 2005-10-07  Timothy Hatcher  <timothy@apple.com>
620
621         Reviewed by Maciej.
622         
623         Build fix, needed to disable RTTI. Upgraded to a native target.
624
625         * JavaScriptGlue.xcodeproj/project.pbxproj:
626         * Info.plist
627
628 2005-10-05  Maciej Stachowiak  <mjs@apple.com>
629
630         Reviewed by Eric and Darin.
631
632     <rdar://problem/4260506> Port JavaScriptGlue to TOT JavaScriptCore
633
634         * JSRun.cpp:
635         (JSRun::JSRun):
636         (JSRun::GlobalObject):
637         * JSRun.h:
638         (JSInterpreter::JSInterpreter):
639         * JSUtils.cpp:
640         (KJSValueToJSObject):
641         (JSObjectKJSValue):
642         (KJSValueToCFTypeInternal):
643         (KJSValueToCFType):
644         * JSUtils.h:
645         * JSValueWrapper.cpp:
646         (JSValueWrapper::JSValueWrapper):
647         (JSValueWrapper::GetValue):
648         (JSValueWrapper::JSObjectCopyPropertyNames):
649         (JSValueWrapper::JSObjectCopyProperty):
650         (JSValueWrapper::JSObjectSetProperty):
651         (JSValueWrapper::JSObjectCallFunction):
652         (JSValueWrapper::JSObjectMark):
653         * JSValueWrapper.h:
654         * JavaScriptGlue.cpp:
655         (JSRunCopyGlobalObject):
656         * JavaScriptGlue.xcodeproj/project.pbxproj:
657         * Makefile.am: Added.
658         * UserObjectImp.cpp:
659         (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
660         (UserObjectImp::UserObjectImp):
661         (UserObjectImp::callAsFunction):
662         (UserObjectImp::getPropertyNames):
663         (UserObjectImp::userObjectGetter):
664         (UserObjectImp::getOwnPropertySlot):
665         (UserObjectImp::put):
666         (UserObjectImp::toPrimitive):
667         (UserObjectImp::mark):
668         * UserObjectImp.h:
669         * kxmlcore/FastMalloc.h: Added.
670         * kxmlcore/HashSet.h: Added.
671
672 2005-09-14  Maciej Stachowiak  <mjs@apple.com>
673
674         Reviewed by Geoff.
675
676     - fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
677
678     Make sure to lock using the InterpreterLock class in all places that need it
679     (including anything that uses the collector, the parser, the protect count hash table,
680     and anything that allocates via fast_malloc).
681
682         * JSUtils.cpp:
683         (CFStringToUString):
684         (JSObjectKJSValue):
685         (KJSValueToCFTypeInternal):
686         * JSUtils.h:
687         * JSValueWrapper.cpp:
688         (JSValueWrapper::JSObjectCopyPropertyNames):
689         (JSValueWrapper::JSObjectCopyProperty):
690         (JSValueWrapper::JSObjectSetProperty):
691         (JSValueWrapper::JSObjectCallFunction):
692         (JSValueWrapper::JSObjectCopyCFValue):
693         * JavaScriptGlue.cpp:
694         (JSCollect):
695
696 2005-09-27  Adele Peterson  <adele@apple.com>
697
698         Reviewed by Maciej.
699
700         <rdar://problem/4223297> JavaScriptGlue: Submit 64-bit compatible versions of your API and SPIs by September 15
701
702         * JavaScriptGlue.h: Changed UInt32 to CFTypeID for JSTypeID
703
704 2005-09-06  Geoffrey Garen  <ggaren@apple.com>
705
706         -upgraded project files to XCode 2.1
707
708         * JavaScriptGlue.pbproj/project.pbxproj: Removed.
709         * JavaScriptGlue.xcodeproj/.cvsignore: Added.
710         * JavaScriptGlue.xcodeproj/project.pbxproj: Added.
711
712 2005-09-01  Maciej Stachowiak  <mjs@apple.com>
713
714         Rubber stamped by hyatt.
715
716     - initial import of JavaScriptGlue into our repository
717
718         * English.lproj/InfoPlist.strings: Added.
719         * JSBase.cpp: Added.
720         (JSBase::JSBase):
721         (JSBase::~JSBase):
722         (JSBase::Retain):
723         (JSBase::Release):
724         (JSBase::RetainCount):
725         (JSBase::GetTypeID):
726         (JSBase::CopyDescription):
727         (JSBase::Equal):
728         * JSBase.h: Added.
729         * JSObject.cpp: Added.
730         (JSUserObject::JSUserObject):
731         (JSUserObject::~JSUserObject):
732         (JSUserObject::CopyPropertyNames):
733         (JSUserObject::CopyProperty):
734         (JSUserObject::SetProperty):
735         (JSUserObject::ImplementsCall):
736         (JSUserObject::CallFunction):
737         (JSUserObject::CopyCFValue):
738         (JSUserObject::Equal):
739         (JSUserObject::Mark):
740         (JSUserObject::GetData):
741         * JSObject.h: Added.
742         (JSUserObject::DataType):
743         * JSRun.cpp: Added.
744         (JSRun::JSRun):
745         (JSRun::~JSRun):
746         (JSRun::Flags):
747         (JSRun::GetSource):
748         (JSRun::GlobalObject):
749         (JSRun::GetInterpreter):
750         (JSRun::Evaluate):
751         (JSRun::CheckSyntax):
752         * JSRun.h: Added.
753         (JSInterpreter::JSInterpreter):
754         (JSInterpreter::JSInterpreter::~JSInterpreter):
755         (JSInterpreter::Flags):
756         * JSUtils.cpp: Added.
757         (CFStringToUString):
758         (UStringToCFString):
759         (CFStringToIdentifier):
760         (IdentifierToCFString):
761         (KJSValueToJSObject):
762         (JSObjectKJSValue):
763         (KJSValueToCFTypeInternal):
764         (KJSValueToCFType):
765         (GetCFNull):
766         * JSUtils.h: Added.
767         (RetainCFType):
768         (ReleaseCFType):
769         * JSValueWrapper.cpp: Added.
770         (JSValueWrapper::JSValueWrapper):
771         (JSValueWrapper::~JSValueWrapper):
772         (JSValueWrapper::GetValue):
773         (JSValueWrapper::GetExecState):
774         (JSValueWrapper::GetJSObectCallBacks):
775         (JSValueWrapper::JSObjectDispose):
776         (JSValueWrapper::JSObjectCopyPropertyNames):
777         (JSValueWrapper::JSObjectCopyProperty):
778         (JSValueWrapper::JSObjectSetProperty):
779         (JSValueWrapper::JSObjectCallFunction):
780         (JSValueWrapper::JSObjectCopyCFValue):
781         (JSValueWrapper::JSObjectMark):
782         * JSValueWrapper.h: Added.
783         * JavaScriptGlue.cpp: Added.
784         (JSSetCFNull):
785         (JSGetCFNull):
786         (JSRetain):
787         (JSRelease):
788         (JSCopyDescription):
789         (JSEqual):
790         (JSGetTypeID):
791         (JSGetRetainCount):
792         (JSObjectCreate):
793         (JSObjectCreateInternal):
794         (JSObjectCopyCFValue):
795         (JSObjectGetData):
796         (JSObjectCopyProperty):
797         (JSObjectSetProperty):
798         (JSObjectCallFunction):
799         (JSRunCreate):
800         (JSRunCopySource):
801         (JSRunCopyGlobalObject):
802         (JSRunEvaluate):
803         (JSRunCheckSyntax):
804         (JSCollect):
805         (JSTypeGetCFArrayCallBacks):
806         (JSCFRetain):
807         (JSCFRelease):
808         (JSObjectCreateWithCFType):
809         (CFJSObjectDispose):
810         (JSObjectCopyPropertyNames):
811         (CFJSObjectCopyProperty):
812         (CFJSObjectSetProperty):
813         (CFJSObjectCopyCFValue):
814         (CFJSObjectEqual):
815         (CFJSObjectCopyPropertyNames):
816         (JSCreateCFArrayFromJSArray):
817         (JSCreateJSArrayFromCFArray):
818         (JSLockInterpreter):
819         (JSUnlockInterpreter):
820         * JavaScriptGlue.exp: Added.
821         * JavaScriptGlue.h: Added.
822         * JavaScriptGlue.pbproj/project.pbxproj: Added.
823         * UserObjectImp.cpp: Added.
824         (UserObjectPrototypeImp::UserObjectPrototypeImp):
825         (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
826         (UserObjectImp::UserObjectImp):
827         (UserObjectImp::~UserObjectImp):
828         (UserObjectImp::classInfo):
829         (UserObjectImp::implementsCall):
830         (UserObjectImp::call):
831         (UserObjectImp::propList):
832         (UserObjectImp::hasProperty):
833         (UserObjectImp::get):
834         (UserObjectImp::put):
835         (UserObjectImp::GetJSUserObject):
836         (UserObjectImp::toPrimitive):
837         (UserObjectImp::toBoolean):
838         (UserObjectImp::toNumber):
839         (UserObjectImp::toString):
840         (UserObjectImp::mark):
841         * UserObjectImp.h: Added.
842