blob: 91b583fd0dc854dca25b266f2469764f5cdfb71f [file] [log] [blame]
kasperl@chromium.orga5551262010-12-07 12:49:48 +000012010-12-07: Version 3.0.0
2
3 Improved performance by (partially) addressing issue 957 on
4 IA-32. Still needs more work for the other architectures.
5
6
ager@chromium.orgbeb25712010-11-29 08:02:25 +000072010-11-29: Version 2.5.9
8
9 Fixed crashes during GC caused by partially initialize heap
10 objects.
11
12 Fixed bug in process sample that caused memory leaks.
13
14 Improved performance on ARM by implementing missing stubs and
15 inlining.
16
17 Improved heap profiler support.
18
19 Added separate seeding on Windows of the random number generator
20 used internally by the compiler (issue 936).
21
22 Exposed API for getting the name of the function used to construct
23 an object.
24
25 Fixed date parser to handle one and two digit millisecond
26 values (issue 944).
27
28 Fixed number parsing to disallow space between sign and
29 digits (issue 946).
30
31
vegorov@chromium.org21b5e952010-11-23 10:24:40 +0000322010-11-23: Version 2.5.8
33
34 Removed dependency on Gay's dtoa.
35
36 Improved heap profiler precision and speed.
37
38 Reduced overhead of callback invocations on ARM.
39
40
erik.corry@gmail.com4a6c3272010-11-18 12:04:40 +0000412010-11-18: Version 2.5.7
42
43 Fixed obscure evaluation order bug (issue 931).
44
45 Split the random number state between JavaScript and the private API.
46
47 Fixed performance bug causing GCs when generating stack traces on
48 code from very large scripts.
49
50 Fixed bug in parser that allowed (foo):42 as a labelled statement
51 (issue 918).
52
53 Provide more accurate results about used heap size via
54 GetHeapStatistics.
55
56 Allow build-time customization of the max semispace size.
57
58 Made String.prototype.split honor limit when separator is empty
59 (issue 929).
60
61 Added missing failure check after expecting an identifier in
62 preparser (Chromium issue 62639).
63
64
ager@chromium.org01fe7df2010-11-10 11:59:11 +0000652010-11-10: Version 2.5.6
66
67 Added support for VFP rounding modes to the ARM simulator.
68
69 Fixed multiplication overflow bug (issue 927).
70
71 Added a limit for the amount of executable memory (issue 925).
72
73
whesse@chromium.orgf0ac72d2010-11-08 12:47:26 +0000742010-11-08: Version 2.5.5
75
76 Added more aggressive GC of external objects in near out-of-memory
77 situations.
78
79 Fixed a bug that gave the incorrect result for String.split called
80 on the empty string (issue 924).
81
82
lrn@chromium.orgfa943b72010-11-03 08:14:36 +0000832010-11-03: Version 2.5.4
84
whesse@chromium.orgf0ac72d2010-11-08 12:47:26 +000085 Improved V8 VFPv3 runtime detection to address issue 914.
lrn@chromium.orgfa943b72010-11-03 08:14:36 +000086
87
fschneider@chromium.orge03fb642010-11-01 12:34:09 +0000882010-11-01: Version 2.5.3
89
90 Fixed a bug that prevents constants from overwriting function values
91 in object literals (issue 907).
92
93 Fixed a bug with reporting of impossible nested calls of DOM functions
94 (issue http://crbug.com/60753).
95
96
lrn@chromium.org303ada72010-10-27 09:33:13 +0000972010-10-27: Version 2.5.2
98
99 Improved sampler resolution on Linux.
100
101 Allowed forcing the use of a simulator from the build script
102 independently of the host architecture.
103
104 Fixed FreeBSD port (Issue 912).
105
106 Made windows-tick-processor respect D8_PATH.
107
108 Implemented --noinline-new flag fully on IA32, X64 and ARM platforms.
109
110
whesse@chromium.org4a5224e2010-10-20 12:37:07 +00001112010-10-20: Version 2.5.1
112
113 Fixed bug causing spurious out of memory exceptions
114 (issue http://crbug.com/54580).
115
116 Fixed compilation error on Solaris platform (issue 901).
117
118 Fixed error in strtod (string to floating point number conversion)
119 due to glibc's use of 80-bit floats in the FPU on 32-bit linux.
120
121 Adjusted randomized allocations of executable memory to have 64k
122 granularity (issue http://crbug.com/56036).
123
124 Supported profiling using kernel perf_events on linux. Added ll_prof
125 script to tools and --ll-prof flag to V8.
126
127
vegorov@chromium.org42841962010-10-18 11:18:59 +00001282010-10-18: Version 2.5.0
129
130 Fixed bug in cache handling of lastIndex on global regexps
131 (issue http://crbug.com/58740).
132
133 Added USE_SIMULATOR macro that explicitly indicates that we wish to use
134 the simulator as the execution engine (by Mark Lam <mark.lam@palm.com>
135 from Hewlett-Packard Development Company, LP).
136
137 Fixed compilation error on ARM with gcc 4.4 (issue 894).
138
139
1402010-10-13: Version 2.4.9
ager@chromium.orgb61a0d12010-10-13 08:35:23 +0000141
142 Fixed a bug in the handling of conditional expressions in test
143 contexts in compiler for top-level code.
144
145 Added "//@ sourceURL" information to the StackTrace API.
146
147 Exposed RegExp construction through the API.
148
149
ricow@chromium.orgeb7c1442010-10-04 08:54:21 +00001502010-10-04: Version 2.4.8
151
152 Fixed a bug in ResumeProfilerEx causing it to not always write out the
153 whole snapshot (issue 868).
154
155 Performance improvements on all platforms.
156
157
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +00001582010-09-30: Version 2.4.7
159
160 Changed the command-line flag --max-new-space-size to be in kB and the
161 flag --max-old-space-size to be in MB (previously they were in bytes).
162
163 Added Debug::CancelDebugBreak to the debugger API.
164
165 Fixed a bug in getters for negative numeric property names
166 (https://bugs.webkit.org/show_bug.cgi?id=46689).
167
168 Performance improvements on all platforms.
169
170
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +00001712010-09-27: Version 2.4.6
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +0000172
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +0000173 Fixed assertion failure related to copy-on-write arrays (issue 876).
174
175 Fixed build failure of 64-bit V8 on Windows.
176
177 Fixed a bug in RegExp (issue http://crbug.com/52801).
178
179 Improved the profiler's coverage to cover more functions (issue 858).
180
181 Fixed error in shift operators on 64-bit V8
182 (issue http://crbug.com/54521).
183
184
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001852010-09-22: Version 2.4.5
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +0000186
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000187 Changed the RegExp benchmark to exercise the regexp engine on different
188 inputs by scrambling the input strings.
189
190 Fixed a bug in keyed loads on strings.
191
192 Fixed a bug with loading global function prototypes.
193
194 Fixed a bug with profiling RegExp calls (issue http://crbug.com/55999).
195
196 Performance improvements on all platforms.
197
198
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00001992010-09-15: Version 2.4.4
200
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000201 Fixed bug with hangs on very large sparse arrays.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000202
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000203 Now tries harder to free up memory when running out of space.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000204
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000205 Added heap snapshots to JSON format to API.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000206
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000207 Recalibrated benchmarks.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000208
209
sgjesse@chromium.org2ec107f2010-09-13 09:19:46 +00002102010-09-13: Version 2.4.3
211
212 Made Date.parse properly handle TZ offsets (issue 857).
213
214 Performance improvements on all platforms.
215
216
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00002172010-09-08: Version 2.4.2
218
219 Fixed GC crash bug.
220
221 Fixed stack corruption bug.
222
223 Fixed compilation for newer C++ compilers that found Operand(0)
224 ambiguous.
225
226
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00002272010-09-06: Version 2.4.1
228
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000229 Added the ability for an embedding application to receive a callback
230 when V8 allocates (V8::AddMemoryAllocationCallback) or deallocates
231 (V8::RemoveMemoryAllocationCallback) from the OS.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000232
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000233 Fixed several JSON bugs (including issue 855).
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000234
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000235 Fixed memory overrun crash bug triggered during V8's tick-based
236 profiling.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000237
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000238 Performance improvements on all platforms.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000239
240
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00002412010-09-01: Version 2.4.0
242
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000243 Fixed bug in Object.freeze and Object.seal when Array.prototype or
244 Object.prototype are changed (issue 842).
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000245
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000246 Updated Array.splice to follow Safari and Firefox when called
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000247 with zero arguments.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000248
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000249 Fixed a missing live register when breaking at keyed loads on ARM.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000250
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000251 Performance improvements on all platforms.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000252
253
ricow@chromium.org65fae842010-08-25 15:26:24 +00002542010-08-25: Version 2.3.11
255
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000256 Fixed bug in RegExp related to copy-on-write arrays.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000257
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000258 Refactored tools/test.py script, including the introduction of
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000259 VARIANT_FLAGS that allows specification of sets of flags with which
260 all tests should be run.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000261
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000262 Fixed a bug in the handling of debug breaks in CallIC.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000263
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000264 Performance improvements on all platforms.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000265
266
erik.corry@gmail.com145eff52010-08-23 11:36:18 +00002672010-08-23: Version 2.3.10
268
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000269 Fixed bug in bitops on ARM.
erik.corry@gmail.com145eff52010-08-23 11:36:18 +0000270
271 Build fixes for unusual compilers.
272
273 Track high water mark for RWX memory.
274
275 Performance improvements on all platforms.
276
277
ricow@chromium.org0b9f8502010-08-18 07:45:01 +00002782010-08-18: Version 2.3.9
279
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000280 Fixed compilation for ARMv4 on OpenBSD/FreeBSD.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000281
282 Removed specialized handling of GCC 4.4 (issue 830).
283
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000284 Fixed DST cache to take into account the suspension of DST in
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000285 Egypt during the 2010 Ramadan (issue http://crbug.com/51855).
286
ricow@chromium.org65fae842010-08-25 15:26:24 +0000287 Performance improvements on all platforms.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000288
289
ager@chromium.orgea4f62e2010-08-16 16:28:43 +00002902010-08-16: Version 2.3.8
291
292 Fixed build with strict aliasing on GCC 4.4 (issue 463).
293
294 Fixed issue with incorrect handling of custom valueOf methods on
295 string wrappers (issue 760).
296
297 Fixed compilation for ARMv4 (issue 590).
298
299 Improved performance.
300
301
vegorov@chromium.org26c16f82010-08-11 13:41:03 +00003022010-08-11: Version 2.3.7
303
304 Reduced size of heap snapshots produced by heap profiler (issue 783).
305
306 Introduced v8::Value::IsRegExp method.
307
308 Fixed CPU profiler crash in start / stop sequence when non-existent
309 name is passed (issue http://crbug.com/51594).
310
311 Introduced new indexed property query callbacks API (issue 816). This
312 API is guarded by USE_NEW_QUERY_CALLBACK define and is disabled
313 by default.
314
315 Removed support for object literal get/set with number/string
316 property name.
317
318 Fixed handling of JSObject::elements in CalculateNetworkSize
319 (issue 822).
320
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000321 Allowed compiling with strict aliasing enabled on GCC 4.4 (issue 463).
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000322
323
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +00003242010-08-09: Version 2.3.6
325
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000326 RegExp literals create a new object every time they are evaluated
327 (issue 704).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000328
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000329 Object.seal and Object.freeze return the modified object (issue 809).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000330
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000331 Fixed building using GCC 4.4.4.
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000332
333
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +00003342010-08-04: Version 2.3.5
335
336 Added support for ES5 property names. Object initialisers and
337 dot-notation property access now allows keywords. Also allowed
338 non-identifiers after "get" or "set" in an object initialiser.
339
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000340 Randomized the addresses of allocated executable memory on Windows.
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +0000341
342
whesse@chromium.orge90029b2010-08-02 11:52:17 +00003432010-08-02: Version 2.3.4
344
345 Fixed problems in implementation of ES5 function.prototype.bind.
346
347 Fixed error when using apply with arguments object on ARM (issue 784).
348
349 Added setting of global flags to debugger protocol.
350
351 Fixed an error affecting cached results of sin and cos (issue 792).
352
353 Removed memory leak from a boundary case where V8 is not initialized.
354
355 Fixed issue where debugger could set breakpoints outside the body
356 of a function.
357
358 Fixed issue in debugger when using both live edit and step in features.
359
360 Added Number-letter (Nl) category to Unicode tables. These characters
361 can now be used in identifiers.
362
363 Fixed an assert failure on X64 (issue 806).
364
365 Performance improvements on all platforms.
366
367
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +00003682010-07-26: Version 2.3.3
369
370 Fixed error when building the d8 shell in a fresh checkout.
371
372 Implemented Function.prototype.bind (ES5 15.3.4.5).
373
374 Fixed an error in inlined stores on ia32.
375
376 Fixed an error when setting a breakpoint at the end of a function
377 that does not end with a newline character.
378
379 Performance improvements on all platforms.
380
381
fschneider@chromium.orged78ffd2010-07-21 11:05:19 +00003822010-07-21: Version 2.3.2
383
384 Fixed compiler warnings when building with LLVM.
385
386 Fixed a bug with for-in applied to strings (issue 785).
387
388 Performance improvements on all platforms.
389
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +0000390
ricow@chromium.org4980dff2010-07-19 08:33:45 +00003912010-07-19: Version 2.3.1
392
393 Fixed compilation and linking with V8_INTERPRETED_REGEXP flag.
394
395 Fixed bug related to code flushing while compiling a lazy
396 compilable function (issue http://crbug.com/49099).
397
398 Performance improvements on all platforms.
399
400
ager@chromium.orgb5737492010-07-15 09:29:43 +00004012010-07-15: Version 2.3.0
402
403 Added ES5 Object.seal and Object.isSealed.
404
405 Added debugger API for scheduling debugger commands from a
406 separate thread.
407
408
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +00004092010-07-14: Version 2.2.24
410
411 Added API for capturing stack traces for uncaught exceptions.
412
413 Fixed crash bug when preparsing from a non-external V8 string
414 (issue 775).
415
416 Fixed JSON.parse bug causing input not to be converted to string
417 (issue 764).
418
419 Added ES5 Object.freeze and Object.isFrozen.
420
421 Performance improvements on all platforms.
422
423
erik.corry@gmail.com4a2e25e2010-07-07 12:22:46 +00004242010-07-07: Version 2.2.23
425
426 API change: Convert Unicode code points outside the basic multilingual
427 plane to the replacement character. Previous behavior was to silently
428 truncate the value to 16 bits.
429
430 Fixed crash: handle all flat string types in regexp replace.
431
432 Prevent invalid pre-parsing data passed in through the API from
433 crashing V8.
434
435 Performance improvements on all platforms.
436
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +0000437
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00004382010-07-05: Version 2.2.22
439
440 Added ES5 Object.isExtensible and Object.preventExtensions.
441
442 Enabled building V8 as a DLL.
443
444 Fixed a bug in date code where -0 was not interpreted as 0
445 (issue 736).
446
447 Performance improvements on all platforms.
448
449
lrn@chromium.org32d961d2010-06-30 09:09:34 +00004502010-06-30: Version 2.2.21
451
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000452 Fixed bug in externalizing some ASCII strings (Chromium issue 47824).
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000453
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000454 Updated JSON.stringify to floor the space parameter (issue 753).
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000455
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000456 Updated the Mozilla test expectations to the newest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000457
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000458 Updated the ES5 Conformance Test expectations to the latest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000459
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000460 Updated the V8 benchmark suite.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000461
462 Provide actual breakpoints locations in response to setBreakpoint
463 and listBreakpoints requests.
464
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000465
fschneider@chromium.org40b9da32010-06-28 11:29:21 +00004662010-06-28: Version 2.2.20
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000467
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000468 Fixed bug with for-in on x64 platform (issue 748).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000469
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000470 Fixed crash bug on x64 platform (issue 756).
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000471
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000472 Fixed bug in Object.getOwnPropertyNames. (chromium issue 41243).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000473
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000474 Fixed a bug on ARM that caused the result of 1 << x to be
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000475 miscalculated for some inputs.
476
477 Performance improvements on all platforms.
478
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000479
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +00004802010-06-23: Version 2.2.19
481
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000482 Fixed bug that causes the build to break when profillingsupport=off
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +0000483 (issue 738).
484
485 Added expose-externalize-string flag for testing extensions.
486
487 Resolve linker issues with using V8 as a DLL causing a number of
488 problems with unresolved symbols.
489
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000490 Fixed build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +0000491 defined.
492
493 Performance improvements on all platforms.
494
495
whesse@chromium.org2c186ca2010-06-16 11:32:39 +00004962010-06-16: Version 2.2.18
497
498 Added API functions to retrieve information on indexed properties
499 managed by the embedding layer. Fixes bug 737.
500
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000501 Made ES5 Object.defineProperty support array elements. Fixes bug 619.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000502
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000503 Added heap profiling to the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000504
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000505 Removed old named property query from the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000506
507 Incremental performance improvements.
508
509
ager@chromium.org2cc82ae2010-06-14 07:35:38 +00005102010-06-14: Version 2.2.17
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000511
ager@chromium.org2cc82ae2010-06-14 07:35:38 +0000512 Improved debugger support for stepping out of functions.
513
514 Incremental performance improvements.
515
516
5172010-06-09: Version 2.2.16
518
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000519 Removed the SetExternalStringDiposeCallback API. Changed the
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000520 disposal of external string resources to call a virtual Dispose
521 method on the resource.
522
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000523 Added support for more precise break points when debugging and
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000524 stepping.
525
526 Memory usage improvements on all platforms.
527
528
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +00005292010-06-07: Version 2.2.15
530
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000531 Added an API to control the disposal of external string resources.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000532
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000533 Added missing initialization of a couple of variables which makes
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000534 some compilers complaint when compiling with -Werror.
535
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000536 Improved performance on all platforms.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000537
538
sgjesse@chromium.org82dbbab2010-06-02 08:57:44 +00005392010-06-02: Version 2.2.14
540
541 Fixed a crash in code generated for String.charCodeAt.
542
543 Fixed a compilation issue with some GCC versions (issue 727).
544
545 Performance optimizations on x64 and ARM platforms.
546
547
ricow@chromium.org30ce4112010-05-31 10:38:25 +00005482010-05-31: Version 2.2.13
549
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000550 Implemented Object.getOwnPropertyDescriptor for element indices and
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000551 strings (issue 599).
552
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000553 Fixed bug for windows 64 bit C calls from generated code.
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000554
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000555 Added new scons flag unalignedaccesses for arm builds.
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000556
557 Performance improvements on all platforms.
558
559
kmillikin@chromium.org9155e252010-05-26 13:27:57 +00005602010-05-26: Version 2.2.12
561
562 Allowed accessors to be defined on objects rather than just object
563 templates.
564
565 Changed the ScriptData API.
566
567
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00005682010-05-21: Version 2.2.11
569
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000570 Fixed crash bug in liveedit on 64 bit.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000571
572 Use 'full compiler' when debugging is active. This should increase
573 the density of possible break points, making single step more fine
574 grained. This will only take effect for functions compiled after
575 debugging has been started, so recompilation of all functions is
576 required to get the full effect. IA32 and x64 only for now.
577
578 Misc. fixes to the Solaris build.
579
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000580 Added new flags --print-cumulative-gc-stat and --trace-gc-nvp.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000581
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000582 Added filtering of CPU profiles by security context.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000583
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000584 Fixed crash bug on ARM when running without VFP2 or VFP3.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000585
586 Incremental performance improvements in all backends.
587
588
vegorov@chromium.orgdff694e2010-05-17 09:10:26 +00005892010-05-17: Version 2.2.10
590
591 Performance improvements in the x64 and ARM backends.
592
593
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +00005942010-05-10: Version 2.2.9
595
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000596 Allowed Object.create to be called with a function (issue 697).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +0000597
598 Fixed bug with Date.parse returning a non-NaN value when called on a
599 non date string (issue 696).
600
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000601 Allowed unaligned memory accesses on ARM targets that support it (by
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000602 Subrato K De of CodeAurora <subratokde@codeaurora.org>).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +0000603
604 C++ API for retrieving JavaScript stack trace information.
605
606
ager@chromium.orgac091b72010-05-05 07:34:42 +00006072010-05-05: Version 2.2.8
608
609 Performance improvements in the x64 and ARM backends.
610
611
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00006122010-05-03: Version 2.2.7
613
614 Added support for ES5 date time string format to Date.parse.
615
616 Performance improvements in the x64 backend.
617
618
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00006192010-04-28: Version 2.2.6
620
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000621 Added "amd64" as recognized architecture in scons build script
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000622 (by Ryan Dahl <coldredlemur@gmail.com>).
623
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000624 Fixed bug in String search and replace with very simple RegExps.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000625
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000626 Fixed bug in RegExp containing "\b^".
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000627
628 Performance improvements on all platforms.
629
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000630
fschneider@chromium.org013f3e12010-04-26 13:27:52 +00006312010-04-26: Version 2.2.5
632
633 Various performance improvements (especially for ARM and x64)
634
635 Fixed bug in CPU profiling (http://crbug.com/42137)
636
637 Fixed a bug with the natives cache.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000638
639 Fixed two bugs in the ARM code generator that can cause
fschneider@chromium.org013f3e12010-04-26 13:27:52 +0000640 wrong calculations.
641
642 Fixed a bug that may cause a wrong result for shift operations.
643
644
6452010-04-21: Version 2.2.4
ricow@chromium.orgc9c80822010-04-21 08:22:37 +0000646
647 Fixed warnings on arm on newer GCC versions.
648
649 Fixed a number of minor bugs.
650
651 Performance improvements on all platforms.
652
653
whesse@chromium.orgb6e43bb2010-04-14 09:36:28 +00006542010-04-14: Version 2.2.3
655
656 Added stack command and mem command to ARM simulator debugger.
657
658 Fixed scons snapshot and ARM build, and Windows X64 build issues.
659
660 Performance improvements on all platforms.
661
662
ager@chromium.org357bf652010-04-12 11:30:10 +00006632010-04-12: Version 2.2.2
664
665 Introduced new profiler API.
666
667 Fixed random number generator to produce full 32 random bits.
668
669
lrn@chromium.org25156de2010-04-06 13:10:27 +00006702010-04-06: Version 2.2.1
671
672 Debugger improvements.
673
674 Fixed minor bugs.
675
676
ricow@chromium.orgaa1b6162010-03-29 07:44:58 +00006772010-03-29: Version 2.2.0
678
679 Fixed a few minor bugs.
680
681 Performance improvements for string operations.
682
683
ager@chromium.orgb26c50a2010-03-26 09:27:16 +00006842010-03-26: Version 2.1.10
685
686 Fixed scons build issues.
687
688 Fixed a couple of minor bugs.
689
690
sgjesse@chromium.orgdf7a2842010-03-25 14:34:15 +00006912010-03-25: Version 2.1.9
692
693 Added API support for reattaching a global object to a context.
694
695 Extended debugger API with access to the internal debugger context.
696
697 Fixed Chromium crashes (issues http://crbug.com/39128 and
698 http://crbug.com/39160)
699
700
kmillikin@chromium.org5d8f0e62010-03-24 08:21:20 +00007012010-03-24: Version 2.1.8
702
703 Added fine-grained garbage collection callbacks to the API.
704
705 Performance improvements on all platforms.
706
707
whesse@chromium.orgcec079d2010-03-22 14:44:04 +00007082010-03-22: Version 2.1.7
709
710 Fixed issue 650.
711
712 Fixed a bug where __proto__ was sometimes enumerated (issue 646).
fschneider@chromium.org086aac62010-03-17 13:18:24 +0000713
714 Performance improvements for arithmetic operations.
715
716 Performance improvements for string operations.
717
whesse@chromium.orgcec079d2010-03-22 14:44:04 +0000718 Print script name and line number information in stack trace.
719
720
7212010-03-17: Version 2.1.6
722
723 Performance improvements for arithmetic operations.
724
725 Performance improvements for string operations.
726
727
vegorov@chromium.orgf8372902010-03-15 10:26:20 +00007282010-03-10: Version 2.1.4
729
730 Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).
731
732 Performance improvements on all platforms.
733
734
ager@chromium.orgce5e87b2010-03-10 10:24:18 +00007352010-03-10: Version 2.1.3
736
737 Added API method for context-disposal notifications.
738
739 Added API method for accessing elements by integer index.
740
741 Added missing implementation of Uint32::Value and Value::IsUint32
742 API methods.
743
744 Added IsExecutionTerminating API method.
745
746 Disabled strict aliasing for GCC 4.4.
747
748 Fixed string-concatenation bug (issue 636).
749
750 Performance improvements on all platforms.
751
752
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +00007532010-02-23: Version 2.1.2
754
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000755 Fixed a crash bug caused by wrong assert.
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +0000756
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000757 Fixed a bug with register names on 64-bit V8 (issue 615).
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +0000758
759 Performance improvements on all platforms.
760
ager@chromium.orgce5e87b2010-03-10 10:24:18 +0000761
ager@chromium.org5c838252010-02-19 08:53:10 +00007622010-02-19: Version 2.1.1
763
764 [ES5] Implemented Object.defineProperty.
765
766 Improved profiler support.
767
768 Added SetPrototype method in the public V8 API.
769
770 Added GetScriptOrigin and GetScriptLineNumber methods to Function
771 objects in the API.
772
773 Performance improvements on all platforms.
774
775
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00007762010-02-03: Version 2.1.0
777
778 Values are now always wrapped in objects when used as a receiver.
779 (issue 223).
780
781 [ES5] Implemented Object.getOwnPropertyNames.
782
783 [ES5] Restrict JSON.parse to only accept strings that conforms to the
784 JSON grammar.
785
786 Improvement of debugger agent (issue 549 and 554).
787
788 Fixed problem with skipped stack frame in profiles (issue 553).
789
790 Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
791 <ry@tinyclouds.org>.
792
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000793 Fixed a bug that Math.round() returns incorrect results for huge
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +0000794 integers.
795
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000796 Fixed enumeration order for objects created from some constructor
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +0000797 functions (isue http://crbug.com/3867).
798
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000799 Fixed arithmetic on some integer constants (issue 580).
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +0000800
801 Numerous performance improvements including porting of previous IA-32
802 optimizations to x64 and ARM architectures.
803
804
fschneider@chromium.org0c20e672010-01-14 15:28:53 +00008052010-01-14: Version 2.0.6
806
807 Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,
808 GetOwnProperty, FromPropertyDescriptor.
809
810 Fixed Mac x64 build errors.
811
812 Improved performance of some math and string operations.
813
814 Improved performance of some regexp operations.
815
816 Improved performance of context creation.
817
818 Improved performance of hash tables.
819
820
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00008212009-12-18: Version 2.0.5
822
823 Extended to upper limit of map space to allow for 7 times as many map
824 to be allocated (issue 524).
825
826 Improved performance of code using closures.
827
828 Improved performance of some binary operations involving doubles.
829
830
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00008312009-12-16: Version 2.0.4
832
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000833 Added ECMAScript 5 Object.create.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000834
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000835 Improved performance of Math.max and Math.min.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000836
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000837 Optimized adding of strings on 64-bit platforms.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000838
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000839 Improved handling of external strings by using a separate table
840 instead of weak handles. This improves garbage collection
841 performance and uses less memory.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000842
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000843 Changed code generation for object and array literals in toplevel
844 code to be more compact by doing more work in the runtime.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000845
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000846 Fixed a crash bug triggered when garbage collection happened during
847 generation of a callback load inline cache stub.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000848
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000849 Fixed crash bug sometimes triggered when local variables shadowed
850 parameters in functions that used the arguments object.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000851
852
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +00008532009-12-03: Version 2.0.3
854
855 Optimized handling and adding of strings, for-in and Array.join.
856
857 Heap serialization is now non-destructive.
858
859 Improved profiler support with information on time spend in C++
860 callbacks registered through the API.
861
862 Added commands to the debugger protocol for starting/stopping
863 profiling.
864
865 Enabled the non-optimizing compiler for top-level code.
866
867 Changed the API to only allow strings to be set as data objects on
868 Contexts and scripts to avoid potentially keeping global objects
869 around for too long (issue 528).
870
871 OpenBSD support patch by Peter Valchev <pvalchev@gmail.com>.
872
873 Fixed bugs.
874
875
ager@chromium.org01beca72009-11-24 14:29:16 +00008762009-11-24: Version 2.0.2
877
878 Improved profiler support.
879
880 Fixed bug that broke compilation of d8 with readline support.
881
882
ager@chromium.org6141cbe2009-11-20 12:14:52 +00008832009-11-20: Version 2.0.1
884
885 Fixed crash bug in String.prototype.replace.
886
887 Reverted a change which caused Chromium interactive ui test
888 failures.
889
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000890
ager@chromium.orgc4c92722009-11-18 14:12:51 +00008912009-11-18: Version 2.0.0
892
893 Added support for VFP on ARM.
894
895 Added TryCatch::ReThrow method to the API.
896
897 Reduced the size of snapshots and improved the snapshot load time.
898
899 Improved heap profiler support.
900
901 64-bit version now supported on Windows.
902
903 Fixed a number of debugger issues.
904
905 Fixed bugs.
906
907
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +00009082009-10-29: Version 1.3.18
909
910 Reverted a change which caused crashes in RegExp replace.
911
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +0000912 Reverted a change which caused Chromium ui_tests failure.
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +0000913
914
ager@chromium.org3811b432009-10-28 14:53:37 +00009152009-10-28: Version 1.3.17
916
917 Added API method to get simple heap statistics.
918
919 Improved heap profiler support.
920
921 Fixed the implementation of the resource constraint API so it
922 works when using snapshots.
923
924 Fixed a number of issues in the Windows 64-bit version.
925
926 Optimized calls to API getters.
927
928 Added valgrind notification on code modification to the 64-bit version.
929
930 Fixed issue where we logged shared library addresses on Windows at
931 startup and never used them.
932
933
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00009342009-10-16: Version 1.3.16
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000935
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000936 X64: Convert smis to holding 32 bits of payload.
937
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000938 Introduced v8::Integer::NewFromUnsigned method.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000939
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000940 Added missing null check in Context::GetCurrent.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000941
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000942 Added trim, trimLeft and trimRight methods to String
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000943 Patch by Jan de Mooij <jandemooij@gmail.com>
944
945 Implement ES5 Array.isArray
946 Patch by Jan de Mooij <jandemooij@gmail.com>
947
948 Skip access checks for hidden properties.
949
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000950 Added String::Concat(Handle<String> left, Handle<String> right) to the
951 V8 API.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000952
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000953 Fixed GYP-based builds of V8.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000954
955
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +00009562009-10-07: Version 1.3.15
957
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000958 Expanded the maximum size of the code space to 512MB for 64-bit mode.
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +0000959
960 Fixed a crash bug happening when starting profiling (issue
961 http://crbug.com/23768).
962
963
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00009642009-10-07: Version 1.3.14
965
966 Added GetRealNamedProperty to the API to lookup real properties
967 located on the object or in the prototype chain skipping any
968 interceptors.
969
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000970 Fixed the stack limits setting API to work correctly with threads. The
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +0000971 stack limit now needs to be set to each thread thich is used with V8.
972
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000973 Removed the high-priority flag from IdleNotification()
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +0000974
975 Ensure V8 is initialized before locking and unlocking threads.
976
977 Implemented a new JavaScript minifier for compressing the source of
ager@chromium.org3811b432009-10-28 14:53:37 +0000978 the built-in JavaScript. This removes non-Open Source code from Douglas
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +0000979 Crockford from the project.
980
981 Added a missing optimization in StringCharAt.
982
983 Fixed some flaky socket tests.
984
985 Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
986 in 64-bit mode.
987
988 Fixed memory leaks in the thread management code.
989
990 Fixed the result of assignment to a pixel array. The assigned value
991 is now the result.
992
993 Error reporting for invalid left-hand sides in for-in statements, pre-
994 and postfix count expressions, and assignments now matches the JSC
995 behavior in Safari 4.
996
997 Follow the spec in disallowing function declarations without a name.
998
999 Always allocate code objects within a 2 GB range. On x64 architecture
1000 this is used to use near calls (32-bit displacement) in Code objects.
1001
1002 Optimized array construction ported to x64 and ARM architectures.
1003
1004 [ES5] Changed Object.keys to return strings for element indices.
1005
1006
ager@chromium.org68e7ab72009-09-23 09:40:39 +000010072009-09-23: Version 1.3.13
1008
1009 Fixed uninitialized memory problem.
1010
1011 Improved heap profiler support.
1012
1013
christian.plesner.hansen@gmail.com2bc58ef2009-09-22 10:00:30 +000010142009-09-22: Version 1.3.12
1015
1016 Changed behavior of |function|.toString() on built-in functions to
1017 be compatible with other implementations. Patch by Jan de Mooij.
1018
1019 Added Object::IsDirty in the API.
1020
1021 Optimized array construction; it is now handled purely in native
1022 code.
1023
1024 [ES5] Made properties of the arguments array enumerable.
1025
1026 [ES5] Added test suite adapter for the es5conform test suite.
1027
1028 [ES5] Added Object.keys function.
1029
ager@chromium.org68e7ab72009-09-23 09:40:39 +00001030
ager@chromium.org4af710e2009-09-15 12:20:11 +000010312009-09-15: Version 1.3.11
1032
1033 Fixed crash in error reporting during bootstrapping.
1034
1035 Optimized generated IA32 math code by using SSE2 instructions when
1036 available.
1037
1038 Implemented missing pieces of debugger infrastructure on ARM. The
1039 debugger is now fully functional on ARM.
1040
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001041 Made 'hidden' the default visibility for gcc.
ager@chromium.org4af710e2009-09-15 12:20:11 +00001042
1043
ager@chromium.orga1645e22009-09-09 19:27:10 +000010442009-09-09: Version 1.3.10
1045
1046 Fixed profiler on Mac in 64-bit mode.
1047
1048 Optimized creation of objects from simple constructor functions on
1049 ARM.
1050
1051 Fixed a number of debugger issues.
1052
1053 Reduced the amount of memory consumed by V8.
1054
1055
ager@chromium.org18ad94b2009-09-02 08:22:29 +000010562009-09-02: Version 1.3.9
1057
1058 Optimized stack guard checks on ARM.
1059
1060 Optimized API operations by inlining more in the API.
1061
1062 Optimized creation of objects from simple constructor functions.
1063
1064 Enabled a number of missing optimizations in the 64-bit port.
1065
1066 Implemented native-code support for regular expressions on ARM.
1067
1068 Stopped using the 'sahf' instruction on 64-bit machines that do
1069 not support it.
1070
1071 Fixed a bug in the support for forceful termination of JavaScript
1072 execution.
1073
1074
ager@chromium.org96c75b52009-08-26 09:13:16 +000010752009-08-26: Version 1.3.8
1076
1077 Changed the handling of idle notifications to allow idle
1078 notifications when V8 has not yet been initialized.
1079
1080 Fixed ARM simulator compilation problem on Windows.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001081
ager@chromium.org96c75b52009-08-26 09:13:16 +00001082
ager@chromium.orgab99eea2009-08-25 07:05:41 +000010832009-08-25: Version 1.3.7
1084
1085 Reduced the size of generated code on ARM platforms by reducing
1086 the size of constant pools.
1087
1088 Changed build files to not include the 'ENV' user environment
1089 variable in the build environment.
1090
1091 Changed the handling of idle notifications.
1092
1093
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +000010942009-08-21: Version 1.3.6
1095
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001096 Added support for forceful termination of JavaScript execution.
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00001097
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001098 Added low memory notification to the API. The embedding host can signal
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00001099 a low memory situation to V8.
1100
1101 Changed the handling of global handles (persistent handles in the API
1102 sense) to avoid issues regarding allocation of new global handles
1103 during weak handle callbacks.
1104
1105 Changed the growth policy of the young space.
1106
1107 Fixed a GC issue introduced in version 1.3.5.
1108
1109
sgjesse@chromium.org911335c2009-08-19 12:59:44 +000011102009-08-19: Version 1.3.5
1111
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001112 Optimized initialization of some arrays in the builtins.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001113
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001114 Fixed mac-nm script to support filenames with spaces.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001115
1116 Support for using the V8 profiler when V8 is embedded in a Windows DLL.
1117
1118 Changed typeof RegExp from 'object' to 'function' for compatibility.
1119 Fixed bug where regexps were not callable across contexts.
1120
1121 Added context independent script compilation to the API.
1122
1123 Added API call to get the stack trace for an exception.
1124
1125 Added API for getting object mirrors.
1126
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001127 Made sure that SSE3 instructions are used whenever possible even when
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001128 running off a snapshot generated without using SSE3 instructions.
1129
1130 Tweaked the handling of the initial size and growth policy of the heap.
1131
1132 Added native code generation for RegExp to 64-bit version.
1133
1134 Added JavaScript debugger support to 64-bit version.
1135
1136
ager@chromium.orgadd848f2009-08-13 12:44:13 +000011372009-08-13: Version 1.3.4
1138
1139 Added a readline() command to the d8 shell.
1140
1141 Fixed bug in json parsing.
1142
1143 Added idle notification to the API and reduced memory on idle
1144 notifications.
1145
1146
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +000011472009-08-12: Version 1.3.3
1148
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001149 Fixed issue 417: incorrect %t placeholder expansion.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001150
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001151 Added .gitignore file similar to Chromium's one.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001152
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001153 Fixed SConstruct file to build with new logging code for Android.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001154
1155 API: added function to find instance of template in prototype
1156 chain. Inlined Object::IsInstanceOf.
1157
1158 Land change to notify valgrind when we modify code on x86.
1159
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001160 Added api call to determine whether a string can be externalized.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001161
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001162 Added a write() command to d8.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001163
1164
sgjesse@chromium.orgb9d7da12009-08-05 08:38:10 +000011652009-08-05: Version 1.3.2
1166
1167 Started new compiler infrastructure for two-pass compilation using a
1168 control flow graph constructed from the AST.
1169
1170 Profiler stack sampling for X64.
1171
1172 Safe handling of NaN to Posix platform-dependent time functions.
1173
1174 Added a new profiler control API to unify controlling various aspects
1175 of profiling.
1176
1177 Fixed issue 392.
1178
1179
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +000011802009-07-30: Version 1.3.1
1181
1182 Speed improvements to accessors and interceptors.
1183
1184 Added support for capturing stack information on custom errors.
1185
1186 Added support for morphing an object into a pixel array where its
1187 indexed properties are stored in an external byte array. Values written
1188 are always clamped to the 0..255 interval.
1189
1190 Profiler on x64 now handles C/C++ functions from shared libraries.
1191
1192 Changed the debugger to avoid stepping into function.call/apply if the
1193 function is a built-in.
1194
1195 Initial implementation of constructor heap profile for JS objects.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001196
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00001197 More fine grained control of profiling aspects through the API.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001198
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00001199 Optimized the called as constructor check for API calls.
1200
1201
kasperl@chromium.orge959c182009-07-27 08:59:04 +000012022009-07-27: Version 1.3.0
1203
1204 Allowed RegExp objects to be called as functions (issue 132).
1205
1206 Fixed issue where global property cells would escape after
1207 detaching the global object; see http://crbug.com/16276.
1208
1209 Added support for stepping into setters and getters in the
1210 debugger.
1211
1212 Changed the debugger to avoid stopping in its own JavaScript code
1213 and in the code of built-in functions.
1214
1215 Fixed issue 345 by avoiding duplicate escaping labels.
1216
1217 Fixed ARM code generator crash in short-circuited boolean
1218 expressions and added regression tests.
1219
1220 Added an external allocation limit to avoid issues where small V8
1221 objects would hold on to large amounts of external memory without
1222 causing garbage collections.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001223
1224 Finished more of the inline caching stubs for x64 targets.
kasperl@chromium.orge959c182009-07-27 08:59:04 +00001225
1226
kasperl@chromium.orgdefbd102009-07-13 14:04:26 +000012272009-07-13: Version 1.2.14
1228
1229 Added separate paged heap space for global property cells and
1230 avoid updating the write barrier when storing into them.
1231
1232 Improved peep-hole optimization on ARM platforms by not emitting
1233 unnecessary debug information.
1234
1235 Re-enabled ICs for loads and calls that skip a global object
1236 during lookup through the prototype chain.
1237
1238 Allowed access through global proxies to use ICs.
1239
1240 Fixed issue 401.
1241
1242
kasperl@chromium.org68ac0092009-07-09 06:00:35 +000012432009-07-09: Version 1.2.13
1244
1245 Fixed issue 397, issue 398, and issue 399.
1246
1247 Added support for breakpoint groups.
1248
1249 Fixed bugs introduced with the new global object representation.
1250
1251 Fixed a few bugs in the ARM code generator.
1252
1253
kasperl@chromium.org86f77b72009-07-06 08:21:57 +000012542009-07-06: Version 1.2.12
1255
1256 Added stack traces collection to Error objects accessible through
1257 the e.stack property.
1258
1259 Changed RegExp parser to use a recursive data structure instead of
1260 stack-based recursion.
1261
1262 Optimized Date object construction and string concatenation.
1263
1264 Improved performance of div, mod, and mul on ARM platforms.
1265
1266
kasperl@chromium.org2abc4502009-07-02 07:00:29 +000012672009-07-02: Version 1.2.11
1268
1269 Improved performance on IA-32 and ARM.
1270
1271 Fixed profiler sampler implementation on Mac OS X.
1272
1273 Changed the representation of global objects to improve
1274 performance of adding a lot of new properties.
1275
1276
ager@chromium.org3e875802009-06-29 08:26:34 +000012772009-06-29: Version 1.2.10
1278
1279 Improved debugger support.
1280
1281 Fixed bug in exception message reporting (issue 390).
1282
1283 Improved overall performance.
1284
1285
ager@chromium.org5aa501c2009-06-23 07:57:28 +000012862009-06-23: Version 1.2.9
1287
1288 Improved math performance on ARM.
1289
1290 Fixed profiler name-inference bug.
1291
1292 Fixed handling of shared libraries in the profiler tick processor
1293 scripts.
1294
1295 Fixed handling of tests that time out in the test scripts.
1296
1297 Fixed compilation on MacOS X version 10.4.
1298
1299 Fixed two bugs in the regular expression engine.
1300
1301 Fixed a bug in the string type inference.
1302
1303 Fixed a bug in the handling of 'constant function' properties.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001304
ager@chromium.org5aa501c2009-06-23 07:57:28 +00001305 Improved overall performance.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001306
ager@chromium.org5aa501c2009-06-23 07:57:28 +00001307
ager@chromium.orgeadaf222009-06-16 09:43:10 +000013082009-06-16: Version 1.2.8
1309
1310 Optimized math on ARM platforms.
1311
1312 Fixed two crash bugs in the handling of getters and setters.
1313
1314 Improved the debugger support by adding scope chain information.
1315
1316 Improved the profiler support by compressing log data transmitted
1317 to clients.
1318
1319 Improved overall performance.
1320
1321
ager@chromium.orge2902be2009-06-08 12:21:35 +000013222009-06-08: Version 1.2.7
1323
1324 Improved debugger and profiler support.
1325
1326 Reduced compilation time by improving the handling of deferred
1327 code.
1328
1329 Optimized interceptor accesses where the property is on the object
1330 on which the interceptors is attached.
1331
1332 Fixed compilation problem on GCC 4.4 by changing the stack
1333 alignment to 16 bytes.
1334
1335 Fixed handle creation to follow stric aliasing rules.
1336
1337 Fixed compilation on FreeBSD.
1338
1339 Introduced API for forcing the deletion of a property ignoring
1340 interceptors and attributes.
1341
1342
sgjesse@chromium.org755c5b12009-05-29 11:04:38 +000013432009-05-29: Version 1.2.6
1344
1345 Added a histogram recording hit rates at different levels of the
1346 compilation cache.
1347
1348 Added stack overflow check for the RegExp analysis phase. Previously a
1349 very long regexp graph could overflow the stack with recursive calls.
1350
1351 Use a dynamic buffer when collecting log events in memory.
1352
1353 Added start/stop events to the profiler log.
1354
1355 Fixed infinite loop which could happen when setting a debug break while
1356 executing a RegExp compiled to native code.
1357
1358 Fixed handling of lastIndexOf called with negative index (issue 351).
1359
1360 Fixed irregular crash in profiler test (issue 358).
1361
1362 Fixed compilation issues with some versions of gcc.
1363
1364
kasperl@chromium.org71affb52009-05-26 05:44:31 +000013652009-05-26: Version 1.2.5
1366
1367 Fixed bug in initial boundary check for Boyer-Moore text
1368 search (issue 349).
1369
1370 Fixed compilation issues with MinGW and gcc 4.3+ and added support
1371 for armv7 and cortex-a8 architectures. Patches by Lei Zhang and
1372 Craig Schlenter.
1373
1374 Added a script cache to the debugger.
1375
1376 Optimized compilation performance by improving internal data
1377 structures and avoiding expensive property load optimizations for
1378 code that's infrequently executed.
1379
1380 Exposed the calling JavaScript context through the static API
1381 function Context::GetCalling().
1382
1383
kasperl@chromium.orgb3284ad2009-05-18 06:12:45 +000013842009-05-18: Version 1.2.4
1385
1386 Improved performance of floating point number allocation for ARM
1387 platforms.
1388
1389 Fixed crash when using the instanceof operator on functions with
1390 number values in their prototype chain (issue 341).
1391
1392 Optimized virtual frame operations in the code generator to speed
1393 up compilation time and allocated the frames in the zone.
1394
1395 Made the representation of virtual frames and jump targets in the
1396 code generator much more compact.
1397
1398 Avoided linear search for non-locals in scope code when resolving
1399 variables inside with and eval scopes.
1400
1401 Optimized lexical scanner by dealing with whitespace as part of
1402 the token scanning instead of as a separate step before it.
1403
1404 Changed the scavenging collector so that promoted objects do not
1405 reside in the old generation while their remembered set is being
1406 swept for pointers into the young generation.
1407
1408 Fixed numeric overflow handling when compiling count operations.
1409
1410
ager@chromium.org9085a012009-05-11 19:22:57 +000014112009-05-11: Version 1.2.3
1412
1413 Fixed bug in reporting of out-of-memory situations.
1414
1415 Introduced hidden prototypes on certain builtin prototype objects
1416 such as String.prototype to emulate JSC's behavior of restoring
1417 the original function when deleting functions from those prototype
1418 objects.
1419
1420 Fixed crash bug in the register allocator.
1421
1422
ager@chromium.org5ec48922009-05-05 07:25:34 +000014232009-05-04: Version 1.2.2
1424
1425 Fixed bug in array sorting for sparse arrays (issue 326).
1426
1427 Added support for adding a soname when building a shared library
1428 on Linux (issue 151).
1429
1430 Fixed bug caused by morphing internal ASCII strings to external
1431 two-byte strings. Slices over ASCII strings have to forward ASCII
1432 checks to the underlying buffer string.
1433
1434 Allowed API call-as-function handlers to be called as
1435 constructors.
1436
1437 Fixed a crash bug where an external string was disposed but a
1438 slice of the external string survived as a symbol.
1439
1440
ager@chromium.org3a37e9b2009-04-27 09:26:21 +000014412009-04-27: Version 1.2.1
1442
1443 Added EcmaScript 5 JSON object.
1444
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001445 Fixed bug in preemption support on ARM.
ager@chromium.org3a37e9b2009-04-27 09:26:21 +00001446
1447
ager@chromium.org65dad4b2009-04-23 08:48:43 +000014482009-04-23: Version 1.2.0
1449
1450 Optimized floating-point operations on ARM.
1451
1452 Added a number of extensions to the debugger API.
1453
1454 Changed the enumeration order for unsigned integer keys to always
1455 be numerical order.
1456
1457 Added a "read" extension to the shell sample.
1458
1459 Added support for Array.prototype.reduce and
1460 Array.prototype.reduceRight.
1461
1462 Added an option to the SCons build to control Microsoft Visual C++
1463 link-time code generation.
1464
1465 Fixed a number of bugs (in particular issue 315, issue 316,
1466 issue 317 and issue 318).
1467
1468
kasperl@chromium.org2d18d102009-04-15 13:27:32 +000014692009-04-15: Version 1.1.10
1470
1471 Fixed crash bug that occurred when loading a const variable in the
1472 presence of eval.
1473
1474 Allowed using with and eval in registered extensions in debug mode
1475 by fixing bogus assert.
1476
1477 Fixed the source position for function returns to enable the
1478 debugger to break there.
1479
1480
kasperl@chromium.orgd1e3e722009-04-14 13:38:25 +000014812009-04-14: Version 1.1.9
1482
1483 Made the stack traversal code in the profiler robust by avoiding
1484 to look into the heap.
1485
1486 Added name inferencing for anonymous functions to facilitate
1487 debugging and profiling.
1488
1489 Re-enabled stats timers in the developer shell (d8).
1490
1491 Fixed issue 303 by avoiding to shortcut cons-symbols.
1492
1493
kasperl@chromium.orgacae3782009-04-11 09:17:08 +000014942009-04-11: Version 1.1.8
1495
1496 Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).
1497
ager@chromium.org65dad4b2009-04-23 08:48:43 +00001498 Fixed step-in handling for Function.prototype.apply and call in
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00001499 the debugger (issue 269).
1500
1501 Fixed v8::Object::DeleteHiddenValue to not bail out when there
1502 are no hidden properties.
1503
ager@chromium.org65dad4b2009-04-23 08:48:43 +00001504 Added workaround for crash bug, where external symbol table
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00001505 entries with deleted resources would lead to NPEs when looking
1506 up in the symbol table.
1507
1508
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +000015092009-04-07: Version 1.1.7
1510
1511 Added support for easily importing additional environment
1512 variables into the SCons build.
1513
1514 Optimized strict equality checks.
1515
1516 Fixed crash in indexed setters on objects without a corresponding
1517 getter (issue 298).
1518
1519 Re-enabled script compilation cache.
1520
1521
ager@chromium.org8682a592009-04-01 10:47:14 +000015222009-04-01: Version 1.1.6
1523
1524 Reverted an unsafe code generator change.
1525
1526
ager@chromium.org71daaf62009-04-01 07:22:49 +000015272009-04-01: Version 1.1.5
1528
1529 Fixed bug that caused function literals to not be optimized as
1530 much as other functions.
1531
1532 Improved profiler support.
1533
1534 Fixed a crash bug in connection with debugger unloading.
1535
1536 Fixed a crash bug in the code generator caused by losing the
1537 information that a frame element was copied.
1538
1539 Fixed an exception propagation bug that could cause non-null
1540 return values when exceptions were thrown.
1541
1542
ager@chromium.org41826e72009-03-30 13:30:57 +000015432009-03-30: Version 1.1.4
1544
1545 Optimized String.prototype.match.
1546
1547 Improved the stack information in profiles.
1548
1549 Fixed bug in ARM port making it possible to compile the runtime
1550 system for thumb mode again.
1551
1552 Implemented a number of optimizations in the code generator.
1553
1554 Fixed a number of memory leaks in tests.
1555
1556 Fixed crash bug in connection with script source code and external
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +00001557 strings.
ager@chromium.org41826e72009-03-30 13:30:57 +00001558
1559
kasperl@chromium.orgf5aa8372009-03-24 14:47:14 +000015602009-03-24: Version 1.1.3
1561
1562 Fixed assertion failures in compilation of loop conditions.
1563
1564 Removed STL dependency from developer shell (d8).
1565
1566 Added infrastructure for protecting the V8 heap from corruption
1567 caused by memory modifications from the outside.
1568
1569
ager@chromium.orgbb29dc92009-03-24 13:25:23 +000015702009-03-24: Version 1.1.2
1571
1572 Improved frame merge code generated by the code generator.
1573
1574 Optimized String.prototype.replace.
1575
1576 Implemented __defineGetter__ and __defineSetter__ for properties
1577 with integer keys on non-array objects.
1578
1579 Improved debugger and profiler support.
1580
1581 Fixed a number of portability issues to allow compilation for
1582 smaller ARM devices.
1583
1584 Exposed object cloning through the API.
1585
1586 Implemented hidden properties. This is used to expose an identity
1587 hash for objects through the API.
1588
1589 Implemented restarting of regular expressions if their input
1590 string changes representation during preemption.
1591
1592 Fixed a code generator bug that could cause assignments in loops
1593 to be ignored if using continue to break out of the loop (issue
1594 284).
1595
1596
ager@chromium.org3a6061e2009-03-12 14:24:36 +000015972009-03-12: Version 1.1.1
1598
1599 Fixed an assertion in the new compiler to take stack overflow
1600 exceptions into account.
1601
1602 Removed exception propagation code that could cause crashes.
1603
1604 Fixed minor bug in debugger line number computations.
1605
1606 8-byte align the C stack on Linux and Windows to speed up floating
1607 point computations.
1608
1609
kasperl@chromium.org7be3c992009-03-12 07:19:55 +000016102009-03-12: Version 1.1.0
1611
1612 Improved code generation infrastructure by doing simple register
1613 allocation and constant folding and propagation.
1614
1615 Optimized regular expression matching by avoiding to create
1616 intermediate string arrays and by flattening nested array
1617 representations of RegExp data.
1618
1619 Traverse a few stack frames when recording profiler samples to
1620 include partial call graphs in the profiling output.
1621
1622 Added support for using OProfile to profile generated code.
1623
1624 Added remote debugging support to the D8 developer shell.
1625
1626 Optimized creation of nested literals like JSON objects.
1627
1628 Fixed a bug in garbage collecting unused maps and turned it on by
1629 default (--collect-maps).
1630
1631 Added support for running tests under Valgrind.
1632
1633
kasperl@chromium.org061ef742009-02-27 12:16:20 +000016342009-02-27: Version 1.0.3
1635
1636 Optimized double-to-integer conversions in bit operations by using
1637 SSE3 instructions if available.
1638
1639 Optimized initialization sequences that store to multiple
1640 properties of the same object.
1641
1642 Changed the D8 debugger frontend to use JSON messages.
1643
1644 Force garbage collections when disposing contexts.
1645
1646 Align code objects at 32-byte boundaries.
1647
1648
ager@chromium.org381abbb2009-02-25 13:23:22 +000016492009-02-25: Version 1.0.2
1650
1651 Improved profiling support by performing simple call stack
1652 sampling for ticks and by fixing a bug in the logging of code
1653 addresses.
1654
1655 Fixed a number of debugger issues.
1656
1657 Optimized code that uses eval.
1658
1659 Fixed a couple of bugs in the regular expression engine.
1660
1661 Reduced the size of generated code for certain regular expressions.
1662
1663 Removed JSCRE completely.
1664
1665 Fixed issue where test could not be run if there was a dot in the
1666 checkout path.
1667
1668
ager@chromium.org6f10e412009-02-13 10:11:16 +000016692009-02-13: Version 1.0.1
1670
1671 Fixed two crash-bugs in irregexp (issue 231 and 233).
1672
1673 Fixed a number of minor bugs (issue 87, 227 and 228).
1674
1675 Added support for morphing strings to external strings on demand
1676 to avoid having to create copies in the embedding code.
1677
1678 Removed experimental support for external symbol callbacks.
1679
1680
iposva@chromium.org245aa852009-02-10 00:49:54 +000016812009-02-09: Version 1.0.0
1682
1683 Fixed crash-bug in the code generation for case independent 16 bit
1684 backreferences.
ager@chromium.org6f10e412009-02-13 10:11:16 +00001685
iposva@chromium.org245aa852009-02-10 00:49:54 +00001686 Made shells more robust in the presence of string conversion
1687 failures (issue 224).
ager@chromium.org6f10e412009-02-13 10:11:16 +00001688
iposva@chromium.org245aa852009-02-10 00:49:54 +00001689 Fixed a potential infinite loop when attempting to resolve
1690 eval (issue 221).
ager@chromium.org6f10e412009-02-13 10:11:16 +00001691
iposva@chromium.org245aa852009-02-10 00:49:54 +00001692 Miscellaneous fixes to the new regular expression engine.
ager@chromium.org6f10e412009-02-13 10:11:16 +00001693
iposva@chromium.org245aa852009-02-10 00:49:54 +00001694 Reduced binary by stripping unneeded text from JavaScript library and
1695 minifying some JavaScript files.
1696
1697
ager@chromium.orgddb913d2009-01-27 10:01:48 +000016982009-01-27: Version 0.4.9
1699
1700 Enabled new regular expression engine.
1701
1702 Made a number of changes to the debugger protocol.
1703
1704 Fixed a number of bugs in the preemption support.
1705
1706 Added -p option to the developer shell to run files in parallel
1707 using preemption.
1708
1709 Fixed a number of minor bugs (including issues 176, 187, 189, 192,
1710 193, 198 and 201).
1711
1712 Fixed a number of bugs in the serialization/deserialization
1713 support for the ARM platform.
1714
1715
sgjesse@chromium.org715915b2009-01-19 16:08:47 +000017162009-01-19: Version 0.4.8.1
1717
1718 Minor patch to debugger support.
1719
1720
ager@chromium.org32912102009-01-16 10:38:43 +000017212009-01-16: Version 0.4.8
1722
1723 Fixed string length bug on ARM (issue 171).
1724
1725 Made most methods in the API const.
1726
1727 Optimized object literals by improving data locality.
1728
1729 Fixed bug that caused incomplete functions to be cached in case of
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00001730 stack overflow exceptions.
ager@chromium.org32912102009-01-16 10:38:43 +00001731
1732 Fixed bugs that caused catch variables and variables introduced by
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00001733 eval to behave incorrectly when using accessors (issues 186, 190
1734 and 191).
ager@chromium.org32912102009-01-16 10:38:43 +00001735
1736
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +000017372009-01-06: Version 0.4.7
1738
ager@chromium.org32912102009-01-16 10:38:43 +00001739 Minor bugfixes and optimizations.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001740
ager@chromium.org32912102009-01-16 10:38:43 +00001741 Added command line debugger to D8 shell.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001742
ager@chromium.org32912102009-01-16 10:38:43 +00001743 Fixed subtle bug that caused the wrong 'this' to be used when
1744 calling a caught function in a catch clause.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001745
ager@chromium.org32912102009-01-16 10:38:43 +00001746 Inline array loads within loops directly in the code instead of
1747 always calling a stub.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001748
ager@chromium.org32912102009-01-16 10:38:43 +00001749
ager@chromium.org8bb60582008-12-11 12:02:20 +000017502008-12-11: Version 0.4.6
1751
1752 Fixed exception reporting bug where certain exceptions were
1753 incorrectly reported as uncaught.
1754
1755 Improved the memory allocation strategy used during compilation to
1756 make running out of memory when compiling huge scripts less
1757 likely.
1758
1759 Optimized String.replace by avoiding the construction of certain
1760 sub strings.
1761
1762 Fixed bug in code generation for large switch statements on ARM.
1763
1764 Fixed bug that caused V8 to change the global object template
1765 passed in by the user.
1766
1767 Changed the API for creating object groups used during garbage
1768 collection. Entire object groups are now passed to V8 instead of
1769 individual members of the groups.
1770
ager@chromium.org32912102009-01-16 10:38:43 +00001771
ager@chromium.orga74f0da2008-12-03 16:05:52 +000017722008-12-03: Version 0.4.5
iposva@chromium.org96f667e2008-11-26 23:48:02 +00001773
ager@chromium.orga74f0da2008-12-03 16:05:52 +00001774 Added experimental API support for allocating V8 symbols as
1775 external strings.
1776
1777 Fixed bugs in debugging support on ARM.
1778
1779 Changed eval implementation to correctly detect whether or not a
1780 call to eval is aliased.
1781
1782 Fixed bug caused by a combination of the compilation cache and
1783 dictionary probing in native code. The bug caused us to sometimes
1784 call functions that had not yet been compiled.
1785
1786 Added platform support for FreeBSD.
1787
1788 Added support for building V8 on Windows with either the shared or
1789 static version of MSVCRT
ager@chromium.org32912102009-01-16 10:38:43 +00001790
iposva@chromium.org96f667e2008-11-26 23:48:02 +00001791 Added the v8::jscre namespace around the jscre functions to avoid
1792 link errors (duplicate symbols) when building Google Chrome.
1793
ager@chromium.orga74f0da2008-12-03 16:05:52 +00001794 Added support for calling a JavaScript function with the current
1795 debugger execution context as its argument to the debugger
1796 interface.
1797
1798 Changed the type of names of counters from wchar_t to char.
1799
1800 Changed the Windows system call used to compute daylight savings
1801 time. The system call that we used to use became four times
1802 slower on WinXP SP3.
1803
1804 Added support in the d8 developer shell for memory-mapped counters
1805 and added a stats-viewer tool.
1806
1807 Fixed bug in upper/lower case mappings (issue 149).
1808
iposva@chromium.org96f667e2008-11-26 23:48:02 +00001809
ager@chromium.org3bf7b912008-11-17 09:09:45 +000018102008-11-17: Version 0.4.4
1811
1812 Reduced code size by using shorter instruction encoding when
1813 possible.
1814
1815 Added a --help option to the shell sample and to the d8 shell.
1816
1817 Added visual studio project files for building the ARM simulator.
1818
1819 Fixed a number of ARM simulator issues.
1820
1821 Fixed bug in out-of-memory handling on ARM.
1822
1823 Implemented shell support for passing arguments to a script from
1824 the command line.
1825
1826 Fixed bug in date code that made certain date functions return -0
1827 instead of 0 for dates before the epoch.
1828
1829 Restricted applications of eval so it can only be used in the
1830 context of the associated global object.
1831
1832 Treat byte-order marks as whitespace characters.
ager@chromium.org32912102009-01-16 10:38:43 +00001833
1834
ager@chromium.org870a0b62008-11-04 11:43:05 +000018352008-11-04: Version 0.4.3
1836
1837 Added support for API accessors that prohibit overwriting by
1838 accessors defined in JavaScript code by using __defineGetter__ and
1839 __defineSetter__.
1840
1841 Improved handling of conditionals in test status files.
1842
1843 Introduced access control in propertyIsEnumerable.
1844
1845 Improved performance of some string operations by caching
1846 information about the type of the string between operations.
1847
1848 Fixed bug in fast-case code for switch statements that only have
1849 integer labels.
ager@chromium.org32912102009-01-16 10:38:43 +00001850
ager@chromium.org870a0b62008-11-04 11:43:05 +00001851
kasperl@chromium.org9bbf9682008-10-30 11:53:07 +000018522008-10-30: Version 0.4.2
1853
1854 Improved performance of Array.prototype.concat by moving the
1855 implementation to C++ (issue 123).
1856
1857 Fixed heap growth policy to avoid growing old space to its maximum
1858 capacity before doing a garbage collection and fixed issue that
1859 would lead to artificial out of memory situations (issue 129).
1860
1861 Fixed Date.prototype.toLocaleDateString to return the date in the
1862 same format as WebKit.
1863
1864 Added missing initialization checks to debugger API.
1865
1866 Added removing of unused maps during GC.
1867
1868
kasperl@chromium.org9fe21c62008-10-28 08:53:51 +000018692008-10-28: Version 0.4.1
1870
1871 Added caching of RegExp data in compilation cache.
1872
1873 Added Visual Studio project file for d8 shell.
1874
1875 Fixed function call performance regression introduced in version
1876 0.4.0 when splitting the global object in two parts (issue 120).
1877
1878 Fixed issue 131 by checking for empty handles before throwing and
1879 reporting exceptions.
1880
1881
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +000018822008-10-23: Version 0.4.0
1883
1884 Split the global object into two parts: The state holding global
1885 object and the global object proxy.
1886
1887 Fixed bug that affected the value of an assignment to an element
1888 in certain cases (issue 116).
1889
1890 Added GetPropertyNames functionality (issue 33) and extra Date
1891 functions (issue 77) to the API.
1892
1893 Changed WeakReferenceCallback to take a Persistent<Value> instead
1894 of a Persistent<Object> (issue 101).
1895
1896 Fixed issues with message reporting for exceptions in try-finally
1897 blocks (issues 73 and 75).
1898
ager@chromium.org32912102009-01-16 10:38:43 +00001899 Optimized flattening of strings and string equality checking.
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +00001900
1901 Improved Boyer-Moore implementation for faster indexOf operations.
1902
1903 Added development shell (d8) which includes counters and
1904 completion support.
1905
1906 Fixed problem with the receiver passed to functions called from
1907 eval (issue 124).
1908
1909
ager@chromium.org7c537e22008-10-16 08:43:32 +000019102008-10-16: Version 0.3.5
1911
1912 Improved string hash-code distribution by excluding bit-field bits
1913 from the hash-code.
1914
1915 Changed string search algorithm used in indexOf from KMP to
1916 Boyer-Moore.
1917
1918 Improved the generated code for the instanceof operator.
1919
1920 Improved performance of slow-case string equality checks by
1921 specializing the code based on the string representation.
1922
1923 Improve the handling of out-of-memory situations (issue 70).
1924
1925 Improved performance of strict equality checks.
1926
1927 Improved profiler output to make it easier to see anonymous
1928 functions.
1929
1930 Improved performance of slow-case keyed loads.
1931
1932 Improved property access performance by allocating a number of
1933 properties in the front object.
1934
1935 Changed the toString behavior on the built-in object constructors
1936 to print [native code] instead of the actual source. Some web
1937 applications do not like constructors with complex toString
1938 results.
ager@chromium.org32912102009-01-16 10:38:43 +00001939
ager@chromium.org7c537e22008-10-16 08:43:32 +00001940
kasperl@chromium.org41044eb2008-10-06 08:24:46 +000019412008-10-06: Version 0.3.4
1942
1943 Changed Array.prototype.sort to use quick sort.
1944
1945 Fixed code generation issue where leaving a finally block with
1946 break or continue would accumulate elements on the expression
1947 stack (issue 86).
1948
1949 Made sure that the name accessor on functions returns the expected
1950 names for builtin JavaScript functions and C++ callback functions.
1951
1952 Added fast case code for extending the property storage array of
1953 JavaScript objects.
1954
1955 Ported switch statement optimizations introduced in version 0.3.3
1956 to the ARM code generator.
1957
1958 Allowed GCC to use strict-aliasing rules when compiling.
1959
1960 Improved performance of arguments object allocation by taking care
1961 of arguments adaptor frames in the generated code.
1962
1963 Updated the V8 benchmark suite to version 2.
1964
1965
ager@chromium.org236ad962008-09-25 09:45:57 +000019662008-09-25: Version 0.3.3
1967
1968 Improved handling of relocation information to enable more
1969 peep-hole optimizations.
1970
1971 Optimized switch statements where all labels are constant small
1972 integers.
1973
1974 Optimized String.prototype.indexOf for common cases.
1975
1976 Fixed more build issues (issue 80).
1977
1978 Fixed a couple of profiler issues.
1979
1980 Fixed bug where the body of a function created using the Function
1981 constructor was not allowed to end with a single-line comment
1982 (issue 85).
1983
1984 Improved handling of object literals by canonicalizing object
1985 literal maps. This will allow JSON objects with the same set of
1986 properties to share the same map making inline caching work better
1987 for JSON objects.
ager@chromium.org32912102009-01-16 10:38:43 +00001988
ager@chromium.org236ad962008-09-25 09:45:57 +00001989
kasperl@chromium.orgb9123622008-09-17 14:05:56 +000019902008-09-17: Version 0.3.2
1991
1992 Generalized the EvalCache into a CompilationCache and enabled it
1993 for scripts too. The current strategy is to retire all entries
1994 whenever a mark-sweep collection is started.
1995
1996 Fixed bug where switch statements containing only a default case
1997 would lead to an unbalanced stack (issue 69).
1998
1999 Fixed bug that made access to the function in a named function
2000 expression impossible in certain situations (issue 24).
2001
2002 Fixed even more build issues.
2003
2004 Optimized calling conventions on ARM. The conventions on ARM and
2005 IA-32 now match.
2006
2007 Removed static initializers for flags and counters.
2008
2009 Improved inline caching behavior for uncommon cases where lazily
2010 loading Date and RegExp code could force certain code paths go
2011 megamorphic.
2012
2013 Removed arguments adaption for builtins written in C++. This
2014 makes Array.prototype.push and Array.prototype.pop slightly
2015 faster.
2016
2017
ager@chromium.org9258b6b2008-09-11 09:11:10 +000020182008-09-11: Version 0.3.1
2019
2020 Fixed a number of build issues.
2021
2022 Fixed problem with missing I-cache flusing on ARM.
2023
2024 Changed space layout in memory management by splitting up
2025 code space into old data space and code space.
2026
2027 Added utf-8 conversion support to the API (issue 57).
2028
2029 Optimized repeated calls to eval with the same strings. These
2030 repeated calls are common in web applications.
2031
2032 Added Xcode project file.
2033
2034 Optimized a couple of Array operation.
2035
2036 Fixed parser bug by checking for end-of-string when parsing break
2037 and continue (issue 35).
2038
2039 Fixed problem where asian characters were not categorized as
2040 letters.
2041
2042 Fixed bug that disallowed calling functions fetched from an array
2043 using a string as an array index (issue 32).
2044
2045 Fixed bug where the internal field count on object templates were
2046 sometimes ignored (issue 54).
2047
2048 Added -f option to the shell sample for compatibility with other
2049 engines (issue 18).
2050
2051 Added source info to TryCatches in the API.
2052
2053 Fixed problem where the seed for the random number generator was
2054 clipped in a double to unsigned int conversion.
2055
2056 Fixed bug where cons string symbols were sometimes converted to
2057 non-symbol flat strings during GC.
2058
2059 Fixed bug in error reporting when attempting to convert null to an
2060 object.
ager@chromium.org32912102009-01-16 10:38:43 +00002061
2062
ager@chromium.orgc27e4e72008-09-04 13:52:27 +000020632008-09-04: Version 0.3.0
2064
2065 Added support for running tests on the ARM simulator.
2066
2067 Fixed bug in the 'in' operator where negative indices were not
2068 treated correctly.
2069
2070 Fixed build issues on gcc-4.3.1.
2071
2072 Changed Date.prototype.toLocaleTimeString to not print the
2073 timezone part of the time.
2074
2075 Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
2076 with user code.
2077
2078
v8.team.kasperl727e9952008-09-02 14:56:44 +000020792008-09-02: Version 0.2.5
2080
2081 Renamed the top level directory 'public' to 'include'.
2082
2083 Added 'env' option to the SCons build scripts to support
2084 overriding the ENV part of the build environment. This is mostly
2085 to support Windows builds in cases where SCons cannot find the
2086 correct paths to the Windows SDK, as these paths cannot be passed
2087 through shell environment variables.
2088
2089 Enabled "Buffer Security Check" on for the Windows SCons build and
2090 added the linker option /OPT:ICF as an optimization.
2091
2092 Added the V8 benchmark suite to the repository.
2093
2094
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +000020952008-09-01: Version 0.2.4
2096
2097 Included mjsunit JavaScript test suite and C++ unit tests.
2098
2099 Changed the shell sample to not print the result of executing a
2100 script provided on the command line.
2101
2102 Fixed issue when building samples on Windows using a shared V8
2103 library. Added visibility option on Linux build which makes the
2104 generated library 18% smaller.
2105
2106 Changed build system to accept multiple build modes in one build
2107 and generate separate objects, libraries and executables for each
2108 mode.
2109
2110 Removed deferred negation optimization (a * -b => -(a * b)) since
2111 this visibly changes operand conversion order.
2112
2113 Improved parsing performance by introducing stack guard in
2114 preparsing. Without a stack guard preparsing always bails out
2115 with stack overflow.
2116
2117 Changed shell sample to take flags directly from the command-line.
2118 Added API call that implements this.
2119
2120 Added load, quit and version functions to the shell sample so it's
2121 easier to run benchmarks and tests.
2122
2123 Fixed issue with building samples and cctests on 64-bit machines.
2124
2125 Fixed bug in the runtime system where the prototype chain was not
2126 always searched for a setter when setting a property that does not
2127 exist locally.
ager@chromium.org32912102009-01-16 10:38:43 +00002128
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +00002129
mads.s.agercbaa0602008-08-14 13:41:48 +000021302008-08-14: Version 0.2.3
2131
2132 Improved performance of garbage collection by moving the
2133 function that updates pointers during compacting collection
2134 into the updating visitor. This gives the compiler a better
2135 chance to inline and avoid a function call per (potential)
2136 pointer.
2137
2138 Extended the shell sample with a --runtime-flags option.
2139
2140 Added Visual Studio project files for the shell.cc and
2141 process.cc samples.
2142
2143
21442008-08-13: Version 0.2.2
mads.s.ager31e71382008-08-13 09:32:07 +00002145
2146 Improved performance of garbage collection by changing the way
2147 we use the marking stack in the event of stack overflow during
2148 full garbage collection and by changing the way we mark roots.
2149
2150 Cleaned up ARM version by removing top of stack caching and by
2151 introducing push/pop elimination.
2152
2153 Cleaned up the way runtime functions are called to allow
2154 runtime calls with no arguments.
2155
2156 Changed Windows build options to make sure that exceptions are
2157 disabled and that optimization flags are enabled.
2158
2159 Added first version of Visual Studio project files.
2160
2161
mads.s.agercbaa0602008-08-14 13:41:48 +000021622008-08-06: Version 0.2.1
mads.s.ager@gmail.com769cc962008-08-06 10:02:49 +00002163
2164 Improved performance of unary addition by avoiding runtime calls.
2165
2166 Fixed the handling of '>' and '<=' to use right-to-left conversion
2167 and left-to-right evaluation as specified by ECMA-262.
2168
2169 Fixed a branch elimination bug on the ARM platform where incorrect
2170 code was generated because of overly aggressive branch
2171 elimination.
2172
2173 Improved performance of code that repeatedly assigns the same
2174 function to the same property of different objects with the same
2175 map.
2176
2177 Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler
2178 no longer expects DEBUG to be defined.
2179
2180 Added platform-nullos.cc to serve as the basis for new platform
2181 implementations.
2182
mads.s.ager31e71382008-08-13 09:32:07 +00002183
mads.s.agercbaa0602008-08-14 13:41:48 +000021842008-07-30: Version 0.2.0
kasper.lund7276f142008-07-30 08:49:36 +00002185
2186 Changed all text files to have native svn:eol-style.
2187
2188 Added a few samples and support for building them. The samples
2189 include a simple shell that can be used to benchmark and test V8.
2190
2191 Changed V8::GetVersion to return the version as a string.
2192
2193 Added source for lazily loaded scripts to snapshots and made
2194 serialization non-destructive.
2195
2196 Improved ARM support by fixing the write barrier code to use
2197 aligned loads and stores and by removing premature locals
2198 optimization that relied on broken support for callee-saved
2199 registers (removed).
2200
2201 Refactored the code for marking live objects during garbage
2202 collection and the code for allocating objects in paged
2203 spaces. Introduced an abstraction for the map word of a heap-
2204 allocated object and changed the memory allocator to allocate
2205 executable memory only for spaces that may contain code objects.
2206
2207 Moved StringBuilder to utils.h and ScopedLock to platform.h, where
2208 they can be used by debugging and logging modules. Added
2209 thread-safe message queues for dealing with debugger events.
2210
2211 Fixed the source code reported by toString for certain builtin
2212 empty functions and made sure that the prototype property of a
2213 function is enumerable.
2214
2215 Improved performance of converting values to condition flags in
2216 generated code.
2217
2218 Merged disassembler-{arch} files.
2219
2220
mads.s.agercbaa0602008-08-14 13:41:48 +000022212008-07-28: Version 0.1.4
kasper.lundaf4734f2008-07-28 12:50:18 +00002222
2223 Added support for storing JavaScript stack traces in a stack
2224 allocated buffer to make it visible in shallow core dumps.
2225 Controlled by the --preallocate-message-memory flag which is
2226 disabled by default.
2227
2228
mads.s.agercbaa0602008-08-14 13:41:48 +000022292008-07-25: Version 0.1.3
kasper.lund44510672008-07-25 07:37:58 +00002230
2231 Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
2232 map transitions would count as properties.
2233
2234 Allowed aliased eval invocations by treating them as evals in the
2235 global context. This may change in the future.
2236
2237 Added support for accessing the last entered context through the
2238 API and renamed Context::Current to Context::GetCurrent and
2239 Context::GetSecurityContext to Context::GetCurrentSecurityContext.
2240
2241 Fixed bug in the debugger that would cause the debugger scripts to
2242 be recursively loaded and changed all disabling of interrupts to
2243 be block-structured.
2244
2245 Made snapshot data read-only to allow it to be more easily shared
2246 across multiple users of V8 when linked as a shared library.
2247
2248
mads.s.agercbaa0602008-08-14 13:41:48 +000022492008-07-16: Version 0.1.2
kasper.lund212ac232008-07-16 07:07:30 +00002250
2251 Fixed building on Mac OS X by recognizing i386 and friends as
2252 IA-32 platforms.
2253
2254 Added propagation of stack overflow exceptions that occur while
2255 compiling nested functions.
2256
2257 Improved debugger with support for recursive break points and
2258 handling of exceptions that occur in the debugger JavaScript code.
2259
2260 Renamed GetInternal to GetInternalField and SetInternal to
2261 SetInternalField in the API and moved InternalFieldCount and
2262 SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
2263
2264
mads.s.agercbaa0602008-08-14 13:41:48 +000022652008-07-09: Version 0.1.1
kasper.lundbd3ec4e2008-07-09 11:06:54 +00002266
2267 Fixed bug in stack overflow check code for IA-32 targets where a
2268 non-tagged value in register eax was pushed to the stack.
2269
2270 Fixed potential quadratic behavior when converting strings to
2271 numbers.
2272
2273 Fixed bug where the return value from Object::SetProperty could
2274 end up being the property holder instead of the written value.
2275
2276 Improved debugger support by allowing nested break points and by
2277 dealing with stack-overflows when compiling functions before
2278 setting break points in them.
2279
2280
mads.s.agercbaa0602008-08-14 13:41:48 +000022812008-07-03: Version 0.1.0
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00002282
kasper.lundbd3ec4e2008-07-09 11:06:54 +00002283 Initial export.
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00002284