Fixed Radar 2928775 - Sherlock crashes sitting in stocks channel
[WebKit-https.git] / JavaScriptCore / ChangeLog-2003-10-25
1 2002-05-21  Maciej Stachowiak  <mjs@apple.com>
2
3         Fixed Radar 2928775 - Sherlock crashes sitting in stocks channel
4
5         * kjs/internal.cpp:
6         (InterpreterImp::InterpreterImp): Set the interp pointer earlier,
7         in case garbage collection takes place while creating the global
8         values.
9
10 2002-05-15  Darin Adler  <darin@apple.com>
11
12         * Makefile.am:
13         Use all-am and clean-am instead of all and clean because it's better and
14         to make "make check" at the top level work right.
15
16 2002-05-13  Darin Adler  <darin@apple.com>
17
18         * kjs/value.h: Fix comment typos.
19
20 === JavaScriptCore-4 ===
21
22 2002-05-10  Maciej Stachowiak  <mjs@apple.com>
23
24         Reviewed by: Ken Kocienda and Darin Adler
25
26         Fixed the following bug:
27
28         Radar 2890573 - JavaScriptCore needs to be thread-safe
29
30         Actually this is only a weak form of thread-safety - you can safely
31         use different interpreters from different threads at the same
32         time. If you try to use a single interpreter object from multiple
33         threads, you need to provide your own locking.
34
35         * kjs/collector.h, kjs/collector.cpp:
36         (Collector::lock, Collector::unlock): Trivial implementation of a
37         recursive mutex.
38         (Collector::allocate): Lock around the body of this function.
39         (Collector::collect): Likewise.
40         (Collector::finalCheck): Likewise.
41         (Collector::numInterpreters): Likewise.
42         (Collector::numGCNotAllowedObjects): Likewise.
43         (Collector::numReferencedObjects): Likewise.
44         * kjs/internal.cpp:
45         (Parser::parse): use a mutex to lock around the whole parse, since
46         it uses a bunch of global state.
47         (InterpreterImp::InterpreterImp): Grab the Collector lock here,
48         both the mutually exclude calls to the body of this function, and
49         to protect the s_hook static member which the collector pokes at.
50         (InterpreterImp::clear): Likewise.
51         * kjs/ustring.cpp:
52         (statBufferKeyCleanup, statBufferKeyInit, UString::ascii): Convert
53         use of static variable
54         * kjs/value.cpp:
55         (ValueImp::ValueImp, ValueImp::mark, ValueImp::marked,
56         ValueImp::setGcAllowed): Grab the GC lock around any flag changes.
57
58 === Alexander-3 ===
59
60 2002-05-08  Darin Adler  <darin@apple.com>
61
62         * kjs/collector.h:
63         * kjs/collector.cpp:
64         (Collector::numInterpreters):
65         (Collector::numGCNotAllowedObjects):
66         (Collector::numReferencedObjects):
67         Add three new functions so we can see a bit more about leaking JavaScriptCore.
68
69 2002-05-06  Darin Adler  <darin@apple.com>
70
71         * JavaScriptCorePrefix.h: Added.
72         * JavaScriptCore.pbproj/project.pbxproj: Use PFE precompiling.
73         Also switch from xNDEBUG to NDEBUG.
74
75 === Alexander 0.3c2 (v1) ===
76
77 2002-04-18  Darin Adler  <darin@apple.com>
78
79         * JavaScriptCore.pbproj/project.pbxproj: Oops. Take out -Wstrict-prototypes, put back
80         -Wmissing-prototypes.
81
82 2002-04-18  Darin Adler  <darin@apple.com>
83
84         * JavaScriptCore.pbproj/project.pbxproj: Take out -Wmissing-prototypes
85         because system headers are triggering it when we don't have
86         precompiled headers on.
87
88 2002-04-18  Darin Adler  <darin@apple.com>
89
90         Reviewed by Maciej
91
92         * JavaScriptCore.pbproj/project.pbxproj: Turn on gcc3 and the same set of warnings
93         as in the rest of Labyrinth (see top level ChangeLog for details).
94
95 2002-04-17  Maciej Stachowiak  <mjs@apple.com>
96
97         Reviewed by: Darin Adler  <darin@apple.com>
98
99         * kjs/testkjs.cpp: Don't include <iostream.h> to avoid gcc3
100         warning.
101
102 2002-04-15  Darin Adler  <darin@apple.com>
103
104         Reviwed by: Maciej Stachowiak  <mjs@apple.com>
105
106         * kjs/internal.cpp:
107         * kjs/property_map.cpp:
108         * kjs/ustring.h:
109         Removed some unneeded <config.h> includes so we are more similar
110         to the real KDE sources.
111
112 2002-04-15  Darin Adler  <darin@apple.com>
113
114         Reviwed by: Maciej Stachowiak  <mjs@apple.com>
115
116         Merged changes from KDE 3.0 final and did some build fixes.
117
118         * JavaScriptCore.pbproj/project.pbxproj: Added nodes2string.cpp.
119
120         * kjs/grammar.*: Regenerated.
121         * kjs/*.lut.h: Regenerated.
122
123 2002-04-08  Darin Adler  <darin@apple.com>
124
125         Reviwed by: Maciej Stachowiak  <mjs@apple.com>
126
127         * JavaScriptCore.pbproj/project.pbxproj: Re-added -Wno-format-y2k.
128
129 2002-04-04  Darin Adler  <darin@apple.com>
130
131         * JavaScriptCore.pbproj/project.pbxproj: Add an Unoptimized build
132         style: exactly like Development except without the -O.
133
134 2002-04-03  Darin Adler  <darin@apple.com>
135
136         * kjs/Makefile.am: Gratuitous cleanup.
137
138 2002-04-02  Darin Adler  <darin@apple.com>
139
140         * JavaScriptCore.pbproj/project.pbxproj: Update flags as I did for
141         WebFoundation.
142
143 2002-04-02  Maciej Stachowiak  <mjs@apple.com>
144
145         * JavaScriptCore.pbproj/project.pbxproj: Pass -Wno-format-y2k so
146         the project builds with gcc3.
147         
148         * kjs/nodes.cpp: Avoid including an obsolete header to avoid
149         warning with gcc3.
150
151 2002-04-02  Darin Adler  <darin@apple.com>
152
153         * kjs/property_map.cpp: (PropertyMap::~PropertyMap): Deallocate the
154         map by calling clear so we don't leak the entire map.
155
156 2002-04-02  Darin Adler  <darin@apple.com>
157
158         * kjs/internal.cpp: (InterpreterImp::globalClear): Add code to
159         deallocate and null out emptyList, because once the last interpreter
160         is destroyed there's nothing to keep it from being garbage collected.
161
162 2002-04-01  Darin Adler  <darin@apple.com>
163
164         Got rid of KWQDef.h because it's dangerous to have two files with
165         the same name and different contents.
166
167         * JavaScriptCore.pbproj/project.pbxproj:
168         * kjs/KWQDef.h: Removed.
169         * kjs/ustring.h: Defines unsigned int types inline now.
170
171 2002-03-30  Maciej Stachowiak  <mjs@apple.com>
172
173         Fixed Radar 2891272 (JavaScript crashes loading quicktime.com and
174         apple.com)
175
176         * kjs/object.cpp: (ObjectImp::~ObjectImp): Don't call setGCAlloc
177         on object internals pointed to, because they may have already been
178         collected by the time this object is collected, and in that case
179         we would corrupt the malloc arena.
180
181         * Makefile.am: Make the stamp file depend on all the sources and
182         headers so the framework gets rebuilt properly.
183
184         * JavaScriptCore.pbproj/project.pbxproj: Some random numbers moved
185         around. No idea what I really changed.
186
187 2002-03-30  Darin Adler  <darin@apple.com>
188
189         * kjs/grammar.y: Took out Id tag so we won't constantly need to
190         update grammar.cpp.
191         * kjs/grammar.cpp: Regenerated without Id tag.
192
193         * .cvsignore: Ignore some additional autogenerated files.
194         * kjs/.cvsignore: Ignore some additional autogenerated files.
195
196 2002-03-30  Maciej Stachowiak  <mjs@apple.com>
197
198         * JavaScriptCore.pbproj/project.pbxproj: Install some of the
199         headers.
200
201 2002-03-30  Maciej Stachowiak  <mjs@apple.com>
202
203         Converted JavaScriptCore to build with Project Builder, in
204         preparation for B&I submission.
205
206         * English.lproj/InfoPlist.strings: Added.
207         * JavaScriptCore.pbproj/.cvsignore: Added.
208         * JavaScriptCore.pbproj/project.pbxproj: Added.
209         
210         * .cvsignore: Update the set of ignored things.
211
212         * Makefile.am: Hand off to PB for the main build, but still handle
213         the generated files and the test program.
214
215         * kjs/Makefile.am: Don't build anything except the generated
216         source files.
217
218         * kjs/KWQDef.h, kjs/config.h: Added minimal versions of these
219         files to get kjs to build.
220
221         Check in all the genrated files, since Project Builder isn't up to
222         the task of handling built sources:
223         
224         * kjs/array_object.lut.h: Added.
225         * kjs/date_object.lut.h: Added.
226         * kjs/grammar.cpp: Added.
227         * kjs/grammar.cpp.h: Added.
228         * kjs/grammar.h: Added.
229         * kjs/lexer.lut.h: Added.
230         * kjs/math_object.lut.h: Added.
231         * kjs/number_object.lut.h: Added.
232         * kjs/string_object.lut.h: Added.
233
234         * kjs/.cvsignore: Update set of ignored things.
235
236 2002-03-28  Maciej Stachowiak  <mjs@apple.com>
237
238         * kjs/kjs-test.chk: Update output for new test results.
239
240 2002-03-26  Maciej Stachowiak  <mjs@apple.com>
241
242         Set up kjs to build by itself into libJavaScriptCore.dylib.
243         
244         * .cvsignore: Added.
245         * Makefile.am: Added.
246         * dummy.cpp: Added.
247         * kjs/.cvsignore: Added.