JavaScriptCore:
[WebKit-https.git] / JavaScriptGlue / ChangeLog
1 2008-07-22  Geoffrey Garen  <ggaren@apple.com>
2
3         Reviewed by Oliver Hunt and Sam Weinig.
4
5         Next step toward putting doubles in registers: Prepare the Register class
6         and its clients for registers that don't contain JSValue*s.
7         
8 2008-07-21  Mark Rowe  <mrowe@apple.com>
9
10         Reviewed by Sam Weinig.
11
12         <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
13
14         * Configurations/Version.xcconfig:
15         * Info.plist:
16
17 2008-07-18  Geoffrey Garen  <ggaren@apple.com>
18
19         Reviewed by Cameron Zwarich.
20         
21         Three renames:
22         
23         "CallTypeNative" => "CallTypeHost"
24         "code" => "byteCode"
25         "generatedCode" => "generatedByteCode"
26
27         * ChangeLog:
28         * JSObject.cpp:
29         (JSUserObject::getCallData):
30
31 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
32
33         Reviewed by Geoff Garen.
34
35         Eliminate per-thread JavaScript global data instance support and make arbitrary
36         global data/global object combinations possible.
37
38         * ForwardingHeaders/wtf/ThreadSpecific.h: Added.
39         * JSRun.cpp:
40         (JSRun::JSRun):
41         * JSUtils.cpp:
42         (getThreadGlobalExecState):
43         Adapt to the new way of asking for shared JSGlobalData.
44
45 2008-07-10  Mark Rowe  <mrowe@apple.com>
46
47         Reviewed by Sam Weinig.
48
49         Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
50
51         * Configurations/JavaScriptGlue.xcconfig:
52
53 2008-07-09  Mark Rowe  <mrowe@apple.com>
54
55         Reviewed by Geoff Garen.
56
57         Don't warn about deprecated functions in production builds.
58
59         * Configurations/Base.xcconfig:
60         * Configurations/DebugRelease.xcconfig:
61
62 2008-07-08  Alexey Proskuryakov  <ap@webkit.org>
63
64         Reviewed by Darin.
65
66         <rdar://problem/6058368> REGRESSION: Crash occurs in KJS::Machine after launching
67         Apple Installer
68
69         The problem was that JSUserObject::getCallData() was setting call type to native, but
70         left callData.native.function uninitialized.
71
72         * JSObject.cpp:
73         (JSUserObject::getCallData): Initialize callData.native.function.
74         (nativeCallFunction): Call UserObjectImp::callAsFunction().
75
76 2008-07-04  Sam Weinig  <sam@webkit.org>
77
78         Rubber-stamped by Dan Bernstein.
79
80         * JSObject.h: Rename the header guard as it now conflicts with the
81         JSObject in JavaScriptCore.
82
83 2008-07-01  Alexey Proskuryakov  <ap@webkit.org>
84
85         Reviewed by Darin.
86
87         Disable JSLock for per-thread contexts.
88
89         * ForwardingHeaders/wtf/Locker.h: Added.
90         * ForwardingHeaders/wtf/Threading.h: Added.
91         * JSBase.cpp:
92         (JSBase::Release):
93         * JSUtils.cpp:
94         (JSObjectKJSValue):
95         (KJSValueToCFTypeInternal):
96         (unprotectGlobalObject):
97         * JSUtils.h:
98         * JSValueWrapper.cpp:
99         (JSValueWrapper::JSObjectCopyPropertyNames):
100         (JSValueWrapper::JSObjectCopyProperty):
101         (JSValueWrapper::JSObjectSetProperty):
102         (JSValueWrapper::JSObjectCallFunction):
103         (JSValueWrapper::JSObjectCopyCFValue):
104         * JavaScriptGlue.cpp:
105         (JSRunCreate):
106         (JSRunEvaluate):
107         (JSRunCheckSyntax):
108         (JSCollect):
109         (JSLockInterpreter):
110         (JSUnlockInterpreter):
111         * UserObjectImp.cpp:
112         (UserObjectImp::callAsFunction):
113         Pass a parameter (always true) to JSLock and JSLock::DropAllLocks to indicate that JSG
114         clients always need implicit mutex protection.
115         Added includes that are now needed.
116
117 2008-06-26  Darin Adler  <darin@apple.com>
118
119         Reviewed by Geoff.
120
121         * JSUtils.cpp: Added include of <JavaScriptCore/JSString.h> since jsString
122         will soon be changed to return a JSString*.
123         * UserObjectImp.cpp: Ditto.
124
125 2008-06-23  Darin Adler  <darin@apple.com>
126
127         Reviewed by Geoff.
128
129         * JSValueWrapper.cpp:
130         (JSValueWrapper::JSObjectCallFunction): Updated to use getCallData and call instead
131         of the old callAsFunction.
132
133 2008-06-17  Alexey Proskuryakov  <ap@webkit.org>
134
135         Reviewed by Darin.
136
137         Prepare JavaScript heap for being per-thread.
138
139         * JSRun.cpp: (JSRun::JSRun): Create JSGlueGlobalObject in a shared JS heap.
140
141         * JSUtils.h: Made getThreadGlobalExecState available throughout JSGlue.
142
143         * JSUtils.cpp:
144         (JSObjectKJSValue): Pass an ExecState where now required.
145         (unprotectGlobalObject):
146         (initializeGlobalObjectKey):
147         (getThreadGlobalExecState):
148         Moved these functions from JSValueWrapper.cpp, as the global exec state is now needed
149         elsewhere. I'm not quite sure how this relates to the global object from JSRun, but
150         since the new uses are all for Heap access, there doesn't seem to be any behavior change.
151
152         * JavaScriptGlue.cpp:
153         (JSLockInterpreter): Don't call registerThread explicitly, as JSLock will do that.
154
155         * UserObjectImp.cpp: (UserObjectImp::toPrimitive): Pass ExecState* where now required.
156
157 2008-06-17  Mark Rowe  <mrowe@apple.com>
158
159         Reviewed by Darin Adler.
160
161         <rdar://problem/5775802> JavaScriptGlue should not force use of GCC 4.0.
162
163         * JavaScriptGlue.xcodeproj/project.pbxproj:
164
165 2008-06-16  Maciej Stachowiak  <mjs@apple.com>
166
167         Reviewed by Alexey.
168
169         - removed nearly unused types.h and LocalStorageEntry.h headers
170
171         * JSUtils.h:
172
173 2008-06-16  Alexey Proskuryakov  <ap@webkit.org>
174
175         Reviewed by Geoff Garen.
176
177         Make Identifier construction use an explicitly passed IdentifierTable.
178
179         * JSUtils.cpp:
180         (CFStringToIdentifier):
181         (KJSValueToCFTypeInternal):
182         * JSUtils.h:
183         * JSValueWrapper.cpp:
184         (JSValueWrapper::JSObjectCopyPropertyNames):
185         (JSValueWrapper::JSObjectCopyProperty):
186         (JSValueWrapper::JSObjectSetProperty):
187         * UserObjectImp.cpp:
188         (UserObjectImp::getPropertyNames):
189         Pass ExecState or JSGlobalData everywhere.
190
191 2008-06-15  Darin Adler  <darin@apple.com>
192
193         - rename KJS::List to KJS::ArgList
194
195         * JSValueWrapper.cpp:
196         (JSValueWrapper::JSObjectCallFunction):
197         * UserObjectImp.cpp:
198         (UserObjectImp::callAsFunction):
199         * UserObjectImp.h:
200
201 2008-06-15  Darin Adler  <darin@apple.com>
202
203         - new names for a few key JavaScriptCore files
204
205         * ForwardingHeaders/kjs/JSValue.h: Copied from JavaScriptGlue/ForwardingHeaders/kjs/value.h.
206         * ForwardingHeaders/kjs/value.h: Removed.
207         * JSUtils.h:
208
209 2008-06-03  Darin Adler  <darin@apple.com>
210
211         - update for JavaScriptCore changes for https://bugs.webkit.org/show_bug.cgi?id=19269
212           speed up SunSpider by eliminating the toObject call for most get/put/delete
213
214         * UserObjectImp.cpp:
215         (UserObjectImp::userObjectGetter): Removed originalObject argument.
216         * UserObjectImp.h: Ditto.
217
218 2008-06-02  Geoffrey Garen  <ggaren@apple.com>
219
220         Reviewed by Alexey Proskuryakov.
221
222         Removed JSObject::call, since it just called JSObject::callAsFunction.
223
224         SunSpider reports no change.
225
226 2008-05-28  Geoffrey Garen  <ggaren@apple.com>
227
228         Reviewed by Oliver Hunt.
229         
230         Fixed total destruction in Software Update.app.
231         
232         Updated JavaScriptGlue to honor squirrelfish's new getCallData mechanism for
233         indicating that an object can be called as a function.
234
235 2008-05-10  Maciej Stachowiak  <mjs@apple.com>
236
237         Reviewed by Oliver.
238
239         - JavaScriptGlue part of fix for: "SQUIRRELFISH: function toString broken after calling"
240         https://bugs.webkit.org/show_bug.cgi?id=18869
241         
242         * JSRun.cpp:
243         (JSRun::Evaluate): Use UString version of eveluate() instead of
244         the now departed UChar*/length variant; use of the lower-level
245         version was gratuitous in any case.
246         (JSRun::CheckSyntax): Ditto for checkSyntax().
247
248 2008-04-30  Geoffrey Garen  <ggaren@apple.com>
249
250         Build fix: supply missing parameter that used to be implicit.
251
252         * JSRun.cpp:
253         (JSRun::Evaluate):
254
255 2008-03-30  Geoffrey Garen  <ggaren@apple.com>
256
257         Reviewed by Oliver Hunt.
258         
259         Build fix.
260
261         * ForwardingHeaders/wtf/UnusedParam.h: Copied from ForwardingHeaders/wtf/OwnPtr.h.
262
263 2008-05-12  Alexey Proskuryakov  <ap@webkit.org>
264
265         Roll out recent  threading changes (r32807, r32810, r32819, r32822) to simplify
266         SquirrelFish merging.
267
268         * JSUtils.cpp:
269         (JSObjectKJSValue):
270         * JSUtils.h:
271         * JSValueWrapper.cpp:
272         (unprotectGlobalObject):
273         (initializeGlobalObjectKey):
274         (getThreadGlobalExecState):
275         * JavaScriptGlue.cpp:
276         (JSCollect):
277         (JSLockInterpreter):
278         * UserObjectImp.cpp:
279         (UserObjectImp::toPrimitive):
280
281 2008-05-02  Alexey Proskuryakov  <ap@webkit.org>
282
283         Reviewed by Darin.
284
285         Make JavaScriptGlue and JavaScriptCore API functions implicitly call initializeThreading
286         for the sake of non-WebKit clients.
287
288         * JavaScriptGlue.cpp:
289         (JSRunCreate):
290         (JSCollect):
291         (JSCreateJSArrayFromCFArray):
292         (JSLockInterpreter):
293         These are all possible JavaScriptGlue entry points.
294
295 2008-05-02  Alexey Proskuryakov  <ap@webkit.org>
296
297         Reviewed by Geoffrey Garen.
298
299         https://bugs.webkit.org/show_bug.cgi?id=18826
300         Make JavaScript heap per-thread
301
302         * JSValueWrapper.cpp:
303         * JSUtils.h:
304         Moved getThreadGlobalExecState() to JSUtils and made it extern, as ExecState is now needed
305         for all JS allocations.
306
307         * JSUtils.cpp:
308         (JSObjectKJSValue): Pass ExecState to functions that now need it.
309         (unprotectGlobalObject): Moved from JSValueWrapper.cpp.
310         (initializeGlobalObjectKey): Ditto.
311         (getThreadGlobalExecState): Ditto.
312
313         * UserObjectImp.cpp: (UserObjectImp::toPrimitive): Pass ExecState to jsString and jsNumber.
314
315         * JavaScriptGlue.cpp:
316         (JSCollect): Use current thread's heap.
317         (JSLockInterpreter): Removed JSLock::registerThread(), because a JS heap doesn't need to
318         know about other threads.
319
320 2008-04-25  Alexey Proskuryakov  <ap@webkit.org>
321
322         Reviewed by Darin.
323
324         Fix run-webkit-tests --threading
325         and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
326         Proxy server issue in Sunday's Nightly
327
328         * UserObjectImp.cpp: Adjusted for the new member added to ClassInfo.
329
330 2008-04-25  Mark Rowe  <mrowe@apple.com>
331
332         Reviewed by Adele Peterson.
333
334         <rdar://problem/5891264> Don't install the JavaScriptGlue headers
335
336         * JavaScriptGlue.xcodeproj/project.pbxproj:
337
338 2008-04-25  Mark Rowe  <mrowe@apple.com>
339
340         Rubber-stamped by Sam Weinig.
341
342         Add some content to an empty ICU header file to prevent verification errors.
343
344         * icu/unicode/utf_old.h:
345
346 2008-04-02  Mark Rowe  <mrowe@apple.com>
347
348         Reviewed by Oliver Hunt.
349
350         Ensure that debug symbols are generated for x86_64 and ppc64 builds.
351
352         * Configurations/Base.xcconfig:
353
354 2008-03-20  Maciej Stachowiak  <mjs@apple.com>
355
356         - fix build
357
358         * ForwardingHeaders/wtf/ListRefPtr.h: Added.
359
360 2008-03-01  Mark Rowe  <mrowe@apple.com>
361
362         Reviewed by Tim Hatcher.
363
364         Update Xcode configuration to support building debug and release from the mysterious future.
365
366         * Configurations/Base.xcconfig:
367         * Configurations/DebugRelease.xcconfig:
368
369 2008-02-29  Geoffrey Garen  <ggaren@apple.com>
370
371         Reviewed by David Harrison.
372         
373         Fixed <rdar://problem/5765063> TOT REGRESSION: Software Update crash in
374         KJS::Collector::collect() (missing JSLock)
375
376         * JSValueWrapper.cpp:
377         (unprotectGlobalObject): Added missing JSLock.
378
379 2008-02-05  Mark Rowe  <mrowe@apple.com>
380
381         Reviewed by Oliver Hunt.
382
383         Update versioning to support the mysterious future.
384
385         * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
386
387 2008-01-28  Eric Seidel  <eric@webkit.org>
388
389         Reviewed by darin.
390         
391         Add icu headers to JSG in preparation for depending on ::UChar.
392
393         * Configurations/Base.xcconfig:
394         * ForwardingHeaders/wtf/unicode: Added.
395         * ForwardingHeaders/wtf/unicode/Unicode.h: Added.
396         * ForwardingHeaders/wtf/unicode/icu: Added.
397         * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Added.
398         * icu: Copied from ../JavaScriptCore/icu.
399
400 2007-12-19  Geoffrey Garen  <ggaren@apple.com>
401
402         Build fix.
403
404         * ForwardingHeaders/wtf/VectorTraits.h: Added.
405
406 2007-12-10  Timothy Hatcher  <timothy@apple.com>
407
408         Reviewed by Mark Rowe.
409
410         <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
411
412         * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
413           so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
414
415 2007-12-04  Geoffrey Garen  <ggaren@apple.com>
416
417         Reviewed by Darin Adler.
418
419         Third step in refactoring JSGlobalObject: Moved data members and data
420         member access from Interpreter to JSGlobalObject. Replaced JSInterpreter
421         subclass with JSGlobalObject subclass.
422         
423         * JSRun.cpp:
424         (JSRun::JSRun):
425         (JSRun::Evaluate):
426         (JSRun::CheckSyntax):
427         * JSRun.h:
428         (JSGlueGlobalObject::JSGlueGlobalObject):
429         * JSUtils.cpp:
430         (KJSValueToCFTypeInternal):
431         * JSValueWrapper.cpp:
432         (getThreadGlobalExecState):
433
434 2007-12-02  Geoffrey Garen  <ggaren@apple.com>
435
436         Reviewed by Eric Seidel.
437
438         Updated to match the JavaScriptCore change to move virtual methods from
439         Interpreter to JSGlobalObject.
440         
441         * JSRun.cpp:
442         * JSRun.h:
443         * JSValueWrapper.cpp:
444         (getThreadGlobalExecState):
445         * JavaScriptGlue.cpp:
446         (JSRunCopyGlobalObject):
447         (JSRunEvaluate):
448
449 2007-11-30  Geoffrey Garen  <ggaren@apple.com>
450
451         Reviewed by Beth Dakin.
452         
453         Modified to follow new JSGlobalObject/Interpreter ownership rules 
454         in JavaScriptCore.
455
456         * JSRun.cpp:
457         (JSRun::JSRun):
458         (JSRun::GetInterpreter):
459         (JSRun::Evaluate):
460         (JSRun::CheckSyntax):
461         * JSRun.h:
462         * JSValueWrapper.cpp:
463         (unprotectGlobalObject):
464         (initializeGlobalObjectKey):
465         (getThreadGlobalExecState):
466
467 2007-11-29  Mark Rowe  <mrowe@apple.com>
468
469         Reviewed by Maciej.
470
471         Fix REGRESSION(r27885): Installer hits assertion failure in JavaScriptGlue.
472
473         * JSValueWrapper.cpp:
474         (getThreadGlobalExecState): Set the global object on the Interpreter before using it.
475
476 2007-11-27  Anders Carlsson  <andersca@apple.com>
477         
478         Build fix.
479         
480         * JSUtils.cpp:
481         (KJSValueToCFTypeInternal):
482         * JSValueWrapper.cpp:
483         (JSValueWrapper::JSObjectCopyPropertyNames):
484
485 2007-11-21  Mark Rowe  <mrowe@apple.com>
486
487         Reviewed by Eric.
488
489         Fix JavaScriptGlue to build without warnings using GCC 4.2.
490
491         * Configurations/Base.xcconfig:
492         * JSRun.h:
493
494 2007-11-17  Mark Rowe  <mrowe@apple.com>
495
496         Reviewed by Darin Adler.
497
498         Fix: <rdar://problem/5607032> REGRESSION: testapi exits with assertion failure in debug build
499              <rdar://problem/5440659> JSGlobalContextCreate throws away globalObjectClass's prototype
500              http://bugs.webkit.org/show_bug.cgi?id=16033
501
502         Update for changes in Interpreter method signatures.
503
504         * JSRun.h:
505
506 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
507
508         Reviewed by Anders Carlsson.
509
510         Renamed Shared to RefCounted.
511
512         * ForwardingHeaders/wtf/RefCounted.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/Shared.h.
513         * ForwardingHeaders/wtf/Shared.h: Removed.
514
515 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
516
517         Reviewed by Sam Weinig.
518
519         Moved Shared.h into wtf so it could be used in more places.
520
521         * ForwardingHeaders/wtf/Shared.h: Added.
522
523 2007-11-08  Mark Rowe  <mrowe@apple.com>
524
525         Build fix.
526
527         * ForwardingHeaders/wtf/MathExtras.h: Copied from WebCore/ForwardingHeaders/wtf/MathExtras.h.
528
529 2007-11-05  Geoffrey Garen  <ggaren@apple.com>
530
531         Build fix.
532
533         * ForwardingHeaders/kjs/value.h: Added.
534
535 2007-11-03  Sam Weinig  <sam@webkit.org>
536
537         Build-fix.
538
539         * UserObjectImp.cpp:
540
541 2007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
542
543         Sort files(...); sections of Xcode project files.
544
545         Rubber-stamped by Darin.
546
547         * JavaScriptGlue.xcodeproj/project.pbxproj:
548
549 2007-10-25  Eric Seidel  <eric@webkit.org>
550
551         Reviewed by Geoff.
552         
553         Make JSG build again after JSGlobalObject change.
554
555         * JSRun.cpp:
556         (JSRun::JSRun):
557         (JSRun::GlobalObject):
558         * JSRun.h:
559         (JSInterpreter::JSInterpreter):
560         * JSUtils.h:
561
562 2007-10-11  Mark Rowe  <mrowe@apple.com>
563
564         Reviewed by Tim Hatcher.
565
566         Fix for <rdar://problem/5488678>.  Disable debugging symbols in production builds for 10.4
567         PowerPC to prevent a huge STABS section from being generated.
568
569         * Configurations/Base.xcconfig:
570
571 2007-10-04  Mark Rowe  <mrowe@apple.com>
572
573         Reviewed by Oliver.
574
575         Switch to default level of debugging symbols to resolve <rdar://problem/5488678>.
576         The "full" level appears to offer no observable benefits even though the documentation
577         suggests it be used for dead code stripping.  This should also decrease link times.
578
579         * Configurations/Base.xcconfig:
580
581 2007-09-03  Mark Rowe  <mrowe@apple.com>
582
583         Reviewed by Tim Hatcher.
584
585         <rdar://problem/5452164> Production build with in symbols directory has no debug info
586
587         Enable debug symbol generation on all build configurations.  Production builds are stripped
588         of symbols by Xcode during deployment post-processing.
589
590         * Configurations/Base.xcconfig:
591         * JavaScriptGlue.xcodeproj/project.pbxproj:
592
593 2007-08-09  Mark Rowe  <mrowe@apple.com>
594
595         Reviewed by Antti.
596
597         <rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +
598
599         * Configurations/Version.xcconfig:
600         * JavaScriptGlue.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between
601         Version.xcconfig and Info.plist explicit to Xcode.
602
603 2007-07-16  Sam Weinig  <sam@webkit.org>
604
605         Reviewed by Oliver.
606
607         Turn off -Wshorten-64-to-32 warning for 64-bit builds.
608
609         * Configurations/Base.xcconfig:
610
611 2007-04-27  Mark Rowe  <mrowe@apple.com>
612
613         Reviewed by Oliver.
614
615         * JavaScriptGlue.xcodeproj/project.pbxproj: Improve dependencies in Xcode project
616         by marking JavaScriptGlue as a dependency of testjsglue.
617
618 2007-03-24  Mark Rowe  <mrowe@apple.com>
619
620         Reviewed by Dave Hyatt.
621
622         * JavaScriptGlue.xcodeproj/project.pbxproj: Use GCC 4.0 for testjsglue.
623
624 2007-03-24  Mark Rowe  <mrowe@apple.com>
625
626         Rubber-stamped by Darin.
627
628         * Configurations/JavaScriptGlue.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS.
629
630 2007-03-19  Andrew Wellington  <proton@wiretapped.net>
631
632         Reviewed by Maciej.
633
634         Really set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
635
636         * JavaScriptGlue.xcodeproj/project.pbxproj:
637
638 2007-03-18  Andrew Wellington  <proton@wiretapped.net>
639
640         Reviewed by Mark Rowe
641         
642         Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
643
644         * JavaScriptGlue.xcodeproj/project.pbxproj:
645
646 2007-03-17  Timothy Hatcher  <timothy@apple.com>
647
648         Reviewed by Mark Rowe.
649
650         Made Version.xcconfig smarter when building for different configurations.
651         Now uses the 522+ OpenSource version for Debug and Release, while using the    
652         full 522.4 version for Production builds. The system prefix is also computed
653         based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.
654
655         * Configurations/JavaScriptGlue.xcconfig:
656         * Configurations/Version.xcconfig:
657
658 2007-03-15  Timothy Hatcher  <timothy@apple.com>
659
660         Reviewed by John.
661
662         * Factored out most of our common build settings into .xcconfig files. Anything that was common in
663           each build configuration was factored out into the shared .xcconfig file.
664         * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
665         * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
666         * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
667
668         * Configurations/Base.xcconfig: Added.
669         * Configurations/DebugRelease.xcconfig: Added.
670         * Configurations/JavaScriptGlue.xcconfig: Added.
671         * Configurations/Version.xcconfig: Added.
672         * Info.plist:
673         * JavaScriptGlue.xcodeproj/project.pbxproj:
674
675 === Safari-5522.4 ===
676
677 2007-03-12  Geoffrey Garen  <ggaren@apple.com>
678
679         Reviewed by Oliver Hunt.
680         
681         Updated in light of fix for <rdar://problem/4681051> Installer crashes 
682         in KJS::Collector::markOtherThreadConservatively(KJS::Collector::Thread*) 
683         trying to install iLife 06 using Rosetta on an Intel Machine
684         
685         * JavaScriptGlue.cpp:
686         (JSLockInterpreter): Ensure backwards compatibility by calling 
687         registerThread() when explicitly taking the JSLock. (This doesn't happen 
688         automatically anymore.) I doubt this actally matters, but in JavaScriptGlue
689         territory, that kind of thinking will get you killed.
690
691 2007-03-06  Geoffrey Garen  <ggaren@apple.com>
692
693         Reviewed by Maciej Stachowiak.
694
695         Fixed all known crashers exposed by run-webkit-tests --threaded while using
696         a PAC file (for maximum carnage). See JavaScriptCore ChangeLog for 
697         more details.
698
699         * JSBase.cpp:
700         (JSBase::Release): Lock when deleting, because we may be deleting an object
701         (like a JSRun) that holds thread-unsafe data.
702
703         * JSUtils.cpp:
704         (CFStringToUString): Don't lock, because our caller locks. Also, locking
705         inside a function that returns thread-unsafe data by copy will only mask
706         threading problems.
707
708         * JavaScriptGlue.cpp:
709         (JSRunEvaluate): Added missing JSLock.
710         (JSRunCheckSyntax): Converted to JSLock.
711         * JavaScriptGlue.xcodeproj/project.pbxproj:
712
713 2007-02-22  Geoffrey Garen  <ggaren@apple.com>
714
715         Reviewed by Darin Adler.
716         
717         Fixed <rdar://problem/4942528> Installer.app Stuck "Examining additional 
718         volumes..."
719         
720         The problem was that JavaScriptGlue held a JSObject in a static pointer
721         without protecting it from garbage collection. 
722         
723             sUserObjectPrototypeImp  = new UserObjectPrototypeImp();
724             static ProtectedPtr<UserObjectPrototypeImp> protectPrototype; // valiant, brave, but useless
725
726         Through an interesting comedy of errors, this object would be collected 
727         and then assigned as the prototype of another object allocated at the 
728         same address, thus becoming its own prototype. (See http://www.ziplo.com/grandpa.htm
729         for further explanation of this phenomenon.) Hence the infinte loop in 
730         property lookup.
731         
732         The solution is equally humorous: all of this code was completely useless --
733         it only served to create an empty object in the prototype chain -- so
734         I just removed it.
735
736         * UserObjectImp.cpp:
737         (UserObjectImp::UserObjectImp):
738         * UserObjectImp.h:
739
740 2007-02-19  Timothy Hatcher  <timothy@apple.com>
741
742         Reviewed by Geoff.
743
744         <rdar://problem/4636301> Deprecate JavaScriptGlue
745
746         * JavaScriptGlue.h: adds DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER to everything
747         * JavaScriptGlue.xcodeproj/project.pbxproj: use -Wno-deprecated-declarations to keep the project building
748         * config.h: define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER as empty on other systems
749
750 2007-02-16  Darin Adler  <darin@apple.com>
751
752         Reviewed by Anders.
753
754         - fix <rdar://problem/5000216> JavaScriptGlue framework started turning all CFNumbers
755           into signed 32bit values
756
757         Circumstantial evidence seems to indicate that JavaScriptGlue was depending on a bug
758         in CFNumber where CFNumberIsFloatType was returning true for 64-bit integer values.
759
760         * JSUtils.cpp: (JSObjectKJSValue): Removed the call to CFNumberIsFloatType in the
761         conversion of numeric values, and always use kCFNumberDoubleType, since double is
762         the internal format of numbers in JavaScriptCore. There's no value to having a
763         separate code path for integers. There's also no reason to check the return value
764         from CFNumberGetValue -- if it returns false it still does the best it can to convert
765         to a double, which is what we want.
766
767         * UserObjectImp.cpp: (UserObjectImp::toString): Removed a similar code path that
768         tried to handle integers separate from double. Instead, always use a double. For
769         compatibility, use a format without a decimal point when CFNumberIsFloatType returns
770         false. Also removed a bogus cast to float; the "%f" format string takes a double,
771         not a float, so all the cast did was cut down on precision.
772
773 2007-01-25  Mark Rowe  <mrowe@apple.com>
774
775         Reviewed by Maciej.
776
777         * Info.plist: Update copyright string.
778
779 2006-12-19  Timothy Hatcher  <timothy@apple.com>
780
781         Reviewed by Darin.
782
783         <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features
784
785         * JavaScriptGlue.xcodeproj/project.pbxproj:
786
787 === Safari-521.26 ===
788
789 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
790
791         Reviewed by Tim H.
792
793         Build fix:  DWARF and -gfull are incompatible with symbol separation.
794
795         * JavaScriptGlue.xcodeproj/project.pbxproj:
796
797 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
798
799         Reviewed by Tim H.
800
801         http://bugs.webkit.org/show_bug.cgi?id=10394
802         Bug 10394: WebKit Release and Production configurations should enable dead code stripping
803
804         * JavaScriptGlue.xcodeproj/project.pbxproj:
805
806 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
807
808         Reviewed by Tim H.
809
810         http://bugs.webkit.org/show_bug.cgi?id=10384
811         Bug 10384: Switch to DWARF for Release configuration
812
813         * JavaScriptGlue.xcodeproj/project.pbxproj:
814
815 2006-08-04  Sam Weinig  <sam.weinig@gmail.com>
816
817         Reviewed by Darin.
818
819         - patch for http://bugs.webkit.org/show_bug.cgi?id=10192
820           Make WebCore (and friends) compile with -Wshorten-64-to-32
821
822           * Adds -Wshorten-64-to-32 flag to Xcode project.
823
824         * JavaScriptGlue.xcodeproj/project.pbxproj:
825
826 2006-08-03  Sam Weinig  <sam.weinig@gmail.com>
827
828         Reviewed by Darin.
829
830         - patch for http://bugs.webkit.org/show_bug.cgi?id=10176
831           Make WebCore compile with -Wundef
832
833           * Adds -Wundef flag to Xcode project
834
835         * JavaScriptGlue.xcodeproj/project.pbxproj:
836
837 2006-07-29  Sam Weinig  <sam.weinig@gmail.com>
838
839         Reviewed by Darin.
840
841         - patch for http://bugs.webkit.org/show_bug.cgi?id=10080
842           Adopt pedantic changes from the Unity project to improve 
843           cross-compiler compatibility
844
845           Changes include:
846           * Turning on gcc warning for missing newline at the end of a source file
847             (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
848
849         * JavaScriptGlue.xcodeproj/project.pbxproj:
850
851 === Safari-521.19 ===
852
853 2006-07-19  Geoffrey Garen  <ggaren@apple.com>
854
855         Fixed by Darin & Maciej, reviewed by me.
856         
857         - Fixed <rdar://problem/4638934> Leopard 9A227: Installer crashes right 
858         after LCA and while preparing Installation
859
860         Compile release/production with NDEBUG set, to ensure binary compatibility
861         between JavaScriptGlue and JavaScriptCore. In debug builds, JavaScriptCore 
862         includes an extra debug data member in HashSet.
863         
864         * JavaScriptGlue.xcodeproj/project.pbxproj:
865
866 === Safari-521.18 ===
867
868 2006-07-15  Maciej Stachowiak  <mjs@apple.com>
869
870         Reviewed by Darin.
871
872         - switch property lists to be vector+set of Identifiers instead of list of References
873         
874         * JSUtils.cpp:
875         (KJSValueToCFTypeInternal): updated for JSC SPI changes
876         * JSValueWrapper.cpp:
877         (JSValueWrapper::JSObjectCopyPropertyNames): ditto
878         * UserObjectImp.cpp:
879         (UserObjectImp::getPropertyNames): ditto
880         * UserObjectImp.h:
881
882 === Safari-521.17 ===
883
884 2006-07-14  Geoffrey Garen  <ggaren@apple.com>
885
886         Reviewed by Maciej.
887         
888         - Updated JSInterpreter to work with Interpreter ref-counting in JavaScriptCore.
889
890         (JSInterpreter::JSInterpreter::~JSInterpreter): Now protected to catch
891         manual delete.
892
893 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
894
895         Build fix
896         
897         * JSUtils.cpp:
898         (KJSValueToCFTypeInternal):
899         * JSValueWrapper.cpp:
900         (JSValueWrapper::JSObjectCopyPropertyNames):
901         * UserObjectImp.cpp:
902         (UserObjectImp::getPropertyList):
903         
904 === Safari-521.15 ===
905
906 2006-07-07  Geoffrey Garen  <ggaren@apple.com>
907
908         - build fix
909
910         * JSUtils.cpp:
911         (KJSValueToCFTypeInternal):
912         * JSValueWrapper.cpp:
913         (JSValueWrapper::JSObjectCopyPropertyNames):
914
915 2006-07-03  Geoffrey Garen  <ggaren@apple.com>
916
917         Reviewed by Maciej.
918         
919         * JSRun.cpp:
920         (JSRun::CheckSyntax): Updated to use new checkSyntax syntax in JSC.
921         * JavaScriptGlue.xcodeproj/project.pbxproj:
922
923 === Safari-521.14 ===
924
925 2006-06-28  Timothy Hatcher  <timothy@apple.com>
926
927         Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
928
929         * JavaScriptGlue.xcodeproj/project.pbxproj:
930
931 2006-06-24  David Kilzer  <ddkilzer@kilzer.net>
932
933         Reviewed by Timothy.
934
935         * Info.plist: Fixed copyright to include 2003-2006.
936
937 === JavaScriptGlue-521.13 ===
938         
939 2006-06-20  Geoffrey Garen  <ggaren@apple.com>
940
941         Reviewed by Anders.
942         
943         - Required for JS API: Rename propList to getPropertyList and have it
944         take its target property list by reference so that subclasses can
945         add properties to the list before calling through to their superclasses.
946
947         * JSUtils.cpp:
948         (KJSValueToCFTypeInternal):
949         * JSValueWrapper.cpp:
950         (JSValueWrapper::JSObjectCopyPropertyNames):
951         * UserObjectImp.cpp:
952         (UserObjectImp::getPropertyList):
953         * UserObjectImp.h:
954
955 2006-06-15  Timothy Hatcher  <timothy@apple.com>
956
957         Reviewed by Geoff and Darin.
958         
959         Prefer the DWARF debugging symbols format for use in Xcode 2.3.
960
961         * JavaScriptGlue.xcodeproj/project.pbxproj:
962
963 2006-06-12  Geoffrey Garen  <ggaren@apple.com>
964
965         Reviewed by TimO, Maciej.
966         
967         - JSGlue part of merging InterpreterImp into Interpreter.
968         
969         Since there's now a kjs forwarding header, I moved all forwarding
970         headers into a "ForwardingHeaders" directory, like in WebCore.
971
972         * ForwardingHeaders: Added.
973         * ForwardingHeaders/kjs: Added.
974         * ForwardingHeaders/kjs/ExecState.h: Added.
975         * ForwardingHeaders/wtf: Added.
976         * JavaScriptGlue.xcodeproj/project.pbxproj:
977         * config.h:
978         * wtf: Removed.
979         * wtf/AlwaysInline.h: Removed.
980         * wtf/Assertions.h: Removed.
981         * wtf/FastMalloc.h: Removed.
982         * wtf/Forward.h: Removed.
983         * wtf/HashCountedSet.h: Removed.
984         * wtf/HashSet.h: Removed.
985         * wtf/Noncopyable.h: Removed.
986         * wtf/OwnArrayPtr.h: Removed.
987         * wtf/OwnPtr.h: Removed.
988         * wtf/PassRefPtr.h: Removed.
989         * wtf/Platform.h: Removed.
990         * wtf/RefPtr.h: Removed.
991         * wtf/Vector.h: Removed.
992
993 === JavaScriptGlue-521.10 ===
994
995 2006-05-09  Maciej Stachowiak  <mjs@apple.com>
996
997         Rubber stamped by Anders.
998         
999         - renamed kxmlcore to wtf
1000         
1001         kxmlcore --> wtf
1002         KXMLCore --> WTF
1003         KXC --> WTF
1004
1005         * config.h:
1006         * kxmlcore: Removed.
1007         * kxmlcore/AlwaysInline.h: Removed.
1008         * kxmlcore/Assertions.h: Removed.
1009         * kxmlcore/FastMalloc.h: Removed.
1010         * kxmlcore/Forward.h: Removed.
1011         * kxmlcore/HashCountedSet.h: Removed.
1012         * kxmlcore/HashSet.h: Removed.
1013         * kxmlcore/Noncopyable.h: Removed.
1014         * kxmlcore/OwnArrayPtr.h: Removed.
1015         * kxmlcore/OwnPtr.h: Removed.
1016         * kxmlcore/PassRefPtr.h: Removed.
1017         * kxmlcore/Platform.h: Removed.
1018         * kxmlcore/RefPtr.h: Removed.
1019         * kxmlcore/Vector.h: Removed.
1020         * wtf: Added.
1021
1022 2006-04-11  Darin Adler  <darin@apple.com>
1023
1024         - try to fix Windows build
1025
1026         * kxmlcore/HashForward.h: Removed.
1027
1028 2006-04-10  Darin Adler  <darin@apple.com>
1029
1030         Rubber-stamped by John Sullivan.
1031
1032         - added forwarding headers for the new Forward.h and HashForward.h files
1033
1034         * kxmlcore/Forward.h: Added.
1035         * kxmlcore/HashForward.h: Added.
1036
1037 2006-04-04  Timothy Hatcher  <timothy@apple.com>
1038
1039         Reviewed by Darin.
1040
1041         The Debug and Release frameworks are now built with install paths relative to the build products directory.
1042         This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. 
1043
1044         * JavaScriptGlue.xcodeproj/project.pbxproj:
1045
1046 2006-04-02  Eric Seidel  <eseidel@apple.com>
1047
1048         Reviewed by andersca.
1049
1050         Add missing forwarding header.
1051
1052         * kxmlcore/Vector.h: Added.
1053
1054 2006-03-31  Geoffrey Garen  <ggaren@apple.com>
1055
1056         Reviewed by Darin.
1057
1058         - Fixed <rdar://problem/4430836> JavaScript patch crashing Quartz
1059         Composer
1060
1061         JSValueWrappers used to hold on to the ExecState that pertained at
1062         the time of their creation. Since ExecStates are transient, that
1063         design was totally bogus, and it would crash once the ExecState had
1064         been deallocated.
1065
1066         Unfortunately, there's no clean solution to this problem, since
1067         the JSGlue API has no notion of state. The solution here is to use
1068         a shared, global ExecState for the purpose of JSGlue calls. Given
1069         the pre-existing limitations in the JSGlue API, this design
1070         shouldn't actually introduce any new limitations (see comments in
1071         JSValueWrapper.cpp).
1072
1073         I tested with Quartz Composer and PAC files, neither of which are
1074         layout-testable.
1075         
1076         * JSUtils.cpp:
1077         (KJSValueToJSObject):
1078         * JSValueWrapper.cpp:
1079         (JSValueWrapper::JSValueWrapper):
1080         (JSValueWrapper::GetValue):
1081         (getProcessGlobalExecState):
1082         (JSValueWrapper::JSObjectCopyPropertyNames):
1083         (JSValueWrapper::JSObjectCopyProperty):
1084         (JSValueWrapper::JSObjectSetProperty):
1085         (JSValueWrapper::JSObjectCallFunction):
1086         (JSValueWrapper::JSObjectCopyCFValue):
1087         * JSValueWrapper.h:
1088
1089         Also added a test harness file. It was helpful while I was testing,
1090         and may come in handy in the future:
1091         
1092         * JavaScriptGlue.xcodeproj/project.pbxproj:
1093         testjsglue.cpp: Added.
1094
1095 2006-03-28  Darin Adler  <darin@apple.com>
1096
1097         Reviewed by Geoff.
1098
1099         - added a build step that checks for init routines
1100
1101         * JavaScriptGlue.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
1102         check-for-global-initializers script.
1103
1104 2006-03-02  Maciej Stachowiak  <mjs@apple.com>
1105
1106         Not reviewed, but I noticed these trivial extra changes were needed to avoid
1107         breaking the build with my reviewed patch for:
1108         
1109         http://bugs.webkit.org/show_bug.cgi?id=7387
1110         
1111         Add config.h, includes of it, and Platform.h forwarding header.
1112
1113         * JSBase.cpp:
1114         * JSObject.cpp:
1115         * JSRun.cpp:
1116         * JSUtils.cpp:
1117         * JSValueWrapper.cpp:
1118         * JavaScriptGlue.cpp:
1119         * UserObjectImp.cpp:
1120         * config.h: Added.
1121         * kxmlcore/Platform.h: Added.
1122
1123 === JavaScriptGlue-521.7 ===
1124
1125 2006-02-10  Geoffrey Garen  <ggaren@apple.com>
1126
1127         Reviewed by eric.
1128
1129         - Fixed build.
1130
1131         * UserObjectImp.cpp:
1132         (UserObjectImp::toPrimitive):
1133         * UserObjectImp.h:
1134
1135 2006-02-03  Timothy Hatcher  <timothy@apple.com>
1136
1137         Reviewed by Justin.
1138
1139         Renamed configuration names to Debug, Release and Production.
1140
1141         * JavaScriptGlue.xcodeproj/project.pbxproj:
1142
1143 2006-02-01  Darin Adler  <darin@apple.com>
1144
1145         - added some forwarding headers to make new JavaScriptCore changes work
1146
1147         * kxmlcore/Assertions.h: Added.
1148         * kxmlcore/Noncopyable.h: Added.
1149         * kxmlcore/OwnPtr.h: Added.
1150         * kxmlcore/OwnArrayPtr.h: Added.
1151
1152 2006-01-16  Timothy Hatcher  <timothy@apple.com>
1153
1154         Adding the license header to all files so we can
1155         move JavaScriptGlue into the open source repository.
1156
1157         * LICENSE: Added.
1158         * JSBase.cpp: license header added.
1159         * JSBase.h: ditto.
1160         * JSObject.cpp: ditto.
1161         * JSObject.h: ditto.
1162         * JSRun.cpp: ditto.
1163         * JSRun.h: ditto.
1164         * JSUtils.cpp: ditto.
1165         * JSUtils.h: ditto.
1166         * JSValueWrapper.cpp: ditto.
1167         * JSValueWrapper.h: ditto.
1168         * JavaScriptGlue.cpp: ditto.
1169         * JavaScriptGlue.h: ditto.
1170         * UserObjectImp.cpp: ditto.
1171         * UserObjectImp.h: ditto.
1172
1173 2005-12-21  Timothy Hatcher  <timothy@apple.com>
1174
1175         * JavaScriptGlue.xcodeproj/project.pbxproj:
1176           Set tab width to 8, indent width to 4 and uses tabs to false per file.
1177
1178 2005-12-19  Darin Adler  <darin@apple.com>
1179
1180         Reviewed by Geoff Garen and Eric Seidel.
1181
1182         - fix http://bugs.webkit.org/show_bug.cgi?id=4923
1183           stop using <ostream> in WebCore, eliminating the <cmath> troubles it causes
1184
1185         * kxmlcore/AlwaysInline.h: Added.
1186
1187 2005-12-15  Darin Adler  <darin@apple.com>
1188
1189         Reviewed by Maciej.
1190
1191         * JSRun.cpp: (JSRun::Evaluate): Updated for change to Interpreter::evaluate.
1192
1193 2005-12-15  Darin Adler  <darin@apple.com>
1194
1195         Reviewed by Tim Hatcher.
1196
1197         * JavaScriptGlue.xcodeproj/project.pbxproj: Removed some redundant build
1198         settings, turned off prebinding explicitly for our Development and
1199         Deployment builds, remove .exp file from sources. All "clean-up".
1200
1201 === Safari-521~5 ===
1202
1203 2005-12-13  Geoffrey Garen  <ggaren@apple.com>
1204
1205     - Fixed build after Anders's last checkin to JavaScriptCore.
1206     
1207         Reviewed by darin.
1208
1209         * UserObjectImp.cpp:
1210         (UserObjectImp::userObjectGetter): Updated to reflect new argument that 
1211     getters take (unused here).
1212         * UserObjectImp.h:
1213
1214 2005-12-13  Maciej Stachowiak  <mjs@apple.com>
1215
1216         Reviewed by Eric.
1217
1218     - added forwarding header for HashCountedSet
1219
1220         * kxmlcore/HashCountedSet.h: Added.
1221
1222 2005-12-10  Darin Adler  <darin@apple.com>
1223
1224         Rubber stamped by Maciej.
1225
1226         - updated for KJS class renaming
1227
1228         * many files and functions
1229
1230 2005-12-10  Darin Adler  <darin@apple.com>
1231
1232         Reviewed by Maciej.
1233
1234         - eliminated the old Undefined(), Null(), Boolean(), Number(), and String()
1235
1236         Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString().
1237
1238         * JSUtils.cpp:
1239         (JSObjectKJSValue):
1240         * UserObjectImp.cpp:
1241         (UserObjectImp::callAsFunction):
1242         (UserObjectImp::toPrimitive):
1243
1244 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
1245
1246         - added new forwarding headers
1247
1248         * kxmlcore/PassRefPtr.h: Added.
1249         * kxmlcore/RefPtr.h: Added.
1250
1251 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
1252
1253         * kxmlcore/PassRefPtr.h: Added.
1254
1255 2005-11-26  Maciej Stachowiak  <mjs@apple.com>
1256
1257         Rubber stamped by Eric.
1258
1259     - renamed InterpreterLock to JSLock
1260
1261         * JSUtils.cpp:
1262         (CFStringToUString):
1263         (JSObjectKJSValue):
1264         (KJSValueToCFTypeInternal):
1265         * JSValueWrapper.cpp:
1266         (JSValueWrapper::JSObjectCopyPropertyNames):
1267         (JSValueWrapper::JSObjectCopyProperty):
1268         (JSValueWrapper::JSObjectSetProperty):
1269         (JSValueWrapper::JSObjectCallFunction):
1270         (JSValueWrapper::JSObjectCopyCFValue):
1271         * JavaScriptGlue.cpp:
1272         (JSRunCreate):
1273         (JSCollect):
1274         (JSLockInterpreter):
1275         (JSUnlockInterpreter):
1276         * UserObjectImp.cpp:
1277         (UserObjectImp::callAsFunction):
1278
1279 2005-11-16  Maciej Stachowiak  <mjs@apple.com>
1280
1281         Reviewed by Geoff.
1282
1283     Updated to use new API to drop all locks.
1284
1285         * JavaScriptGlue.cpp:
1286         (JSLockInterpreter):
1287         (JSUnlockInterpreter):
1288         * UserObjectImp.cpp:
1289         (UserObjectImp::callAsFunction):
1290
1291 2005-11-14  Geoffrey Garen  <ggaren@apple.com>
1292
1293         Reviewed by mjs.
1294
1295         - Part of the fix for <rdar://problem/4342216> Installer crash in 
1296           KJS::ValueImp::marked() when garbage collector runs inside call to 
1297           ConstantValues::init()
1298           
1299         Added locking in JSRunCreate, since JSRun::JSRun constructs an object.
1300         
1301         * JavaScriptGlue.cpp:
1302         (JSRunCreate):
1303
1304 2005-11-10  Geoffrey Garen  <ggaren@apple.com>
1305
1306         Reviewed by Maciej.
1307
1308         - Fixed <rdar://problem/4334445> installer crashed on my 
1309           dual g4 450Mhz after clicking language
1310
1311         - Reversed backwards NULL check.
1312         - Inserted guards against NULL fJSUserObject data member.
1313         - Cleaned up some style.
1314
1315         * JSUtils.cpp:
1316         (KJSValueToCFTypeInternal):
1317         * UserObjectImp.cpp:
1318         (UserObjectImp::~UserObjectImp):
1319         (UserObjectImp::callAsFunction):
1320         (UserObjectImp::userObjectGetter):
1321         (UserObjectImp::getOwnPropertySlot):
1322         (UserObjectImp::put):
1323         (UserObjectImp::mark):
1324
1325 2005-11-04  Timothy Hatcher  <timothy@apple.com>
1326
1327         Reviewed by Darin.
1328
1329         * JavaScriptGlue.xcodeproj/project.pbxproj:
1330           Fixed the FRAMEWORK_SEARCH_PATHS to look in the WebKit
1331           Frameworks for the Default config.
1332
1333 2005-11-03  Timothy Hatcher  <timothy@apple.com>
1334
1335         Reviewed by Darin and Vicki.
1336
1337         * JavaScriptGlue.xcodeproj/project.pbxproj:
1338           Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
1339           $(NEXT_ROOT) in a few spots to make build-root work.
1340
1341 2005-11-01  Maciej Stachowiak  <mjs@apple.com>
1342
1343     Reviewed by: Eric.
1344     
1345         <rdar://problem/4324107> get JavaScriptGlue working with TOT JavaScriptCore again
1346
1347     - reverted all this stuff to use ReferenceList instead of IdentifierSequencedSet
1348
1349         * JSUtils.cpp:
1350         (KJSValueToCFTypeInternal):
1351         * JSValueWrapper.cpp:
1352         (JSValueWrapper::JSObjectCopyPropertyNames):
1353         * UserObjectImp.cpp:
1354         (UserObjectImp::propList):
1355         * UserObjectImp.h:
1356
1357 2005-10-11  Timothy Hatcher  <timothy@apple.com>
1358
1359         Setup the proper Framework search path for the Default config.
1360         Prepping for a TOT submission and build by B&I.
1361
1362         * JavaScriptGlue.xcodeproj/project.pbxproj:
1363
1364 2005-10-10  Darin Adler  <darin@apple.com>
1365
1366         Reviewed by Eric.
1367
1368         - converted tabs to spaces, NULL to 0, added some (void), got rid of __ prefixes
1369           in headers (reserved for compiler/library)
1370
1371         * Info.plist:
1372         * JSBase.cpp:
1373         * JSBase.h:
1374         * JSObject.cpp:
1375         * JSObject.h:
1376         * JSRun.cpp:
1377         * JSRun.h:
1378         * JSUtils.cpp:
1379         * JSUtils.h:
1380         * JSValueWrapper.cpp:
1381         * JSValueWrapper.h:
1382         * JavaScriptGlue.cpp:
1383         * JavaScriptGlue.h:
1384         * UserObjectImp.cpp:
1385         * UserObjectImp.h:
1386
1387 2005-10-10  Darin Adler  <darin@apple.com>
1388
1389         * .cvsignore: Added. Ignore Makefile.in and Makefile.
1390
1391 2005-10-07  Timothy Hatcher  <timothy@apple.com>
1392
1393         Reviewed by Maciej.
1394         
1395         Build fix, needed to disable RTTI. Upgraded to a native target.
1396
1397         * JavaScriptGlue.xcodeproj/project.pbxproj:
1398         * Info.plist
1399
1400 2005-10-05  Maciej Stachowiak  <mjs@apple.com>
1401
1402         Reviewed by Eric and Darin.
1403
1404     <rdar://problem/4260506> Port JavaScriptGlue to TOT JavaScriptCore
1405
1406         * JSRun.cpp:
1407         (JSRun::JSRun):
1408         (JSRun::GlobalObject):
1409         * JSRun.h:
1410         (JSInterpreter::JSInterpreter):
1411         * JSUtils.cpp:
1412         (KJSValueToJSObject):
1413         (JSObjectKJSValue):
1414         (KJSValueToCFTypeInternal):
1415         (KJSValueToCFType):
1416         * JSUtils.h:
1417         * JSValueWrapper.cpp:
1418         (JSValueWrapper::JSValueWrapper):
1419         (JSValueWrapper::GetValue):
1420         (JSValueWrapper::JSObjectCopyPropertyNames):
1421         (JSValueWrapper::JSObjectCopyProperty):
1422         (JSValueWrapper::JSObjectSetProperty):
1423         (JSValueWrapper::JSObjectCallFunction):
1424         (JSValueWrapper::JSObjectMark):
1425         * JSValueWrapper.h:
1426         * JavaScriptGlue.cpp:
1427         (JSRunCopyGlobalObject):
1428         * JavaScriptGlue.xcodeproj/project.pbxproj:
1429         * Makefile.am: Added.
1430         * UserObjectImp.cpp:
1431         (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
1432         (UserObjectImp::UserObjectImp):
1433         (UserObjectImp::callAsFunction):
1434         (UserObjectImp::getPropertyNames):
1435         (UserObjectImp::userObjectGetter):
1436         (UserObjectImp::getOwnPropertySlot):
1437         (UserObjectImp::put):
1438         (UserObjectImp::toPrimitive):
1439         (UserObjectImp::mark):
1440         * UserObjectImp.h:
1441         * kxmlcore/FastMalloc.h: Added.
1442         * kxmlcore/HashSet.h: Added.
1443
1444 2005-09-14  Maciej Stachowiak  <mjs@apple.com>
1445
1446         Reviewed by Geoff.
1447
1448     - fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
1449
1450     Make sure to lock using the InterpreterLock class in all places that need it
1451     (including anything that uses the collector, the parser, the protect count hash table,
1452     and anything that allocates via fast_malloc).
1453
1454         * JSUtils.cpp:
1455         (CFStringToUString):
1456         (JSObjectKJSValue):
1457         (KJSValueToCFTypeInternal):
1458         * JSUtils.h:
1459         * JSValueWrapper.cpp:
1460         (JSValueWrapper::JSObjectCopyPropertyNames):
1461         (JSValueWrapper::JSObjectCopyProperty):
1462         (JSValueWrapper::JSObjectSetProperty):
1463         (JSValueWrapper::JSObjectCallFunction):
1464         (JSValueWrapper::JSObjectCopyCFValue):
1465         * JavaScriptGlue.cpp:
1466         (JSCollect):
1467
1468 2005-09-27  Adele Peterson  <adele@apple.com>
1469
1470         Reviewed by Maciej.
1471
1472         <rdar://problem/4223297> JavaScriptGlue: Submit 64-bit compatible versions of your API and SPIs by September 15
1473
1474         * JavaScriptGlue.h: Changed UInt32 to CFTypeID for JSTypeID
1475
1476 2005-09-06  Geoffrey Garen  <ggaren@apple.com>
1477
1478         -upgraded project files to XCode 2.1
1479
1480         * JavaScriptGlue.pbproj/project.pbxproj: Removed.
1481         * JavaScriptGlue.xcodeproj/.cvsignore: Added.
1482         * JavaScriptGlue.xcodeproj/project.pbxproj: Added.
1483
1484 2005-09-01  Maciej Stachowiak  <mjs@apple.com>
1485
1486         Rubber stamped by hyatt.
1487
1488     - initial import of JavaScriptGlue into our repository
1489
1490         * English.lproj/InfoPlist.strings: Added.
1491         * JSBase.cpp: Added.
1492         (JSBase::JSBase):
1493         (JSBase::~JSBase):
1494         (JSBase::Retain):
1495         (JSBase::Release):
1496         (JSBase::RetainCount):
1497         (JSBase::GetTypeID):
1498         (JSBase::CopyDescription):
1499         (JSBase::Equal):
1500         * JSBase.h: Added.
1501         * JSObject.cpp: Added.
1502         (JSUserObject::JSUserObject):
1503         (JSUserObject::~JSUserObject):
1504         (JSUserObject::CopyPropertyNames):
1505         (JSUserObject::CopyProperty):
1506         (JSUserObject::SetProperty):
1507         (JSUserObject::ImplementsCall):
1508         (JSUserObject::CallFunction):
1509         (JSUserObject::CopyCFValue):
1510         (JSUserObject::Equal):
1511         (JSUserObject::Mark):
1512         (JSUserObject::GetData):
1513         * JSObject.h: Added.
1514         (JSUserObject::DataType):
1515         * JSRun.cpp: Added.
1516         (JSRun::JSRun):
1517         (JSRun::~JSRun):
1518         (JSRun::Flags):
1519         (JSRun::GetSource):
1520         (JSRun::GlobalObject):
1521         (JSRun::GetInterpreter):
1522         (JSRun::Evaluate):
1523         (JSRun::CheckSyntax):
1524         * JSRun.h: Added.
1525         (JSInterpreter::JSInterpreter):
1526         (JSInterpreter::JSInterpreter::~JSInterpreter):
1527         (JSInterpreter::Flags):
1528         * JSUtils.cpp: Added.
1529         (CFStringToUString):
1530         (UStringToCFString):
1531         (CFStringToIdentifier):
1532         (IdentifierToCFString):
1533         (KJSValueToJSObject):
1534         (JSObjectKJSValue):
1535         (KJSValueToCFTypeInternal):
1536         (KJSValueToCFType):
1537         (GetCFNull):
1538         * JSUtils.h: Added.
1539         (RetainCFType):
1540         (ReleaseCFType):
1541         * JSValueWrapper.cpp: Added.
1542         (JSValueWrapper::JSValueWrapper):
1543         (JSValueWrapper::~JSValueWrapper):
1544         (JSValueWrapper::GetValue):
1545         (JSValueWrapper::GetExecState):
1546         (JSValueWrapper::GetJSObectCallBacks):
1547         (JSValueWrapper::JSObjectDispose):
1548         (JSValueWrapper::JSObjectCopyPropertyNames):
1549         (JSValueWrapper::JSObjectCopyProperty):
1550         (JSValueWrapper::JSObjectSetProperty):
1551         (JSValueWrapper::JSObjectCallFunction):
1552         (JSValueWrapper::JSObjectCopyCFValue):
1553         (JSValueWrapper::JSObjectMark):
1554         * JSValueWrapper.h: Added.
1555         * JavaScriptGlue.cpp: Added.
1556         (JSSetCFNull):
1557         (JSGetCFNull):
1558         (JSRetain):
1559         (JSRelease):
1560         (JSCopyDescription):
1561         (JSEqual):
1562         (JSGetTypeID):
1563         (JSGetRetainCount):
1564         (JSObjectCreate):
1565         (JSObjectCreateInternal):
1566         (JSObjectCopyCFValue):
1567         (JSObjectGetData):
1568         (JSObjectCopyProperty):
1569         (JSObjectSetProperty):
1570         (JSObjectCallFunction):
1571         (JSRunCreate):
1572         (JSRunCopySource):
1573         (JSRunCopyGlobalObject):
1574         (JSRunEvaluate):
1575         (JSRunCheckSyntax):
1576         (JSCollect):
1577         (JSTypeGetCFArrayCallBacks):
1578         (JSCFRetain):
1579         (JSCFRelease):
1580         (JSObjectCreateWithCFType):
1581         (CFJSObjectDispose):
1582         (JSObjectCopyPropertyNames):
1583         (CFJSObjectCopyProperty):
1584         (CFJSObjectSetProperty):
1585         (CFJSObjectCopyCFValue):
1586         (CFJSObjectEqual):
1587         (CFJSObjectCopyPropertyNames):
1588         (JSCreateCFArrayFromJSArray):
1589         (JSCreateJSArrayFromCFArray):
1590         (JSLockInterpreter):
1591         (JSUnlockInterpreter):
1592         * JavaScriptGlue.exp: Added.
1593         * JavaScriptGlue.h: Added.
1594         * JavaScriptGlue.pbproj/project.pbxproj: Added.
1595         * UserObjectImp.cpp: Added.
1596         (UserObjectPrototypeImp::UserObjectPrototypeImp):
1597         (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
1598         (UserObjectImp::UserObjectImp):
1599         (UserObjectImp::~UserObjectImp):
1600         (UserObjectImp::classInfo):
1601         (UserObjectImp::implementsCall):
1602         (UserObjectImp::call):
1603         (UserObjectImp::propList):
1604         (UserObjectImp::hasProperty):
1605         (UserObjectImp::get):
1606         (UserObjectImp::put):
1607         (UserObjectImp::GetJSUserObject):
1608         (UserObjectImp::toPrimitive):
1609         (UserObjectImp::toBoolean):
1610         (UserObjectImp::toNumber):
1611         (UserObjectImp::toString):
1612         (UserObjectImp::mark):
1613         * UserObjectImp.h: Added.
1614