blob: 9f2005f40fe850c7139f42c47be79bf52fd3090f [file] [log] [blame]
vegorov@chromium.org21b5e952010-11-23 10:24:40 +000012010-11-23: Version 2.5.8
2
3 Removed dependency on Gay's dtoa.
4
5 Improved heap profiler precision and speed.
6
7 Reduced overhead of callback invocations on ARM.
8
9
erik.corry@gmail.com4a6c3272010-11-18 12:04:40 +0000102010-11-18: Version 2.5.7
11
12 Fixed obscure evaluation order bug (issue 931).
13
14 Split the random number state between JavaScript and the private API.
15
16 Fixed performance bug causing GCs when generating stack traces on
17 code from very large scripts.
18
19 Fixed bug in parser that allowed (foo):42 as a labelled statement
20 (issue 918).
21
22 Provide more accurate results about used heap size via
23 GetHeapStatistics.
24
25 Allow build-time customization of the max semispace size.
26
27 Made String.prototype.split honor limit when separator is empty
28 (issue 929).
29
30 Added missing failure check after expecting an identifier in
31 preparser (Chromium issue 62639).
32
33
ager@chromium.org01fe7df2010-11-10 11:59:11 +0000342010-11-10: Version 2.5.6
35
36 Added support for VFP rounding modes to the ARM simulator.
37
38 Fixed multiplication overflow bug (issue 927).
39
40 Added a limit for the amount of executable memory (issue 925).
41
42
whesse@chromium.orgf0ac72d2010-11-08 12:47:26 +0000432010-11-08: Version 2.5.5
44
45 Added more aggressive GC of external objects in near out-of-memory
46 situations.
47
48 Fixed a bug that gave the incorrect result for String.split called
49 on the empty string (issue 924).
50
51
lrn@chromium.orgfa943b72010-11-03 08:14:36 +0000522010-11-03: Version 2.5.4
53
whesse@chromium.orgf0ac72d2010-11-08 12:47:26 +000054 Improved V8 VFPv3 runtime detection to address issue 914.
lrn@chromium.orgfa943b72010-11-03 08:14:36 +000055
56
fschneider@chromium.orge03fb642010-11-01 12:34:09 +0000572010-11-01: Version 2.5.3
58
59 Fixed a bug that prevents constants from overwriting function values
60 in object literals (issue 907).
61
62 Fixed a bug with reporting of impossible nested calls of DOM functions
63 (issue http://crbug.com/60753).
64
65
lrn@chromium.org303ada72010-10-27 09:33:13 +0000662010-10-27: Version 2.5.2
67
68 Improved sampler resolution on Linux.
69
70 Allowed forcing the use of a simulator from the build script
71 independently of the host architecture.
72
73 Fixed FreeBSD port (Issue 912).
74
75 Made windows-tick-processor respect D8_PATH.
76
77 Implemented --noinline-new flag fully on IA32, X64 and ARM platforms.
78
79
whesse@chromium.org4a5224e2010-10-20 12:37:07 +0000802010-10-20: Version 2.5.1
81
82 Fixed bug causing spurious out of memory exceptions
83 (issue http://crbug.com/54580).
84
85 Fixed compilation error on Solaris platform (issue 901).
86
87 Fixed error in strtod (string to floating point number conversion)
88 due to glibc's use of 80-bit floats in the FPU on 32-bit linux.
89
90 Adjusted randomized allocations of executable memory to have 64k
91 granularity (issue http://crbug.com/56036).
92
93 Supported profiling using kernel perf_events on linux. Added ll_prof
94 script to tools and --ll-prof flag to V8.
95
96
vegorov@chromium.org42841962010-10-18 11:18:59 +0000972010-10-18: Version 2.5.0
98
99 Fixed bug in cache handling of lastIndex on global regexps
100 (issue http://crbug.com/58740).
101
102 Added USE_SIMULATOR macro that explicitly indicates that we wish to use
103 the simulator as the execution engine (by Mark Lam <mark.lam@palm.com>
104 from Hewlett-Packard Development Company, LP).
105
106 Fixed compilation error on ARM with gcc 4.4 (issue 894).
107
108
1092010-10-13: Version 2.4.9
ager@chromium.orgb61a0d12010-10-13 08:35:23 +0000110
111 Fixed a bug in the handling of conditional expressions in test
112 contexts in compiler for top-level code.
113
114 Added "//@ sourceURL" information to the StackTrace API.
115
116 Exposed RegExp construction through the API.
117
118
ricow@chromium.orgeb7c1442010-10-04 08:54:21 +00001192010-10-04: Version 2.4.8
120
121 Fixed a bug in ResumeProfilerEx causing it to not always write out the
122 whole snapshot (issue 868).
123
124 Performance improvements on all platforms.
125
126
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +00001272010-09-30: Version 2.4.7
128
129 Changed the command-line flag --max-new-space-size to be in kB and the
130 flag --max-old-space-size to be in MB (previously they were in bytes).
131
132 Added Debug::CancelDebugBreak to the debugger API.
133
134 Fixed a bug in getters for negative numeric property names
135 (https://bugs.webkit.org/show_bug.cgi?id=46689).
136
137 Performance improvements on all platforms.
138
139
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +00001402010-09-27: Version 2.4.6
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +0000141
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +0000142 Fixed assertion failure related to copy-on-write arrays (issue 876).
143
144 Fixed build failure of 64-bit V8 on Windows.
145
146 Fixed a bug in RegExp (issue http://crbug.com/52801).
147
148 Improved the profiler's coverage to cover more functions (issue 858).
149
150 Fixed error in shift operators on 64-bit V8
151 (issue http://crbug.com/54521).
152
153
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001542010-09-22: Version 2.4.5
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +0000155
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000156 Changed the RegExp benchmark to exercise the regexp engine on different
157 inputs by scrambling the input strings.
158
159 Fixed a bug in keyed loads on strings.
160
161 Fixed a bug with loading global function prototypes.
162
163 Fixed a bug with profiling RegExp calls (issue http://crbug.com/55999).
164
165 Performance improvements on all platforms.
166
167
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00001682010-09-15: Version 2.4.4
169
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000170 Fixed bug with hangs on very large sparse arrays.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000171
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000172 Now tries harder to free up memory when running out of space.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000173
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000174 Added heap snapshots to JSON format to API.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000175
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000176 Recalibrated benchmarks.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000177
178
sgjesse@chromium.org2ec107f2010-09-13 09:19:46 +00001792010-09-13: Version 2.4.3
180
181 Made Date.parse properly handle TZ offsets (issue 857).
182
183 Performance improvements on all platforms.
184
185
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00001862010-09-08: Version 2.4.2
187
188 Fixed GC crash bug.
189
190 Fixed stack corruption bug.
191
192 Fixed compilation for newer C++ compilers that found Operand(0)
193 ambiguous.
194
195
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00001962010-09-06: Version 2.4.1
197
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000198 Added the ability for an embedding application to receive a callback
199 when V8 allocates (V8::AddMemoryAllocationCallback) or deallocates
200 (V8::RemoveMemoryAllocationCallback) from the OS.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000201
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000202 Fixed several JSON bugs (including issue 855).
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000203
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000204 Fixed memory overrun crash bug triggered during V8's tick-based
205 profiling.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000206
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000207 Performance improvements on all platforms.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000208
209
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00002102010-09-01: Version 2.4.0
211
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000212 Fixed bug in Object.freeze and Object.seal when Array.prototype or
213 Object.prototype are changed (issue 842).
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000214
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000215 Updated Array.splice to follow Safari and Firefox when called
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000216 with zero arguments.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000217
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000218 Fixed a missing live register when breaking at keyed loads on ARM.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000219
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000220 Performance improvements on all platforms.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000221
222
ricow@chromium.org65fae842010-08-25 15:26:24 +00002232010-08-25: Version 2.3.11
224
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000225 Fixed bug in RegExp related to copy-on-write arrays.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000226
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000227 Refactored tools/test.py script, including the introduction of
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000228 VARIANT_FLAGS that allows specification of sets of flags with which
229 all tests should be run.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000230
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000231 Fixed a bug in the handling of debug breaks in CallIC.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000232
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000233 Performance improvements on all platforms.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000234
235
erik.corry@gmail.com145eff52010-08-23 11:36:18 +00002362010-08-23: Version 2.3.10
237
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000238 Fixed bug in bitops on ARM.
erik.corry@gmail.com145eff52010-08-23 11:36:18 +0000239
240 Build fixes for unusual compilers.
241
242 Track high water mark for RWX memory.
243
244 Performance improvements on all platforms.
245
246
ricow@chromium.org0b9f8502010-08-18 07:45:01 +00002472010-08-18: Version 2.3.9
248
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000249 Fixed compilation for ARMv4 on OpenBSD/FreeBSD.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000250
251 Removed specialized handling of GCC 4.4 (issue 830).
252
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000253 Fixed DST cache to take into account the suspension of DST in
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000254 Egypt during the 2010 Ramadan (issue http://crbug.com/51855).
255
ricow@chromium.org65fae842010-08-25 15:26:24 +0000256 Performance improvements on all platforms.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000257
258
ager@chromium.orgea4f62e2010-08-16 16:28:43 +00002592010-08-16: Version 2.3.8
260
261 Fixed build with strict aliasing on GCC 4.4 (issue 463).
262
263 Fixed issue with incorrect handling of custom valueOf methods on
264 string wrappers (issue 760).
265
266 Fixed compilation for ARMv4 (issue 590).
267
268 Improved performance.
269
270
vegorov@chromium.org26c16f82010-08-11 13:41:03 +00002712010-08-11: Version 2.3.7
272
273 Reduced size of heap snapshots produced by heap profiler (issue 783).
274
275 Introduced v8::Value::IsRegExp method.
276
277 Fixed CPU profiler crash in start / stop sequence when non-existent
278 name is passed (issue http://crbug.com/51594).
279
280 Introduced new indexed property query callbacks API (issue 816). This
281 API is guarded by USE_NEW_QUERY_CALLBACK define and is disabled
282 by default.
283
284 Removed support for object literal get/set with number/string
285 property name.
286
287 Fixed handling of JSObject::elements in CalculateNetworkSize
288 (issue 822).
289
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000290 Allowed compiling with strict aliasing enabled on GCC 4.4 (issue 463).
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000291
292
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +00002932010-08-09: Version 2.3.6
294
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000295 RegExp literals create a new object every time they are evaluated
296 (issue 704).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000297
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000298 Object.seal and Object.freeze return the modified object (issue 809).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000299
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000300 Fixed building using GCC 4.4.4.
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000301
302
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +00003032010-08-04: Version 2.3.5
304
305 Added support for ES5 property names. Object initialisers and
306 dot-notation property access now allows keywords. Also allowed
307 non-identifiers after "get" or "set" in an object initialiser.
308
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000309 Randomized the addresses of allocated executable memory on Windows.
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +0000310
311
whesse@chromium.orge90029b2010-08-02 11:52:17 +00003122010-08-02: Version 2.3.4
313
314 Fixed problems in implementation of ES5 function.prototype.bind.
315
316 Fixed error when using apply with arguments object on ARM (issue 784).
317
318 Added setting of global flags to debugger protocol.
319
320 Fixed an error affecting cached results of sin and cos (issue 792).
321
322 Removed memory leak from a boundary case where V8 is not initialized.
323
324 Fixed issue where debugger could set breakpoints outside the body
325 of a function.
326
327 Fixed issue in debugger when using both live edit and step in features.
328
329 Added Number-letter (Nl) category to Unicode tables. These characters
330 can now be used in identifiers.
331
332 Fixed an assert failure on X64 (issue 806).
333
334 Performance improvements on all platforms.
335
336
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +00003372010-07-26: Version 2.3.3
338
339 Fixed error when building the d8 shell in a fresh checkout.
340
341 Implemented Function.prototype.bind (ES5 15.3.4.5).
342
343 Fixed an error in inlined stores on ia32.
344
345 Fixed an error when setting a breakpoint at the end of a function
346 that does not end with a newline character.
347
348 Performance improvements on all platforms.
349
350
fschneider@chromium.orged78ffd2010-07-21 11:05:19 +00003512010-07-21: Version 2.3.2
352
353 Fixed compiler warnings when building with LLVM.
354
355 Fixed a bug with for-in applied to strings (issue 785).
356
357 Performance improvements on all platforms.
358
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +0000359
ricow@chromium.org4980dff2010-07-19 08:33:45 +00003602010-07-19: Version 2.3.1
361
362 Fixed compilation and linking with V8_INTERPRETED_REGEXP flag.
363
364 Fixed bug related to code flushing while compiling a lazy
365 compilable function (issue http://crbug.com/49099).
366
367 Performance improvements on all platforms.
368
369
ager@chromium.orgb5737492010-07-15 09:29:43 +00003702010-07-15: Version 2.3.0
371
372 Added ES5 Object.seal and Object.isSealed.
373
374 Added debugger API for scheduling debugger commands from a
375 separate thread.
376
377
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +00003782010-07-14: Version 2.2.24
379
380 Added API for capturing stack traces for uncaught exceptions.
381
382 Fixed crash bug when preparsing from a non-external V8 string
383 (issue 775).
384
385 Fixed JSON.parse bug causing input not to be converted to string
386 (issue 764).
387
388 Added ES5 Object.freeze and Object.isFrozen.
389
390 Performance improvements on all platforms.
391
392
erik.corry@gmail.com4a2e25e2010-07-07 12:22:46 +00003932010-07-07: Version 2.2.23
394
395 API change: Convert Unicode code points outside the basic multilingual
396 plane to the replacement character. Previous behavior was to silently
397 truncate the value to 16 bits.
398
399 Fixed crash: handle all flat string types in regexp replace.
400
401 Prevent invalid pre-parsing data passed in through the API from
402 crashing V8.
403
404 Performance improvements on all platforms.
405
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +0000406
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00004072010-07-05: Version 2.2.22
408
409 Added ES5 Object.isExtensible and Object.preventExtensions.
410
411 Enabled building V8 as a DLL.
412
413 Fixed a bug in date code where -0 was not interpreted as 0
414 (issue 736).
415
416 Performance improvements on all platforms.
417
418
lrn@chromium.org32d961d2010-06-30 09:09:34 +00004192010-06-30: Version 2.2.21
420
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000421 Fixed bug in externalizing some ASCII strings (Chromium issue 47824).
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000422
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000423 Updated JSON.stringify to floor the space parameter (issue 753).
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000424
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000425 Updated the Mozilla test expectations to the newest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000426
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000427 Updated the ES5 Conformance Test expectations to the latest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000428
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000429 Updated the V8 benchmark suite.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000430
431 Provide actual breakpoints locations in response to setBreakpoint
432 and listBreakpoints requests.
433
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000434
fschneider@chromium.org40b9da32010-06-28 11:29:21 +00004352010-06-28: Version 2.2.20
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000436
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000437 Fixed bug with for-in on x64 platform (issue 748).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000438
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000439 Fixed crash bug on x64 platform (issue 756).
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000440
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000441 Fixed bug in Object.getOwnPropertyNames. (chromium issue 41243).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000442
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000443 Fixed a bug on ARM that caused the result of 1 << x to be
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000444 miscalculated for some inputs.
445
446 Performance improvements on all platforms.
447
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000448
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +00004492010-06-23: Version 2.2.19
450
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000451 Fixed bug that causes the build to break when profillingsupport=off
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +0000452 (issue 738).
453
454 Added expose-externalize-string flag for testing extensions.
455
456 Resolve linker issues with using V8 as a DLL causing a number of
457 problems with unresolved symbols.
458
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000459 Fixed build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +0000460 defined.
461
462 Performance improvements on all platforms.
463
464
whesse@chromium.org2c186ca2010-06-16 11:32:39 +00004652010-06-16: Version 2.2.18
466
467 Added API functions to retrieve information on indexed properties
468 managed by the embedding layer. Fixes bug 737.
469
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000470 Made ES5 Object.defineProperty support array elements. Fixes bug 619.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000471
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000472 Added heap profiling to the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000473
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000474 Removed old named property query from the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000475
476 Incremental performance improvements.
477
478
ager@chromium.org2cc82ae2010-06-14 07:35:38 +00004792010-06-14: Version 2.2.17
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000480
ager@chromium.org2cc82ae2010-06-14 07:35:38 +0000481 Improved debugger support for stepping out of functions.
482
483 Incremental performance improvements.
484
485
4862010-06-09: Version 2.2.16
487
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000488 Removed the SetExternalStringDiposeCallback API. Changed the
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000489 disposal of external string resources to call a virtual Dispose
490 method on the resource.
491
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000492 Added support for more precise break points when debugging and
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000493 stepping.
494
495 Memory usage improvements on all platforms.
496
497
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +00004982010-06-07: Version 2.2.15
499
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000500 Added an API to control the disposal of external string resources.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000501
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000502 Added missing initialization of a couple of variables which makes
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000503 some compilers complaint when compiling with -Werror.
504
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000505 Improved performance on all platforms.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000506
507
sgjesse@chromium.org82dbbab2010-06-02 08:57:44 +00005082010-06-02: Version 2.2.14
509
510 Fixed a crash in code generated for String.charCodeAt.
511
512 Fixed a compilation issue with some GCC versions (issue 727).
513
514 Performance optimizations on x64 and ARM platforms.
515
516
ricow@chromium.org30ce4112010-05-31 10:38:25 +00005172010-05-31: Version 2.2.13
518
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000519 Implemented Object.getOwnPropertyDescriptor for element indices and
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000520 strings (issue 599).
521
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000522 Fixed bug for windows 64 bit C calls from generated code.
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000523
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000524 Added new scons flag unalignedaccesses for arm builds.
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000525
526 Performance improvements on all platforms.
527
528
kmillikin@chromium.org9155e252010-05-26 13:27:57 +00005292010-05-26: Version 2.2.12
530
531 Allowed accessors to be defined on objects rather than just object
532 templates.
533
534 Changed the ScriptData API.
535
536
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00005372010-05-21: Version 2.2.11
538
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000539 Fixed crash bug in liveedit on 64 bit.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000540
541 Use 'full compiler' when debugging is active. This should increase
542 the density of possible break points, making single step more fine
543 grained. This will only take effect for functions compiled after
544 debugging has been started, so recompilation of all functions is
545 required to get the full effect. IA32 and x64 only for now.
546
547 Misc. fixes to the Solaris build.
548
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000549 Added new flags --print-cumulative-gc-stat and --trace-gc-nvp.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000550
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000551 Added filtering of CPU profiles by security context.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000552
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000553 Fixed crash bug on ARM when running without VFP2 or VFP3.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000554
555 Incremental performance improvements in all backends.
556
557
vegorov@chromium.orgdff694e2010-05-17 09:10:26 +00005582010-05-17: Version 2.2.10
559
560 Performance improvements in the x64 and ARM backends.
561
562
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +00005632010-05-10: Version 2.2.9
564
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000565 Allowed Object.create to be called with a function (issue 697).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +0000566
567 Fixed bug with Date.parse returning a non-NaN value when called on a
568 non date string (issue 696).
569
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000570 Allowed unaligned memory accesses on ARM targets that support it (by
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000571 Subrato K De of CodeAurora <subratokde@codeaurora.org>).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +0000572
573 C++ API for retrieving JavaScript stack trace information.
574
575
ager@chromium.orgac091b72010-05-05 07:34:42 +00005762010-05-05: Version 2.2.8
577
578 Performance improvements in the x64 and ARM backends.
579
580
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00005812010-05-03: Version 2.2.7
582
583 Added support for ES5 date time string format to Date.parse.
584
585 Performance improvements in the x64 backend.
586
587
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00005882010-04-28: Version 2.2.6
589
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000590 Added "amd64" as recognized architecture in scons build script
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000591 (by Ryan Dahl <coldredlemur@gmail.com>).
592
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000593 Fixed bug in String search and replace with very simple RegExps.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000594
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000595 Fixed bug in RegExp containing "\b^".
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000596
597 Performance improvements on all platforms.
598
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000599
fschneider@chromium.org013f3e12010-04-26 13:27:52 +00006002010-04-26: Version 2.2.5
601
602 Various performance improvements (especially for ARM and x64)
603
604 Fixed bug in CPU profiling (http://crbug.com/42137)
605
606 Fixed a bug with the natives cache.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000607
608 Fixed two bugs in the ARM code generator that can cause
fschneider@chromium.org013f3e12010-04-26 13:27:52 +0000609 wrong calculations.
610
611 Fixed a bug that may cause a wrong result for shift operations.
612
613
6142010-04-21: Version 2.2.4
ricow@chromium.orgc9c80822010-04-21 08:22:37 +0000615
616 Fixed warnings on arm on newer GCC versions.
617
618 Fixed a number of minor bugs.
619
620 Performance improvements on all platforms.
621
622
whesse@chromium.orgb6e43bb2010-04-14 09:36:28 +00006232010-04-14: Version 2.2.3
624
625 Added stack command and mem command to ARM simulator debugger.
626
627 Fixed scons snapshot and ARM build, and Windows X64 build issues.
628
629 Performance improvements on all platforms.
630
631
ager@chromium.org357bf652010-04-12 11:30:10 +00006322010-04-12: Version 2.2.2
633
634 Introduced new profiler API.
635
636 Fixed random number generator to produce full 32 random bits.
637
638
lrn@chromium.org25156de2010-04-06 13:10:27 +00006392010-04-06: Version 2.2.1
640
641 Debugger improvements.
642
643 Fixed minor bugs.
644
645
ricow@chromium.orgaa1b6162010-03-29 07:44:58 +00006462010-03-29: Version 2.2.0
647
648 Fixed a few minor bugs.
649
650 Performance improvements for string operations.
651
652
ager@chromium.orgb26c50a2010-03-26 09:27:16 +00006532010-03-26: Version 2.1.10
654
655 Fixed scons build issues.
656
657 Fixed a couple of minor bugs.
658
659
sgjesse@chromium.orgdf7a2842010-03-25 14:34:15 +00006602010-03-25: Version 2.1.9
661
662 Added API support for reattaching a global object to a context.
663
664 Extended debugger API with access to the internal debugger context.
665
666 Fixed Chromium crashes (issues http://crbug.com/39128 and
667 http://crbug.com/39160)
668
669
kmillikin@chromium.org5d8f0e62010-03-24 08:21:20 +00006702010-03-24: Version 2.1.8
671
672 Added fine-grained garbage collection callbacks to the API.
673
674 Performance improvements on all platforms.
675
676
whesse@chromium.orgcec079d2010-03-22 14:44:04 +00006772010-03-22: Version 2.1.7
678
679 Fixed issue 650.
680
681 Fixed a bug where __proto__ was sometimes enumerated (issue 646).
fschneider@chromium.org086aac62010-03-17 13:18:24 +0000682
683 Performance improvements for arithmetic operations.
684
685 Performance improvements for string operations.
686
whesse@chromium.orgcec079d2010-03-22 14:44:04 +0000687 Print script name and line number information in stack trace.
688
689
6902010-03-17: Version 2.1.6
691
692 Performance improvements for arithmetic operations.
693
694 Performance improvements for string operations.
695
696
vegorov@chromium.orgf8372902010-03-15 10:26:20 +00006972010-03-10: Version 2.1.4
698
699 Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).
700
701 Performance improvements on all platforms.
702
703
ager@chromium.orgce5e87b2010-03-10 10:24:18 +00007042010-03-10: Version 2.1.3
705
706 Added API method for context-disposal notifications.
707
708 Added API method for accessing elements by integer index.
709
710 Added missing implementation of Uint32::Value and Value::IsUint32
711 API methods.
712
713 Added IsExecutionTerminating API method.
714
715 Disabled strict aliasing for GCC 4.4.
716
717 Fixed string-concatenation bug (issue 636).
718
719 Performance improvements on all platforms.
720
721
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +00007222010-02-23: Version 2.1.2
723
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000724 Fixed a crash bug caused by wrong assert.
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +0000725
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000726 Fixed a bug with register names on 64-bit V8 (issue 615).
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +0000727
728 Performance improvements on all platforms.
729
ager@chromium.orgce5e87b2010-03-10 10:24:18 +0000730
ager@chromium.org5c838252010-02-19 08:53:10 +00007312010-02-19: Version 2.1.1
732
733 [ES5] Implemented Object.defineProperty.
734
735 Improved profiler support.
736
737 Added SetPrototype method in the public V8 API.
738
739 Added GetScriptOrigin and GetScriptLineNumber methods to Function
740 objects in the API.
741
742 Performance improvements on all platforms.
743
744
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00007452010-02-03: Version 2.1.0
746
747 Values are now always wrapped in objects when used as a receiver.
748 (issue 223).
749
750 [ES5] Implemented Object.getOwnPropertyNames.
751
752 [ES5] Restrict JSON.parse to only accept strings that conforms to the
753 JSON grammar.
754
755 Improvement of debugger agent (issue 549 and 554).
756
757 Fixed problem with skipped stack frame in profiles (issue 553).
758
759 Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
760 <ry@tinyclouds.org>.
761
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000762 Fixed a bug that Math.round() returns incorrect results for huge
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +0000763 integers.
764
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000765 Fixed enumeration order for objects created from some constructor
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +0000766 functions (isue http://crbug.com/3867).
767
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000768 Fixed arithmetic on some integer constants (issue 580).
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +0000769
770 Numerous performance improvements including porting of previous IA-32
771 optimizations to x64 and ARM architectures.
772
773
fschneider@chromium.org0c20e672010-01-14 15:28:53 +00007742010-01-14: Version 2.0.6
775
776 Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,
777 GetOwnProperty, FromPropertyDescriptor.
778
779 Fixed Mac x64 build errors.
780
781 Improved performance of some math and string operations.
782
783 Improved performance of some regexp operations.
784
785 Improved performance of context creation.
786
787 Improved performance of hash tables.
788
789
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00007902009-12-18: Version 2.0.5
791
792 Extended to upper limit of map space to allow for 7 times as many map
793 to be allocated (issue 524).
794
795 Improved performance of code using closures.
796
797 Improved performance of some binary operations involving doubles.
798
799
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00008002009-12-16: Version 2.0.4
801
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000802 Added ECMAScript 5 Object.create.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000803
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000804 Improved performance of Math.max and Math.min.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000805
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000806 Optimized adding of strings on 64-bit platforms.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000807
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000808 Improved handling of external strings by using a separate table
809 instead of weak handles. This improves garbage collection
810 performance and uses less memory.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000811
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000812 Changed code generation for object and array literals in toplevel
813 code to be more compact by doing more work in the runtime.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000814
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000815 Fixed a crash bug triggered when garbage collection happened during
816 generation of a callback load inline cache stub.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000817
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000818 Fixed crash bug sometimes triggered when local variables shadowed
819 parameters in functions that used the arguments object.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000820
821
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +00008222009-12-03: Version 2.0.3
823
824 Optimized handling and adding of strings, for-in and Array.join.
825
826 Heap serialization is now non-destructive.
827
828 Improved profiler support with information on time spend in C++
829 callbacks registered through the API.
830
831 Added commands to the debugger protocol for starting/stopping
832 profiling.
833
834 Enabled the non-optimizing compiler for top-level code.
835
836 Changed the API to only allow strings to be set as data objects on
837 Contexts and scripts to avoid potentially keeping global objects
838 around for too long (issue 528).
839
840 OpenBSD support patch by Peter Valchev <pvalchev@gmail.com>.
841
842 Fixed bugs.
843
844
ager@chromium.org01beca72009-11-24 14:29:16 +00008452009-11-24: Version 2.0.2
846
847 Improved profiler support.
848
849 Fixed bug that broke compilation of d8 with readline support.
850
851
ager@chromium.org6141cbe2009-11-20 12:14:52 +00008522009-11-20: Version 2.0.1
853
854 Fixed crash bug in String.prototype.replace.
855
856 Reverted a change which caused Chromium interactive ui test
857 failures.
858
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000859
ager@chromium.orgc4c92722009-11-18 14:12:51 +00008602009-11-18: Version 2.0.0
861
862 Added support for VFP on ARM.
863
864 Added TryCatch::ReThrow method to the API.
865
866 Reduced the size of snapshots and improved the snapshot load time.
867
868 Improved heap profiler support.
869
870 64-bit version now supported on Windows.
871
872 Fixed a number of debugger issues.
873
874 Fixed bugs.
875
876
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +00008772009-10-29: Version 1.3.18
878
879 Reverted a change which caused crashes in RegExp replace.
880
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +0000881 Reverted a change which caused Chromium ui_tests failure.
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +0000882
883
ager@chromium.org3811b432009-10-28 14:53:37 +00008842009-10-28: Version 1.3.17
885
886 Added API method to get simple heap statistics.
887
888 Improved heap profiler support.
889
890 Fixed the implementation of the resource constraint API so it
891 works when using snapshots.
892
893 Fixed a number of issues in the Windows 64-bit version.
894
895 Optimized calls to API getters.
896
897 Added valgrind notification on code modification to the 64-bit version.
898
899 Fixed issue where we logged shared library addresses on Windows at
900 startup and never used them.
901
902
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00009032009-10-16: Version 1.3.16
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000904
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000905 X64: Convert smis to holding 32 bits of payload.
906
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000907 Introduced v8::Integer::NewFromUnsigned method.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000908
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000909 Added missing null check in Context::GetCurrent.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000910
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000911 Added trim, trimLeft and trimRight methods to String
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000912 Patch by Jan de Mooij <jandemooij@gmail.com>
913
914 Implement ES5 Array.isArray
915 Patch by Jan de Mooij <jandemooij@gmail.com>
916
917 Skip access checks for hidden properties.
918
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000919 Added String::Concat(Handle<String> left, Handle<String> right) to the
920 V8 API.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000921
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000922 Fixed GYP-based builds of V8.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000923
924
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +00009252009-10-07: Version 1.3.15
926
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000927 Expanded the maximum size of the code space to 512MB for 64-bit mode.
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +0000928
929 Fixed a crash bug happening when starting profiling (issue
930 http://crbug.com/23768).
931
932
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00009332009-10-07: Version 1.3.14
934
935 Added GetRealNamedProperty to the API to lookup real properties
936 located on the object or in the prototype chain skipping any
937 interceptors.
938
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000939 Fixed the stack limits setting API to work correctly with threads. The
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +0000940 stack limit now needs to be set to each thread thich is used with V8.
941
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000942 Removed the high-priority flag from IdleNotification()
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +0000943
944 Ensure V8 is initialized before locking and unlocking threads.
945
946 Implemented a new JavaScript minifier for compressing the source of
ager@chromium.org3811b432009-10-28 14:53:37 +0000947 the built-in JavaScript. This removes non-Open Source code from Douglas
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +0000948 Crockford from the project.
949
950 Added a missing optimization in StringCharAt.
951
952 Fixed some flaky socket tests.
953
954 Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
955 in 64-bit mode.
956
957 Fixed memory leaks in the thread management code.
958
959 Fixed the result of assignment to a pixel array. The assigned value
960 is now the result.
961
962 Error reporting for invalid left-hand sides in for-in statements, pre-
963 and postfix count expressions, and assignments now matches the JSC
964 behavior in Safari 4.
965
966 Follow the spec in disallowing function declarations without a name.
967
968 Always allocate code objects within a 2 GB range. On x64 architecture
969 this is used to use near calls (32-bit displacement) in Code objects.
970
971 Optimized array construction ported to x64 and ARM architectures.
972
973 [ES5] Changed Object.keys to return strings for element indices.
974
975
ager@chromium.org68e7ab72009-09-23 09:40:39 +00009762009-09-23: Version 1.3.13
977
978 Fixed uninitialized memory problem.
979
980 Improved heap profiler support.
981
982
christian.plesner.hansen@gmail.com2bc58ef2009-09-22 10:00:30 +00009832009-09-22: Version 1.3.12
984
985 Changed behavior of |function|.toString() on built-in functions to
986 be compatible with other implementations. Patch by Jan de Mooij.
987
988 Added Object::IsDirty in the API.
989
990 Optimized array construction; it is now handled purely in native
991 code.
992
993 [ES5] Made properties of the arguments array enumerable.
994
995 [ES5] Added test suite adapter for the es5conform test suite.
996
997 [ES5] Added Object.keys function.
998
ager@chromium.org68e7ab72009-09-23 09:40:39 +0000999
ager@chromium.org4af710e2009-09-15 12:20:11 +000010002009-09-15: Version 1.3.11
1001
1002 Fixed crash in error reporting during bootstrapping.
1003
1004 Optimized generated IA32 math code by using SSE2 instructions when
1005 available.
1006
1007 Implemented missing pieces of debugger infrastructure on ARM. The
1008 debugger is now fully functional on ARM.
1009
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001010 Made 'hidden' the default visibility for gcc.
ager@chromium.org4af710e2009-09-15 12:20:11 +00001011
1012
ager@chromium.orga1645e22009-09-09 19:27:10 +000010132009-09-09: Version 1.3.10
1014
1015 Fixed profiler on Mac in 64-bit mode.
1016
1017 Optimized creation of objects from simple constructor functions on
1018 ARM.
1019
1020 Fixed a number of debugger issues.
1021
1022 Reduced the amount of memory consumed by V8.
1023
1024
ager@chromium.org18ad94b2009-09-02 08:22:29 +000010252009-09-02: Version 1.3.9
1026
1027 Optimized stack guard checks on ARM.
1028
1029 Optimized API operations by inlining more in the API.
1030
1031 Optimized creation of objects from simple constructor functions.
1032
1033 Enabled a number of missing optimizations in the 64-bit port.
1034
1035 Implemented native-code support for regular expressions on ARM.
1036
1037 Stopped using the 'sahf' instruction on 64-bit machines that do
1038 not support it.
1039
1040 Fixed a bug in the support for forceful termination of JavaScript
1041 execution.
1042
1043
ager@chromium.org96c75b52009-08-26 09:13:16 +000010442009-08-26: Version 1.3.8
1045
1046 Changed the handling of idle notifications to allow idle
1047 notifications when V8 has not yet been initialized.
1048
1049 Fixed ARM simulator compilation problem on Windows.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001050
ager@chromium.org96c75b52009-08-26 09:13:16 +00001051
ager@chromium.orgab99eea2009-08-25 07:05:41 +000010522009-08-25: Version 1.3.7
1053
1054 Reduced the size of generated code on ARM platforms by reducing
1055 the size of constant pools.
1056
1057 Changed build files to not include the 'ENV' user environment
1058 variable in the build environment.
1059
1060 Changed the handling of idle notifications.
1061
1062
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +000010632009-08-21: Version 1.3.6
1064
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001065 Added support for forceful termination of JavaScript execution.
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00001066
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001067 Added low memory notification to the API. The embedding host can signal
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00001068 a low memory situation to V8.
1069
1070 Changed the handling of global handles (persistent handles in the API
1071 sense) to avoid issues regarding allocation of new global handles
1072 during weak handle callbacks.
1073
1074 Changed the growth policy of the young space.
1075
1076 Fixed a GC issue introduced in version 1.3.5.
1077
1078
sgjesse@chromium.org911335c2009-08-19 12:59:44 +000010792009-08-19: Version 1.3.5
1080
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001081 Optimized initialization of some arrays in the builtins.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001082
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001083 Fixed mac-nm script to support filenames with spaces.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001084
1085 Support for using the V8 profiler when V8 is embedded in a Windows DLL.
1086
1087 Changed typeof RegExp from 'object' to 'function' for compatibility.
1088 Fixed bug where regexps were not callable across contexts.
1089
1090 Added context independent script compilation to the API.
1091
1092 Added API call to get the stack trace for an exception.
1093
1094 Added API for getting object mirrors.
1095
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001096 Made sure that SSE3 instructions are used whenever possible even when
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001097 running off a snapshot generated without using SSE3 instructions.
1098
1099 Tweaked the handling of the initial size and growth policy of the heap.
1100
1101 Added native code generation for RegExp to 64-bit version.
1102
1103 Added JavaScript debugger support to 64-bit version.
1104
1105
ager@chromium.orgadd848f2009-08-13 12:44:13 +000011062009-08-13: Version 1.3.4
1107
1108 Added a readline() command to the d8 shell.
1109
1110 Fixed bug in json parsing.
1111
1112 Added idle notification to the API and reduced memory on idle
1113 notifications.
1114
1115
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +000011162009-08-12: Version 1.3.3
1117
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001118 Fixed issue 417: incorrect %t placeholder expansion.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001119
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001120 Added .gitignore file similar to Chromium's one.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001121
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001122 Fixed SConstruct file to build with new logging code for Android.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001123
1124 API: added function to find instance of template in prototype
1125 chain. Inlined Object::IsInstanceOf.
1126
1127 Land change to notify valgrind when we modify code on x86.
1128
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001129 Added api call to determine whether a string can be externalized.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001130
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001131 Added a write() command to d8.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001132
1133
sgjesse@chromium.orgb9d7da12009-08-05 08:38:10 +000011342009-08-05: Version 1.3.2
1135
1136 Started new compiler infrastructure for two-pass compilation using a
1137 control flow graph constructed from the AST.
1138
1139 Profiler stack sampling for X64.
1140
1141 Safe handling of NaN to Posix platform-dependent time functions.
1142
1143 Added a new profiler control API to unify controlling various aspects
1144 of profiling.
1145
1146 Fixed issue 392.
1147
1148
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +000011492009-07-30: Version 1.3.1
1150
1151 Speed improvements to accessors and interceptors.
1152
1153 Added support for capturing stack information on custom errors.
1154
1155 Added support for morphing an object into a pixel array where its
1156 indexed properties are stored in an external byte array. Values written
1157 are always clamped to the 0..255 interval.
1158
1159 Profiler on x64 now handles C/C++ functions from shared libraries.
1160
1161 Changed the debugger to avoid stepping into function.call/apply if the
1162 function is a built-in.
1163
1164 Initial implementation of constructor heap profile for JS objects.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001165
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00001166 More fine grained control of profiling aspects through the API.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001167
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00001168 Optimized the called as constructor check for API calls.
1169
1170
kasperl@chromium.orge959c182009-07-27 08:59:04 +000011712009-07-27: Version 1.3.0
1172
1173 Allowed RegExp objects to be called as functions (issue 132).
1174
1175 Fixed issue where global property cells would escape after
1176 detaching the global object; see http://crbug.com/16276.
1177
1178 Added support for stepping into setters and getters in the
1179 debugger.
1180
1181 Changed the debugger to avoid stopping in its own JavaScript code
1182 and in the code of built-in functions.
1183
1184 Fixed issue 345 by avoiding duplicate escaping labels.
1185
1186 Fixed ARM code generator crash in short-circuited boolean
1187 expressions and added regression tests.
1188
1189 Added an external allocation limit to avoid issues where small V8
1190 objects would hold on to large amounts of external memory without
1191 causing garbage collections.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001192
1193 Finished more of the inline caching stubs for x64 targets.
kasperl@chromium.orge959c182009-07-27 08:59:04 +00001194
1195
kasperl@chromium.orgdefbd102009-07-13 14:04:26 +000011962009-07-13: Version 1.2.14
1197
1198 Added separate paged heap space for global property cells and
1199 avoid updating the write barrier when storing into them.
1200
1201 Improved peep-hole optimization on ARM platforms by not emitting
1202 unnecessary debug information.
1203
1204 Re-enabled ICs for loads and calls that skip a global object
1205 during lookup through the prototype chain.
1206
1207 Allowed access through global proxies to use ICs.
1208
1209 Fixed issue 401.
1210
1211
kasperl@chromium.org68ac0092009-07-09 06:00:35 +000012122009-07-09: Version 1.2.13
1213
1214 Fixed issue 397, issue 398, and issue 399.
1215
1216 Added support for breakpoint groups.
1217
1218 Fixed bugs introduced with the new global object representation.
1219
1220 Fixed a few bugs in the ARM code generator.
1221
1222
kasperl@chromium.org86f77b72009-07-06 08:21:57 +000012232009-07-06: Version 1.2.12
1224
1225 Added stack traces collection to Error objects accessible through
1226 the e.stack property.
1227
1228 Changed RegExp parser to use a recursive data structure instead of
1229 stack-based recursion.
1230
1231 Optimized Date object construction and string concatenation.
1232
1233 Improved performance of div, mod, and mul on ARM platforms.
1234
1235
kasperl@chromium.org2abc4502009-07-02 07:00:29 +000012362009-07-02: Version 1.2.11
1237
1238 Improved performance on IA-32 and ARM.
1239
1240 Fixed profiler sampler implementation on Mac OS X.
1241
1242 Changed the representation of global objects to improve
1243 performance of adding a lot of new properties.
1244
1245
ager@chromium.org3e875802009-06-29 08:26:34 +000012462009-06-29: Version 1.2.10
1247
1248 Improved debugger support.
1249
1250 Fixed bug in exception message reporting (issue 390).
1251
1252 Improved overall performance.
1253
1254
ager@chromium.org5aa501c2009-06-23 07:57:28 +000012552009-06-23: Version 1.2.9
1256
1257 Improved math performance on ARM.
1258
1259 Fixed profiler name-inference bug.
1260
1261 Fixed handling of shared libraries in the profiler tick processor
1262 scripts.
1263
1264 Fixed handling of tests that time out in the test scripts.
1265
1266 Fixed compilation on MacOS X version 10.4.
1267
1268 Fixed two bugs in the regular expression engine.
1269
1270 Fixed a bug in the string type inference.
1271
1272 Fixed a bug in the handling of 'constant function' properties.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001273
ager@chromium.org5aa501c2009-06-23 07:57:28 +00001274 Improved overall performance.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001275
ager@chromium.org5aa501c2009-06-23 07:57:28 +00001276
ager@chromium.orgeadaf222009-06-16 09:43:10 +000012772009-06-16: Version 1.2.8
1278
1279 Optimized math on ARM platforms.
1280
1281 Fixed two crash bugs in the handling of getters and setters.
1282
1283 Improved the debugger support by adding scope chain information.
1284
1285 Improved the profiler support by compressing log data transmitted
1286 to clients.
1287
1288 Improved overall performance.
1289
1290
ager@chromium.orge2902be2009-06-08 12:21:35 +000012912009-06-08: Version 1.2.7
1292
1293 Improved debugger and profiler support.
1294
1295 Reduced compilation time by improving the handling of deferred
1296 code.
1297
1298 Optimized interceptor accesses where the property is on the object
1299 on which the interceptors is attached.
1300
1301 Fixed compilation problem on GCC 4.4 by changing the stack
1302 alignment to 16 bytes.
1303
1304 Fixed handle creation to follow stric aliasing rules.
1305
1306 Fixed compilation on FreeBSD.
1307
1308 Introduced API for forcing the deletion of a property ignoring
1309 interceptors and attributes.
1310
1311
sgjesse@chromium.org755c5b12009-05-29 11:04:38 +000013122009-05-29: Version 1.2.6
1313
1314 Added a histogram recording hit rates at different levels of the
1315 compilation cache.
1316
1317 Added stack overflow check for the RegExp analysis phase. Previously a
1318 very long regexp graph could overflow the stack with recursive calls.
1319
1320 Use a dynamic buffer when collecting log events in memory.
1321
1322 Added start/stop events to the profiler log.
1323
1324 Fixed infinite loop which could happen when setting a debug break while
1325 executing a RegExp compiled to native code.
1326
1327 Fixed handling of lastIndexOf called with negative index (issue 351).
1328
1329 Fixed irregular crash in profiler test (issue 358).
1330
1331 Fixed compilation issues with some versions of gcc.
1332
1333
kasperl@chromium.org71affb52009-05-26 05:44:31 +000013342009-05-26: Version 1.2.5
1335
1336 Fixed bug in initial boundary check for Boyer-Moore text
1337 search (issue 349).
1338
1339 Fixed compilation issues with MinGW and gcc 4.3+ and added support
1340 for armv7 and cortex-a8 architectures. Patches by Lei Zhang and
1341 Craig Schlenter.
1342
1343 Added a script cache to the debugger.
1344
1345 Optimized compilation performance by improving internal data
1346 structures and avoiding expensive property load optimizations for
1347 code that's infrequently executed.
1348
1349 Exposed the calling JavaScript context through the static API
1350 function Context::GetCalling().
1351
1352
kasperl@chromium.orgb3284ad2009-05-18 06:12:45 +000013532009-05-18: Version 1.2.4
1354
1355 Improved performance of floating point number allocation for ARM
1356 platforms.
1357
1358 Fixed crash when using the instanceof operator on functions with
1359 number values in their prototype chain (issue 341).
1360
1361 Optimized virtual frame operations in the code generator to speed
1362 up compilation time and allocated the frames in the zone.
1363
1364 Made the representation of virtual frames and jump targets in the
1365 code generator much more compact.
1366
1367 Avoided linear search for non-locals in scope code when resolving
1368 variables inside with and eval scopes.
1369
1370 Optimized lexical scanner by dealing with whitespace as part of
1371 the token scanning instead of as a separate step before it.
1372
1373 Changed the scavenging collector so that promoted objects do not
1374 reside in the old generation while their remembered set is being
1375 swept for pointers into the young generation.
1376
1377 Fixed numeric overflow handling when compiling count operations.
1378
1379
ager@chromium.org9085a012009-05-11 19:22:57 +000013802009-05-11: Version 1.2.3
1381
1382 Fixed bug in reporting of out-of-memory situations.
1383
1384 Introduced hidden prototypes on certain builtin prototype objects
1385 such as String.prototype to emulate JSC's behavior of restoring
1386 the original function when deleting functions from those prototype
1387 objects.
1388
1389 Fixed crash bug in the register allocator.
1390
1391
ager@chromium.org5ec48922009-05-05 07:25:34 +000013922009-05-04: Version 1.2.2
1393
1394 Fixed bug in array sorting for sparse arrays (issue 326).
1395
1396 Added support for adding a soname when building a shared library
1397 on Linux (issue 151).
1398
1399 Fixed bug caused by morphing internal ASCII strings to external
1400 two-byte strings. Slices over ASCII strings have to forward ASCII
1401 checks to the underlying buffer string.
1402
1403 Allowed API call-as-function handlers to be called as
1404 constructors.
1405
1406 Fixed a crash bug where an external string was disposed but a
1407 slice of the external string survived as a symbol.
1408
1409
ager@chromium.org3a37e9b2009-04-27 09:26:21 +000014102009-04-27: Version 1.2.1
1411
1412 Added EcmaScript 5 JSON object.
1413
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001414 Fixed bug in preemption support on ARM.
ager@chromium.org3a37e9b2009-04-27 09:26:21 +00001415
1416
ager@chromium.org65dad4b2009-04-23 08:48:43 +000014172009-04-23: Version 1.2.0
1418
1419 Optimized floating-point operations on ARM.
1420
1421 Added a number of extensions to the debugger API.
1422
1423 Changed the enumeration order for unsigned integer keys to always
1424 be numerical order.
1425
1426 Added a "read" extension to the shell sample.
1427
1428 Added support for Array.prototype.reduce and
1429 Array.prototype.reduceRight.
1430
1431 Added an option to the SCons build to control Microsoft Visual C++
1432 link-time code generation.
1433
1434 Fixed a number of bugs (in particular issue 315, issue 316,
1435 issue 317 and issue 318).
1436
1437
kasperl@chromium.org2d18d102009-04-15 13:27:32 +000014382009-04-15: Version 1.1.10
1439
1440 Fixed crash bug that occurred when loading a const variable in the
1441 presence of eval.
1442
1443 Allowed using with and eval in registered extensions in debug mode
1444 by fixing bogus assert.
1445
1446 Fixed the source position for function returns to enable the
1447 debugger to break there.
1448
1449
kasperl@chromium.orgd1e3e722009-04-14 13:38:25 +000014502009-04-14: Version 1.1.9
1451
1452 Made the stack traversal code in the profiler robust by avoiding
1453 to look into the heap.
1454
1455 Added name inferencing for anonymous functions to facilitate
1456 debugging and profiling.
1457
1458 Re-enabled stats timers in the developer shell (d8).
1459
1460 Fixed issue 303 by avoiding to shortcut cons-symbols.
1461
1462
kasperl@chromium.orgacae3782009-04-11 09:17:08 +000014632009-04-11: Version 1.1.8
1464
1465 Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).
1466
ager@chromium.org65dad4b2009-04-23 08:48:43 +00001467 Fixed step-in handling for Function.prototype.apply and call in
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00001468 the debugger (issue 269).
1469
1470 Fixed v8::Object::DeleteHiddenValue to not bail out when there
1471 are no hidden properties.
1472
ager@chromium.org65dad4b2009-04-23 08:48:43 +00001473 Added workaround for crash bug, where external symbol table
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00001474 entries with deleted resources would lead to NPEs when looking
1475 up in the symbol table.
1476
1477
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +000014782009-04-07: Version 1.1.7
1479
1480 Added support for easily importing additional environment
1481 variables into the SCons build.
1482
1483 Optimized strict equality checks.
1484
1485 Fixed crash in indexed setters on objects without a corresponding
1486 getter (issue 298).
1487
1488 Re-enabled script compilation cache.
1489
1490
ager@chromium.org8682a592009-04-01 10:47:14 +000014912009-04-01: Version 1.1.6
1492
1493 Reverted an unsafe code generator change.
1494
1495
ager@chromium.org71daaf62009-04-01 07:22:49 +000014962009-04-01: Version 1.1.5
1497
1498 Fixed bug that caused function literals to not be optimized as
1499 much as other functions.
1500
1501 Improved profiler support.
1502
1503 Fixed a crash bug in connection with debugger unloading.
1504
1505 Fixed a crash bug in the code generator caused by losing the
1506 information that a frame element was copied.
1507
1508 Fixed an exception propagation bug that could cause non-null
1509 return values when exceptions were thrown.
1510
1511
ager@chromium.org41826e72009-03-30 13:30:57 +000015122009-03-30: Version 1.1.4
1513
1514 Optimized String.prototype.match.
1515
1516 Improved the stack information in profiles.
1517
1518 Fixed bug in ARM port making it possible to compile the runtime
1519 system for thumb mode again.
1520
1521 Implemented a number of optimizations in the code generator.
1522
1523 Fixed a number of memory leaks in tests.
1524
1525 Fixed crash bug in connection with script source code and external
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +00001526 strings.
ager@chromium.org41826e72009-03-30 13:30:57 +00001527
1528
kasperl@chromium.orgf5aa8372009-03-24 14:47:14 +000015292009-03-24: Version 1.1.3
1530
1531 Fixed assertion failures in compilation of loop conditions.
1532
1533 Removed STL dependency from developer shell (d8).
1534
1535 Added infrastructure for protecting the V8 heap from corruption
1536 caused by memory modifications from the outside.
1537
1538
ager@chromium.orgbb29dc92009-03-24 13:25:23 +000015392009-03-24: Version 1.1.2
1540
1541 Improved frame merge code generated by the code generator.
1542
1543 Optimized String.prototype.replace.
1544
1545 Implemented __defineGetter__ and __defineSetter__ for properties
1546 with integer keys on non-array objects.
1547
1548 Improved debugger and profiler support.
1549
1550 Fixed a number of portability issues to allow compilation for
1551 smaller ARM devices.
1552
1553 Exposed object cloning through the API.
1554
1555 Implemented hidden properties. This is used to expose an identity
1556 hash for objects through the API.
1557
1558 Implemented restarting of regular expressions if their input
1559 string changes representation during preemption.
1560
1561 Fixed a code generator bug that could cause assignments in loops
1562 to be ignored if using continue to break out of the loop (issue
1563 284).
1564
1565
ager@chromium.org3a6061e2009-03-12 14:24:36 +000015662009-03-12: Version 1.1.1
1567
1568 Fixed an assertion in the new compiler to take stack overflow
1569 exceptions into account.
1570
1571 Removed exception propagation code that could cause crashes.
1572
1573 Fixed minor bug in debugger line number computations.
1574
1575 8-byte align the C stack on Linux and Windows to speed up floating
1576 point computations.
1577
1578
kasperl@chromium.org7be3c992009-03-12 07:19:55 +000015792009-03-12: Version 1.1.0
1580
1581 Improved code generation infrastructure by doing simple register
1582 allocation and constant folding and propagation.
1583
1584 Optimized regular expression matching by avoiding to create
1585 intermediate string arrays and by flattening nested array
1586 representations of RegExp data.
1587
1588 Traverse a few stack frames when recording profiler samples to
1589 include partial call graphs in the profiling output.
1590
1591 Added support for using OProfile to profile generated code.
1592
1593 Added remote debugging support to the D8 developer shell.
1594
1595 Optimized creation of nested literals like JSON objects.
1596
1597 Fixed a bug in garbage collecting unused maps and turned it on by
1598 default (--collect-maps).
1599
1600 Added support for running tests under Valgrind.
1601
1602
kasperl@chromium.org061ef742009-02-27 12:16:20 +000016032009-02-27: Version 1.0.3
1604
1605 Optimized double-to-integer conversions in bit operations by using
1606 SSE3 instructions if available.
1607
1608 Optimized initialization sequences that store to multiple
1609 properties of the same object.
1610
1611 Changed the D8 debugger frontend to use JSON messages.
1612
1613 Force garbage collections when disposing contexts.
1614
1615 Align code objects at 32-byte boundaries.
1616
1617
ager@chromium.org381abbb2009-02-25 13:23:22 +000016182009-02-25: Version 1.0.2
1619
1620 Improved profiling support by performing simple call stack
1621 sampling for ticks and by fixing a bug in the logging of code
1622 addresses.
1623
1624 Fixed a number of debugger issues.
1625
1626 Optimized code that uses eval.
1627
1628 Fixed a couple of bugs in the regular expression engine.
1629
1630 Reduced the size of generated code for certain regular expressions.
1631
1632 Removed JSCRE completely.
1633
1634 Fixed issue where test could not be run if there was a dot in the
1635 checkout path.
1636
1637
ager@chromium.org6f10e412009-02-13 10:11:16 +000016382009-02-13: Version 1.0.1
1639
1640 Fixed two crash-bugs in irregexp (issue 231 and 233).
1641
1642 Fixed a number of minor bugs (issue 87, 227 and 228).
1643
1644 Added support for morphing strings to external strings on demand
1645 to avoid having to create copies in the embedding code.
1646
1647 Removed experimental support for external symbol callbacks.
1648
1649
iposva@chromium.org245aa852009-02-10 00:49:54 +000016502009-02-09: Version 1.0.0
1651
1652 Fixed crash-bug in the code generation for case independent 16 bit
1653 backreferences.
ager@chromium.org6f10e412009-02-13 10:11:16 +00001654
iposva@chromium.org245aa852009-02-10 00:49:54 +00001655 Made shells more robust in the presence of string conversion
1656 failures (issue 224).
ager@chromium.org6f10e412009-02-13 10:11:16 +00001657
iposva@chromium.org245aa852009-02-10 00:49:54 +00001658 Fixed a potential infinite loop when attempting to resolve
1659 eval (issue 221).
ager@chromium.org6f10e412009-02-13 10:11:16 +00001660
iposva@chromium.org245aa852009-02-10 00:49:54 +00001661 Miscellaneous fixes to the new regular expression engine.
ager@chromium.org6f10e412009-02-13 10:11:16 +00001662
iposva@chromium.org245aa852009-02-10 00:49:54 +00001663 Reduced binary by stripping unneeded text from JavaScript library and
1664 minifying some JavaScript files.
1665
1666
ager@chromium.orgddb913d2009-01-27 10:01:48 +000016672009-01-27: Version 0.4.9
1668
1669 Enabled new regular expression engine.
1670
1671 Made a number of changes to the debugger protocol.
1672
1673 Fixed a number of bugs in the preemption support.
1674
1675 Added -p option to the developer shell to run files in parallel
1676 using preemption.
1677
1678 Fixed a number of minor bugs (including issues 176, 187, 189, 192,
1679 193, 198 and 201).
1680
1681 Fixed a number of bugs in the serialization/deserialization
1682 support for the ARM platform.
1683
1684
sgjesse@chromium.org715915b2009-01-19 16:08:47 +000016852009-01-19: Version 0.4.8.1
1686
1687 Minor patch to debugger support.
1688
1689
ager@chromium.org32912102009-01-16 10:38:43 +000016902009-01-16: Version 0.4.8
1691
1692 Fixed string length bug on ARM (issue 171).
1693
1694 Made most methods in the API const.
1695
1696 Optimized object literals by improving data locality.
1697
1698 Fixed bug that caused incomplete functions to be cached in case of
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00001699 stack overflow exceptions.
ager@chromium.org32912102009-01-16 10:38:43 +00001700
1701 Fixed bugs that caused catch variables and variables introduced by
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00001702 eval to behave incorrectly when using accessors (issues 186, 190
1703 and 191).
ager@chromium.org32912102009-01-16 10:38:43 +00001704
1705
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +000017062009-01-06: Version 0.4.7
1707
ager@chromium.org32912102009-01-16 10:38:43 +00001708 Minor bugfixes and optimizations.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001709
ager@chromium.org32912102009-01-16 10:38:43 +00001710 Added command line debugger to D8 shell.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001711
ager@chromium.org32912102009-01-16 10:38:43 +00001712 Fixed subtle bug that caused the wrong 'this' to be used when
1713 calling a caught function in a catch clause.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001714
ager@chromium.org32912102009-01-16 10:38:43 +00001715 Inline array loads within loops directly in the code instead of
1716 always calling a stub.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001717
ager@chromium.org32912102009-01-16 10:38:43 +00001718
ager@chromium.org8bb60582008-12-11 12:02:20 +000017192008-12-11: Version 0.4.6
1720
1721 Fixed exception reporting bug where certain exceptions were
1722 incorrectly reported as uncaught.
1723
1724 Improved the memory allocation strategy used during compilation to
1725 make running out of memory when compiling huge scripts less
1726 likely.
1727
1728 Optimized String.replace by avoiding the construction of certain
1729 sub strings.
1730
1731 Fixed bug in code generation for large switch statements on ARM.
1732
1733 Fixed bug that caused V8 to change the global object template
1734 passed in by the user.
1735
1736 Changed the API for creating object groups used during garbage
1737 collection. Entire object groups are now passed to V8 instead of
1738 individual members of the groups.
1739
ager@chromium.org32912102009-01-16 10:38:43 +00001740
ager@chromium.orga74f0da2008-12-03 16:05:52 +000017412008-12-03: Version 0.4.5
iposva@chromium.org96f667e2008-11-26 23:48:02 +00001742
ager@chromium.orga74f0da2008-12-03 16:05:52 +00001743 Added experimental API support for allocating V8 symbols as
1744 external strings.
1745
1746 Fixed bugs in debugging support on ARM.
1747
1748 Changed eval implementation to correctly detect whether or not a
1749 call to eval is aliased.
1750
1751 Fixed bug caused by a combination of the compilation cache and
1752 dictionary probing in native code. The bug caused us to sometimes
1753 call functions that had not yet been compiled.
1754
1755 Added platform support for FreeBSD.
1756
1757 Added support for building V8 on Windows with either the shared or
1758 static version of MSVCRT
ager@chromium.org32912102009-01-16 10:38:43 +00001759
iposva@chromium.org96f667e2008-11-26 23:48:02 +00001760 Added the v8::jscre namespace around the jscre functions to avoid
1761 link errors (duplicate symbols) when building Google Chrome.
1762
ager@chromium.orga74f0da2008-12-03 16:05:52 +00001763 Added support for calling a JavaScript function with the current
1764 debugger execution context as its argument to the debugger
1765 interface.
1766
1767 Changed the type of names of counters from wchar_t to char.
1768
1769 Changed the Windows system call used to compute daylight savings
1770 time. The system call that we used to use became four times
1771 slower on WinXP SP3.
1772
1773 Added support in the d8 developer shell for memory-mapped counters
1774 and added a stats-viewer tool.
1775
1776 Fixed bug in upper/lower case mappings (issue 149).
1777
iposva@chromium.org96f667e2008-11-26 23:48:02 +00001778
ager@chromium.org3bf7b912008-11-17 09:09:45 +000017792008-11-17: Version 0.4.4
1780
1781 Reduced code size by using shorter instruction encoding when
1782 possible.
1783
1784 Added a --help option to the shell sample and to the d8 shell.
1785
1786 Added visual studio project files for building the ARM simulator.
1787
1788 Fixed a number of ARM simulator issues.
1789
1790 Fixed bug in out-of-memory handling on ARM.
1791
1792 Implemented shell support for passing arguments to a script from
1793 the command line.
1794
1795 Fixed bug in date code that made certain date functions return -0
1796 instead of 0 for dates before the epoch.
1797
1798 Restricted applications of eval so it can only be used in the
1799 context of the associated global object.
1800
1801 Treat byte-order marks as whitespace characters.
ager@chromium.org32912102009-01-16 10:38:43 +00001802
1803
ager@chromium.org870a0b62008-11-04 11:43:05 +000018042008-11-04: Version 0.4.3
1805
1806 Added support for API accessors that prohibit overwriting by
1807 accessors defined in JavaScript code by using __defineGetter__ and
1808 __defineSetter__.
1809
1810 Improved handling of conditionals in test status files.
1811
1812 Introduced access control in propertyIsEnumerable.
1813
1814 Improved performance of some string operations by caching
1815 information about the type of the string between operations.
1816
1817 Fixed bug in fast-case code for switch statements that only have
1818 integer labels.
ager@chromium.org32912102009-01-16 10:38:43 +00001819
ager@chromium.org870a0b62008-11-04 11:43:05 +00001820
kasperl@chromium.org9bbf9682008-10-30 11:53:07 +000018212008-10-30: Version 0.4.2
1822
1823 Improved performance of Array.prototype.concat by moving the
1824 implementation to C++ (issue 123).
1825
1826 Fixed heap growth policy to avoid growing old space to its maximum
1827 capacity before doing a garbage collection and fixed issue that
1828 would lead to artificial out of memory situations (issue 129).
1829
1830 Fixed Date.prototype.toLocaleDateString to return the date in the
1831 same format as WebKit.
1832
1833 Added missing initialization checks to debugger API.
1834
1835 Added removing of unused maps during GC.
1836
1837
kasperl@chromium.org9fe21c62008-10-28 08:53:51 +000018382008-10-28: Version 0.4.1
1839
1840 Added caching of RegExp data in compilation cache.
1841
1842 Added Visual Studio project file for d8 shell.
1843
1844 Fixed function call performance regression introduced in version
1845 0.4.0 when splitting the global object in two parts (issue 120).
1846
1847 Fixed issue 131 by checking for empty handles before throwing and
1848 reporting exceptions.
1849
1850
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +000018512008-10-23: Version 0.4.0
1852
1853 Split the global object into two parts: The state holding global
1854 object and the global object proxy.
1855
1856 Fixed bug that affected the value of an assignment to an element
1857 in certain cases (issue 116).
1858
1859 Added GetPropertyNames functionality (issue 33) and extra Date
1860 functions (issue 77) to the API.
1861
1862 Changed WeakReferenceCallback to take a Persistent<Value> instead
1863 of a Persistent<Object> (issue 101).
1864
1865 Fixed issues with message reporting for exceptions in try-finally
1866 blocks (issues 73 and 75).
1867
ager@chromium.org32912102009-01-16 10:38:43 +00001868 Optimized flattening of strings and string equality checking.
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +00001869
1870 Improved Boyer-Moore implementation for faster indexOf operations.
1871
1872 Added development shell (d8) which includes counters and
1873 completion support.
1874
1875 Fixed problem with the receiver passed to functions called from
1876 eval (issue 124).
1877
1878
ager@chromium.org7c537e22008-10-16 08:43:32 +000018792008-10-16: Version 0.3.5
1880
1881 Improved string hash-code distribution by excluding bit-field bits
1882 from the hash-code.
1883
1884 Changed string search algorithm used in indexOf from KMP to
1885 Boyer-Moore.
1886
1887 Improved the generated code for the instanceof operator.
1888
1889 Improved performance of slow-case string equality checks by
1890 specializing the code based on the string representation.
1891
1892 Improve the handling of out-of-memory situations (issue 70).
1893
1894 Improved performance of strict equality checks.
1895
1896 Improved profiler output to make it easier to see anonymous
1897 functions.
1898
1899 Improved performance of slow-case keyed loads.
1900
1901 Improved property access performance by allocating a number of
1902 properties in the front object.
1903
1904 Changed the toString behavior on the built-in object constructors
1905 to print [native code] instead of the actual source. Some web
1906 applications do not like constructors with complex toString
1907 results.
ager@chromium.org32912102009-01-16 10:38:43 +00001908
ager@chromium.org7c537e22008-10-16 08:43:32 +00001909
kasperl@chromium.org41044eb2008-10-06 08:24:46 +000019102008-10-06: Version 0.3.4
1911
1912 Changed Array.prototype.sort to use quick sort.
1913
1914 Fixed code generation issue where leaving a finally block with
1915 break or continue would accumulate elements on the expression
1916 stack (issue 86).
1917
1918 Made sure that the name accessor on functions returns the expected
1919 names for builtin JavaScript functions and C++ callback functions.
1920
1921 Added fast case code for extending the property storage array of
1922 JavaScript objects.
1923
1924 Ported switch statement optimizations introduced in version 0.3.3
1925 to the ARM code generator.
1926
1927 Allowed GCC to use strict-aliasing rules when compiling.
1928
1929 Improved performance of arguments object allocation by taking care
1930 of arguments adaptor frames in the generated code.
1931
1932 Updated the V8 benchmark suite to version 2.
1933
1934
ager@chromium.org236ad962008-09-25 09:45:57 +000019352008-09-25: Version 0.3.3
1936
1937 Improved handling of relocation information to enable more
1938 peep-hole optimizations.
1939
1940 Optimized switch statements where all labels are constant small
1941 integers.
1942
1943 Optimized String.prototype.indexOf for common cases.
1944
1945 Fixed more build issues (issue 80).
1946
1947 Fixed a couple of profiler issues.
1948
1949 Fixed bug where the body of a function created using the Function
1950 constructor was not allowed to end with a single-line comment
1951 (issue 85).
1952
1953 Improved handling of object literals by canonicalizing object
1954 literal maps. This will allow JSON objects with the same set of
1955 properties to share the same map making inline caching work better
1956 for JSON objects.
ager@chromium.org32912102009-01-16 10:38:43 +00001957
ager@chromium.org236ad962008-09-25 09:45:57 +00001958
kasperl@chromium.orgb9123622008-09-17 14:05:56 +000019592008-09-17: Version 0.3.2
1960
1961 Generalized the EvalCache into a CompilationCache and enabled it
1962 for scripts too. The current strategy is to retire all entries
1963 whenever a mark-sweep collection is started.
1964
1965 Fixed bug where switch statements containing only a default case
1966 would lead to an unbalanced stack (issue 69).
1967
1968 Fixed bug that made access to the function in a named function
1969 expression impossible in certain situations (issue 24).
1970
1971 Fixed even more build issues.
1972
1973 Optimized calling conventions on ARM. The conventions on ARM and
1974 IA-32 now match.
1975
1976 Removed static initializers for flags and counters.
1977
1978 Improved inline caching behavior for uncommon cases where lazily
1979 loading Date and RegExp code could force certain code paths go
1980 megamorphic.
1981
1982 Removed arguments adaption for builtins written in C++. This
1983 makes Array.prototype.push and Array.prototype.pop slightly
1984 faster.
1985
1986
ager@chromium.org9258b6b2008-09-11 09:11:10 +000019872008-09-11: Version 0.3.1
1988
1989 Fixed a number of build issues.
1990
1991 Fixed problem with missing I-cache flusing on ARM.
1992
1993 Changed space layout in memory management by splitting up
1994 code space into old data space and code space.
1995
1996 Added utf-8 conversion support to the API (issue 57).
1997
1998 Optimized repeated calls to eval with the same strings. These
1999 repeated calls are common in web applications.
2000
2001 Added Xcode project file.
2002
2003 Optimized a couple of Array operation.
2004
2005 Fixed parser bug by checking for end-of-string when parsing break
2006 and continue (issue 35).
2007
2008 Fixed problem where asian characters were not categorized as
2009 letters.
2010
2011 Fixed bug that disallowed calling functions fetched from an array
2012 using a string as an array index (issue 32).
2013
2014 Fixed bug where the internal field count on object templates were
2015 sometimes ignored (issue 54).
2016
2017 Added -f option to the shell sample for compatibility with other
2018 engines (issue 18).
2019
2020 Added source info to TryCatches in the API.
2021
2022 Fixed problem where the seed for the random number generator was
2023 clipped in a double to unsigned int conversion.
2024
2025 Fixed bug where cons string symbols were sometimes converted to
2026 non-symbol flat strings during GC.
2027
2028 Fixed bug in error reporting when attempting to convert null to an
2029 object.
ager@chromium.org32912102009-01-16 10:38:43 +00002030
2031
ager@chromium.orgc27e4e72008-09-04 13:52:27 +000020322008-09-04: Version 0.3.0
2033
2034 Added support for running tests on the ARM simulator.
2035
2036 Fixed bug in the 'in' operator where negative indices were not
2037 treated correctly.
2038
2039 Fixed build issues on gcc-4.3.1.
2040
2041 Changed Date.prototype.toLocaleTimeString to not print the
2042 timezone part of the time.
2043
2044 Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
2045 with user code.
2046
2047
v8.team.kasperl727e9952008-09-02 14:56:44 +000020482008-09-02: Version 0.2.5
2049
2050 Renamed the top level directory 'public' to 'include'.
2051
2052 Added 'env' option to the SCons build scripts to support
2053 overriding the ENV part of the build environment. This is mostly
2054 to support Windows builds in cases where SCons cannot find the
2055 correct paths to the Windows SDK, as these paths cannot be passed
2056 through shell environment variables.
2057
2058 Enabled "Buffer Security Check" on for the Windows SCons build and
2059 added the linker option /OPT:ICF as an optimization.
2060
2061 Added the V8 benchmark suite to the repository.
2062
2063
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +000020642008-09-01: Version 0.2.4
2065
2066 Included mjsunit JavaScript test suite and C++ unit tests.
2067
2068 Changed the shell sample to not print the result of executing a
2069 script provided on the command line.
2070
2071 Fixed issue when building samples on Windows using a shared V8
2072 library. Added visibility option on Linux build which makes the
2073 generated library 18% smaller.
2074
2075 Changed build system to accept multiple build modes in one build
2076 and generate separate objects, libraries and executables for each
2077 mode.
2078
2079 Removed deferred negation optimization (a * -b => -(a * b)) since
2080 this visibly changes operand conversion order.
2081
2082 Improved parsing performance by introducing stack guard in
2083 preparsing. Without a stack guard preparsing always bails out
2084 with stack overflow.
2085
2086 Changed shell sample to take flags directly from the command-line.
2087 Added API call that implements this.
2088
2089 Added load, quit and version functions to the shell sample so it's
2090 easier to run benchmarks and tests.
2091
2092 Fixed issue with building samples and cctests on 64-bit machines.
2093
2094 Fixed bug in the runtime system where the prototype chain was not
2095 always searched for a setter when setting a property that does not
2096 exist locally.
ager@chromium.org32912102009-01-16 10:38:43 +00002097
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +00002098
mads.s.agercbaa0602008-08-14 13:41:48 +000020992008-08-14: Version 0.2.3
2100
2101 Improved performance of garbage collection by moving the
2102 function that updates pointers during compacting collection
2103 into the updating visitor. This gives the compiler a better
2104 chance to inline and avoid a function call per (potential)
2105 pointer.
2106
2107 Extended the shell sample with a --runtime-flags option.
2108
2109 Added Visual Studio project files for the shell.cc and
2110 process.cc samples.
2111
2112
21132008-08-13: Version 0.2.2
mads.s.ager31e71382008-08-13 09:32:07 +00002114
2115 Improved performance of garbage collection by changing the way
2116 we use the marking stack in the event of stack overflow during
2117 full garbage collection and by changing the way we mark roots.
2118
2119 Cleaned up ARM version by removing top of stack caching and by
2120 introducing push/pop elimination.
2121
2122 Cleaned up the way runtime functions are called to allow
2123 runtime calls with no arguments.
2124
2125 Changed Windows build options to make sure that exceptions are
2126 disabled and that optimization flags are enabled.
2127
2128 Added first version of Visual Studio project files.
2129
2130
mads.s.agercbaa0602008-08-14 13:41:48 +000021312008-08-06: Version 0.2.1
mads.s.ager@gmail.com769cc962008-08-06 10:02:49 +00002132
2133 Improved performance of unary addition by avoiding runtime calls.
2134
2135 Fixed the handling of '>' and '<=' to use right-to-left conversion
2136 and left-to-right evaluation as specified by ECMA-262.
2137
2138 Fixed a branch elimination bug on the ARM platform where incorrect
2139 code was generated because of overly aggressive branch
2140 elimination.
2141
2142 Improved performance of code that repeatedly assigns the same
2143 function to the same property of different objects with the same
2144 map.
2145
2146 Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler
2147 no longer expects DEBUG to be defined.
2148
2149 Added platform-nullos.cc to serve as the basis for new platform
2150 implementations.
2151
mads.s.ager31e71382008-08-13 09:32:07 +00002152
mads.s.agercbaa0602008-08-14 13:41:48 +000021532008-07-30: Version 0.2.0
kasper.lund7276f142008-07-30 08:49:36 +00002154
2155 Changed all text files to have native svn:eol-style.
2156
2157 Added a few samples and support for building them. The samples
2158 include a simple shell that can be used to benchmark and test V8.
2159
2160 Changed V8::GetVersion to return the version as a string.
2161
2162 Added source for lazily loaded scripts to snapshots and made
2163 serialization non-destructive.
2164
2165 Improved ARM support by fixing the write barrier code to use
2166 aligned loads and stores and by removing premature locals
2167 optimization that relied on broken support for callee-saved
2168 registers (removed).
2169
2170 Refactored the code for marking live objects during garbage
2171 collection and the code for allocating objects in paged
2172 spaces. Introduced an abstraction for the map word of a heap-
2173 allocated object and changed the memory allocator to allocate
2174 executable memory only for spaces that may contain code objects.
2175
2176 Moved StringBuilder to utils.h and ScopedLock to platform.h, where
2177 they can be used by debugging and logging modules. Added
2178 thread-safe message queues for dealing with debugger events.
2179
2180 Fixed the source code reported by toString for certain builtin
2181 empty functions and made sure that the prototype property of a
2182 function is enumerable.
2183
2184 Improved performance of converting values to condition flags in
2185 generated code.
2186
2187 Merged disassembler-{arch} files.
2188
2189
mads.s.agercbaa0602008-08-14 13:41:48 +000021902008-07-28: Version 0.1.4
kasper.lundaf4734f2008-07-28 12:50:18 +00002191
2192 Added support for storing JavaScript stack traces in a stack
2193 allocated buffer to make it visible in shallow core dumps.
2194 Controlled by the --preallocate-message-memory flag which is
2195 disabled by default.
2196
2197
mads.s.agercbaa0602008-08-14 13:41:48 +000021982008-07-25: Version 0.1.3
kasper.lund44510672008-07-25 07:37:58 +00002199
2200 Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
2201 map transitions would count as properties.
2202
2203 Allowed aliased eval invocations by treating them as evals in the
2204 global context. This may change in the future.
2205
2206 Added support for accessing the last entered context through the
2207 API and renamed Context::Current to Context::GetCurrent and
2208 Context::GetSecurityContext to Context::GetCurrentSecurityContext.
2209
2210 Fixed bug in the debugger that would cause the debugger scripts to
2211 be recursively loaded and changed all disabling of interrupts to
2212 be block-structured.
2213
2214 Made snapshot data read-only to allow it to be more easily shared
2215 across multiple users of V8 when linked as a shared library.
2216
2217
mads.s.agercbaa0602008-08-14 13:41:48 +000022182008-07-16: Version 0.1.2
kasper.lund212ac232008-07-16 07:07:30 +00002219
2220 Fixed building on Mac OS X by recognizing i386 and friends as
2221 IA-32 platforms.
2222
2223 Added propagation of stack overflow exceptions that occur while
2224 compiling nested functions.
2225
2226 Improved debugger with support for recursive break points and
2227 handling of exceptions that occur in the debugger JavaScript code.
2228
2229 Renamed GetInternal to GetInternalField and SetInternal to
2230 SetInternalField in the API and moved InternalFieldCount and
2231 SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
2232
2233
mads.s.agercbaa0602008-08-14 13:41:48 +000022342008-07-09: Version 0.1.1
kasper.lundbd3ec4e2008-07-09 11:06:54 +00002235
2236 Fixed bug in stack overflow check code for IA-32 targets where a
2237 non-tagged value in register eax was pushed to the stack.
2238
2239 Fixed potential quadratic behavior when converting strings to
2240 numbers.
2241
2242 Fixed bug where the return value from Object::SetProperty could
2243 end up being the property holder instead of the written value.
2244
2245 Improved debugger support by allowing nested break points and by
2246 dealing with stack-overflows when compiling functions before
2247 setting break points in them.
2248
2249
mads.s.agercbaa0602008-08-14 13:41:48 +000022502008-07-03: Version 0.1.0
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00002251
kasper.lundbd3ec4e2008-07-09 11:06:54 +00002252 Initial export.
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00002253