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