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