This broke windows.
[WebKit-https.git] / JavaScriptGlue / ChangeLog
1 2010-04-19  Gavin Barraclough  <barraclough@apple.com>
2
3         Reviewed by NOBODY (rolling out r57829).
4         This broke windows.
5
6         * ForwardingHeaders/wtf/WTFThreadData.h: Removed.
7         * JSUtils.cpp:
8         (JSGlueAPIEntry::JSGlueAPIEntry):
9         (JSGlueAPIEntry::~JSGlueAPIEntry):
10         (JSGlueAPICallback::JSGlueAPICallback):
11         (JSGlueAPICallback::~JSGlueAPICallback):
12
13 2010-04-16  Gavin Barraclough  <barraclough@apple.com>
14
15         Reviewed by Sam Weinig.
16
17         https://bugs.webkit.org/show_bug.cgi?id=37745
18         Move string uniquing tables to (new) WTFThreadData class.
19
20         Remove AtomicString's dependency on ThreadGlobalData so that we can move
21         WebCore's string classes up to WTF.
22
23         * ForwardingHeaders/wtf/WTFThreadData.h: Added.
24         * JSUtils.cpp: Update 
25         (JSGlueAPIEntry::JSGlueAPIEntry):
26         (JSGlueAPIEntry::~JSGlueAPIEntry):
27         (JSGlueAPICallback::JSGlueAPICallback):
28         (JSGlueAPICallback::~JSGlueAPICallback):
29
30 2010-03-31  Gavin Barraclough  <barraclough@apple.com>
31
32         Reviewed by Geoff Garen.
33
34         Bug 36871 - Remove JSC::CString
35         Use WTF::CString instead (which until recently was WebCore::CString).
36
37         * ForwardingHeaders/wtf/text: Added.
38         * ForwardingHeaders/wtf/text/CString.h: Added.
39
40 2010-03-11  Mark Rowe  <mrowe@apple.com>
41
42         Reviewed by David Kilzer.
43
44         <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
45
46         Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version.
47
48         * Configurations/Base.xcconfig:
49
50 2010-03-11  Mark Rowe  <mrowe@apple.com>
51
52         Reviewed by Tim Hatcher.
53
54         <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
55
56         Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted.  It defaults to the
57         current Mac OS X version unless otherwise specified.
58
59         Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR.
60
61         Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice
62         may not be usable when targetting a different Mac OS X version.
63
64         Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off
65         MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used.
66
67         * Configurations/Base.xcconfig:
68         * Configurations/DebugRelease.xcconfig:
69         * Configurations/Version.xcconfig:
70         * JavaScriptGlue.xcodeproj/project.pbxproj:
71
72 2010-03-01  Oliver Hunt  <oliver@apple.com>
73
74         Reviewed by Maciej Stachowiak.
75
76         Refactor named getter function signature to be in line with indexing getter signature
77         https://bugs.webkit.org/show_bug.cgi?id=35563
78
79         Fix method signature and update code as appropriate
80
81         * UserObjectImp.cpp:
82         (UserObjectImp::userObjectGetter):
83         * UserObjectImp.h:
84
85 2010-02-09  Alexey Proskuryakov  <ap@apple.com>
86
87         Reviewed by Geoffrey Garen.
88
89         https://bugs.webkit.org/show_bug.cgi?id=34490
90         WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions
91
92         * ForwardingHeaders/wtf/ValueCheck.h: Added.
93
94 2010-02-04  Mark Rowe  <mrowe@apple.com>
95
96         Reviewed by Timothy Hatcher.
97
98         Build fix.  Remove a symbol corresponding to an inline function from the linker export
99         file to prevent a weak external failure.
100
101         * JavaScriptGlue.xcodeproj/project.pbxproj: Accommodate rename of script.
102
103 2010-01-28  Oliver Hunt  <oliver@apple.com>
104
105         Reviewed by Gavin Barraclough.
106
107         Simplify anonymous slot implementation
108         https://bugs.webkit.org/show_bug.cgi?id=34282
109
110         Update JSGlue Structure usage to pass the anonymous slot count.
111
112         * UserObjectImp.h:
113         (UserObjectImp::createStructure):
114
115 2010-01-12  Kent Hansen  <kent.hansen@nokia.com>
116
117         Reviewed by Geoffrey Garen.
118
119         [ES5] Implement Object.getOwnPropertyNames
120         https://bugs.webkit.org/show_bug.cgi?id=32242
121
122         Add new argument to the reimplementation of getOwnPropertyNames().
123
124         * UserObjectImp.cpp:
125         (UserObjectImp::getOwnPropertyNames):
126         * UserObjectImp.h:
127
128 2010-01-07  Alexey Proskuryakov  <ap@apple.com>
129
130         Mac build fix.
131
132         * config.h: Define JS_EXPORTCLASS for JavaScriptGlue.
133
134 2010-01-05  Gavin Barraclough  <barraclough@apple.com>
135
136         Reviewed by Sam Weinig.
137
138         https://bugs.webkit.org/show_bug.cgi?id=33236
139         Remove m_identifierTable pointer from UString
140
141         Add API shims similar to those used in the JSC API to track the current identifierTable.
142
143         * JSBase.cpp:
144         (JSBase::Release):
145         * JSUtils.cpp:
146         (JSObjectKJSValue):
147         (KJSValueToCFTypeInternal):
148         (unprotectGlobalObject):
149         (JSGlueAPIEntry::JSGlueAPIEntry):
150         (JSGlueAPIEntry::~JSGlueAPIEntry):
151         (JSGlueAPICallback::JSGlueAPICallback):
152         (JSGlueAPICallback::~JSGlueAPICallback):
153         * JSUtils.h:
154         * JSValueWrapper.cpp:
155         (JSValueWrapper::JSObjectCopyPropertyNames):
156         (JSValueWrapper::JSObjectCopyProperty):
157         (JSValueWrapper::JSObjectSetProperty):
158         (JSValueWrapper::JSObjectCallFunction):
159         (JSValueWrapper::JSObjectCopyCFValue):
160         * JavaScriptGlue.cpp:
161         (JSRunCreate):
162         (JSRunEvaluate):
163         (JSRunCheckSyntax):
164         (JSCollect):
165         * JavaScriptGlue.xcodeproj/project.pbxproj:
166         * UserObjectImp.cpp:
167         (UserObjectImp::callAsFunction):
168
169 2010-01-04  Gavin Barraclough <barraclough@apple.com>
170
171         Reviewed by Sam Weinig.
172
173         Add a forwarding header so that StringHashFunctions.h can be found.
174
175         * ForwardingHeaders/wtf/StringHashFunctions.h: Added.
176
177 2010-01-04  Dan Bernstein  <mitz@apple.com>
178
179         Reviewed by Ada Chan and Mark Rowe.
180
181         Updated copyright string
182
183         * Info.plist:
184
185 2009-12-21  Gavin Barraclough  <barraclough@apple.com>
186
187         Reviewed by Darin Adler.
188
189         https://bugs.webkit.org/show_bug.cgi?id=32831
190         Replace UString::Rep implementation, following introduction of ropes to JSC.
191
192         * ForwardingHeaders/wtf/PossiblyNull.h: Added.
193             - add forwarding header.
194
195 2009-12-16  Mark Rowe  <mrowe@apple.com>
196
197         Build fix.  Disable debug variants of WebKit frameworks.
198
199         * JavaScriptGlue.xcodeproj/project.pbxproj:
200
201 2009-12-13  Geoffrey Garen  <ggaren@apple.com>
202
203         Reviewed by Sam Weinig.
204         
205         Changed GC from mark-sweep to mark-allocate.
206         
207         * JavaScriptGlue.cpp:
208         (JSCollect): Updated for rename. Fixed a bug where JSGlue would not check
209         to avoid nested GC calls.
210
211 2009-12-08  Dmitry Titov  <dimich@chromium.org>
212
213         Rubber-stamped by David Levin.
214
215         Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread."
216         It may have caused massive increase of reported leaks on the bots.
217         https://bugs.webkit.org/show_bug.cgi?id=31639
218
219         * ForwardingHeaders/wtf/ThreadVerifier.h: Removed.
220
221 2009-12-08  Dmitry Titov  <dimich@chromium.org>
222
223         Reviewed by Darin Adler.
224
225         Add asserts to RefCounted to make sure ref/deref happens on the right thread.
226         https://bugs.webkit.org/show_bug.cgi?id=31639
227
228         * ForwardingHeaders/wtf/ThreadVerifier.h: Added.
229
230 2009-11-24  Mark Rowe  <mrowe@apple.com>
231
232         Fix production builds where the source tree may be read-only.
233
234         * JavaScriptGlue.xcodeproj/project.pbxproj:
235
236 2009-11-08  David Levin  <levin@chromium.org>
237
238         Reviewed by NOBODY (chromium build fix).
239
240         Added the use jsc define for files that use
241         this config file and DateMath.h. This should
242         be able to go away when DateMath is properly
243         split into wtf and jsc portions which is this bug:
244         https://bugs.webkit.org/show_bug.cgi?id=31246
245
246         * config.h:
247
248 2009-11-06  Geoffrey Garen  <ggaren@apple.com>
249
250         Reviewed by Oliver Hunt.
251
252         https://bugs.webkit.org/show_bug.cgi?id=31197
253         Implemented a timezone cache not based on Mac OS X's notify_check API.
254         
255         * ForwardingHeaders/wtf/CurrentTime.h: Added.
256
257 2009-10-27  Geoffrey Garen  <ggaren@apple.com>
258
259         Build fix: Updated for JavaScriptCore export changes.
260
261         * ForwardingHeaders/wtf/DateInstanceCache.h: Added.
262
263 2009-10-27  Geoffrey Garen  <ggaren@apple.com>
264
265         Reviewed by Oliver Hunt.
266
267         Updated for JavaScriptCore export changes.
268
269         * ForwardingHeaders/wtf/DateMath.h: Added.
270
271 2009-10-27  Dan Bernstein  <mitz@apple.com>
272
273         Reviewed by Darin Adler.
274
275         Updated license
276
277         * LICENSE:
278
279 2009-10-16  Oliver Hunt  <oliver@apple.com>
280
281         Reviewed by Gavin Barraclough.
282
283         Make typeinfo flags default to false
284         https://bugs.webkit.org/show_bug.cgi?id=30372
285
286         Last part -- replace HasDefaultGetPropertyNames with OverridesGetPropertyNames
287         flag.
288
289         * UserObjectImp.h:
290         (UserObjectImp::createStructure):
291
292 2009-10-15  Oliver Hunt  <oliver@apple.com>
293
294         Reviewed by Darin Adler.
295
296         Make typeinfo flags default to false
297         https://bugs.webkit.org/show_bug.cgi?id=30372
298
299         Part 2 -- Reverse the TypeInfo HasDefaultMark flag to OverridesMarkChildren, etc
300
301         * UserObjectImp.h:
302         (UserObjectImp::createStructure):
303
304 2009-10-14  Oliver Hunt  <oliver@apple.com>
305
306         Reviewed by Geoff Garen.
307
308         Make typeinfo flags default to false
309         https://bugs.webkit.org/show_bug.cgi?id=30372
310         
311         Part 1. Reverse the HasStandardGetOwnPropertySlot flag.
312
313         * UserObjectImp.h:
314         (UserObjectImp::createStructure):
315
316 2009-09-28  Geoffrey Garen  <ggaren@apple.com>
317
318         Reviewed by Sam Weinig.
319
320         Removed virtual destructor from JSGlobalObjectData to eliminate pointer
321         fix-ups when accessing JSGlobalObject::d.
322         
323         Replaced with an explicit destructor function pointer.
324
325         * JSRun.cpp:
326         (JSGlueGlobalObject::destroyData):
327         * JSRun.h:
328         (JSGlueGlobalObject::Data::Data):
329
330 2009-09-12  Oliver Hunt  <oliver@apple.com>
331
332         Reviewed by Maciej Stachowiak.
333
334         [ES5] Implement Object.keys
335         https://bugs.webkit.org/show_bug.cgi?id=29170
336
337         Switch over to getOwnPropertyNames instead of getPropertyNames.
338
339         * UserObjectImp.cpp:
340         (UserObjectImp::getOwnPropertyNames):
341         * UserObjectImp.h:
342
343 2009-09-02  Darin Adler  <darin@apple.com>
344
345         Reviewed by Geoff Garen.
346
347         * JSValueWrapper.cpp:
348         (JSValueWrapper::JSObjectMark): Removed a check of the mark
349         bit. It's OK to do more work in this case, and there is no
350         longer a public function to access the mark bit.
351
352 2009-08-14  Darin Adler  <darin@apple.com>
353
354         Reviewed by Sam Weinig.
355
356         Rename the confusing isObject(<class>) to inherits(<class>).
357         It still works on non-objects, returning false.
358
359         * JSUtils.cpp:
360         (KJSValueToJSObject):
361         (KJSValueToCFTypeInternal):
362         Changed from isObject to inherits.
363
364 2009-08-13  Oliver Hunt  <oliver@apple.com>
365
366         Reviewed by Maciej Stachowiak.
367
368         Devirtualise marking
369         https://bugs.webkit.org/show_bug.cgi?id=28294
370
371         Continue to jump through hoops to deal with the exposed marking routines
372         in JavaScriptGlue.
373
374         * JSValueWrapper.cpp:
375         (JSValueWrapper::JSObjectMark):
376
377 2009-08-07  Oliver Hunt  <oliver@apple.com>
378
379         Reviewed by Sam Weinig.
380
381         Stack overflow crash in JavaScript garbage collector mark pass
382         https://bugs.webkit.org/show_bug.cgi?id=12216
383
384         Make JSGlue interact with the new iterative mark logic.
385
386         * JSValueWrapper.cpp:
387         (JSValueWrapper::JSObjectMark):
388           Unfortunately JSGlue exposes recursive marking so we can only flatten
389           the recursion.  We just create a local mark stack if necessary and mark
390           the given object iteratively from this point.
391         * UserObjectImp.cpp:
392         (UserObjectImp::markChildren):
393         * UserObjectImp.h:
394
395 2009-08-06  Mark Rowe  <mrowe@apple.com>
396
397         Rubber-stamped by Sam Weinig.
398
399         Add explicit dependencies for our build verification scripts to ensure that they always run after linking has completed.
400
401         * JavaScriptGlue.xcodeproj/project.pbxproj:
402
403 2009-07-27  Alexey Proskuryakov  <ap@webkit.org>
404
405         Reviewed by Darin Adler.
406
407         https://bugs.webkit.org/show_bug.cgi?id=27735
408         Give a helpful name to JSLock constructor argument
409
410         * JSBase.cpp:
411         (JSBase::Release):
412         * JSUtils.cpp:
413         (JSObjectKJSValue):
414         (KJSValueToCFTypeInternal):
415         (unprotectGlobalObject):
416         * JSValueWrapper.cpp:
417         (JSValueWrapper::JSObjectCopyPropertyNames):
418         (JSValueWrapper::JSObjectCopyProperty):
419         (JSValueWrapper::JSObjectSetProperty):
420         (JSValueWrapper::JSObjectCallFunction):
421         (JSValueWrapper::JSObjectCopyCFValue):
422         * JavaScriptGlue.cpp:
423         (JSRunCreate):
424         (JSRunEvaluate):
425         (JSRunCheckSyntax):
426         (JSCollect):
427         (JSLockInterpreter):
428         (JSUnlockInterpreter):
429
430 2009-07-10  Adam Roben  <aroben@apple.com>
431
432         Sort all our Xcode projects
433
434         Accomplished using sort-Xcode-project-file.
435
436         Requested by Dave Kilzer.
437
438         * JavaScriptGlue.xcodeproj/project.pbxproj:
439
440 2009-07-08  Darin Adler  <darin@apple.com>
441
442         Reviewed by Dan Bernstein
443
444         - fix <rdar://problem/6971484> REGRESSION (r30534): "Scrolling Credits"
445           effect does not scroll on iMovie 7.1.4 on Tiger
446
447         In <http://trac.webkit.org/changeset/30534>, the prototype of
448         JSObject::put() which UserObjectImp had been overriding changed, but
449         UserObjectImp wasn't updated, so its override was no longer getting
450         called after that.
451
452         * UserObjectImp.cpp:
453         (UserObjectImp::put): Match the current prototype of JSObject::put().
454         The PutPropertySlot argument is unused.
455         * UserObjectImp.h: Ditto.
456
457 2009-06-19  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
458
459         Reviewed by Darin Adler.
460
461         Add FastAllocBase.h to JavaScriptGlue's ForwardingHeaders/wtf, because it's needed by HashCountedSet.h on MAC.
462
463         * ForwardingHeaders/wtf/FastAllocBase.h: Added.
464
465 2009-06-02  Mark Rowe  <mrowe@apple.com>
466
467         Reviewed by Anders Carlsson.
468
469         Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds.
470
471         * Configurations/Base.xcconfig:
472
473 2009-05-25  David Levin  <levin@chromium.org>
474
475         Reviewed by Maciej Stachowiak and Oliver Hunt.
476
477         https://bugs.webkit.org/show_bug.cgi?id=25126
478
479         Added forwarding headers.
480
481         * ForwardingHeaders/wtf/CrossThreadRefCounted.h: Added.
482         * ForwardingHeaders/wtf/OwnFastMallocPtr.h: Added.
483
484 2009-05-23  David Kilzer  <ddkilzer@apple.com>
485
486         Part 1 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
487
488         <https://bugs.webkit.org/show_bug.cgi?id=25495>
489
490         Reviewed by Oliver Hunt.
491
492         * ForwardingHeaders/wtf/OwnPtrCommon.h: Added.
493         * ForwardingHeaders/wtf/PassOwnPtr.h: Added.
494
495 2009-05-14  Mark Rowe  <mrowe@apple.com>
496
497         Rubber-stamped by Darin Adler.
498
499         <rdar://problem/6681868> When building with Xcode 3.1.3 should be using gcc 4.2
500
501         The meaning of XCODE_VERSION_ACTUAL is more sensible in newer versions of Xcode.
502         Update our logic to select the compiler version to use the more appropriate XCODE_VERSION_MINOR
503         if the version of Xcode supports it, and fall back to XCODE_VERSION_ACTUAL if not.
504
505         * Configurations/Base.xcconfig:
506
507 2009-05-07  Oliver Hunt  <oliver@apple.com>
508
509         Reviewed by Gavin Barraclough.
510
511         Add calling convention annotation
512
513         * JSObject.cpp:
514
515 2009-05-01  Geoffrey Garen  <ggaren@apple.com>
516
517         Rubber Stamped by Sam Weinig.
518         
519         Renamed JSValuePtr => JSValue.
520
521         * JSObject.cpp:
522         (nativeCallFunction):
523         * JSUtils.cpp:
524         (KJSValueToJSObject):
525         (JSObjectKJSValue):
526         (KJSValueToCFTypeInternal):
527         (KJSValueToCFType):
528         * JSUtils.h:
529         * JSValueWrapper.cpp:
530         (JSValueWrapper::JSValueWrapper):
531         (JSValueWrapper::GetValue):
532         (JSValueWrapper::JSObjectCopyProperty):
533         (JSValueWrapper::JSObjectSetProperty):
534         (JSValueWrapper::JSObjectCallFunction):
535         * JSValueWrapper.h:
536         * UserObjectImp.cpp:
537         (UserObjectImp::callAsFunction):
538         (UserObjectImp::userObjectGetter):
539         (UserObjectImp::getOwnPropertySlot):
540         (UserObjectImp::put):
541         (UserObjectImp::toPrimitive):
542         * UserObjectImp.h:
543         (UserObjectImp::createStructure):
544
545 2009-04-29  Oliver Hunt  <oliver@apple.com>
546
547         Reviewed by Gavin Barraclough.
548
549         Clean up ArgList to be a trivial type
550
551         Start using MarkedArgumentBuffer to create argument lists for function calls
552
553         * JSValueWrapper.cpp:
554         (JSValueWrapper::JSObjectCallFunction):
555
556 2009-04-28  Geoffrey Garen  <ggaren@apple.com>
557
558         Rubber stamped by Beth Dakin.
559         
560         Missed one.
561
562         * UserObjectImp.cpp:
563         (UserObjectImp::callAsFunction):
564
565 2009-04-21  Geoffrey Garen  <ggaren@apple.com>
566
567         Reviewed by Mark Rowe.
568
569         Tiger crash fix: Put VM tags in their own header file, and fixed up the
570         #ifdefs so they're not used on Tiger.
571
572         * ForwardingHeaders/wtf/VMTags.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/HashTraits.h.
573
574 2009-04-20  Sam Weinig  <sam@webkit.org>
575
576         Rubber-stamped by Tim Hatcher.
577
578         Add licenses for xcconfig files.
579
580         * Configurations/Base.xcconfig:
581         * Configurations/DebugRelease.xcconfig:
582         * Configurations/JavaScriptGlue.xcconfig:
583         * Configurations/Version.xcconfig:
584
585 2009-03-13  Mark Rowe  <mrowe@apple.com>
586
587         Rubber-stamped by Dan Bernstein.
588
589         Take advantage of the ability of recent versions of Xcode to easily switch the active
590         architecture.
591
592         * Configurations/DebugRelease.xcconfig:
593
594 2009-02-24  Mark Rowe  <mrowe@apple.com>
595
596         Rubber-stamped by Dan Bernstein.
597
598         <rdar://problem/6407844> JavaScriptGlue should use -Os rather than -O2
599
600         * Configurations/Base.xcconfig:
601
602 2009-01-28  Sam Weinig  <sam@webkit.org>
603
604         Reviewed by Gavin Barraclough.
605
606         Fix for <rdar://problem/6525537>
607         Hang occurs when closing Installer window (iTunes, Aperture)
608
609         * JSUtils.cpp:
610         (getThreadGlobalObject): Use the shared JSGlobalData instance.
611
612 2009-01-22  Mark Rowe  <mrowe@apple.com>
613
614         Rubber-stamped by Anders Carlsson.
615
616         Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily.
617
618         Current versions of Xcode only respect it for C and Objective-C files,
619         and our code doesn't currently compile if it is applied to C++ and
620         Objective-C++ files.
621
622         * Configurations/Base.xcconfig:
623
624 2009-01-19  Sam Weinig  <sam@webkit.org>
625
626         Rubber-stamped by Gavin Barraclough.
627
628         Remove temporary operator-> from JSValuePtr.
629
630         * JSUtils.cpp:
631         (KJSValueToJSObject):
632         (KJSValueToCFTypeInternal):
633         * JSValueWrapper.cpp:
634         (JSValueWrapper::JSObjectCopyPropertyNames):
635         (JSValueWrapper::JSObjectCopyProperty):
636         (JSValueWrapper::JSObjectSetProperty):
637         (JSValueWrapper::JSObjectCallFunction):
638         (JSValueWrapper::JSObjectMark):
639         * UserObjectImp.cpp:
640         (UserObjectImp::getOwnPropertySlot):
641
642 2009-01-14  Dan Bernstein  <mitz@apple.com>
643
644         Reviewed by John Sullivan.
645
646         - update copyright
647
648         * Info.plist:
649
650 2009-01-09  David Levin  <levin@chromium.org>
651
652         Reviewed by Oliver Hunt.
653
654         https://bugs.webkit.org/show_bug.cgi?id=23175
655
656         Added forwarding header.
657
658         * ForwardingHeaders/wtf/PtrAndFlags.h: Added.
659
660 2009-01-05  Gavin Barraclough  <baraclough@apple.com>
661
662         Rubber Stamped by Oliver Hunt.
663
664         Replace all uses of JSValue* with new wrapper class, JSValuePtr.
665         See JavaScriptCore/ChangeLog for more detailed description.
666
667         * JSObject.cpp:
668         (nativeCallFunction):
669         * JSUtils.cpp:
670         (KJSValueToJSObject):
671         (JSObjectKJSValue):
672         (KJSValueToCFTypeInternal):
673         (KJSValueToCFType):
674         * JSUtils.h:
675         * JSValueWrapper.cpp:
676         (JSValueWrapper::JSValueWrapper):
677         (JSValueWrapper::GetValue):
678         (JSValueWrapper::JSObjectCopyProperty):
679         (JSValueWrapper::JSObjectSetProperty):
680         (JSValueWrapper::JSObjectCallFunction):
681         * JSValueWrapper.h:
682         * UserObjectImp.cpp:
683         (UserObjectImp::callAsFunction):
684         (UserObjectImp::userObjectGetter):
685         (UserObjectImp::getOwnPropertySlot):
686         (UserObjectImp::put):
687         (UserObjectImp::toPrimitive):
688         * UserObjectImp.h:
689         (UserObjectImp::createStructure):
690
691 2008-12-15  Mark Rowe  <mrowe@apple.com>
692
693         Rubber-stamped by Cameron Zwarich.
694
695         <rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on Leopard.
696
697         * Configurations/Base.xcconfig:
698         * Configurations/DebugRelease.xcconfig:
699
700 2008-12-08  David Kilzer  <ddkilzer@apple.com>
701
702         Bug 22555: Sort "children" sections in Xcode project files
703
704         <https://bugs.webkit.org/show_bug.cgi?id=22555>
705
706         Reviewed by Eric Seidel.
707
708         * JavaScriptGlue.xcodeproj/project.pbxproj: Sorted.
709
710 2008-11-17  Geoffrey Garen  <ggaren@apple.com>
711
712         Reviewed by Sam Weinig.
713         
714         Updated for JavaScriptCore rename.
715
716         * ForwardingHeaders/runtime/CallFrame.h: Copied from JavaScriptGlue/ForwardingHeaders/runtime/ExecState.h.
717         * ForwardingHeaders/runtime/ExecState.h: Removed.
718         * config.h:
719
720 2008-11-17  Geoffrey Garen  <ggaren@apple.com>
721
722         Reviewed by Sam Weinig.
723         
724         Updated for JavaScriptCore rename.
725
726         * ForwardingHeaders/interpreter: Added.
727         * ForwardingHeaders/interpreter/CallFrame.h: Copied from ForwardingHeaders/runtime/ExecState.h.
728         * ForwardingHeaders/runtime/ExecState.h: Removed.
729
730 2008-11-15  Darin Adler  <darin@apple.com>
731
732         Rubber stamped by Geoff Garen.
733
734         - do the long-planned StructureID -> Structure rename
735
736         * JSRun.cpp:
737         (JSGlueGlobalObject::JSGlueGlobalObject):
738         (JSRun::JSRun):
739         * JSRun.h:
740         (JSGlueGlobalObject::userObjectStructure):
741         * JSUtils.cpp:
742         (getThreadGlobalObject):
743         * UserObjectImp.cpp:
744         (UserObjectImp::UserObjectImp):
745         * UserObjectImp.h:
746         (UserObjectImp::createStructure):
747
748 2008-11-15  Geoffrey Garen  <ggaren@apple.com>
749
750         Reviewed by Sam Weinig.
751         
752         Updated for JavaScriptCore renames.
753
754         * JSRun.cpp:
755         (JSRun::Evaluate):
756         (JSRun::CheckSyntax):
757
758 2008-11-05  Cameron Zwarich  <zwarich@apple.com>
759
760         Not reviewed.
761
762         Fix the JavaScriptGlue build. This wouldn't show up unless one was
763         doing a clean build, because changes in JavaScriptCore don't cause
764         anything in JavaScriptGlue to get rebuilt.
765
766         * JSRun.cpp:
767         * JSUtils.h:
768         * JavaScriptGlue.cpp:
769
770 2008-11-04  Cameron Zwarich  <zwarich@apple.com>
771
772         Reviewed by Mark Rowe.
773
774         Remove JavaScriptGlue forwarding headers that are no longer necessary,
775         and correct the path of the ExecState.h forwarding header.
776
777         * ForwardingHeaders/kjs: Removed.
778         * ForwardingHeaders/kjs/CTI.h: Removed.
779         * ForwardingHeaders/kjs/ExecState.h: Removed.
780         * ForwardingHeaders/kjs/JSValue.h: Removed.
781         * ForwardingHeaders/kjs/PutPropertySlot.h: Removed.
782         * ForwardingHeaders/kjs/ustring.h: Removed.
783         * ForwardingHeaders/runtime: Added.
784         * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
785         * config.h:
786
787 2008-10-31  Stephanie Lewis  <slewis@apple.com>
788
789         Fix build by including right files.
790
791         * JSRun.cpp:
792
793 2008-10-30  Mark Rowe  <mrowe@apple.com>
794
795         Reviewed by Jon Homeycutt.
796
797         Explicitly default to building for only the native architecture in debug and release builds.
798
799         * Configurations/DebugRelease.xcconfig:
800
801 2008-10-24  Darin Adler  <darin@apple.com>
802
803         - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
804
805         * JSObject.cpp:
806         (nativeCallFunction):
807         * JSUtils.cpp:
808         (KJSValueToJSObject):
809         (JSObjectKJSValue):
810         (KJSValueToCFTypeInternal):
811         (KJSValueToCFType):
812         * JSUtils.h:
813         * JSValueWrapper.cpp:
814         (JSValueWrapper::JSValueWrapper):
815         (JSValueWrapper::GetValue):
816         (JSValueWrapper::JSObjectCopyProperty):
817         (JSValueWrapper::JSObjectSetProperty):
818         (JSValueWrapper::JSObjectCallFunction):
819         * JSValueWrapper.h:
820         * UserObjectImp.cpp:
821         (UserObjectImp::callAsFunction):
822         (UserObjectImp::userObjectGetter):
823         (UserObjectImp::getOwnPropertySlot):
824         (UserObjectImp::put):
825         (UserObjectImp::toPrimitive):
826         * UserObjectImp.h:
827         (UserObjectImp::createStructureID):
828         Use JSValue* instead of JSValuePtr.
829
830 2008-10-23  Darin Adler  <darin@apple.com>
831
832         - roll out https://bugs.webkit.org/show_bug.cgi?id=21732
833
834         * JSValueWrapper.cpp:
835         (JSValueWrapper::GetValue): Added missing call to .get().
836         * JSValueWrapper.h: ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.
837
838 2008-10-22  Darin Adler  <darin@apple.com>
839
840         Reviewed by Sam Weinig.
841
842         - fix https://bugs.webkit.org/show_bug.cgi?id=21294
843           Bug 21294: Devirtualize getOwnPropertySlot()
844
845         * JSRun.cpp:
846         (JSGlueGlobalObject::JSGlueGlobalObject): Moved constructor here.
847         Set up flags in its new location in global object data, and set up
848         a structure for UserObjectImp too.
849         (JSRun::JSRun): Added code to give the JSGlueGlobalObject its own unique
850         structure, rather than using the default one from JSGlobalObject.
851
852         * JSRun.h: Made JSGlueGlobalObject take a structure ID. Also moved
853         the data into a separate data object. And added userObjectStructure,
854         a Structure to be used by UserObjectImp.
855
856         * JSUtils.cpp: Removed unused sharedGlobalData global.
857         (JSObjectKJSValue): Pass Structure in when creating UserObjectImp.
858         (unprotectGlobalObject): Use JSGlueGLobalObject type specifically.
859         (initializeGlobalObjectKey): Removed code to set up unused sharedGlobalData.
860         (getThreadGlobalObject): Added. Shared by JSObjectKJSValue and
861         getThreadGlobalExecState. Also now passes in a structure ID when creating
862         the global object.
863         (getThreadGlobalExecState): Changed to call getThreadGlobalObject.
864
865         * UserObjectImp.cpp:
866         (UserObjectImp::UserObjectImp): Changed to take a structure.
867         * UserObjectImp.h:
868         (UserObjectImp::createStructureID): Added. Returns a structure without
869         HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
870
871 2008-10-20  Sam Weinig  <sam@webkit.org>
872
873         Reviewed by Cameron Zwarich.
874
875         Fix for https://bugs.webkit.org/show_bug.cgi?id=21766
876         REGRESSION: 12 JSC tests fail
877
878         The JSGlobalObject constructor no longer takes a JSGlobalData
879         as an argument.
880
881         * JSRun.cpp:
882         (JSRun::JSRun):
883         * JSRun.h:
884         (JSGlueGlobalObject::JSGlueGlobalObject):
885         * JSUtils.cpp:
886         (getThreadGlobalExecState):
887
888 2008-10-19  Darin Adler  <darin@apple.com>
889
890         Reviewed by Oliver Hunt.
891
892         - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
893           improve performance by eliminating JSValue as a base class for JSCell
894
895         Remove most uses of JSValue, which will be removed in a future patch.
896
897         * JSValueWrapper.h: Use JSValuePtr instead of JSValue*.
898
899 2008-10-18  Darin Adler  <darin@apple.com>
900
901         Reviewed by Oliver Hunt.
902
903         - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
904           improve performance by eliminating JSValue as a base class for JSCell
905
906         Tweak a little more to get closer to where we can make JSValuePtr a class.
907
908         * JSObject.cpp:
909         (nativeCallFunction): Call asObject.
910
911         * JSUtils.cpp:
912         (KJSValueToJSObject): Use JSValuePtr and asObject.
913         (JSObjectKJSValue): Ditto.
914         (KJSValueToCFTypeInternal): Ditto.
915         (KJSValueToCFType): Ditto.
916         * JSUtils.h: Ditto.
917
918         * UserObjectImp.cpp:
919         (UserObjectImp::callAsFunction): Use JSValuePtr and asObject.
920         (UserObjectImp::userObjectGetter): Ditto.
921         (UserObjectImp::getOwnPropertySlot): Ditto.
922         (UserObjectImp::put): Ditto.
923         (UserObjectImp::toPrimitive): Ditto.
924         * UserObjectImp.h: Ditto.
925
926 2008-10-18  Darin Adler  <darin@apple.com>
927
928         Reviewed by Cameron Zwarich.
929
930         - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
931           improve performance by eliminating JSValue as a base class for JSCell
932
933         Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
934         changing JSValuePtr to be a class, and then eventually renaming it
935         to JSValue once that's done.
936
937         * JSObject.cpp:
938         * JSValueWrapper.cpp:
939         * UserObjectImp.cpp:
940         * UserObjectImp.h:
941         Replace JSValue* with JSValuePtr.
942
943 2008-10-13  Maciej Stachowiak  <mjs@apple.com>
944
945         Rubber stamped by Mark Rowe.
946         
947         - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
948
949         * Configurations/DebugRelease.xcconfig:
950
951 2008-10-06  Maciej Stachowiak  <mjs@apple.com>
952
953         Not reviewed. Build fix.
954
955         - revert toBoolean changes (r37333 and r37335); need to make WebCore work with these
956
957         * JSUtils.cpp:
958         (KJSValueToCFTypeInternal):
959
960 2008-10-06  Maciej Stachowiak  <mjs@apple.com>
961
962         Not reviewed.
963         
964         - fix build; toBoolean no longer takes an ExecState
965
966         * JSUtils.cpp:
967         (KJSValueToCFTypeInternal):
968
969 2008-10-04  Mark Rowe  <mrowe@apple.com>
970
971         Reviewed by Tim Hatcher.
972
973         Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
974
975         * JavaScriptGlue.xcodeproj/project.pbxproj:
976
977 2008-10-01  Geoffrey Garen  <ggaren@apple.com>
978
979         Reviewed by Darin Adler and Cameron Zwarich.
980
981         * JSRun.cpp:
982         (JSRun::Evaluate):
983         (JSRun::CheckSyntax): Provide a SourceCode to the Interpreter, since
984         other APIs are no longer supported.
985
986 2008-09-29  Geoffrey Garen  <ggaren@apple.com>
987
988         Not reviewed.
989         
990         Forwarding headers to fix the build.
991
992         * ForwardingHeaders/kjs/CTI.h: Copied from ForwardingHeaders/kjs/ExecState.h.
993         * ForwardingHeaders/kjs/ustring.h: Copied from ForwardingHeaders/kjs/ExecState.h.
994         * ForwardingHeaders/masm: Added.
995         * ForwardingHeaders/masm/X86Assembler.h: Added.
996         * ForwardingHeaders/profiler: Added.
997         * ForwardingHeaders/profiler/Profiler.h: Added.
998
999 2008-09-08  Sam Weinig  <sam@webkit.org>
1000
1001         Reviewed by Maciej Stachowiak and Oliver Hunt.
1002
1003         Add forwarding headers.
1004
1005         * ForwardingHeaders/wtf/HashFunctions.h: Added.
1006         * ForwardingHeaders/wtf/HashTraits.h: Added.
1007
1008 2008-09-02  Geoffrey Garen  <ggaren@apple.com>
1009
1010         Reviewed by Sam Weinig.
1011         
1012         Implemented the rest of Darin's review comments for the 09-01 inline
1013         caching patch.
1014         
1015         * ForwardingHeaders/kjs/PutPropertySlot.h: Added.
1016
1017 2008-09-01  Geoffrey Garen  <ggaren@apple.com>
1018
1019         Reviewed by Darin Adler.
1020
1021         First cut at inline caching for access to vanilla JavaScript properties.
1022         
1023         Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
1024         to JavaScriptGlue classes, and PutPropertySlot& arguments to put functions.
1025
1026 2008-08-22  Anders Carlsson  <andersca@apple.com>
1027
1028         Fix build for real this time.
1029         
1030         * UserObjectImp.h:
1031
1032 2008-08-22  Anders Carlsson  <andersca@apple.com>
1033
1034         Fix build.
1035         
1036         * UserObjectImp.cpp:
1037         (UserObjectImp::toPrimitive):
1038         * UserObjectImp.h:
1039
1040 2008-08-19  Alexey Proskuryakov  <ap@webkit.org>
1041
1042         Reviewed by Geoff Garen.
1043
1044         Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
1045
1046         * JSBase.cpp:
1047         (JSBase::Release):
1048         * JSUtils.cpp:
1049         (JSObjectKJSValue):
1050         (KJSValueToCFTypeInternal):
1051         (unprotectGlobalObject):
1052         * JSUtils.h:
1053         * JSValueWrapper.cpp:
1054         (JSValueWrapper::JSObjectCopyPropertyNames):
1055         (JSValueWrapper::JSObjectCopyProperty):
1056         (JSValueWrapper::JSObjectSetProperty):
1057         (JSValueWrapper::JSObjectCallFunction):
1058         (JSValueWrapper::JSObjectCopyCFValue):
1059         * JavaScriptGlue.cpp:
1060         (JSRunCreate):
1061         (JSRunEvaluate):
1062         (JSRunCheckSyntax):
1063         (JSCollect):
1064         (JSLockInterpreter):
1065         (JSUnlockInterpreter):
1066         * UserObjectImp.cpp:
1067         (UserObjectImp::callAsFunction):
1068
1069 2008-08-12  Darin Adler  <darin@apple.com>
1070
1071         Reviewed by Geoff.
1072
1073         - eliminate JSValue::type()
1074
1075         * JSUtils.cpp:
1076         (KJSValueToCFTypeInternal): Replaced uses of JSValue::type() with
1077         JSValue::is functions.
1078         * UserObjectImp.cpp:
1079         (UserObjectImp::getOwnPropertySlot): Ditto.
1080         (UserObjectImp::toPrimitive): Take PreferredPrimitiveType argument
1081         instead of JSType argument.
1082         * UserObjectImp.h: Ditto.
1083
1084 2008-08-17  Geoffrey Garen  <ggaren@apple.com>
1085
1086         Reviewed by Cameron Zwarich.
1087         
1088         Updated project files to XCode 3.1.
1089
1090         * JavaScriptGlue.xcodeproj/project.pbxproj:
1091
1092 2008-08-15  Mark Rowe  <mrowe@apple.com>
1093
1094         Rubber-stamped by Geoff Garen.
1095
1096         <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
1097
1098         * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
1099         between the Debug configuration and debug Production variant.
1100         * JavaScriptGlue.xcodeproj/project.pbxproj: Enable the debug variant.
1101
1102 2008-07-31  Alexey Proskuryakov  <ap@webkit.org>
1103
1104         Rubber-stamped by Maciej.
1105
1106         Eliminate JSLock (it was already disabled, removing the stub implementaion and all
1107         call sites now).
1108
1109         * JSBase.cpp:
1110         (JSBase::Release):
1111         * JSUtils.cpp:
1112         (JSObjectKJSValue):
1113         (KJSValueToCFTypeInternal):
1114         (unprotectGlobalObject):
1115         * JSUtils.h:
1116         * JSValueWrapper.cpp:
1117         (JSValueWrapper::JSObjectCopyPropertyNames):
1118         (JSValueWrapper::JSObjectCopyProperty):
1119         (JSValueWrapper::JSObjectSetProperty):
1120         (JSValueWrapper::JSObjectCallFunction):
1121         (JSValueWrapper::JSObjectCopyCFValue):
1122         * JavaScriptGlue.cpp:
1123         (JSRunCreate):
1124         (JSRunEvaluate):
1125         (JSRunCheckSyntax):
1126         (JSCollect):
1127         (JSLockInterpreter):
1128         (JSUnlockInterpreter):
1129         * UserObjectImp.cpp:
1130         (UserObjectImp::callAsFunction):
1131
1132 2008-07-29  Alexey Proskuryakov  <ap@webkit.org>
1133
1134         Reviewed by Geoff Garen.
1135
1136         Implement JSContextGroup APIs to make concurrent execution possible for
1137         JavaScriptCore clients.
1138
1139         * JSRun.cpp:
1140         (JSRun::JSRun):
1141         * JSUtils.cpp:
1142         (getThreadGlobalExecState):
1143         Changed JavaScriptGlue to use a JSGlobalData of its own, now that there is no shared
1144         instance.
1145
1146 2008-07-23  Alexey Proskuryakov  <ap@webkit.org>
1147
1148         Reviewed by Geoff Garen.
1149
1150         Make JSClassRef work with any context, not just the first one it was used in.
1151
1152         * ForwardingHeaders/wtf/HashMap.h: Added.
1153
1154 2008-07-22  Geoffrey Garen  <ggaren@apple.com>
1155
1156         Reviewed by Oliver Hunt and Sam Weinig.
1157
1158         Next step toward putting doubles in registers: Prepare the Register class
1159         and its clients for registers that don't contain JSValue*s.
1160         
1161 2008-07-21  Mark Rowe  <mrowe@apple.com>
1162
1163         Reviewed by Sam Weinig.
1164
1165         <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
1166
1167         * Configurations/Version.xcconfig:
1168         * Info.plist:
1169
1170 2008-07-18  Geoffrey Garen  <ggaren@apple.com>
1171
1172         Reviewed by Cameron Zwarich.
1173         
1174         Three renames:
1175         
1176         "CallTypeNative" => "CallTypeHost"
1177         "code" => "byteCode"
1178         "generatedCode" => "generatedByteCode"
1179
1180         * ChangeLog:
1181         * JSObject.cpp:
1182         (JSUserObject::getCallData):
1183
1184 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
1185
1186         Reviewed by Geoff Garen.
1187
1188         Eliminate per-thread JavaScript global data instance support and make arbitrary
1189         global data/global object combinations possible.
1190
1191         * ForwardingHeaders/wtf/ThreadSpecific.h: Added.
1192         * JSRun.cpp:
1193         (JSRun::JSRun):
1194         * JSUtils.cpp:
1195         (getThreadGlobalExecState):
1196         Adapt to the new way of asking for shared JSGlobalData.
1197
1198 2008-07-10  Mark Rowe  <mrowe@apple.com>
1199
1200         Reviewed by Sam Weinig.
1201
1202         Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
1203
1204         * Configurations/JavaScriptGlue.xcconfig:
1205
1206 2008-07-09  Mark Rowe  <mrowe@apple.com>
1207
1208         Reviewed by Geoff Garen.
1209
1210         Don't warn about deprecated functions in production builds.
1211
1212         * Configurations/Base.xcconfig:
1213         * Configurations/DebugRelease.xcconfig:
1214
1215 2008-07-08  Alexey Proskuryakov  <ap@webkit.org>
1216
1217         Reviewed by Darin Adler.
1218
1219         <rdar://problem/6058368> REGRESSION: Crash occurs in KJS::Machine after launching
1220         Apple Installer
1221
1222         The problem was that JSUserObject::getCallData() was setting call type to native, but
1223         left callData.native.function uninitialized.
1224
1225         * JSObject.cpp:
1226         (JSUserObject::getCallData): Initialize callData.native.function.
1227         (nativeCallFunction): Call UserObjectImp::callAsFunction().
1228
1229 2008-07-04  Sam Weinig  <sam@webkit.org>
1230
1231         Rubber-stamped by Dan Bernstein.
1232
1233         * JSObject.h: Rename the header guard as it now conflicts with the
1234         JSObject in JavaScriptCore.
1235
1236 2008-07-01  Alexey Proskuryakov  <ap@webkit.org>
1237
1238         Reviewed by Darin Adler.
1239
1240         Disable JSLock for per-thread contexts.
1241
1242         * ForwardingHeaders/wtf/Locker.h: Added.
1243         * ForwardingHeaders/wtf/Threading.h: Added.
1244         * JSBase.cpp:
1245         (JSBase::Release):
1246         * JSUtils.cpp:
1247         (JSObjectKJSValue):
1248         (KJSValueToCFTypeInternal):
1249         (unprotectGlobalObject):
1250         * JSUtils.h:
1251         * JSValueWrapper.cpp:
1252         (JSValueWrapper::JSObjectCopyPropertyNames):
1253         (JSValueWrapper::JSObjectCopyProperty):
1254         (JSValueWrapper::JSObjectSetProperty):
1255         (JSValueWrapper::JSObjectCallFunction):
1256         (JSValueWrapper::JSObjectCopyCFValue):
1257         * JavaScriptGlue.cpp:
1258         (JSRunCreate):
1259         (JSRunEvaluate):
1260         (JSRunCheckSyntax):
1261         (JSCollect):
1262         (JSLockInterpreter):
1263         (JSUnlockInterpreter):
1264         * UserObjectImp.cpp:
1265         (UserObjectImp::callAsFunction):
1266         Pass a parameter (always true) to JSLock and JSLock::DropAllLocks to indicate that JSG
1267         clients always need implicit mutex protection.
1268         Added includes that are now needed.
1269
1270 2008-06-26  Darin Adler  <darin@apple.com>
1271
1272         Reviewed by Geoff.
1273
1274         * JSUtils.cpp: Added include of <JavaScriptCore/JSString.h> since jsString
1275         will soon be changed to return a JSString*.
1276         * UserObjectImp.cpp: Ditto.
1277
1278 2008-06-23  Darin Adler  <darin@apple.com>
1279
1280         Reviewed by Geoff.
1281
1282         * JSValueWrapper.cpp:
1283         (JSValueWrapper::JSObjectCallFunction): Updated to use getCallData and call instead
1284         of the old callAsFunction.
1285
1286 2008-06-17  Alexey Proskuryakov  <ap@webkit.org>
1287
1288         Reviewed by Darin Adler.
1289
1290         Prepare JavaScript heap for being per-thread.
1291
1292         * JSRun.cpp: (JSRun::JSRun): Create JSGlueGlobalObject in a shared JS heap.
1293
1294         * JSUtils.h: Made getThreadGlobalExecState available throughout JSGlue.
1295
1296         * JSUtils.cpp:
1297         (JSObjectKJSValue): Pass an ExecState where now required.
1298         (unprotectGlobalObject):
1299         (initializeGlobalObjectKey):
1300         (getThreadGlobalExecState):
1301         Moved these functions from JSValueWrapper.cpp, as the global exec state is now needed
1302         elsewhere. I'm not quite sure how this relates to the global object from JSRun, but
1303         since the new uses are all for Heap access, there doesn't seem to be any behavior change.
1304
1305         * JavaScriptGlue.cpp:
1306         (JSLockInterpreter): Don't call registerThread explicitly, as JSLock will do that.
1307
1308         * UserObjectImp.cpp: (UserObjectImp::toPrimitive): Pass ExecState* where now required.
1309
1310 2008-06-17  Mark Rowe  <mrowe@apple.com>
1311
1312         Reviewed by Darin Adler.
1313
1314         <rdar://problem/5775802> JavaScriptGlue should not force use of GCC 4.0.
1315
1316         * JavaScriptGlue.xcodeproj/project.pbxproj:
1317
1318 2008-06-16  Maciej Stachowiak  <mjs@apple.com>
1319
1320         Reviewed by Alexey.
1321
1322         - removed nearly unused types.h and LocalStorageEntry.h headers
1323
1324         * JSUtils.h:
1325
1326 2008-06-16  Alexey Proskuryakov  <ap@webkit.org>
1327
1328         Reviewed by Geoff Garen.
1329
1330         Make Identifier construction use an explicitly passed IdentifierTable.
1331
1332         * JSUtils.cpp:
1333         (CFStringToIdentifier):
1334         (KJSValueToCFTypeInternal):
1335         * JSUtils.h:
1336         * JSValueWrapper.cpp:
1337         (JSValueWrapper::JSObjectCopyPropertyNames):
1338         (JSValueWrapper::JSObjectCopyProperty):
1339         (JSValueWrapper::JSObjectSetProperty):
1340         * UserObjectImp.cpp:
1341         (UserObjectImp::getPropertyNames):
1342         Pass ExecState or JSGlobalData everywhere.
1343
1344 2008-06-15  Darin Adler  <darin@apple.com>
1345
1346         - rename KJS::List to KJS::ArgList
1347
1348         * JSValueWrapper.cpp:
1349         (JSValueWrapper::JSObjectCallFunction):
1350         * UserObjectImp.cpp:
1351         (UserObjectImp::callAsFunction):
1352         * UserObjectImp.h:
1353
1354 2008-06-15  Darin Adler  <darin@apple.com>
1355
1356         - new names for a few key JavaScriptCore files
1357
1358         * ForwardingHeaders/kjs/JSValue.h: Copied from JavaScriptGlue/ForwardingHeaders/kjs/value.h.
1359         * ForwardingHeaders/kjs/value.h: Removed.
1360         * JSUtils.h:
1361
1362 2008-06-03  Darin Adler  <darin@apple.com>
1363
1364         - update for JavaScriptCore changes for https://bugs.webkit.org/show_bug.cgi?id=19269
1365           speed up SunSpider by eliminating the toObject call for most get/put/delete
1366
1367         * UserObjectImp.cpp:
1368         (UserObjectImp::userObjectGetter): Removed originalObject argument.
1369         * UserObjectImp.h: Ditto.
1370
1371 2008-06-02  Geoffrey Garen  <ggaren@apple.com>
1372
1373         Reviewed by Alexey Proskuryakov.
1374
1375         Removed JSObject::call, since it just called JSObject::callAsFunction.
1376
1377         SunSpider reports no change.
1378
1379 2008-05-28  Geoffrey Garen  <ggaren@apple.com>
1380
1381         Reviewed by Oliver Hunt.
1382         
1383         Fixed total destruction in Software Update.app.
1384         
1385         Updated JavaScriptGlue to honor squirrelfish's new getCallData mechanism for
1386         indicating that an object can be called as a function.
1387
1388 2008-05-10  Maciej Stachowiak  <mjs@apple.com>
1389
1390         Reviewed by Oliver.
1391
1392         - JavaScriptGlue part of fix for: "SQUIRRELFISH: function toString broken after calling"
1393         https://bugs.webkit.org/show_bug.cgi?id=18869
1394         
1395         * JSRun.cpp:
1396         (JSRun::Evaluate): Use UString version of eveluate() instead of
1397         the now departed UChar*/length variant; use of the lower-level
1398         version was gratuitous in any case.
1399         (JSRun::CheckSyntax): Ditto for checkSyntax().
1400
1401 2008-04-30  Geoffrey Garen  <ggaren@apple.com>
1402
1403         Build fix: supply missing parameter that used to be implicit.
1404
1405         * JSRun.cpp:
1406         (JSRun::Evaluate):
1407
1408 2008-03-30  Geoffrey Garen  <ggaren@apple.com>
1409
1410         Reviewed by Oliver Hunt.
1411         
1412         Build fix.
1413
1414         * ForwardingHeaders/wtf/UnusedParam.h: Copied from ForwardingHeaders/wtf/OwnPtr.h.
1415
1416 2008-05-12  Alexey Proskuryakov  <ap@webkit.org>
1417
1418         Roll out recent  threading changes (r32807, r32810, r32819, r32822) to simplify
1419         SquirrelFish merging.
1420
1421         * JSUtils.cpp:
1422         (JSObjectKJSValue):
1423         * JSUtils.h:
1424         * JSValueWrapper.cpp:
1425         (unprotectGlobalObject):
1426         (initializeGlobalObjectKey):
1427         (getThreadGlobalExecState):
1428         * JavaScriptGlue.cpp:
1429         (JSCollect):
1430         (JSLockInterpreter):
1431         * UserObjectImp.cpp:
1432         (UserObjectImp::toPrimitive):
1433
1434 2008-05-02  Alexey Proskuryakov  <ap@webkit.org>
1435
1436         Reviewed by Darin Adler.
1437
1438         Make JavaScriptGlue and JavaScriptCore API functions implicitly call initializeThreading
1439         for the sake of non-WebKit clients.
1440
1441         * JavaScriptGlue.cpp:
1442         (JSRunCreate):
1443         (JSCollect):
1444         (JSCreateJSArrayFromCFArray):
1445         (JSLockInterpreter):
1446         These are all possible JavaScriptGlue entry points.
1447
1448 2008-05-02  Alexey Proskuryakov  <ap@webkit.org>
1449
1450         Reviewed by Geoffrey Garen.
1451
1452         https://bugs.webkit.org/show_bug.cgi?id=18826
1453         Make JavaScript heap per-thread
1454
1455         * JSValueWrapper.cpp:
1456         * JSUtils.h:
1457         Moved getThreadGlobalExecState() to JSUtils and made it extern, as ExecState is now needed
1458         for all JS allocations.
1459
1460         * JSUtils.cpp:
1461         (JSObjectKJSValue): Pass ExecState to functions that now need it.
1462         (unprotectGlobalObject): Moved from JSValueWrapper.cpp.
1463         (initializeGlobalObjectKey): Ditto.
1464         (getThreadGlobalExecState): Ditto.
1465
1466         * UserObjectImp.cpp: (UserObjectImp::toPrimitive): Pass ExecState to jsString and jsNumber.
1467
1468         * JavaScriptGlue.cpp:
1469         (JSCollect): Use current thread's heap.
1470         (JSLockInterpreter): Removed JSLock::registerThread(), because a JS heap doesn't need to
1471         know about other threads.
1472
1473 2008-04-25  Alexey Proskuryakov  <ap@webkit.org>
1474
1475         Reviewed by Darin Adler.
1476
1477         Fix run-webkit-tests --threading
1478         and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
1479         Proxy server issue in Sunday's Nightly
1480
1481         * UserObjectImp.cpp: Adjusted for the new member added to ClassInfo.
1482
1483 2008-04-25  Mark Rowe  <mrowe@apple.com>
1484
1485         Reviewed by Adele Peterson.
1486
1487         <rdar://problem/5891264> Don't install the JavaScriptGlue headers
1488
1489         * JavaScriptGlue.xcodeproj/project.pbxproj:
1490
1491 2008-04-25  Mark Rowe  <mrowe@apple.com>
1492
1493         Rubber-stamped by Sam Weinig.
1494
1495         Add some content to an empty ICU header file to prevent verification errors.
1496
1497         * icu/unicode/utf_old.h:
1498
1499 2008-04-02  Mark Rowe  <mrowe@apple.com>
1500
1501         Reviewed by Oliver Hunt.
1502
1503         Ensure that debug symbols are generated for x86_64 and ppc64 builds.
1504
1505         * Configurations/Base.xcconfig:
1506
1507 2008-03-20  Maciej Stachowiak  <mjs@apple.com>
1508
1509         - fix build
1510
1511         * ForwardingHeaders/wtf/ListRefPtr.h: Added.
1512
1513 2008-03-01  Mark Rowe  <mrowe@apple.com>
1514
1515         Reviewed by Tim Hatcher.
1516
1517         Update Xcode configuration to support building debug and release from the mysterious future.
1518
1519         * Configurations/Base.xcconfig:
1520         * Configurations/DebugRelease.xcconfig:
1521
1522 2008-02-29  Geoffrey Garen  <ggaren@apple.com>
1523
1524         Reviewed by David Harrison.
1525         
1526         Fixed <rdar://problem/5765063> TOT REGRESSION: Software Update crash in
1527         KJS::Collector::collect() (missing JSLock)
1528
1529         * JSValueWrapper.cpp:
1530         (unprotectGlobalObject): Added missing JSLock.
1531
1532 2008-02-05  Mark Rowe  <mrowe@apple.com>
1533
1534         Reviewed by Oliver Hunt.
1535
1536         Update versioning to support the mysterious future.
1537
1538         * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
1539
1540 2008-01-28  Eric Seidel  <eric@webkit.org>
1541
1542         Reviewed by darin.
1543         
1544         Add icu headers to JSG in preparation for depending on ::UChar.
1545
1546         * Configurations/Base.xcconfig:
1547         * ForwardingHeaders/wtf/unicode: Added.
1548         * ForwardingHeaders/wtf/unicode/Unicode.h: Added.
1549         * ForwardingHeaders/wtf/unicode/icu: Added.
1550         * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Added.
1551         * icu: Copied from ../JavaScriptCore/icu.
1552
1553 2007-12-19  Geoffrey Garen  <ggaren@apple.com>
1554
1555         Build fix.
1556
1557         * ForwardingHeaders/wtf/VectorTraits.h: Added.
1558
1559 2007-12-10  Timothy Hatcher  <timothy@apple.com>
1560
1561         Reviewed by Mark Rowe.
1562
1563         <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
1564
1565         * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
1566           so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
1567
1568 2007-12-04  Geoffrey Garen  <ggaren@apple.com>
1569
1570         Reviewed by Darin Adler.
1571
1572         Third step in refactoring JSGlobalObject: Moved data members and data
1573         member access from Interpreter to JSGlobalObject. Replaced JSInterpreter
1574         subclass with JSGlobalObject subclass.
1575         
1576         * JSRun.cpp:
1577         (JSRun::JSRun):
1578         (JSRun::Evaluate):
1579         (JSRun::CheckSyntax):
1580         * JSRun.h:
1581         (JSGlueGlobalObject::JSGlueGlobalObject):
1582         * JSUtils.cpp:
1583         (KJSValueToCFTypeInternal):
1584         * JSValueWrapper.cpp:
1585         (getThreadGlobalExecState):
1586
1587 2007-12-02  Geoffrey Garen  <ggaren@apple.com>
1588
1589         Reviewed by Eric Seidel.
1590
1591         Updated to match the JavaScriptCore change to move virtual methods from
1592         Interpreter to JSGlobalObject.
1593         
1594         * JSRun.cpp:
1595         * JSRun.h:
1596         * JSValueWrapper.cpp:
1597         (getThreadGlobalExecState):
1598         * JavaScriptGlue.cpp:
1599         (JSRunCopyGlobalObject):
1600         (JSRunEvaluate):
1601
1602 2007-11-30  Geoffrey Garen  <ggaren@apple.com>
1603
1604         Reviewed by Beth Dakin.
1605         
1606         Modified to follow new JSGlobalObject/Interpreter ownership rules 
1607         in JavaScriptCore.
1608
1609         * JSRun.cpp:
1610         (JSRun::JSRun):
1611         (JSRun::GetInterpreter):
1612         (JSRun::Evaluate):
1613         (JSRun::CheckSyntax):
1614         * JSRun.h:
1615         * JSValueWrapper.cpp:
1616         (unprotectGlobalObject):
1617         (initializeGlobalObjectKey):
1618         (getThreadGlobalExecState):
1619
1620 2007-11-29  Mark Rowe  <mrowe@apple.com>
1621
1622         Reviewed by Maciej.
1623
1624         Fix REGRESSION(r27885): Installer hits assertion failure in JavaScriptGlue.
1625
1626         * JSValueWrapper.cpp:
1627         (getThreadGlobalExecState): Set the global object on the Interpreter before using it.
1628
1629 2007-11-27  Anders Carlsson  <andersca@apple.com>
1630         
1631         Build fix.
1632         
1633         * JSUtils.cpp:
1634         (KJSValueToCFTypeInternal):
1635         * JSValueWrapper.cpp:
1636         (JSValueWrapper::JSObjectCopyPropertyNames):
1637
1638 2007-11-21  Mark Rowe  <mrowe@apple.com>
1639
1640         Reviewed by Eric.
1641
1642         Fix JavaScriptGlue to build without warnings using GCC 4.2.
1643
1644         * Configurations/Base.xcconfig:
1645         * JSRun.h:
1646
1647 2007-11-17  Mark Rowe  <mrowe@apple.com>
1648
1649         Reviewed by Darin Adler.
1650
1651         Fix: <rdar://problem/5607032> REGRESSION: testapi exits with assertion failure in debug build
1652              <rdar://problem/5440659> JSGlobalContextCreate throws away globalObjectClass's prototype
1653              http://bugs.webkit.org/show_bug.cgi?id=16033
1654
1655         Update for changes in Interpreter method signatures.
1656
1657         * JSRun.h:
1658
1659 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
1660
1661         Reviewed by Anders Carlsson.
1662
1663         Renamed Shared to RefCounted.
1664
1665         * ForwardingHeaders/wtf/RefCounted.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/Shared.h.
1666         * ForwardingHeaders/wtf/Shared.h: Removed.
1667
1668 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
1669
1670         Reviewed by Sam Weinig.
1671
1672         Moved Shared.h into wtf so it could be used in more places.
1673
1674         * ForwardingHeaders/wtf/Shared.h: Added.
1675
1676 2007-11-08  Mark Rowe  <mrowe@apple.com>
1677
1678         Build fix.
1679
1680         * ForwardingHeaders/wtf/MathExtras.h: Copied from WebCore/ForwardingHeaders/wtf/MathExtras.h.
1681
1682 2007-11-05  Geoffrey Garen  <ggaren@apple.com>
1683
1684         Build fix.
1685
1686         * ForwardingHeaders/kjs/value.h: Added.
1687
1688 2007-11-03  Sam Weinig  <sam@webkit.org>
1689
1690         Build-fix.
1691
1692         * UserObjectImp.cpp:
1693
1694 2007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
1695
1696         Sort files(...); sections of Xcode project files.
1697
1698         Rubber-stamped by Darin Adler.
1699
1700         * JavaScriptGlue.xcodeproj/project.pbxproj:
1701
1702 2007-10-25  Eric Seidel  <eric@webkit.org>
1703
1704         Reviewed by Geoff.
1705         
1706         Make JSG build again after JSGlobalObject change.
1707
1708         * JSRun.cpp:
1709         (JSRun::JSRun):
1710         (JSRun::GlobalObject):
1711         * JSRun.h:
1712         (JSInterpreter::JSInterpreter):
1713         * JSUtils.h:
1714
1715 2007-10-11  Mark Rowe  <mrowe@apple.com>
1716
1717         Reviewed by Tim Hatcher.
1718
1719         Fix for <rdar://problem/5488678>.  Disable debugging symbols in production builds for 10.4
1720         PowerPC to prevent a huge STABS section from being generated.
1721
1722         * Configurations/Base.xcconfig:
1723
1724 2007-10-04  Mark Rowe  <mrowe@apple.com>
1725
1726         Reviewed by Oliver.
1727
1728         Switch to default level of debugging symbols to resolve <rdar://problem/5488678>.
1729         The "full" level appears to offer no observable benefits even though the documentation
1730         suggests it be used for dead code stripping.  This should also decrease link times.
1731
1732         * Configurations/Base.xcconfig:
1733
1734 2007-09-03  Mark Rowe  <mrowe@apple.com>
1735
1736         Reviewed by Tim Hatcher.
1737
1738         <rdar://problem/5452164> Production build with in symbols directory has no debug info
1739
1740         Enable debug symbol generation on all build configurations.  Production builds are stripped
1741         of symbols by Xcode during deployment post-processing.
1742
1743         * Configurations/Base.xcconfig:
1744         * JavaScriptGlue.xcodeproj/project.pbxproj:
1745
1746 2007-08-09  Mark Rowe  <mrowe@apple.com>
1747
1748         Reviewed by Antti.
1749
1750         <rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +
1751
1752         * Configurations/Version.xcconfig:
1753         * JavaScriptGlue.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between
1754         Version.xcconfig and Info.plist explicit to Xcode.
1755
1756 2007-07-16  Sam Weinig  <sam@webkit.org>
1757
1758         Reviewed by Oliver.
1759
1760         Turn off -Wshorten-64-to-32 warning for 64-bit builds.
1761
1762         * Configurations/Base.xcconfig:
1763
1764 2007-04-27  Mark Rowe  <mrowe@apple.com>
1765
1766         Reviewed by Oliver.
1767
1768         * JavaScriptGlue.xcodeproj/project.pbxproj: Improve dependencies in Xcode project
1769         by marking JavaScriptGlue as a dependency of testjsglue.
1770
1771 2007-03-24  Mark Rowe  <mrowe@apple.com>
1772
1773         Reviewed by Dave Hyatt.
1774
1775         * JavaScriptGlue.xcodeproj/project.pbxproj: Use GCC 4.0 for testjsglue.
1776
1777 2007-03-24  Mark Rowe  <mrowe@apple.com>
1778
1779         Rubber-stamped by Darin Adler.
1780
1781         * Configurations/JavaScriptGlue.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS.
1782
1783 2007-03-19  Andrew Wellington  <proton@wiretapped.net>
1784
1785         Reviewed by Maciej.
1786
1787         Really set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
1788
1789         * JavaScriptGlue.xcodeproj/project.pbxproj:
1790
1791 2007-03-18  Andrew Wellington  <proton@wiretapped.net>
1792
1793         Reviewed by Mark Rowe
1794         
1795         Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
1796
1797         * JavaScriptGlue.xcodeproj/project.pbxproj:
1798
1799 2007-03-17  Timothy Hatcher  <timothy@apple.com>
1800
1801         Reviewed by Mark Rowe.
1802
1803         Made Version.xcconfig smarter when building for different configurations.
1804         Now uses the 522+ OpenSource version for Debug and Release, while using the    
1805         full 522.4 version for Production builds. The system prefix is also computed
1806         based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.
1807
1808         * Configurations/JavaScriptGlue.xcconfig:
1809         * Configurations/Version.xcconfig:
1810
1811 2007-03-15  Timothy Hatcher  <timothy@apple.com>
1812
1813         Reviewed by John.
1814
1815         * Factored out most of our common build settings into .xcconfig files. Anything that was common in
1816           each build configuration was factored out into the shared .xcconfig file.
1817         * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
1818         * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
1819         * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
1820
1821         * Configurations/Base.xcconfig: Added.
1822         * Configurations/DebugRelease.xcconfig: Added.
1823         * Configurations/JavaScriptGlue.xcconfig: Added.
1824         * Configurations/Version.xcconfig: Added.
1825         * Info.plist:
1826         * JavaScriptGlue.xcodeproj/project.pbxproj:
1827
1828 === Safari-5522.4 ===
1829
1830 2007-03-12  Geoffrey Garen  <ggaren@apple.com>
1831
1832         Reviewed by Oliver Hunt.
1833         
1834         Updated in light of fix for <rdar://problem/4681051> Installer crashes 
1835         in KJS::Collector::markOtherThreadConservatively(KJS::Collector::Thread*) 
1836         trying to install iLife 06 using Rosetta on an Intel Machine
1837         
1838         * JavaScriptGlue.cpp:
1839         (JSLockInterpreter): Ensure backwards compatibility by calling 
1840         registerThread() when explicitly taking the JSLock. (This doesn't happen 
1841         automatically anymore.) I doubt this actally matters, but in JavaScriptGlue
1842         territory, that kind of thinking will get you killed.
1843
1844 2007-03-06  Geoffrey Garen  <ggaren@apple.com>
1845
1846         Reviewed by Maciej Stachowiak.
1847
1848         Fixed all known crashers exposed by run-webkit-tests --threaded while using
1849         a PAC file (for maximum carnage). See JavaScriptCore ChangeLog for 
1850         more details.
1851
1852         * JSBase.cpp:
1853         (JSBase::Release): Lock when deleting, because we may be deleting an object
1854         (like a JSRun) that holds thread-unsafe data.
1855
1856         * JSUtils.cpp:
1857         (CFStringToUString): Don't lock, because our caller locks. Also, locking
1858         inside a function that returns thread-unsafe data by copy will only mask
1859         threading problems.
1860
1861         * JavaScriptGlue.cpp:
1862         (JSRunEvaluate): Added missing JSLock.
1863         (JSRunCheckSyntax): Converted to JSLock.
1864         * JavaScriptGlue.xcodeproj/project.pbxproj:
1865
1866 2007-02-22  Geoffrey Garen  <ggaren@apple.com>
1867
1868         Reviewed by Darin Adler.
1869         
1870         Fixed <rdar://problem/4942528> Installer.app Stuck "Examining additional 
1871         volumes..."
1872         
1873         The problem was that JavaScriptGlue held a JSObject in a static pointer
1874         without protecting it from garbage collection. 
1875         
1876             sUserObjectPrototypeImp  = new UserObjectPrototypeImp();
1877             static ProtectedPtr<UserObjectPrototypeImp> protectPrototype; // valiant, brave, but useless
1878
1879         Through an interesting comedy of errors, this object would be collected 
1880         and then assigned as the prototype of another object allocated at the 
1881         same address, thus becoming its own prototype. (See http://www.ziplo.com/grandpa.htm
1882         for further explanation of this phenomenon.) Hence the infinte loop in 
1883         property lookup.
1884         
1885         The solution is equally humorous: all of this code was completely useless --
1886         it only served to create an empty object in the prototype chain -- so
1887         I just removed it.
1888
1889         * UserObjectImp.cpp:
1890         (UserObjectImp::UserObjectImp):
1891         * UserObjectImp.h:
1892
1893 2007-02-19  Timothy Hatcher  <timothy@apple.com>
1894
1895         Reviewed by Geoff.
1896
1897         <rdar://problem/4636301> Deprecate JavaScriptGlue
1898
1899         * JavaScriptGlue.h: adds DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER to everything
1900         * JavaScriptGlue.xcodeproj/project.pbxproj: use -Wno-deprecated-declarations to keep the project building
1901         * config.h: define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER as empty on other systems
1902
1903 2007-02-16  Darin Adler  <darin@apple.com>
1904
1905         Reviewed by Anders.
1906
1907         - fix <rdar://problem/5000216> JavaScriptGlue framework started turning all CFNumbers
1908           into signed 32bit values
1909
1910         Circumstantial evidence seems to indicate that JavaScriptGlue was depending on a bug
1911         in CFNumber where CFNumberIsFloatType was returning true for 64-bit integer values.
1912
1913         * JSUtils.cpp: (JSObjectKJSValue): Removed the call to CFNumberIsFloatType in the
1914         conversion of numeric values, and always use kCFNumberDoubleType, since double is
1915         the internal format of numbers in JavaScriptCore. There's no value to having a
1916         separate code path for integers. There's also no reason to check the return value
1917         from CFNumberGetValue -- if it returns false it still does the best it can to convert
1918         to a double, which is what we want.
1919
1920         * UserObjectImp.cpp: (UserObjectImp::toString): Removed a similar code path that
1921         tried to handle integers separate from double. Instead, always use a double. For
1922         compatibility, use a format without a decimal point when CFNumberIsFloatType returns
1923         false. Also removed a bogus cast to float; the "%f" format string takes a double,
1924         not a float, so all the cast did was cut down on precision.
1925
1926 2007-01-25  Mark Rowe  <mrowe@apple.com>
1927
1928         Reviewed by Maciej.
1929
1930         * Info.plist: Update copyright string.
1931
1932 2006-12-19  Timothy Hatcher  <timothy@apple.com>
1933
1934         Reviewed by Darin Adler.
1935
1936         <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features
1937
1938         * JavaScriptGlue.xcodeproj/project.pbxproj:
1939
1940 === Safari-521.26 ===
1941
1942 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
1943
1944         Reviewed by Tim H.
1945
1946         Build fix:  DWARF and -gfull are incompatible with symbol separation.
1947
1948         * JavaScriptGlue.xcodeproj/project.pbxproj:
1949
1950 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
1951
1952         Reviewed by Tim H.
1953
1954         http://bugs.webkit.org/show_bug.cgi?id=10394
1955         Bug 10394: WebKit Release and Production configurations should enable dead code stripping
1956
1957         * JavaScriptGlue.xcodeproj/project.pbxproj:
1958
1959 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
1960
1961         Reviewed by Tim H.
1962
1963         http://bugs.webkit.org/show_bug.cgi?id=10384
1964         Bug 10384: Switch to DWARF for Release configuration
1965
1966         * JavaScriptGlue.xcodeproj/project.pbxproj:
1967
1968 2006-08-04  Sam Weinig  <sam.weinig@gmail.com>
1969
1970         Reviewed by Darin Adler.
1971
1972         - patch for http://bugs.webkit.org/show_bug.cgi?id=10192
1973           Make WebCore (and friends) compile with -Wshorten-64-to-32
1974
1975           * Adds -Wshorten-64-to-32 flag to Xcode project.
1976
1977         * JavaScriptGlue.xcodeproj/project.pbxproj:
1978
1979 2006-08-03  Sam Weinig  <sam.weinig@gmail.com>
1980
1981         Reviewed by Darin Adler.
1982
1983         - patch for http://bugs.webkit.org/show_bug.cgi?id=10176
1984           Make WebCore compile with -Wundef
1985
1986           * Adds -Wundef flag to Xcode project
1987
1988         * JavaScriptGlue.xcodeproj/project.pbxproj:
1989
1990 2006-07-29  Sam Weinig  <sam.weinig@gmail.com>
1991
1992         Reviewed by Darin Adler.
1993
1994         - patch for http://bugs.webkit.org/show_bug.cgi?id=10080
1995           Adopt pedantic changes from the Unity project to improve 
1996           cross-compiler compatibility
1997
1998           Changes include:
1999           * Turning on gcc warning for missing newline at the end of a source file
2000             (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
2001
2002         * JavaScriptGlue.xcodeproj/project.pbxproj:
2003
2004 === Safari-521.19 ===
2005
2006 2006-07-19  Geoffrey Garen  <ggaren@apple.com>
2007
2008         Fixed by Darin & Maciej, reviewed by me.
2009         
2010         - Fixed <rdar://problem/4638934> Leopard 9A227: Installer crashes right 
2011         after LCA and while preparing Installation
2012
2013         Compile release/production with NDEBUG set, to ensure binary compatibility
2014         between JavaScriptGlue and JavaScriptCore. In debug builds, JavaScriptCore 
2015         includes an extra debug data member in HashSet.
2016         
2017         * JavaScriptGlue.xcodeproj/project.pbxproj:
2018
2019 === Safari-521.18 ===
2020
2021 2006-07-15  Maciej Stachowiak  <mjs@apple.com>
2022
2023         Reviewed by Darin Adler.
2024
2025         - switch property lists to be vector+set of Identifiers instead of list of References
2026         
2027         * JSUtils.cpp:
2028         (KJSValueToCFTypeInternal): updated for JSC SPI changes
2029         * JSValueWrapper.cpp:
2030         (JSValueWrapper::JSObjectCopyPropertyNames): ditto
2031         * UserObjectImp.cpp:
2032         (UserObjectImp::getPropertyNames): ditto
2033         * UserObjectImp.h:
2034
2035 === Safari-521.17 ===
2036
2037 2006-07-14  Geoffrey Garen  <ggaren@apple.com>
2038
2039         Reviewed by Maciej.
2040         
2041         - Updated JSInterpreter to work with Interpreter ref-counting in JavaScriptCore.
2042
2043         (JSInterpreter::JSInterpreter::~JSInterpreter): Now protected to catch
2044         manual delete.
2045
2046 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
2047
2048         Build fix
2049         
2050         * JSUtils.cpp:
2051         (KJSValueToCFTypeInternal):
2052         * JSValueWrapper.cpp:
2053         (JSValueWrapper::JSObjectCopyPropertyNames):
2054         * UserObjectImp.cpp:
2055         (UserObjectImp::getPropertyList):
2056         
2057 === Safari-521.15 ===
2058
2059 2006-07-07  Geoffrey Garen  <ggaren@apple.com>
2060
2061         - build fix
2062
2063         * JSUtils.cpp:
2064         (KJSValueToCFTypeInternal):
2065         * JSValueWrapper.cpp:
2066         (JSValueWrapper::JSObjectCopyPropertyNames):
2067
2068 2006-07-03  Geoffrey Garen  <ggaren@apple.com>
2069
2070         Reviewed by Maciej.
2071         
2072         * JSRun.cpp:
2073         (JSRun::CheckSyntax): Updated to use new checkSyntax syntax in JSC.
2074         * JavaScriptGlue.xcodeproj/project.pbxproj:
2075
2076 === Safari-521.14 ===
2077
2078 2006-06-28  Timothy Hatcher  <timothy@apple.com>
2079
2080         Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
2081
2082         * JavaScriptGlue.xcodeproj/project.pbxproj:
2083
2084 2006-06-24  David Kilzer  <ddkilzer@kilzer.net>
2085
2086         Reviewed by Timothy.
2087
2088         * Info.plist: Fixed copyright to include 2003-2006.
2089
2090 === JavaScriptGlue-521.13 ===
2091         
2092 2006-06-20  Geoffrey Garen  <ggaren@apple.com>
2093
2094         Reviewed by Anders.
2095         
2096         - Required for JS API: Rename propList to getPropertyList and have it
2097         take its target property list by reference so that subclasses can
2098         add properties to the list before calling through to their superclasses.
2099
2100         * JSUtils.cpp:
2101         (KJSValueToCFTypeInternal):
2102         * JSValueWrapper.cpp:
2103         (JSValueWrapper::JSObjectCopyPropertyNames):
2104         * UserObjectImp.cpp:
2105         (UserObjectImp::getPropertyList):
2106         * UserObjectImp.h:
2107
2108 2006-06-15  Timothy Hatcher  <timothy@apple.com>
2109
2110         Reviewed by Geoff and Darin.
2111         
2112         Prefer the DWARF debugging symbols format for use in Xcode 2.3.
2113
2114         * JavaScriptGlue.xcodeproj/project.pbxproj:
2115
2116 2006-06-12  Geoffrey Garen  <ggaren@apple.com>
2117
2118         Reviewed by TimO, Maciej.
2119         
2120         - JSGlue part of merging InterpreterImp into Interpreter.
2121         
2122         Since there's now a kjs forwarding header, I moved all forwarding
2123         headers into a "ForwardingHeaders" directory, like in WebCore.
2124
2125         * ForwardingHeaders: Added.
2126         * ForwardingHeaders/kjs: Added.
2127         * ForwardingHeaders/kjs/ExecState.h: Added.
2128         * ForwardingHeaders/wtf: Added.
2129         * JavaScriptGlue.xcodeproj/project.pbxproj:
2130         * config.h:
2131         * wtf: Removed.
2132         * wtf/AlwaysInline.h: Removed.
2133         * wtf/Assertions.h: Removed.
2134         * wtf/FastMalloc.h: Removed.
2135         * wtf/Forward.h: Removed.
2136         * wtf/HashCountedSet.h: Removed.
2137         * wtf/HashSet.h: Removed.
2138         * wtf/Noncopyable.h: Removed.
2139         * wtf/OwnArrayPtr.h: Removed.
2140         * wtf/OwnPtr.h: Removed.
2141         * wtf/PassRefPtr.h: Removed.
2142         * wtf/Platform.h: Removed.
2143         * wtf/RefPtr.h: Removed.
2144         * wtf/Vector.h: Removed.
2145
2146 === JavaScriptGlue-521.10 ===
2147
2148 2006-05-09  Maciej Stachowiak  <mjs@apple.com>
2149
2150         Rubber stamped by Anders.
2151         
2152         - renamed kxmlcore to wtf
2153         
2154         kxmlcore --> wtf
2155         KXMLCore --> WTF
2156         KXC --> WTF
2157
2158         * config.h:
2159         * kxmlcore: Removed.
2160         * kxmlcore/AlwaysInline.h: Removed.
2161         * kxmlcore/Assertions.h: Removed.
2162         * kxmlcore/FastMalloc.h: Removed.
2163         * kxmlcore/Forward.h: Removed.
2164         * kxmlcore/HashCountedSet.h: Removed.
2165         * kxmlcore/HashSet.h: Removed.
2166         * kxmlcore/Noncopyable.h: Removed.
2167         * kxmlcore/OwnArrayPtr.h: Removed.
2168         * kxmlcore/OwnPtr.h: Removed.
2169         * kxmlcore/PassRefPtr.h: Removed.
2170         * kxmlcore/Platform.h: Removed.
2171         * kxmlcore/RefPtr.h: Removed.
2172         * kxmlcore/Vector.h: Removed.
2173         * wtf: Added.
2174
2175 2006-04-11  Darin Adler  <darin@apple.com>
2176
2177         - try to fix Windows build
2178
2179         * kxmlcore/HashForward.h: Removed.
2180
2181 2006-04-10  Darin Adler  <darin@apple.com>
2182
2183         Rubber-stamped by John Sullivan.
2184
2185         - added forwarding headers for the new Forward.h and HashForward.h files
2186
2187         * kxmlcore/Forward.h: Added.
2188         * kxmlcore/HashForward.h: Added.
2189
2190 2006-04-04  Timothy Hatcher  <timothy@apple.com>
2191
2192         Reviewed by Darin Adler.
2193
2194         The Debug and Release frameworks are now built with install paths relative to the build products directory.
2195         This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. 
2196
2197         * JavaScriptGlue.xcodeproj/project.pbxproj:
2198
2199 2006-04-02  Eric Seidel  <eseidel@apple.com>
2200
2201         Reviewed by andersca.
2202
2203         Add missing forwarding header.
2204
2205         * kxmlcore/Vector.h: Added.
2206
2207 2006-03-31  Geoffrey Garen  <ggaren@apple.com>
2208
2209         Reviewed by Darin Adler.
2210
2211         - Fixed <rdar://problem/4430836> JavaScript patch crashing Quartz
2212         Composer
2213
2214         JSValueWrappers used to hold on to the ExecState that pertained at
2215         the time of their creation. Since ExecStates are transient, that
2216         design was totally bogus, and it would crash once the ExecState had
2217         been deallocated.
2218
2219         Unfortunately, there's no clean solution to this problem, since
2220         the JSGlue API has no notion of state. The solution here is to use
2221         a shared, global ExecState for the purpose of JSGlue calls. Given
2222         the pre-existing limitations in the JSGlue API, this design
2223         shouldn't actually introduce any new limitations (see comments in
2224         JSValueWrapper.cpp).
2225
2226         I tested with Quartz Composer and PAC files, neither of which are
2227         layout-testable.
2228         
2229         * JSUtils.cpp:
2230         (KJSValueToJSObject):
2231         * JSValueWrapper.cpp:
2232         (JSValueWrapper::JSValueWrapper):
2233         (JSValueWrapper::GetValue):
2234         (getProcessGlobalExecState):
2235         (JSValueWrapper::JSObjectCopyPropertyNames):
2236         (JSValueWrapper::JSObjectCopyProperty):
2237         (JSValueWrapper::JSObjectSetProperty):
2238         (JSValueWrapper::JSObjectCallFunction):
2239         (JSValueWrapper::JSObjectCopyCFValue):
2240         * JSValueWrapper.h:
2241
2242         Also added a test harness file. It was helpful while I was testing,
2243         and may come in handy in the future:
2244         
2245         * JavaScriptGlue.xcodeproj/project.pbxproj:
2246         testjsglue.cpp: Added.
2247
2248 2006-03-28  Darin Adler  <darin@apple.com>
2249
2250         Reviewed by Geoff.
2251
2252         - added a build step that checks for init routines
2253
2254         * JavaScriptGlue.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
2255         check-for-global-initializers script.
2256
2257 2006-03-02  Maciej Stachowiak  <mjs@apple.com>
2258
2259         Not reviewed, but I noticed these trivial extra changes were needed to avoid
2260         breaking the build with my reviewed patch for:
2261         
2262         http://bugs.webkit.org/show_bug.cgi?id=7387
2263         
2264         Add config.h, includes of it, and Platform.h forwarding header.
2265
2266         * JSBase.cpp:
2267         * JSObject.cpp:
2268         * JSRun.cpp:
2269         * JSUtils.cpp:
2270         * JSValueWrapper.cpp:
2271         * JavaScriptGlue.cpp:
2272         * UserObjectImp.cpp:
2273         * config.h: Added.
2274         * kxmlcore/Platform.h: Added.
2275
2276 === JavaScriptGlue-521.7 ===
2277
2278 2006-02-10  Geoffrey Garen  <ggaren@apple.com>
2279
2280         Reviewed by eric.
2281
2282         - Fixed build.
2283
2284         * UserObjectImp.cpp:
2285         (UserObjectImp::toPrimitive):
2286         * UserObjectImp.h:
2287
2288 2006-02-03  Timothy Hatcher  <timothy@apple.com>
2289
2290         Reviewed by Justin.
2291
2292         Renamed configuration names to Debug, Release and Production.
2293
2294         * JavaScriptGlue.xcodeproj/project.pbxproj:
2295
2296 2006-02-01  Darin Adler  <darin@apple.com>
2297
2298         - added some forwarding headers to make new JavaScriptCore changes work
2299
2300         * kxmlcore/Assertions.h: Added.
2301         * kxmlcore/Noncopyable.h: Added.
2302         * kxmlcore/OwnPtr.h: Added.
2303         * kxmlcore/OwnArrayPtr.h: Added.
2304
2305 2006-01-16  Timothy Hatcher  <timothy@apple.com>
2306
2307         Adding the license header to all files so we can
2308         move JavaScriptGlue into the open source repository.
2309
2310         * LICENSE: Added.
2311         * JSBase.cpp: license header added.
2312         * JSBase.h: ditto.
2313         * JSObject.cpp: ditto.
2314         * JSObject.h: ditto.
2315         * JSRun.cpp: ditto.
2316         * JSRun.h: ditto.
2317         * JSUtils.cpp: ditto.
2318         * JSUtils.h: ditto.
2319         * JSValueWrapper.cpp: ditto.
2320         * JSValueWrapper.h: ditto.
2321         * JavaScriptGlue.cpp: ditto.
2322         * JavaScriptGlue.h: ditto.
2323         * UserObjectImp.cpp: ditto.
2324         * UserObjectImp.h: ditto.
2325
2326 2005-12-21  Timothy Hatcher  <timothy@apple.com>
2327
2328         * JavaScriptGlue.xcodeproj/project.pbxproj:
2329           Set tab width to 8, indent width to 4 and uses tabs to false per file.
2330
2331 2005-12-19  Darin Adler  <darin@apple.com>
2332
2333         Reviewed by Geoff Garen and Eric Seidel.
2334
2335         - fix http://bugs.webkit.org/show_bug.cgi?id=4923
2336           stop using <ostream> in WebCore, eliminating the <cmath> troubles it causes
2337
2338         * kxmlcore/AlwaysInline.h: Added.
2339
2340 2005-12-15  Darin Adler  <darin@apple.com>
2341
2342         Reviewed by Maciej.
2343
2344         * JSRun.cpp: (JSRun::Evaluate): Updated for change to Interpreter::evaluate.
2345
2346 2005-12-15  Darin Adler  <darin@apple.com>
2347
2348         Reviewed by Tim Hatcher.
2349
2350         * JavaScriptGlue.xcodeproj/project.pbxproj: Removed some redundant build
2351         settings, turned off prebinding explicitly for our Development and
2352         Deployment builds, remove .exp file from sources. All "clean-up".
2353
2354 === Safari-521~5 ===
2355
2356 2005-12-13  Geoffrey Garen  <ggaren@apple.com>
2357
2358     - Fixed build after Anders's last checkin to JavaScriptCore.
2359     
2360         Reviewed by darin.
2361
2362         * UserObjectImp.cpp:
2363         (UserObjectImp::userObjectGetter): Updated to reflect new argument that 
2364     getters take (unused here).
2365         * UserObjectImp.h:
2366
2367 2005-12-13  Maciej Stachowiak  <mjs@apple.com>
2368
2369         Reviewed by Eric.
2370
2371     - added forwarding header for HashCountedSet
2372
2373         * kxmlcore/HashCountedSet.h: Added.
2374
2375 2005-12-10  Darin Adler  <darin@apple.com>
2376
2377         Rubber stamped by Maciej.
2378
2379         - updated for KJS class renaming
2380
2381         * many files and functions
2382
2383 2005-12-10  Darin Adler  <darin@apple.com>
2384
2385         Reviewed by Maciej.
2386
2387         - eliminated the old Undefined(), Null(), Boolean(), Number(), and String()
2388
2389         Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString().
2390
2391         * JSUtils.cpp:
2392         (JSObjectKJSValue):
2393         * UserObjectImp.cpp:
2394         (UserObjectImp::callAsFunction):
2395         (UserObjectImp::toPrimitive):
2396
2397 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
2398
2399         - added new forwarding headers
2400
2401         * kxmlcore/PassRefPtr.h: Added.
2402         * kxmlcore/RefPtr.h: Added.
2403
2404 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
2405
2406         * kxmlcore/PassRefPtr.h: Added.
2407
2408 2005-11-26  Maciej Stachowiak  <mjs@apple.com>
2409
2410         Rubber stamped by Eric.
2411
2412     - renamed InterpreterLock to JSLock
2413
2414         * JSUtils.cpp:
2415         (CFStringToUString):
2416         (JSObjectKJSValue):
2417         (KJSValueToCFTypeInternal):
2418         * JSValueWrapper.cpp:
2419         (JSValueWrapper::JSObjectCopyPropertyNames):
2420         (JSValueWrapper::JSObjectCopyProperty):
2421         (JSValueWrapper::JSObjectSetProperty):
2422         (JSValueWrapper::JSObjectCallFunction):
2423         (JSValueWrapper::JSObjectCopyCFValue):
2424         * JavaScriptGlue.cpp:
2425         (JSRunCreate):
2426         (JSCollect):
2427         (JSLockInterpreter):
2428         (JSUnlockInterpreter):
2429         * UserObjectImp.cpp:
2430         (UserObjectImp::callAsFunction):
2431
2432 2005-11-16  Maciej Stachowiak  <mjs@apple.com>
2433
2434         Reviewed by Geoff.
2435
2436     Updated to use new API to drop all locks.
2437
2438         * JavaScriptGlue.cpp:
2439         (JSLockInterpreter):
2440         (JSUnlockInterpreter):
2441         * UserObjectImp.cpp:
2442         (UserObjectImp::callAsFunction):
2443
2444 2005-11-14  Geoffrey Garen  <ggaren@apple.com>
2445
2446         Reviewed by mjs.
2447
2448         - Part of the fix for <rdar://problem/4342216> Installer crash in 
2449           KJS::ValueImp::marked() when garbage collector runs inside call to 
2450           ConstantValues::init()
2451           
2452         Added locking in JSRunCreate, since JSRun::JSRun constructs an object.
2453         
2454         * JavaScriptGlue.cpp:
2455         (JSRunCreate):
2456
2457 2005-11-10  Geoffrey Garen  <ggaren@apple.com>
2458
2459         Reviewed by Maciej.
2460
2461         - Fixed <rdar://problem/4334445> installer crashed on my 
2462           dual g4 450Mhz after clicking language
2463
2464         - Reversed backwards NULL check.
2465         - Inserted guards against NULL fJSUserObject data member.
2466         - Cleaned up some style.
2467
2468         * JSUtils.cpp:
2469         (KJSValueToCFTypeInternal):
2470         * UserObjectImp.cpp:
2471         (UserObjectImp::~UserObjectImp):
2472         (UserObjectImp::callAsFunction):
2473         (UserObjectImp::userObjectGetter):
2474         (UserObjectImp::getOwnPropertySlot):
2475         (UserObjectImp::put):
2476         (UserObjectImp::mark):
2477
2478 2005-11-04  Timothy Hatcher  <timothy@apple.com>
2479
2480         Reviewed by Darin Adler.
2481
2482         * JavaScriptGlue.xcodeproj/project.pbxproj:
2483           Fixed the FRAMEWORK_SEARCH_PATHS to look in the WebKit
2484           Frameworks for the Default config.
2485
2486 2005-11-03  Timothy Hatcher  <timothy@apple.com>
2487
2488         Reviewed by Darin and Vicki.
2489
2490         * JavaScriptGlue.xcodeproj/project.pbxproj:
2491           Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
2492           $(NEXT_ROOT) in a few spots to make build-root work.
2493
2494 2005-11-01  Maciej Stachowiak  <mjs@apple.com>
2495
2496     Reviewed by: Eric.
2497     
2498         <rdar://problem/4324107> get JavaScriptGlue working with TOT JavaScriptCore again
2499
2500     - reverted all this stuff to use ReferenceList instead of IdentifierSequencedSet
2501
2502         * JSUtils.cpp:
2503         (KJSValueToCFTypeInternal):
2504         * JSValueWrapper.cpp:
2505         (JSValueWrapper::JSObjectCopyPropertyNames):
2506         * UserObjectImp.cpp:
2507         (UserObjectImp::propList):
2508         * UserObjectImp.h:
2509
2510 2005-10-11  Timothy Hatcher  <timothy@apple.com>
2511
2512         Setup the proper Framework search path for the Default config.
2513         Prepping for a TOT submission and build by B&I.
2514
2515         * JavaScriptGlue.xcodeproj/project.pbxproj:
2516
2517 2005-10-10  Darin Adler  <darin@apple.com>
2518
2519         Reviewed by Eric.
2520
2521         - converted tabs to spaces, NULL to 0, added some (void), got rid of __ prefixes
2522           in headers (reserved for compiler/library)
2523
2524         * Info.plist:
2525         * JSBase.cpp:
2526         * JSBase.h:
2527         * JSObject.cpp:
2528         * JSObject.h:
2529         * JSRun.cpp:
2530         * JSRun.h:
2531         * JSUtils.cpp:
2532         * JSUtils.h:
2533         * JSValueWrapper.cpp:
2534         * JSValueWrapper.h:
2535         * JavaScriptGlue.cpp:
2536         * JavaScriptGlue.h:
2537         * UserObjectImp.cpp:
2538         * UserObjectImp.h:
2539
2540 2005-10-10  Darin Adler  <darin@apple.com>
2541
2542         * .cvsignore: Added. Ignore Makefile.in and Makefile.
2543
2544 2005-10-07  Timothy Hatcher  <timothy@apple.com>
2545
2546         Reviewed by Maciej.
2547         
2548         Build fix, needed to disable RTTI. Upgraded to a native target.
2549
2550         * JavaScriptGlue.xcodeproj/project.pbxproj:
2551         * Info.plist
2552
2553 2005-10-05  Maciej Stachowiak  <mjs@apple.com>
2554
2555         Reviewed by Eric and Darin.
2556
2557     <rdar://problem/4260506> Port JavaScriptGlue to TOT JavaScriptCore
2558
2559         * JSRun.cpp:
2560         (JSRun::JSRun):
2561         (JSRun::GlobalObject):
2562         * JSRun.h:
2563         (JSInterpreter::JSInterpreter):
2564         * JSUtils.cpp:
2565         (KJSValueToJSObject):
2566         (JSObjectKJSValue):
2567         (KJSValueToCFTypeInternal):
2568         (KJSValueToCFType):
2569         * JSUtils.h:
2570         * JSValueWrapper.cpp:
2571         (JSValueWrapper::JSValueWrapper):
2572         (JSValueWrapper::GetValue):
2573         (JSValueWrapper::JSObjectCopyPropertyNames):
2574         (JSValueWrapper::JSObjectCopyProperty):
2575         (JSValueWrapper::JSObjectSetProperty):
2576         (JSValueWrapper::JSObjectCallFunction):
2577         (JSValueWrapper::JSObjectMark):
2578         * JSValueWrapper.h:
2579         * JavaScriptGlue.cpp:
2580         (JSRunCopyGlobalObject):
2581         * JavaScriptGlue.xcodeproj/project.pbxproj:
2582         * Makefile.am: Added.
2583         * UserObjectImp.cpp:
2584         (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
2585         (UserObjectImp::UserObjectImp):
2586         (UserObjectImp::callAsFunction):
2587         (UserObjectImp::getPropertyNames):
2588         (UserObjectImp::userObjectGetter):
2589         (UserObjectImp::getOwnPropertySlot):
2590         (UserObjectImp::put):
2591         (UserObjectImp::toPrimitive):
2592         (UserObjectImp::mark):
2593         * UserObjectImp.h:
2594         * kxmlcore/FastMalloc.h: Added.
2595         * kxmlcore/HashSet.h: Added.
2596
2597 2005-09-14  Maciej Stachowiak  <mjs@apple.com>
2598
2599         Reviewed by Geoff.
2600
2601     - fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
2602
2603     Make sure to lock using the InterpreterLock class in all places that need it
2604     (including anything that uses the collector, the parser, the protect count hash table,
2605     and anything that allocates via fast_malloc).
2606
2607         * JSUtils.cpp:
2608         (CFStringToUString):
2609         (JSObjectKJSValue):
2610         (KJSValueToCFTypeInternal):
2611         * JSUtils.h:
2612         * JSValueWrapper.cpp:
2613         (JSValueWrapper::JSObjectCopyPropertyNames):
2614         (JSValueWrapper::JSObjectCopyProperty):
2615         (JSValueWrapper::JSObjectSetProperty):
2616         (JSValueWrapper::JSObjectCallFunction):
2617         (JSValueWrapper::JSObjectCopyCFValue):
2618         * JavaScriptGlue.cpp:
2619         (JSCollect):
2620
2621 2005-09-27  Adele Peterson  <adele@apple.com>
2622
2623         Reviewed by Maciej.
2624
2625         <rdar://problem/4223297> JavaScriptGlue: Submit 64-bit compatible versions of your API and SPIs by September 15
2626
2627         * JavaScriptGlue.h: Changed UInt32 to CFTypeID for JSTypeID
2628
2629 2005-09-06  Geoffrey Garen  <ggaren@apple.com>
2630
2631         -upgraded project files to XCode 2.1
2632
2633         * JavaScriptGlue.pbproj/project.pbxproj: Removed.
2634         * JavaScriptGlue.xcodeproj/.cvsignore: Added.
2635         * JavaScriptGlue.xcodeproj/project.pbxproj: Added.
2636
2637 2005-09-01  Maciej Stachowiak  <mjs@apple.com>
2638
2639         Rubber stamped by hyatt.
2640
2641     - initial import of JavaScriptGlue into our repository
2642
2643         * English.lproj/InfoPlist.strings: Added.
2644         * JSBase.cpp: Added.
2645         (JSBase::JSBase):
2646         (JSBase::~JSBase):
2647         (JSBase::Retain):
2648         (JSBase::Release):
2649         (JSBase::RetainCount):
2650         (JSBase::GetTypeID):
2651         (JSBase::CopyDescription):
2652         (JSBase::Equal):
2653         * JSBase.h: Added.
2654         * JSObject.cpp: Added.
2655         (JSUserObject::JSUserObject):
2656         (JSUserObject::~JSUserObject):
2657         (JSUserObject::CopyPropertyNames):
2658         (JSUserObject::CopyProperty):
2659         (JSUserObject::SetProperty):
2660         (JSUserObject::ImplementsCall):
2661         (JSUserObject::CallFunction):
2662         (JSUserObject::CopyCFValue):
2663         (JSUserObject::Equal):
2664         (JSUserObject::Mark):
2665         (JSUserObject::GetData):
2666         * JSObject.h: Added.
2667         (JSUserObject::DataType):
2668         * JSRun.cpp: Added.
2669         (JSRun::JSRun):
2670         (JSRun::~JSRun):
2671         (JSRun::Flags):
2672         (JSRun::GetSource):
2673         (JSRun::GlobalObject):
2674         (JSRun::GetInterpreter):
2675         (JSRun::Evaluate):
2676         (JSRun::CheckSyntax):
2677         * JSRun.h: Added.
2678         (JSInterpreter::JSInterpreter):
2679         (JSInterpreter::JSInterpreter::~JSInterpreter):
2680         (JSInterpreter::Flags):
2681         * JSUtils.cpp: Added.
2682         (CFStringToUString):
2683         (UStringToCFString):
2684         (CFStringToIdentifier):
2685         (IdentifierToCFString):
2686         (KJSValueToJSObject):
2687         (JSObjectKJSValue):
2688         (KJSValueToCFTypeInternal):
2689         (KJSValueToCFType):
2690         (GetCFNull):
2691         * JSUtils.h: Added.
2692         (RetainCFType):
2693         (ReleaseCFType):
2694         * JSValueWrapper.cpp: Added.
2695         (JSValueWrapper::JSValueWrapper):
2696         (JSValueWrapper::~JSValueWrapper):
2697         (JSValueWrapper::GetValue):
2698         (JSValueWrapper::GetExecState):
2699         (JSValueWrapper::GetJSObectCallBacks):
2700         (JSValueWrapper::JSObjectDispose):
2701         (JSValueWrapper::JSObjectCopyPropertyNames):
2702         (JSValueWrapper::JSObjectCopyProperty):
2703         (JSValueWrapper::JSObjectSetProperty):
2704         (JSValueWrapper::JSObjectCallFunction):
2705         (JSValueWrapper::JSObjectCopyCFValue):
2706         (JSValueWrapper::JSObjectMark):
2707         * JSValueWrapper.h: Added.
2708         * JavaScriptGlue.cpp: Added.
2709         (JSSetCFNull):
2710         (JSGetCFNull):
2711         (JSRetain):
2712         (JSRelease):
2713         (JSCopyDescription):
2714         (JSEqual):
2715         (JSGetTypeID):
2716         (JSGetRetainCount):
2717         (JSObjectCreate):
2718         (JSObjectCreateInternal):
2719         (JSObjectCopyCFValue):
2720         (JSObjectGetData):
2721         (JSObjectCopyProperty):
2722         (JSObjectSetProperty):
2723         (JSObjectCallFunction):
2724         (JSRunCreate):
2725         (JSRunCopySource):
2726         (JSRunCopyGlobalObject):
2727         (JSRunEvaluate):
2728         (JSRunCheckSyntax):
2729         (JSCollect):
2730         (JSTypeGetCFArrayCallBacks):
2731         (JSCFRetain):
2732         (JSCFRelease):
2733         (JSObjectCreateWithCFType):
2734         (CFJSObjectDispose):
2735         (JSObjectCopyPropertyNames):
2736         (CFJSObjectCopyProperty):
2737         (CFJSObjectSetProperty):
2738         (CFJSObjectCopyCFValue):
2739         (CFJSObjectEqual):
2740         (CFJSObjectCopyPropertyNames):
2741         (JSCreateCFArrayFromJSArray):
2742         (JSCreateJSArrayFromCFArray):
2743         (JSLockInterpreter):
2744         (JSUnlockInterpreter):
2745         * JavaScriptGlue.exp: Added.
2746         * JavaScriptGlue.h: Added.
2747         * JavaScriptGlue.pbproj/project.pbxproj: Added.
2748         * UserObjectImp.cpp: Added.
2749         (UserObjectPrototypeImp::UserObjectPrototypeImp):
2750         (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
2751         (UserObjectImp::UserObjectImp):
2752         (UserObjectImp::~UserObjectImp):
2753         (UserObjectImp::classInfo):
2754         (UserObjectImp::implementsCall):
2755         (UserObjectImp::call):
2756         (UserObjectImp::propList):
2757         (UserObjectImp::hasProperty):
2758         (UserObjectImp::get):
2759         (UserObjectImp::put):
2760         (UserObjectImp::GetJSUserObject):
2761         (UserObjectImp::toPrimitive):
2762         (UserObjectImp::toBoolean):
2763         (UserObjectImp::toNumber):
2764         (UserObjectImp::toString):
2765         (UserObjectImp::mark):
2766         * UserObjectImp.h: Added.
2767