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