1 2002-05-21 Maciej Stachowiak <mjs@apple.com>
3 Fixed Radar 2928775 - Sherlock crashes sitting in stocks channel
6 (InterpreterImp::InterpreterImp): Set the interp pointer earlier,
7 in case garbage collection takes place while creating the global
10 2002-05-15 Darin Adler <darin@apple.com>
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.
16 2002-05-13 Darin Adler <darin@apple.com>
18 * kjs/value.h: Fix comment typos.
20 === JavaScriptCore-4 ===
22 2002-05-10 Maciej Stachowiak <mjs@apple.com>
24 Reviewed by: Ken Kocienda and Darin Adler
26 Fixed the following bug:
28 Radar 2890573 - JavaScriptCore needs to be thread-safe
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.
35 * kjs/collector.h, kjs/collector.cpp:
36 (Collector::lock, Collector::unlock): Trivial implementation of a
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.
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.
52 (statBufferKeyCleanup, statBufferKeyInit, UString::ascii): Convert
53 use of static variable
55 (ValueImp::ValueImp, ValueImp::mark, ValueImp::marked,
56 ValueImp::setGcAllowed): Grab the GC lock around any flag changes.
60 2002-05-08 Darin Adler <darin@apple.com>
64 (Collector::numInterpreters):
65 (Collector::numGCNotAllowedObjects):
66 (Collector::numReferencedObjects):
67 Add three new functions so we can see a bit more about leaking JavaScriptCore.
69 2002-05-06 Darin Adler <darin@apple.com>
71 * JavaScriptCorePrefix.h: Added.
72 * JavaScriptCore.pbproj/project.pbxproj: Use PFE precompiling.
73 Also switch from xNDEBUG to NDEBUG.
75 === Alexander 0.3c2 (v1) ===
77 2002-04-18 Darin Adler <darin@apple.com>
79 * JavaScriptCore.pbproj/project.pbxproj: Oops. Take out -Wstrict-prototypes, put back
82 2002-04-18 Darin Adler <darin@apple.com>
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.
88 2002-04-18 Darin Adler <darin@apple.com>
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).
95 2002-04-17 Maciej Stachowiak <mjs@apple.com>
97 Reviewed by: Darin Adler <darin@apple.com>
99 * kjs/testkjs.cpp: Don't include <iostream.h> to avoid gcc3
102 2002-04-15 Darin Adler <darin@apple.com>
104 Reviwed by: Maciej Stachowiak <mjs@apple.com>
107 * kjs/property_map.cpp:
109 Removed some unneeded <config.h> includes so we are more similar
110 to the real KDE sources.
112 2002-04-15 Darin Adler <darin@apple.com>
114 Reviwed by: Maciej Stachowiak <mjs@apple.com>
116 Merged changes from KDE 3.0 final and did some build fixes.
118 * JavaScriptCore.pbproj/project.pbxproj: Added nodes2string.cpp.
120 * kjs/grammar.*: Regenerated.
121 * kjs/*.lut.h: Regenerated.
123 2002-04-08 Darin Adler <darin@apple.com>
125 Reviwed by: Maciej Stachowiak <mjs@apple.com>
127 * JavaScriptCore.pbproj/project.pbxproj: Re-added -Wno-format-y2k.
129 2002-04-04 Darin Adler <darin@apple.com>
131 * JavaScriptCore.pbproj/project.pbxproj: Add an Unoptimized build
132 style: exactly like Development except without the -O.
134 2002-04-03 Darin Adler <darin@apple.com>
136 * kjs/Makefile.am: Gratuitous cleanup.
138 2002-04-02 Darin Adler <darin@apple.com>
140 * JavaScriptCore.pbproj/project.pbxproj: Update flags as I did for
143 2002-04-02 Maciej Stachowiak <mjs@apple.com>
145 * JavaScriptCore.pbproj/project.pbxproj: Pass -Wno-format-y2k so
146 the project builds with gcc3.
148 * kjs/nodes.cpp: Avoid including an obsolete header to avoid
151 2002-04-02 Darin Adler <darin@apple.com>
153 * kjs/property_map.cpp: (PropertyMap::~PropertyMap): Deallocate the
154 map by calling clear so we don't leak the entire map.
156 2002-04-02 Darin Adler <darin@apple.com>
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.
162 2002-04-01 Darin Adler <darin@apple.com>
164 Got rid of KWQDef.h because it's dangerous to have two files with
165 the same name and different contents.
167 * JavaScriptCore.pbproj/project.pbxproj:
168 * kjs/KWQDef.h: Removed.
169 * kjs/ustring.h: Defines unsigned int types inline now.
171 2002-03-30 Maciej Stachowiak <mjs@apple.com>
173 Fixed Radar 2891272 (JavaScript crashes loading quicktime.com and
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.
181 * Makefile.am: Make the stamp file depend on all the sources and
182 headers so the framework gets rebuilt properly.
184 * JavaScriptCore.pbproj/project.pbxproj: Some random numbers moved
185 around. No idea what I really changed.
187 2002-03-30 Darin Adler <darin@apple.com>
189 * kjs/grammar.y: Took out Id tag so we won't constantly need to
191 * kjs/grammar.cpp: Regenerated without Id tag.
193 * .cvsignore: Ignore some additional autogenerated files.
194 * kjs/.cvsignore: Ignore some additional autogenerated files.
196 2002-03-30 Maciej Stachowiak <mjs@apple.com>
198 * JavaScriptCore.pbproj/project.pbxproj: Install some of the
201 2002-03-30 Maciej Stachowiak <mjs@apple.com>
203 Converted JavaScriptCore to build with Project Builder, in
204 preparation for B&I submission.
206 * English.lproj/InfoPlist.strings: Added.
207 * JavaScriptCore.pbproj/.cvsignore: Added.
208 * JavaScriptCore.pbproj/project.pbxproj: Added.
210 * .cvsignore: Update the set of ignored things.
212 * Makefile.am: Hand off to PB for the main build, but still handle
213 the generated files and the test program.
215 * kjs/Makefile.am: Don't build anything except the generated
218 * kjs/KWQDef.h, kjs/config.h: Added minimal versions of these
219 files to get kjs to build.
221 Check in all the genrated files, since Project Builder isn't up to
222 the task of handling built sources:
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.
234 * kjs/.cvsignore: Update set of ignored things.
236 2002-03-28 Maciej Stachowiak <mjs@apple.com>
238 * kjs/kjs-test.chk: Update output for new test results.
240 2002-03-26 Maciej Stachowiak <mjs@apple.com>
242 Set up kjs to build by itself into libJavaScriptCore.dylib.
245 * Makefile.am: Added.
247 * kjs/.cvsignore: Added.