50621bdcb21a4e45a572cb01ad35c3ca4db3c6e3
[WebKit-https.git] / JavaScriptGlue / ChangeLog
1 2006-06-12  Geoffrey Garen  <ggaren@apple.com>
2
3         Reviewed by TimO, Maciej.
4         
5         - JSGlue part of merging InterpreterImp into Interpreter.
6         
7         Since there's now a kjs forwarding header, I moved all forwarding
8         headers into a "ForwardingHeaders" directory, like in WebCore.
9
10         * ForwardingHeaders: Added.
11         * ForwardingHeaders/kjs: Added.
12         * ForwardingHeaders/kjs/ExecState.h: Added.
13         * ForwardingHeaders/wtf: Added.
14         * JavaScriptGlue.xcodeproj/project.pbxproj:
15         * config.h:
16         * wtf: Removed.
17         * wtf/AlwaysInline.h: Removed.
18         * wtf/Assertions.h: Removed.
19         * wtf/FastMalloc.h: Removed.
20         * wtf/Forward.h: Removed.
21         * wtf/HashCountedSet.h: Removed.
22         * wtf/HashSet.h: Removed.
23         * wtf/Noncopyable.h: Removed.
24         * wtf/OwnArrayPtr.h: Removed.
25         * wtf/OwnPtr.h: Removed.
26         * wtf/PassRefPtr.h: Removed.
27         * wtf/Platform.h: Removed.
28         * wtf/RefPtr.h: Removed.
29         * wtf/Vector.h: Removed.
30
31 === JavaScriptGlue-521.10 ===
32
33 2006-05-09  Maciej Stachowiak  <mjs@apple.com>
34
35         Rubber stamped by Anders.
36         
37         - renamed kxmlcore to wtf
38         
39         kxmlcore --> wtf
40         KXMLCore --> WTF
41         KXC --> WTF
42
43         * config.h:
44         * kxmlcore: Removed.
45         * kxmlcore/AlwaysInline.h: Removed.
46         * kxmlcore/Assertions.h: Removed.
47         * kxmlcore/FastMalloc.h: Removed.
48         * kxmlcore/Forward.h: Removed.
49         * kxmlcore/HashCountedSet.h: Removed.
50         * kxmlcore/HashSet.h: Removed.
51         * kxmlcore/Noncopyable.h: Removed.
52         * kxmlcore/OwnArrayPtr.h: Removed.
53         * kxmlcore/OwnPtr.h: Removed.
54         * kxmlcore/PassRefPtr.h: Removed.
55         * kxmlcore/Platform.h: Removed.
56         * kxmlcore/RefPtr.h: Removed.
57         * kxmlcore/Vector.h: Removed.
58         * wtf: Added.
59
60 2006-04-11  Darin Adler  <darin@apple.com>
61
62         - try to fix Windows build
63
64         * kxmlcore/HashForward.h: Removed.
65
66 2006-04-10  Darin Adler  <darin@apple.com>
67
68         Rubber-stamped by John Sullivan.
69
70         - added forwarding headers for the new Forward.h and HashForward.h files
71
72         * kxmlcore/Forward.h: Added.
73         * kxmlcore/HashForward.h: Added.
74
75 2006-04-04  Timothy Hatcher  <timothy@apple.com>
76
77         Reviewed by Darin.
78
79         The Debug and Release frameworks are now built with install paths relative to the build products directory.
80         This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. 
81
82         * JavaScriptGlue.xcodeproj/project.pbxproj:
83
84 2006-04-02  Eric Seidel  <eseidel@apple.com>
85
86         Reviewed by andersca.
87
88         Add missing forwarding header.
89
90         * kxmlcore/Vector.h: Added.
91
92 2006-03-31  Geoffrey Garen  <ggaren@apple.com>
93
94         Reviewed by Darin.
95
96         - Fixed <rdar://problem/4430836> JavaScript patch crashing Quartz
97         Composer
98
99         JSValueWrappers used to hold on to the ExecState that pertained at
100         the time of their creation. Since ExecStates are transient, that
101         design was totally bogus, and it would crash once the ExecState had
102         been deallocated.
103
104         Unfortunately, there's no clean solution to this problem, since
105         the JSGlue API has no notion of state. The solution here is to use
106         a shared, global ExecState for the purpose of JSGlue calls. Given
107         the pre-existing limitations in the JSGlue API, this design
108         shouldn't actually introduce any new limitations (see comments in
109         JSValueWrapper.cpp).
110
111         I tested with Quartz Composer and PAC files, neither of which are
112         layout-testable.
113         
114         * JSUtils.cpp:
115         (KJSValueToJSObject):
116         * JSValueWrapper.cpp:
117         (JSValueWrapper::JSValueWrapper):
118         (JSValueWrapper::GetValue):
119         (getProcessGlobalExecState):
120         (JSValueWrapper::JSObjectCopyPropertyNames):
121         (JSValueWrapper::JSObjectCopyProperty):
122         (JSValueWrapper::JSObjectSetProperty):
123         (JSValueWrapper::JSObjectCallFunction):
124         (JSValueWrapper::JSObjectCopyCFValue):
125         * JSValueWrapper.h:
126
127         Also added a test harness file. It was helpful while I was testing,
128         and may come in handy in the future:
129         
130         * JavaScriptGlue.xcodeproj/project.pbxproj:
131         testjsglue.cpp: Added.
132
133 2006-03-28  Darin Adler  <darin@apple.com>
134
135         Reviewed by Geoff.
136
137         - added a build step that checks for init routines
138
139         * JavaScriptGlue.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
140         check-for-global-initializers script.
141
142 2006-03-02  Maciej Stachowiak  <mjs@apple.com>
143
144         Not reviewed, but I noticed these trivial extra changes were needed to avoid
145         breaking the build with my reviewed patch for:
146         
147         http://bugzilla.opendarwin.org/show_bug.cgi?id=7387
148         
149         Add config.h, includes of it, and Platform.h forwarding header.
150
151         * JSBase.cpp:
152         * JSObject.cpp:
153         * JSRun.cpp:
154         * JSUtils.cpp:
155         * JSValueWrapper.cpp:
156         * JavaScriptGlue.cpp:
157         * UserObjectImp.cpp:
158         * config.h: Added.
159         * kxmlcore/Platform.h: Added.
160
161 === JavaScriptGlue-521.7 ===
162
163 2006-02-10  Geoffrey Garen  <ggaren@apple.com>
164
165         Reviewed by eric.
166
167         - Fixed build.
168
169         * UserObjectImp.cpp:
170         (UserObjectImp::toPrimitive):
171         * UserObjectImp.h:
172
173 2006-02-03  Timothy Hatcher  <timothy@apple.com>
174
175         Reviewed by Justin.
176
177         Renamed configuration names to Debug, Release and Production.
178
179         * JavaScriptGlue.xcodeproj/project.pbxproj:
180
181 2006-02-01  Darin Adler  <darin@apple.com>
182
183         - added some forwarding headers to make new JavaScriptCore changes work
184
185         * kxmlcore/Assertions.h: Added.
186         * kxmlcore/Noncopyable.h: Added.
187         * kxmlcore/OwnPtr.h: Added.
188         * kxmlcore/OwnArrayPtr.h: Added.
189
190 2006-01-16  Timothy Hatcher  <timothy@apple.com>
191
192         Adding the license header to all files so we can
193         move JavaScriptGlue into the open source repository.
194
195         * LICENSE: Added.
196         * JSBase.cpp: license header added.
197         * JSBase.h: ditto.
198         * JSObject.cpp: ditto.
199         * JSObject.h: ditto.
200         * JSRun.cpp: ditto.
201         * JSRun.h: ditto.
202         * JSUtils.cpp: ditto.
203         * JSUtils.h: ditto.
204         * JSValueWrapper.cpp: ditto.
205         * JSValueWrapper.h: ditto.
206         * JavaScriptGlue.cpp: ditto.
207         * JavaScriptGlue.h: ditto.
208         * UserObjectImp.cpp: ditto.
209         * UserObjectImp.h: ditto.
210
211 2005-12-21  Timothy Hatcher  <timothy@apple.com>
212
213         * JavaScriptGlue.xcodeproj/project.pbxproj:
214           Set tab width to 8, indent width to 4 and uses tabs to false per file.
215
216 2005-12-19  Darin Adler  <darin@apple.com>
217
218         Reviewed by Geoff Garen and Eric Seidel.
219
220         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4923
221           stop using <ostream> in WebCore, eliminating the <cmath> troubles it causes
222
223         * kxmlcore/AlwaysInline.h: Added.
224
225 2005-12-15  Darin Adler  <darin@apple.com>
226
227         Reviewed by Maciej.
228
229         * JSRun.cpp: (JSRun::Evaluate): Updated for change to Interpreter::evaluate.
230
231 2005-12-15  Darin Adler  <darin@apple.com>
232
233         Reviewed by Tim Hatcher.
234
235         * JavaScriptGlue.xcodeproj/project.pbxproj: Removed some redundant build
236         settings, turned off prebinding explicitly for our Development and
237         Deployment builds, remove .exp file from sources. All "clean-up".
238
239 === Safari-521~5 ===
240
241 2005-12-13  Geoffrey Garen  <ggaren@apple.com>
242
243     - Fixed build after Anders's last checkin to JavaScriptCore.
244     
245         Reviewed by darin.
246
247         * UserObjectImp.cpp:
248         (UserObjectImp::userObjectGetter): Updated to reflect new argument that 
249     getters take (unused here).
250         * UserObjectImp.h:
251
252 2005-12-13  Maciej Stachowiak  <mjs@apple.com>
253
254         Reviewed by Eric.
255
256     - added forwarding header for HashCountedSet
257
258         * kxmlcore/HashCountedSet.h: Added.
259
260 2005-12-10  Darin Adler  <darin@apple.com>
261
262         Rubber stamped by Maciej.
263
264         - updated for KJS class renaming
265
266         * many files and functions
267
268 2005-12-10  Darin Adler  <darin@apple.com>
269
270         Reviewed by Maciej.
271
272         - eliminated the old Undefined(), Null(), Boolean(), Number(), and String()
273
274         Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString().
275
276         * JSUtils.cpp:
277         (JSObjectKJSValue):
278         * UserObjectImp.cpp:
279         (UserObjectImp::callAsFunction):
280         (UserObjectImp::toPrimitive):
281
282 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
283
284         - added new forwarding headers
285
286         * kxmlcore/PassRefPtr.h: Added.
287         * kxmlcore/RefPtr.h: Added.
288
289 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
290
291         * kxmlcore/PassRefPtr.h: Added.
292
293 2005-11-26  Maciej Stachowiak  <mjs@apple.com>
294
295         Rubber stamped by Eric.
296
297     - renamed InterpreterLock to JSLock
298
299         * JSUtils.cpp:
300         (CFStringToUString):
301         (JSObjectKJSValue):
302         (KJSValueToCFTypeInternal):
303         * JSValueWrapper.cpp:
304         (JSValueWrapper::JSObjectCopyPropertyNames):
305         (JSValueWrapper::JSObjectCopyProperty):
306         (JSValueWrapper::JSObjectSetProperty):
307         (JSValueWrapper::JSObjectCallFunction):
308         (JSValueWrapper::JSObjectCopyCFValue):
309         * JavaScriptGlue.cpp:
310         (JSRunCreate):
311         (JSCollect):
312         (JSLockInterpreter):
313         (JSUnlockInterpreter):
314         * UserObjectImp.cpp:
315         (UserObjectImp::callAsFunction):
316
317 2005-11-16  Maciej Stachowiak  <mjs@apple.com>
318
319         Reviewed by Geoff.
320
321     Updated to use new API to drop all locks.
322
323         * JavaScriptGlue.cpp:
324         (JSLockInterpreter):
325         (JSUnlockInterpreter):
326         * UserObjectImp.cpp:
327         (UserObjectImp::callAsFunction):
328
329 2005-11-14  Geoffrey Garen  <ggaren@apple.com>
330
331         Reviewed by mjs.
332
333         - Part of the fix for <rdar://problem/4342216> Installer crash in 
334           KJS::ValueImp::marked() when garbage collector runs inside call to 
335           ConstantValues::init()
336           
337         Added locking in JSRunCreate, since JSRun::JSRun constructs an object.
338         
339         * JavaScriptGlue.cpp:
340         (JSRunCreate):
341
342 2005-11-10  Geoffrey Garen  <ggaren@apple.com>
343
344         Reviewed by Maciej.
345
346         - Fixed <rdar://problem/4334445> installer crashed on my 
347           dual g4 450Mhz after clicking language
348
349         - Reversed backwards NULL check.
350         - Inserted guards against NULL fJSUserObject data member.
351         - Cleaned up some style.
352
353         * JSUtils.cpp:
354         (KJSValueToCFTypeInternal):
355         * UserObjectImp.cpp:
356         (UserObjectImp::~UserObjectImp):
357         (UserObjectImp::callAsFunction):
358         (UserObjectImp::userObjectGetter):
359         (UserObjectImp::getOwnPropertySlot):
360         (UserObjectImp::put):
361         (UserObjectImp::mark):
362
363 2005-11-04  Timothy Hatcher  <timothy@apple.com>
364
365         Reviewed by Darin.
366
367         * JavaScriptGlue.xcodeproj/project.pbxproj:
368           Fixed the FRAMEWORK_SEARCH_PATHS to look in the WebKit
369           Frameworks for the Default config.
370
371 2005-11-03  Timothy Hatcher  <timothy@apple.com>
372
373         Reviewed by Darin and Vicki.
374
375         * JavaScriptGlue.xcodeproj/project.pbxproj:
376           Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
377           $(NEXT_ROOT) in a few spots to make build-root work.
378
379 2005-11-01  Maciej Stachowiak  <mjs@apple.com>
380
381     Reviewed by: Eric.
382     
383         <rdar://problem/4324107> get JavaScriptGlue working with TOT JavaScriptCore again
384
385     - reverted all this stuff to use ReferenceList instead of IdentifierSequencedSet
386
387         * JSUtils.cpp:
388         (KJSValueToCFTypeInternal):
389         * JSValueWrapper.cpp:
390         (JSValueWrapper::JSObjectCopyPropertyNames):
391         * UserObjectImp.cpp:
392         (UserObjectImp::propList):
393         * UserObjectImp.h:
394
395 2005-10-11  Timothy Hatcher  <timothy@apple.com>
396
397         Setup the proper Framework search path for the Default config.
398         Prepping for a TOT submission and build by B&I.
399
400         * JavaScriptGlue.xcodeproj/project.pbxproj:
401
402 2005-10-10  Darin Adler  <darin@apple.com>
403
404         Reviewed by Eric.
405
406         - converted tabs to spaces, NULL to 0, added some (void), got rid of __ prefixes
407           in headers (reserved for compiler/library)
408
409         * Info.plist:
410         * JSBase.cpp:
411         * JSBase.h:
412         * JSObject.cpp:
413         * JSObject.h:
414         * JSRun.cpp:
415         * JSRun.h:
416         * JSUtils.cpp:
417         * JSUtils.h:
418         * JSValueWrapper.cpp:
419         * JSValueWrapper.h:
420         * JavaScriptGlue.cpp:
421         * JavaScriptGlue.h:
422         * UserObjectImp.cpp:
423         * UserObjectImp.h:
424
425 2005-10-10  Darin Adler  <darin@apple.com>
426
427         * .cvsignore: Added. Ignore Makefile.in and Makefile.
428
429 2005-10-07  Timothy Hatcher  <timothy@apple.com>
430
431         Reviewed by Maciej.
432         
433         Build fix, needed to disable RTTI. Upgraded to a native target.
434
435         * JavaScriptGlue.xcodeproj/project.pbxproj:
436         * Info.plist
437
438 2005-10-05  Maciej Stachowiak  <mjs@apple.com>
439
440         Reviewed by Eric and Darin.
441
442     <rdar://problem/4260506> Port JavaScriptGlue to TOT JavaScriptCore
443
444         * JSRun.cpp:
445         (JSRun::JSRun):
446         (JSRun::GlobalObject):
447         * JSRun.h:
448         (JSInterpreter::JSInterpreter):
449         * JSUtils.cpp:
450         (KJSValueToJSObject):
451         (JSObjectKJSValue):
452         (KJSValueToCFTypeInternal):
453         (KJSValueToCFType):
454         * JSUtils.h:
455         * JSValueWrapper.cpp:
456         (JSValueWrapper::JSValueWrapper):
457         (JSValueWrapper::GetValue):
458         (JSValueWrapper::JSObjectCopyPropertyNames):
459         (JSValueWrapper::JSObjectCopyProperty):
460         (JSValueWrapper::JSObjectSetProperty):
461         (JSValueWrapper::JSObjectCallFunction):
462         (JSValueWrapper::JSObjectMark):
463         * JSValueWrapper.h:
464         * JavaScriptGlue.cpp:
465         (JSRunCopyGlobalObject):
466         * JavaScriptGlue.xcodeproj/project.pbxproj:
467         * Makefile.am: Added.
468         * UserObjectImp.cpp:
469         (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
470         (UserObjectImp::UserObjectImp):
471         (UserObjectImp::callAsFunction):
472         (UserObjectImp::getPropertyNames):
473         (UserObjectImp::userObjectGetter):
474         (UserObjectImp::getOwnPropertySlot):
475         (UserObjectImp::put):
476         (UserObjectImp::toPrimitive):
477         (UserObjectImp::mark):
478         * UserObjectImp.h:
479         * kxmlcore/FastMalloc.h: Added.
480         * kxmlcore/HashSet.h: Added.
481
482 2005-09-14  Maciej Stachowiak  <mjs@apple.com>
483
484         Reviewed by Geoff.
485
486     - fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
487
488     Make sure to lock using the InterpreterLock class in all places that need it
489     (including anything that uses the collector, the parser, the protect count hash table,
490     and anything that allocates via fast_malloc).
491
492         * JSUtils.cpp:
493         (CFStringToUString):
494         (JSObjectKJSValue):
495         (KJSValueToCFTypeInternal):
496         * JSUtils.h:
497         * JSValueWrapper.cpp:
498         (JSValueWrapper::JSObjectCopyPropertyNames):
499         (JSValueWrapper::JSObjectCopyProperty):
500         (JSValueWrapper::JSObjectSetProperty):
501         (JSValueWrapper::JSObjectCallFunction):
502         (JSValueWrapper::JSObjectCopyCFValue):
503         * JavaScriptGlue.cpp:
504         (JSCollect):
505
506 2005-09-27  Adele Peterson  <adele@apple.com>
507
508         Reviewed by Maciej.
509
510         <rdar://problem/4223297> JavaScriptGlue: Submit 64-bit compatible versions of your API and SPIs by September 15
511
512         * JavaScriptGlue.h: Changed UInt32 to CFTypeID for JSTypeID
513
514 2005-09-06  Geoffrey Garen  <ggaren@apple.com>
515
516         -upgraded project files to XCode 2.1
517
518         * JavaScriptGlue.pbproj/project.pbxproj: Removed.
519         * JavaScriptGlue.xcodeproj/.cvsignore: Added.
520         * JavaScriptGlue.xcodeproj/project.pbxproj: Added.
521
522 2005-09-01  Maciej Stachowiak  <mjs@apple.com>
523
524         Rubber stamped by hyatt.
525
526     - initial import of JavaScriptGlue into our repository
527
528         * English.lproj/InfoPlist.strings: Added.
529         * JSBase.cpp: Added.
530         (JSBase::JSBase):
531         (JSBase::~JSBase):
532         (JSBase::Retain):
533         (JSBase::Release):
534         (JSBase::RetainCount):
535         (JSBase::GetTypeID):
536         (JSBase::CopyDescription):
537         (JSBase::Equal):
538         * JSBase.h: Added.
539         * JSObject.cpp: Added.
540         (JSUserObject::JSUserObject):
541         (JSUserObject::~JSUserObject):
542         (JSUserObject::CopyPropertyNames):
543         (JSUserObject::CopyProperty):
544         (JSUserObject::SetProperty):
545         (JSUserObject::ImplementsCall):
546         (JSUserObject::CallFunction):
547         (JSUserObject::CopyCFValue):
548         (JSUserObject::Equal):
549         (JSUserObject::Mark):
550         (JSUserObject::GetData):
551         * JSObject.h: Added.
552         (JSUserObject::DataType):
553         * JSRun.cpp: Added.
554         (JSRun::JSRun):
555         (JSRun::~JSRun):
556         (JSRun::Flags):
557         (JSRun::GetSource):
558         (JSRun::GlobalObject):
559         (JSRun::GetInterpreter):
560         (JSRun::Evaluate):
561         (JSRun::CheckSyntax):
562         * JSRun.h: Added.
563         (JSInterpreter::JSInterpreter):
564         (JSInterpreter::JSInterpreter::~JSInterpreter):
565         (JSInterpreter::Flags):
566         * JSUtils.cpp: Added.
567         (CFStringToUString):
568         (UStringToCFString):
569         (CFStringToIdentifier):
570         (IdentifierToCFString):
571         (KJSValueToJSObject):
572         (JSObjectKJSValue):
573         (KJSValueToCFTypeInternal):
574         (KJSValueToCFType):
575         (GetCFNull):
576         * JSUtils.h: Added.
577         (RetainCFType):
578         (ReleaseCFType):
579         * JSValueWrapper.cpp: Added.
580         (JSValueWrapper::JSValueWrapper):
581         (JSValueWrapper::~JSValueWrapper):
582         (JSValueWrapper::GetValue):
583         (JSValueWrapper::GetExecState):
584         (JSValueWrapper::GetJSObectCallBacks):
585         (JSValueWrapper::JSObjectDispose):
586         (JSValueWrapper::JSObjectCopyPropertyNames):
587         (JSValueWrapper::JSObjectCopyProperty):
588         (JSValueWrapper::JSObjectSetProperty):
589         (JSValueWrapper::JSObjectCallFunction):
590         (JSValueWrapper::JSObjectCopyCFValue):
591         (JSValueWrapper::JSObjectMark):
592         * JSValueWrapper.h: Added.
593         * JavaScriptGlue.cpp: Added.
594         (JSSetCFNull):
595         (JSGetCFNull):
596         (JSRetain):
597         (JSRelease):
598         (JSCopyDescription):
599         (JSEqual):
600         (JSGetTypeID):
601         (JSGetRetainCount):
602         (JSObjectCreate):
603         (JSObjectCreateInternal):
604         (JSObjectCopyCFValue):
605         (JSObjectGetData):
606         (JSObjectCopyProperty):
607         (JSObjectSetProperty):
608         (JSObjectCallFunction):
609         (JSRunCreate):
610         (JSRunCopySource):
611         (JSRunCopyGlobalObject):
612         (JSRunEvaluate):
613         (JSRunCheckSyntax):
614         (JSCollect):
615         (JSTypeGetCFArrayCallBacks):
616         (JSCFRetain):
617         (JSCFRelease):
618         (JSObjectCreateWithCFType):
619         (CFJSObjectDispose):
620         (JSObjectCopyPropertyNames):
621         (CFJSObjectCopyProperty):
622         (CFJSObjectSetProperty):
623         (CFJSObjectCopyCFValue):
624         (CFJSObjectEqual):
625         (CFJSObjectCopyPropertyNames):
626         (JSCreateCFArrayFromJSArray):
627         (JSCreateJSArrayFromCFArray):
628         (JSLockInterpreter):
629         (JSUnlockInterpreter):
630         * JavaScriptGlue.exp: Added.
631         * JavaScriptGlue.h: Added.
632         * JavaScriptGlue.pbproj/project.pbxproj: Added.
633         * UserObjectImp.cpp: Added.
634         (UserObjectPrototypeImp::UserObjectPrototypeImp):
635         (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
636         (UserObjectImp::UserObjectImp):
637         (UserObjectImp::~UserObjectImp):
638         (UserObjectImp::classInfo):
639         (UserObjectImp::implementsCall):
640         (UserObjectImp::call):
641         (UserObjectImp::propList):
642         (UserObjectImp::hasProperty):
643         (UserObjectImp::get):
644         (UserObjectImp::put):
645         (UserObjectImp::GetJSUserObject):
646         (UserObjectImp::toPrimitive):
647         (UserObjectImp::toBoolean):
648         (UserObjectImp::toNumber):
649         (UserObjectImp::toString):
650         (UserObjectImp::mark):
651         * UserObjectImp.h: Added.
652