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