blob: d80638bcf716077d38854dd59b3d8c0837ba443a [file] [log] [blame]
fschneider@chromium.org9e3e0b62011-01-03 10:16:46 +000012011-01-03: Version 3.0.5
2
3 Fixed a couple of cast errors for gcc-3.4.3.
4
5 Performance improvements in GC and IA32 code generator.
6
7
whesse@chromium.org023421e2010-12-21 12:19:12 +000082010-12-21: Version 3.0.4
9
10 Added Date::ResetCache() to the API so that the cached values in the
11 Date object can be reset to allow live DST / timezone changes.
12
13 Extended existing support for printing (while debugging) the contents
14 of objects. Added support for printing objects from release builds.
15
16 Fixed V8 issues 989, 1006, and 1007.
17
18
ager@chromium.org5f0c45f2010-12-17 08:51:21 +0000192010-12-17: Version 3.0.3
20
21 Reapplied all changes for version 3.0.1.
22
23 Improved debugger protocol for remote debugging.
24
25 Added experimental support for using gyp to generate build files
26 for V8.
27
28 Fixed implementation of String::Write in the API (issue 975).
29
30
lrn@chromium.org8541d772010-12-15 12:05:09 +0000312010-12-15: Version 3.0.2
32
33 Revert version 3.0.1 and patch 3.0.1.1.
34
35
kmillikin@chromium.orgfacd82d2010-12-13 18:00:51 +0000362010-12-13: Version 3.0.1
37
38 Added support for an experimental internationalization API as an
39 extension. This extension is disabled by default but can be enabled
40 when building V8. The ECMAScript internationalization strawman is
41 at http://wiki.ecmascript.org/doku.php?id=strawman:i18n_api.
42
43 Made RegExp character class parsing stricter. This mirrors a change
44 to RegExp parsing in WebKit.
45
46 Fixed a bug in Object.defineProperty when used to change attributes
47 of an existing property. It incorrectly set the property value to
48 undefined (issue 965).
49
50 Fixed several different compilation failures on various platforms
51 caused by the 3.0.0 release.
52
53 Optimized Math.pow so it can work on unboxed doubles.
54
55 Sped up quoting of JSON strings by removing one traversal of the
56 string.
57
58
kasperl@chromium.orga5551262010-12-07 12:49:48 +0000592010-12-07: Version 3.0.0
60
61 Improved performance by (partially) addressing issue 957 on
62 IA-32. Still needs more work for the other architectures.
63
64
ager@chromium.orgbeb25712010-11-29 08:02:25 +0000652010-11-29: Version 2.5.9
66
67 Fixed crashes during GC caused by partially initialize heap
68 objects.
69
70 Fixed bug in process sample that caused memory leaks.
71
72 Improved performance on ARM by implementing missing stubs and
73 inlining.
74
75 Improved heap profiler support.
76
77 Added separate seeding on Windows of the random number generator
78 used internally by the compiler (issue 936).
79
80 Exposed API for getting the name of the function used to construct
81 an object.
82
83 Fixed date parser to handle one and two digit millisecond
84 values (issue 944).
85
86 Fixed number parsing to disallow space between sign and
87 digits (issue 946).
88
89
vegorov@chromium.org21b5e952010-11-23 10:24:40 +0000902010-11-23: Version 2.5.8
91
92 Removed dependency on Gay's dtoa.
93
94 Improved heap profiler precision and speed.
95
96 Reduced overhead of callback invocations on ARM.
97
98
erik.corry@gmail.com4a6c3272010-11-18 12:04:40 +0000992010-11-18: Version 2.5.7
100
101 Fixed obscure evaluation order bug (issue 931).
102
103 Split the random number state between JavaScript and the private API.
104
105 Fixed performance bug causing GCs when generating stack traces on
106 code from very large scripts.
107
108 Fixed bug in parser that allowed (foo):42 as a labelled statement
109 (issue 918).
110
111 Provide more accurate results about used heap size via
112 GetHeapStatistics.
113
114 Allow build-time customization of the max semispace size.
115
116 Made String.prototype.split honor limit when separator is empty
117 (issue 929).
118
119 Added missing failure check after expecting an identifier in
120 preparser (Chromium issue 62639).
121
122
ager@chromium.org01fe7df2010-11-10 11:59:11 +00001232010-11-10: Version 2.5.6
124
125 Added support for VFP rounding modes to the ARM simulator.
126
127 Fixed multiplication overflow bug (issue 927).
128
129 Added a limit for the amount of executable memory (issue 925).
130
131
whesse@chromium.orgf0ac72d2010-11-08 12:47:26 +00001322010-11-08: Version 2.5.5
133
134 Added more aggressive GC of external objects in near out-of-memory
135 situations.
136
137 Fixed a bug that gave the incorrect result for String.split called
138 on the empty string (issue 924).
139
140
lrn@chromium.orgfa943b72010-11-03 08:14:36 +00001412010-11-03: Version 2.5.4
142
whesse@chromium.orgf0ac72d2010-11-08 12:47:26 +0000143 Improved V8 VFPv3 runtime detection to address issue 914.
lrn@chromium.orgfa943b72010-11-03 08:14:36 +0000144
145
fschneider@chromium.orge03fb642010-11-01 12:34:09 +00001462010-11-01: Version 2.5.3
147
148 Fixed a bug that prevents constants from overwriting function values
149 in object literals (issue 907).
150
151 Fixed a bug with reporting of impossible nested calls of DOM functions
152 (issue http://crbug.com/60753).
153
154
lrn@chromium.org303ada72010-10-27 09:33:13 +00001552010-10-27: Version 2.5.2
156
157 Improved sampler resolution on Linux.
158
159 Allowed forcing the use of a simulator from the build script
160 independently of the host architecture.
161
162 Fixed FreeBSD port (Issue 912).
163
164 Made windows-tick-processor respect D8_PATH.
165
166 Implemented --noinline-new flag fully on IA32, X64 and ARM platforms.
167
168
whesse@chromium.org4a5224e2010-10-20 12:37:07 +00001692010-10-20: Version 2.5.1
170
171 Fixed bug causing spurious out of memory exceptions
172 (issue http://crbug.com/54580).
173
174 Fixed compilation error on Solaris platform (issue 901).
175
176 Fixed error in strtod (string to floating point number conversion)
177 due to glibc's use of 80-bit floats in the FPU on 32-bit linux.
178
179 Adjusted randomized allocations of executable memory to have 64k
180 granularity (issue http://crbug.com/56036).
181
182 Supported profiling using kernel perf_events on linux. Added ll_prof
183 script to tools and --ll-prof flag to V8.
184
185
vegorov@chromium.org42841962010-10-18 11:18:59 +00001862010-10-18: Version 2.5.0
187
188 Fixed bug in cache handling of lastIndex on global regexps
189 (issue http://crbug.com/58740).
190
191 Added USE_SIMULATOR macro that explicitly indicates that we wish to use
192 the simulator as the execution engine (by Mark Lam <mark.lam@palm.com>
kmillikin@chromium.orgfacd82d2010-12-13 18:00:51 +0000193 from Hewlett-Packard Development Company, LP).
vegorov@chromium.org42841962010-10-18 11:18:59 +0000194
195 Fixed compilation error on ARM with gcc 4.4 (issue 894).
196
197
1982010-10-13: Version 2.4.9
ager@chromium.orgb61a0d12010-10-13 08:35:23 +0000199
200 Fixed a bug in the handling of conditional expressions in test
201 contexts in compiler for top-level code.
202
203 Added "//@ sourceURL" information to the StackTrace API.
204
205 Exposed RegExp construction through the API.
206
207
ricow@chromium.orgeb7c1442010-10-04 08:54:21 +00002082010-10-04: Version 2.4.8
209
210 Fixed a bug in ResumeProfilerEx causing it to not always write out the
211 whole snapshot (issue 868).
212
213 Performance improvements on all platforms.
214
215
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +00002162010-09-30: Version 2.4.7
217
218 Changed the command-line flag --max-new-space-size to be in kB and the
219 flag --max-old-space-size to be in MB (previously they were in bytes).
220
221 Added Debug::CancelDebugBreak to the debugger API.
222
223 Fixed a bug in getters for negative numeric property names
224 (https://bugs.webkit.org/show_bug.cgi?id=46689).
225
226 Performance improvements on all platforms.
227
228
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +00002292010-09-27: Version 2.4.6
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +0000230
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +0000231 Fixed assertion failure related to copy-on-write arrays (issue 876).
232
233 Fixed build failure of 64-bit V8 on Windows.
234
235 Fixed a bug in RegExp (issue http://crbug.com/52801).
236
237 Improved the profiler's coverage to cover more functions (issue 858).
238
239 Fixed error in shift operators on 64-bit V8
240 (issue http://crbug.com/54521).
241
242
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002432010-09-22: Version 2.4.5
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +0000244
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000245 Changed the RegExp benchmark to exercise the regexp engine on different
246 inputs by scrambling the input strings.
247
248 Fixed a bug in keyed loads on strings.
249
250 Fixed a bug with loading global function prototypes.
251
252 Fixed a bug with profiling RegExp calls (issue http://crbug.com/55999).
253
254 Performance improvements on all platforms.
255
256
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00002572010-09-15: Version 2.4.4
258
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000259 Fixed bug with hangs on very large sparse arrays.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000260
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000261 Now tries harder to free up memory when running out of space.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000262
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000263 Added heap snapshots to JSON format to API.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000264
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000265 Recalibrated benchmarks.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000266
267
sgjesse@chromium.org2ec107f2010-09-13 09:19:46 +00002682010-09-13: Version 2.4.3
269
270 Made Date.parse properly handle TZ offsets (issue 857).
271
272 Performance improvements on all platforms.
273
274
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00002752010-09-08: Version 2.4.2
276
277 Fixed GC crash bug.
278
279 Fixed stack corruption bug.
280
281 Fixed compilation for newer C++ compilers that found Operand(0)
282 ambiguous.
283
284
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00002852010-09-06: Version 2.4.1
286
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000287 Added the ability for an embedding application to receive a callback
288 when V8 allocates (V8::AddMemoryAllocationCallback) or deallocates
289 (V8::RemoveMemoryAllocationCallback) from the OS.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000290
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000291 Fixed several JSON bugs (including issue 855).
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000292
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000293 Fixed memory overrun crash bug triggered during V8's tick-based
294 profiling.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000295
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000296 Performance improvements on all platforms.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000297
298
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00002992010-09-01: Version 2.4.0
300
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000301 Fixed bug in Object.freeze and Object.seal when Array.prototype or
302 Object.prototype are changed (issue 842).
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000303
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000304 Updated Array.splice to follow Safari and Firefox when called
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000305 with zero arguments.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000306
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000307 Fixed a missing live register when breaking at keyed loads on ARM.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000308
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000309 Performance improvements on all platforms.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000310
311
ricow@chromium.org65fae842010-08-25 15:26:24 +00003122010-08-25: Version 2.3.11
313
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000314 Fixed bug in RegExp related to copy-on-write arrays.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000315
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000316 Refactored tools/test.py script, including the introduction of
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000317 VARIANT_FLAGS that allows specification of sets of flags with which
318 all tests should be run.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000319
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000320 Fixed a bug in the handling of debug breaks in CallIC.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000321
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000322 Performance improvements on all platforms.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000323
324
erik.corry@gmail.com145eff52010-08-23 11:36:18 +00003252010-08-23: Version 2.3.10
326
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000327 Fixed bug in bitops on ARM.
erik.corry@gmail.com145eff52010-08-23 11:36:18 +0000328
329 Build fixes for unusual compilers.
330
331 Track high water mark for RWX memory.
332
333 Performance improvements on all platforms.
334
335
ricow@chromium.org0b9f8502010-08-18 07:45:01 +00003362010-08-18: Version 2.3.9
337
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000338 Fixed compilation for ARMv4 on OpenBSD/FreeBSD.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000339
340 Removed specialized handling of GCC 4.4 (issue 830).
341
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000342 Fixed DST cache to take into account the suspension of DST in
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000343 Egypt during the 2010 Ramadan (issue http://crbug.com/51855).
344
ricow@chromium.org65fae842010-08-25 15:26:24 +0000345 Performance improvements on all platforms.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000346
347
ager@chromium.orgea4f62e2010-08-16 16:28:43 +00003482010-08-16: Version 2.3.8
349
350 Fixed build with strict aliasing on GCC 4.4 (issue 463).
351
352 Fixed issue with incorrect handling of custom valueOf methods on
353 string wrappers (issue 760).
354
355 Fixed compilation for ARMv4 (issue 590).
356
357 Improved performance.
358
359
vegorov@chromium.org26c16f82010-08-11 13:41:03 +00003602010-08-11: Version 2.3.7
361
362 Reduced size of heap snapshots produced by heap profiler (issue 783).
363
364 Introduced v8::Value::IsRegExp method.
365
366 Fixed CPU profiler crash in start / stop sequence when non-existent
367 name is passed (issue http://crbug.com/51594).
368
369 Introduced new indexed property query callbacks API (issue 816). This
370 API is guarded by USE_NEW_QUERY_CALLBACK define and is disabled
371 by default.
372
373 Removed support for object literal get/set with number/string
374 property name.
375
376 Fixed handling of JSObject::elements in CalculateNetworkSize
377 (issue 822).
378
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000379 Allowed compiling with strict aliasing enabled on GCC 4.4 (issue 463).
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000380
381
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +00003822010-08-09: Version 2.3.6
383
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000384 RegExp literals create a new object every time they are evaluated
385 (issue 704).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000386
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000387 Object.seal and Object.freeze return the modified object (issue 809).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000388
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000389 Fixed building using GCC 4.4.4.
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000390
391
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +00003922010-08-04: Version 2.3.5
393
394 Added support for ES5 property names. Object initialisers and
395 dot-notation property access now allows keywords. Also allowed
396 non-identifiers after "get" or "set" in an object initialiser.
397
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000398 Randomized the addresses of allocated executable memory on Windows.
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +0000399
400
whesse@chromium.orge90029b2010-08-02 11:52:17 +00004012010-08-02: Version 2.3.4
402
403 Fixed problems in implementation of ES5 function.prototype.bind.
404
405 Fixed error when using apply with arguments object on ARM (issue 784).
406
407 Added setting of global flags to debugger protocol.
408
409 Fixed an error affecting cached results of sin and cos (issue 792).
410
411 Removed memory leak from a boundary case where V8 is not initialized.
412
413 Fixed issue where debugger could set breakpoints outside the body
414 of a function.
415
416 Fixed issue in debugger when using both live edit and step in features.
417
418 Added Number-letter (Nl) category to Unicode tables. These characters
419 can now be used in identifiers.
420
421 Fixed an assert failure on X64 (issue 806).
422
423 Performance improvements on all platforms.
424
425
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +00004262010-07-26: Version 2.3.3
427
428 Fixed error when building the d8 shell in a fresh checkout.
429
430 Implemented Function.prototype.bind (ES5 15.3.4.5).
431
432 Fixed an error in inlined stores on ia32.
433
434 Fixed an error when setting a breakpoint at the end of a function
435 that does not end with a newline character.
436
437 Performance improvements on all platforms.
438
439
fschneider@chromium.orged78ffd2010-07-21 11:05:19 +00004402010-07-21: Version 2.3.2
441
442 Fixed compiler warnings when building with LLVM.
443
444 Fixed a bug with for-in applied to strings (issue 785).
445
446 Performance improvements on all platforms.
447
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +0000448
ricow@chromium.org4980dff2010-07-19 08:33:45 +00004492010-07-19: Version 2.3.1
450
451 Fixed compilation and linking with V8_INTERPRETED_REGEXP flag.
452
453 Fixed bug related to code flushing while compiling a lazy
454 compilable function (issue http://crbug.com/49099).
455
456 Performance improvements on all platforms.
457
458
ager@chromium.orgb5737492010-07-15 09:29:43 +00004592010-07-15: Version 2.3.0
460
461 Added ES5 Object.seal and Object.isSealed.
462
463 Added debugger API for scheduling debugger commands from a
464 separate thread.
465
466
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +00004672010-07-14: Version 2.2.24
468
469 Added API for capturing stack traces for uncaught exceptions.
470
471 Fixed crash bug when preparsing from a non-external V8 string
472 (issue 775).
473
474 Fixed JSON.parse bug causing input not to be converted to string
475 (issue 764).
476
477 Added ES5 Object.freeze and Object.isFrozen.
478
479 Performance improvements on all platforms.
480
481
erik.corry@gmail.com4a2e25e2010-07-07 12:22:46 +00004822010-07-07: Version 2.2.23
483
484 API change: Convert Unicode code points outside the basic multilingual
485 plane to the replacement character. Previous behavior was to silently
486 truncate the value to 16 bits.
487
488 Fixed crash: handle all flat string types in regexp replace.
489
490 Prevent invalid pre-parsing data passed in through the API from
491 crashing V8.
492
493 Performance improvements on all platforms.
494
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +0000495
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00004962010-07-05: Version 2.2.22
497
498 Added ES5 Object.isExtensible and Object.preventExtensions.
499
500 Enabled building V8 as a DLL.
501
502 Fixed a bug in date code where -0 was not interpreted as 0
503 (issue 736).
504
505 Performance improvements on all platforms.
506
507
lrn@chromium.org32d961d2010-06-30 09:09:34 +00005082010-06-30: Version 2.2.21
509
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000510 Fixed bug in externalizing some ASCII strings (Chromium issue 47824).
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000511
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000512 Updated JSON.stringify to floor the space parameter (issue 753).
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000513
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000514 Updated the Mozilla test expectations to the newest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000515
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000516 Updated the ES5 Conformance Test expectations to the latest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000517
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000518 Updated the V8 benchmark suite.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000519
520 Provide actual breakpoints locations in response to setBreakpoint
521 and listBreakpoints requests.
522
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000523
fschneider@chromium.org40b9da32010-06-28 11:29:21 +00005242010-06-28: Version 2.2.20
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000525
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000526 Fixed bug with for-in on x64 platform (issue 748).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000527
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000528 Fixed crash bug on x64 platform (issue 756).
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000529
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000530 Fixed bug in Object.getOwnPropertyNames. (chromium issue 41243).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000531
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000532 Fixed a bug on ARM that caused the result of 1 << x to be
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000533 miscalculated for some inputs.
534
535 Performance improvements on all platforms.
536
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000537
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +00005382010-06-23: Version 2.2.19
539
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000540 Fixed bug that causes the build to break when profillingsupport=off
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +0000541 (issue 738).
542
543 Added expose-externalize-string flag for testing extensions.
544
545 Resolve linker issues with using V8 as a DLL causing a number of
546 problems with unresolved symbols.
547
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000548 Fixed build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +0000549 defined.
550
551 Performance improvements on all platforms.
552
553
whesse@chromium.org2c186ca2010-06-16 11:32:39 +00005542010-06-16: Version 2.2.18
555
556 Added API functions to retrieve information on indexed properties
557 managed by the embedding layer. Fixes bug 737.
558
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000559 Made ES5 Object.defineProperty support array elements. Fixes bug 619.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000560
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000561 Added heap profiling to the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000562
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000563 Removed old named property query from the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000564
565 Incremental performance improvements.
566
567
ager@chromium.org2cc82ae2010-06-14 07:35:38 +00005682010-06-14: Version 2.2.17
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000569
ager@chromium.org2cc82ae2010-06-14 07:35:38 +0000570 Improved debugger support for stepping out of functions.
571
572 Incremental performance improvements.
573
574
5752010-06-09: Version 2.2.16
576
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000577 Removed the SetExternalStringDiposeCallback API. Changed the
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000578 disposal of external string resources to call a virtual Dispose
579 method on the resource.
580
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000581 Added support for more precise break points when debugging and
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000582 stepping.
583
584 Memory usage improvements on all platforms.
585
586
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +00005872010-06-07: Version 2.2.15
588
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000589 Added an API to control the disposal of external string resources.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000590
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000591 Added missing initialization of a couple of variables which makes
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000592 some compilers complaint when compiling with -Werror.
593
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000594 Improved performance on all platforms.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000595
596
sgjesse@chromium.org82dbbab2010-06-02 08:57:44 +00005972010-06-02: Version 2.2.14
598
599 Fixed a crash in code generated for String.charCodeAt.
600
601 Fixed a compilation issue with some GCC versions (issue 727).
602
603 Performance optimizations on x64 and ARM platforms.
604
605
ricow@chromium.org30ce4112010-05-31 10:38:25 +00006062010-05-31: Version 2.2.13
607
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000608 Implemented Object.getOwnPropertyDescriptor for element indices and
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000609 strings (issue 599).
610
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000611 Fixed bug for windows 64 bit C calls from generated code.
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000612
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000613 Added new scons flag unalignedaccesses for arm builds.
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000614
615 Performance improvements on all platforms.
616
617
kmillikin@chromium.org9155e252010-05-26 13:27:57 +00006182010-05-26: Version 2.2.12
619
620 Allowed accessors to be defined on objects rather than just object
621 templates.
622
623 Changed the ScriptData API.
624
625
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00006262010-05-21: Version 2.2.11
627
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000628 Fixed crash bug in liveedit on 64 bit.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000629
630 Use 'full compiler' when debugging is active. This should increase
631 the density of possible break points, making single step more fine
632 grained. This will only take effect for functions compiled after
633 debugging has been started, so recompilation of all functions is
634 required to get the full effect. IA32 and x64 only for now.
635
636 Misc. fixes to the Solaris build.
637
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000638 Added new flags --print-cumulative-gc-stat and --trace-gc-nvp.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000639
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000640 Added filtering of CPU profiles by security context.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000641
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000642 Fixed crash bug on ARM when running without VFP2 or VFP3.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000643
644 Incremental performance improvements in all backends.
645
646
vegorov@chromium.orgdff694e2010-05-17 09:10:26 +00006472010-05-17: Version 2.2.10
648
649 Performance improvements in the x64 and ARM backends.
650
651
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +00006522010-05-10: Version 2.2.9
653
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000654 Allowed Object.create to be called with a function (issue 697).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +0000655
656 Fixed bug with Date.parse returning a non-NaN value when called on a
657 non date string (issue 696).
658
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000659 Allowed unaligned memory accesses on ARM targets that support it (by
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000660 Subrato K De of CodeAurora <subratokde@codeaurora.org>).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +0000661
662 C++ API for retrieving JavaScript stack trace information.
663
664
ager@chromium.orgac091b72010-05-05 07:34:42 +00006652010-05-05: Version 2.2.8
666
667 Performance improvements in the x64 and ARM backends.
668
669
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00006702010-05-03: Version 2.2.7
671
672 Added support for ES5 date time string format to Date.parse.
673
674 Performance improvements in the x64 backend.
675
676
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00006772010-04-28: Version 2.2.6
678
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000679 Added "amd64" as recognized architecture in scons build script
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000680 (by Ryan Dahl <coldredlemur@gmail.com>).
681
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000682 Fixed bug in String search and replace with very simple RegExps.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000683
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000684 Fixed bug in RegExp containing "\b^".
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000685
686 Performance improvements on all platforms.
687
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000688
fschneider@chromium.org013f3e12010-04-26 13:27:52 +00006892010-04-26: Version 2.2.5
690
691 Various performance improvements (especially for ARM and x64)
692
693 Fixed bug in CPU profiling (http://crbug.com/42137)
694
695 Fixed a bug with the natives cache.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000696
697 Fixed two bugs in the ARM code generator that can cause
fschneider@chromium.org013f3e12010-04-26 13:27:52 +0000698 wrong calculations.
699
700 Fixed a bug that may cause a wrong result for shift operations.
701
702
7032010-04-21: Version 2.2.4
ricow@chromium.orgc9c80822010-04-21 08:22:37 +0000704
705 Fixed warnings on arm on newer GCC versions.
706
707 Fixed a number of minor bugs.
708
709 Performance improvements on all platforms.
710
711
whesse@chromium.orgb6e43bb2010-04-14 09:36:28 +00007122010-04-14: Version 2.2.3
713
714 Added stack command and mem command to ARM simulator debugger.
715
716 Fixed scons snapshot and ARM build, and Windows X64 build issues.
717
718 Performance improvements on all platforms.
719
720
ager@chromium.org357bf652010-04-12 11:30:10 +00007212010-04-12: Version 2.2.2
722
723 Introduced new profiler API.
724
725 Fixed random number generator to produce full 32 random bits.
726
727
lrn@chromium.org25156de2010-04-06 13:10:27 +00007282010-04-06: Version 2.2.1
729
730 Debugger improvements.
731
732 Fixed minor bugs.
733
734
ricow@chromium.orgaa1b6162010-03-29 07:44:58 +00007352010-03-29: Version 2.2.0
736
737 Fixed a few minor bugs.
738
739 Performance improvements for string operations.
740
741
ager@chromium.orgb26c50a2010-03-26 09:27:16 +00007422010-03-26: Version 2.1.10
743
744 Fixed scons build issues.
745
746 Fixed a couple of minor bugs.
747
748
sgjesse@chromium.orgdf7a2842010-03-25 14:34:15 +00007492010-03-25: Version 2.1.9
750
751 Added API support for reattaching a global object to a context.
752
753 Extended debugger API with access to the internal debugger context.
754
755 Fixed Chromium crashes (issues http://crbug.com/39128 and
756 http://crbug.com/39160)
757
758
kmillikin@chromium.org5d8f0e62010-03-24 08:21:20 +00007592010-03-24: Version 2.1.8
760
761 Added fine-grained garbage collection callbacks to the API.
762
763 Performance improvements on all platforms.
764
765
whesse@chromium.orgcec079d2010-03-22 14:44:04 +00007662010-03-22: Version 2.1.7
767
768 Fixed issue 650.
769
770 Fixed a bug where __proto__ was sometimes enumerated (issue 646).
fschneider@chromium.org086aac62010-03-17 13:18:24 +0000771
772 Performance improvements for arithmetic operations.
773
774 Performance improvements for string operations.
775
whesse@chromium.orgcec079d2010-03-22 14:44:04 +0000776 Print script name and line number information in stack trace.
777
778
7792010-03-17: Version 2.1.6
780
781 Performance improvements for arithmetic operations.
782
783 Performance improvements for string operations.
784
785
vegorov@chromium.orgf8372902010-03-15 10:26:20 +00007862010-03-10: Version 2.1.4
787
788 Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).
789
790 Performance improvements on all platforms.
791
792
ager@chromium.orgce5e87b2010-03-10 10:24:18 +00007932010-03-10: Version 2.1.3
794
795 Added API method for context-disposal notifications.
796
797 Added API method for accessing elements by integer index.
798
799 Added missing implementation of Uint32::Value and Value::IsUint32
800 API methods.
801
802 Added IsExecutionTerminating API method.
803
804 Disabled strict aliasing for GCC 4.4.
805
806 Fixed string-concatenation bug (issue 636).
807
808 Performance improvements on all platforms.
809
810
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +00008112010-02-23: Version 2.1.2
812
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000813 Fixed a crash bug caused by wrong assert.
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +0000814
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000815 Fixed a bug with register names on 64-bit V8 (issue 615).
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +0000816
817 Performance improvements on all platforms.
818
ager@chromium.orgce5e87b2010-03-10 10:24:18 +0000819
ager@chromium.org5c838252010-02-19 08:53:10 +00008202010-02-19: Version 2.1.1
821
822 [ES5] Implemented Object.defineProperty.
823
824 Improved profiler support.
825
826 Added SetPrototype method in the public V8 API.
827
828 Added GetScriptOrigin and GetScriptLineNumber methods to Function
829 objects in the API.
830
831 Performance improvements on all platforms.
832
833
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00008342010-02-03: Version 2.1.0
835
836 Values are now always wrapped in objects when used as a receiver.
837 (issue 223).
838
839 [ES5] Implemented Object.getOwnPropertyNames.
840
841 [ES5] Restrict JSON.parse to only accept strings that conforms to the
842 JSON grammar.
843
844 Improvement of debugger agent (issue 549 and 554).
845
846 Fixed problem with skipped stack frame in profiles (issue 553).
847
848 Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
849 <ry@tinyclouds.org>.
850
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000851 Fixed a bug that Math.round() returns incorrect results for huge
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +0000852 integers.
853
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000854 Fixed enumeration order for objects created from some constructor
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +0000855 functions (isue http://crbug.com/3867).
856
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000857 Fixed arithmetic on some integer constants (issue 580).
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +0000858
859 Numerous performance improvements including porting of previous IA-32
860 optimizations to x64 and ARM architectures.
861
862
fschneider@chromium.org0c20e672010-01-14 15:28:53 +00008632010-01-14: Version 2.0.6
864
865 Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,
866 GetOwnProperty, FromPropertyDescriptor.
867
868 Fixed Mac x64 build errors.
869
870 Improved performance of some math and string operations.
871
872 Improved performance of some regexp operations.
873
874 Improved performance of context creation.
875
876 Improved performance of hash tables.
877
878
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00008792009-12-18: Version 2.0.5
880
881 Extended to upper limit of map space to allow for 7 times as many map
882 to be allocated (issue 524).
883
884 Improved performance of code using closures.
885
886 Improved performance of some binary operations involving doubles.
887
888
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00008892009-12-16: Version 2.0.4
890
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000891 Added ECMAScript 5 Object.create.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000892
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000893 Improved performance of Math.max and Math.min.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000894
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000895 Optimized adding of strings on 64-bit platforms.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000896
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000897 Improved handling of external strings by using a separate table
898 instead of weak handles. This improves garbage collection
899 performance and uses less memory.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000900
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000901 Changed code generation for object and array literals in toplevel
902 code to be more compact by doing more work in the runtime.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000903
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000904 Fixed a crash bug triggered when garbage collection happened during
905 generation of a callback load inline cache stub.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000906
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000907 Fixed crash bug sometimes triggered when local variables shadowed
908 parameters in functions that used the arguments object.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000909
910
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +00009112009-12-03: Version 2.0.3
912
913 Optimized handling and adding of strings, for-in and Array.join.
914
915 Heap serialization is now non-destructive.
916
917 Improved profiler support with information on time spend in C++
918 callbacks registered through the API.
919
920 Added commands to the debugger protocol for starting/stopping
921 profiling.
922
923 Enabled the non-optimizing compiler for top-level code.
924
925 Changed the API to only allow strings to be set as data objects on
926 Contexts and scripts to avoid potentially keeping global objects
927 around for too long (issue 528).
928
929 OpenBSD support patch by Peter Valchev <pvalchev@gmail.com>.
930
931 Fixed bugs.
932
933
ager@chromium.org01beca72009-11-24 14:29:16 +00009342009-11-24: Version 2.0.2
935
936 Improved profiler support.
937
938 Fixed bug that broke compilation of d8 with readline support.
939
940
ager@chromium.org6141cbe2009-11-20 12:14:52 +00009412009-11-20: Version 2.0.1
942
943 Fixed crash bug in String.prototype.replace.
944
945 Reverted a change which caused Chromium interactive ui test
946 failures.
947
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000948
ager@chromium.orgc4c92722009-11-18 14:12:51 +00009492009-11-18: Version 2.0.0
950
951 Added support for VFP on ARM.
952
953 Added TryCatch::ReThrow method to the API.
954
955 Reduced the size of snapshots and improved the snapshot load time.
956
957 Improved heap profiler support.
958
959 64-bit version now supported on Windows.
960
961 Fixed a number of debugger issues.
962
963 Fixed bugs.
964
965
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +00009662009-10-29: Version 1.3.18
967
968 Reverted a change which caused crashes in RegExp replace.
969
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +0000970 Reverted a change which caused Chromium ui_tests failure.
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +0000971
972
ager@chromium.org3811b432009-10-28 14:53:37 +00009732009-10-28: Version 1.3.17
974
975 Added API method to get simple heap statistics.
976
977 Improved heap profiler support.
978
979 Fixed the implementation of the resource constraint API so it
980 works when using snapshots.
981
982 Fixed a number of issues in the Windows 64-bit version.
983
984 Optimized calls to API getters.
985
986 Added valgrind notification on code modification to the 64-bit version.
987
988 Fixed issue where we logged shared library addresses on Windows at
989 startup and never used them.
990
991
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00009922009-10-16: Version 1.3.16
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000993
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000994 X64: Convert smis to holding 32 bits of payload.
995
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000996 Introduced v8::Integer::NewFromUnsigned method.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000997
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000998 Added missing null check in Context::GetCurrent.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000999
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001000 Added trim, trimLeft and trimRight methods to String
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001001 Patch by Jan de Mooij <jandemooij@gmail.com>
1002
1003 Implement ES5 Array.isArray
1004 Patch by Jan de Mooij <jandemooij@gmail.com>
1005
1006 Skip access checks for hidden properties.
1007
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001008 Added String::Concat(Handle<String> left, Handle<String> right) to the
1009 V8 API.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001010
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001011 Fixed GYP-based builds of V8.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001012
1013
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +000010142009-10-07: Version 1.3.15
1015
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001016 Expanded the maximum size of the code space to 512MB for 64-bit mode.
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +00001017
1018 Fixed a crash bug happening when starting profiling (issue
1019 http://crbug.com/23768).
1020
1021
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +000010222009-10-07: Version 1.3.14
1023
1024 Added GetRealNamedProperty to the API to lookup real properties
1025 located on the object or in the prototype chain skipping any
1026 interceptors.
1027
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001028 Fixed the stack limits setting API to work correctly with threads. The
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00001029 stack limit now needs to be set to each thread thich is used with V8.
1030
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001031 Removed the high-priority flag from IdleNotification()
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00001032
1033 Ensure V8 is initialized before locking and unlocking threads.
1034
1035 Implemented a new JavaScript minifier for compressing the source of
ager@chromium.org3811b432009-10-28 14:53:37 +00001036 the built-in JavaScript. This removes non-Open Source code from Douglas
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00001037 Crockford from the project.
1038
1039 Added a missing optimization in StringCharAt.
1040
1041 Fixed some flaky socket tests.
1042
1043 Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
1044 in 64-bit mode.
1045
1046 Fixed memory leaks in the thread management code.
1047
1048 Fixed the result of assignment to a pixel array. The assigned value
1049 is now the result.
1050
1051 Error reporting for invalid left-hand sides in for-in statements, pre-
1052 and postfix count expressions, and assignments now matches the JSC
1053 behavior in Safari 4.
1054
1055 Follow the spec in disallowing function declarations without a name.
1056
1057 Always allocate code objects within a 2 GB range. On x64 architecture
1058 this is used to use near calls (32-bit displacement) in Code objects.
1059
1060 Optimized array construction ported to x64 and ARM architectures.
1061
1062 [ES5] Changed Object.keys to return strings for element indices.
1063
1064
ager@chromium.org68e7ab72009-09-23 09:40:39 +000010652009-09-23: Version 1.3.13
1066
1067 Fixed uninitialized memory problem.
1068
1069 Improved heap profiler support.
1070
1071
christian.plesner.hansen@gmail.com2bc58ef2009-09-22 10:00:30 +000010722009-09-22: Version 1.3.12
1073
1074 Changed behavior of |function|.toString() on built-in functions to
1075 be compatible with other implementations. Patch by Jan de Mooij.
1076
1077 Added Object::IsDirty in the API.
1078
1079 Optimized array construction; it is now handled purely in native
1080 code.
1081
1082 [ES5] Made properties of the arguments array enumerable.
1083
1084 [ES5] Added test suite adapter for the es5conform test suite.
1085
1086 [ES5] Added Object.keys function.
1087
ager@chromium.org68e7ab72009-09-23 09:40:39 +00001088
ager@chromium.org4af710e2009-09-15 12:20:11 +000010892009-09-15: Version 1.3.11
1090
1091 Fixed crash in error reporting during bootstrapping.
1092
1093 Optimized generated IA32 math code by using SSE2 instructions when
1094 available.
1095
1096 Implemented missing pieces of debugger infrastructure on ARM. The
1097 debugger is now fully functional on ARM.
1098
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001099 Made 'hidden' the default visibility for gcc.
ager@chromium.org4af710e2009-09-15 12:20:11 +00001100
1101
ager@chromium.orga1645e22009-09-09 19:27:10 +000011022009-09-09: Version 1.3.10
1103
1104 Fixed profiler on Mac in 64-bit mode.
1105
1106 Optimized creation of objects from simple constructor functions on
1107 ARM.
1108
1109 Fixed a number of debugger issues.
1110
1111 Reduced the amount of memory consumed by V8.
1112
1113
ager@chromium.org18ad94b2009-09-02 08:22:29 +000011142009-09-02: Version 1.3.9
1115
1116 Optimized stack guard checks on ARM.
1117
1118 Optimized API operations by inlining more in the API.
1119
1120 Optimized creation of objects from simple constructor functions.
1121
1122 Enabled a number of missing optimizations in the 64-bit port.
1123
1124 Implemented native-code support for regular expressions on ARM.
1125
1126 Stopped using the 'sahf' instruction on 64-bit machines that do
1127 not support it.
1128
1129 Fixed a bug in the support for forceful termination of JavaScript
1130 execution.
1131
1132
ager@chromium.org96c75b52009-08-26 09:13:16 +000011332009-08-26: Version 1.3.8
1134
1135 Changed the handling of idle notifications to allow idle
1136 notifications when V8 has not yet been initialized.
1137
1138 Fixed ARM simulator compilation problem on Windows.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001139
ager@chromium.org96c75b52009-08-26 09:13:16 +00001140
ager@chromium.orgab99eea2009-08-25 07:05:41 +000011412009-08-25: Version 1.3.7
1142
1143 Reduced the size of generated code on ARM platforms by reducing
1144 the size of constant pools.
1145
1146 Changed build files to not include the 'ENV' user environment
1147 variable in the build environment.
1148
1149 Changed the handling of idle notifications.
1150
1151
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +000011522009-08-21: Version 1.3.6
1153
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001154 Added support for forceful termination of JavaScript execution.
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00001155
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001156 Added low memory notification to the API. The embedding host can signal
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00001157 a low memory situation to V8.
1158
1159 Changed the handling of global handles (persistent handles in the API
1160 sense) to avoid issues regarding allocation of new global handles
1161 during weak handle callbacks.
1162
1163 Changed the growth policy of the young space.
1164
1165 Fixed a GC issue introduced in version 1.3.5.
1166
1167
sgjesse@chromium.org911335c2009-08-19 12:59:44 +000011682009-08-19: Version 1.3.5
1169
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001170 Optimized initialization of some arrays in the builtins.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001171
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001172 Fixed mac-nm script to support filenames with spaces.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001173
1174 Support for using the V8 profiler when V8 is embedded in a Windows DLL.
1175
1176 Changed typeof RegExp from 'object' to 'function' for compatibility.
1177 Fixed bug where regexps were not callable across contexts.
1178
1179 Added context independent script compilation to the API.
1180
1181 Added API call to get the stack trace for an exception.
1182
1183 Added API for getting object mirrors.
1184
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001185 Made sure that SSE3 instructions are used whenever possible even when
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001186 running off a snapshot generated without using SSE3 instructions.
1187
1188 Tweaked the handling of the initial size and growth policy of the heap.
1189
1190 Added native code generation for RegExp to 64-bit version.
1191
1192 Added JavaScript debugger support to 64-bit version.
1193
1194
ager@chromium.orgadd848f2009-08-13 12:44:13 +000011952009-08-13: Version 1.3.4
1196
1197 Added a readline() command to the d8 shell.
1198
1199 Fixed bug in json parsing.
1200
1201 Added idle notification to the API and reduced memory on idle
1202 notifications.
1203
1204
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +000012052009-08-12: Version 1.3.3
1206
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001207 Fixed issue 417: incorrect %t placeholder expansion.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001208
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001209 Added .gitignore file similar to Chromium's one.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001210
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001211 Fixed SConstruct file to build with new logging code for Android.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001212
1213 API: added function to find instance of template in prototype
1214 chain. Inlined Object::IsInstanceOf.
1215
1216 Land change to notify valgrind when we modify code on x86.
1217
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001218 Added api call to determine whether a string can be externalized.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001219
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001220 Added a write() command to d8.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001221
1222
sgjesse@chromium.orgb9d7da12009-08-05 08:38:10 +000012232009-08-05: Version 1.3.2
1224
1225 Started new compiler infrastructure for two-pass compilation using a
1226 control flow graph constructed from the AST.
1227
1228 Profiler stack sampling for X64.
1229
1230 Safe handling of NaN to Posix platform-dependent time functions.
1231
1232 Added a new profiler control API to unify controlling various aspects
1233 of profiling.
1234
1235 Fixed issue 392.
1236
1237
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +000012382009-07-30: Version 1.3.1
1239
1240 Speed improvements to accessors and interceptors.
1241
1242 Added support for capturing stack information on custom errors.
1243
1244 Added support for morphing an object into a pixel array where its
1245 indexed properties are stored in an external byte array. Values written
1246 are always clamped to the 0..255 interval.
1247
1248 Profiler on x64 now handles C/C++ functions from shared libraries.
1249
1250 Changed the debugger to avoid stepping into function.call/apply if the
1251 function is a built-in.
1252
1253 Initial implementation of constructor heap profile for JS objects.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001254
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00001255 More fine grained control of profiling aspects through the API.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001256
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00001257 Optimized the called as constructor check for API calls.
1258
1259
kasperl@chromium.orge959c182009-07-27 08:59:04 +000012602009-07-27: Version 1.3.0
1261
1262 Allowed RegExp objects to be called as functions (issue 132).
1263
1264 Fixed issue where global property cells would escape after
1265 detaching the global object; see http://crbug.com/16276.
1266
1267 Added support for stepping into setters and getters in the
1268 debugger.
1269
1270 Changed the debugger to avoid stopping in its own JavaScript code
1271 and in the code of built-in functions.
1272
1273 Fixed issue 345 by avoiding duplicate escaping labels.
1274
1275 Fixed ARM code generator crash in short-circuited boolean
1276 expressions and added regression tests.
1277
1278 Added an external allocation limit to avoid issues where small V8
1279 objects would hold on to large amounts of external memory without
1280 causing garbage collections.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001281
1282 Finished more of the inline caching stubs for x64 targets.
kasperl@chromium.orge959c182009-07-27 08:59:04 +00001283
1284
kasperl@chromium.orgdefbd102009-07-13 14:04:26 +000012852009-07-13: Version 1.2.14
1286
1287 Added separate paged heap space for global property cells and
1288 avoid updating the write barrier when storing into them.
1289
1290 Improved peep-hole optimization on ARM platforms by not emitting
1291 unnecessary debug information.
1292
1293 Re-enabled ICs for loads and calls that skip a global object
1294 during lookup through the prototype chain.
1295
1296 Allowed access through global proxies to use ICs.
1297
1298 Fixed issue 401.
1299
1300
kasperl@chromium.org68ac0092009-07-09 06:00:35 +000013012009-07-09: Version 1.2.13
1302
1303 Fixed issue 397, issue 398, and issue 399.
1304
1305 Added support for breakpoint groups.
1306
1307 Fixed bugs introduced with the new global object representation.
1308
1309 Fixed a few bugs in the ARM code generator.
1310
1311
kasperl@chromium.org86f77b72009-07-06 08:21:57 +000013122009-07-06: Version 1.2.12
1313
1314 Added stack traces collection to Error objects accessible through
1315 the e.stack property.
1316
1317 Changed RegExp parser to use a recursive data structure instead of
1318 stack-based recursion.
1319
1320 Optimized Date object construction and string concatenation.
1321
1322 Improved performance of div, mod, and mul on ARM platforms.
1323
1324
kasperl@chromium.org2abc4502009-07-02 07:00:29 +000013252009-07-02: Version 1.2.11
1326
1327 Improved performance on IA-32 and ARM.
1328
1329 Fixed profiler sampler implementation on Mac OS X.
1330
1331 Changed the representation of global objects to improve
1332 performance of adding a lot of new properties.
1333
1334
ager@chromium.org3e875802009-06-29 08:26:34 +000013352009-06-29: Version 1.2.10
1336
1337 Improved debugger support.
1338
1339 Fixed bug in exception message reporting (issue 390).
1340
1341 Improved overall performance.
1342
1343
ager@chromium.org5aa501c2009-06-23 07:57:28 +000013442009-06-23: Version 1.2.9
1345
1346 Improved math performance on ARM.
1347
1348 Fixed profiler name-inference bug.
1349
1350 Fixed handling of shared libraries in the profiler tick processor
1351 scripts.
1352
1353 Fixed handling of tests that time out in the test scripts.
1354
1355 Fixed compilation on MacOS X version 10.4.
1356
1357 Fixed two bugs in the regular expression engine.
1358
1359 Fixed a bug in the string type inference.
1360
1361 Fixed a bug in the handling of 'constant function' properties.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001362
ager@chromium.org5aa501c2009-06-23 07:57:28 +00001363 Improved overall performance.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001364
ager@chromium.org5aa501c2009-06-23 07:57:28 +00001365
ager@chromium.orgeadaf222009-06-16 09:43:10 +000013662009-06-16: Version 1.2.8
1367
1368 Optimized math on ARM platforms.
1369
1370 Fixed two crash bugs in the handling of getters and setters.
1371
1372 Improved the debugger support by adding scope chain information.
1373
1374 Improved the profiler support by compressing log data transmitted
1375 to clients.
1376
1377 Improved overall performance.
1378
1379
ager@chromium.orge2902be2009-06-08 12:21:35 +000013802009-06-08: Version 1.2.7
1381
1382 Improved debugger and profiler support.
1383
1384 Reduced compilation time by improving the handling of deferred
1385 code.
1386
1387 Optimized interceptor accesses where the property is on the object
1388 on which the interceptors is attached.
1389
1390 Fixed compilation problem on GCC 4.4 by changing the stack
1391 alignment to 16 bytes.
1392
1393 Fixed handle creation to follow stric aliasing rules.
1394
1395 Fixed compilation on FreeBSD.
1396
1397 Introduced API for forcing the deletion of a property ignoring
1398 interceptors and attributes.
1399
1400
sgjesse@chromium.org755c5b12009-05-29 11:04:38 +000014012009-05-29: Version 1.2.6
1402
1403 Added a histogram recording hit rates at different levels of the
1404 compilation cache.
1405
1406 Added stack overflow check for the RegExp analysis phase. Previously a
1407 very long regexp graph could overflow the stack with recursive calls.
1408
1409 Use a dynamic buffer when collecting log events in memory.
1410
1411 Added start/stop events to the profiler log.
1412
1413 Fixed infinite loop which could happen when setting a debug break while
1414 executing a RegExp compiled to native code.
1415
1416 Fixed handling of lastIndexOf called with negative index (issue 351).
1417
1418 Fixed irregular crash in profiler test (issue 358).
1419
1420 Fixed compilation issues with some versions of gcc.
1421
1422
kasperl@chromium.org71affb52009-05-26 05:44:31 +000014232009-05-26: Version 1.2.5
1424
1425 Fixed bug in initial boundary check for Boyer-Moore text
1426 search (issue 349).
1427
1428 Fixed compilation issues with MinGW and gcc 4.3+ and added support
1429 for armv7 and cortex-a8 architectures. Patches by Lei Zhang and
1430 Craig Schlenter.
1431
1432 Added a script cache to the debugger.
1433
1434 Optimized compilation performance by improving internal data
1435 structures and avoiding expensive property load optimizations for
1436 code that's infrequently executed.
1437
1438 Exposed the calling JavaScript context through the static API
1439 function Context::GetCalling().
1440
1441
kasperl@chromium.orgb3284ad2009-05-18 06:12:45 +000014422009-05-18: Version 1.2.4
1443
1444 Improved performance of floating point number allocation for ARM
1445 platforms.
1446
1447 Fixed crash when using the instanceof operator on functions with
1448 number values in their prototype chain (issue 341).
1449
1450 Optimized virtual frame operations in the code generator to speed
1451 up compilation time and allocated the frames in the zone.
1452
1453 Made the representation of virtual frames and jump targets in the
1454 code generator much more compact.
1455
1456 Avoided linear search for non-locals in scope code when resolving
1457 variables inside with and eval scopes.
1458
1459 Optimized lexical scanner by dealing with whitespace as part of
1460 the token scanning instead of as a separate step before it.
1461
1462 Changed the scavenging collector so that promoted objects do not
1463 reside in the old generation while their remembered set is being
1464 swept for pointers into the young generation.
1465
1466 Fixed numeric overflow handling when compiling count operations.
1467
1468
ager@chromium.org9085a012009-05-11 19:22:57 +000014692009-05-11: Version 1.2.3
1470
1471 Fixed bug in reporting of out-of-memory situations.
1472
1473 Introduced hidden prototypes on certain builtin prototype objects
1474 such as String.prototype to emulate JSC's behavior of restoring
1475 the original function when deleting functions from those prototype
1476 objects.
1477
1478 Fixed crash bug in the register allocator.
1479
1480
ager@chromium.org5ec48922009-05-05 07:25:34 +000014812009-05-04: Version 1.2.2
1482
1483 Fixed bug in array sorting for sparse arrays (issue 326).
1484
1485 Added support for adding a soname when building a shared library
1486 on Linux (issue 151).
1487
1488 Fixed bug caused by morphing internal ASCII strings to external
1489 two-byte strings. Slices over ASCII strings have to forward ASCII
1490 checks to the underlying buffer string.
1491
1492 Allowed API call-as-function handlers to be called as
1493 constructors.
1494
1495 Fixed a crash bug where an external string was disposed but a
1496 slice of the external string survived as a symbol.
1497
1498
ager@chromium.org3a37e9b2009-04-27 09:26:21 +000014992009-04-27: Version 1.2.1
1500
1501 Added EcmaScript 5 JSON object.
1502
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001503 Fixed bug in preemption support on ARM.
ager@chromium.org3a37e9b2009-04-27 09:26:21 +00001504
1505
ager@chromium.org65dad4b2009-04-23 08:48:43 +000015062009-04-23: Version 1.2.0
1507
1508 Optimized floating-point operations on ARM.
1509
1510 Added a number of extensions to the debugger API.
1511
1512 Changed the enumeration order for unsigned integer keys to always
1513 be numerical order.
1514
1515 Added a "read" extension to the shell sample.
1516
1517 Added support for Array.prototype.reduce and
1518 Array.prototype.reduceRight.
1519
1520 Added an option to the SCons build to control Microsoft Visual C++
1521 link-time code generation.
1522
1523 Fixed a number of bugs (in particular issue 315, issue 316,
1524 issue 317 and issue 318).
1525
1526
kasperl@chromium.org2d18d102009-04-15 13:27:32 +000015272009-04-15: Version 1.1.10
1528
1529 Fixed crash bug that occurred when loading a const variable in the
1530 presence of eval.
1531
1532 Allowed using with and eval in registered extensions in debug mode
1533 by fixing bogus assert.
1534
1535 Fixed the source position for function returns to enable the
1536 debugger to break there.
1537
1538
kasperl@chromium.orgd1e3e722009-04-14 13:38:25 +000015392009-04-14: Version 1.1.9
1540
1541 Made the stack traversal code in the profiler robust by avoiding
1542 to look into the heap.
1543
1544 Added name inferencing for anonymous functions to facilitate
1545 debugging and profiling.
1546
1547 Re-enabled stats timers in the developer shell (d8).
1548
1549 Fixed issue 303 by avoiding to shortcut cons-symbols.
1550
1551
kasperl@chromium.orgacae3782009-04-11 09:17:08 +000015522009-04-11: Version 1.1.8
1553
1554 Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).
1555
ager@chromium.org65dad4b2009-04-23 08:48:43 +00001556 Fixed step-in handling for Function.prototype.apply and call in
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00001557 the debugger (issue 269).
1558
1559 Fixed v8::Object::DeleteHiddenValue to not bail out when there
1560 are no hidden properties.
1561
ager@chromium.org65dad4b2009-04-23 08:48:43 +00001562 Added workaround for crash bug, where external symbol table
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00001563 entries with deleted resources would lead to NPEs when looking
1564 up in the symbol table.
1565
1566
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +000015672009-04-07: Version 1.1.7
1568
1569 Added support for easily importing additional environment
1570 variables into the SCons build.
1571
1572 Optimized strict equality checks.
1573
1574 Fixed crash in indexed setters on objects without a corresponding
1575 getter (issue 298).
1576
1577 Re-enabled script compilation cache.
1578
1579
ager@chromium.org8682a592009-04-01 10:47:14 +000015802009-04-01: Version 1.1.6
1581
1582 Reverted an unsafe code generator change.
1583
1584
ager@chromium.org71daaf62009-04-01 07:22:49 +000015852009-04-01: Version 1.1.5
1586
1587 Fixed bug that caused function literals to not be optimized as
1588 much as other functions.
1589
1590 Improved profiler support.
1591
1592 Fixed a crash bug in connection with debugger unloading.
1593
1594 Fixed a crash bug in the code generator caused by losing the
1595 information that a frame element was copied.
1596
1597 Fixed an exception propagation bug that could cause non-null
1598 return values when exceptions were thrown.
1599
1600
ager@chromium.org41826e72009-03-30 13:30:57 +000016012009-03-30: Version 1.1.4
1602
1603 Optimized String.prototype.match.
1604
1605 Improved the stack information in profiles.
1606
1607 Fixed bug in ARM port making it possible to compile the runtime
1608 system for thumb mode again.
1609
1610 Implemented a number of optimizations in the code generator.
1611
1612 Fixed a number of memory leaks in tests.
1613
1614 Fixed crash bug in connection with script source code and external
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +00001615 strings.
ager@chromium.org41826e72009-03-30 13:30:57 +00001616
1617
kasperl@chromium.orgf5aa8372009-03-24 14:47:14 +000016182009-03-24: Version 1.1.3
1619
1620 Fixed assertion failures in compilation of loop conditions.
1621
1622 Removed STL dependency from developer shell (d8).
1623
1624 Added infrastructure for protecting the V8 heap from corruption
1625 caused by memory modifications from the outside.
1626
1627
ager@chromium.orgbb29dc92009-03-24 13:25:23 +000016282009-03-24: Version 1.1.2
1629
1630 Improved frame merge code generated by the code generator.
1631
1632 Optimized String.prototype.replace.
1633
1634 Implemented __defineGetter__ and __defineSetter__ for properties
1635 with integer keys on non-array objects.
1636
1637 Improved debugger and profiler support.
1638
1639 Fixed a number of portability issues to allow compilation for
1640 smaller ARM devices.
1641
1642 Exposed object cloning through the API.
1643
1644 Implemented hidden properties. This is used to expose an identity
1645 hash for objects through the API.
1646
1647 Implemented restarting of regular expressions if their input
1648 string changes representation during preemption.
1649
1650 Fixed a code generator bug that could cause assignments in loops
1651 to be ignored if using continue to break out of the loop (issue
1652 284).
1653
1654
ager@chromium.org3a6061e2009-03-12 14:24:36 +000016552009-03-12: Version 1.1.1
1656
1657 Fixed an assertion in the new compiler to take stack overflow
1658 exceptions into account.
1659
1660 Removed exception propagation code that could cause crashes.
1661
1662 Fixed minor bug in debugger line number computations.
1663
1664 8-byte align the C stack on Linux and Windows to speed up floating
1665 point computations.
1666
1667
kasperl@chromium.org7be3c992009-03-12 07:19:55 +000016682009-03-12: Version 1.1.0
1669
1670 Improved code generation infrastructure by doing simple register
1671 allocation and constant folding and propagation.
1672
1673 Optimized regular expression matching by avoiding to create
1674 intermediate string arrays and by flattening nested array
1675 representations of RegExp data.
1676
1677 Traverse a few stack frames when recording profiler samples to
1678 include partial call graphs in the profiling output.
1679
1680 Added support for using OProfile to profile generated code.
1681
1682 Added remote debugging support to the D8 developer shell.
1683
1684 Optimized creation of nested literals like JSON objects.
1685
1686 Fixed a bug in garbage collecting unused maps and turned it on by
1687 default (--collect-maps).
1688
1689 Added support for running tests under Valgrind.
1690
1691
kasperl@chromium.org061ef742009-02-27 12:16:20 +000016922009-02-27: Version 1.0.3
1693
1694 Optimized double-to-integer conversions in bit operations by using
1695 SSE3 instructions if available.
1696
1697 Optimized initialization sequences that store to multiple
1698 properties of the same object.
1699
1700 Changed the D8 debugger frontend to use JSON messages.
1701
1702 Force garbage collections when disposing contexts.
1703
1704 Align code objects at 32-byte boundaries.
1705
1706
ager@chromium.org381abbb2009-02-25 13:23:22 +000017072009-02-25: Version 1.0.2
1708
1709 Improved profiling support by performing simple call stack
1710 sampling for ticks and by fixing a bug in the logging of code
1711 addresses.
1712
1713 Fixed a number of debugger issues.
1714
1715 Optimized code that uses eval.
1716
1717 Fixed a couple of bugs in the regular expression engine.
1718
1719 Reduced the size of generated code for certain regular expressions.
1720
1721 Removed JSCRE completely.
1722
1723 Fixed issue where test could not be run if there was a dot in the
1724 checkout path.
1725
1726
ager@chromium.org6f10e412009-02-13 10:11:16 +000017272009-02-13: Version 1.0.1
1728
1729 Fixed two crash-bugs in irregexp (issue 231 and 233).
1730
1731 Fixed a number of minor bugs (issue 87, 227 and 228).
1732
1733 Added support for morphing strings to external strings on demand
1734 to avoid having to create copies in the embedding code.
1735
1736 Removed experimental support for external symbol callbacks.
1737
1738
iposva@chromium.org245aa852009-02-10 00:49:54 +000017392009-02-09: Version 1.0.0
1740
1741 Fixed crash-bug in the code generation for case independent 16 bit
1742 backreferences.
ager@chromium.org6f10e412009-02-13 10:11:16 +00001743
iposva@chromium.org245aa852009-02-10 00:49:54 +00001744 Made shells more robust in the presence of string conversion
1745 failures (issue 224).
ager@chromium.org6f10e412009-02-13 10:11:16 +00001746
iposva@chromium.org245aa852009-02-10 00:49:54 +00001747 Fixed a potential infinite loop when attempting to resolve
1748 eval (issue 221).
ager@chromium.org6f10e412009-02-13 10:11:16 +00001749
iposva@chromium.org245aa852009-02-10 00:49:54 +00001750 Miscellaneous fixes to the new regular expression engine.
ager@chromium.org6f10e412009-02-13 10:11:16 +00001751
iposva@chromium.org245aa852009-02-10 00:49:54 +00001752 Reduced binary by stripping unneeded text from JavaScript library and
1753 minifying some JavaScript files.
1754
1755
ager@chromium.orgddb913d2009-01-27 10:01:48 +000017562009-01-27: Version 0.4.9
1757
1758 Enabled new regular expression engine.
1759
1760 Made a number of changes to the debugger protocol.
1761
1762 Fixed a number of bugs in the preemption support.
1763
1764 Added -p option to the developer shell to run files in parallel
1765 using preemption.
1766
1767 Fixed a number of minor bugs (including issues 176, 187, 189, 192,
1768 193, 198 and 201).
1769
1770 Fixed a number of bugs in the serialization/deserialization
1771 support for the ARM platform.
1772
1773
sgjesse@chromium.org715915b2009-01-19 16:08:47 +000017742009-01-19: Version 0.4.8.1
1775
1776 Minor patch to debugger support.
1777
1778
ager@chromium.org32912102009-01-16 10:38:43 +000017792009-01-16: Version 0.4.8
1780
1781 Fixed string length bug on ARM (issue 171).
1782
1783 Made most methods in the API const.
1784
1785 Optimized object literals by improving data locality.
1786
1787 Fixed bug that caused incomplete functions to be cached in case of
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00001788 stack overflow exceptions.
ager@chromium.org32912102009-01-16 10:38:43 +00001789
1790 Fixed bugs that caused catch variables and variables introduced by
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00001791 eval to behave incorrectly when using accessors (issues 186, 190
1792 and 191).
ager@chromium.org32912102009-01-16 10:38:43 +00001793
1794
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +000017952009-01-06: Version 0.4.7
1796
ager@chromium.org32912102009-01-16 10:38:43 +00001797 Minor bugfixes and optimizations.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001798
ager@chromium.org32912102009-01-16 10:38:43 +00001799 Added command line debugger to D8 shell.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001800
ager@chromium.org32912102009-01-16 10:38:43 +00001801 Fixed subtle bug that caused the wrong 'this' to be used when
1802 calling a caught function in a catch clause.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001803
ager@chromium.org32912102009-01-16 10:38:43 +00001804 Inline array loads within loops directly in the code instead of
1805 always calling a stub.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001806
ager@chromium.org32912102009-01-16 10:38:43 +00001807
ager@chromium.org8bb60582008-12-11 12:02:20 +000018082008-12-11: Version 0.4.6
1809
1810 Fixed exception reporting bug where certain exceptions were
1811 incorrectly reported as uncaught.
1812
1813 Improved the memory allocation strategy used during compilation to
1814 make running out of memory when compiling huge scripts less
1815 likely.
1816
1817 Optimized String.replace by avoiding the construction of certain
1818 sub strings.
1819
1820 Fixed bug in code generation for large switch statements on ARM.
1821
1822 Fixed bug that caused V8 to change the global object template
1823 passed in by the user.
1824
1825 Changed the API for creating object groups used during garbage
1826 collection. Entire object groups are now passed to V8 instead of
1827 individual members of the groups.
1828
ager@chromium.org32912102009-01-16 10:38:43 +00001829
ager@chromium.orga74f0da2008-12-03 16:05:52 +000018302008-12-03: Version 0.4.5
iposva@chromium.org96f667e2008-11-26 23:48:02 +00001831
ager@chromium.orga74f0da2008-12-03 16:05:52 +00001832 Added experimental API support for allocating V8 symbols as
1833 external strings.
1834
1835 Fixed bugs in debugging support on ARM.
1836
1837 Changed eval implementation to correctly detect whether or not a
1838 call to eval is aliased.
1839
1840 Fixed bug caused by a combination of the compilation cache and
1841 dictionary probing in native code. The bug caused us to sometimes
1842 call functions that had not yet been compiled.
1843
1844 Added platform support for FreeBSD.
1845
1846 Added support for building V8 on Windows with either the shared or
1847 static version of MSVCRT
ager@chromium.org32912102009-01-16 10:38:43 +00001848
iposva@chromium.org96f667e2008-11-26 23:48:02 +00001849 Added the v8::jscre namespace around the jscre functions to avoid
1850 link errors (duplicate symbols) when building Google Chrome.
1851
ager@chromium.orga74f0da2008-12-03 16:05:52 +00001852 Added support for calling a JavaScript function with the current
1853 debugger execution context as its argument to the debugger
1854 interface.
1855
1856 Changed the type of names of counters from wchar_t to char.
1857
1858 Changed the Windows system call used to compute daylight savings
1859 time. The system call that we used to use became four times
1860 slower on WinXP SP3.
1861
1862 Added support in the d8 developer shell for memory-mapped counters
1863 and added a stats-viewer tool.
1864
1865 Fixed bug in upper/lower case mappings (issue 149).
1866
iposva@chromium.org96f667e2008-11-26 23:48:02 +00001867
ager@chromium.org3bf7b912008-11-17 09:09:45 +000018682008-11-17: Version 0.4.4
1869
1870 Reduced code size by using shorter instruction encoding when
1871 possible.
1872
1873 Added a --help option to the shell sample and to the d8 shell.
1874
1875 Added visual studio project files for building the ARM simulator.
1876
1877 Fixed a number of ARM simulator issues.
1878
1879 Fixed bug in out-of-memory handling on ARM.
1880
1881 Implemented shell support for passing arguments to a script from
1882 the command line.
1883
1884 Fixed bug in date code that made certain date functions return -0
1885 instead of 0 for dates before the epoch.
1886
1887 Restricted applications of eval so it can only be used in the
1888 context of the associated global object.
1889
1890 Treat byte-order marks as whitespace characters.
ager@chromium.org32912102009-01-16 10:38:43 +00001891
1892
ager@chromium.org870a0b62008-11-04 11:43:05 +000018932008-11-04: Version 0.4.3
1894
1895 Added support for API accessors that prohibit overwriting by
1896 accessors defined in JavaScript code by using __defineGetter__ and
1897 __defineSetter__.
1898
1899 Improved handling of conditionals in test status files.
1900
1901 Introduced access control in propertyIsEnumerable.
1902
1903 Improved performance of some string operations by caching
1904 information about the type of the string between operations.
1905
1906 Fixed bug in fast-case code for switch statements that only have
1907 integer labels.
ager@chromium.org32912102009-01-16 10:38:43 +00001908
ager@chromium.org870a0b62008-11-04 11:43:05 +00001909
kasperl@chromium.org9bbf9682008-10-30 11:53:07 +000019102008-10-30: Version 0.4.2
1911
1912 Improved performance of Array.prototype.concat by moving the
1913 implementation to C++ (issue 123).
1914
1915 Fixed heap growth policy to avoid growing old space to its maximum
1916 capacity before doing a garbage collection and fixed issue that
1917 would lead to artificial out of memory situations (issue 129).
1918
1919 Fixed Date.prototype.toLocaleDateString to return the date in the
1920 same format as WebKit.
1921
1922 Added missing initialization checks to debugger API.
1923
1924 Added removing of unused maps during GC.
1925
1926
kasperl@chromium.org9fe21c62008-10-28 08:53:51 +000019272008-10-28: Version 0.4.1
1928
1929 Added caching of RegExp data in compilation cache.
1930
1931 Added Visual Studio project file for d8 shell.
1932
1933 Fixed function call performance regression introduced in version
1934 0.4.0 when splitting the global object in two parts (issue 120).
1935
1936 Fixed issue 131 by checking for empty handles before throwing and
1937 reporting exceptions.
1938
1939
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +000019402008-10-23: Version 0.4.0
1941
1942 Split the global object into two parts: The state holding global
1943 object and the global object proxy.
1944
1945 Fixed bug that affected the value of an assignment to an element
1946 in certain cases (issue 116).
1947
1948 Added GetPropertyNames functionality (issue 33) and extra Date
1949 functions (issue 77) to the API.
1950
1951 Changed WeakReferenceCallback to take a Persistent<Value> instead
1952 of a Persistent<Object> (issue 101).
1953
1954 Fixed issues with message reporting for exceptions in try-finally
1955 blocks (issues 73 and 75).
1956
ager@chromium.org32912102009-01-16 10:38:43 +00001957 Optimized flattening of strings and string equality checking.
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +00001958
1959 Improved Boyer-Moore implementation for faster indexOf operations.
1960
1961 Added development shell (d8) which includes counters and
1962 completion support.
1963
1964 Fixed problem with the receiver passed to functions called from
1965 eval (issue 124).
1966
1967
ager@chromium.org7c537e22008-10-16 08:43:32 +000019682008-10-16: Version 0.3.5
1969
1970 Improved string hash-code distribution by excluding bit-field bits
1971 from the hash-code.
1972
1973 Changed string search algorithm used in indexOf from KMP to
1974 Boyer-Moore.
1975
1976 Improved the generated code for the instanceof operator.
1977
1978 Improved performance of slow-case string equality checks by
1979 specializing the code based on the string representation.
1980
1981 Improve the handling of out-of-memory situations (issue 70).
1982
1983 Improved performance of strict equality checks.
1984
1985 Improved profiler output to make it easier to see anonymous
1986 functions.
1987
1988 Improved performance of slow-case keyed loads.
1989
1990 Improved property access performance by allocating a number of
1991 properties in the front object.
1992
1993 Changed the toString behavior on the built-in object constructors
1994 to print [native code] instead of the actual source. Some web
1995 applications do not like constructors with complex toString
1996 results.
ager@chromium.org32912102009-01-16 10:38:43 +00001997
ager@chromium.org7c537e22008-10-16 08:43:32 +00001998
kasperl@chromium.org41044eb2008-10-06 08:24:46 +000019992008-10-06: Version 0.3.4
2000
2001 Changed Array.prototype.sort to use quick sort.
2002
2003 Fixed code generation issue where leaving a finally block with
2004 break or continue would accumulate elements on the expression
2005 stack (issue 86).
2006
2007 Made sure that the name accessor on functions returns the expected
2008 names for builtin JavaScript functions and C++ callback functions.
2009
2010 Added fast case code for extending the property storage array of
2011 JavaScript objects.
2012
2013 Ported switch statement optimizations introduced in version 0.3.3
2014 to the ARM code generator.
2015
2016 Allowed GCC to use strict-aliasing rules when compiling.
2017
2018 Improved performance of arguments object allocation by taking care
2019 of arguments adaptor frames in the generated code.
2020
2021 Updated the V8 benchmark suite to version 2.
2022
2023
ager@chromium.org236ad962008-09-25 09:45:57 +000020242008-09-25: Version 0.3.3
2025
2026 Improved handling of relocation information to enable more
2027 peep-hole optimizations.
2028
2029 Optimized switch statements where all labels are constant small
2030 integers.
2031
2032 Optimized String.prototype.indexOf for common cases.
2033
2034 Fixed more build issues (issue 80).
2035
2036 Fixed a couple of profiler issues.
2037
2038 Fixed bug where the body of a function created using the Function
2039 constructor was not allowed to end with a single-line comment
2040 (issue 85).
2041
2042 Improved handling of object literals by canonicalizing object
2043 literal maps. This will allow JSON objects with the same set of
2044 properties to share the same map making inline caching work better
2045 for JSON objects.
ager@chromium.org32912102009-01-16 10:38:43 +00002046
ager@chromium.org236ad962008-09-25 09:45:57 +00002047
kasperl@chromium.orgb9123622008-09-17 14:05:56 +000020482008-09-17: Version 0.3.2
2049
2050 Generalized the EvalCache into a CompilationCache and enabled it
2051 for scripts too. The current strategy is to retire all entries
2052 whenever a mark-sweep collection is started.
2053
2054 Fixed bug where switch statements containing only a default case
2055 would lead to an unbalanced stack (issue 69).
2056
2057 Fixed bug that made access to the function in a named function
2058 expression impossible in certain situations (issue 24).
2059
2060 Fixed even more build issues.
2061
2062 Optimized calling conventions on ARM. The conventions on ARM and
2063 IA-32 now match.
2064
2065 Removed static initializers for flags and counters.
2066
2067 Improved inline caching behavior for uncommon cases where lazily
2068 loading Date and RegExp code could force certain code paths go
2069 megamorphic.
2070
2071 Removed arguments adaption for builtins written in C++. This
2072 makes Array.prototype.push and Array.prototype.pop slightly
2073 faster.
2074
2075
ager@chromium.org9258b6b2008-09-11 09:11:10 +000020762008-09-11: Version 0.3.1
2077
2078 Fixed a number of build issues.
2079
2080 Fixed problem with missing I-cache flusing on ARM.
2081
2082 Changed space layout in memory management by splitting up
2083 code space into old data space and code space.
2084
2085 Added utf-8 conversion support to the API (issue 57).
2086
2087 Optimized repeated calls to eval with the same strings. These
2088 repeated calls are common in web applications.
2089
2090 Added Xcode project file.
2091
2092 Optimized a couple of Array operation.
2093
2094 Fixed parser bug by checking for end-of-string when parsing break
2095 and continue (issue 35).
2096
2097 Fixed problem where asian characters were not categorized as
2098 letters.
2099
2100 Fixed bug that disallowed calling functions fetched from an array
2101 using a string as an array index (issue 32).
2102
2103 Fixed bug where the internal field count on object templates were
2104 sometimes ignored (issue 54).
2105
2106 Added -f option to the shell sample for compatibility with other
2107 engines (issue 18).
2108
2109 Added source info to TryCatches in the API.
2110
2111 Fixed problem where the seed for the random number generator was
2112 clipped in a double to unsigned int conversion.
2113
2114 Fixed bug where cons string symbols were sometimes converted to
2115 non-symbol flat strings during GC.
2116
2117 Fixed bug in error reporting when attempting to convert null to an
2118 object.
ager@chromium.org32912102009-01-16 10:38:43 +00002119
2120
ager@chromium.orgc27e4e72008-09-04 13:52:27 +000021212008-09-04: Version 0.3.0
2122
2123 Added support for running tests on the ARM simulator.
2124
2125 Fixed bug in the 'in' operator where negative indices were not
2126 treated correctly.
2127
2128 Fixed build issues on gcc-4.3.1.
2129
2130 Changed Date.prototype.toLocaleTimeString to not print the
2131 timezone part of the time.
2132
2133 Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
2134 with user code.
2135
2136
v8.team.kasperl727e9952008-09-02 14:56:44 +000021372008-09-02: Version 0.2.5
2138
2139 Renamed the top level directory 'public' to 'include'.
2140
2141 Added 'env' option to the SCons build scripts to support
2142 overriding the ENV part of the build environment. This is mostly
2143 to support Windows builds in cases where SCons cannot find the
2144 correct paths to the Windows SDK, as these paths cannot be passed
2145 through shell environment variables.
2146
2147 Enabled "Buffer Security Check" on for the Windows SCons build and
2148 added the linker option /OPT:ICF as an optimization.
2149
2150 Added the V8 benchmark suite to the repository.
2151
2152
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +000021532008-09-01: Version 0.2.4
2154
2155 Included mjsunit JavaScript test suite and C++ unit tests.
2156
2157 Changed the shell sample to not print the result of executing a
2158 script provided on the command line.
2159
2160 Fixed issue when building samples on Windows using a shared V8
2161 library. Added visibility option on Linux build which makes the
2162 generated library 18% smaller.
2163
2164 Changed build system to accept multiple build modes in one build
2165 and generate separate objects, libraries and executables for each
2166 mode.
2167
2168 Removed deferred negation optimization (a * -b => -(a * b)) since
2169 this visibly changes operand conversion order.
2170
2171 Improved parsing performance by introducing stack guard in
2172 preparsing. Without a stack guard preparsing always bails out
2173 with stack overflow.
2174
2175 Changed shell sample to take flags directly from the command-line.
2176 Added API call that implements this.
2177
2178 Added load, quit and version functions to the shell sample so it's
2179 easier to run benchmarks and tests.
2180
2181 Fixed issue with building samples and cctests on 64-bit machines.
2182
2183 Fixed bug in the runtime system where the prototype chain was not
2184 always searched for a setter when setting a property that does not
2185 exist locally.
ager@chromium.org32912102009-01-16 10:38:43 +00002186
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +00002187
mads.s.agercbaa0602008-08-14 13:41:48 +000021882008-08-14: Version 0.2.3
2189
2190 Improved performance of garbage collection by moving the
2191 function that updates pointers during compacting collection
2192 into the updating visitor. This gives the compiler a better
2193 chance to inline and avoid a function call per (potential)
2194 pointer.
2195
2196 Extended the shell sample with a --runtime-flags option.
2197
2198 Added Visual Studio project files for the shell.cc and
2199 process.cc samples.
2200
2201
22022008-08-13: Version 0.2.2
mads.s.ager31e71382008-08-13 09:32:07 +00002203
2204 Improved performance of garbage collection by changing the way
2205 we use the marking stack in the event of stack overflow during
2206 full garbage collection and by changing the way we mark roots.
2207
2208 Cleaned up ARM version by removing top of stack caching and by
2209 introducing push/pop elimination.
2210
2211 Cleaned up the way runtime functions are called to allow
2212 runtime calls with no arguments.
2213
2214 Changed Windows build options to make sure that exceptions are
2215 disabled and that optimization flags are enabled.
2216
2217 Added first version of Visual Studio project files.
2218
2219
mads.s.agercbaa0602008-08-14 13:41:48 +000022202008-08-06: Version 0.2.1
mads.s.ager@gmail.com769cc962008-08-06 10:02:49 +00002221
2222 Improved performance of unary addition by avoiding runtime calls.
2223
2224 Fixed the handling of '>' and '<=' to use right-to-left conversion
2225 and left-to-right evaluation as specified by ECMA-262.
2226
2227 Fixed a branch elimination bug on the ARM platform where incorrect
2228 code was generated because of overly aggressive branch
2229 elimination.
2230
2231 Improved performance of code that repeatedly assigns the same
2232 function to the same property of different objects with the same
2233 map.
2234
2235 Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler
2236 no longer expects DEBUG to be defined.
2237
2238 Added platform-nullos.cc to serve as the basis for new platform
2239 implementations.
2240
mads.s.ager31e71382008-08-13 09:32:07 +00002241
mads.s.agercbaa0602008-08-14 13:41:48 +000022422008-07-30: Version 0.2.0
kasper.lund7276f142008-07-30 08:49:36 +00002243
2244 Changed all text files to have native svn:eol-style.
2245
2246 Added a few samples and support for building them. The samples
2247 include a simple shell that can be used to benchmark and test V8.
2248
2249 Changed V8::GetVersion to return the version as a string.
2250
2251 Added source for lazily loaded scripts to snapshots and made
2252 serialization non-destructive.
2253
2254 Improved ARM support by fixing the write barrier code to use
2255 aligned loads and stores and by removing premature locals
2256 optimization that relied on broken support for callee-saved
2257 registers (removed).
2258
2259 Refactored the code for marking live objects during garbage
2260 collection and the code for allocating objects in paged
2261 spaces. Introduced an abstraction for the map word of a heap-
2262 allocated object and changed the memory allocator to allocate
2263 executable memory only for spaces that may contain code objects.
2264
2265 Moved StringBuilder to utils.h and ScopedLock to platform.h, where
2266 they can be used by debugging and logging modules. Added
2267 thread-safe message queues for dealing with debugger events.
2268
2269 Fixed the source code reported by toString for certain builtin
2270 empty functions and made sure that the prototype property of a
2271 function is enumerable.
2272
2273 Improved performance of converting values to condition flags in
2274 generated code.
2275
2276 Merged disassembler-{arch} files.
2277
2278
mads.s.agercbaa0602008-08-14 13:41:48 +000022792008-07-28: Version 0.1.4
kasper.lundaf4734f2008-07-28 12:50:18 +00002280
2281 Added support for storing JavaScript stack traces in a stack
2282 allocated buffer to make it visible in shallow core dumps.
2283 Controlled by the --preallocate-message-memory flag which is
2284 disabled by default.
2285
2286
mads.s.agercbaa0602008-08-14 13:41:48 +000022872008-07-25: Version 0.1.3
kasper.lund44510672008-07-25 07:37:58 +00002288
2289 Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
2290 map transitions would count as properties.
2291
2292 Allowed aliased eval invocations by treating them as evals in the
2293 global context. This may change in the future.
2294
2295 Added support for accessing the last entered context through the
2296 API and renamed Context::Current to Context::GetCurrent and
2297 Context::GetSecurityContext to Context::GetCurrentSecurityContext.
2298
2299 Fixed bug in the debugger that would cause the debugger scripts to
2300 be recursively loaded and changed all disabling of interrupts to
2301 be block-structured.
2302
2303 Made snapshot data read-only to allow it to be more easily shared
2304 across multiple users of V8 when linked as a shared library.
2305
2306
mads.s.agercbaa0602008-08-14 13:41:48 +000023072008-07-16: Version 0.1.2
kasper.lund212ac232008-07-16 07:07:30 +00002308
2309 Fixed building on Mac OS X by recognizing i386 and friends as
2310 IA-32 platforms.
2311
2312 Added propagation of stack overflow exceptions that occur while
2313 compiling nested functions.
2314
2315 Improved debugger with support for recursive break points and
2316 handling of exceptions that occur in the debugger JavaScript code.
2317
2318 Renamed GetInternal to GetInternalField and SetInternal to
2319 SetInternalField in the API and moved InternalFieldCount and
2320 SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
2321
2322
mads.s.agercbaa0602008-08-14 13:41:48 +000023232008-07-09: Version 0.1.1
kasper.lundbd3ec4e2008-07-09 11:06:54 +00002324
2325 Fixed bug in stack overflow check code for IA-32 targets where a
2326 non-tagged value in register eax was pushed to the stack.
2327
2328 Fixed potential quadratic behavior when converting strings to
2329 numbers.
2330
2331 Fixed bug where the return value from Object::SetProperty could
2332 end up being the property holder instead of the written value.
2333
2334 Improved debugger support by allowing nested break points and by
2335 dealing with stack-overflows when compiling functions before
2336 setting break points in them.
2337
2338
mads.s.agercbaa0602008-08-14 13:41:48 +000023392008-07-03: Version 0.1.0
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00002340
kasper.lundbd3ec4e2008-07-09 11:06:54 +00002341 Initial export.
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00002342