blob: 7936058e2641598e8e0b282283a0ac06bcc77358 [file] [log] [blame]
ager@chromium.org9ee27ae2011-03-02 13:43:26 +000012011-03-02: Version 3.1.8
2
3 Fixed a number of crash bugs.
4
5 Improved Crankshaft for x64 and ARM.
6
7 Implemented more of EcmaScript 5 strict mode.
8
9 Fixed issue with unaligned reads and writes on ARM.
10
11 Improved heap profiler support.
12
13
vegorov@chromium.org5d6c1f52011-02-28 13:13:38 +0000142011-02-28: Version 3.1.7
15
16 Fixed a number of crash bugs.
17
18 Improved Crankshaft for x64 and ARM.
19
ager@chromium.org9ee27ae2011-03-02 13:43:26 +000020 Fixed implementation of indexOf/lastIndexOf for sparse
vegorov@chromium.org5d6c1f52011-02-28 13:13:38 +000021 arrays (http://crbug.com/73940).
22
23 Fixed bug in map space compaction (http://crbug.com/59688).
24
25 Added support for direct getter accessors calls on ARM.
26
27
fschneider@chromium.org3a5fd782011-02-24 10:10:44 +0000282011-02-24: Version 3.1.6
29
30 Fixed a number of crash bugs.
31
32 Added support for Cygwin (issue 64).
33
34 Improved Crankshaft for x64 and ARM.
35
36 Added Crankshaft support for stores to pixel arrays.
37
38 Fixed issue in CPU profiler with Crankshaft.
39
40
kmillikin@chromium.org49edbdf2011-02-16 12:32:18 +0000412011-02-16: Version 3.1.5
42
43 Change RegExp parsing to disallow /(*)/.
44
45 Added GDB JIT support for ARM.
46
47 Fixed several crash bugs.
48
49 Performance improvements on the IA32 platform.
50
51
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +0000522011-02-14: Version 3.1.4
53
54 Fixed incorrect compare of prototypes of the global object (issue
55 1082).
56
57 Fixed a bug in optimizing calls to global functions (issue 1106).
58
59 Made optimized Function.prototype.apply safe for non-JSObject first
60 arguments (issue 1128).
61
62 Fixed an error related to element accessors on Object.prototype and
63 parser errors (issue 1130).
64
65 Fixed a bug in sorting an array with large array indices (issue 1131).
66
67 Properly treat exceptions thrown while compiling (issue 1132).
68
69 Fixed bug in register requirements for function.apply (issue 1133).
70
71 Fixed a representation change bug in the Hydrogen graph construction
72 (issue 1134).
73
74 Fixed the semantics of delete on parameters (issue 1136).
75
76 Fixed a optimizer bug related to moving instructions with side effects
77 (issue 1138).
78
79 Added support for the global object in Object.keys (issue 1150).
80
81 Fixed incorrect value for Math.LOG10E
82 (issue http://code.google.com/p/chromium/issues/detail?id=72555)
83
84 Performance improvements on the IA32 platform.
85
86 Implement assignment to undefined reference in ES5 Strict Mode.
87
88
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +0000892011-02-09: Version 3.1.3
90
91 Fixed a bug triggered by functions with huge numbers of declared
92 arguments.
93
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +000094 Fixed zap value aliasing a real object - debug mode only (issue 866).
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +000095
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +000096 Fixed issue where Array.prototype.__proto__ had been set to null
97 (issue 1121).
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +000098
99 Fixed stability bugs in Crankshaft for x86.
100
101
ricow@chromium.org83aa5492011-02-07 12:42:56 +00001022011-02-07: Version 3.1.2
103
104 Added better security checks when accessing properties via
105 Object.getOwnPropertyDescriptor.
106
107 Fixed bug in Object.defineProperty and related access bugs (issues
108 992, 1083 and 1092).
109
110 Added LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to ease
111 copyright notice generation for embedders.
112
113
kmillikin@chromium.org31b12772011-02-02 16:08:26 +00001142011-02-02: Version 3.1.1
115
116 Perform security checks before fetching the value in
117 Object.getOwnPropertyDescriptor.
118
119 Fixed a bug in Array.prototype.splice triggered by passing no
120 arguments.
121
122 Fixed bugs in -0 in arithmetic and in Math.pow.
123
124 Fixed bugs in the register allocator and in switching from optimized
125 to unoptimized code.
126
127
1282011-01-31: Version 3.1.0
129
whesse@chromium.org7a392b32011-01-31 11:30:36 +0000130 Performance improvements on all platforms.
131
132
ager@chromium.org378b34e2011-01-28 08:04:38 +00001332011-01-28: Version 3.0.12
134
135 Added support for strict mode parameter and object property
136 validation.
137
138 Fixed a couple of crash bugs.
139
140
ager@chromium.org0ee099b2011-01-25 14:06:47 +00001412011-01-25: Version 3.0.11
142
143 Fixed a bug in deletion of lookup slots that could cause global
144 variables to be accidentally deleted (http://crbug.com/70066).
145
146 Added support for strict mode octal literal verification.
147
148 Fixed a couple of crash bugs (issues 1070 and 1071).
149
150
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +00001512011-01-24: Version 3.0.10
152
153 Fixed External::Wrap for 64-bit addresses (issue 1037).
154
ager@chromium.org0ee099b2011-01-25 14:06:47 +0000155 Fixed incorrect .arguments variable proxy handling in the full
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +0000156 code generator (issue 1060).
157
158 Introduced partial strict mode support.
159
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +0000160 Changed formatting of recursive error messages to match Firefox and
161 Safari (issue http://crbug.com/70334).
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +0000162
163 Fixed incorrect rounding for float-to-integer conversions for external
ager@chromium.org0ee099b2011-01-25 14:06:47 +0000164 array types, which implement the Typed Array spec
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +0000165 (issue http://crbug.com/50972).
166
167 Performance improvements on the IA32 platform.
168
169
erik.corry@gmail.com0511e242011-01-19 11:11:08 +00001702011-01-19: Version 3.0.9
171
172 Added basic GDB JIT Interface integration.
173
174 Make invalid break/continue statements a syntax error instead of a
175 runtime error.
176
177
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +00001782011-01-17: Version 3.0.8
179
180 Exposed heap size limit to the heap statistics gathered by
erik.corry@gmail.com0511e242011-01-19 11:11:08 +0000181 the GetHeapStatistics API.
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +0000182
183 Wrapped external pointers more carefully (issue 1037).
184
185 Hardened the implementation of error objects to avoid setters
186 intercepting the properties set then throwing an error.
187
188 Avoided trashing the FPSCR when calculating Math.floor on ARM.
189
190 Performance improvements on the IA32 platform.
191
192
1932011-01-10: Version 3.0.7
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000194
195 Stopped calling inherited setters when creating object literals
196 (issue 1015).
197
198 Changed interpretation of malformed \c? escapes in RegExp to match
199 JSC.
200
201 Enhanced the command-line debugger interface and fixed some minor
202 bugs in the debugger.
203
204 Performance improvements on the IA32 platform.
205
206
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +00002072011-01-05: Version 3.0.6
lrn@chromium.org5d00b602011-01-05 09:51:43 +0000208
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000209 Allowed getters and setters on JSArray elements (issue 900).
lrn@chromium.org5d00b602011-01-05 09:51:43 +0000210
211 Stopped JSON objects from hitting inherited setters (part of
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000212 issue 1015).
lrn@chromium.org5d00b602011-01-05 09:51:43 +0000213
214 Allowed numbers and strings as names of getters/setters in object
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000215 initializer (issue 820).
lrn@chromium.org5d00b602011-01-05 09:51:43 +0000216
217 Added use_system_v8 option to gyp (off by default), to make it easier
218 for Linux distributions to ship with system-provided V8 library.
219
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000220 Exported external array data accessors (issue 1016).
lrn@chromium.org5d00b602011-01-05 09:51:43 +0000221
222 Added labelled thread names to help with debugging (on Linux).
223
224
fschneider@chromium.org9e3e0b62011-01-03 10:16:46 +00002252011-01-03: Version 3.0.5
226
227 Fixed a couple of cast errors for gcc-3.4.3.
228
229 Performance improvements in GC and IA32 code generator.
230
231
whesse@chromium.org023421e2010-12-21 12:19:12 +00002322010-12-21: Version 3.0.4
233
234 Added Date::ResetCache() to the API so that the cached values in the
235 Date object can be reset to allow live DST / timezone changes.
236
237 Extended existing support for printing (while debugging) the contents
238 of objects. Added support for printing objects from release builds.
239
240 Fixed V8 issues 989, 1006, and 1007.
241
242
ager@chromium.org5f0c45f2010-12-17 08:51:21 +00002432010-12-17: Version 3.0.3
244
245 Reapplied all changes for version 3.0.1.
246
247 Improved debugger protocol for remote debugging.
248
249 Added experimental support for using gyp to generate build files
250 for V8.
251
252 Fixed implementation of String::Write in the API (issue 975).
253
254
lrn@chromium.org8541d772010-12-15 12:05:09 +00002552010-12-15: Version 3.0.2
256
257 Revert version 3.0.1 and patch 3.0.1.1.
258
259
kmillikin@chromium.orgfacd82d2010-12-13 18:00:51 +00002602010-12-13: Version 3.0.1
261
262 Added support for an experimental internationalization API as an
263 extension. This extension is disabled by default but can be enabled
264 when building V8. The ECMAScript internationalization strawman is
265 at http://wiki.ecmascript.org/doku.php?id=strawman:i18n_api.
266
267 Made RegExp character class parsing stricter. This mirrors a change
268 to RegExp parsing in WebKit.
269
270 Fixed a bug in Object.defineProperty when used to change attributes
271 of an existing property. It incorrectly set the property value to
272 undefined (issue 965).
273
274 Fixed several different compilation failures on various platforms
275 caused by the 3.0.0 release.
276
277 Optimized Math.pow so it can work on unboxed doubles.
278
279 Sped up quoting of JSON strings by removing one traversal of the
280 string.
281
282
kasperl@chromium.orga5551262010-12-07 12:49:48 +00002832010-12-07: Version 3.0.0
284
285 Improved performance by (partially) addressing issue 957 on
286 IA-32. Still needs more work for the other architectures.
287
288
ager@chromium.orgbeb25712010-11-29 08:02:25 +00002892010-11-29: Version 2.5.9
290
291 Fixed crashes during GC caused by partially initialize heap
292 objects.
293
294 Fixed bug in process sample that caused memory leaks.
295
296 Improved performance on ARM by implementing missing stubs and
297 inlining.
298
299 Improved heap profiler support.
300
301 Added separate seeding on Windows of the random number generator
302 used internally by the compiler (issue 936).
303
304 Exposed API for getting the name of the function used to construct
305 an object.
306
307 Fixed date parser to handle one and two digit millisecond
308 values (issue 944).
309
310 Fixed number parsing to disallow space between sign and
311 digits (issue 946).
312
313
vegorov@chromium.org21b5e952010-11-23 10:24:40 +00003142010-11-23: Version 2.5.8
315
316 Removed dependency on Gay's dtoa.
317
318 Improved heap profiler precision and speed.
319
320 Reduced overhead of callback invocations on ARM.
321
322
erik.corry@gmail.com4a6c3272010-11-18 12:04:40 +00003232010-11-18: Version 2.5.7
324
325 Fixed obscure evaluation order bug (issue 931).
326
327 Split the random number state between JavaScript and the private API.
328
329 Fixed performance bug causing GCs when generating stack traces on
330 code from very large scripts.
331
332 Fixed bug in parser that allowed (foo):42 as a labelled statement
333 (issue 918).
334
335 Provide more accurate results about used heap size via
336 GetHeapStatistics.
337
338 Allow build-time customization of the max semispace size.
339
340 Made String.prototype.split honor limit when separator is empty
341 (issue 929).
342
343 Added missing failure check after expecting an identifier in
344 preparser (Chromium issue 62639).
345
346
ager@chromium.org01fe7df2010-11-10 11:59:11 +00003472010-11-10: Version 2.5.6
348
349 Added support for VFP rounding modes to the ARM simulator.
350
351 Fixed multiplication overflow bug (issue 927).
352
353 Added a limit for the amount of executable memory (issue 925).
354
355
whesse@chromium.orgf0ac72d2010-11-08 12:47:26 +00003562010-11-08: Version 2.5.5
357
358 Added more aggressive GC of external objects in near out-of-memory
359 situations.
360
361 Fixed a bug that gave the incorrect result for String.split called
362 on the empty string (issue 924).
363
364
lrn@chromium.orgfa943b72010-11-03 08:14:36 +00003652010-11-03: Version 2.5.4
366
whesse@chromium.orgf0ac72d2010-11-08 12:47:26 +0000367 Improved V8 VFPv3 runtime detection to address issue 914.
lrn@chromium.orgfa943b72010-11-03 08:14:36 +0000368
369
fschneider@chromium.orge03fb642010-11-01 12:34:09 +00003702010-11-01: Version 2.5.3
371
372 Fixed a bug that prevents constants from overwriting function values
373 in object literals (issue 907).
374
375 Fixed a bug with reporting of impossible nested calls of DOM functions
376 (issue http://crbug.com/60753).
377
378
lrn@chromium.org303ada72010-10-27 09:33:13 +00003792010-10-27: Version 2.5.2
380
381 Improved sampler resolution on Linux.
382
383 Allowed forcing the use of a simulator from the build script
384 independently of the host architecture.
385
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000386 Fixed FreeBSD port (issue 912).
lrn@chromium.org303ada72010-10-27 09:33:13 +0000387
388 Made windows-tick-processor respect D8_PATH.
389
390 Implemented --noinline-new flag fully on IA32, X64 and ARM platforms.
391
392
whesse@chromium.org4a5224e2010-10-20 12:37:07 +00003932010-10-20: Version 2.5.1
394
395 Fixed bug causing spurious out of memory exceptions
396 (issue http://crbug.com/54580).
397
398 Fixed compilation error on Solaris platform (issue 901).
399
400 Fixed error in strtod (string to floating point number conversion)
401 due to glibc's use of 80-bit floats in the FPU on 32-bit linux.
402
403 Adjusted randomized allocations of executable memory to have 64k
404 granularity (issue http://crbug.com/56036).
405
406 Supported profiling using kernel perf_events on linux. Added ll_prof
407 script to tools and --ll-prof flag to V8.
408
409
vegorov@chromium.org42841962010-10-18 11:18:59 +00004102010-10-18: Version 2.5.0
411
412 Fixed bug in cache handling of lastIndex on global regexps
413 (issue http://crbug.com/58740).
414
415 Added USE_SIMULATOR macro that explicitly indicates that we wish to use
416 the simulator as the execution engine (by Mark Lam <mark.lam@palm.com>
kmillikin@chromium.orgfacd82d2010-12-13 18:00:51 +0000417 from Hewlett-Packard Development Company, LP).
vegorov@chromium.org42841962010-10-18 11:18:59 +0000418
419 Fixed compilation error on ARM with gcc 4.4 (issue 894).
420
421
4222010-10-13: Version 2.4.9
ager@chromium.orgb61a0d12010-10-13 08:35:23 +0000423
424 Fixed a bug in the handling of conditional expressions in test
425 contexts in compiler for top-level code.
426
427 Added "//@ sourceURL" information to the StackTrace API.
428
429 Exposed RegExp construction through the API.
430
431
ricow@chromium.orgeb7c1442010-10-04 08:54:21 +00004322010-10-04: Version 2.4.8
433
434 Fixed a bug in ResumeProfilerEx causing it to not always write out the
435 whole snapshot (issue 868).
436
437 Performance improvements on all platforms.
438
439
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +00004402010-09-30: Version 2.4.7
441
442 Changed the command-line flag --max-new-space-size to be in kB and the
443 flag --max-old-space-size to be in MB (previously they were in bytes).
444
445 Added Debug::CancelDebugBreak to the debugger API.
446
447 Fixed a bug in getters for negative numeric property names
448 (https://bugs.webkit.org/show_bug.cgi?id=46689).
449
450 Performance improvements on all platforms.
451
452
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +00004532010-09-27: Version 2.4.6
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +0000454
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +0000455 Fixed assertion failure related to copy-on-write arrays (issue 876).
456
457 Fixed build failure of 64-bit V8 on Windows.
458
459 Fixed a bug in RegExp (issue http://crbug.com/52801).
460
461 Improved the profiler's coverage to cover more functions (issue 858).
462
463 Fixed error in shift operators on 64-bit V8
464 (issue http://crbug.com/54521).
465
466
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004672010-09-22: Version 2.4.5
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +0000468
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000469 Changed the RegExp benchmark to exercise the regexp engine on different
470 inputs by scrambling the input strings.
471
472 Fixed a bug in keyed loads on strings.
473
474 Fixed a bug with loading global function prototypes.
475
476 Fixed a bug with profiling RegExp calls (issue http://crbug.com/55999).
477
478 Performance improvements on all platforms.
479
480
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00004812010-09-15: Version 2.4.4
482
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000483 Fixed bug with hangs on very large sparse arrays.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000484
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000485 Now tries harder to free up memory when running out of space.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000486
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000487 Added heap snapshots to JSON format to API.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000488
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000489 Recalibrated benchmarks.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000490
491
sgjesse@chromium.org2ec107f2010-09-13 09:19:46 +00004922010-09-13: Version 2.4.3
493
494 Made Date.parse properly handle TZ offsets (issue 857).
495
496 Performance improvements on all platforms.
497
498
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00004992010-09-08: Version 2.4.2
500
501 Fixed GC crash bug.
502
503 Fixed stack corruption bug.
504
505 Fixed compilation for newer C++ compilers that found Operand(0)
506 ambiguous.
507
508
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00005092010-09-06: Version 2.4.1
510
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000511 Added the ability for an embedding application to receive a callback
512 when V8 allocates (V8::AddMemoryAllocationCallback) or deallocates
513 (V8::RemoveMemoryAllocationCallback) from the OS.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000514
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000515 Fixed several JSON bugs (including issue 855).
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000516
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000517 Fixed memory overrun crash bug triggered during V8's tick-based
518 profiling.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000519
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000520 Performance improvements on all platforms.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000521
522
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00005232010-09-01: Version 2.4.0
524
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000525 Fixed bug in Object.freeze and Object.seal when Array.prototype or
526 Object.prototype are changed (issue 842).
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000527
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000528 Updated Array.splice to follow Safari and Firefox when called
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000529 with zero arguments.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000530
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000531 Fixed a missing live register when breaking at keyed loads on ARM.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000532
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000533 Performance improvements on all platforms.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000534
535
ricow@chromium.org65fae842010-08-25 15:26:24 +00005362010-08-25: Version 2.3.11
537
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000538 Fixed bug in RegExp related to copy-on-write arrays.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000539
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000540 Refactored tools/test.py script, including the introduction of
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000541 VARIANT_FLAGS that allows specification of sets of flags with which
542 all tests should be run.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000543
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000544 Fixed a bug in the handling of debug breaks in CallIC.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000545
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000546 Performance improvements on all platforms.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000547
548
erik.corry@gmail.com145eff52010-08-23 11:36:18 +00005492010-08-23: Version 2.3.10
550
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000551 Fixed bug in bitops on ARM.
erik.corry@gmail.com145eff52010-08-23 11:36:18 +0000552
553 Build fixes for unusual compilers.
554
555 Track high water mark for RWX memory.
556
557 Performance improvements on all platforms.
558
559
ricow@chromium.org0b9f8502010-08-18 07:45:01 +00005602010-08-18: Version 2.3.9
561
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000562 Fixed compilation for ARMv4 on OpenBSD/FreeBSD.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000563
564 Removed specialized handling of GCC 4.4 (issue 830).
565
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000566 Fixed DST cache to take into account the suspension of DST in
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000567 Egypt during the 2010 Ramadan (issue http://crbug.com/51855).
568
ricow@chromium.org65fae842010-08-25 15:26:24 +0000569 Performance improvements on all platforms.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000570
571
ager@chromium.orgea4f62e2010-08-16 16:28:43 +00005722010-08-16: Version 2.3.8
573
574 Fixed build with strict aliasing on GCC 4.4 (issue 463).
575
576 Fixed issue with incorrect handling of custom valueOf methods on
577 string wrappers (issue 760).
578
579 Fixed compilation for ARMv4 (issue 590).
580
581 Improved performance.
582
583
vegorov@chromium.org26c16f82010-08-11 13:41:03 +00005842010-08-11: Version 2.3.7
585
586 Reduced size of heap snapshots produced by heap profiler (issue 783).
587
588 Introduced v8::Value::IsRegExp method.
589
590 Fixed CPU profiler crash in start / stop sequence when non-existent
591 name is passed (issue http://crbug.com/51594).
592
593 Introduced new indexed property query callbacks API (issue 816). This
594 API is guarded by USE_NEW_QUERY_CALLBACK define and is disabled
595 by default.
596
597 Removed support for object literal get/set with number/string
598 property name.
599
600 Fixed handling of JSObject::elements in CalculateNetworkSize
601 (issue 822).
602
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000603 Allowed compiling with strict aliasing enabled on GCC 4.4 (issue 463).
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000604
605
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +00006062010-08-09: Version 2.3.6
607
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000608 RegExp literals create a new object every time they are evaluated
609 (issue 704).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000610
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000611 Object.seal and Object.freeze return the modified object (issue 809).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000612
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000613 Fixed building using GCC 4.4.4.
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000614
615
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +00006162010-08-04: Version 2.3.5
617
618 Added support for ES5 property names. Object initialisers and
619 dot-notation property access now allows keywords. Also allowed
620 non-identifiers after "get" or "set" in an object initialiser.
621
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000622 Randomized the addresses of allocated executable memory on Windows.
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +0000623
624
whesse@chromium.orge90029b2010-08-02 11:52:17 +00006252010-08-02: Version 2.3.4
626
627 Fixed problems in implementation of ES5 function.prototype.bind.
628
629 Fixed error when using apply with arguments object on ARM (issue 784).
630
631 Added setting of global flags to debugger protocol.
632
633 Fixed an error affecting cached results of sin and cos (issue 792).
634
635 Removed memory leak from a boundary case where V8 is not initialized.
636
637 Fixed issue where debugger could set breakpoints outside the body
638 of a function.
639
640 Fixed issue in debugger when using both live edit and step in features.
641
642 Added Number-letter (Nl) category to Unicode tables. These characters
643 can now be used in identifiers.
644
645 Fixed an assert failure on X64 (issue 806).
646
647 Performance improvements on all platforms.
648
649
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +00006502010-07-26: Version 2.3.3
651
652 Fixed error when building the d8 shell in a fresh checkout.
653
654 Implemented Function.prototype.bind (ES5 15.3.4.5).
655
656 Fixed an error in inlined stores on ia32.
657
658 Fixed an error when setting a breakpoint at the end of a function
659 that does not end with a newline character.
660
661 Performance improvements on all platforms.
662
663
fschneider@chromium.orged78ffd2010-07-21 11:05:19 +00006642010-07-21: Version 2.3.2
665
666 Fixed compiler warnings when building with LLVM.
667
668 Fixed a bug with for-in applied to strings (issue 785).
669
670 Performance improvements on all platforms.
671
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +0000672
ricow@chromium.org4980dff2010-07-19 08:33:45 +00006732010-07-19: Version 2.3.1
674
675 Fixed compilation and linking with V8_INTERPRETED_REGEXP flag.
676
677 Fixed bug related to code flushing while compiling a lazy
678 compilable function (issue http://crbug.com/49099).
679
680 Performance improvements on all platforms.
681
682
ager@chromium.orgb5737492010-07-15 09:29:43 +00006832010-07-15: Version 2.3.0
684
685 Added ES5 Object.seal and Object.isSealed.
686
687 Added debugger API for scheduling debugger commands from a
688 separate thread.
689
690
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +00006912010-07-14: Version 2.2.24
692
693 Added API for capturing stack traces for uncaught exceptions.
694
695 Fixed crash bug when preparsing from a non-external V8 string
696 (issue 775).
697
698 Fixed JSON.parse bug causing input not to be converted to string
699 (issue 764).
700
701 Added ES5 Object.freeze and Object.isFrozen.
702
703 Performance improvements on all platforms.
704
705
erik.corry@gmail.com4a2e25e2010-07-07 12:22:46 +00007062010-07-07: Version 2.2.23
707
708 API change: Convert Unicode code points outside the basic multilingual
709 plane to the replacement character. Previous behavior was to silently
710 truncate the value to 16 bits.
711
712 Fixed crash: handle all flat string types in regexp replace.
713
714 Prevent invalid pre-parsing data passed in through the API from
715 crashing V8.
716
717 Performance improvements on all platforms.
718
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +0000719
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00007202010-07-05: Version 2.2.22
721
722 Added ES5 Object.isExtensible and Object.preventExtensions.
723
724 Enabled building V8 as a DLL.
725
726 Fixed a bug in date code where -0 was not interpreted as 0
727 (issue 736).
728
729 Performance improvements on all platforms.
730
731
lrn@chromium.org32d961d2010-06-30 09:09:34 +00007322010-06-30: Version 2.2.21
733
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000734 Fixed bug in externalizing some ASCII strings (Chromium issue 47824).
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000735
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000736 Updated JSON.stringify to floor the space parameter (issue 753).
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000737
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000738 Updated the Mozilla test expectations to the newest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000739
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000740 Updated the ES5 Conformance Test expectations to the latest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000741
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000742 Updated the V8 benchmark suite.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000743
744 Provide actual breakpoints locations in response to setBreakpoint
745 and listBreakpoints requests.
746
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000747
fschneider@chromium.org40b9da32010-06-28 11:29:21 +00007482010-06-28: Version 2.2.20
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000749
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000750 Fixed bug with for-in on x64 platform (issue 748).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000751
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000752 Fixed crash bug on x64 platform (issue 756).
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000753
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000754 Fixed bug in Object.getOwnPropertyNames. (chromium issue 41243).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000755
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000756 Fixed a bug on ARM that caused the result of 1 << x to be
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000757 miscalculated for some inputs.
758
759 Performance improvements on all platforms.
760
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000761
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +00007622010-06-23: Version 2.2.19
763
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000764 Fixed bug that causes the build to break when profillingsupport=off
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +0000765 (issue 738).
766
767 Added expose-externalize-string flag for testing extensions.
768
769 Resolve linker issues with using V8 as a DLL causing a number of
770 problems with unresolved symbols.
771
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000772 Fixed build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +0000773 defined.
774
775 Performance improvements on all platforms.
776
777
whesse@chromium.org2c186ca2010-06-16 11:32:39 +00007782010-06-16: Version 2.2.18
779
780 Added API functions to retrieve information on indexed properties
781 managed by the embedding layer. Fixes bug 737.
782
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000783 Made ES5 Object.defineProperty support array elements. Fixes bug 619.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000784
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000785 Added heap profiling to the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000786
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000787 Removed old named property query from the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000788
789 Incremental performance improvements.
790
791
ager@chromium.org2cc82ae2010-06-14 07:35:38 +00007922010-06-14: Version 2.2.17
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000793
ager@chromium.org2cc82ae2010-06-14 07:35:38 +0000794 Improved debugger support for stepping out of functions.
795
796 Incremental performance improvements.
797
798
7992010-06-09: Version 2.2.16
800
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000801 Removed the SetExternalStringDiposeCallback API. Changed the
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000802 disposal of external string resources to call a virtual Dispose
803 method on the resource.
804
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000805 Added support for more precise break points when debugging and
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000806 stepping.
807
808 Memory usage improvements on all platforms.
809
810
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +00008112010-06-07: Version 2.2.15
812
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000813 Added an API to control the disposal of external string resources.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000814
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000815 Added missing initialization of a couple of variables which makes
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000816 some compilers complaint when compiling with -Werror.
817
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000818 Improved performance on all platforms.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000819
820
sgjesse@chromium.org82dbbab2010-06-02 08:57:44 +00008212010-06-02: Version 2.2.14
822
823 Fixed a crash in code generated for String.charCodeAt.
824
825 Fixed a compilation issue with some GCC versions (issue 727).
826
827 Performance optimizations on x64 and ARM platforms.
828
829
ricow@chromium.org30ce4112010-05-31 10:38:25 +00008302010-05-31: Version 2.2.13
831
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000832 Implemented Object.getOwnPropertyDescriptor for element indices and
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000833 strings (issue 599).
834
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000835 Fixed bug for windows 64 bit C calls from generated code.
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000836
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000837 Added new scons flag unalignedaccesses for arm builds.
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000838
839 Performance improvements on all platforms.
840
841
kmillikin@chromium.org9155e252010-05-26 13:27:57 +00008422010-05-26: Version 2.2.12
843
844 Allowed accessors to be defined on objects rather than just object
845 templates.
846
847 Changed the ScriptData API.
848
849
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00008502010-05-21: Version 2.2.11
851
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000852 Fixed crash bug in liveedit on 64 bit.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000853
854 Use 'full compiler' when debugging is active. This should increase
855 the density of possible break points, making single step more fine
856 grained. This will only take effect for functions compiled after
857 debugging has been started, so recompilation of all functions is
858 required to get the full effect. IA32 and x64 only for now.
859
860 Misc. fixes to the Solaris build.
861
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000862 Added new flags --print-cumulative-gc-stat and --trace-gc-nvp.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000863
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000864 Added filtering of CPU profiles by security context.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000865
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000866 Fixed crash bug on ARM when running without VFP2 or VFP3.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000867
868 Incremental performance improvements in all backends.
869
870
vegorov@chromium.orgdff694e2010-05-17 09:10:26 +00008712010-05-17: Version 2.2.10
872
873 Performance improvements in the x64 and ARM backends.
874
875
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +00008762010-05-10: Version 2.2.9
877
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000878 Allowed Object.create to be called with a function (issue 697).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +0000879
880 Fixed bug with Date.parse returning a non-NaN value when called on a
881 non date string (issue 696).
882
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000883 Allowed unaligned memory accesses on ARM targets that support it (by
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000884 Subrato K De of CodeAurora <subratokde@codeaurora.org>).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +0000885
886 C++ API for retrieving JavaScript stack trace information.
887
888
ager@chromium.orgac091b72010-05-05 07:34:42 +00008892010-05-05: Version 2.2.8
890
891 Performance improvements in the x64 and ARM backends.
892
893
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00008942010-05-03: Version 2.2.7
895
896 Added support for ES5 date time string format to Date.parse.
897
898 Performance improvements in the x64 backend.
899
900
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00009012010-04-28: Version 2.2.6
902
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000903 Added "amd64" as recognized architecture in scons build script
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000904 (by Ryan Dahl <coldredlemur@gmail.com>).
905
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000906 Fixed bug in String search and replace with very simple RegExps.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000907
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000908 Fixed bug in RegExp containing "\b^".
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000909
910 Performance improvements on all platforms.
911
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000912
fschneider@chromium.org013f3e12010-04-26 13:27:52 +00009132010-04-26: Version 2.2.5
914
915 Various performance improvements (especially for ARM and x64)
916
917 Fixed bug in CPU profiling (http://crbug.com/42137)
918
919 Fixed a bug with the natives cache.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000920
921 Fixed two bugs in the ARM code generator that can cause
fschneider@chromium.org013f3e12010-04-26 13:27:52 +0000922 wrong calculations.
923
924 Fixed a bug that may cause a wrong result for shift operations.
925
926
9272010-04-21: Version 2.2.4
ricow@chromium.orgc9c80822010-04-21 08:22:37 +0000928
929 Fixed warnings on arm on newer GCC versions.
930
931 Fixed a number of minor bugs.
932
933 Performance improvements on all platforms.
934
935
whesse@chromium.orgb6e43bb2010-04-14 09:36:28 +00009362010-04-14: Version 2.2.3
937
938 Added stack command and mem command to ARM simulator debugger.
939
940 Fixed scons snapshot and ARM build, and Windows X64 build issues.
941
942 Performance improvements on all platforms.
943
944
ager@chromium.org357bf652010-04-12 11:30:10 +00009452010-04-12: Version 2.2.2
946
947 Introduced new profiler API.
948
949 Fixed random number generator to produce full 32 random bits.
950
951
lrn@chromium.org25156de2010-04-06 13:10:27 +00009522010-04-06: Version 2.2.1
953
954 Debugger improvements.
955
956 Fixed minor bugs.
957
958
ricow@chromium.orgaa1b6162010-03-29 07:44:58 +00009592010-03-29: Version 2.2.0
960
961 Fixed a few minor bugs.
962
963 Performance improvements for string operations.
964
965
ager@chromium.orgb26c50a2010-03-26 09:27:16 +00009662010-03-26: Version 2.1.10
967
968 Fixed scons build issues.
969
970 Fixed a couple of minor bugs.
971
972
sgjesse@chromium.orgdf7a2842010-03-25 14:34:15 +00009732010-03-25: Version 2.1.9
974
975 Added API support for reattaching a global object to a context.
976
977 Extended debugger API with access to the internal debugger context.
978
979 Fixed Chromium crashes (issues http://crbug.com/39128 and
980 http://crbug.com/39160)
981
982
kmillikin@chromium.org5d8f0e62010-03-24 08:21:20 +00009832010-03-24: Version 2.1.8
984
985 Added fine-grained garbage collection callbacks to the API.
986
987 Performance improvements on all platforms.
988
989
whesse@chromium.orgcec079d2010-03-22 14:44:04 +00009902010-03-22: Version 2.1.7
991
992 Fixed issue 650.
993
994 Fixed a bug where __proto__ was sometimes enumerated (issue 646).
fschneider@chromium.org086aac62010-03-17 13:18:24 +0000995
996 Performance improvements for arithmetic operations.
997
998 Performance improvements for string operations.
999
whesse@chromium.orgcec079d2010-03-22 14:44:04 +00001000 Print script name and line number information in stack trace.
1001
1002
10032010-03-17: Version 2.1.6
1004
1005 Performance improvements for arithmetic operations.
1006
1007 Performance improvements for string operations.
1008
1009
vegorov@chromium.orgf8372902010-03-15 10:26:20 +000010102010-03-10: Version 2.1.4
1011
1012 Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).
1013
1014 Performance improvements on all platforms.
1015
1016
ager@chromium.orgce5e87b2010-03-10 10:24:18 +000010172010-03-10: Version 2.1.3
1018
1019 Added API method for context-disposal notifications.
1020
1021 Added API method for accessing elements by integer index.
1022
1023 Added missing implementation of Uint32::Value and Value::IsUint32
1024 API methods.
1025
1026 Added IsExecutionTerminating API method.
1027
1028 Disabled strict aliasing for GCC 4.4.
1029
1030 Fixed string-concatenation bug (issue 636).
1031
1032 Performance improvements on all platforms.
1033
1034
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +000010352010-02-23: Version 2.1.2
1036
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001037 Fixed a crash bug caused by wrong assert.
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +00001038
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001039 Fixed a bug with register names on 64-bit V8 (issue 615).
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +00001040
1041 Performance improvements on all platforms.
1042
ager@chromium.orgce5e87b2010-03-10 10:24:18 +00001043
ager@chromium.org5c838252010-02-19 08:53:10 +000010442010-02-19: Version 2.1.1
1045
1046 [ES5] Implemented Object.defineProperty.
1047
1048 Improved profiler support.
1049
1050 Added SetPrototype method in the public V8 API.
1051
1052 Added GetScriptOrigin and GetScriptLineNumber methods to Function
1053 objects in the API.
1054
1055 Performance improvements on all platforms.
1056
1057
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +000010582010-02-03: Version 2.1.0
1059
1060 Values are now always wrapped in objects when used as a receiver.
1061 (issue 223).
1062
1063 [ES5] Implemented Object.getOwnPropertyNames.
1064
1065 [ES5] Restrict JSON.parse to only accept strings that conforms to the
1066 JSON grammar.
1067
1068 Improvement of debugger agent (issue 549 and 554).
1069
1070 Fixed problem with skipped stack frame in profiles (issue 553).
1071
1072 Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
1073 <ry@tinyclouds.org>.
1074
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001075 Fixed a bug that Math.round() returns incorrect results for huge
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00001076 integers.
1077
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001078 Fixed enumeration order for objects created from some constructor
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00001079 functions (isue http://crbug.com/3867).
1080
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001081 Fixed arithmetic on some integer constants (issue 580).
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00001082
1083 Numerous performance improvements including porting of previous IA-32
1084 optimizations to x64 and ARM architectures.
1085
1086
fschneider@chromium.org0c20e672010-01-14 15:28:53 +000010872010-01-14: Version 2.0.6
1088
1089 Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,
1090 GetOwnProperty, FromPropertyDescriptor.
1091
1092 Fixed Mac x64 build errors.
1093
1094 Improved performance of some math and string operations.
1095
1096 Improved performance of some regexp operations.
1097
1098 Improved performance of context creation.
1099
1100 Improved performance of hash tables.
1101
1102
sgjesse@chromium.org846fb742009-12-18 08:56:33 +000011032009-12-18: Version 2.0.5
1104
1105 Extended to upper limit of map space to allow for 7 times as many map
1106 to be allocated (issue 524).
1107
1108 Improved performance of code using closures.
1109
1110 Improved performance of some binary operations involving doubles.
1111
1112
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +000011132009-12-16: Version 2.0.4
1114
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001115 Added ECMAScript 5 Object.create.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001116
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001117 Improved performance of Math.max and Math.min.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001118
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001119 Optimized adding of strings on 64-bit platforms.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001120
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001121 Improved handling of external strings by using a separate table
1122 instead of weak handles. This improves garbage collection
1123 performance and uses less memory.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001124
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001125 Changed code generation for object and array literals in toplevel
1126 code to be more compact by doing more work in the runtime.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001127
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001128 Fixed a crash bug triggered when garbage collection happened during
1129 generation of a callback load inline cache stub.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001130
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001131 Fixed crash bug sometimes triggered when local variables shadowed
1132 parameters in functions that used the arguments object.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001133
1134
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +000011352009-12-03: Version 2.0.3
1136
1137 Optimized handling and adding of strings, for-in and Array.join.
1138
1139 Heap serialization is now non-destructive.
1140
1141 Improved profiler support with information on time spend in C++
1142 callbacks registered through the API.
1143
1144 Added commands to the debugger protocol for starting/stopping
1145 profiling.
1146
1147 Enabled the non-optimizing compiler for top-level code.
1148
1149 Changed the API to only allow strings to be set as data objects on
1150 Contexts and scripts to avoid potentially keeping global objects
1151 around for too long (issue 528).
1152
1153 OpenBSD support patch by Peter Valchev <pvalchev@gmail.com>.
1154
1155 Fixed bugs.
1156
1157
ager@chromium.org01beca72009-11-24 14:29:16 +000011582009-11-24: Version 2.0.2
1159
1160 Improved profiler support.
1161
1162 Fixed bug that broke compilation of d8 with readline support.
1163
1164
ager@chromium.org6141cbe2009-11-20 12:14:52 +000011652009-11-20: Version 2.0.1
1166
1167 Fixed crash bug in String.prototype.replace.
1168
1169 Reverted a change which caused Chromium interactive ui test
1170 failures.
1171
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001172
ager@chromium.orgc4c92722009-11-18 14:12:51 +000011732009-11-18: Version 2.0.0
1174
1175 Added support for VFP on ARM.
1176
1177 Added TryCatch::ReThrow method to the API.
1178
1179 Reduced the size of snapshots and improved the snapshot load time.
1180
1181 Improved heap profiler support.
1182
1183 64-bit version now supported on Windows.
1184
1185 Fixed a number of debugger issues.
1186
1187 Fixed bugs.
1188
1189
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +000011902009-10-29: Version 1.3.18
1191
1192 Reverted a change which caused crashes in RegExp replace.
1193
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +00001194 Reverted a change which caused Chromium ui_tests failure.
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +00001195
1196
ager@chromium.org3811b432009-10-28 14:53:37 +000011972009-10-28: Version 1.3.17
1198
1199 Added API method to get simple heap statistics.
1200
1201 Improved heap profiler support.
1202
1203 Fixed the implementation of the resource constraint API so it
1204 works when using snapshots.
1205
1206 Fixed a number of issues in the Windows 64-bit version.
1207
1208 Optimized calls to API getters.
1209
1210 Added valgrind notification on code modification to the 64-bit version.
1211
1212 Fixed issue where we logged shared library addresses on Windows at
1213 startup and never used them.
1214
1215
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +000012162009-10-16: Version 1.3.16
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001217
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001218 X64: Convert smis to holding 32 bits of payload.
1219
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001220 Introduced v8::Integer::NewFromUnsigned method.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001221
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001222 Added missing null check in Context::GetCurrent.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001223
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001224 Added trim, trimLeft and trimRight methods to String
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001225 Patch by Jan de Mooij <jandemooij@gmail.com>
1226
1227 Implement ES5 Array.isArray
1228 Patch by Jan de Mooij <jandemooij@gmail.com>
1229
1230 Skip access checks for hidden properties.
1231
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001232 Added String::Concat(Handle<String> left, Handle<String> right) to the
1233 V8 API.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001234
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001235 Fixed GYP-based builds of V8.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001236
1237
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +000012382009-10-07: Version 1.3.15
1239
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001240 Expanded the maximum size of the code space to 512MB for 64-bit mode.
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +00001241
1242 Fixed a crash bug happening when starting profiling (issue
1243 http://crbug.com/23768).
1244
1245
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +000012462009-10-07: Version 1.3.14
1247
1248 Added GetRealNamedProperty to the API to lookup real properties
1249 located on the object or in the prototype chain skipping any
1250 interceptors.
1251
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001252 Fixed the stack limits setting API to work correctly with threads. The
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00001253 stack limit now needs to be set to each thread thich is used with V8.
1254
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001255 Removed the high-priority flag from IdleNotification()
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00001256
1257 Ensure V8 is initialized before locking and unlocking threads.
1258
1259 Implemented a new JavaScript minifier for compressing the source of
ager@chromium.org3811b432009-10-28 14:53:37 +00001260 the built-in JavaScript. This removes non-Open Source code from Douglas
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00001261 Crockford from the project.
1262
1263 Added a missing optimization in StringCharAt.
1264
1265 Fixed some flaky socket tests.
1266
1267 Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
1268 in 64-bit mode.
1269
1270 Fixed memory leaks in the thread management code.
1271
1272 Fixed the result of assignment to a pixel array. The assigned value
1273 is now the result.
1274
1275 Error reporting for invalid left-hand sides in for-in statements, pre-
1276 and postfix count expressions, and assignments now matches the JSC
1277 behavior in Safari 4.
1278
1279 Follow the spec in disallowing function declarations without a name.
1280
1281 Always allocate code objects within a 2 GB range. On x64 architecture
1282 this is used to use near calls (32-bit displacement) in Code objects.
1283
1284 Optimized array construction ported to x64 and ARM architectures.
1285
1286 [ES5] Changed Object.keys to return strings for element indices.
1287
1288
ager@chromium.org68e7ab72009-09-23 09:40:39 +000012892009-09-23: Version 1.3.13
1290
1291 Fixed uninitialized memory problem.
1292
1293 Improved heap profiler support.
1294
1295
christian.plesner.hansen@gmail.com2bc58ef2009-09-22 10:00:30 +000012962009-09-22: Version 1.3.12
1297
1298 Changed behavior of |function|.toString() on built-in functions to
1299 be compatible with other implementations. Patch by Jan de Mooij.
1300
1301 Added Object::IsDirty in the API.
1302
1303 Optimized array construction; it is now handled purely in native
1304 code.
1305
1306 [ES5] Made properties of the arguments array enumerable.
1307
1308 [ES5] Added test suite adapter for the es5conform test suite.
1309
1310 [ES5] Added Object.keys function.
1311
ager@chromium.org68e7ab72009-09-23 09:40:39 +00001312
ager@chromium.org4af710e2009-09-15 12:20:11 +000013132009-09-15: Version 1.3.11
1314
1315 Fixed crash in error reporting during bootstrapping.
1316
1317 Optimized generated IA32 math code by using SSE2 instructions when
1318 available.
1319
1320 Implemented missing pieces of debugger infrastructure on ARM. The
1321 debugger is now fully functional on ARM.
1322
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001323 Made 'hidden' the default visibility for gcc.
ager@chromium.org4af710e2009-09-15 12:20:11 +00001324
1325
ager@chromium.orga1645e22009-09-09 19:27:10 +000013262009-09-09: Version 1.3.10
1327
1328 Fixed profiler on Mac in 64-bit mode.
1329
1330 Optimized creation of objects from simple constructor functions on
1331 ARM.
1332
1333 Fixed a number of debugger issues.
1334
1335 Reduced the amount of memory consumed by V8.
1336
1337
ager@chromium.org18ad94b2009-09-02 08:22:29 +000013382009-09-02: Version 1.3.9
1339
1340 Optimized stack guard checks on ARM.
1341
1342 Optimized API operations by inlining more in the API.
1343
1344 Optimized creation of objects from simple constructor functions.
1345
1346 Enabled a number of missing optimizations in the 64-bit port.
1347
1348 Implemented native-code support for regular expressions on ARM.
1349
1350 Stopped using the 'sahf' instruction on 64-bit machines that do
1351 not support it.
1352
1353 Fixed a bug in the support for forceful termination of JavaScript
1354 execution.
1355
1356
ager@chromium.org96c75b52009-08-26 09:13:16 +000013572009-08-26: Version 1.3.8
1358
1359 Changed the handling of idle notifications to allow idle
1360 notifications when V8 has not yet been initialized.
1361
1362 Fixed ARM simulator compilation problem on Windows.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001363
ager@chromium.org96c75b52009-08-26 09:13:16 +00001364
ager@chromium.orgab99eea2009-08-25 07:05:41 +000013652009-08-25: Version 1.3.7
1366
1367 Reduced the size of generated code on ARM platforms by reducing
1368 the size of constant pools.
1369
1370 Changed build files to not include the 'ENV' user environment
1371 variable in the build environment.
1372
1373 Changed the handling of idle notifications.
1374
1375
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +000013762009-08-21: Version 1.3.6
1377
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001378 Added support for forceful termination of JavaScript execution.
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00001379
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001380 Added low memory notification to the API. The embedding host can signal
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00001381 a low memory situation to V8.
1382
1383 Changed the handling of global handles (persistent handles in the API
1384 sense) to avoid issues regarding allocation of new global handles
1385 during weak handle callbacks.
1386
1387 Changed the growth policy of the young space.
1388
1389 Fixed a GC issue introduced in version 1.3.5.
1390
1391
sgjesse@chromium.org911335c2009-08-19 12:59:44 +000013922009-08-19: Version 1.3.5
1393
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001394 Optimized initialization of some arrays in the builtins.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001395
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001396 Fixed mac-nm script to support filenames with spaces.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001397
1398 Support for using the V8 profiler when V8 is embedded in a Windows DLL.
1399
1400 Changed typeof RegExp from 'object' to 'function' for compatibility.
1401 Fixed bug where regexps were not callable across contexts.
1402
1403 Added context independent script compilation to the API.
1404
1405 Added API call to get the stack trace for an exception.
1406
1407 Added API for getting object mirrors.
1408
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001409 Made sure that SSE3 instructions are used whenever possible even when
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001410 running off a snapshot generated without using SSE3 instructions.
1411
1412 Tweaked the handling of the initial size and growth policy of the heap.
1413
1414 Added native code generation for RegExp to 64-bit version.
1415
1416 Added JavaScript debugger support to 64-bit version.
1417
1418
ager@chromium.orgadd848f2009-08-13 12:44:13 +000014192009-08-13: Version 1.3.4
1420
1421 Added a readline() command to the d8 shell.
1422
1423 Fixed bug in json parsing.
1424
1425 Added idle notification to the API and reduced memory on idle
1426 notifications.
1427
1428
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +000014292009-08-12: Version 1.3.3
1430
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001431 Fixed issue 417: incorrect %t placeholder expansion.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001432
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001433 Added .gitignore file similar to Chromium's one.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001434
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001435 Fixed SConstruct file to build with new logging code for Android.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001436
1437 API: added function to find instance of template in prototype
1438 chain. Inlined Object::IsInstanceOf.
1439
1440 Land change to notify valgrind when we modify code on x86.
1441
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001442 Added api call to determine whether a string can be externalized.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001443
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001444 Added a write() command to d8.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001445
1446
sgjesse@chromium.orgb9d7da12009-08-05 08:38:10 +000014472009-08-05: Version 1.3.2
1448
1449 Started new compiler infrastructure for two-pass compilation using a
1450 control flow graph constructed from the AST.
1451
1452 Profiler stack sampling for X64.
1453
1454 Safe handling of NaN to Posix platform-dependent time functions.
1455
1456 Added a new profiler control API to unify controlling various aspects
1457 of profiling.
1458
1459 Fixed issue 392.
1460
1461
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +000014622009-07-30: Version 1.3.1
1463
1464 Speed improvements to accessors and interceptors.
1465
1466 Added support for capturing stack information on custom errors.
1467
1468 Added support for morphing an object into a pixel array where its
1469 indexed properties are stored in an external byte array. Values written
1470 are always clamped to the 0..255 interval.
1471
1472 Profiler on x64 now handles C/C++ functions from shared libraries.
1473
1474 Changed the debugger to avoid stepping into function.call/apply if the
1475 function is a built-in.
1476
1477 Initial implementation of constructor heap profile for JS objects.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001478
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00001479 More fine grained control of profiling aspects through the API.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001480
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00001481 Optimized the called as constructor check for API calls.
1482
1483
kasperl@chromium.orge959c182009-07-27 08:59:04 +000014842009-07-27: Version 1.3.0
1485
1486 Allowed RegExp objects to be called as functions (issue 132).
1487
1488 Fixed issue where global property cells would escape after
1489 detaching the global object; see http://crbug.com/16276.
1490
1491 Added support for stepping into setters and getters in the
1492 debugger.
1493
1494 Changed the debugger to avoid stopping in its own JavaScript code
1495 and in the code of built-in functions.
1496
1497 Fixed issue 345 by avoiding duplicate escaping labels.
1498
1499 Fixed ARM code generator crash in short-circuited boolean
1500 expressions and added regression tests.
1501
1502 Added an external allocation limit to avoid issues where small V8
1503 objects would hold on to large amounts of external memory without
1504 causing garbage collections.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001505
1506 Finished more of the inline caching stubs for x64 targets.
kasperl@chromium.orge959c182009-07-27 08:59:04 +00001507
1508
kasperl@chromium.orgdefbd102009-07-13 14:04:26 +000015092009-07-13: Version 1.2.14
1510
1511 Added separate paged heap space for global property cells and
1512 avoid updating the write barrier when storing into them.
1513
1514 Improved peep-hole optimization on ARM platforms by not emitting
1515 unnecessary debug information.
1516
1517 Re-enabled ICs for loads and calls that skip a global object
1518 during lookup through the prototype chain.
1519
1520 Allowed access through global proxies to use ICs.
1521
1522 Fixed issue 401.
1523
1524
kasperl@chromium.org68ac0092009-07-09 06:00:35 +000015252009-07-09: Version 1.2.13
1526
1527 Fixed issue 397, issue 398, and issue 399.
1528
1529 Added support for breakpoint groups.
1530
1531 Fixed bugs introduced with the new global object representation.
1532
1533 Fixed a few bugs in the ARM code generator.
1534
1535
kasperl@chromium.org86f77b72009-07-06 08:21:57 +000015362009-07-06: Version 1.2.12
1537
1538 Added stack traces collection to Error objects accessible through
1539 the e.stack property.
1540
1541 Changed RegExp parser to use a recursive data structure instead of
1542 stack-based recursion.
1543
1544 Optimized Date object construction and string concatenation.
1545
1546 Improved performance of div, mod, and mul on ARM platforms.
1547
1548
kasperl@chromium.org2abc4502009-07-02 07:00:29 +000015492009-07-02: Version 1.2.11
1550
1551 Improved performance on IA-32 and ARM.
1552
1553 Fixed profiler sampler implementation on Mac OS X.
1554
1555 Changed the representation of global objects to improve
1556 performance of adding a lot of new properties.
1557
1558
ager@chromium.org3e875802009-06-29 08:26:34 +000015592009-06-29: Version 1.2.10
1560
1561 Improved debugger support.
1562
1563 Fixed bug in exception message reporting (issue 390).
1564
1565 Improved overall performance.
1566
1567
ager@chromium.org5aa501c2009-06-23 07:57:28 +000015682009-06-23: Version 1.2.9
1569
1570 Improved math performance on ARM.
1571
1572 Fixed profiler name-inference bug.
1573
1574 Fixed handling of shared libraries in the profiler tick processor
1575 scripts.
1576
1577 Fixed handling of tests that time out in the test scripts.
1578
1579 Fixed compilation on MacOS X version 10.4.
1580
1581 Fixed two bugs in the regular expression engine.
1582
1583 Fixed a bug in the string type inference.
1584
1585 Fixed a bug in the handling of 'constant function' properties.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001586
ager@chromium.org5aa501c2009-06-23 07:57:28 +00001587 Improved overall performance.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001588
ager@chromium.org5aa501c2009-06-23 07:57:28 +00001589
ager@chromium.orgeadaf222009-06-16 09:43:10 +000015902009-06-16: Version 1.2.8
1591
1592 Optimized math on ARM platforms.
1593
1594 Fixed two crash bugs in the handling of getters and setters.
1595
1596 Improved the debugger support by adding scope chain information.
1597
1598 Improved the profiler support by compressing log data transmitted
1599 to clients.
1600
1601 Improved overall performance.
1602
1603
ager@chromium.orge2902be2009-06-08 12:21:35 +000016042009-06-08: Version 1.2.7
1605
1606 Improved debugger and profiler support.
1607
1608 Reduced compilation time by improving the handling of deferred
1609 code.
1610
1611 Optimized interceptor accesses where the property is on the object
1612 on which the interceptors is attached.
1613
1614 Fixed compilation problem on GCC 4.4 by changing the stack
1615 alignment to 16 bytes.
1616
1617 Fixed handle creation to follow stric aliasing rules.
1618
1619 Fixed compilation on FreeBSD.
1620
1621 Introduced API for forcing the deletion of a property ignoring
1622 interceptors and attributes.
1623
1624
sgjesse@chromium.org755c5b12009-05-29 11:04:38 +000016252009-05-29: Version 1.2.6
1626
1627 Added a histogram recording hit rates at different levels of the
1628 compilation cache.
1629
1630 Added stack overflow check for the RegExp analysis phase. Previously a
1631 very long regexp graph could overflow the stack with recursive calls.
1632
1633 Use a dynamic buffer when collecting log events in memory.
1634
1635 Added start/stop events to the profiler log.
1636
1637 Fixed infinite loop which could happen when setting a debug break while
1638 executing a RegExp compiled to native code.
1639
1640 Fixed handling of lastIndexOf called with negative index (issue 351).
1641
1642 Fixed irregular crash in profiler test (issue 358).
1643
1644 Fixed compilation issues with some versions of gcc.
1645
1646
kasperl@chromium.org71affb52009-05-26 05:44:31 +000016472009-05-26: Version 1.2.5
1648
1649 Fixed bug in initial boundary check for Boyer-Moore text
1650 search (issue 349).
1651
1652 Fixed compilation issues with MinGW and gcc 4.3+ and added support
1653 for armv7 and cortex-a8 architectures. Patches by Lei Zhang and
1654 Craig Schlenter.
1655
1656 Added a script cache to the debugger.
1657
1658 Optimized compilation performance by improving internal data
1659 structures and avoiding expensive property load optimizations for
1660 code that's infrequently executed.
1661
1662 Exposed the calling JavaScript context through the static API
1663 function Context::GetCalling().
1664
1665
kasperl@chromium.orgb3284ad2009-05-18 06:12:45 +000016662009-05-18: Version 1.2.4
1667
1668 Improved performance of floating point number allocation for ARM
1669 platforms.
1670
1671 Fixed crash when using the instanceof operator on functions with
1672 number values in their prototype chain (issue 341).
1673
1674 Optimized virtual frame operations in the code generator to speed
1675 up compilation time and allocated the frames in the zone.
1676
1677 Made the representation of virtual frames and jump targets in the
1678 code generator much more compact.
1679
1680 Avoided linear search for non-locals in scope code when resolving
1681 variables inside with and eval scopes.
1682
1683 Optimized lexical scanner by dealing with whitespace as part of
1684 the token scanning instead of as a separate step before it.
1685
1686 Changed the scavenging collector so that promoted objects do not
1687 reside in the old generation while their remembered set is being
1688 swept for pointers into the young generation.
1689
1690 Fixed numeric overflow handling when compiling count operations.
1691
1692
ager@chromium.org9085a012009-05-11 19:22:57 +000016932009-05-11: Version 1.2.3
1694
1695 Fixed bug in reporting of out-of-memory situations.
1696
1697 Introduced hidden prototypes on certain builtin prototype objects
1698 such as String.prototype to emulate JSC's behavior of restoring
1699 the original function when deleting functions from those prototype
1700 objects.
1701
1702 Fixed crash bug in the register allocator.
1703
1704
ager@chromium.org5ec48922009-05-05 07:25:34 +000017052009-05-04: Version 1.2.2
1706
1707 Fixed bug in array sorting for sparse arrays (issue 326).
1708
1709 Added support for adding a soname when building a shared library
1710 on Linux (issue 151).
1711
1712 Fixed bug caused by morphing internal ASCII strings to external
1713 two-byte strings. Slices over ASCII strings have to forward ASCII
1714 checks to the underlying buffer string.
1715
1716 Allowed API call-as-function handlers to be called as
1717 constructors.
1718
1719 Fixed a crash bug where an external string was disposed but a
1720 slice of the external string survived as a symbol.
1721
1722
ager@chromium.org3a37e9b2009-04-27 09:26:21 +000017232009-04-27: Version 1.2.1
1724
1725 Added EcmaScript 5 JSON object.
1726
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001727 Fixed bug in preemption support on ARM.
ager@chromium.org3a37e9b2009-04-27 09:26:21 +00001728
1729
ager@chromium.org65dad4b2009-04-23 08:48:43 +000017302009-04-23: Version 1.2.0
1731
1732 Optimized floating-point operations on ARM.
1733
1734 Added a number of extensions to the debugger API.
1735
1736 Changed the enumeration order for unsigned integer keys to always
1737 be numerical order.
1738
1739 Added a "read" extension to the shell sample.
1740
1741 Added support for Array.prototype.reduce and
1742 Array.prototype.reduceRight.
1743
1744 Added an option to the SCons build to control Microsoft Visual C++
1745 link-time code generation.
1746
1747 Fixed a number of bugs (in particular issue 315, issue 316,
1748 issue 317 and issue 318).
1749
1750
kasperl@chromium.org2d18d102009-04-15 13:27:32 +000017512009-04-15: Version 1.1.10
1752
1753 Fixed crash bug that occurred when loading a const variable in the
1754 presence of eval.
1755
1756 Allowed using with and eval in registered extensions in debug mode
1757 by fixing bogus assert.
1758
1759 Fixed the source position for function returns to enable the
1760 debugger to break there.
1761
1762
kasperl@chromium.orgd1e3e722009-04-14 13:38:25 +000017632009-04-14: Version 1.1.9
1764
1765 Made the stack traversal code in the profiler robust by avoiding
1766 to look into the heap.
1767
1768 Added name inferencing for anonymous functions to facilitate
1769 debugging and profiling.
1770
1771 Re-enabled stats timers in the developer shell (d8).
1772
1773 Fixed issue 303 by avoiding to shortcut cons-symbols.
1774
1775
kasperl@chromium.orgacae3782009-04-11 09:17:08 +000017762009-04-11: Version 1.1.8
1777
1778 Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).
1779
ager@chromium.org65dad4b2009-04-23 08:48:43 +00001780 Fixed step-in handling for Function.prototype.apply and call in
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00001781 the debugger (issue 269).
1782
1783 Fixed v8::Object::DeleteHiddenValue to not bail out when there
1784 are no hidden properties.
1785
ager@chromium.org65dad4b2009-04-23 08:48:43 +00001786 Added workaround for crash bug, where external symbol table
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00001787 entries with deleted resources would lead to NPEs when looking
1788 up in the symbol table.
1789
1790
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +000017912009-04-07: Version 1.1.7
1792
1793 Added support for easily importing additional environment
1794 variables into the SCons build.
1795
1796 Optimized strict equality checks.
1797
1798 Fixed crash in indexed setters on objects without a corresponding
1799 getter (issue 298).
1800
1801 Re-enabled script compilation cache.
1802
1803
ager@chromium.org8682a592009-04-01 10:47:14 +000018042009-04-01: Version 1.1.6
1805
1806 Reverted an unsafe code generator change.
1807
1808
ager@chromium.org71daaf62009-04-01 07:22:49 +000018092009-04-01: Version 1.1.5
1810
1811 Fixed bug that caused function literals to not be optimized as
1812 much as other functions.
1813
1814 Improved profiler support.
1815
1816 Fixed a crash bug in connection with debugger unloading.
1817
1818 Fixed a crash bug in the code generator caused by losing the
1819 information that a frame element was copied.
1820
1821 Fixed an exception propagation bug that could cause non-null
1822 return values when exceptions were thrown.
1823
1824
ager@chromium.org41826e72009-03-30 13:30:57 +000018252009-03-30: Version 1.1.4
1826
1827 Optimized String.prototype.match.
1828
1829 Improved the stack information in profiles.
1830
1831 Fixed bug in ARM port making it possible to compile the runtime
1832 system for thumb mode again.
1833
1834 Implemented a number of optimizations in the code generator.
1835
1836 Fixed a number of memory leaks in tests.
1837
1838 Fixed crash bug in connection with script source code and external
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +00001839 strings.
ager@chromium.org41826e72009-03-30 13:30:57 +00001840
1841
kasperl@chromium.orgf5aa8372009-03-24 14:47:14 +000018422009-03-24: Version 1.1.3
1843
1844 Fixed assertion failures in compilation of loop conditions.
1845
1846 Removed STL dependency from developer shell (d8).
1847
1848 Added infrastructure for protecting the V8 heap from corruption
1849 caused by memory modifications from the outside.
1850
1851
ager@chromium.orgbb29dc92009-03-24 13:25:23 +000018522009-03-24: Version 1.1.2
1853
1854 Improved frame merge code generated by the code generator.
1855
1856 Optimized String.prototype.replace.
1857
1858 Implemented __defineGetter__ and __defineSetter__ for properties
1859 with integer keys on non-array objects.
1860
1861 Improved debugger and profiler support.
1862
1863 Fixed a number of portability issues to allow compilation for
1864 smaller ARM devices.
1865
1866 Exposed object cloning through the API.
1867
1868 Implemented hidden properties. This is used to expose an identity
1869 hash for objects through the API.
1870
1871 Implemented restarting of regular expressions if their input
1872 string changes representation during preemption.
1873
1874 Fixed a code generator bug that could cause assignments in loops
1875 to be ignored if using continue to break out of the loop (issue
1876 284).
1877
1878
ager@chromium.org3a6061e2009-03-12 14:24:36 +000018792009-03-12: Version 1.1.1
1880
1881 Fixed an assertion in the new compiler to take stack overflow
1882 exceptions into account.
1883
1884 Removed exception propagation code that could cause crashes.
1885
1886 Fixed minor bug in debugger line number computations.
1887
1888 8-byte align the C stack on Linux and Windows to speed up floating
1889 point computations.
1890
1891
kasperl@chromium.org7be3c992009-03-12 07:19:55 +000018922009-03-12: Version 1.1.0
1893
1894 Improved code generation infrastructure by doing simple register
1895 allocation and constant folding and propagation.
1896
1897 Optimized regular expression matching by avoiding to create
1898 intermediate string arrays and by flattening nested array
1899 representations of RegExp data.
1900
1901 Traverse a few stack frames when recording profiler samples to
1902 include partial call graphs in the profiling output.
1903
1904 Added support for using OProfile to profile generated code.
1905
1906 Added remote debugging support to the D8 developer shell.
1907
1908 Optimized creation of nested literals like JSON objects.
1909
1910 Fixed a bug in garbage collecting unused maps and turned it on by
1911 default (--collect-maps).
1912
1913 Added support for running tests under Valgrind.
1914
1915
kasperl@chromium.org061ef742009-02-27 12:16:20 +000019162009-02-27: Version 1.0.3
1917
1918 Optimized double-to-integer conversions in bit operations by using
1919 SSE3 instructions if available.
1920
1921 Optimized initialization sequences that store to multiple
1922 properties of the same object.
1923
1924 Changed the D8 debugger frontend to use JSON messages.
1925
1926 Force garbage collections when disposing contexts.
1927
1928 Align code objects at 32-byte boundaries.
1929
1930
ager@chromium.org381abbb2009-02-25 13:23:22 +000019312009-02-25: Version 1.0.2
1932
1933 Improved profiling support by performing simple call stack
1934 sampling for ticks and by fixing a bug in the logging of code
1935 addresses.
1936
1937 Fixed a number of debugger issues.
1938
1939 Optimized code that uses eval.
1940
1941 Fixed a couple of bugs in the regular expression engine.
1942
1943 Reduced the size of generated code for certain regular expressions.
1944
1945 Removed JSCRE completely.
1946
1947 Fixed issue where test could not be run if there was a dot in the
1948 checkout path.
1949
1950
ager@chromium.org6f10e412009-02-13 10:11:16 +000019512009-02-13: Version 1.0.1
1952
1953 Fixed two crash-bugs in irregexp (issue 231 and 233).
1954
1955 Fixed a number of minor bugs (issue 87, 227 and 228).
1956
1957 Added support for morphing strings to external strings on demand
1958 to avoid having to create copies in the embedding code.
1959
1960 Removed experimental support for external symbol callbacks.
1961
1962
iposva@chromium.org245aa852009-02-10 00:49:54 +000019632009-02-09: Version 1.0.0
1964
1965 Fixed crash-bug in the code generation for case independent 16 bit
1966 backreferences.
ager@chromium.org6f10e412009-02-13 10:11:16 +00001967
iposva@chromium.org245aa852009-02-10 00:49:54 +00001968 Made shells more robust in the presence of string conversion
1969 failures (issue 224).
ager@chromium.org6f10e412009-02-13 10:11:16 +00001970
iposva@chromium.org245aa852009-02-10 00:49:54 +00001971 Fixed a potential infinite loop when attempting to resolve
1972 eval (issue 221).
ager@chromium.org6f10e412009-02-13 10:11:16 +00001973
iposva@chromium.org245aa852009-02-10 00:49:54 +00001974 Miscellaneous fixes to the new regular expression engine.
ager@chromium.org6f10e412009-02-13 10:11:16 +00001975
iposva@chromium.org245aa852009-02-10 00:49:54 +00001976 Reduced binary by stripping unneeded text from JavaScript library and
1977 minifying some JavaScript files.
1978
1979
ager@chromium.orgddb913d2009-01-27 10:01:48 +000019802009-01-27: Version 0.4.9
1981
1982 Enabled new regular expression engine.
1983
1984 Made a number of changes to the debugger protocol.
1985
1986 Fixed a number of bugs in the preemption support.
1987
1988 Added -p option to the developer shell to run files in parallel
1989 using preemption.
1990
1991 Fixed a number of minor bugs (including issues 176, 187, 189, 192,
1992 193, 198 and 201).
1993
1994 Fixed a number of bugs in the serialization/deserialization
1995 support for the ARM platform.
1996
1997
sgjesse@chromium.org715915b2009-01-19 16:08:47 +000019982009-01-19: Version 0.4.8.1
1999
2000 Minor patch to debugger support.
2001
2002
ager@chromium.org32912102009-01-16 10:38:43 +000020032009-01-16: Version 0.4.8
2004
2005 Fixed string length bug on ARM (issue 171).
2006
2007 Made most methods in the API const.
2008
2009 Optimized object literals by improving data locality.
2010
2011 Fixed bug that caused incomplete functions to be cached in case of
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00002012 stack overflow exceptions.
ager@chromium.org32912102009-01-16 10:38:43 +00002013
2014 Fixed bugs that caused catch variables and variables introduced by
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00002015 eval to behave incorrectly when using accessors (issues 186, 190
2016 and 191).
ager@chromium.org32912102009-01-16 10:38:43 +00002017
2018
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +000020192009-01-06: Version 0.4.7
2020
ager@chromium.org32912102009-01-16 10:38:43 +00002021 Minor bugfixes and optimizations.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00002022
ager@chromium.org32912102009-01-16 10:38:43 +00002023 Added command line debugger to D8 shell.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00002024
ager@chromium.org32912102009-01-16 10:38:43 +00002025 Fixed subtle bug that caused the wrong 'this' to be used when
2026 calling a caught function in a catch clause.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00002027
ager@chromium.org32912102009-01-16 10:38:43 +00002028 Inline array loads within loops directly in the code instead of
2029 always calling a stub.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00002030
ager@chromium.org32912102009-01-16 10:38:43 +00002031
ager@chromium.org8bb60582008-12-11 12:02:20 +000020322008-12-11: Version 0.4.6
2033
2034 Fixed exception reporting bug where certain exceptions were
2035 incorrectly reported as uncaught.
2036
2037 Improved the memory allocation strategy used during compilation to
2038 make running out of memory when compiling huge scripts less
2039 likely.
2040
2041 Optimized String.replace by avoiding the construction of certain
2042 sub strings.
2043
2044 Fixed bug in code generation for large switch statements on ARM.
2045
2046 Fixed bug that caused V8 to change the global object template
2047 passed in by the user.
2048
2049 Changed the API for creating object groups used during garbage
2050 collection. Entire object groups are now passed to V8 instead of
2051 individual members of the groups.
2052
ager@chromium.org32912102009-01-16 10:38:43 +00002053
ager@chromium.orga74f0da2008-12-03 16:05:52 +000020542008-12-03: Version 0.4.5
iposva@chromium.org96f667e2008-11-26 23:48:02 +00002055
ager@chromium.orga74f0da2008-12-03 16:05:52 +00002056 Added experimental API support for allocating V8 symbols as
2057 external strings.
2058
2059 Fixed bugs in debugging support on ARM.
2060
2061 Changed eval implementation to correctly detect whether or not a
2062 call to eval is aliased.
2063
2064 Fixed bug caused by a combination of the compilation cache and
2065 dictionary probing in native code. The bug caused us to sometimes
2066 call functions that had not yet been compiled.
2067
2068 Added platform support for FreeBSD.
2069
2070 Added support for building V8 on Windows with either the shared or
2071 static version of MSVCRT
ager@chromium.org32912102009-01-16 10:38:43 +00002072
iposva@chromium.org96f667e2008-11-26 23:48:02 +00002073 Added the v8::jscre namespace around the jscre functions to avoid
2074 link errors (duplicate symbols) when building Google Chrome.
2075
ager@chromium.orga74f0da2008-12-03 16:05:52 +00002076 Added support for calling a JavaScript function with the current
2077 debugger execution context as its argument to the debugger
2078 interface.
2079
2080 Changed the type of names of counters from wchar_t to char.
2081
2082 Changed the Windows system call used to compute daylight savings
2083 time. The system call that we used to use became four times
2084 slower on WinXP SP3.
2085
2086 Added support in the d8 developer shell for memory-mapped counters
2087 and added a stats-viewer tool.
2088
2089 Fixed bug in upper/lower case mappings (issue 149).
2090
iposva@chromium.org96f667e2008-11-26 23:48:02 +00002091
ager@chromium.org3bf7b912008-11-17 09:09:45 +000020922008-11-17: Version 0.4.4
2093
2094 Reduced code size by using shorter instruction encoding when
2095 possible.
2096
2097 Added a --help option to the shell sample and to the d8 shell.
2098
2099 Added visual studio project files for building the ARM simulator.
2100
2101 Fixed a number of ARM simulator issues.
2102
2103 Fixed bug in out-of-memory handling on ARM.
2104
2105 Implemented shell support for passing arguments to a script from
2106 the command line.
2107
2108 Fixed bug in date code that made certain date functions return -0
2109 instead of 0 for dates before the epoch.
2110
2111 Restricted applications of eval so it can only be used in the
2112 context of the associated global object.
2113
2114 Treat byte-order marks as whitespace characters.
ager@chromium.org32912102009-01-16 10:38:43 +00002115
2116
ager@chromium.org870a0b62008-11-04 11:43:05 +000021172008-11-04: Version 0.4.3
2118
2119 Added support for API accessors that prohibit overwriting by
2120 accessors defined in JavaScript code by using __defineGetter__ and
2121 __defineSetter__.
2122
2123 Improved handling of conditionals in test status files.
2124
2125 Introduced access control in propertyIsEnumerable.
2126
2127 Improved performance of some string operations by caching
2128 information about the type of the string between operations.
2129
2130 Fixed bug in fast-case code for switch statements that only have
2131 integer labels.
ager@chromium.org32912102009-01-16 10:38:43 +00002132
ager@chromium.org870a0b62008-11-04 11:43:05 +00002133
kasperl@chromium.org9bbf9682008-10-30 11:53:07 +000021342008-10-30: Version 0.4.2
2135
2136 Improved performance of Array.prototype.concat by moving the
2137 implementation to C++ (issue 123).
2138
2139 Fixed heap growth policy to avoid growing old space to its maximum
2140 capacity before doing a garbage collection and fixed issue that
2141 would lead to artificial out of memory situations (issue 129).
2142
2143 Fixed Date.prototype.toLocaleDateString to return the date in the
2144 same format as WebKit.
2145
2146 Added missing initialization checks to debugger API.
2147
2148 Added removing of unused maps during GC.
2149
2150
kasperl@chromium.org9fe21c62008-10-28 08:53:51 +000021512008-10-28: Version 0.4.1
2152
2153 Added caching of RegExp data in compilation cache.
2154
2155 Added Visual Studio project file for d8 shell.
2156
2157 Fixed function call performance regression introduced in version
2158 0.4.0 when splitting the global object in two parts (issue 120).
2159
2160 Fixed issue 131 by checking for empty handles before throwing and
2161 reporting exceptions.
2162
2163
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +000021642008-10-23: Version 0.4.0
2165
2166 Split the global object into two parts: The state holding global
2167 object and the global object proxy.
2168
2169 Fixed bug that affected the value of an assignment to an element
2170 in certain cases (issue 116).
2171
2172 Added GetPropertyNames functionality (issue 33) and extra Date
2173 functions (issue 77) to the API.
2174
2175 Changed WeakReferenceCallback to take a Persistent<Value> instead
2176 of a Persistent<Object> (issue 101).
2177
2178 Fixed issues with message reporting for exceptions in try-finally
2179 blocks (issues 73 and 75).
2180
ager@chromium.org32912102009-01-16 10:38:43 +00002181 Optimized flattening of strings and string equality checking.
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +00002182
2183 Improved Boyer-Moore implementation for faster indexOf operations.
2184
2185 Added development shell (d8) which includes counters and
2186 completion support.
2187
2188 Fixed problem with the receiver passed to functions called from
2189 eval (issue 124).
2190
2191
ager@chromium.org7c537e22008-10-16 08:43:32 +000021922008-10-16: Version 0.3.5
2193
2194 Improved string hash-code distribution by excluding bit-field bits
2195 from the hash-code.
2196
2197 Changed string search algorithm used in indexOf from KMP to
2198 Boyer-Moore.
2199
2200 Improved the generated code for the instanceof operator.
2201
2202 Improved performance of slow-case string equality checks by
2203 specializing the code based on the string representation.
2204
2205 Improve the handling of out-of-memory situations (issue 70).
2206
2207 Improved performance of strict equality checks.
2208
2209 Improved profiler output to make it easier to see anonymous
2210 functions.
2211
2212 Improved performance of slow-case keyed loads.
2213
2214 Improved property access performance by allocating a number of
2215 properties in the front object.
2216
2217 Changed the toString behavior on the built-in object constructors
2218 to print [native code] instead of the actual source. Some web
2219 applications do not like constructors with complex toString
2220 results.
ager@chromium.org32912102009-01-16 10:38:43 +00002221
ager@chromium.org7c537e22008-10-16 08:43:32 +00002222
kasperl@chromium.org41044eb2008-10-06 08:24:46 +000022232008-10-06: Version 0.3.4
2224
2225 Changed Array.prototype.sort to use quick sort.
2226
2227 Fixed code generation issue where leaving a finally block with
2228 break or continue would accumulate elements on the expression
2229 stack (issue 86).
2230
2231 Made sure that the name accessor on functions returns the expected
2232 names for builtin JavaScript functions and C++ callback functions.
2233
2234 Added fast case code for extending the property storage array of
2235 JavaScript objects.
2236
2237 Ported switch statement optimizations introduced in version 0.3.3
2238 to the ARM code generator.
2239
2240 Allowed GCC to use strict-aliasing rules when compiling.
2241
2242 Improved performance of arguments object allocation by taking care
2243 of arguments adaptor frames in the generated code.
2244
2245 Updated the V8 benchmark suite to version 2.
2246
2247
ager@chromium.org236ad962008-09-25 09:45:57 +000022482008-09-25: Version 0.3.3
2249
2250 Improved handling of relocation information to enable more
2251 peep-hole optimizations.
2252
2253 Optimized switch statements where all labels are constant small
2254 integers.
2255
2256 Optimized String.prototype.indexOf for common cases.
2257
2258 Fixed more build issues (issue 80).
2259
2260 Fixed a couple of profiler issues.
2261
2262 Fixed bug where the body of a function created using the Function
2263 constructor was not allowed to end with a single-line comment
2264 (issue 85).
2265
2266 Improved handling of object literals by canonicalizing object
2267 literal maps. This will allow JSON objects with the same set of
2268 properties to share the same map making inline caching work better
2269 for JSON objects.
ager@chromium.org32912102009-01-16 10:38:43 +00002270
ager@chromium.org236ad962008-09-25 09:45:57 +00002271
kasperl@chromium.orgb9123622008-09-17 14:05:56 +000022722008-09-17: Version 0.3.2
2273
2274 Generalized the EvalCache into a CompilationCache and enabled it
2275 for scripts too. The current strategy is to retire all entries
2276 whenever a mark-sweep collection is started.
2277
2278 Fixed bug where switch statements containing only a default case
2279 would lead to an unbalanced stack (issue 69).
2280
2281 Fixed bug that made access to the function in a named function
2282 expression impossible in certain situations (issue 24).
2283
2284 Fixed even more build issues.
2285
2286 Optimized calling conventions on ARM. The conventions on ARM and
2287 IA-32 now match.
2288
2289 Removed static initializers for flags and counters.
2290
2291 Improved inline caching behavior for uncommon cases where lazily
2292 loading Date and RegExp code could force certain code paths go
2293 megamorphic.
2294
2295 Removed arguments adaption for builtins written in C++. This
2296 makes Array.prototype.push and Array.prototype.pop slightly
2297 faster.
2298
2299
ager@chromium.org9258b6b2008-09-11 09:11:10 +000023002008-09-11: Version 0.3.1
2301
2302 Fixed a number of build issues.
2303
2304 Fixed problem with missing I-cache flusing on ARM.
2305
2306 Changed space layout in memory management by splitting up
2307 code space into old data space and code space.
2308
2309 Added utf-8 conversion support to the API (issue 57).
2310
2311 Optimized repeated calls to eval with the same strings. These
2312 repeated calls are common in web applications.
2313
2314 Added Xcode project file.
2315
2316 Optimized a couple of Array operation.
2317
2318 Fixed parser bug by checking for end-of-string when parsing break
2319 and continue (issue 35).
2320
2321 Fixed problem where asian characters were not categorized as
2322 letters.
2323
2324 Fixed bug that disallowed calling functions fetched from an array
2325 using a string as an array index (issue 32).
2326
2327 Fixed bug where the internal field count on object templates were
2328 sometimes ignored (issue 54).
2329
2330 Added -f option to the shell sample for compatibility with other
2331 engines (issue 18).
2332
2333 Added source info to TryCatches in the API.
2334
2335 Fixed problem where the seed for the random number generator was
2336 clipped in a double to unsigned int conversion.
2337
2338 Fixed bug where cons string symbols were sometimes converted to
2339 non-symbol flat strings during GC.
2340
2341 Fixed bug in error reporting when attempting to convert null to an
2342 object.
ager@chromium.org32912102009-01-16 10:38:43 +00002343
2344
ager@chromium.orgc27e4e72008-09-04 13:52:27 +000023452008-09-04: Version 0.3.0
2346
2347 Added support for running tests on the ARM simulator.
2348
2349 Fixed bug in the 'in' operator where negative indices were not
2350 treated correctly.
2351
2352 Fixed build issues on gcc-4.3.1.
2353
2354 Changed Date.prototype.toLocaleTimeString to not print the
2355 timezone part of the time.
2356
2357 Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
2358 with user code.
2359
2360
v8.team.kasperl727e9952008-09-02 14:56:44 +000023612008-09-02: Version 0.2.5
2362
2363 Renamed the top level directory 'public' to 'include'.
2364
2365 Added 'env' option to the SCons build scripts to support
2366 overriding the ENV part of the build environment. This is mostly
2367 to support Windows builds in cases where SCons cannot find the
2368 correct paths to the Windows SDK, as these paths cannot be passed
2369 through shell environment variables.
2370
2371 Enabled "Buffer Security Check" on for the Windows SCons build and
2372 added the linker option /OPT:ICF as an optimization.
2373
2374 Added the V8 benchmark suite to the repository.
2375
2376
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +000023772008-09-01: Version 0.2.4
2378
2379 Included mjsunit JavaScript test suite and C++ unit tests.
2380
2381 Changed the shell sample to not print the result of executing a
2382 script provided on the command line.
2383
2384 Fixed issue when building samples on Windows using a shared V8
2385 library. Added visibility option on Linux build which makes the
2386 generated library 18% smaller.
2387
2388 Changed build system to accept multiple build modes in one build
2389 and generate separate objects, libraries and executables for each
2390 mode.
2391
2392 Removed deferred negation optimization (a * -b => -(a * b)) since
2393 this visibly changes operand conversion order.
2394
2395 Improved parsing performance by introducing stack guard in
2396 preparsing. Without a stack guard preparsing always bails out
2397 with stack overflow.
2398
2399 Changed shell sample to take flags directly from the command-line.
2400 Added API call that implements this.
2401
2402 Added load, quit and version functions to the shell sample so it's
2403 easier to run benchmarks and tests.
2404
2405 Fixed issue with building samples and cctests on 64-bit machines.
2406
2407 Fixed bug in the runtime system where the prototype chain was not
2408 always searched for a setter when setting a property that does not
2409 exist locally.
ager@chromium.org32912102009-01-16 10:38:43 +00002410
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +00002411
mads.s.agercbaa0602008-08-14 13:41:48 +000024122008-08-14: Version 0.2.3
2413
2414 Improved performance of garbage collection by moving the
2415 function that updates pointers during compacting collection
2416 into the updating visitor. This gives the compiler a better
2417 chance to inline and avoid a function call per (potential)
2418 pointer.
2419
2420 Extended the shell sample with a --runtime-flags option.
2421
2422 Added Visual Studio project files for the shell.cc and
2423 process.cc samples.
2424
2425
24262008-08-13: Version 0.2.2
mads.s.ager31e71382008-08-13 09:32:07 +00002427
2428 Improved performance of garbage collection by changing the way
2429 we use the marking stack in the event of stack overflow during
2430 full garbage collection and by changing the way we mark roots.
2431
2432 Cleaned up ARM version by removing top of stack caching and by
2433 introducing push/pop elimination.
2434
2435 Cleaned up the way runtime functions are called to allow
2436 runtime calls with no arguments.
2437
2438 Changed Windows build options to make sure that exceptions are
2439 disabled and that optimization flags are enabled.
2440
2441 Added first version of Visual Studio project files.
2442
2443
mads.s.agercbaa0602008-08-14 13:41:48 +000024442008-08-06: Version 0.2.1
mads.s.ager@gmail.com769cc962008-08-06 10:02:49 +00002445
2446 Improved performance of unary addition by avoiding runtime calls.
2447
2448 Fixed the handling of '>' and '<=' to use right-to-left conversion
2449 and left-to-right evaluation as specified by ECMA-262.
2450
2451 Fixed a branch elimination bug on the ARM platform where incorrect
2452 code was generated because of overly aggressive branch
2453 elimination.
2454
2455 Improved performance of code that repeatedly assigns the same
2456 function to the same property of different objects with the same
2457 map.
2458
2459 Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler
2460 no longer expects DEBUG to be defined.
2461
2462 Added platform-nullos.cc to serve as the basis for new platform
2463 implementations.
2464
mads.s.ager31e71382008-08-13 09:32:07 +00002465
mads.s.agercbaa0602008-08-14 13:41:48 +000024662008-07-30: Version 0.2.0
kasper.lund7276f142008-07-30 08:49:36 +00002467
2468 Changed all text files to have native svn:eol-style.
2469
2470 Added a few samples and support for building them. The samples
2471 include a simple shell that can be used to benchmark and test V8.
2472
2473 Changed V8::GetVersion to return the version as a string.
2474
2475 Added source for lazily loaded scripts to snapshots and made
2476 serialization non-destructive.
2477
2478 Improved ARM support by fixing the write barrier code to use
2479 aligned loads and stores and by removing premature locals
2480 optimization that relied on broken support for callee-saved
2481 registers (removed).
2482
2483 Refactored the code for marking live objects during garbage
2484 collection and the code for allocating objects in paged
2485 spaces. Introduced an abstraction for the map word of a heap-
2486 allocated object and changed the memory allocator to allocate
2487 executable memory only for spaces that may contain code objects.
2488
2489 Moved StringBuilder to utils.h and ScopedLock to platform.h, where
2490 they can be used by debugging and logging modules. Added
2491 thread-safe message queues for dealing with debugger events.
2492
2493 Fixed the source code reported by toString for certain builtin
2494 empty functions and made sure that the prototype property of a
2495 function is enumerable.
2496
2497 Improved performance of converting values to condition flags in
2498 generated code.
2499
2500 Merged disassembler-{arch} files.
2501
2502
mads.s.agercbaa0602008-08-14 13:41:48 +000025032008-07-28: Version 0.1.4
kasper.lundaf4734f2008-07-28 12:50:18 +00002504
2505 Added support for storing JavaScript stack traces in a stack
2506 allocated buffer to make it visible in shallow core dumps.
2507 Controlled by the --preallocate-message-memory flag which is
2508 disabled by default.
2509
2510
mads.s.agercbaa0602008-08-14 13:41:48 +000025112008-07-25: Version 0.1.3
kasper.lund44510672008-07-25 07:37:58 +00002512
2513 Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
2514 map transitions would count as properties.
2515
2516 Allowed aliased eval invocations by treating them as evals in the
2517 global context. This may change in the future.
2518
2519 Added support for accessing the last entered context through the
2520 API and renamed Context::Current to Context::GetCurrent and
2521 Context::GetSecurityContext to Context::GetCurrentSecurityContext.
2522
2523 Fixed bug in the debugger that would cause the debugger scripts to
2524 be recursively loaded and changed all disabling of interrupts to
2525 be block-structured.
2526
2527 Made snapshot data read-only to allow it to be more easily shared
2528 across multiple users of V8 when linked as a shared library.
2529
2530
mads.s.agercbaa0602008-08-14 13:41:48 +000025312008-07-16: Version 0.1.2
kasper.lund212ac232008-07-16 07:07:30 +00002532
2533 Fixed building on Mac OS X by recognizing i386 and friends as
2534 IA-32 platforms.
2535
2536 Added propagation of stack overflow exceptions that occur while
2537 compiling nested functions.
2538
2539 Improved debugger with support for recursive break points and
2540 handling of exceptions that occur in the debugger JavaScript code.
2541
2542 Renamed GetInternal to GetInternalField and SetInternal to
2543 SetInternalField in the API and moved InternalFieldCount and
2544 SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
2545
2546
mads.s.agercbaa0602008-08-14 13:41:48 +000025472008-07-09: Version 0.1.1
kasper.lundbd3ec4e2008-07-09 11:06:54 +00002548
2549 Fixed bug in stack overflow check code for IA-32 targets where a
2550 non-tagged value in register eax was pushed to the stack.
2551
2552 Fixed potential quadratic behavior when converting strings to
2553 numbers.
2554
2555 Fixed bug where the return value from Object::SetProperty could
2556 end up being the property holder instead of the written value.
2557
2558 Improved debugger support by allowing nested break points and by
2559 dealing with stack-overflows when compiling functions before
2560 setting break points in them.
2561
2562
mads.s.agercbaa0602008-08-14 13:41:48 +000025632008-07-03: Version 0.1.0
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00002564
kasper.lundbd3ec4e2008-07-09 11:06:54 +00002565 Initial export.
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00002566