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