blob: c73d5ae77618c0d6b8385c5fbdc440a53474df0b [file] [log] [blame]
kasperl@chromium.org9bbf9682008-10-30 11:53:07 +000012008-10-30: Version 0.4.2
2
3 Improved performance of Array.prototype.concat by moving the
4 implementation to C++ (issue 123).
5
6 Fixed heap growth policy to avoid growing old space to its maximum
7 capacity before doing a garbage collection and fixed issue that
8 would lead to artificial out of memory situations (issue 129).
9
10 Fixed Date.prototype.toLocaleDateString to return the date in the
11 same format as WebKit.
12
13 Added missing initialization checks to debugger API.
14
15 Added removing of unused maps during GC.
16
17
kasperl@chromium.org9fe21c62008-10-28 08:53:51 +0000182008-10-28: Version 0.4.1
19
20 Added caching of RegExp data in compilation cache.
21
22 Added Visual Studio project file for d8 shell.
23
24 Fixed function call performance regression introduced in version
25 0.4.0 when splitting the global object in two parts (issue 120).
26
27 Fixed issue 131 by checking for empty handles before throwing and
28 reporting exceptions.
29
30
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +0000312008-10-23: Version 0.4.0
32
33 Split the global object into two parts: The state holding global
34 object and the global object proxy.
35
36 Fixed bug that affected the value of an assignment to an element
37 in certain cases (issue 116).
38
39 Added GetPropertyNames functionality (issue 33) and extra Date
40 functions (issue 77) to the API.
41
42 Changed WeakReferenceCallback to take a Persistent<Value> instead
43 of a Persistent<Object> (issue 101).
44
45 Fixed issues with message reporting for exceptions in try-finally
46 blocks (issues 73 and 75).
47
48 Optimized flattening of strings and string equality checking.
49
50 Improved Boyer-Moore implementation for faster indexOf operations.
51
52 Added development shell (d8) which includes counters and
53 completion support.
54
55 Fixed problem with the receiver passed to functions called from
56 eval (issue 124).
57
58
ager@chromium.org7c537e22008-10-16 08:43:32 +0000592008-10-16: Version 0.3.5
60
61 Improved string hash-code distribution by excluding bit-field bits
62 from the hash-code.
63
64 Changed string search algorithm used in indexOf from KMP to
65 Boyer-Moore.
66
67 Improved the generated code for the instanceof operator.
68
69 Improved performance of slow-case string equality checks by
70 specializing the code based on the string representation.
71
72 Improve the handling of out-of-memory situations (issue 70).
73
74 Improved performance of strict equality checks.
75
76 Improved profiler output to make it easier to see anonymous
77 functions.
78
79 Improved performance of slow-case keyed loads.
80
81 Improved property access performance by allocating a number of
82 properties in the front object.
83
84 Changed the toString behavior on the built-in object constructors
85 to print [native code] instead of the actual source. Some web
86 applications do not like constructors with complex toString
87 results.
88
89
kasperl@chromium.org41044eb2008-10-06 08:24:46 +0000902008-10-06: Version 0.3.4
91
92 Changed Array.prototype.sort to use quick sort.
93
94 Fixed code generation issue where leaving a finally block with
95 break or continue would accumulate elements on the expression
96 stack (issue 86).
97
98 Made sure that the name accessor on functions returns the expected
99 names for builtin JavaScript functions and C++ callback functions.
100
101 Added fast case code for extending the property storage array of
102 JavaScript objects.
103
104 Ported switch statement optimizations introduced in version 0.3.3
105 to the ARM code generator.
106
107 Allowed GCC to use strict-aliasing rules when compiling.
108
109 Improved performance of arguments object allocation by taking care
110 of arguments adaptor frames in the generated code.
111
112 Updated the V8 benchmark suite to version 2.
113
114
ager@chromium.org236ad962008-09-25 09:45:57 +00001152008-09-25: Version 0.3.3
116
117 Improved handling of relocation information to enable more
118 peep-hole optimizations.
119
120 Optimized switch statements where all labels are constant small
121 integers.
122
123 Optimized String.prototype.indexOf for common cases.
124
125 Fixed more build issues (issue 80).
126
127 Fixed a couple of profiler issues.
128
129 Fixed bug where the body of a function created using the Function
130 constructor was not allowed to end with a single-line comment
131 (issue 85).
132
133 Improved handling of object literals by canonicalizing object
134 literal maps. This will allow JSON objects with the same set of
135 properties to share the same map making inline caching work better
136 for JSON objects.
137
138
kasperl@chromium.orgb9123622008-09-17 14:05:56 +00001392008-09-17: Version 0.3.2
140
141 Generalized the EvalCache into a CompilationCache and enabled it
142 for scripts too. The current strategy is to retire all entries
143 whenever a mark-sweep collection is started.
144
145 Fixed bug where switch statements containing only a default case
146 would lead to an unbalanced stack (issue 69).
147
148 Fixed bug that made access to the function in a named function
149 expression impossible in certain situations (issue 24).
150
151 Fixed even more build issues.
152
153 Optimized calling conventions on ARM. The conventions on ARM and
154 IA-32 now match.
155
156 Removed static initializers for flags and counters.
157
158 Improved inline caching behavior for uncommon cases where lazily
159 loading Date and RegExp code could force certain code paths go
160 megamorphic.
161
162 Removed arguments adaption for builtins written in C++. This
163 makes Array.prototype.push and Array.prototype.pop slightly
164 faster.
165
166
ager@chromium.org9258b6b2008-09-11 09:11:10 +00001672008-09-11: Version 0.3.1
168
169 Fixed a number of build issues.
170
171 Fixed problem with missing I-cache flusing on ARM.
172
173 Changed space layout in memory management by splitting up
174 code space into old data space and code space.
175
176 Added utf-8 conversion support to the API (issue 57).
177
178 Optimized repeated calls to eval with the same strings. These
179 repeated calls are common in web applications.
180
181 Added Xcode project file.
182
183 Optimized a couple of Array operation.
184
185 Fixed parser bug by checking for end-of-string when parsing break
186 and continue (issue 35).
187
188 Fixed problem where asian characters were not categorized as
189 letters.
190
191 Fixed bug that disallowed calling functions fetched from an array
192 using a string as an array index (issue 32).
193
194 Fixed bug where the internal field count on object templates were
195 sometimes ignored (issue 54).
196
197 Added -f option to the shell sample for compatibility with other
198 engines (issue 18).
199
200 Added source info to TryCatches in the API.
201
202 Fixed problem where the seed for the random number generator was
203 clipped in a double to unsigned int conversion.
204
205 Fixed bug where cons string symbols were sometimes converted to
206 non-symbol flat strings during GC.
207
208 Fixed bug in error reporting when attempting to convert null to an
209 object.
210
211
ager@chromium.orgc27e4e72008-09-04 13:52:27 +00002122008-09-04: Version 0.3.0
213
214 Added support for running tests on the ARM simulator.
215
216 Fixed bug in the 'in' operator where negative indices were not
217 treated correctly.
218
219 Fixed build issues on gcc-4.3.1.
220
221 Changed Date.prototype.toLocaleTimeString to not print the
222 timezone part of the time.
223
224 Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
225 with user code.
226
227
v8.team.kasperl727e9952008-09-02 14:56:44 +00002282008-09-02: Version 0.2.5
229
230 Renamed the top level directory 'public' to 'include'.
231
232 Added 'env' option to the SCons build scripts to support
233 overriding the ENV part of the build environment. This is mostly
234 to support Windows builds in cases where SCons cannot find the
235 correct paths to the Windows SDK, as these paths cannot be passed
236 through shell environment variables.
237
238 Enabled "Buffer Security Check" on for the Windows SCons build and
239 added the linker option /OPT:ICF as an optimization.
240
241 Added the V8 benchmark suite to the repository.
242
243
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +00002442008-09-01: Version 0.2.4
245
246 Included mjsunit JavaScript test suite and C++ unit tests.
247
248 Changed the shell sample to not print the result of executing a
249 script provided on the command line.
250
251 Fixed issue when building samples on Windows using a shared V8
252 library. Added visibility option on Linux build which makes the
253 generated library 18% smaller.
254
255 Changed build system to accept multiple build modes in one build
256 and generate separate objects, libraries and executables for each
257 mode.
258
259 Removed deferred negation optimization (a * -b => -(a * b)) since
260 this visibly changes operand conversion order.
261
262 Improved parsing performance by introducing stack guard in
263 preparsing. Without a stack guard preparsing always bails out
264 with stack overflow.
265
266 Changed shell sample to take flags directly from the command-line.
267 Added API call that implements this.
268
269 Added load, quit and version functions to the shell sample so it's
270 easier to run benchmarks and tests.
271
272 Fixed issue with building samples and cctests on 64-bit machines.
273
274 Fixed bug in the runtime system where the prototype chain was not
275 always searched for a setter when setting a property that does not
276 exist locally.
277
278
mads.s.agercbaa0602008-08-14 13:41:48 +00002792008-08-14: Version 0.2.3
280
281 Improved performance of garbage collection by moving the
282 function that updates pointers during compacting collection
283 into the updating visitor. This gives the compiler a better
284 chance to inline and avoid a function call per (potential)
285 pointer.
286
287 Extended the shell sample with a --runtime-flags option.
288
289 Added Visual Studio project files for the shell.cc and
290 process.cc samples.
291
292
2932008-08-13: Version 0.2.2
mads.s.ager31e71382008-08-13 09:32:07 +0000294
295 Improved performance of garbage collection by changing the way
296 we use the marking stack in the event of stack overflow during
297 full garbage collection and by changing the way we mark roots.
298
299 Cleaned up ARM version by removing top of stack caching and by
300 introducing push/pop elimination.
301
302 Cleaned up the way runtime functions are called to allow
303 runtime calls with no arguments.
304
305 Changed Windows build options to make sure that exceptions are
306 disabled and that optimization flags are enabled.
307
308 Added first version of Visual Studio project files.
309
310
mads.s.agercbaa0602008-08-14 13:41:48 +00003112008-08-06: Version 0.2.1
mads.s.ager@gmail.com769cc962008-08-06 10:02:49 +0000312
313 Improved performance of unary addition by avoiding runtime calls.
314
315 Fixed the handling of '>' and '<=' to use right-to-left conversion
316 and left-to-right evaluation as specified by ECMA-262.
317
318 Fixed a branch elimination bug on the ARM platform where incorrect
319 code was generated because of overly aggressive branch
320 elimination.
321
322 Improved performance of code that repeatedly assigns the same
323 function to the same property of different objects with the same
324 map.
325
326 Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler
327 no longer expects DEBUG to be defined.
328
329 Added platform-nullos.cc to serve as the basis for new platform
330 implementations.
331
mads.s.ager31e71382008-08-13 09:32:07 +0000332
mads.s.agercbaa0602008-08-14 13:41:48 +00003332008-07-30: Version 0.2.0
kasper.lund7276f142008-07-30 08:49:36 +0000334
335 Changed all text files to have native svn:eol-style.
336
337 Added a few samples and support for building them. The samples
338 include a simple shell that can be used to benchmark and test V8.
339
340 Changed V8::GetVersion to return the version as a string.
341
342 Added source for lazily loaded scripts to snapshots and made
343 serialization non-destructive.
344
345 Improved ARM support by fixing the write barrier code to use
346 aligned loads and stores and by removing premature locals
347 optimization that relied on broken support for callee-saved
348 registers (removed).
349
350 Refactored the code for marking live objects during garbage
351 collection and the code for allocating objects in paged
352 spaces. Introduced an abstraction for the map word of a heap-
353 allocated object and changed the memory allocator to allocate
354 executable memory only for spaces that may contain code objects.
355
356 Moved StringBuilder to utils.h and ScopedLock to platform.h, where
357 they can be used by debugging and logging modules. Added
358 thread-safe message queues for dealing with debugger events.
359
360 Fixed the source code reported by toString for certain builtin
361 empty functions and made sure that the prototype property of a
362 function is enumerable.
363
364 Improved performance of converting values to condition flags in
365 generated code.
366
367 Merged disassembler-{arch} files.
368
369
mads.s.agercbaa0602008-08-14 13:41:48 +00003702008-07-28: Version 0.1.4
kasper.lundaf4734f2008-07-28 12:50:18 +0000371
372 Added support for storing JavaScript stack traces in a stack
373 allocated buffer to make it visible in shallow core dumps.
374 Controlled by the --preallocate-message-memory flag which is
375 disabled by default.
376
377
mads.s.agercbaa0602008-08-14 13:41:48 +00003782008-07-25: Version 0.1.3
kasper.lund44510672008-07-25 07:37:58 +0000379
380 Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
381 map transitions would count as properties.
382
383 Allowed aliased eval invocations by treating them as evals in the
384 global context. This may change in the future.
385
386 Added support for accessing the last entered context through the
387 API and renamed Context::Current to Context::GetCurrent and
388 Context::GetSecurityContext to Context::GetCurrentSecurityContext.
389
390 Fixed bug in the debugger that would cause the debugger scripts to
391 be recursively loaded and changed all disabling of interrupts to
392 be block-structured.
393
394 Made snapshot data read-only to allow it to be more easily shared
395 across multiple users of V8 when linked as a shared library.
396
397
mads.s.agercbaa0602008-08-14 13:41:48 +00003982008-07-16: Version 0.1.2
kasper.lund212ac232008-07-16 07:07:30 +0000399
400 Fixed building on Mac OS X by recognizing i386 and friends as
401 IA-32 platforms.
402
403 Added propagation of stack overflow exceptions that occur while
404 compiling nested functions.
405
406 Improved debugger with support for recursive break points and
407 handling of exceptions that occur in the debugger JavaScript code.
408
409 Renamed GetInternal to GetInternalField and SetInternal to
410 SetInternalField in the API and moved InternalFieldCount and
411 SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
412
413
mads.s.agercbaa0602008-08-14 13:41:48 +00004142008-07-09: Version 0.1.1
kasper.lundbd3ec4e2008-07-09 11:06:54 +0000415
416 Fixed bug in stack overflow check code for IA-32 targets where a
417 non-tagged value in register eax was pushed to the stack.
418
419 Fixed potential quadratic behavior when converting strings to
420 numbers.
421
422 Fixed bug where the return value from Object::SetProperty could
423 end up being the property holder instead of the written value.
424
425 Improved debugger support by allowing nested break points and by
426 dealing with stack-overflows when compiling functions before
427 setting break points in them.
428
429
mads.s.agercbaa0602008-08-14 13:41:48 +00004302008-07-03: Version 0.1.0
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +0000431
kasper.lundbd3ec4e2008-07-09 11:06:54 +0000432 Initial export.
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +0000433