JavaScriptCore:
[WebKit-https.git] / JavaScriptGlue / ChangeLog
1 2007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
2
3         Sort files(...); sections of Xcode project files.
4
5         Rubber-stamped by Darin.
6
7         * JavaScriptGlue.xcodeproj/project.pbxproj:
8
9 2007-10-25  Eric Seidel  <eric@webkit.org>
10
11         Reviewed by Geoff.
12         
13         Make JSG build again after JSGlobalObject change.
14
15         * JSRun.cpp:
16         (JSRun::JSRun):
17         (JSRun::GlobalObject):
18         * JSRun.h:
19         (JSInterpreter::JSInterpreter):
20         * JSUtils.h:
21
22 2007-10-11  Mark Rowe  <mrowe@apple.com>
23
24         Reviewed by Tim Hatcher.
25
26         Fix for <rdar://problem/5488678>.  Disable debugging symbols in production builds for 10.4
27         PowerPC to prevent a huge STABS section from being generated.
28
29         * Configurations/Base.xcconfig:
30
31 2007-10-04  Mark Rowe  <mrowe@apple.com>
32
33         Reviewed by Oliver.
34
35         Switch to default level of debugging symbols to resolve <rdar://problem/5488678>.
36         The "full" level appears to offer no observable benefits even though the documentation
37         suggests it be used for dead code stripping.  This should also decrease link times.
38
39         * Configurations/Base.xcconfig:
40
41 2007-09-03  Mark Rowe  <mrowe@apple.com>
42
43         Reviewed by Tim Hatcher.
44
45         <rdar://problem/5452164> Production build with in symbols directory has no debug info
46
47         Enable debug symbol generation on all build configurations.  Production builds are stripped
48         of symbols by Xcode during deployment post-processing.
49
50         * Configurations/Base.xcconfig:
51         * JavaScriptGlue.xcodeproj/project.pbxproj:
52
53 2007-08-09  Mark Rowe  <mrowe@apple.com>
54
55         Reviewed by Antti.
56
57         <rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +
58
59         * Configurations/Version.xcconfig:
60         * JavaScriptGlue.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between
61         Version.xcconfig and Info.plist explicit to Xcode.
62
63 2007-07-16  Sam Weinig  <sam@webkit.org>
64
65         Reviewed by Oliver.
66
67         Turn off -Wshorten-64-to-32 warning for 64-bit builds.
68
69         * Configurations/Base.xcconfig:
70
71 2007-04-27  Mark Rowe  <mrowe@apple.com>
72
73         Reviewed by Oliver.
74
75         * JavaScriptGlue.xcodeproj/project.pbxproj: Improve dependencies in Xcode project
76         by marking JavaScriptGlue as a dependency of testjsglue.
77
78 2007-03-24  Mark Rowe  <mrowe@apple.com>
79
80         Reviewed by Dave Hyatt.
81
82         * JavaScriptGlue.xcodeproj/project.pbxproj: Use GCC 4.0 for testjsglue.
83
84 2007-03-24  Mark Rowe  <mrowe@apple.com>
85
86         Rubber-stamped by Darin.
87
88         * Configurations/JavaScriptGlue.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS.
89
90 2007-03-19  Andrew Wellington  <proton@wiretapped.net>
91
92         Reviewed by Maciej.
93
94         Really set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
95
96         * JavaScriptGlue.xcodeproj/project.pbxproj:
97
98 2007-03-18  Andrew Wellington  <proton@wiretapped.net>
99
100         Reviewed by Mark Rowe
101         
102         Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
103
104         * JavaScriptGlue.xcodeproj/project.pbxproj:
105
106 2007-03-17  Timothy Hatcher  <timothy@apple.com>
107
108         Reviewed by Mark Rowe.
109
110         Made Version.xcconfig smarter when building for different configurations.
111         Now uses the 522+ OpenSource version for Debug and Release, while using the    
112         full 522.4 version for Production builds. The system prefix is also computed
113         based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.
114
115         * Configurations/JavaScriptGlue.xcconfig:
116         * Configurations/Version.xcconfig:
117
118 2007-03-15  Timothy Hatcher  <timothy@apple.com>
119
120         Reviewed by John.
121
122         * Factored out most of our common build settings into .xcconfig files. Anything that was common in
123           each build configuration was factored out into the shared .xcconfig file.
124         * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
125         * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
126         * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
127
128         * Configurations/Base.xcconfig: Added.
129         * Configurations/DebugRelease.xcconfig: Added.
130         * Configurations/JavaScriptGlue.xcconfig: Added.
131         * Configurations/Version.xcconfig: Added.
132         * Info.plist:
133         * JavaScriptGlue.xcodeproj/project.pbxproj:
134
135 === Safari-5522.4 ===
136
137 2007-03-12  Geoffrey Garen  <ggaren@apple.com>
138
139         Reviewed by Oliver Hunt.
140         
141         Updated in light of fix for <rdar://problem/4681051> Installer crashes 
142         in KJS::Collector::markOtherThreadConservatively(KJS::Collector::Thread*) 
143         trying to install iLife 06 using Rosetta on an Intel Machine
144         
145         * JavaScriptGlue.cpp:
146         (JSLockInterpreter): Ensure backwards compatibility by calling 
147         registerThread() when explicitly taking the JSLock. (This doesn't happen 
148         automatically anymore.) I doubt this actally matters, but in JavaScriptGlue
149         territory, that kind of thinking will get you killed.
150
151 2007-03-06  Geoffrey Garen  <ggaren@apple.com>
152
153         Reviewed by Maciej Stachowiak.
154
155         Fixed all known crashers exposed by run-webkit-tests --threaded while using
156         a PAC file (for maximum carnage). See JavaScriptCore ChangeLog for 
157         more details.
158
159         * JSBase.cpp:
160         (JSBase::Release): Lock when deleting, because we may be deleting an object
161         (like a JSRun) that holds thread-unsafe data.
162
163         * JSUtils.cpp:
164         (CFStringToUString): Don't lock, because our caller locks. Also, locking
165         inside a function that returns thread-unsafe data by copy will only mask
166         threading problems.
167
168         * JavaScriptGlue.cpp:
169         (JSRunEvaluate): Added missing JSLock.
170         (JSRunCheckSyntax): Converted to JSLock.
171         * JavaScriptGlue.xcodeproj/project.pbxproj:
172
173 2007-02-22  Geoffrey Garen  <ggaren@apple.com>
174
175         Reviewed by Darin Adler.
176         
177         Fixed <rdar://problem/4942528> Installer.app Stuck "Examining additional 
178         volumes..."
179         
180         The problem was that JavaScriptGlue held a JSObject in a static pointer
181         without protecting it from garbage collection. 
182         
183             sUserObjectPrototypeImp  = new UserObjectPrototypeImp();
184             static ProtectedPtr<UserObjectPrototypeImp> protectPrototype; // valiant, brave, but useless
185
186         Through an interesting comedy of errors, this object would be collected 
187         and then assigned as the prototype of another object allocated at the 
188         same address, thus becoming its own prototype. (See http://www.ziplo.com/grandpa.htm
189         for further explanation of this phenomenon.) Hence the infinte loop in 
190         property lookup.
191         
192         The solution is equally humorous: all of this code was completely useless --
193         it only served to create an empty object in the prototype chain -- so
194         I just removed it.
195
196         * UserObjectImp.cpp:
197         (UserObjectImp::UserObjectImp):
198         * UserObjectImp.h:
199
200 2007-02-19  Timothy Hatcher  <timothy@apple.com>
201
202         Reviewed by Geoff.
203
204         <rdar://problem/4636301> Deprecate JavaScriptGlue
205
206         * JavaScriptGlue.h: adds DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER to everything
207         * JavaScriptGlue.xcodeproj/project.pbxproj: use -Wno-deprecated-declarations to keep the project building
208         * config.h: define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER as empty on other systems
209
210 2007-02-16  Darin Adler  <darin@apple.com>
211
212         Reviewed by Anders.
213
214         - fix <rdar://problem/5000216> JavaScriptGlue framework started turning all CFNumbers
215           into signed 32bit values
216
217         Circumstantial evidence seems to indicate that JavaScriptGlue was depending on a bug
218         in CFNumber where CFNumberIsFloatType was returning true for 64-bit integer values.
219
220         * JSUtils.cpp: (JSObjectKJSValue): Removed the call to CFNumberIsFloatType in the
221         conversion of numeric values, and always use kCFNumberDoubleType, since double is
222         the internal format of numbers in JavaScriptCore. There's no value to having a
223         separate code path for integers. There's also no reason to check the return value
224         from CFNumberGetValue -- if it returns false it still does the best it can to convert
225         to a double, which is what we want.
226
227         * UserObjectImp.cpp: (UserObjectImp::toString): Removed a similar code path that
228         tried to handle integers separate from double. Instead, always use a double. For
229         compatibility, use a format without a decimal point when CFNumberIsFloatType returns
230         false. Also removed a bogus cast to float; the "%f" format string takes a double,
231         not a float, so all the cast did was cut down on precision.
232
233 2007-01-25  Mark Rowe  <mrowe@apple.com>
234
235         Reviewed by Maciej.
236
237         * Info.plist: Update copyright string.
238
239 2006-12-19  Timothy Hatcher  <timothy@apple.com>
240
241         Reviewed by Darin.
242
243         <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features
244
245         * JavaScriptGlue.xcodeproj/project.pbxproj:
246
247 === Safari-521.26 ===
248
249 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
250
251         Reviewed by Tim H.
252
253         Build fix:  DWARF and -gfull are incompatible with symbol separation.
254
255         * JavaScriptGlue.xcodeproj/project.pbxproj:
256
257 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
258
259         Reviewed by Tim H.
260
261         http://bugs.webkit.org/show_bug.cgi?id=10394
262         Bug 10394: WebKit Release and Production configurations should enable dead code stripping
263
264         * JavaScriptGlue.xcodeproj/project.pbxproj:
265
266 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
267
268         Reviewed by Tim H.
269
270         http://bugs.webkit.org/show_bug.cgi?id=10384
271         Bug 10384: Switch to DWARF for Release configuration
272
273         * JavaScriptGlue.xcodeproj/project.pbxproj:
274
275 2006-08-04  Sam Weinig  <sam.weinig@gmail.com>
276
277         Reviewed by Darin.
278
279         - patch for http://bugs.webkit.org/show_bug.cgi?id=10192
280           Make WebCore (and friends) compile with -Wshorten-64-to-32
281
282           * Adds -Wshorten-64-to-32 flag to Xcode project.
283
284         * JavaScriptGlue.xcodeproj/project.pbxproj:
285
286 2006-08-03  Sam Weinig  <sam.weinig@gmail.com>
287
288         Reviewed by Darin.
289
290         - patch for http://bugs.webkit.org/show_bug.cgi?id=10176
291           Make WebCore compile with -Wundef
292
293           * Adds -Wundef flag to Xcode project
294
295         * JavaScriptGlue.xcodeproj/project.pbxproj:
296
297 2006-07-29  Sam Weinig  <sam.weinig@gmail.com>
298
299         Reviewed by Darin.
300
301         - patch for http://bugs.webkit.org/show_bug.cgi?id=10080
302           Adopt pedantic changes from the Unity project to improve 
303           cross-compiler compatibility
304
305           Changes include:
306           * Turning on gcc warning for missing newline at the end of a source file
307             (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
308
309         * JavaScriptGlue.xcodeproj/project.pbxproj:
310
311 === Safari-521.19 ===
312
313 2006-07-19  Geoffrey Garen  <ggaren@apple.com>
314
315         Fixed by Darin & Maciej, reviewed by me.
316         
317         - Fixed <rdar://problem/4638934> Leopard 9A227: Installer crashes right 
318         after LCA and while preparing Installation
319
320         Compile release/production with NDEBUG set, to ensure binary compatibility
321         between JavaScriptGlue and JavaScriptCore. In debug builds, JavaScriptCore 
322         includes an extra debug data member in HashSet.
323         
324         * JavaScriptGlue.xcodeproj/project.pbxproj:
325
326 === Safari-521.18 ===
327
328 2006-07-15  Maciej Stachowiak  <mjs@apple.com>
329
330         Reviewed by Darin.
331
332         - switch property lists to be vector+set of Identifiers instead of list of References
333         
334         * JSUtils.cpp:
335         (KJSValueToCFTypeInternal): updated for JSC SPI changes
336         * JSValueWrapper.cpp:
337         (JSValueWrapper::JSObjectCopyPropertyNames): ditto
338         * UserObjectImp.cpp:
339         (UserObjectImp::getPropertyNames): ditto
340         * UserObjectImp.h:
341
342 === Safari-521.17 ===
343
344 2006-07-14  Geoffrey Garen  <ggaren@apple.com>
345
346         Reviewed by Maciej.
347         
348         - Updated JSInterpreter to work with Interpreter ref-counting in JavaScriptCore.
349
350         (JSInterpreter::JSInterpreter::~JSInterpreter): Now protected to catch
351         manual delete.
352
353 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
354
355         Build fix
356         
357         * JSUtils.cpp:
358         (KJSValueToCFTypeInternal):
359         * JSValueWrapper.cpp:
360         (JSValueWrapper::JSObjectCopyPropertyNames):
361         * UserObjectImp.cpp:
362         (UserObjectImp::getPropertyList):
363         
364 === Safari-521.15 ===
365
366 2006-07-07  Geoffrey Garen  <ggaren@apple.com>
367
368         - build fix
369
370         * JSUtils.cpp:
371         (KJSValueToCFTypeInternal):
372         * JSValueWrapper.cpp:
373         (JSValueWrapper::JSObjectCopyPropertyNames):
374
375 2006-07-03  Geoffrey Garen  <ggaren@apple.com>
376
377         Reviewed by Maciej.
378         
379         * JSRun.cpp:
380         (JSRun::CheckSyntax): Updated to use new checkSyntax syntax in JSC.
381         * JavaScriptGlue.xcodeproj/project.pbxproj:
382
383 === Safari-521.14 ===
384
385 2006-06-28  Timothy Hatcher  <timothy@apple.com>
386
387         Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
388
389         * JavaScriptGlue.xcodeproj/project.pbxproj:
390
391 2006-06-24  David Kilzer  <ddkilzer@kilzer.net>
392
393         Reviewed by Timothy.
394
395         * Info.plist: Fixed copyright to include 2003-2006.
396
397 === JavaScriptGlue-521.13 ===
398         
399 2006-06-20  Geoffrey Garen  <ggaren@apple.com>
400
401         Reviewed by Anders.
402         
403         - Required for JS API: Rename propList to getPropertyList and have it
404         take its target property list by reference so that subclasses can
405         add properties to the list before calling through to their superclasses.
406
407         * JSUtils.cpp:
408         (KJSValueToCFTypeInternal):
409         * JSValueWrapper.cpp:
410         (JSValueWrapper::JSObjectCopyPropertyNames):
411         * UserObjectImp.cpp:
412         (UserObjectImp::getPropertyList):
413         * UserObjectImp.h:
414
415 2006-06-15  Timothy Hatcher  <timothy@apple.com>
416
417         Reviewed by Geoff and Darin.
418         
419         Prefer the DWARF debugging symbols format for use in Xcode 2.3.
420
421         * JavaScriptGlue.xcodeproj/project.pbxproj:
422
423 2006-06-12  Geoffrey Garen  <ggaren@apple.com>
424
425         Reviewed by TimO, Maciej.
426         
427         - JSGlue part of merging InterpreterImp into Interpreter.
428         
429         Since there's now a kjs forwarding header, I moved all forwarding
430         headers into a "ForwardingHeaders" directory, like in WebCore.
431
432         * ForwardingHeaders: Added.
433         * ForwardingHeaders/kjs: Added.
434         * ForwardingHeaders/kjs/ExecState.h: Added.
435         * ForwardingHeaders/wtf: Added.
436         * JavaScriptGlue.xcodeproj/project.pbxproj:
437         * config.h:
438         * wtf: Removed.
439         * wtf/AlwaysInline.h: Removed.
440         * wtf/Assertions.h: Removed.
441         * wtf/FastMalloc.h: Removed.
442         * wtf/Forward.h: Removed.
443         * wtf/HashCountedSet.h: Removed.
444         * wtf/HashSet.h: Removed.
445         * wtf/Noncopyable.h: Removed.
446         * wtf/OwnArrayPtr.h: Removed.
447         * wtf/OwnPtr.h: Removed.
448         * wtf/PassRefPtr.h: Removed.
449         * wtf/Platform.h: Removed.
450         * wtf/RefPtr.h: Removed.
451         * wtf/Vector.h: Removed.
452
453 === JavaScriptGlue-521.10 ===
454
455 2006-05-09  Maciej Stachowiak  <mjs@apple.com>
456
457         Rubber stamped by Anders.
458         
459         - renamed kxmlcore to wtf
460         
461         kxmlcore --> wtf
462         KXMLCore --> WTF
463         KXC --> WTF
464
465         * config.h:
466         * kxmlcore: Removed.
467         * kxmlcore/AlwaysInline.h: Removed.
468         * kxmlcore/Assertions.h: Removed.
469         * kxmlcore/FastMalloc.h: Removed.
470         * kxmlcore/Forward.h: Removed.
471         * kxmlcore/HashCountedSet.h: Removed.
472         * kxmlcore/HashSet.h: Removed.
473         * kxmlcore/Noncopyable.h: Removed.
474         * kxmlcore/OwnArrayPtr.h: Removed.
475         * kxmlcore/OwnPtr.h: Removed.
476         * kxmlcore/PassRefPtr.h: Removed.
477         * kxmlcore/Platform.h: Removed.
478         * kxmlcore/RefPtr.h: Removed.
479         * kxmlcore/Vector.h: Removed.
480         * wtf: Added.
481
482 2006-04-11  Darin Adler  <darin@apple.com>
483
484         - try to fix Windows build
485
486         * kxmlcore/HashForward.h: Removed.
487
488 2006-04-10  Darin Adler  <darin@apple.com>
489
490         Rubber-stamped by John Sullivan.
491
492         - added forwarding headers for the new Forward.h and HashForward.h files
493
494         * kxmlcore/Forward.h: Added.
495         * kxmlcore/HashForward.h: Added.
496
497 2006-04-04  Timothy Hatcher  <timothy@apple.com>
498
499         Reviewed by Darin.
500
501         The Debug and Release frameworks are now built with install paths relative to the build products directory.
502         This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. 
503
504         * JavaScriptGlue.xcodeproj/project.pbxproj:
505
506 2006-04-02  Eric Seidel  <eseidel@apple.com>
507
508         Reviewed by andersca.
509
510         Add missing forwarding header.
511
512         * kxmlcore/Vector.h: Added.
513
514 2006-03-31  Geoffrey Garen  <ggaren@apple.com>
515
516         Reviewed by Darin.
517
518         - Fixed <rdar://problem/4430836> JavaScript patch crashing Quartz
519         Composer
520
521         JSValueWrappers used to hold on to the ExecState that pertained at
522         the time of their creation. Since ExecStates are transient, that
523         design was totally bogus, and it would crash once the ExecState had
524         been deallocated.
525
526         Unfortunately, there's no clean solution to this problem, since
527         the JSGlue API has no notion of state. The solution here is to use
528         a shared, global ExecState for the purpose of JSGlue calls. Given
529         the pre-existing limitations in the JSGlue API, this design
530         shouldn't actually introduce any new limitations (see comments in
531         JSValueWrapper.cpp).
532
533         I tested with Quartz Composer and PAC files, neither of which are
534         layout-testable.
535         
536         * JSUtils.cpp:
537         (KJSValueToJSObject):
538         * JSValueWrapper.cpp:
539         (JSValueWrapper::JSValueWrapper):
540         (JSValueWrapper::GetValue):
541         (getProcessGlobalExecState):
542         (JSValueWrapper::JSObjectCopyPropertyNames):
543         (JSValueWrapper::JSObjectCopyProperty):
544         (JSValueWrapper::JSObjectSetProperty):
545         (JSValueWrapper::JSObjectCallFunction):
546         (JSValueWrapper::JSObjectCopyCFValue):
547         * JSValueWrapper.h:
548
549         Also added a test harness file. It was helpful while I was testing,
550         and may come in handy in the future:
551         
552         * JavaScriptGlue.xcodeproj/project.pbxproj:
553         testjsglue.cpp: Added.
554
555 2006-03-28  Darin Adler  <darin@apple.com>
556
557         Reviewed by Geoff.
558
559         - added a build step that checks for init routines
560
561         * JavaScriptGlue.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
562         check-for-global-initializers script.
563
564 2006-03-02  Maciej Stachowiak  <mjs@apple.com>
565
566         Not reviewed, but I noticed these trivial extra changes were needed to avoid
567         breaking the build with my reviewed patch for:
568         
569         http://bugs.webkit.org/show_bug.cgi?id=7387
570         
571         Add config.h, includes of it, and Platform.h forwarding header.
572
573         * JSBase.cpp:
574         * JSObject.cpp:
575         * JSRun.cpp:
576         * JSUtils.cpp:
577         * JSValueWrapper.cpp:
578         * JavaScriptGlue.cpp:
579         * UserObjectImp.cpp:
580         * config.h: Added.
581         * kxmlcore/Platform.h: Added.
582
583 === JavaScriptGlue-521.7 ===
584
585 2006-02-10  Geoffrey Garen  <ggaren@apple.com>
586
587         Reviewed by eric.
588
589         - Fixed build.
590
591         * UserObjectImp.cpp:
592         (UserObjectImp::toPrimitive):
593         * UserObjectImp.h:
594
595 2006-02-03  Timothy Hatcher  <timothy@apple.com>
596
597         Reviewed by Justin.
598
599         Renamed configuration names to Debug, Release and Production.
600
601         * JavaScriptGlue.xcodeproj/project.pbxproj:
602
603 2006-02-01  Darin Adler  <darin@apple.com>
604
605         - added some forwarding headers to make new JavaScriptCore changes work
606
607         * kxmlcore/Assertions.h: Added.
608         * kxmlcore/Noncopyable.h: Added.
609         * kxmlcore/OwnPtr.h: Added.
610         * kxmlcore/OwnArrayPtr.h: Added.
611
612 2006-01-16  Timothy Hatcher  <timothy@apple.com>
613
614         Adding the license header to all files so we can
615         move JavaScriptGlue into the open source repository.
616
617         * LICENSE: Added.
618         * JSBase.cpp: license header added.
619         * JSBase.h: ditto.
620         * JSObject.cpp: ditto.
621         * JSObject.h: ditto.
622         * JSRun.cpp: ditto.
623         * JSRun.h: ditto.
624         * JSUtils.cpp: ditto.
625         * JSUtils.h: ditto.
626         * JSValueWrapper.cpp: ditto.
627         * JSValueWrapper.h: ditto.
628         * JavaScriptGlue.cpp: ditto.
629         * JavaScriptGlue.h: ditto.
630         * UserObjectImp.cpp: ditto.
631         * UserObjectImp.h: ditto.
632
633 2005-12-21  Timothy Hatcher  <timothy@apple.com>
634
635         * JavaScriptGlue.xcodeproj/project.pbxproj:
636           Set tab width to 8, indent width to 4 and uses tabs to false per file.
637
638 2005-12-19  Darin Adler  <darin@apple.com>
639
640         Reviewed by Geoff Garen and Eric Seidel.
641
642         - fix http://bugs.webkit.org/show_bug.cgi?id=4923
643           stop using <ostream> in WebCore, eliminating the <cmath> troubles it causes
644
645         * kxmlcore/AlwaysInline.h: Added.
646
647 2005-12-15  Darin Adler  <darin@apple.com>
648
649         Reviewed by Maciej.
650
651         * JSRun.cpp: (JSRun::Evaluate): Updated for change to Interpreter::evaluate.
652
653 2005-12-15  Darin Adler  <darin@apple.com>
654
655         Reviewed by Tim Hatcher.
656
657         * JavaScriptGlue.xcodeproj/project.pbxproj: Removed some redundant build
658         settings, turned off prebinding explicitly for our Development and
659         Deployment builds, remove .exp file from sources. All "clean-up".
660
661 === Safari-521~5 ===
662
663 2005-12-13  Geoffrey Garen  <ggaren@apple.com>
664
665     - Fixed build after Anders's last checkin to JavaScriptCore.
666     
667         Reviewed by darin.
668
669         * UserObjectImp.cpp:
670         (UserObjectImp::userObjectGetter): Updated to reflect new argument that 
671     getters take (unused here).
672         * UserObjectImp.h:
673
674 2005-12-13  Maciej Stachowiak  <mjs@apple.com>
675
676         Reviewed by Eric.
677
678     - added forwarding header for HashCountedSet
679
680         * kxmlcore/HashCountedSet.h: Added.
681
682 2005-12-10  Darin Adler  <darin@apple.com>
683
684         Rubber stamped by Maciej.
685
686         - updated for KJS class renaming
687
688         * many files and functions
689
690 2005-12-10  Darin Adler  <darin@apple.com>
691
692         Reviewed by Maciej.
693
694         - eliminated the old Undefined(), Null(), Boolean(), Number(), and String()
695
696         Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString().
697
698         * JSUtils.cpp:
699         (JSObjectKJSValue):
700         * UserObjectImp.cpp:
701         (UserObjectImp::callAsFunction):
702         (UserObjectImp::toPrimitive):
703
704 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
705
706         - added new forwarding headers
707
708         * kxmlcore/PassRefPtr.h: Added.
709         * kxmlcore/RefPtr.h: Added.
710
711 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
712
713         * kxmlcore/PassRefPtr.h: Added.
714
715 2005-11-26  Maciej Stachowiak  <mjs@apple.com>
716
717         Rubber stamped by Eric.
718
719     - renamed InterpreterLock to JSLock
720
721         * JSUtils.cpp:
722         (CFStringToUString):
723         (JSObjectKJSValue):
724         (KJSValueToCFTypeInternal):
725         * JSValueWrapper.cpp:
726         (JSValueWrapper::JSObjectCopyPropertyNames):
727         (JSValueWrapper::JSObjectCopyProperty):
728         (JSValueWrapper::JSObjectSetProperty):
729         (JSValueWrapper::JSObjectCallFunction):
730         (JSValueWrapper::JSObjectCopyCFValue):
731         * JavaScriptGlue.cpp:
732         (JSRunCreate):
733         (JSCollect):
734         (JSLockInterpreter):
735         (JSUnlockInterpreter):
736         * UserObjectImp.cpp:
737         (UserObjectImp::callAsFunction):
738
739 2005-11-16  Maciej Stachowiak  <mjs@apple.com>
740
741         Reviewed by Geoff.
742
743     Updated to use new API to drop all locks.
744
745         * JavaScriptGlue.cpp:
746         (JSLockInterpreter):
747         (JSUnlockInterpreter):
748         * UserObjectImp.cpp:
749         (UserObjectImp::callAsFunction):
750
751 2005-11-14  Geoffrey Garen  <ggaren@apple.com>
752
753         Reviewed by mjs.
754
755         - Part of the fix for <rdar://problem/4342216> Installer crash in 
756           KJS::ValueImp::marked() when garbage collector runs inside call to 
757           ConstantValues::init()
758           
759         Added locking in JSRunCreate, since JSRun::JSRun constructs an object.
760         
761         * JavaScriptGlue.cpp:
762         (JSRunCreate):
763
764 2005-11-10  Geoffrey Garen  <ggaren@apple.com>
765
766         Reviewed by Maciej.
767
768         - Fixed <rdar://problem/4334445> installer crashed on my 
769           dual g4 450Mhz after clicking language
770
771         - Reversed backwards NULL check.
772         - Inserted guards against NULL fJSUserObject data member.
773         - Cleaned up some style.
774
775         * JSUtils.cpp:
776         (KJSValueToCFTypeInternal):
777         * UserObjectImp.cpp:
778         (UserObjectImp::~UserObjectImp):
779         (UserObjectImp::callAsFunction):
780         (UserObjectImp::userObjectGetter):
781         (UserObjectImp::getOwnPropertySlot):
782         (UserObjectImp::put):
783         (UserObjectImp::mark):
784
785 2005-11-04  Timothy Hatcher  <timothy@apple.com>
786
787         Reviewed by Darin.
788
789         * JavaScriptGlue.xcodeproj/project.pbxproj:
790           Fixed the FRAMEWORK_SEARCH_PATHS to look in the WebKit
791           Frameworks for the Default config.
792
793 2005-11-03  Timothy Hatcher  <timothy@apple.com>
794
795         Reviewed by Darin and Vicki.
796
797         * JavaScriptGlue.xcodeproj/project.pbxproj:
798           Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
799           $(NEXT_ROOT) in a few spots to make build-root work.
800
801 2005-11-01  Maciej Stachowiak  <mjs@apple.com>
802
803     Reviewed by: Eric.
804     
805         <rdar://problem/4324107> get JavaScriptGlue working with TOT JavaScriptCore again
806
807     - reverted all this stuff to use ReferenceList instead of IdentifierSequencedSet
808
809         * JSUtils.cpp:
810         (KJSValueToCFTypeInternal):
811         * JSValueWrapper.cpp:
812         (JSValueWrapper::JSObjectCopyPropertyNames):
813         * UserObjectImp.cpp:
814         (UserObjectImp::propList):
815         * UserObjectImp.h:
816
817 2005-10-11  Timothy Hatcher  <timothy@apple.com>
818
819         Setup the proper Framework search path for the Default config.
820         Prepping for a TOT submission and build by B&I.
821
822         * JavaScriptGlue.xcodeproj/project.pbxproj:
823
824 2005-10-10  Darin Adler  <darin@apple.com>
825
826         Reviewed by Eric.
827
828         - converted tabs to spaces, NULL to 0, added some (void), got rid of __ prefixes
829           in headers (reserved for compiler/library)
830
831         * Info.plist:
832         * JSBase.cpp:
833         * JSBase.h:
834         * JSObject.cpp:
835         * JSObject.h:
836         * JSRun.cpp:
837         * JSRun.h:
838         * JSUtils.cpp:
839         * JSUtils.h:
840         * JSValueWrapper.cpp:
841         * JSValueWrapper.h:
842         * JavaScriptGlue.cpp:
843         * JavaScriptGlue.h:
844         * UserObjectImp.cpp:
845         * UserObjectImp.h:
846
847 2005-10-10  Darin Adler  <darin@apple.com>
848
849         * .cvsignore: Added. Ignore Makefile.in and Makefile.
850
851 2005-10-07  Timothy Hatcher  <timothy@apple.com>
852
853         Reviewed by Maciej.
854         
855         Build fix, needed to disable RTTI. Upgraded to a native target.
856
857         * JavaScriptGlue.xcodeproj/project.pbxproj:
858         * Info.plist
859
860 2005-10-05  Maciej Stachowiak  <mjs@apple.com>
861
862         Reviewed by Eric and Darin.
863
864     <rdar://problem/4260506> Port JavaScriptGlue to TOT JavaScriptCore
865
866         * JSRun.cpp:
867         (JSRun::JSRun):
868         (JSRun::GlobalObject):
869         * JSRun.h:
870         (JSInterpreter::JSInterpreter):
871         * JSUtils.cpp:
872         (KJSValueToJSObject):
873         (JSObjectKJSValue):
874         (KJSValueToCFTypeInternal):
875         (KJSValueToCFType):
876         * JSUtils.h:
877         * JSValueWrapper.cpp:
878         (JSValueWrapper::JSValueWrapper):
879         (JSValueWrapper::GetValue):
880         (JSValueWrapper::JSObjectCopyPropertyNames):
881         (JSValueWrapper::JSObjectCopyProperty):
882         (JSValueWrapper::JSObjectSetProperty):
883         (JSValueWrapper::JSObjectCallFunction):
884         (JSValueWrapper::JSObjectMark):
885         * JSValueWrapper.h:
886         * JavaScriptGlue.cpp:
887         (JSRunCopyGlobalObject):
888         * JavaScriptGlue.xcodeproj/project.pbxproj:
889         * Makefile.am: Added.
890         * UserObjectImp.cpp:
891         (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
892         (UserObjectImp::UserObjectImp):
893         (UserObjectImp::callAsFunction):
894         (UserObjectImp::getPropertyNames):
895         (UserObjectImp::userObjectGetter):
896         (UserObjectImp::getOwnPropertySlot):
897         (UserObjectImp::put):
898         (UserObjectImp::toPrimitive):
899         (UserObjectImp::mark):
900         * UserObjectImp.h:
901         * kxmlcore/FastMalloc.h: Added.
902         * kxmlcore/HashSet.h: Added.
903
904 2005-09-14  Maciej Stachowiak  <mjs@apple.com>
905
906         Reviewed by Geoff.
907
908     - fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
909
910     Make sure to lock using the InterpreterLock class in all places that need it
911     (including anything that uses the collector, the parser, the protect count hash table,
912     and anything that allocates via fast_malloc).
913
914         * JSUtils.cpp:
915         (CFStringToUString):
916         (JSObjectKJSValue):
917         (KJSValueToCFTypeInternal):
918         * JSUtils.h:
919         * JSValueWrapper.cpp:
920         (JSValueWrapper::JSObjectCopyPropertyNames):
921         (JSValueWrapper::JSObjectCopyProperty):
922         (JSValueWrapper::JSObjectSetProperty):
923         (JSValueWrapper::JSObjectCallFunction):
924         (JSValueWrapper::JSObjectCopyCFValue):
925         * JavaScriptGlue.cpp:
926         (JSCollect):
927
928 2005-09-27  Adele Peterson  <adele@apple.com>
929
930         Reviewed by Maciej.
931
932         <rdar://problem/4223297> JavaScriptGlue: Submit 64-bit compatible versions of your API and SPIs by September 15
933
934         * JavaScriptGlue.h: Changed UInt32 to CFTypeID for JSTypeID
935
936 2005-09-06  Geoffrey Garen  <ggaren@apple.com>
937
938         -upgraded project files to XCode 2.1
939
940         * JavaScriptGlue.pbproj/project.pbxproj: Removed.
941         * JavaScriptGlue.xcodeproj/.cvsignore: Added.
942         * JavaScriptGlue.xcodeproj/project.pbxproj: Added.
943
944 2005-09-01  Maciej Stachowiak  <mjs@apple.com>
945
946         Rubber stamped by hyatt.
947
948     - initial import of JavaScriptGlue into our repository
949
950         * English.lproj/InfoPlist.strings: Added.
951         * JSBase.cpp: Added.
952         (JSBase::JSBase):
953         (JSBase::~JSBase):
954         (JSBase::Retain):
955         (JSBase::Release):
956         (JSBase::RetainCount):
957         (JSBase::GetTypeID):
958         (JSBase::CopyDescription):
959         (JSBase::Equal):
960         * JSBase.h: Added.
961         * JSObject.cpp: Added.
962         (JSUserObject::JSUserObject):
963         (JSUserObject::~JSUserObject):
964         (JSUserObject::CopyPropertyNames):
965         (JSUserObject::CopyProperty):
966         (JSUserObject::SetProperty):
967         (JSUserObject::ImplementsCall):
968         (JSUserObject::CallFunction):
969         (JSUserObject::CopyCFValue):
970         (JSUserObject::Equal):
971         (JSUserObject::Mark):
972         (JSUserObject::GetData):
973         * JSObject.h: Added.
974         (JSUserObject::DataType):
975         * JSRun.cpp: Added.
976         (JSRun::JSRun):
977         (JSRun::~JSRun):
978         (JSRun::Flags):
979         (JSRun::GetSource):
980         (JSRun::GlobalObject):
981         (JSRun::GetInterpreter):
982         (JSRun::Evaluate):
983         (JSRun::CheckSyntax):
984         * JSRun.h: Added.
985         (JSInterpreter::JSInterpreter):
986         (JSInterpreter::JSInterpreter::~JSInterpreter):
987         (JSInterpreter::Flags):
988         * JSUtils.cpp: Added.
989         (CFStringToUString):
990         (UStringToCFString):
991         (CFStringToIdentifier):
992         (IdentifierToCFString):
993         (KJSValueToJSObject):
994         (JSObjectKJSValue):
995         (KJSValueToCFTypeInternal):
996         (KJSValueToCFType):
997         (GetCFNull):
998         * JSUtils.h: Added.
999         (RetainCFType):
1000         (ReleaseCFType):
1001         * JSValueWrapper.cpp: Added.
1002         (JSValueWrapper::JSValueWrapper):
1003         (JSValueWrapper::~JSValueWrapper):
1004         (JSValueWrapper::GetValue):
1005         (JSValueWrapper::GetExecState):
1006         (JSValueWrapper::GetJSObectCallBacks):
1007         (JSValueWrapper::JSObjectDispose):
1008         (JSValueWrapper::JSObjectCopyPropertyNames):
1009         (JSValueWrapper::JSObjectCopyProperty):
1010         (JSValueWrapper::JSObjectSetProperty):
1011         (JSValueWrapper::JSObjectCallFunction):
1012         (JSValueWrapper::JSObjectCopyCFValue):
1013         (JSValueWrapper::JSObjectMark):
1014         * JSValueWrapper.h: Added.
1015         * JavaScriptGlue.cpp: Added.
1016         (JSSetCFNull):
1017         (JSGetCFNull):
1018         (JSRetain):
1019         (JSRelease):
1020         (JSCopyDescription):
1021         (JSEqual):
1022         (JSGetTypeID):
1023         (JSGetRetainCount):
1024         (JSObjectCreate):
1025         (JSObjectCreateInternal):
1026         (JSObjectCopyCFValue):
1027         (JSObjectGetData):
1028         (JSObjectCopyProperty):
1029         (JSObjectSetProperty):
1030         (JSObjectCallFunction):
1031         (JSRunCreate):
1032         (JSRunCopySource):
1033         (JSRunCopyGlobalObject):
1034         (JSRunEvaluate):
1035         (JSRunCheckSyntax):
1036         (JSCollect):
1037         (JSTypeGetCFArrayCallBacks):
1038         (JSCFRetain):
1039         (JSCFRelease):
1040         (JSObjectCreateWithCFType):
1041         (CFJSObjectDispose):
1042         (JSObjectCopyPropertyNames):
1043         (CFJSObjectCopyProperty):
1044         (CFJSObjectSetProperty):
1045         (CFJSObjectCopyCFValue):
1046         (CFJSObjectEqual):
1047         (CFJSObjectCopyPropertyNames):
1048         (JSCreateCFArrayFromJSArray):
1049         (JSCreateJSArrayFromCFArray):
1050         (JSLockInterpreter):
1051         (JSUnlockInterpreter):
1052         * JavaScriptGlue.exp: Added.
1053         * JavaScriptGlue.h: Added.
1054         * JavaScriptGlue.pbproj/project.pbxproj: Added.
1055         * UserObjectImp.cpp: Added.
1056         (UserObjectPrototypeImp::UserObjectPrototypeImp):
1057         (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
1058         (UserObjectImp::UserObjectImp):
1059         (UserObjectImp::~UserObjectImp):
1060         (UserObjectImp::classInfo):
1061         (UserObjectImp::implementsCall):
1062         (UserObjectImp::call):
1063         (UserObjectImp::propList):
1064         (UserObjectImp::hasProperty):
1065         (UserObjectImp::get):
1066         (UserObjectImp::put):
1067         (UserObjectImp::GetJSUserObject):
1068         (UserObjectImp::toPrimitive):
1069         (UserObjectImp::toBoolean):
1070         (UserObjectImp::toNumber):
1071         (UserObjectImp::toString):
1072         (UserObjectImp::mark):
1073         * UserObjectImp.h: Added.
1074