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