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