blob: 1d91fcded11aa4f533a9ce6d177129bb4b568f38 [file] [log] [blame]
fschneider@chromium.org3a5fd782011-02-24 10:10:44 +000012011-02-24: Version 3.1.6
2
3 Fixed a number of crash bugs.
4
5 Added support for Cygwin (issue 64).
6
7 Improved Crankshaft for x64 and ARM.
8
9 Added Crankshaft support for stores to pixel arrays.
10
11 Fixed issue in CPU profiler with Crankshaft.
12
13
kmillikin@chromium.org49edbdf2011-02-16 12:32:18 +0000142011-02-16: Version 3.1.5
15
16 Change RegExp parsing to disallow /(*)/.
17
18 Added GDB JIT support for ARM.
19
20 Fixed several crash bugs.
21
22 Performance improvements on the IA32 platform.
23
24
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +0000252011-02-14: Version 3.1.4
26
27 Fixed incorrect compare of prototypes of the global object (issue
28 1082).
29
30 Fixed a bug in optimizing calls to global functions (issue 1106).
31
32 Made optimized Function.prototype.apply safe for non-JSObject first
33 arguments (issue 1128).
34
35 Fixed an error related to element accessors on Object.prototype and
36 parser errors (issue 1130).
37
38 Fixed a bug in sorting an array with large array indices (issue 1131).
39
40 Properly treat exceptions thrown while compiling (issue 1132).
41
42 Fixed bug in register requirements for function.apply (issue 1133).
43
44 Fixed a representation change bug in the Hydrogen graph construction
45 (issue 1134).
46
47 Fixed the semantics of delete on parameters (issue 1136).
48
49 Fixed a optimizer bug related to moving instructions with side effects
50 (issue 1138).
51
52 Added support for the global object in Object.keys (issue 1150).
53
54 Fixed incorrect value for Math.LOG10E
55 (issue http://code.google.com/p/chromium/issues/detail?id=72555)
56
57 Performance improvements on the IA32 platform.
58
59 Implement assignment to undefined reference in ES5 Strict Mode.
60
61
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +0000622011-02-09: Version 3.1.3
63
64 Fixed a bug triggered by functions with huge numbers of declared
65 arguments.
66
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +000067 Fixed zap value aliasing a real object - debug mode only (issue 866).
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +000068
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +000069 Fixed issue where Array.prototype.__proto__ had been set to null
70 (issue 1121).
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +000071
72 Fixed stability bugs in Crankshaft for x86.
73
74
ricow@chromium.org83aa5492011-02-07 12:42:56 +0000752011-02-07: Version 3.1.2
76
77 Added better security checks when accessing properties via
78 Object.getOwnPropertyDescriptor.
79
80 Fixed bug in Object.defineProperty and related access bugs (issues
81 992, 1083 and 1092).
82
83 Added LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to ease
84 copyright notice generation for embedders.
85
86
kmillikin@chromium.org31b12772011-02-02 16:08:26 +0000872011-02-02: Version 3.1.1
88
89 Perform security checks before fetching the value in
90 Object.getOwnPropertyDescriptor.
91
92 Fixed a bug in Array.prototype.splice triggered by passing no
93 arguments.
94
95 Fixed bugs in -0 in arithmetic and in Math.pow.
96
97 Fixed bugs in the register allocator and in switching from optimized
98 to unoptimized code.
99
100
1012011-01-31: Version 3.1.0
102
whesse@chromium.org7a392b32011-01-31 11:30:36 +0000103 Performance improvements on all platforms.
104
105
ager@chromium.org378b34e2011-01-28 08:04:38 +00001062011-01-28: Version 3.0.12
107
108 Added support for strict mode parameter and object property
109 validation.
110
111 Fixed a couple of crash bugs.
112
113
ager@chromium.org0ee099b2011-01-25 14:06:47 +00001142011-01-25: Version 3.0.11
115
116 Fixed a bug in deletion of lookup slots that could cause global
117 variables to be accidentally deleted (http://crbug.com/70066).
118
119 Added support for strict mode octal literal verification.
120
121 Fixed a couple of crash bugs (issues 1070 and 1071).
122
123
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +00001242011-01-24: Version 3.0.10
125
126 Fixed External::Wrap for 64-bit addresses (issue 1037).
127
ager@chromium.org0ee099b2011-01-25 14:06:47 +0000128 Fixed incorrect .arguments variable proxy handling in the full
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +0000129 code generator (issue 1060).
130
131 Introduced partial strict mode support.
132
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +0000133 Changed formatting of recursive error messages to match Firefox and
134 Safari (issue http://crbug.com/70334).
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +0000135
136 Fixed incorrect rounding for float-to-integer conversions for external
ager@chromium.org0ee099b2011-01-25 14:06:47 +0000137 array types, which implement the Typed Array spec
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +0000138 (issue http://crbug.com/50972).
139
140 Performance improvements on the IA32 platform.
141
142
erik.corry@gmail.com0511e242011-01-19 11:11:08 +00001432011-01-19: Version 3.0.9
144
145 Added basic GDB JIT Interface integration.
146
147 Make invalid break/continue statements a syntax error instead of a
148 runtime error.
149
150
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +00001512011-01-17: Version 3.0.8
152
153 Exposed heap size limit to the heap statistics gathered by
erik.corry@gmail.com0511e242011-01-19 11:11:08 +0000154 the GetHeapStatistics API.
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +0000155
156 Wrapped external pointers more carefully (issue 1037).
157
158 Hardened the implementation of error objects to avoid setters
159 intercepting the properties set then throwing an error.
160
161 Avoided trashing the FPSCR when calculating Math.floor on ARM.
162
163 Performance improvements on the IA32 platform.
164
165
1662011-01-10: Version 3.0.7
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000167
168 Stopped calling inherited setters when creating object literals
169 (issue 1015).
170
171 Changed interpretation of malformed \c? escapes in RegExp to match
172 JSC.
173
174 Enhanced the command-line debugger interface and fixed some minor
175 bugs in the debugger.
176
177 Performance improvements on the IA32 platform.
178
179
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +00001802011-01-05: Version 3.0.6
lrn@chromium.org5d00b602011-01-05 09:51:43 +0000181
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000182 Allowed getters and setters on JSArray elements (issue 900).
lrn@chromium.org5d00b602011-01-05 09:51:43 +0000183
184 Stopped JSON objects from hitting inherited setters (part of
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000185 issue 1015).
lrn@chromium.org5d00b602011-01-05 09:51:43 +0000186
187 Allowed numbers and strings as names of getters/setters in object
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000188 initializer (issue 820).
lrn@chromium.org5d00b602011-01-05 09:51:43 +0000189
190 Added use_system_v8 option to gyp (off by default), to make it easier
191 for Linux distributions to ship with system-provided V8 library.
192
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000193 Exported external array data accessors (issue 1016).
lrn@chromium.org5d00b602011-01-05 09:51:43 +0000194
195 Added labelled thread names to help with debugging (on Linux).
196
197
fschneider@chromium.org9e3e0b62011-01-03 10:16:46 +00001982011-01-03: Version 3.0.5
199
200 Fixed a couple of cast errors for gcc-3.4.3.
201
202 Performance improvements in GC and IA32 code generator.
203
204
whesse@chromium.org023421e2010-12-21 12:19:12 +00002052010-12-21: Version 3.0.4
206
207 Added Date::ResetCache() to the API so that the cached values in the
208 Date object can be reset to allow live DST / timezone changes.
209
210 Extended existing support for printing (while debugging) the contents
211 of objects. Added support for printing objects from release builds.
212
213 Fixed V8 issues 989, 1006, and 1007.
214
215
ager@chromium.org5f0c45f2010-12-17 08:51:21 +00002162010-12-17: Version 3.0.3
217
218 Reapplied all changes for version 3.0.1.
219
220 Improved debugger protocol for remote debugging.
221
222 Added experimental support for using gyp to generate build files
223 for V8.
224
225 Fixed implementation of String::Write in the API (issue 975).
226
227
lrn@chromium.org8541d772010-12-15 12:05:09 +00002282010-12-15: Version 3.0.2
229
230 Revert version 3.0.1 and patch 3.0.1.1.
231
232
kmillikin@chromium.orgfacd82d2010-12-13 18:00:51 +00002332010-12-13: Version 3.0.1
234
235 Added support for an experimental internationalization API as an
236 extension. This extension is disabled by default but can be enabled
237 when building V8. The ECMAScript internationalization strawman is
238 at http://wiki.ecmascript.org/doku.php?id=strawman:i18n_api.
239
240 Made RegExp character class parsing stricter. This mirrors a change
241 to RegExp parsing in WebKit.
242
243 Fixed a bug in Object.defineProperty when used to change attributes
244 of an existing property. It incorrectly set the property value to
245 undefined (issue 965).
246
247 Fixed several different compilation failures on various platforms
248 caused by the 3.0.0 release.
249
250 Optimized Math.pow so it can work on unboxed doubles.
251
252 Sped up quoting of JSON strings by removing one traversal of the
253 string.
254
255
kasperl@chromium.orga5551262010-12-07 12:49:48 +00002562010-12-07: Version 3.0.0
257
258 Improved performance by (partially) addressing issue 957 on
259 IA-32. Still needs more work for the other architectures.
260
261
ager@chromium.orgbeb25712010-11-29 08:02:25 +00002622010-11-29: Version 2.5.9
263
264 Fixed crashes during GC caused by partially initialize heap
265 objects.
266
267 Fixed bug in process sample that caused memory leaks.
268
269 Improved performance on ARM by implementing missing stubs and
270 inlining.
271
272 Improved heap profiler support.
273
274 Added separate seeding on Windows of the random number generator
275 used internally by the compiler (issue 936).
276
277 Exposed API for getting the name of the function used to construct
278 an object.
279
280 Fixed date parser to handle one and two digit millisecond
281 values (issue 944).
282
283 Fixed number parsing to disallow space between sign and
284 digits (issue 946).
285
286
vegorov@chromium.org21b5e952010-11-23 10:24:40 +00002872010-11-23: Version 2.5.8
288
289 Removed dependency on Gay's dtoa.
290
291 Improved heap profiler precision and speed.
292
293 Reduced overhead of callback invocations on ARM.
294
295
erik.corry@gmail.com4a6c3272010-11-18 12:04:40 +00002962010-11-18: Version 2.5.7
297
298 Fixed obscure evaluation order bug (issue 931).
299
300 Split the random number state between JavaScript and the private API.
301
302 Fixed performance bug causing GCs when generating stack traces on
303 code from very large scripts.
304
305 Fixed bug in parser that allowed (foo):42 as a labelled statement
306 (issue 918).
307
308 Provide more accurate results about used heap size via
309 GetHeapStatistics.
310
311 Allow build-time customization of the max semispace size.
312
313 Made String.prototype.split honor limit when separator is empty
314 (issue 929).
315
316 Added missing failure check after expecting an identifier in
317 preparser (Chromium issue 62639).
318
319
ager@chromium.org01fe7df2010-11-10 11:59:11 +00003202010-11-10: Version 2.5.6
321
322 Added support for VFP rounding modes to the ARM simulator.
323
324 Fixed multiplication overflow bug (issue 927).
325
326 Added a limit for the amount of executable memory (issue 925).
327
328
whesse@chromium.orgf0ac72d2010-11-08 12:47:26 +00003292010-11-08: Version 2.5.5
330
331 Added more aggressive GC of external objects in near out-of-memory
332 situations.
333
334 Fixed a bug that gave the incorrect result for String.split called
335 on the empty string (issue 924).
336
337
lrn@chromium.orgfa943b72010-11-03 08:14:36 +00003382010-11-03: Version 2.5.4
339
whesse@chromium.orgf0ac72d2010-11-08 12:47:26 +0000340 Improved V8 VFPv3 runtime detection to address issue 914.
lrn@chromium.orgfa943b72010-11-03 08:14:36 +0000341
342
fschneider@chromium.orge03fb642010-11-01 12:34:09 +00003432010-11-01: Version 2.5.3
344
345 Fixed a bug that prevents constants from overwriting function values
346 in object literals (issue 907).
347
348 Fixed a bug with reporting of impossible nested calls of DOM functions
349 (issue http://crbug.com/60753).
350
351
lrn@chromium.org303ada72010-10-27 09:33:13 +00003522010-10-27: Version 2.5.2
353
354 Improved sampler resolution on Linux.
355
356 Allowed forcing the use of a simulator from the build script
357 independently of the host architecture.
358
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000359 Fixed FreeBSD port (issue 912).
lrn@chromium.org303ada72010-10-27 09:33:13 +0000360
361 Made windows-tick-processor respect D8_PATH.
362
363 Implemented --noinline-new flag fully on IA32, X64 and ARM platforms.
364
365
whesse@chromium.org4a5224e2010-10-20 12:37:07 +00003662010-10-20: Version 2.5.1
367
368 Fixed bug causing spurious out of memory exceptions
369 (issue http://crbug.com/54580).
370
371 Fixed compilation error on Solaris platform (issue 901).
372
373 Fixed error in strtod (string to floating point number conversion)
374 due to glibc's use of 80-bit floats in the FPU on 32-bit linux.
375
376 Adjusted randomized allocations of executable memory to have 64k
377 granularity (issue http://crbug.com/56036).
378
379 Supported profiling using kernel perf_events on linux. Added ll_prof
380 script to tools and --ll-prof flag to V8.
381
382
vegorov@chromium.org42841962010-10-18 11:18:59 +00003832010-10-18: Version 2.5.0
384
385 Fixed bug in cache handling of lastIndex on global regexps
386 (issue http://crbug.com/58740).
387
388 Added USE_SIMULATOR macro that explicitly indicates that we wish to use
389 the simulator as the execution engine (by Mark Lam <mark.lam@palm.com>
kmillikin@chromium.orgfacd82d2010-12-13 18:00:51 +0000390 from Hewlett-Packard Development Company, LP).
vegorov@chromium.org42841962010-10-18 11:18:59 +0000391
392 Fixed compilation error on ARM with gcc 4.4 (issue 894).
393
394
3952010-10-13: Version 2.4.9
ager@chromium.orgb61a0d12010-10-13 08:35:23 +0000396
397 Fixed a bug in the handling of conditional expressions in test
398 contexts in compiler for top-level code.
399
400 Added "//@ sourceURL" information to the StackTrace API.
401
402 Exposed RegExp construction through the API.
403
404
ricow@chromium.orgeb7c1442010-10-04 08:54:21 +00004052010-10-04: Version 2.4.8
406
407 Fixed a bug in ResumeProfilerEx causing it to not always write out the
408 whole snapshot (issue 868).
409
410 Performance improvements on all platforms.
411
412
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +00004132010-09-30: Version 2.4.7
414
415 Changed the command-line flag --max-new-space-size to be in kB and the
416 flag --max-old-space-size to be in MB (previously they were in bytes).
417
418 Added Debug::CancelDebugBreak to the debugger API.
419
420 Fixed a bug in getters for negative numeric property names
421 (https://bugs.webkit.org/show_bug.cgi?id=46689).
422
423 Performance improvements on all platforms.
424
425
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +00004262010-09-27: Version 2.4.6
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +0000427
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +0000428 Fixed assertion failure related to copy-on-write arrays (issue 876).
429
430 Fixed build failure of 64-bit V8 on Windows.
431
432 Fixed a bug in RegExp (issue http://crbug.com/52801).
433
434 Improved the profiler's coverage to cover more functions (issue 858).
435
436 Fixed error in shift operators on 64-bit V8
437 (issue http://crbug.com/54521).
438
439
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004402010-09-22: Version 2.4.5
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +0000441
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000442 Changed the RegExp benchmark to exercise the regexp engine on different
443 inputs by scrambling the input strings.
444
445 Fixed a bug in keyed loads on strings.
446
447 Fixed a bug with loading global function prototypes.
448
449 Fixed a bug with profiling RegExp calls (issue http://crbug.com/55999).
450
451 Performance improvements on all platforms.
452
453
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00004542010-09-15: Version 2.4.4
455
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000456 Fixed bug with hangs on very large sparse arrays.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000457
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000458 Now tries harder to free up memory when running out of space.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000459
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000460 Added heap snapshots to JSON format to API.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000461
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000462 Recalibrated benchmarks.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000463
464
sgjesse@chromium.org2ec107f2010-09-13 09:19:46 +00004652010-09-13: Version 2.4.3
466
467 Made Date.parse properly handle TZ offsets (issue 857).
468
469 Performance improvements on all platforms.
470
471
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00004722010-09-08: Version 2.4.2
473
474 Fixed GC crash bug.
475
476 Fixed stack corruption bug.
477
478 Fixed compilation for newer C++ compilers that found Operand(0)
479 ambiguous.
480
481
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00004822010-09-06: Version 2.4.1
483
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000484 Added the ability for an embedding application to receive a callback
485 when V8 allocates (V8::AddMemoryAllocationCallback) or deallocates
486 (V8::RemoveMemoryAllocationCallback) from the OS.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000487
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000488 Fixed several JSON bugs (including issue 855).
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000489
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000490 Fixed memory overrun crash bug triggered during V8's tick-based
491 profiling.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000492
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000493 Performance improvements on all platforms.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000494
495
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00004962010-09-01: Version 2.4.0
497
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000498 Fixed bug in Object.freeze and Object.seal when Array.prototype or
499 Object.prototype are changed (issue 842).
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000500
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000501 Updated Array.splice to follow Safari and Firefox when called
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000502 with zero arguments.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000503
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000504 Fixed a missing live register when breaking at keyed loads on ARM.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000505
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000506 Performance improvements on all platforms.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000507
508
ricow@chromium.org65fae842010-08-25 15:26:24 +00005092010-08-25: Version 2.3.11
510
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000511 Fixed bug in RegExp related to copy-on-write arrays.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000512
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000513 Refactored tools/test.py script, including the introduction of
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000514 VARIANT_FLAGS that allows specification of sets of flags with which
515 all tests should be run.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000516
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000517 Fixed a bug in the handling of debug breaks in CallIC.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000518
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000519 Performance improvements on all platforms.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000520
521
erik.corry@gmail.com145eff52010-08-23 11:36:18 +00005222010-08-23: Version 2.3.10
523
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000524 Fixed bug in bitops on ARM.
erik.corry@gmail.com145eff52010-08-23 11:36:18 +0000525
526 Build fixes for unusual compilers.
527
528 Track high water mark for RWX memory.
529
530 Performance improvements on all platforms.
531
532
ricow@chromium.org0b9f8502010-08-18 07:45:01 +00005332010-08-18: Version 2.3.9
534
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000535 Fixed compilation for ARMv4 on OpenBSD/FreeBSD.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000536
537 Removed specialized handling of GCC 4.4 (issue 830).
538
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000539 Fixed DST cache to take into account the suspension of DST in
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000540 Egypt during the 2010 Ramadan (issue http://crbug.com/51855).
541
ricow@chromium.org65fae842010-08-25 15:26:24 +0000542 Performance improvements on all platforms.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000543
544
ager@chromium.orgea4f62e2010-08-16 16:28:43 +00005452010-08-16: Version 2.3.8
546
547 Fixed build with strict aliasing on GCC 4.4 (issue 463).
548
549 Fixed issue with incorrect handling of custom valueOf methods on
550 string wrappers (issue 760).
551
552 Fixed compilation for ARMv4 (issue 590).
553
554 Improved performance.
555
556
vegorov@chromium.org26c16f82010-08-11 13:41:03 +00005572010-08-11: Version 2.3.7
558
559 Reduced size of heap snapshots produced by heap profiler (issue 783).
560
561 Introduced v8::Value::IsRegExp method.
562
563 Fixed CPU profiler crash in start / stop sequence when non-existent
564 name is passed (issue http://crbug.com/51594).
565
566 Introduced new indexed property query callbacks API (issue 816). This
567 API is guarded by USE_NEW_QUERY_CALLBACK define and is disabled
568 by default.
569
570 Removed support for object literal get/set with number/string
571 property name.
572
573 Fixed handling of JSObject::elements in CalculateNetworkSize
574 (issue 822).
575
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000576 Allowed compiling with strict aliasing enabled on GCC 4.4 (issue 463).
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000577
578
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +00005792010-08-09: Version 2.3.6
580
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000581 RegExp literals create a new object every time they are evaluated
582 (issue 704).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000583
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000584 Object.seal and Object.freeze return the modified object (issue 809).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000585
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000586 Fixed building using GCC 4.4.4.
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000587
588
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +00005892010-08-04: Version 2.3.5
590
591 Added support for ES5 property names. Object initialisers and
592 dot-notation property access now allows keywords. Also allowed
593 non-identifiers after "get" or "set" in an object initialiser.
594
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000595 Randomized the addresses of allocated executable memory on Windows.
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +0000596
597
whesse@chromium.orge90029b2010-08-02 11:52:17 +00005982010-08-02: Version 2.3.4
599
600 Fixed problems in implementation of ES5 function.prototype.bind.
601
602 Fixed error when using apply with arguments object on ARM (issue 784).
603
604 Added setting of global flags to debugger protocol.
605
606 Fixed an error affecting cached results of sin and cos (issue 792).
607
608 Removed memory leak from a boundary case where V8 is not initialized.
609
610 Fixed issue where debugger could set breakpoints outside the body
611 of a function.
612
613 Fixed issue in debugger when using both live edit and step in features.
614
615 Added Number-letter (Nl) category to Unicode tables. These characters
616 can now be used in identifiers.
617
618 Fixed an assert failure on X64 (issue 806).
619
620 Performance improvements on all platforms.
621
622
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +00006232010-07-26: Version 2.3.3
624
625 Fixed error when building the d8 shell in a fresh checkout.
626
627 Implemented Function.prototype.bind (ES5 15.3.4.5).
628
629 Fixed an error in inlined stores on ia32.
630
631 Fixed an error when setting a breakpoint at the end of a function
632 that does not end with a newline character.
633
634 Performance improvements on all platforms.
635
636
fschneider@chromium.orged78ffd2010-07-21 11:05:19 +00006372010-07-21: Version 2.3.2
638
639 Fixed compiler warnings when building with LLVM.
640
641 Fixed a bug with for-in applied to strings (issue 785).
642
643 Performance improvements on all platforms.
644
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +0000645
ricow@chromium.org4980dff2010-07-19 08:33:45 +00006462010-07-19: Version 2.3.1
647
648 Fixed compilation and linking with V8_INTERPRETED_REGEXP flag.
649
650 Fixed bug related to code flushing while compiling a lazy
651 compilable function (issue http://crbug.com/49099).
652
653 Performance improvements on all platforms.
654
655
ager@chromium.orgb5737492010-07-15 09:29:43 +00006562010-07-15: Version 2.3.0
657
658 Added ES5 Object.seal and Object.isSealed.
659
660 Added debugger API for scheduling debugger commands from a
661 separate thread.
662
663
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +00006642010-07-14: Version 2.2.24
665
666 Added API for capturing stack traces for uncaught exceptions.
667
668 Fixed crash bug when preparsing from a non-external V8 string
669 (issue 775).
670
671 Fixed JSON.parse bug causing input not to be converted to string
672 (issue 764).
673
674 Added ES5 Object.freeze and Object.isFrozen.
675
676 Performance improvements on all platforms.
677
678
erik.corry@gmail.com4a2e25e2010-07-07 12:22:46 +00006792010-07-07: Version 2.2.23
680
681 API change: Convert Unicode code points outside the basic multilingual
682 plane to the replacement character. Previous behavior was to silently
683 truncate the value to 16 bits.
684
685 Fixed crash: handle all flat string types in regexp replace.
686
687 Prevent invalid pre-parsing data passed in through the API from
688 crashing V8.
689
690 Performance improvements on all platforms.
691
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +0000692
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00006932010-07-05: Version 2.2.22
694
695 Added ES5 Object.isExtensible and Object.preventExtensions.
696
697 Enabled building V8 as a DLL.
698
699 Fixed a bug in date code where -0 was not interpreted as 0
700 (issue 736).
701
702 Performance improvements on all platforms.
703
704
lrn@chromium.org32d961d2010-06-30 09:09:34 +00007052010-06-30: Version 2.2.21
706
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000707 Fixed bug in externalizing some ASCII strings (Chromium issue 47824).
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000708
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000709 Updated JSON.stringify to floor the space parameter (issue 753).
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000710
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000711 Updated the Mozilla test expectations to the newest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000712
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000713 Updated the ES5 Conformance Test expectations to the latest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000714
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000715 Updated the V8 benchmark suite.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000716
717 Provide actual breakpoints locations in response to setBreakpoint
718 and listBreakpoints requests.
719
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000720
fschneider@chromium.org40b9da32010-06-28 11:29:21 +00007212010-06-28: Version 2.2.20
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000722
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000723 Fixed bug with for-in on x64 platform (issue 748).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000724
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000725 Fixed crash bug on x64 platform (issue 756).
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000726
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000727 Fixed bug in Object.getOwnPropertyNames. (chromium issue 41243).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000728
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000729 Fixed a bug on ARM that caused the result of 1 << x to be
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000730 miscalculated for some inputs.
731
732 Performance improvements on all platforms.
733
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000734
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +00007352010-06-23: Version 2.2.19
736
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000737 Fixed bug that causes the build to break when profillingsupport=off
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +0000738 (issue 738).
739
740 Added expose-externalize-string flag for testing extensions.
741
742 Resolve linker issues with using V8 as a DLL causing a number of
743 problems with unresolved symbols.
744
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000745 Fixed build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +0000746 defined.
747
748 Performance improvements on all platforms.
749
750
whesse@chromium.org2c186ca2010-06-16 11:32:39 +00007512010-06-16: Version 2.2.18
752
753 Added API functions to retrieve information on indexed properties
754 managed by the embedding layer. Fixes bug 737.
755
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000756 Made ES5 Object.defineProperty support array elements. Fixes bug 619.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000757
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000758 Added heap profiling to the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000759
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000760 Removed old named property query from the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000761
762 Incremental performance improvements.
763
764
ager@chromium.org2cc82ae2010-06-14 07:35:38 +00007652010-06-14: Version 2.2.17
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000766
ager@chromium.org2cc82ae2010-06-14 07:35:38 +0000767 Improved debugger support for stepping out of functions.
768
769 Incremental performance improvements.
770
771
7722010-06-09: Version 2.2.16
773
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000774 Removed the SetExternalStringDiposeCallback API. Changed the
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000775 disposal of external string resources to call a virtual Dispose
776 method on the resource.
777
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000778 Added support for more precise break points when debugging and
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000779 stepping.
780
781 Memory usage improvements on all platforms.
782
783
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +00007842010-06-07: Version 2.2.15
785
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000786 Added an API to control the disposal of external string resources.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000787
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000788 Added missing initialization of a couple of variables which makes
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000789 some compilers complaint when compiling with -Werror.
790
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000791 Improved performance on all platforms.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000792
793
sgjesse@chromium.org82dbbab2010-06-02 08:57:44 +00007942010-06-02: Version 2.2.14
795
796 Fixed a crash in code generated for String.charCodeAt.
797
798 Fixed a compilation issue with some GCC versions (issue 727).
799
800 Performance optimizations on x64 and ARM platforms.
801
802
ricow@chromium.org30ce4112010-05-31 10:38:25 +00008032010-05-31: Version 2.2.13
804
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000805 Implemented Object.getOwnPropertyDescriptor for element indices and
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000806 strings (issue 599).
807
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000808 Fixed bug for windows 64 bit C calls from generated code.
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000809
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000810 Added new scons flag unalignedaccesses for arm builds.
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000811
812 Performance improvements on all platforms.
813
814
kmillikin@chromium.org9155e252010-05-26 13:27:57 +00008152010-05-26: Version 2.2.12
816
817 Allowed accessors to be defined on objects rather than just object
818 templates.
819
820 Changed the ScriptData API.
821
822
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00008232010-05-21: Version 2.2.11
824
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000825 Fixed crash bug in liveedit on 64 bit.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000826
827 Use 'full compiler' when debugging is active. This should increase
828 the density of possible break points, making single step more fine
829 grained. This will only take effect for functions compiled after
830 debugging has been started, so recompilation of all functions is
831 required to get the full effect. IA32 and x64 only for now.
832
833 Misc. fixes to the Solaris build.
834
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000835 Added new flags --print-cumulative-gc-stat and --trace-gc-nvp.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000836
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000837 Added filtering of CPU profiles by security context.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000838
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000839 Fixed crash bug on ARM when running without VFP2 or VFP3.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000840
841 Incremental performance improvements in all backends.
842
843
vegorov@chromium.orgdff694e2010-05-17 09:10:26 +00008442010-05-17: Version 2.2.10
845
846 Performance improvements in the x64 and ARM backends.
847
848
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +00008492010-05-10: Version 2.2.9
850
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000851 Allowed Object.create to be called with a function (issue 697).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +0000852
853 Fixed bug with Date.parse returning a non-NaN value when called on a
854 non date string (issue 696).
855
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000856 Allowed unaligned memory accesses on ARM targets that support it (by
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000857 Subrato K De of CodeAurora <subratokde@codeaurora.org>).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +0000858
859 C++ API for retrieving JavaScript stack trace information.
860
861
ager@chromium.orgac091b72010-05-05 07:34:42 +00008622010-05-05: Version 2.2.8
863
864 Performance improvements in the x64 and ARM backends.
865
866
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00008672010-05-03: Version 2.2.7
868
869 Added support for ES5 date time string format to Date.parse.
870
871 Performance improvements in the x64 backend.
872
873
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00008742010-04-28: Version 2.2.6
875
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000876 Added "amd64" as recognized architecture in scons build script
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000877 (by Ryan Dahl <coldredlemur@gmail.com>).
878
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000879 Fixed bug in String search and replace with very simple RegExps.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000880
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000881 Fixed bug in RegExp containing "\b^".
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000882
883 Performance improvements on all platforms.
884
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000885
fschneider@chromium.org013f3e12010-04-26 13:27:52 +00008862010-04-26: Version 2.2.5
887
888 Various performance improvements (especially for ARM and x64)
889
890 Fixed bug in CPU profiling (http://crbug.com/42137)
891
892 Fixed a bug with the natives cache.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000893
894 Fixed two bugs in the ARM code generator that can cause
fschneider@chromium.org013f3e12010-04-26 13:27:52 +0000895 wrong calculations.
896
897 Fixed a bug that may cause a wrong result for shift operations.
898
899
9002010-04-21: Version 2.2.4
ricow@chromium.orgc9c80822010-04-21 08:22:37 +0000901
902 Fixed warnings on arm on newer GCC versions.
903
904 Fixed a number of minor bugs.
905
906 Performance improvements on all platforms.
907
908
whesse@chromium.orgb6e43bb2010-04-14 09:36:28 +00009092010-04-14: Version 2.2.3
910
911 Added stack command and mem command to ARM simulator debugger.
912
913 Fixed scons snapshot and ARM build, and Windows X64 build issues.
914
915 Performance improvements on all platforms.
916
917
ager@chromium.org357bf652010-04-12 11:30:10 +00009182010-04-12: Version 2.2.2
919
920 Introduced new profiler API.
921
922 Fixed random number generator to produce full 32 random bits.
923
924
lrn@chromium.org25156de2010-04-06 13:10:27 +00009252010-04-06: Version 2.2.1
926
927 Debugger improvements.
928
929 Fixed minor bugs.
930
931
ricow@chromium.orgaa1b6162010-03-29 07:44:58 +00009322010-03-29: Version 2.2.0
933
934 Fixed a few minor bugs.
935
936 Performance improvements for string operations.
937
938
ager@chromium.orgb26c50a2010-03-26 09:27:16 +00009392010-03-26: Version 2.1.10
940
941 Fixed scons build issues.
942
943 Fixed a couple of minor bugs.
944
945
sgjesse@chromium.orgdf7a2842010-03-25 14:34:15 +00009462010-03-25: Version 2.1.9
947
948 Added API support for reattaching a global object to a context.
949
950 Extended debugger API with access to the internal debugger context.
951
952 Fixed Chromium crashes (issues http://crbug.com/39128 and
953 http://crbug.com/39160)
954
955
kmillikin@chromium.org5d8f0e62010-03-24 08:21:20 +00009562010-03-24: Version 2.1.8
957
958 Added fine-grained garbage collection callbacks to the API.
959
960 Performance improvements on all platforms.
961
962
whesse@chromium.orgcec079d2010-03-22 14:44:04 +00009632010-03-22: Version 2.1.7
964
965 Fixed issue 650.
966
967 Fixed a bug where __proto__ was sometimes enumerated (issue 646).
fschneider@chromium.org086aac62010-03-17 13:18:24 +0000968
969 Performance improvements for arithmetic operations.
970
971 Performance improvements for string operations.
972
whesse@chromium.orgcec079d2010-03-22 14:44:04 +0000973 Print script name and line number information in stack trace.
974
975
9762010-03-17: Version 2.1.6
977
978 Performance improvements for arithmetic operations.
979
980 Performance improvements for string operations.
981
982
vegorov@chromium.orgf8372902010-03-15 10:26:20 +00009832010-03-10: Version 2.1.4
984
985 Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).
986
987 Performance improvements on all platforms.
988
989
ager@chromium.orgce5e87b2010-03-10 10:24:18 +00009902010-03-10: Version 2.1.3
991
992 Added API method for context-disposal notifications.
993
994 Added API method for accessing elements by integer index.
995
996 Added missing implementation of Uint32::Value and Value::IsUint32
997 API methods.
998
999 Added IsExecutionTerminating API method.
1000
1001 Disabled strict aliasing for GCC 4.4.
1002
1003 Fixed string-concatenation bug (issue 636).
1004
1005 Performance improvements on all platforms.
1006
1007
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +000010082010-02-23: Version 2.1.2
1009
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001010 Fixed a crash bug caused by wrong assert.
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +00001011
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001012 Fixed a bug with register names on 64-bit V8 (issue 615).
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +00001013
1014 Performance improvements on all platforms.
1015
ager@chromium.orgce5e87b2010-03-10 10:24:18 +00001016
ager@chromium.org5c838252010-02-19 08:53:10 +000010172010-02-19: Version 2.1.1
1018
1019 [ES5] Implemented Object.defineProperty.
1020
1021 Improved profiler support.
1022
1023 Added SetPrototype method in the public V8 API.
1024
1025 Added GetScriptOrigin and GetScriptLineNumber methods to Function
1026 objects in the API.
1027
1028 Performance improvements on all platforms.
1029
1030
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +000010312010-02-03: Version 2.1.0
1032
1033 Values are now always wrapped in objects when used as a receiver.
1034 (issue 223).
1035
1036 [ES5] Implemented Object.getOwnPropertyNames.
1037
1038 [ES5] Restrict JSON.parse to only accept strings that conforms to the
1039 JSON grammar.
1040
1041 Improvement of debugger agent (issue 549 and 554).
1042
1043 Fixed problem with skipped stack frame in profiles (issue 553).
1044
1045 Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
1046 <ry@tinyclouds.org>.
1047
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001048 Fixed a bug that Math.round() returns incorrect results for huge
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00001049 integers.
1050
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001051 Fixed enumeration order for objects created from some constructor
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00001052 functions (isue http://crbug.com/3867).
1053
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001054 Fixed arithmetic on some integer constants (issue 580).
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00001055
1056 Numerous performance improvements including porting of previous IA-32
1057 optimizations to x64 and ARM architectures.
1058
1059
fschneider@chromium.org0c20e672010-01-14 15:28:53 +000010602010-01-14: Version 2.0.6
1061
1062 Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,
1063 GetOwnProperty, FromPropertyDescriptor.
1064
1065 Fixed Mac x64 build errors.
1066
1067 Improved performance of some math and string operations.
1068
1069 Improved performance of some regexp operations.
1070
1071 Improved performance of context creation.
1072
1073 Improved performance of hash tables.
1074
1075
sgjesse@chromium.org846fb742009-12-18 08:56:33 +000010762009-12-18: Version 2.0.5
1077
1078 Extended to upper limit of map space to allow for 7 times as many map
1079 to be allocated (issue 524).
1080
1081 Improved performance of code using closures.
1082
1083 Improved performance of some binary operations involving doubles.
1084
1085
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +000010862009-12-16: Version 2.0.4
1087
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001088 Added ECMAScript 5 Object.create.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001089
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001090 Improved performance of Math.max and Math.min.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001091
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001092 Optimized adding of strings on 64-bit platforms.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001093
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001094 Improved handling of external strings by using a separate table
1095 instead of weak handles. This improves garbage collection
1096 performance and uses less memory.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001097
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001098 Changed code generation for object and array literals in toplevel
1099 code to be more compact by doing more work in the runtime.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001100
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001101 Fixed a crash bug triggered when garbage collection happened during
1102 generation of a callback load inline cache stub.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001103
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001104 Fixed crash bug sometimes triggered when local variables shadowed
1105 parameters in functions that used the arguments object.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001106
1107
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +000011082009-12-03: Version 2.0.3
1109
1110 Optimized handling and adding of strings, for-in and Array.join.
1111
1112 Heap serialization is now non-destructive.
1113
1114 Improved profiler support with information on time spend in C++
1115 callbacks registered through the API.
1116
1117 Added commands to the debugger protocol for starting/stopping
1118 profiling.
1119
1120 Enabled the non-optimizing compiler for top-level code.
1121
1122 Changed the API to only allow strings to be set as data objects on
1123 Contexts and scripts to avoid potentially keeping global objects
1124 around for too long (issue 528).
1125
1126 OpenBSD support patch by Peter Valchev <pvalchev@gmail.com>.
1127
1128 Fixed bugs.
1129
1130
ager@chromium.org01beca72009-11-24 14:29:16 +000011312009-11-24: Version 2.0.2
1132
1133 Improved profiler support.
1134
1135 Fixed bug that broke compilation of d8 with readline support.
1136
1137
ager@chromium.org6141cbe2009-11-20 12:14:52 +000011382009-11-20: Version 2.0.1
1139
1140 Fixed crash bug in String.prototype.replace.
1141
1142 Reverted a change which caused Chromium interactive ui test
1143 failures.
1144
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001145
ager@chromium.orgc4c92722009-11-18 14:12:51 +000011462009-11-18: Version 2.0.0
1147
1148 Added support for VFP on ARM.
1149
1150 Added TryCatch::ReThrow method to the API.
1151
1152 Reduced the size of snapshots and improved the snapshot load time.
1153
1154 Improved heap profiler support.
1155
1156 64-bit version now supported on Windows.
1157
1158 Fixed a number of debugger issues.
1159
1160 Fixed bugs.
1161
1162
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +000011632009-10-29: Version 1.3.18
1164
1165 Reverted a change which caused crashes in RegExp replace.
1166
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +00001167 Reverted a change which caused Chromium ui_tests failure.
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +00001168
1169
ager@chromium.org3811b432009-10-28 14:53:37 +000011702009-10-28: Version 1.3.17
1171
1172 Added API method to get simple heap statistics.
1173
1174 Improved heap profiler support.
1175
1176 Fixed the implementation of the resource constraint API so it
1177 works when using snapshots.
1178
1179 Fixed a number of issues in the Windows 64-bit version.
1180
1181 Optimized calls to API getters.
1182
1183 Added valgrind notification on code modification to the 64-bit version.
1184
1185 Fixed issue where we logged shared library addresses on Windows at
1186 startup and never used them.
1187
1188
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +000011892009-10-16: Version 1.3.16
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001190
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001191 X64: Convert smis to holding 32 bits of payload.
1192
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001193 Introduced v8::Integer::NewFromUnsigned method.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001194
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001195 Added missing null check in Context::GetCurrent.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001196
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001197 Added trim, trimLeft and trimRight methods to String
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001198 Patch by Jan de Mooij <jandemooij@gmail.com>
1199
1200 Implement ES5 Array.isArray
1201 Patch by Jan de Mooij <jandemooij@gmail.com>
1202
1203 Skip access checks for hidden properties.
1204
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001205 Added String::Concat(Handle<String> left, Handle<String> right) to the
1206 V8 API.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001207
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001208 Fixed GYP-based builds of V8.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001209
1210
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +000012112009-10-07: Version 1.3.15
1212
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001213 Expanded the maximum size of the code space to 512MB for 64-bit mode.
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +00001214
1215 Fixed a crash bug happening when starting profiling (issue
1216 http://crbug.com/23768).
1217
1218
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +000012192009-10-07: Version 1.3.14
1220
1221 Added GetRealNamedProperty to the API to lookup real properties
1222 located on the object or in the prototype chain skipping any
1223 interceptors.
1224
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001225 Fixed the stack limits setting API to work correctly with threads. The
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00001226 stack limit now needs to be set to each thread thich is used with V8.
1227
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001228 Removed the high-priority flag from IdleNotification()
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00001229
1230 Ensure V8 is initialized before locking and unlocking threads.
1231
1232 Implemented a new JavaScript minifier for compressing the source of
ager@chromium.org3811b432009-10-28 14:53:37 +00001233 the built-in JavaScript. This removes non-Open Source code from Douglas
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00001234 Crockford from the project.
1235
1236 Added a missing optimization in StringCharAt.
1237
1238 Fixed some flaky socket tests.
1239
1240 Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
1241 in 64-bit mode.
1242
1243 Fixed memory leaks in the thread management code.
1244
1245 Fixed the result of assignment to a pixel array. The assigned value
1246 is now the result.
1247
1248 Error reporting for invalid left-hand sides in for-in statements, pre-
1249 and postfix count expressions, and assignments now matches the JSC
1250 behavior in Safari 4.
1251
1252 Follow the spec in disallowing function declarations without a name.
1253
1254 Always allocate code objects within a 2 GB range. On x64 architecture
1255 this is used to use near calls (32-bit displacement) in Code objects.
1256
1257 Optimized array construction ported to x64 and ARM architectures.
1258
1259 [ES5] Changed Object.keys to return strings for element indices.
1260
1261
ager@chromium.org68e7ab72009-09-23 09:40:39 +000012622009-09-23: Version 1.3.13
1263
1264 Fixed uninitialized memory problem.
1265
1266 Improved heap profiler support.
1267
1268
christian.plesner.hansen@gmail.com2bc58ef2009-09-22 10:00:30 +000012692009-09-22: Version 1.3.12
1270
1271 Changed behavior of |function|.toString() on built-in functions to
1272 be compatible with other implementations. Patch by Jan de Mooij.
1273
1274 Added Object::IsDirty in the API.
1275
1276 Optimized array construction; it is now handled purely in native
1277 code.
1278
1279 [ES5] Made properties of the arguments array enumerable.
1280
1281 [ES5] Added test suite adapter for the es5conform test suite.
1282
1283 [ES5] Added Object.keys function.
1284
ager@chromium.org68e7ab72009-09-23 09:40:39 +00001285
ager@chromium.org4af710e2009-09-15 12:20:11 +000012862009-09-15: Version 1.3.11
1287
1288 Fixed crash in error reporting during bootstrapping.
1289
1290 Optimized generated IA32 math code by using SSE2 instructions when
1291 available.
1292
1293 Implemented missing pieces of debugger infrastructure on ARM. The
1294 debugger is now fully functional on ARM.
1295
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001296 Made 'hidden' the default visibility for gcc.
ager@chromium.org4af710e2009-09-15 12:20:11 +00001297
1298
ager@chromium.orga1645e22009-09-09 19:27:10 +000012992009-09-09: Version 1.3.10
1300
1301 Fixed profiler on Mac in 64-bit mode.
1302
1303 Optimized creation of objects from simple constructor functions on
1304 ARM.
1305
1306 Fixed a number of debugger issues.
1307
1308 Reduced the amount of memory consumed by V8.
1309
1310
ager@chromium.org18ad94b2009-09-02 08:22:29 +000013112009-09-02: Version 1.3.9
1312
1313 Optimized stack guard checks on ARM.
1314
1315 Optimized API operations by inlining more in the API.
1316
1317 Optimized creation of objects from simple constructor functions.
1318
1319 Enabled a number of missing optimizations in the 64-bit port.
1320
1321 Implemented native-code support for regular expressions on ARM.
1322
1323 Stopped using the 'sahf' instruction on 64-bit machines that do
1324 not support it.
1325
1326 Fixed a bug in the support for forceful termination of JavaScript
1327 execution.
1328
1329
ager@chromium.org96c75b52009-08-26 09:13:16 +000013302009-08-26: Version 1.3.8
1331
1332 Changed the handling of idle notifications to allow idle
1333 notifications when V8 has not yet been initialized.
1334
1335 Fixed ARM simulator compilation problem on Windows.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001336
ager@chromium.org96c75b52009-08-26 09:13:16 +00001337
ager@chromium.orgab99eea2009-08-25 07:05:41 +000013382009-08-25: Version 1.3.7
1339
1340 Reduced the size of generated code on ARM platforms by reducing
1341 the size of constant pools.
1342
1343 Changed build files to not include the 'ENV' user environment
1344 variable in the build environment.
1345
1346 Changed the handling of idle notifications.
1347
1348
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +000013492009-08-21: Version 1.3.6
1350
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001351 Added support for forceful termination of JavaScript execution.
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00001352
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001353 Added low memory notification to the API. The embedding host can signal
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00001354 a low memory situation to V8.
1355
1356 Changed the handling of global handles (persistent handles in the API
1357 sense) to avoid issues regarding allocation of new global handles
1358 during weak handle callbacks.
1359
1360 Changed the growth policy of the young space.
1361
1362 Fixed a GC issue introduced in version 1.3.5.
1363
1364
sgjesse@chromium.org911335c2009-08-19 12:59:44 +000013652009-08-19: Version 1.3.5
1366
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001367 Optimized initialization of some arrays in the builtins.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001368
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001369 Fixed mac-nm script to support filenames with spaces.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001370
1371 Support for using the V8 profiler when V8 is embedded in a Windows DLL.
1372
1373 Changed typeof RegExp from 'object' to 'function' for compatibility.
1374 Fixed bug where regexps were not callable across contexts.
1375
1376 Added context independent script compilation to the API.
1377
1378 Added API call to get the stack trace for an exception.
1379
1380 Added API for getting object mirrors.
1381
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001382 Made sure that SSE3 instructions are used whenever possible even when
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001383 running off a snapshot generated without using SSE3 instructions.
1384
1385 Tweaked the handling of the initial size and growth policy of the heap.
1386
1387 Added native code generation for RegExp to 64-bit version.
1388
1389 Added JavaScript debugger support to 64-bit version.
1390
1391
ager@chromium.orgadd848f2009-08-13 12:44:13 +000013922009-08-13: Version 1.3.4
1393
1394 Added a readline() command to the d8 shell.
1395
1396 Fixed bug in json parsing.
1397
1398 Added idle notification to the API and reduced memory on idle
1399 notifications.
1400
1401
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +000014022009-08-12: Version 1.3.3
1403
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001404 Fixed issue 417: incorrect %t placeholder expansion.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001405
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001406 Added .gitignore file similar to Chromium's one.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001407
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001408 Fixed SConstruct file to build with new logging code for Android.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001409
1410 API: added function to find instance of template in prototype
1411 chain. Inlined Object::IsInstanceOf.
1412
1413 Land change to notify valgrind when we modify code on x86.
1414
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001415 Added api call to determine whether a string can be externalized.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001416
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001417 Added a write() command to d8.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001418
1419
sgjesse@chromium.orgb9d7da12009-08-05 08:38:10 +000014202009-08-05: Version 1.3.2
1421
1422 Started new compiler infrastructure for two-pass compilation using a
1423 control flow graph constructed from the AST.
1424
1425 Profiler stack sampling for X64.
1426
1427 Safe handling of NaN to Posix platform-dependent time functions.
1428
1429 Added a new profiler control API to unify controlling various aspects
1430 of profiling.
1431
1432 Fixed issue 392.
1433
1434
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +000014352009-07-30: Version 1.3.1
1436
1437 Speed improvements to accessors and interceptors.
1438
1439 Added support for capturing stack information on custom errors.
1440
1441 Added support for morphing an object into a pixel array where its
1442 indexed properties are stored in an external byte array. Values written
1443 are always clamped to the 0..255 interval.
1444
1445 Profiler on x64 now handles C/C++ functions from shared libraries.
1446
1447 Changed the debugger to avoid stepping into function.call/apply if the
1448 function is a built-in.
1449
1450 Initial implementation of constructor heap profile for JS objects.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001451
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00001452 More fine grained control of profiling aspects through the API.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001453
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00001454 Optimized the called as constructor check for API calls.
1455
1456
kasperl@chromium.orge959c182009-07-27 08:59:04 +000014572009-07-27: Version 1.3.0
1458
1459 Allowed RegExp objects to be called as functions (issue 132).
1460
1461 Fixed issue where global property cells would escape after
1462 detaching the global object; see http://crbug.com/16276.
1463
1464 Added support for stepping into setters and getters in the
1465 debugger.
1466
1467 Changed the debugger to avoid stopping in its own JavaScript code
1468 and in the code of built-in functions.
1469
1470 Fixed issue 345 by avoiding duplicate escaping labels.
1471
1472 Fixed ARM code generator crash in short-circuited boolean
1473 expressions and added regression tests.
1474
1475 Added an external allocation limit to avoid issues where small V8
1476 objects would hold on to large amounts of external memory without
1477 causing garbage collections.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001478
1479 Finished more of the inline caching stubs for x64 targets.
kasperl@chromium.orge959c182009-07-27 08:59:04 +00001480
1481
kasperl@chromium.orgdefbd102009-07-13 14:04:26 +000014822009-07-13: Version 1.2.14
1483
1484 Added separate paged heap space for global property cells and
1485 avoid updating the write barrier when storing into them.
1486
1487 Improved peep-hole optimization on ARM platforms by not emitting
1488 unnecessary debug information.
1489
1490 Re-enabled ICs for loads and calls that skip a global object
1491 during lookup through the prototype chain.
1492
1493 Allowed access through global proxies to use ICs.
1494
1495 Fixed issue 401.
1496
1497
kasperl@chromium.org68ac0092009-07-09 06:00:35 +000014982009-07-09: Version 1.2.13
1499
1500 Fixed issue 397, issue 398, and issue 399.
1501
1502 Added support for breakpoint groups.
1503
1504 Fixed bugs introduced with the new global object representation.
1505
1506 Fixed a few bugs in the ARM code generator.
1507
1508
kasperl@chromium.org86f77b72009-07-06 08:21:57 +000015092009-07-06: Version 1.2.12
1510
1511 Added stack traces collection to Error objects accessible through
1512 the e.stack property.
1513
1514 Changed RegExp parser to use a recursive data structure instead of
1515 stack-based recursion.
1516
1517 Optimized Date object construction and string concatenation.
1518
1519 Improved performance of div, mod, and mul on ARM platforms.
1520
1521
kasperl@chromium.org2abc4502009-07-02 07:00:29 +000015222009-07-02: Version 1.2.11
1523
1524 Improved performance on IA-32 and ARM.
1525
1526 Fixed profiler sampler implementation on Mac OS X.
1527
1528 Changed the representation of global objects to improve
1529 performance of adding a lot of new properties.
1530
1531
ager@chromium.org3e875802009-06-29 08:26:34 +000015322009-06-29: Version 1.2.10
1533
1534 Improved debugger support.
1535
1536 Fixed bug in exception message reporting (issue 390).
1537
1538 Improved overall performance.
1539
1540
ager@chromium.org5aa501c2009-06-23 07:57:28 +000015412009-06-23: Version 1.2.9
1542
1543 Improved math performance on ARM.
1544
1545 Fixed profiler name-inference bug.
1546
1547 Fixed handling of shared libraries in the profiler tick processor
1548 scripts.
1549
1550 Fixed handling of tests that time out in the test scripts.
1551
1552 Fixed compilation on MacOS X version 10.4.
1553
1554 Fixed two bugs in the regular expression engine.
1555
1556 Fixed a bug in the string type inference.
1557
1558 Fixed a bug in the handling of 'constant function' properties.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001559
ager@chromium.org5aa501c2009-06-23 07:57:28 +00001560 Improved overall performance.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001561
ager@chromium.org5aa501c2009-06-23 07:57:28 +00001562
ager@chromium.orgeadaf222009-06-16 09:43:10 +000015632009-06-16: Version 1.2.8
1564
1565 Optimized math on ARM platforms.
1566
1567 Fixed two crash bugs in the handling of getters and setters.
1568
1569 Improved the debugger support by adding scope chain information.
1570
1571 Improved the profiler support by compressing log data transmitted
1572 to clients.
1573
1574 Improved overall performance.
1575
1576
ager@chromium.orge2902be2009-06-08 12:21:35 +000015772009-06-08: Version 1.2.7
1578
1579 Improved debugger and profiler support.
1580
1581 Reduced compilation time by improving the handling of deferred
1582 code.
1583
1584 Optimized interceptor accesses where the property is on the object
1585 on which the interceptors is attached.
1586
1587 Fixed compilation problem on GCC 4.4 by changing the stack
1588 alignment to 16 bytes.
1589
1590 Fixed handle creation to follow stric aliasing rules.
1591
1592 Fixed compilation on FreeBSD.
1593
1594 Introduced API for forcing the deletion of a property ignoring
1595 interceptors and attributes.
1596
1597
sgjesse@chromium.org755c5b12009-05-29 11:04:38 +000015982009-05-29: Version 1.2.6
1599
1600 Added a histogram recording hit rates at different levels of the
1601 compilation cache.
1602
1603 Added stack overflow check for the RegExp analysis phase. Previously a
1604 very long regexp graph could overflow the stack with recursive calls.
1605
1606 Use a dynamic buffer when collecting log events in memory.
1607
1608 Added start/stop events to the profiler log.
1609
1610 Fixed infinite loop which could happen when setting a debug break while
1611 executing a RegExp compiled to native code.
1612
1613 Fixed handling of lastIndexOf called with negative index (issue 351).
1614
1615 Fixed irregular crash in profiler test (issue 358).
1616
1617 Fixed compilation issues with some versions of gcc.
1618
1619
kasperl@chromium.org71affb52009-05-26 05:44:31 +000016202009-05-26: Version 1.2.5
1621
1622 Fixed bug in initial boundary check for Boyer-Moore text
1623 search (issue 349).
1624
1625 Fixed compilation issues with MinGW and gcc 4.3+ and added support
1626 for armv7 and cortex-a8 architectures. Patches by Lei Zhang and
1627 Craig Schlenter.
1628
1629 Added a script cache to the debugger.
1630
1631 Optimized compilation performance by improving internal data
1632 structures and avoiding expensive property load optimizations for
1633 code that's infrequently executed.
1634
1635 Exposed the calling JavaScript context through the static API
1636 function Context::GetCalling().
1637
1638
kasperl@chromium.orgb3284ad2009-05-18 06:12:45 +000016392009-05-18: Version 1.2.4
1640
1641 Improved performance of floating point number allocation for ARM
1642 platforms.
1643
1644 Fixed crash when using the instanceof operator on functions with
1645 number values in their prototype chain (issue 341).
1646
1647 Optimized virtual frame operations in the code generator to speed
1648 up compilation time and allocated the frames in the zone.
1649
1650 Made the representation of virtual frames and jump targets in the
1651 code generator much more compact.
1652
1653 Avoided linear search for non-locals in scope code when resolving
1654 variables inside with and eval scopes.
1655
1656 Optimized lexical scanner by dealing with whitespace as part of
1657 the token scanning instead of as a separate step before it.
1658
1659 Changed the scavenging collector so that promoted objects do not
1660 reside in the old generation while their remembered set is being
1661 swept for pointers into the young generation.
1662
1663 Fixed numeric overflow handling when compiling count operations.
1664
1665
ager@chromium.org9085a012009-05-11 19:22:57 +000016662009-05-11: Version 1.2.3
1667
1668 Fixed bug in reporting of out-of-memory situations.
1669
1670 Introduced hidden prototypes on certain builtin prototype objects
1671 such as String.prototype to emulate JSC's behavior of restoring
1672 the original function when deleting functions from those prototype
1673 objects.
1674
1675 Fixed crash bug in the register allocator.
1676
1677
ager@chromium.org5ec48922009-05-05 07:25:34 +000016782009-05-04: Version 1.2.2
1679
1680 Fixed bug in array sorting for sparse arrays (issue 326).
1681
1682 Added support for adding a soname when building a shared library
1683 on Linux (issue 151).
1684
1685 Fixed bug caused by morphing internal ASCII strings to external
1686 two-byte strings. Slices over ASCII strings have to forward ASCII
1687 checks to the underlying buffer string.
1688
1689 Allowed API call-as-function handlers to be called as
1690 constructors.
1691
1692 Fixed a crash bug where an external string was disposed but a
1693 slice of the external string survived as a symbol.
1694
1695
ager@chromium.org3a37e9b2009-04-27 09:26:21 +000016962009-04-27: Version 1.2.1
1697
1698 Added EcmaScript 5 JSON object.
1699
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001700 Fixed bug in preemption support on ARM.
ager@chromium.org3a37e9b2009-04-27 09:26:21 +00001701
1702
ager@chromium.org65dad4b2009-04-23 08:48:43 +000017032009-04-23: Version 1.2.0
1704
1705 Optimized floating-point operations on ARM.
1706
1707 Added a number of extensions to the debugger API.
1708
1709 Changed the enumeration order for unsigned integer keys to always
1710 be numerical order.
1711
1712 Added a "read" extension to the shell sample.
1713
1714 Added support for Array.prototype.reduce and
1715 Array.prototype.reduceRight.
1716
1717 Added an option to the SCons build to control Microsoft Visual C++
1718 link-time code generation.
1719
1720 Fixed a number of bugs (in particular issue 315, issue 316,
1721 issue 317 and issue 318).
1722
1723
kasperl@chromium.org2d18d102009-04-15 13:27:32 +000017242009-04-15: Version 1.1.10
1725
1726 Fixed crash bug that occurred when loading a const variable in the
1727 presence of eval.
1728
1729 Allowed using with and eval in registered extensions in debug mode
1730 by fixing bogus assert.
1731
1732 Fixed the source position for function returns to enable the
1733 debugger to break there.
1734
1735
kasperl@chromium.orgd1e3e722009-04-14 13:38:25 +000017362009-04-14: Version 1.1.9
1737
1738 Made the stack traversal code in the profiler robust by avoiding
1739 to look into the heap.
1740
1741 Added name inferencing for anonymous functions to facilitate
1742 debugging and profiling.
1743
1744 Re-enabled stats timers in the developer shell (d8).
1745
1746 Fixed issue 303 by avoiding to shortcut cons-symbols.
1747
1748
kasperl@chromium.orgacae3782009-04-11 09:17:08 +000017492009-04-11: Version 1.1.8
1750
1751 Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).
1752
ager@chromium.org65dad4b2009-04-23 08:48:43 +00001753 Fixed step-in handling for Function.prototype.apply and call in
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00001754 the debugger (issue 269).
1755
1756 Fixed v8::Object::DeleteHiddenValue to not bail out when there
1757 are no hidden properties.
1758
ager@chromium.org65dad4b2009-04-23 08:48:43 +00001759 Added workaround for crash bug, where external symbol table
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00001760 entries with deleted resources would lead to NPEs when looking
1761 up in the symbol table.
1762
1763
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +000017642009-04-07: Version 1.1.7
1765
1766 Added support for easily importing additional environment
1767 variables into the SCons build.
1768
1769 Optimized strict equality checks.
1770
1771 Fixed crash in indexed setters on objects without a corresponding
1772 getter (issue 298).
1773
1774 Re-enabled script compilation cache.
1775
1776
ager@chromium.org8682a592009-04-01 10:47:14 +000017772009-04-01: Version 1.1.6
1778
1779 Reverted an unsafe code generator change.
1780
1781
ager@chromium.org71daaf62009-04-01 07:22:49 +000017822009-04-01: Version 1.1.5
1783
1784 Fixed bug that caused function literals to not be optimized as
1785 much as other functions.
1786
1787 Improved profiler support.
1788
1789 Fixed a crash bug in connection with debugger unloading.
1790
1791 Fixed a crash bug in the code generator caused by losing the
1792 information that a frame element was copied.
1793
1794 Fixed an exception propagation bug that could cause non-null
1795 return values when exceptions were thrown.
1796
1797
ager@chromium.org41826e72009-03-30 13:30:57 +000017982009-03-30: Version 1.1.4
1799
1800 Optimized String.prototype.match.
1801
1802 Improved the stack information in profiles.
1803
1804 Fixed bug in ARM port making it possible to compile the runtime
1805 system for thumb mode again.
1806
1807 Implemented a number of optimizations in the code generator.
1808
1809 Fixed a number of memory leaks in tests.
1810
1811 Fixed crash bug in connection with script source code and external
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +00001812 strings.
ager@chromium.org41826e72009-03-30 13:30:57 +00001813
1814
kasperl@chromium.orgf5aa8372009-03-24 14:47:14 +000018152009-03-24: Version 1.1.3
1816
1817 Fixed assertion failures in compilation of loop conditions.
1818
1819 Removed STL dependency from developer shell (d8).
1820
1821 Added infrastructure for protecting the V8 heap from corruption
1822 caused by memory modifications from the outside.
1823
1824
ager@chromium.orgbb29dc92009-03-24 13:25:23 +000018252009-03-24: Version 1.1.2
1826
1827 Improved frame merge code generated by the code generator.
1828
1829 Optimized String.prototype.replace.
1830
1831 Implemented __defineGetter__ and __defineSetter__ for properties
1832 with integer keys on non-array objects.
1833
1834 Improved debugger and profiler support.
1835
1836 Fixed a number of portability issues to allow compilation for
1837 smaller ARM devices.
1838
1839 Exposed object cloning through the API.
1840
1841 Implemented hidden properties. This is used to expose an identity
1842 hash for objects through the API.
1843
1844 Implemented restarting of regular expressions if their input
1845 string changes representation during preemption.
1846
1847 Fixed a code generator bug that could cause assignments in loops
1848 to be ignored if using continue to break out of the loop (issue
1849 284).
1850
1851
ager@chromium.org3a6061e2009-03-12 14:24:36 +000018522009-03-12: Version 1.1.1
1853
1854 Fixed an assertion in the new compiler to take stack overflow
1855 exceptions into account.
1856
1857 Removed exception propagation code that could cause crashes.
1858
1859 Fixed minor bug in debugger line number computations.
1860
1861 8-byte align the C stack on Linux and Windows to speed up floating
1862 point computations.
1863
1864
kasperl@chromium.org7be3c992009-03-12 07:19:55 +000018652009-03-12: Version 1.1.0
1866
1867 Improved code generation infrastructure by doing simple register
1868 allocation and constant folding and propagation.
1869
1870 Optimized regular expression matching by avoiding to create
1871 intermediate string arrays and by flattening nested array
1872 representations of RegExp data.
1873
1874 Traverse a few stack frames when recording profiler samples to
1875 include partial call graphs in the profiling output.
1876
1877 Added support for using OProfile to profile generated code.
1878
1879 Added remote debugging support to the D8 developer shell.
1880
1881 Optimized creation of nested literals like JSON objects.
1882
1883 Fixed a bug in garbage collecting unused maps and turned it on by
1884 default (--collect-maps).
1885
1886 Added support for running tests under Valgrind.
1887
1888
kasperl@chromium.org061ef742009-02-27 12:16:20 +000018892009-02-27: Version 1.0.3
1890
1891 Optimized double-to-integer conversions in bit operations by using
1892 SSE3 instructions if available.
1893
1894 Optimized initialization sequences that store to multiple
1895 properties of the same object.
1896
1897 Changed the D8 debugger frontend to use JSON messages.
1898
1899 Force garbage collections when disposing contexts.
1900
1901 Align code objects at 32-byte boundaries.
1902
1903
ager@chromium.org381abbb2009-02-25 13:23:22 +000019042009-02-25: Version 1.0.2
1905
1906 Improved profiling support by performing simple call stack
1907 sampling for ticks and by fixing a bug in the logging of code
1908 addresses.
1909
1910 Fixed a number of debugger issues.
1911
1912 Optimized code that uses eval.
1913
1914 Fixed a couple of bugs in the regular expression engine.
1915
1916 Reduced the size of generated code for certain regular expressions.
1917
1918 Removed JSCRE completely.
1919
1920 Fixed issue where test could not be run if there was a dot in the
1921 checkout path.
1922
1923
ager@chromium.org6f10e412009-02-13 10:11:16 +000019242009-02-13: Version 1.0.1
1925
1926 Fixed two crash-bugs in irregexp (issue 231 and 233).
1927
1928 Fixed a number of minor bugs (issue 87, 227 and 228).
1929
1930 Added support for morphing strings to external strings on demand
1931 to avoid having to create copies in the embedding code.
1932
1933 Removed experimental support for external symbol callbacks.
1934
1935
iposva@chromium.org245aa852009-02-10 00:49:54 +000019362009-02-09: Version 1.0.0
1937
1938 Fixed crash-bug in the code generation for case independent 16 bit
1939 backreferences.
ager@chromium.org6f10e412009-02-13 10:11:16 +00001940
iposva@chromium.org245aa852009-02-10 00:49:54 +00001941 Made shells more robust in the presence of string conversion
1942 failures (issue 224).
ager@chromium.org6f10e412009-02-13 10:11:16 +00001943
iposva@chromium.org245aa852009-02-10 00:49:54 +00001944 Fixed a potential infinite loop when attempting to resolve
1945 eval (issue 221).
ager@chromium.org6f10e412009-02-13 10:11:16 +00001946
iposva@chromium.org245aa852009-02-10 00:49:54 +00001947 Miscellaneous fixes to the new regular expression engine.
ager@chromium.org6f10e412009-02-13 10:11:16 +00001948
iposva@chromium.org245aa852009-02-10 00:49:54 +00001949 Reduced binary by stripping unneeded text from JavaScript library and
1950 minifying some JavaScript files.
1951
1952
ager@chromium.orgddb913d2009-01-27 10:01:48 +000019532009-01-27: Version 0.4.9
1954
1955 Enabled new regular expression engine.
1956
1957 Made a number of changes to the debugger protocol.
1958
1959 Fixed a number of bugs in the preemption support.
1960
1961 Added -p option to the developer shell to run files in parallel
1962 using preemption.
1963
1964 Fixed a number of minor bugs (including issues 176, 187, 189, 192,
1965 193, 198 and 201).
1966
1967 Fixed a number of bugs in the serialization/deserialization
1968 support for the ARM platform.
1969
1970
sgjesse@chromium.org715915b2009-01-19 16:08:47 +000019712009-01-19: Version 0.4.8.1
1972
1973 Minor patch to debugger support.
1974
1975
ager@chromium.org32912102009-01-16 10:38:43 +000019762009-01-16: Version 0.4.8
1977
1978 Fixed string length bug on ARM (issue 171).
1979
1980 Made most methods in the API const.
1981
1982 Optimized object literals by improving data locality.
1983
1984 Fixed bug that caused incomplete functions to be cached in case of
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00001985 stack overflow exceptions.
ager@chromium.org32912102009-01-16 10:38:43 +00001986
1987 Fixed bugs that caused catch variables and variables introduced by
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00001988 eval to behave incorrectly when using accessors (issues 186, 190
1989 and 191).
ager@chromium.org32912102009-01-16 10:38:43 +00001990
1991
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +000019922009-01-06: Version 0.4.7
1993
ager@chromium.org32912102009-01-16 10:38:43 +00001994 Minor bugfixes and optimizations.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001995
ager@chromium.org32912102009-01-16 10:38:43 +00001996 Added command line debugger to D8 shell.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001997
ager@chromium.org32912102009-01-16 10:38:43 +00001998 Fixed subtle bug that caused the wrong 'this' to be used when
1999 calling a caught function in a catch clause.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00002000
ager@chromium.org32912102009-01-16 10:38:43 +00002001 Inline array loads within loops directly in the code instead of
2002 always calling a stub.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00002003
ager@chromium.org32912102009-01-16 10:38:43 +00002004
ager@chromium.org8bb60582008-12-11 12:02:20 +000020052008-12-11: Version 0.4.6
2006
2007 Fixed exception reporting bug where certain exceptions were
2008 incorrectly reported as uncaught.
2009
2010 Improved the memory allocation strategy used during compilation to
2011 make running out of memory when compiling huge scripts less
2012 likely.
2013
2014 Optimized String.replace by avoiding the construction of certain
2015 sub strings.
2016
2017 Fixed bug in code generation for large switch statements on ARM.
2018
2019 Fixed bug that caused V8 to change the global object template
2020 passed in by the user.
2021
2022 Changed the API for creating object groups used during garbage
2023 collection. Entire object groups are now passed to V8 instead of
2024 individual members of the groups.
2025
ager@chromium.org32912102009-01-16 10:38:43 +00002026
ager@chromium.orga74f0da2008-12-03 16:05:52 +000020272008-12-03: Version 0.4.5
iposva@chromium.org96f667e2008-11-26 23:48:02 +00002028
ager@chromium.orga74f0da2008-12-03 16:05:52 +00002029 Added experimental API support for allocating V8 symbols as
2030 external strings.
2031
2032 Fixed bugs in debugging support on ARM.
2033
2034 Changed eval implementation to correctly detect whether or not a
2035 call to eval is aliased.
2036
2037 Fixed bug caused by a combination of the compilation cache and
2038 dictionary probing in native code. The bug caused us to sometimes
2039 call functions that had not yet been compiled.
2040
2041 Added platform support for FreeBSD.
2042
2043 Added support for building V8 on Windows with either the shared or
2044 static version of MSVCRT
ager@chromium.org32912102009-01-16 10:38:43 +00002045
iposva@chromium.org96f667e2008-11-26 23:48:02 +00002046 Added the v8::jscre namespace around the jscre functions to avoid
2047 link errors (duplicate symbols) when building Google Chrome.
2048
ager@chromium.orga74f0da2008-12-03 16:05:52 +00002049 Added support for calling a JavaScript function with the current
2050 debugger execution context as its argument to the debugger
2051 interface.
2052
2053 Changed the type of names of counters from wchar_t to char.
2054
2055 Changed the Windows system call used to compute daylight savings
2056 time. The system call that we used to use became four times
2057 slower on WinXP SP3.
2058
2059 Added support in the d8 developer shell for memory-mapped counters
2060 and added a stats-viewer tool.
2061
2062 Fixed bug in upper/lower case mappings (issue 149).
2063
iposva@chromium.org96f667e2008-11-26 23:48:02 +00002064
ager@chromium.org3bf7b912008-11-17 09:09:45 +000020652008-11-17: Version 0.4.4
2066
2067 Reduced code size by using shorter instruction encoding when
2068 possible.
2069
2070 Added a --help option to the shell sample and to the d8 shell.
2071
2072 Added visual studio project files for building the ARM simulator.
2073
2074 Fixed a number of ARM simulator issues.
2075
2076 Fixed bug in out-of-memory handling on ARM.
2077
2078 Implemented shell support for passing arguments to a script from
2079 the command line.
2080
2081 Fixed bug in date code that made certain date functions return -0
2082 instead of 0 for dates before the epoch.
2083
2084 Restricted applications of eval so it can only be used in the
2085 context of the associated global object.
2086
2087 Treat byte-order marks as whitespace characters.
ager@chromium.org32912102009-01-16 10:38:43 +00002088
2089
ager@chromium.org870a0b62008-11-04 11:43:05 +000020902008-11-04: Version 0.4.3
2091
2092 Added support for API accessors that prohibit overwriting by
2093 accessors defined in JavaScript code by using __defineGetter__ and
2094 __defineSetter__.
2095
2096 Improved handling of conditionals in test status files.
2097
2098 Introduced access control in propertyIsEnumerable.
2099
2100 Improved performance of some string operations by caching
2101 information about the type of the string between operations.
2102
2103 Fixed bug in fast-case code for switch statements that only have
2104 integer labels.
ager@chromium.org32912102009-01-16 10:38:43 +00002105
ager@chromium.org870a0b62008-11-04 11:43:05 +00002106
kasperl@chromium.org9bbf9682008-10-30 11:53:07 +000021072008-10-30: Version 0.4.2
2108
2109 Improved performance of Array.prototype.concat by moving the
2110 implementation to C++ (issue 123).
2111
2112 Fixed heap growth policy to avoid growing old space to its maximum
2113 capacity before doing a garbage collection and fixed issue that
2114 would lead to artificial out of memory situations (issue 129).
2115
2116 Fixed Date.prototype.toLocaleDateString to return the date in the
2117 same format as WebKit.
2118
2119 Added missing initialization checks to debugger API.
2120
2121 Added removing of unused maps during GC.
2122
2123
kasperl@chromium.org9fe21c62008-10-28 08:53:51 +000021242008-10-28: Version 0.4.1
2125
2126 Added caching of RegExp data in compilation cache.
2127
2128 Added Visual Studio project file for d8 shell.
2129
2130 Fixed function call performance regression introduced in version
2131 0.4.0 when splitting the global object in two parts (issue 120).
2132
2133 Fixed issue 131 by checking for empty handles before throwing and
2134 reporting exceptions.
2135
2136
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +000021372008-10-23: Version 0.4.0
2138
2139 Split the global object into two parts: The state holding global
2140 object and the global object proxy.
2141
2142 Fixed bug that affected the value of an assignment to an element
2143 in certain cases (issue 116).
2144
2145 Added GetPropertyNames functionality (issue 33) and extra Date
2146 functions (issue 77) to the API.
2147
2148 Changed WeakReferenceCallback to take a Persistent<Value> instead
2149 of a Persistent<Object> (issue 101).
2150
2151 Fixed issues with message reporting for exceptions in try-finally
2152 blocks (issues 73 and 75).
2153
ager@chromium.org32912102009-01-16 10:38:43 +00002154 Optimized flattening of strings and string equality checking.
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +00002155
2156 Improved Boyer-Moore implementation for faster indexOf operations.
2157
2158 Added development shell (d8) which includes counters and
2159 completion support.
2160
2161 Fixed problem with the receiver passed to functions called from
2162 eval (issue 124).
2163
2164
ager@chromium.org7c537e22008-10-16 08:43:32 +000021652008-10-16: Version 0.3.5
2166
2167 Improved string hash-code distribution by excluding bit-field bits
2168 from the hash-code.
2169
2170 Changed string search algorithm used in indexOf from KMP to
2171 Boyer-Moore.
2172
2173 Improved the generated code for the instanceof operator.
2174
2175 Improved performance of slow-case string equality checks by
2176 specializing the code based on the string representation.
2177
2178 Improve the handling of out-of-memory situations (issue 70).
2179
2180 Improved performance of strict equality checks.
2181
2182 Improved profiler output to make it easier to see anonymous
2183 functions.
2184
2185 Improved performance of slow-case keyed loads.
2186
2187 Improved property access performance by allocating a number of
2188 properties in the front object.
2189
2190 Changed the toString behavior on the built-in object constructors
2191 to print [native code] instead of the actual source. Some web
2192 applications do not like constructors with complex toString
2193 results.
ager@chromium.org32912102009-01-16 10:38:43 +00002194
ager@chromium.org7c537e22008-10-16 08:43:32 +00002195
kasperl@chromium.org41044eb2008-10-06 08:24:46 +000021962008-10-06: Version 0.3.4
2197
2198 Changed Array.prototype.sort to use quick sort.
2199
2200 Fixed code generation issue where leaving a finally block with
2201 break or continue would accumulate elements on the expression
2202 stack (issue 86).
2203
2204 Made sure that the name accessor on functions returns the expected
2205 names for builtin JavaScript functions and C++ callback functions.
2206
2207 Added fast case code for extending the property storage array of
2208 JavaScript objects.
2209
2210 Ported switch statement optimizations introduced in version 0.3.3
2211 to the ARM code generator.
2212
2213 Allowed GCC to use strict-aliasing rules when compiling.
2214
2215 Improved performance of arguments object allocation by taking care
2216 of arguments adaptor frames in the generated code.
2217
2218 Updated the V8 benchmark suite to version 2.
2219
2220
ager@chromium.org236ad962008-09-25 09:45:57 +000022212008-09-25: Version 0.3.3
2222
2223 Improved handling of relocation information to enable more
2224 peep-hole optimizations.
2225
2226 Optimized switch statements where all labels are constant small
2227 integers.
2228
2229 Optimized String.prototype.indexOf for common cases.
2230
2231 Fixed more build issues (issue 80).
2232
2233 Fixed a couple of profiler issues.
2234
2235 Fixed bug where the body of a function created using the Function
2236 constructor was not allowed to end with a single-line comment
2237 (issue 85).
2238
2239 Improved handling of object literals by canonicalizing object
2240 literal maps. This will allow JSON objects with the same set of
2241 properties to share the same map making inline caching work better
2242 for JSON objects.
ager@chromium.org32912102009-01-16 10:38:43 +00002243
ager@chromium.org236ad962008-09-25 09:45:57 +00002244
kasperl@chromium.orgb9123622008-09-17 14:05:56 +000022452008-09-17: Version 0.3.2
2246
2247 Generalized the EvalCache into a CompilationCache and enabled it
2248 for scripts too. The current strategy is to retire all entries
2249 whenever a mark-sweep collection is started.
2250
2251 Fixed bug where switch statements containing only a default case
2252 would lead to an unbalanced stack (issue 69).
2253
2254 Fixed bug that made access to the function in a named function
2255 expression impossible in certain situations (issue 24).
2256
2257 Fixed even more build issues.
2258
2259 Optimized calling conventions on ARM. The conventions on ARM and
2260 IA-32 now match.
2261
2262 Removed static initializers for flags and counters.
2263
2264 Improved inline caching behavior for uncommon cases where lazily
2265 loading Date and RegExp code could force certain code paths go
2266 megamorphic.
2267
2268 Removed arguments adaption for builtins written in C++. This
2269 makes Array.prototype.push and Array.prototype.pop slightly
2270 faster.
2271
2272
ager@chromium.org9258b6b2008-09-11 09:11:10 +000022732008-09-11: Version 0.3.1
2274
2275 Fixed a number of build issues.
2276
2277 Fixed problem with missing I-cache flusing on ARM.
2278
2279 Changed space layout in memory management by splitting up
2280 code space into old data space and code space.
2281
2282 Added utf-8 conversion support to the API (issue 57).
2283
2284 Optimized repeated calls to eval with the same strings. These
2285 repeated calls are common in web applications.
2286
2287 Added Xcode project file.
2288
2289 Optimized a couple of Array operation.
2290
2291 Fixed parser bug by checking for end-of-string when parsing break
2292 and continue (issue 35).
2293
2294 Fixed problem where asian characters were not categorized as
2295 letters.
2296
2297 Fixed bug that disallowed calling functions fetched from an array
2298 using a string as an array index (issue 32).
2299
2300 Fixed bug where the internal field count on object templates were
2301 sometimes ignored (issue 54).
2302
2303 Added -f option to the shell sample for compatibility with other
2304 engines (issue 18).
2305
2306 Added source info to TryCatches in the API.
2307
2308 Fixed problem where the seed for the random number generator was
2309 clipped in a double to unsigned int conversion.
2310
2311 Fixed bug where cons string symbols were sometimes converted to
2312 non-symbol flat strings during GC.
2313
2314 Fixed bug in error reporting when attempting to convert null to an
2315 object.
ager@chromium.org32912102009-01-16 10:38:43 +00002316
2317
ager@chromium.orgc27e4e72008-09-04 13:52:27 +000023182008-09-04: Version 0.3.0
2319
2320 Added support for running tests on the ARM simulator.
2321
2322 Fixed bug in the 'in' operator where negative indices were not
2323 treated correctly.
2324
2325 Fixed build issues on gcc-4.3.1.
2326
2327 Changed Date.prototype.toLocaleTimeString to not print the
2328 timezone part of the time.
2329
2330 Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
2331 with user code.
2332
2333
v8.team.kasperl727e9952008-09-02 14:56:44 +000023342008-09-02: Version 0.2.5
2335
2336 Renamed the top level directory 'public' to 'include'.
2337
2338 Added 'env' option to the SCons build scripts to support
2339 overriding the ENV part of the build environment. This is mostly
2340 to support Windows builds in cases where SCons cannot find the
2341 correct paths to the Windows SDK, as these paths cannot be passed
2342 through shell environment variables.
2343
2344 Enabled "Buffer Security Check" on for the Windows SCons build and
2345 added the linker option /OPT:ICF as an optimization.
2346
2347 Added the V8 benchmark suite to the repository.
2348
2349
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +000023502008-09-01: Version 0.2.4
2351
2352 Included mjsunit JavaScript test suite and C++ unit tests.
2353
2354 Changed the shell sample to not print the result of executing a
2355 script provided on the command line.
2356
2357 Fixed issue when building samples on Windows using a shared V8
2358 library. Added visibility option on Linux build which makes the
2359 generated library 18% smaller.
2360
2361 Changed build system to accept multiple build modes in one build
2362 and generate separate objects, libraries and executables for each
2363 mode.
2364
2365 Removed deferred negation optimization (a * -b => -(a * b)) since
2366 this visibly changes operand conversion order.
2367
2368 Improved parsing performance by introducing stack guard in
2369 preparsing. Without a stack guard preparsing always bails out
2370 with stack overflow.
2371
2372 Changed shell sample to take flags directly from the command-line.
2373 Added API call that implements this.
2374
2375 Added load, quit and version functions to the shell sample so it's
2376 easier to run benchmarks and tests.
2377
2378 Fixed issue with building samples and cctests on 64-bit machines.
2379
2380 Fixed bug in the runtime system where the prototype chain was not
2381 always searched for a setter when setting a property that does not
2382 exist locally.
ager@chromium.org32912102009-01-16 10:38:43 +00002383
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +00002384
mads.s.agercbaa0602008-08-14 13:41:48 +000023852008-08-14: Version 0.2.3
2386
2387 Improved performance of garbage collection by moving the
2388 function that updates pointers during compacting collection
2389 into the updating visitor. This gives the compiler a better
2390 chance to inline and avoid a function call per (potential)
2391 pointer.
2392
2393 Extended the shell sample with a --runtime-flags option.
2394
2395 Added Visual Studio project files for the shell.cc and
2396 process.cc samples.
2397
2398
23992008-08-13: Version 0.2.2
mads.s.ager31e71382008-08-13 09:32:07 +00002400
2401 Improved performance of garbage collection by changing the way
2402 we use the marking stack in the event of stack overflow during
2403 full garbage collection and by changing the way we mark roots.
2404
2405 Cleaned up ARM version by removing top of stack caching and by
2406 introducing push/pop elimination.
2407
2408 Cleaned up the way runtime functions are called to allow
2409 runtime calls with no arguments.
2410
2411 Changed Windows build options to make sure that exceptions are
2412 disabled and that optimization flags are enabled.
2413
2414 Added first version of Visual Studio project files.
2415
2416
mads.s.agercbaa0602008-08-14 13:41:48 +000024172008-08-06: Version 0.2.1
mads.s.ager@gmail.com769cc962008-08-06 10:02:49 +00002418
2419 Improved performance of unary addition by avoiding runtime calls.
2420
2421 Fixed the handling of '>' and '<=' to use right-to-left conversion
2422 and left-to-right evaluation as specified by ECMA-262.
2423
2424 Fixed a branch elimination bug on the ARM platform where incorrect
2425 code was generated because of overly aggressive branch
2426 elimination.
2427
2428 Improved performance of code that repeatedly assigns the same
2429 function to the same property of different objects with the same
2430 map.
2431
2432 Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler
2433 no longer expects DEBUG to be defined.
2434
2435 Added platform-nullos.cc to serve as the basis for new platform
2436 implementations.
2437
mads.s.ager31e71382008-08-13 09:32:07 +00002438
mads.s.agercbaa0602008-08-14 13:41:48 +000024392008-07-30: Version 0.2.0
kasper.lund7276f142008-07-30 08:49:36 +00002440
2441 Changed all text files to have native svn:eol-style.
2442
2443 Added a few samples and support for building them. The samples
2444 include a simple shell that can be used to benchmark and test V8.
2445
2446 Changed V8::GetVersion to return the version as a string.
2447
2448 Added source for lazily loaded scripts to snapshots and made
2449 serialization non-destructive.
2450
2451 Improved ARM support by fixing the write barrier code to use
2452 aligned loads and stores and by removing premature locals
2453 optimization that relied on broken support for callee-saved
2454 registers (removed).
2455
2456 Refactored the code for marking live objects during garbage
2457 collection and the code for allocating objects in paged
2458 spaces. Introduced an abstraction for the map word of a heap-
2459 allocated object and changed the memory allocator to allocate
2460 executable memory only for spaces that may contain code objects.
2461
2462 Moved StringBuilder to utils.h and ScopedLock to platform.h, where
2463 they can be used by debugging and logging modules. Added
2464 thread-safe message queues for dealing with debugger events.
2465
2466 Fixed the source code reported by toString for certain builtin
2467 empty functions and made sure that the prototype property of a
2468 function is enumerable.
2469
2470 Improved performance of converting values to condition flags in
2471 generated code.
2472
2473 Merged disassembler-{arch} files.
2474
2475
mads.s.agercbaa0602008-08-14 13:41:48 +000024762008-07-28: Version 0.1.4
kasper.lundaf4734f2008-07-28 12:50:18 +00002477
2478 Added support for storing JavaScript stack traces in a stack
2479 allocated buffer to make it visible in shallow core dumps.
2480 Controlled by the --preallocate-message-memory flag which is
2481 disabled by default.
2482
2483
mads.s.agercbaa0602008-08-14 13:41:48 +000024842008-07-25: Version 0.1.3
kasper.lund44510672008-07-25 07:37:58 +00002485
2486 Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
2487 map transitions would count as properties.
2488
2489 Allowed aliased eval invocations by treating them as evals in the
2490 global context. This may change in the future.
2491
2492 Added support for accessing the last entered context through the
2493 API and renamed Context::Current to Context::GetCurrent and
2494 Context::GetSecurityContext to Context::GetCurrentSecurityContext.
2495
2496 Fixed bug in the debugger that would cause the debugger scripts to
2497 be recursively loaded and changed all disabling of interrupts to
2498 be block-structured.
2499
2500 Made snapshot data read-only to allow it to be more easily shared
2501 across multiple users of V8 when linked as a shared library.
2502
2503
mads.s.agercbaa0602008-08-14 13:41:48 +000025042008-07-16: Version 0.1.2
kasper.lund212ac232008-07-16 07:07:30 +00002505
2506 Fixed building on Mac OS X by recognizing i386 and friends as
2507 IA-32 platforms.
2508
2509 Added propagation of stack overflow exceptions that occur while
2510 compiling nested functions.
2511
2512 Improved debugger with support for recursive break points and
2513 handling of exceptions that occur in the debugger JavaScript code.
2514
2515 Renamed GetInternal to GetInternalField and SetInternal to
2516 SetInternalField in the API and moved InternalFieldCount and
2517 SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
2518
2519
mads.s.agercbaa0602008-08-14 13:41:48 +000025202008-07-09: Version 0.1.1
kasper.lundbd3ec4e2008-07-09 11:06:54 +00002521
2522 Fixed bug in stack overflow check code for IA-32 targets where a
2523 non-tagged value in register eax was pushed to the stack.
2524
2525 Fixed potential quadratic behavior when converting strings to
2526 numbers.
2527
2528 Fixed bug where the return value from Object::SetProperty could
2529 end up being the property holder instead of the written value.
2530
2531 Improved debugger support by allowing nested break points and by
2532 dealing with stack-overflows when compiling functions before
2533 setting break points in them.
2534
2535
mads.s.agercbaa0602008-08-14 13:41:48 +000025362008-07-03: Version 0.1.0
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00002537
kasper.lundbd3ec4e2008-07-09 11:06:54 +00002538 Initial export.
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00002539