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