blob: 473bbbfc927211bc5373a5c629aae83fa833fe6f [file] [log] [blame]
ricow@chromium.orgdcebac02011-04-20 09:44:50 +000012011-04-20: Version 3.3.1
2
3 Reduced V8 binary size by removing virtual functions from hydrogen.
4
5 Fixed crash bug on x64.
6
7 Performance improvements on ARM and IA32.
8
9
danno@chromium.org160a7b02011-04-18 15:51:38 +0000102011-04-18: Version 3.3.0
11
12 Fixed bug in floating point rounding in Crankshaft on ARM
13 (issue 958)
14
15 Fixed a number of issues with running without VFPv3 support on ARM
16 (issue 1315)
17
18 Introduced v8Locale.Collator, a partial implementation of Collator
19 per last ECMAScript meeting + mailing list.
20
21 Minor performance improvements and bug fixes.
22
23
ager@chromium.orga9aa5fa2011-04-13 08:46:07 +0000242011-04-13: Version 3.2.10
25
26 Fixed bug in external float arrays on ARM (issue 1323).
27
28 Minor performance improvements and bug fixes.
29
30
karlklose@chromium.org44bc7082011-04-11 12:33:05 +0000312011-04-11: Version 3.2.9
32
33 Removed support for ABI prior to EABI on ARM.
34
35 Fixed multiple crash bugs.
36
37 Added GCMole to the repository, a simple static analysis tool that
38 searches for GC-unsafe evaluation order dependent callsites.
39
40 Made preparser API be exported in shared libraries.
41
42 Fixed multiple issues in EcmaScript 5 strict mode implementation.
43
44 Fixed mutable __proto__ property if object is not extensible
45 (Issue 1309).
46
47 Fixed auto suspension of the sampler thread.
48
49
vegorov@chromium.org74f333b2011-04-06 11:17:46 +0000502011-04-06: Version 3.2.8
51
52 Exposed WebGL typed array constructors in the shell sample.
53
54 Performance improvements on all platforms.
55
56
kmillikin@chromium.orgc36ce6e2011-04-04 08:25:31 +0000572011-04-04: Version 3.2.7
58
59 Disabled the original 'classic' V8 code generator. Crankshaft is
60 now the default on all platforms.
61
62 Changed the heap profiler to use more descriptive names.
63
64 Performance and stability improvements to isolates on all platforms.
65
66
lrn@chromium.org7516f052011-03-30 08:52:27 +0000672011-03-30: Version 3.2.6
68
69 Fixed xcode build warning in shell.cc (out of order initialization).
70
71 Fixed null-pointer dereference in the compiler when running without
72 SSE3 support (Chromium issue 77654).
73
74 Fixed x64 compilation error due to some dead code. (Issue 1286)
75
76 Introduced scons target to build the preparser stand-alone example.
77
78 Made FreeBSD build and pass all tests.
79
80
fschneider@chromium.org7979bbb2011-03-28 10:47:03 +0000812011-03-28: Version 3.2.5
82
lrn@chromium.org7516f052011-03-30 08:52:27 +000083 Fixed build with Irregexp interpreter (issue 1266).
fschneider@chromium.org7979bbb2011-03-28 10:47:03 +000084
85 Added Crankshaft support for external arrays.
86
87 Fixed two potential crash bugs.
88
89
sgjesse@chromium.orgea88ce92011-03-23 11:19:56 +0000902011-03-23: Version 3.2.4
91
92 Added isolates which allows several V8 instances in the same process.
93 This is controlled through the new Isolate class in the API.
94
95 Implemented more of EcmaScript 5 strict mode.
96
97 Reduced the time it takes to make detailed heap snapshot.
98
99 Added a number of commands to the ARM simulator and enhanced the ARM
100 disassembler.
101
102
ricow@chromium.orgbadaffc2011-03-17 12:15:27 +00001032011-03-17: Version 3.2.3
104
105 Fixed a number of crash bugs.
106
107 Fixed Array::New(length) to return an array with a length (issue 1256).
108
109 Fixed FreeBSD build.
110
111 Changed __defineGetter__ to not throw (matching the behavior of Safari).
112
113 Implemented more of EcmaScript 5 strict mode.
114
115 Improved Crankshaft performance on all platforms.
116
117
whesse@chromium.orgb08986c2011-03-14 16:13:42 +00001182011-03-14: Version 3.2.2
119
120 Fixed a number of crash and correctness bugs.
121
122 Improved Crankshaft performance on all platforms.
123
124 Fixed Crankshaft on Solaris/Illumos.
125
126
danno@chromium.org4d3fe4e2011-03-10 10:14:28 +00001272011-03-10: Version 3.2.1
128
129 Fixed a number of crash bugs.
130
131 Improved Crankshaft for x64 and ARM.
132
133 Implemented more of EcmaScript 5 strict mode.
134
135
karlklose@chromium.org8f806e82011-03-07 14:06:08 +00001362011-03-07: Version 3.2.0
137
138 Fixed a number of crash bugs.
139
140 Turned on Crankshaft by default on x64 and ARM.
141
142 Improved Crankshaft for x64 and ARM.
143
144 Implemented more of EcmaScript 5 strict mode.
145
146
ager@chromium.org9ee27ae2011-03-02 13:43:26 +00001472011-03-02: Version 3.1.8
148
149 Fixed a number of crash bugs.
150
151 Improved Crankshaft for x64 and ARM.
152
153 Implemented more of EcmaScript 5 strict mode.
154
155 Fixed issue with unaligned reads and writes on ARM.
156
157 Improved heap profiler support.
158
159
vegorov@chromium.org5d6c1f52011-02-28 13:13:38 +00001602011-02-28: Version 3.1.7
161
162 Fixed a number of crash bugs.
163
164 Improved Crankshaft for x64 and ARM.
165
ager@chromium.org9ee27ae2011-03-02 13:43:26 +0000166 Fixed implementation of indexOf/lastIndexOf for sparse
vegorov@chromium.org5d6c1f52011-02-28 13:13:38 +0000167 arrays (http://crbug.com/73940).
168
169 Fixed bug in map space compaction (http://crbug.com/59688).
170
171 Added support for direct getter accessors calls on ARM.
172
173
fschneider@chromium.org3a5fd782011-02-24 10:10:44 +00001742011-02-24: Version 3.1.6
175
176 Fixed a number of crash bugs.
177
178 Added support for Cygwin (issue 64).
179
180 Improved Crankshaft for x64 and ARM.
181
182 Added Crankshaft support for stores to pixel arrays.
183
184 Fixed issue in CPU profiler with Crankshaft.
185
186
kmillikin@chromium.org49edbdf2011-02-16 12:32:18 +00001872011-02-16: Version 3.1.5
188
189 Change RegExp parsing to disallow /(*)/.
190
191 Added GDB JIT support for ARM.
192
193 Fixed several crash bugs.
194
195 Performance improvements on the IA32 platform.
196
197
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +00001982011-02-14: Version 3.1.4
199
200 Fixed incorrect compare of prototypes of the global object (issue
201 1082).
202
203 Fixed a bug in optimizing calls to global functions (issue 1106).
204
205 Made optimized Function.prototype.apply safe for non-JSObject first
206 arguments (issue 1128).
207
208 Fixed an error related to element accessors on Object.prototype and
209 parser errors (issue 1130).
210
211 Fixed a bug in sorting an array with large array indices (issue 1131).
212
213 Properly treat exceptions thrown while compiling (issue 1132).
214
215 Fixed bug in register requirements for function.apply (issue 1133).
216
217 Fixed a representation change bug in the Hydrogen graph construction
218 (issue 1134).
219
220 Fixed the semantics of delete on parameters (issue 1136).
221
222 Fixed a optimizer bug related to moving instructions with side effects
223 (issue 1138).
224
225 Added support for the global object in Object.keys (issue 1150).
226
227 Fixed incorrect value for Math.LOG10E
228 (issue http://code.google.com/p/chromium/issues/detail?id=72555)
229
230 Performance improvements on the IA32 platform.
231
232 Implement assignment to undefined reference in ES5 Strict Mode.
233
234
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +00002352011-02-09: Version 3.1.3
236
237 Fixed a bug triggered by functions with huge numbers of declared
238 arguments.
239
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +0000240 Fixed zap value aliasing a real object - debug mode only (issue 866).
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +0000241
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +0000242 Fixed issue where Array.prototype.__proto__ had been set to null
243 (issue 1121).
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +0000244
245 Fixed stability bugs in Crankshaft for x86.
246
247
ricow@chromium.org83aa5492011-02-07 12:42:56 +00002482011-02-07: Version 3.1.2
249
250 Added better security checks when accessing properties via
251 Object.getOwnPropertyDescriptor.
252
253 Fixed bug in Object.defineProperty and related access bugs (issues
254 992, 1083 and 1092).
255
256 Added LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to ease
257 copyright notice generation for embedders.
258
259
kmillikin@chromium.org31b12772011-02-02 16:08:26 +00002602011-02-02: Version 3.1.1
261
262 Perform security checks before fetching the value in
263 Object.getOwnPropertyDescriptor.
264
265 Fixed a bug in Array.prototype.splice triggered by passing no
266 arguments.
267
268 Fixed bugs in -0 in arithmetic and in Math.pow.
269
270 Fixed bugs in the register allocator and in switching from optimized
271 to unoptimized code.
272
273
2742011-01-31: Version 3.1.0
275
whesse@chromium.org7a392b32011-01-31 11:30:36 +0000276 Performance improvements on all platforms.
277
278
ager@chromium.org378b34e2011-01-28 08:04:38 +00002792011-01-28: Version 3.0.12
280
281 Added support for strict mode parameter and object property
282 validation.
283
284 Fixed a couple of crash bugs.
285
286
ager@chromium.org0ee099b2011-01-25 14:06:47 +00002872011-01-25: Version 3.0.11
288
289 Fixed a bug in deletion of lookup slots that could cause global
290 variables to be accidentally deleted (http://crbug.com/70066).
291
292 Added support for strict mode octal literal verification.
293
294 Fixed a couple of crash bugs (issues 1070 and 1071).
295
296
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +00002972011-01-24: Version 3.0.10
298
299 Fixed External::Wrap for 64-bit addresses (issue 1037).
300
ager@chromium.org0ee099b2011-01-25 14:06:47 +0000301 Fixed incorrect .arguments variable proxy handling in the full
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +0000302 code generator (issue 1060).
303
304 Introduced partial strict mode support.
305
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +0000306 Changed formatting of recursive error messages to match Firefox and
307 Safari (issue http://crbug.com/70334).
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +0000308
309 Fixed incorrect rounding for float-to-integer conversions for external
ager@chromium.org0ee099b2011-01-25 14:06:47 +0000310 array types, which implement the Typed Array spec
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +0000311 (issue http://crbug.com/50972).
312
313 Performance improvements on the IA32 platform.
314
315
erik.corry@gmail.com0511e242011-01-19 11:11:08 +00003162011-01-19: Version 3.0.9
317
318 Added basic GDB JIT Interface integration.
319
320 Make invalid break/continue statements a syntax error instead of a
321 runtime error.
322
323
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +00003242011-01-17: Version 3.0.8
325
326 Exposed heap size limit to the heap statistics gathered by
erik.corry@gmail.com0511e242011-01-19 11:11:08 +0000327 the GetHeapStatistics API.
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +0000328
329 Wrapped external pointers more carefully (issue 1037).
330
331 Hardened the implementation of error objects to avoid setters
332 intercepting the properties set then throwing an error.
333
334 Avoided trashing the FPSCR when calculating Math.floor on ARM.
335
336 Performance improvements on the IA32 platform.
337
338
3392011-01-10: Version 3.0.7
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000340
341 Stopped calling inherited setters when creating object literals
342 (issue 1015).
343
344 Changed interpretation of malformed \c? escapes in RegExp to match
345 JSC.
346
347 Enhanced the command-line debugger interface and fixed some minor
348 bugs in the debugger.
349
350 Performance improvements on the IA32 platform.
351
352
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +00003532011-01-05: Version 3.0.6
lrn@chromium.org5d00b602011-01-05 09:51:43 +0000354
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000355 Allowed getters and setters on JSArray elements (issue 900).
lrn@chromium.org5d00b602011-01-05 09:51:43 +0000356
357 Stopped JSON objects from hitting inherited setters (part of
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000358 issue 1015).
lrn@chromium.org5d00b602011-01-05 09:51:43 +0000359
360 Allowed numbers and strings as names of getters/setters in object
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000361 initializer (issue 820).
lrn@chromium.org5d00b602011-01-05 09:51:43 +0000362
363 Added use_system_v8 option to gyp (off by default), to make it easier
364 for Linux distributions to ship with system-provided V8 library.
365
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000366 Exported external array data accessors (issue 1016).
lrn@chromium.org5d00b602011-01-05 09:51:43 +0000367
368 Added labelled thread names to help with debugging (on Linux).
369
370
fschneider@chromium.org9e3e0b62011-01-03 10:16:46 +00003712011-01-03: Version 3.0.5
372
373 Fixed a couple of cast errors for gcc-3.4.3.
374
375 Performance improvements in GC and IA32 code generator.
376
377
whesse@chromium.org023421e2010-12-21 12:19:12 +00003782010-12-21: Version 3.0.4
379
380 Added Date::ResetCache() to the API so that the cached values in the
381 Date object can be reset to allow live DST / timezone changes.
382
383 Extended existing support for printing (while debugging) the contents
384 of objects. Added support for printing objects from release builds.
385
386 Fixed V8 issues 989, 1006, and 1007.
387
388
ager@chromium.org5f0c45f2010-12-17 08:51:21 +00003892010-12-17: Version 3.0.3
390
391 Reapplied all changes for version 3.0.1.
392
393 Improved debugger protocol for remote debugging.
394
395 Added experimental support for using gyp to generate build files
396 for V8.
397
398 Fixed implementation of String::Write in the API (issue 975).
399
400
lrn@chromium.org8541d772010-12-15 12:05:09 +00004012010-12-15: Version 3.0.2
402
403 Revert version 3.0.1 and patch 3.0.1.1.
404
405
kmillikin@chromium.orgfacd82d2010-12-13 18:00:51 +00004062010-12-13: Version 3.0.1
407
408 Added support for an experimental internationalization API as an
409 extension. This extension is disabled by default but can be enabled
410 when building V8. The ECMAScript internationalization strawman is
411 at http://wiki.ecmascript.org/doku.php?id=strawman:i18n_api.
412
413 Made RegExp character class parsing stricter. This mirrors a change
414 to RegExp parsing in WebKit.
415
416 Fixed a bug in Object.defineProperty when used to change attributes
417 of an existing property. It incorrectly set the property value to
418 undefined (issue 965).
419
420 Fixed several different compilation failures on various platforms
421 caused by the 3.0.0 release.
422
423 Optimized Math.pow so it can work on unboxed doubles.
424
425 Sped up quoting of JSON strings by removing one traversal of the
426 string.
427
428
kasperl@chromium.orga5551262010-12-07 12:49:48 +00004292010-12-07: Version 3.0.0
430
431 Improved performance by (partially) addressing issue 957 on
432 IA-32. Still needs more work for the other architectures.
433
434
ager@chromium.orgbeb25712010-11-29 08:02:25 +00004352010-11-29: Version 2.5.9
436
437 Fixed crashes during GC caused by partially initialize heap
438 objects.
439
440 Fixed bug in process sample that caused memory leaks.
441
442 Improved performance on ARM by implementing missing stubs and
443 inlining.
444
445 Improved heap profiler support.
446
447 Added separate seeding on Windows of the random number generator
448 used internally by the compiler (issue 936).
449
450 Exposed API for getting the name of the function used to construct
451 an object.
452
453 Fixed date parser to handle one and two digit millisecond
454 values (issue 944).
455
456 Fixed number parsing to disallow space between sign and
457 digits (issue 946).
458
459
vegorov@chromium.org21b5e952010-11-23 10:24:40 +00004602010-11-23: Version 2.5.8
461
462 Removed dependency on Gay's dtoa.
463
464 Improved heap profiler precision and speed.
465
466 Reduced overhead of callback invocations on ARM.
467
468
erik.corry@gmail.com4a6c3272010-11-18 12:04:40 +00004692010-11-18: Version 2.5.7
470
471 Fixed obscure evaluation order bug (issue 931).
472
473 Split the random number state between JavaScript and the private API.
474
475 Fixed performance bug causing GCs when generating stack traces on
476 code from very large scripts.
477
478 Fixed bug in parser that allowed (foo):42 as a labelled statement
479 (issue 918).
480
481 Provide more accurate results about used heap size via
482 GetHeapStatistics.
483
484 Allow build-time customization of the max semispace size.
485
486 Made String.prototype.split honor limit when separator is empty
487 (issue 929).
488
489 Added missing failure check after expecting an identifier in
490 preparser (Chromium issue 62639).
491
492
ager@chromium.org01fe7df2010-11-10 11:59:11 +00004932010-11-10: Version 2.5.6
494
495 Added support for VFP rounding modes to the ARM simulator.
496
497 Fixed multiplication overflow bug (issue 927).
498
499 Added a limit for the amount of executable memory (issue 925).
500
501
whesse@chromium.orgf0ac72d2010-11-08 12:47:26 +00005022010-11-08: Version 2.5.5
503
504 Added more aggressive GC of external objects in near out-of-memory
505 situations.
506
507 Fixed a bug that gave the incorrect result for String.split called
508 on the empty string (issue 924).
509
510
lrn@chromium.orgfa943b72010-11-03 08:14:36 +00005112010-11-03: Version 2.5.4
512
whesse@chromium.orgf0ac72d2010-11-08 12:47:26 +0000513 Improved V8 VFPv3 runtime detection to address issue 914.
lrn@chromium.orgfa943b72010-11-03 08:14:36 +0000514
515
fschneider@chromium.orge03fb642010-11-01 12:34:09 +00005162010-11-01: Version 2.5.3
517
518 Fixed a bug that prevents constants from overwriting function values
519 in object literals (issue 907).
520
521 Fixed a bug with reporting of impossible nested calls of DOM functions
522 (issue http://crbug.com/60753).
523
524
lrn@chromium.org303ada72010-10-27 09:33:13 +00005252010-10-27: Version 2.5.2
526
527 Improved sampler resolution on Linux.
528
529 Allowed forcing the use of a simulator from the build script
530 independently of the host architecture.
531
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000532 Fixed FreeBSD port (issue 912).
lrn@chromium.org303ada72010-10-27 09:33:13 +0000533
534 Made windows-tick-processor respect D8_PATH.
535
536 Implemented --noinline-new flag fully on IA32, X64 and ARM platforms.
537
538
whesse@chromium.org4a5224e2010-10-20 12:37:07 +00005392010-10-20: Version 2.5.1
540
541 Fixed bug causing spurious out of memory exceptions
542 (issue http://crbug.com/54580).
543
544 Fixed compilation error on Solaris platform (issue 901).
545
546 Fixed error in strtod (string to floating point number conversion)
547 due to glibc's use of 80-bit floats in the FPU on 32-bit linux.
548
549 Adjusted randomized allocations of executable memory to have 64k
550 granularity (issue http://crbug.com/56036).
551
552 Supported profiling using kernel perf_events on linux. Added ll_prof
553 script to tools and --ll-prof flag to V8.
554
555
vegorov@chromium.org42841962010-10-18 11:18:59 +00005562010-10-18: Version 2.5.0
557
558 Fixed bug in cache handling of lastIndex on global regexps
559 (issue http://crbug.com/58740).
560
561 Added USE_SIMULATOR macro that explicitly indicates that we wish to use
562 the simulator as the execution engine (by Mark Lam <mark.lam@palm.com>
kmillikin@chromium.orgfacd82d2010-12-13 18:00:51 +0000563 from Hewlett-Packard Development Company, LP).
vegorov@chromium.org42841962010-10-18 11:18:59 +0000564
565 Fixed compilation error on ARM with gcc 4.4 (issue 894).
566
567
5682010-10-13: Version 2.4.9
ager@chromium.orgb61a0d12010-10-13 08:35:23 +0000569
570 Fixed a bug in the handling of conditional expressions in test
571 contexts in compiler for top-level code.
572
573 Added "//@ sourceURL" information to the StackTrace API.
574
575 Exposed RegExp construction through the API.
576
577
ricow@chromium.orgeb7c1442010-10-04 08:54:21 +00005782010-10-04: Version 2.4.8
579
580 Fixed a bug in ResumeProfilerEx causing it to not always write out the
581 whole snapshot (issue 868).
582
583 Performance improvements on all platforms.
584
585
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +00005862010-09-30: Version 2.4.7
587
588 Changed the command-line flag --max-new-space-size to be in kB and the
589 flag --max-old-space-size to be in MB (previously they were in bytes).
590
591 Added Debug::CancelDebugBreak to the debugger API.
592
593 Fixed a bug in getters for negative numeric property names
594 (https://bugs.webkit.org/show_bug.cgi?id=46689).
595
596 Performance improvements on all platforms.
597
598
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +00005992010-09-27: Version 2.4.6
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +0000600
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +0000601 Fixed assertion failure related to copy-on-write arrays (issue 876).
602
603 Fixed build failure of 64-bit V8 on Windows.
604
605 Fixed a bug in RegExp (issue http://crbug.com/52801).
606
607 Improved the profiler's coverage to cover more functions (issue 858).
608
609 Fixed error in shift operators on 64-bit V8
610 (issue http://crbug.com/54521).
611
612
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00006132010-09-22: Version 2.4.5
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +0000614
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000615 Changed the RegExp benchmark to exercise the regexp engine on different
616 inputs by scrambling the input strings.
617
618 Fixed a bug in keyed loads on strings.
619
620 Fixed a bug with loading global function prototypes.
621
622 Fixed a bug with profiling RegExp calls (issue http://crbug.com/55999).
623
624 Performance improvements on all platforms.
625
626
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00006272010-09-15: Version 2.4.4
628
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000629 Fixed bug with hangs on very large sparse arrays.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000630
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000631 Now tries harder to free up memory when running out of space.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000632
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000633 Added heap snapshots to JSON format to API.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000634
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000635 Recalibrated benchmarks.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000636
637
sgjesse@chromium.org2ec107f2010-09-13 09:19:46 +00006382010-09-13: Version 2.4.3
639
640 Made Date.parse properly handle TZ offsets (issue 857).
641
642 Performance improvements on all platforms.
643
644
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00006452010-09-08: Version 2.4.2
646
647 Fixed GC crash bug.
648
649 Fixed stack corruption bug.
650
651 Fixed compilation for newer C++ compilers that found Operand(0)
652 ambiguous.
653
654
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00006552010-09-06: Version 2.4.1
656
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000657 Added the ability for an embedding application to receive a callback
658 when V8 allocates (V8::AddMemoryAllocationCallback) or deallocates
659 (V8::RemoveMemoryAllocationCallback) from the OS.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000660
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000661 Fixed several JSON bugs (including issue 855).
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000662
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000663 Fixed memory overrun crash bug triggered during V8's tick-based
664 profiling.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000665
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000666 Performance improvements on all platforms.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000667
668
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00006692010-09-01: Version 2.4.0
670
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000671 Fixed bug in Object.freeze and Object.seal when Array.prototype or
672 Object.prototype are changed (issue 842).
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000673
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000674 Updated Array.splice to follow Safari and Firefox when called
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000675 with zero arguments.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000676
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000677 Fixed a missing live register when breaking at keyed loads on ARM.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000678
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000679 Performance improvements on all platforms.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000680
681
ricow@chromium.org65fae842010-08-25 15:26:24 +00006822010-08-25: Version 2.3.11
683
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000684 Fixed bug in RegExp related to copy-on-write arrays.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000685
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000686 Refactored tools/test.py script, including the introduction of
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000687 VARIANT_FLAGS that allows specification of sets of flags with which
688 all tests should be run.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000689
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000690 Fixed a bug in the handling of debug breaks in CallIC.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000691
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000692 Performance improvements on all platforms.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000693
694
erik.corry@gmail.com145eff52010-08-23 11:36:18 +00006952010-08-23: Version 2.3.10
696
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000697 Fixed bug in bitops on ARM.
erik.corry@gmail.com145eff52010-08-23 11:36:18 +0000698
699 Build fixes for unusual compilers.
700
701 Track high water mark for RWX memory.
702
703 Performance improvements on all platforms.
704
705
ricow@chromium.org0b9f8502010-08-18 07:45:01 +00007062010-08-18: Version 2.3.9
707
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000708 Fixed compilation for ARMv4 on OpenBSD/FreeBSD.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000709
710 Removed specialized handling of GCC 4.4 (issue 830).
711
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000712 Fixed DST cache to take into account the suspension of DST in
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000713 Egypt during the 2010 Ramadan (issue http://crbug.com/51855).
714
ricow@chromium.org65fae842010-08-25 15:26:24 +0000715 Performance improvements on all platforms.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000716
717
ager@chromium.orgea4f62e2010-08-16 16:28:43 +00007182010-08-16: Version 2.3.8
719
720 Fixed build with strict aliasing on GCC 4.4 (issue 463).
721
722 Fixed issue with incorrect handling of custom valueOf methods on
723 string wrappers (issue 760).
724
725 Fixed compilation for ARMv4 (issue 590).
726
727 Improved performance.
728
729
vegorov@chromium.org26c16f82010-08-11 13:41:03 +00007302010-08-11: Version 2.3.7
731
732 Reduced size of heap snapshots produced by heap profiler (issue 783).
733
734 Introduced v8::Value::IsRegExp method.
735
736 Fixed CPU profiler crash in start / stop sequence when non-existent
737 name is passed (issue http://crbug.com/51594).
738
739 Introduced new indexed property query callbacks API (issue 816). This
740 API is guarded by USE_NEW_QUERY_CALLBACK define and is disabled
741 by default.
742
743 Removed support for object literal get/set with number/string
744 property name.
745
746 Fixed handling of JSObject::elements in CalculateNetworkSize
747 (issue 822).
748
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000749 Allowed compiling with strict aliasing enabled on GCC 4.4 (issue 463).
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000750
751
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +00007522010-08-09: Version 2.3.6
753
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000754 RegExp literals create a new object every time they are evaluated
755 (issue 704).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000756
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000757 Object.seal and Object.freeze return the modified object (issue 809).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000758
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000759 Fixed building using GCC 4.4.4.
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000760
761
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +00007622010-08-04: Version 2.3.5
763
764 Added support for ES5 property names. Object initialisers and
765 dot-notation property access now allows keywords. Also allowed
766 non-identifiers after "get" or "set" in an object initialiser.
767
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000768 Randomized the addresses of allocated executable memory on Windows.
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +0000769
770
whesse@chromium.orge90029b2010-08-02 11:52:17 +00007712010-08-02: Version 2.3.4
772
773 Fixed problems in implementation of ES5 function.prototype.bind.
774
775 Fixed error when using apply with arguments object on ARM (issue 784).
776
777 Added setting of global flags to debugger protocol.
778
779 Fixed an error affecting cached results of sin and cos (issue 792).
780
781 Removed memory leak from a boundary case where V8 is not initialized.
782
783 Fixed issue where debugger could set breakpoints outside the body
784 of a function.
785
786 Fixed issue in debugger when using both live edit and step in features.
787
788 Added Number-letter (Nl) category to Unicode tables. These characters
789 can now be used in identifiers.
790
791 Fixed an assert failure on X64 (issue 806).
792
793 Performance improvements on all platforms.
794
795
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +00007962010-07-26: Version 2.3.3
797
798 Fixed error when building the d8 shell in a fresh checkout.
799
800 Implemented Function.prototype.bind (ES5 15.3.4.5).
801
802 Fixed an error in inlined stores on ia32.
803
804 Fixed an error when setting a breakpoint at the end of a function
805 that does not end with a newline character.
806
807 Performance improvements on all platforms.
808
809
fschneider@chromium.orged78ffd2010-07-21 11:05:19 +00008102010-07-21: Version 2.3.2
811
812 Fixed compiler warnings when building with LLVM.
813
814 Fixed a bug with for-in applied to strings (issue 785).
815
816 Performance improvements on all platforms.
817
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +0000818
ricow@chromium.org4980dff2010-07-19 08:33:45 +00008192010-07-19: Version 2.3.1
820
821 Fixed compilation and linking with V8_INTERPRETED_REGEXP flag.
822
823 Fixed bug related to code flushing while compiling a lazy
824 compilable function (issue http://crbug.com/49099).
825
826 Performance improvements on all platforms.
827
828
ager@chromium.orgb5737492010-07-15 09:29:43 +00008292010-07-15: Version 2.3.0
830
831 Added ES5 Object.seal and Object.isSealed.
832
833 Added debugger API for scheduling debugger commands from a
834 separate thread.
835
836
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +00008372010-07-14: Version 2.2.24
838
839 Added API for capturing stack traces for uncaught exceptions.
840
841 Fixed crash bug when preparsing from a non-external V8 string
842 (issue 775).
843
844 Fixed JSON.parse bug causing input not to be converted to string
845 (issue 764).
846
847 Added ES5 Object.freeze and Object.isFrozen.
848
849 Performance improvements on all platforms.
850
851
erik.corry@gmail.com4a2e25e2010-07-07 12:22:46 +00008522010-07-07: Version 2.2.23
853
854 API change: Convert Unicode code points outside the basic multilingual
855 plane to the replacement character. Previous behavior was to silently
856 truncate the value to 16 bits.
857
858 Fixed crash: handle all flat string types in regexp replace.
859
860 Prevent invalid pre-parsing data passed in through the API from
861 crashing V8.
862
863 Performance improvements on all platforms.
864
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +0000865
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00008662010-07-05: Version 2.2.22
867
868 Added ES5 Object.isExtensible and Object.preventExtensions.
869
870 Enabled building V8 as a DLL.
871
872 Fixed a bug in date code where -0 was not interpreted as 0
873 (issue 736).
874
875 Performance improvements on all platforms.
876
877
lrn@chromium.org32d961d2010-06-30 09:09:34 +00008782010-06-30: Version 2.2.21
879
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000880 Fixed bug in externalizing some ASCII strings (Chromium issue 47824).
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000881
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000882 Updated JSON.stringify to floor the space parameter (issue 753).
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000883
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000884 Updated the Mozilla test expectations to the newest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000885
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000886 Updated the ES5 Conformance Test expectations to the latest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000887
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000888 Updated the V8 benchmark suite.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000889
890 Provide actual breakpoints locations in response to setBreakpoint
891 and listBreakpoints requests.
892
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000893
fschneider@chromium.org40b9da32010-06-28 11:29:21 +00008942010-06-28: Version 2.2.20
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000895
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000896 Fixed bug with for-in on x64 platform (issue 748).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000897
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000898 Fixed crash bug on x64 platform (issue 756).
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000899
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000900 Fixed bug in Object.getOwnPropertyNames. (chromium issue 41243).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000901
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000902 Fixed a bug on ARM that caused the result of 1 << x to be
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000903 miscalculated for some inputs.
904
905 Performance improvements on all platforms.
906
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000907
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +00009082010-06-23: Version 2.2.19
909
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000910 Fixed bug that causes the build to break when profillingsupport=off
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +0000911 (issue 738).
912
913 Added expose-externalize-string flag for testing extensions.
914
915 Resolve linker issues with using V8 as a DLL causing a number of
916 problems with unresolved symbols.
917
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000918 Fixed build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +0000919 defined.
920
921 Performance improvements on all platforms.
922
923
whesse@chromium.org2c186ca2010-06-16 11:32:39 +00009242010-06-16: Version 2.2.18
925
926 Added API functions to retrieve information on indexed properties
927 managed by the embedding layer. Fixes bug 737.
928
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000929 Made ES5 Object.defineProperty support array elements. Fixes bug 619.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000930
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000931 Added heap profiling to the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000932
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000933 Removed old named property query from the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000934
935 Incremental performance improvements.
936
937
ager@chromium.org2cc82ae2010-06-14 07:35:38 +00009382010-06-14: Version 2.2.17
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000939
ager@chromium.org2cc82ae2010-06-14 07:35:38 +0000940 Improved debugger support for stepping out of functions.
941
942 Incremental performance improvements.
943
944
9452010-06-09: Version 2.2.16
946
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000947 Removed the SetExternalStringDiposeCallback API. Changed the
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000948 disposal of external string resources to call a virtual Dispose
949 method on the resource.
950
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000951 Added support for more precise break points when debugging and
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000952 stepping.
953
954 Memory usage improvements on all platforms.
955
956
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +00009572010-06-07: Version 2.2.15
958
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000959 Added an API to control the disposal of external string resources.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000960
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000961 Added missing initialization of a couple of variables which makes
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000962 some compilers complaint when compiling with -Werror.
963
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000964 Improved performance on all platforms.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000965
966
sgjesse@chromium.org82dbbab2010-06-02 08:57:44 +00009672010-06-02: Version 2.2.14
968
969 Fixed a crash in code generated for String.charCodeAt.
970
971 Fixed a compilation issue with some GCC versions (issue 727).
972
973 Performance optimizations on x64 and ARM platforms.
974
975
ricow@chromium.org30ce4112010-05-31 10:38:25 +00009762010-05-31: Version 2.2.13
977
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000978 Implemented Object.getOwnPropertyDescriptor for element indices and
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000979 strings (issue 599).
980
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000981 Fixed bug for windows 64 bit C calls from generated code.
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000982
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000983 Added new scons flag unalignedaccesses for arm builds.
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000984
985 Performance improvements on all platforms.
986
987
kmillikin@chromium.org9155e252010-05-26 13:27:57 +00009882010-05-26: Version 2.2.12
989
990 Allowed accessors to be defined on objects rather than just object
991 templates.
992
993 Changed the ScriptData API.
994
995
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00009962010-05-21: Version 2.2.11
997
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000998 Fixed crash bug in liveedit on 64 bit.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000999
1000 Use 'full compiler' when debugging is active. This should increase
1001 the density of possible break points, making single step more fine
1002 grained. This will only take effect for functions compiled after
1003 debugging has been started, so recompilation of all functions is
1004 required to get the full effect. IA32 and x64 only for now.
1005
1006 Misc. fixes to the Solaris build.
1007
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001008 Added new flags --print-cumulative-gc-stat and --trace-gc-nvp.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00001009
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001010 Added filtering of CPU profiles by security context.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00001011
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001012 Fixed crash bug on ARM when running without VFP2 or VFP3.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00001013
1014 Incremental performance improvements in all backends.
1015
1016
vegorov@chromium.orgdff694e2010-05-17 09:10:26 +000010172010-05-17: Version 2.2.10
1018
1019 Performance improvements in the x64 and ARM backends.
1020
1021
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +000010222010-05-10: Version 2.2.9
1023
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001024 Allowed Object.create to be called with a function (issue 697).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +00001025
1026 Fixed bug with Date.parse returning a non-NaN value when called on a
1027 non date string (issue 696).
1028
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001029 Allowed unaligned memory accesses on ARM targets that support it (by
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00001030 Subrato K De of CodeAurora <subratokde@codeaurora.org>).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +00001031
1032 C++ API for retrieving JavaScript stack trace information.
1033
1034
ager@chromium.orgac091b72010-05-05 07:34:42 +000010352010-05-05: Version 2.2.8
1036
1037 Performance improvements in the x64 and ARM backends.
1038
1039
kmillikin@chromium.org4111b802010-05-03 10:34:42 +000010402010-05-03: Version 2.2.7
1041
1042 Added support for ES5 date time string format to Date.parse.
1043
1044 Performance improvements in the x64 backend.
1045
1046
lrn@chromium.orgc34f5802010-04-28 12:53:43 +000010472010-04-28: Version 2.2.6
1048
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00001049 Added "amd64" as recognized architecture in scons build script
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00001050 (by Ryan Dahl <coldredlemur@gmail.com>).
1051
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00001052 Fixed bug in String search and replace with very simple RegExps.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00001053
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00001054 Fixed bug in RegExp containing "\b^".
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00001055
1056 Performance improvements on all platforms.
1057
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00001058
fschneider@chromium.org013f3e12010-04-26 13:27:52 +000010592010-04-26: Version 2.2.5
1060
1061 Various performance improvements (especially for ARM and x64)
1062
1063 Fixed bug in CPU profiling (http://crbug.com/42137)
1064
1065 Fixed a bug with the natives cache.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00001066
1067 Fixed two bugs in the ARM code generator that can cause
fschneider@chromium.org013f3e12010-04-26 13:27:52 +00001068 wrong calculations.
1069
1070 Fixed a bug that may cause a wrong result for shift operations.
1071
1072
10732010-04-21: Version 2.2.4
ricow@chromium.orgc9c80822010-04-21 08:22:37 +00001074
1075 Fixed warnings on arm on newer GCC versions.
1076
1077 Fixed a number of minor bugs.
1078
1079 Performance improvements on all platforms.
1080
1081
whesse@chromium.orgb6e43bb2010-04-14 09:36:28 +000010822010-04-14: Version 2.2.3
1083
1084 Added stack command and mem command to ARM simulator debugger.
1085
1086 Fixed scons snapshot and ARM build, and Windows X64 build issues.
1087
1088 Performance improvements on all platforms.
1089
1090
ager@chromium.org357bf652010-04-12 11:30:10 +000010912010-04-12: Version 2.2.2
1092
1093 Introduced new profiler API.
1094
1095 Fixed random number generator to produce full 32 random bits.
1096
1097
lrn@chromium.org25156de2010-04-06 13:10:27 +000010982010-04-06: Version 2.2.1
1099
1100 Debugger improvements.
1101
1102 Fixed minor bugs.
1103
1104
ricow@chromium.orgaa1b6162010-03-29 07:44:58 +000011052010-03-29: Version 2.2.0
1106
1107 Fixed a few minor bugs.
1108
1109 Performance improvements for string operations.
1110
1111
ager@chromium.orgb26c50a2010-03-26 09:27:16 +000011122010-03-26: Version 2.1.10
1113
1114 Fixed scons build issues.
1115
1116 Fixed a couple of minor bugs.
1117
1118
sgjesse@chromium.orgdf7a2842010-03-25 14:34:15 +000011192010-03-25: Version 2.1.9
1120
1121 Added API support for reattaching a global object to a context.
1122
1123 Extended debugger API with access to the internal debugger context.
1124
1125 Fixed Chromium crashes (issues http://crbug.com/39128 and
1126 http://crbug.com/39160)
1127
1128
kmillikin@chromium.org5d8f0e62010-03-24 08:21:20 +000011292010-03-24: Version 2.1.8
1130
1131 Added fine-grained garbage collection callbacks to the API.
1132
1133 Performance improvements on all platforms.
1134
1135
whesse@chromium.orgcec079d2010-03-22 14:44:04 +000011362010-03-22: Version 2.1.7
1137
1138 Fixed issue 650.
1139
1140 Fixed a bug where __proto__ was sometimes enumerated (issue 646).
fschneider@chromium.org086aac62010-03-17 13:18:24 +00001141
1142 Performance improvements for arithmetic operations.
1143
1144 Performance improvements for string operations.
1145
whesse@chromium.orgcec079d2010-03-22 14:44:04 +00001146 Print script name and line number information in stack trace.
1147
1148
11492010-03-17: Version 2.1.6
1150
1151 Performance improvements for arithmetic operations.
1152
1153 Performance improvements for string operations.
1154
1155
vegorov@chromium.orgf8372902010-03-15 10:26:20 +000011562010-03-10: Version 2.1.4
1157
1158 Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).
1159
1160 Performance improvements on all platforms.
1161
1162
ager@chromium.orgce5e87b2010-03-10 10:24:18 +000011632010-03-10: Version 2.1.3
1164
1165 Added API method for context-disposal notifications.
1166
1167 Added API method for accessing elements by integer index.
1168
1169 Added missing implementation of Uint32::Value and Value::IsUint32
1170 API methods.
1171
1172 Added IsExecutionTerminating API method.
1173
1174 Disabled strict aliasing for GCC 4.4.
1175
1176 Fixed string-concatenation bug (issue 636).
1177
1178 Performance improvements on all platforms.
1179
1180
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +000011812010-02-23: Version 2.1.2
1182
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001183 Fixed a crash bug caused by wrong assert.
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +00001184
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001185 Fixed a bug with register names on 64-bit V8 (issue 615).
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +00001186
1187 Performance improvements on all platforms.
1188
ager@chromium.orgce5e87b2010-03-10 10:24:18 +00001189
ager@chromium.org5c838252010-02-19 08:53:10 +000011902010-02-19: Version 2.1.1
1191
1192 [ES5] Implemented Object.defineProperty.
1193
1194 Improved profiler support.
1195
1196 Added SetPrototype method in the public V8 API.
1197
1198 Added GetScriptOrigin and GetScriptLineNumber methods to Function
1199 objects in the API.
1200
1201 Performance improvements on all platforms.
1202
1203
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +000012042010-02-03: Version 2.1.0
1205
1206 Values are now always wrapped in objects when used as a receiver.
1207 (issue 223).
1208
1209 [ES5] Implemented Object.getOwnPropertyNames.
1210
1211 [ES5] Restrict JSON.parse to only accept strings that conforms to the
1212 JSON grammar.
1213
1214 Improvement of debugger agent (issue 549 and 554).
1215
1216 Fixed problem with skipped stack frame in profiles (issue 553).
1217
1218 Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
1219 <ry@tinyclouds.org>.
1220
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001221 Fixed a bug that Math.round() returns incorrect results for huge
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00001222 integers.
1223
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001224 Fixed enumeration order for objects created from some constructor
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00001225 functions (isue http://crbug.com/3867).
1226
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001227 Fixed arithmetic on some integer constants (issue 580).
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00001228
1229 Numerous performance improvements including porting of previous IA-32
1230 optimizations to x64 and ARM architectures.
1231
1232
fschneider@chromium.org0c20e672010-01-14 15:28:53 +000012332010-01-14: Version 2.0.6
1234
1235 Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,
1236 GetOwnProperty, FromPropertyDescriptor.
1237
1238 Fixed Mac x64 build errors.
1239
1240 Improved performance of some math and string operations.
1241
1242 Improved performance of some regexp operations.
1243
1244 Improved performance of context creation.
1245
1246 Improved performance of hash tables.
1247
1248
sgjesse@chromium.org846fb742009-12-18 08:56:33 +000012492009-12-18: Version 2.0.5
1250
1251 Extended to upper limit of map space to allow for 7 times as many map
1252 to be allocated (issue 524).
1253
1254 Improved performance of code using closures.
1255
1256 Improved performance of some binary operations involving doubles.
1257
1258
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +000012592009-12-16: Version 2.0.4
1260
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001261 Added ECMAScript 5 Object.create.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001262
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001263 Improved performance of Math.max and Math.min.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001264
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001265 Optimized adding of strings on 64-bit platforms.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001266
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001267 Improved handling of external strings by using a separate table
1268 instead of weak handles. This improves garbage collection
1269 performance and uses less memory.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001270
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001271 Changed code generation for object and array literals in toplevel
1272 code to be more compact by doing more work in the runtime.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001273
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001274 Fixed a crash bug triggered when garbage collection happened during
1275 generation of a callback load inline cache stub.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001276
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001277 Fixed crash bug sometimes triggered when local variables shadowed
1278 parameters in functions that used the arguments object.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001279
1280
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +000012812009-12-03: Version 2.0.3
1282
1283 Optimized handling and adding of strings, for-in and Array.join.
1284
1285 Heap serialization is now non-destructive.
1286
1287 Improved profiler support with information on time spend in C++
1288 callbacks registered through the API.
1289
1290 Added commands to the debugger protocol for starting/stopping
1291 profiling.
1292
1293 Enabled the non-optimizing compiler for top-level code.
1294
1295 Changed the API to only allow strings to be set as data objects on
1296 Contexts and scripts to avoid potentially keeping global objects
1297 around for too long (issue 528).
1298
1299 OpenBSD support patch by Peter Valchev <pvalchev@gmail.com>.
1300
1301 Fixed bugs.
1302
1303
ager@chromium.org01beca72009-11-24 14:29:16 +000013042009-11-24: Version 2.0.2
1305
1306 Improved profiler support.
1307
1308 Fixed bug that broke compilation of d8 with readline support.
1309
1310
ager@chromium.org6141cbe2009-11-20 12:14:52 +000013112009-11-20: Version 2.0.1
1312
1313 Fixed crash bug in String.prototype.replace.
1314
1315 Reverted a change which caused Chromium interactive ui test
1316 failures.
1317
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001318
ager@chromium.orgc4c92722009-11-18 14:12:51 +000013192009-11-18: Version 2.0.0
1320
1321 Added support for VFP on ARM.
1322
1323 Added TryCatch::ReThrow method to the API.
1324
1325 Reduced the size of snapshots and improved the snapshot load time.
1326
1327 Improved heap profiler support.
1328
1329 64-bit version now supported on Windows.
1330
1331 Fixed a number of debugger issues.
1332
1333 Fixed bugs.
1334
1335
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +000013362009-10-29: Version 1.3.18
1337
1338 Reverted a change which caused crashes in RegExp replace.
1339
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +00001340 Reverted a change which caused Chromium ui_tests failure.
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +00001341
1342
ager@chromium.org3811b432009-10-28 14:53:37 +000013432009-10-28: Version 1.3.17
1344
1345 Added API method to get simple heap statistics.
1346
1347 Improved heap profiler support.
1348
1349 Fixed the implementation of the resource constraint API so it
1350 works when using snapshots.
1351
1352 Fixed a number of issues in the Windows 64-bit version.
1353
1354 Optimized calls to API getters.
1355
1356 Added valgrind notification on code modification to the 64-bit version.
1357
1358 Fixed issue where we logged shared library addresses on Windows at
1359 startup and never used them.
1360
1361
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +000013622009-10-16: Version 1.3.16
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001363
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001364 X64: Convert smis to holding 32 bits of payload.
1365
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001366 Introduced v8::Integer::NewFromUnsigned method.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001367
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001368 Added missing null check in Context::GetCurrent.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001369
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001370 Added trim, trimLeft and trimRight methods to String
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001371 Patch by Jan de Mooij <jandemooij@gmail.com>
1372
1373 Implement ES5 Array.isArray
1374 Patch by Jan de Mooij <jandemooij@gmail.com>
1375
1376 Skip access checks for hidden properties.
1377
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001378 Added String::Concat(Handle<String> left, Handle<String> right) to the
1379 V8 API.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001380
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001381 Fixed GYP-based builds of V8.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001382
1383
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +000013842009-10-07: Version 1.3.15
1385
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001386 Expanded the maximum size of the code space to 512MB for 64-bit mode.
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +00001387
1388 Fixed a crash bug happening when starting profiling (issue
1389 http://crbug.com/23768).
1390
1391
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +000013922009-10-07: Version 1.3.14
1393
1394 Added GetRealNamedProperty to the API to lookup real properties
1395 located on the object or in the prototype chain skipping any
1396 interceptors.
1397
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001398 Fixed the stack limits setting API to work correctly with threads. The
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00001399 stack limit now needs to be set to each thread thich is used with V8.
1400
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001401 Removed the high-priority flag from IdleNotification()
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00001402
1403 Ensure V8 is initialized before locking and unlocking threads.
1404
1405 Implemented a new JavaScript minifier for compressing the source of
ager@chromium.org3811b432009-10-28 14:53:37 +00001406 the built-in JavaScript. This removes non-Open Source code from Douglas
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00001407 Crockford from the project.
1408
1409 Added a missing optimization in StringCharAt.
1410
1411 Fixed some flaky socket tests.
1412
1413 Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
1414 in 64-bit mode.
1415
1416 Fixed memory leaks in the thread management code.
1417
1418 Fixed the result of assignment to a pixel array. The assigned value
1419 is now the result.
1420
1421 Error reporting for invalid left-hand sides in for-in statements, pre-
1422 and postfix count expressions, and assignments now matches the JSC
1423 behavior in Safari 4.
1424
1425 Follow the spec in disallowing function declarations without a name.
1426
1427 Always allocate code objects within a 2 GB range. On x64 architecture
1428 this is used to use near calls (32-bit displacement) in Code objects.
1429
1430 Optimized array construction ported to x64 and ARM architectures.
1431
1432 [ES5] Changed Object.keys to return strings for element indices.
1433
1434
ager@chromium.org68e7ab72009-09-23 09:40:39 +000014352009-09-23: Version 1.3.13
1436
1437 Fixed uninitialized memory problem.
1438
1439 Improved heap profiler support.
1440
1441
christian.plesner.hansen@gmail.com2bc58ef2009-09-22 10:00:30 +000014422009-09-22: Version 1.3.12
1443
1444 Changed behavior of |function|.toString() on built-in functions to
1445 be compatible with other implementations. Patch by Jan de Mooij.
1446
1447 Added Object::IsDirty in the API.
1448
1449 Optimized array construction; it is now handled purely in native
1450 code.
1451
1452 [ES5] Made properties of the arguments array enumerable.
1453
1454 [ES5] Added test suite adapter for the es5conform test suite.
1455
1456 [ES5] Added Object.keys function.
1457
ager@chromium.org68e7ab72009-09-23 09:40:39 +00001458
ager@chromium.org4af710e2009-09-15 12:20:11 +000014592009-09-15: Version 1.3.11
1460
1461 Fixed crash in error reporting during bootstrapping.
1462
1463 Optimized generated IA32 math code by using SSE2 instructions when
1464 available.
1465
1466 Implemented missing pieces of debugger infrastructure on ARM. The
1467 debugger is now fully functional on ARM.
1468
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001469 Made 'hidden' the default visibility for gcc.
ager@chromium.org4af710e2009-09-15 12:20:11 +00001470
1471
ager@chromium.orga1645e22009-09-09 19:27:10 +000014722009-09-09: Version 1.3.10
1473
1474 Fixed profiler on Mac in 64-bit mode.
1475
1476 Optimized creation of objects from simple constructor functions on
1477 ARM.
1478
1479 Fixed a number of debugger issues.
1480
1481 Reduced the amount of memory consumed by V8.
1482
1483
ager@chromium.org18ad94b2009-09-02 08:22:29 +000014842009-09-02: Version 1.3.9
1485
1486 Optimized stack guard checks on ARM.
1487
1488 Optimized API operations by inlining more in the API.
1489
1490 Optimized creation of objects from simple constructor functions.
1491
1492 Enabled a number of missing optimizations in the 64-bit port.
1493
1494 Implemented native-code support for regular expressions on ARM.
1495
1496 Stopped using the 'sahf' instruction on 64-bit machines that do
1497 not support it.
1498
1499 Fixed a bug in the support for forceful termination of JavaScript
1500 execution.
1501
1502
ager@chromium.org96c75b52009-08-26 09:13:16 +000015032009-08-26: Version 1.3.8
1504
1505 Changed the handling of idle notifications to allow idle
1506 notifications when V8 has not yet been initialized.
1507
1508 Fixed ARM simulator compilation problem on Windows.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001509
ager@chromium.org96c75b52009-08-26 09:13:16 +00001510
ager@chromium.orgab99eea2009-08-25 07:05:41 +000015112009-08-25: Version 1.3.7
1512
1513 Reduced the size of generated code on ARM platforms by reducing
1514 the size of constant pools.
1515
1516 Changed build files to not include the 'ENV' user environment
1517 variable in the build environment.
1518
1519 Changed the handling of idle notifications.
1520
1521
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +000015222009-08-21: Version 1.3.6
1523
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001524 Added support for forceful termination of JavaScript execution.
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00001525
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001526 Added low memory notification to the API. The embedding host can signal
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00001527 a low memory situation to V8.
1528
1529 Changed the handling of global handles (persistent handles in the API
1530 sense) to avoid issues regarding allocation of new global handles
1531 during weak handle callbacks.
1532
1533 Changed the growth policy of the young space.
1534
1535 Fixed a GC issue introduced in version 1.3.5.
1536
1537
sgjesse@chromium.org911335c2009-08-19 12:59:44 +000015382009-08-19: Version 1.3.5
1539
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001540 Optimized initialization of some arrays in the builtins.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001541
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001542 Fixed mac-nm script to support filenames with spaces.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001543
1544 Support for using the V8 profiler when V8 is embedded in a Windows DLL.
1545
1546 Changed typeof RegExp from 'object' to 'function' for compatibility.
1547 Fixed bug where regexps were not callable across contexts.
1548
1549 Added context independent script compilation to the API.
1550
1551 Added API call to get the stack trace for an exception.
1552
1553 Added API for getting object mirrors.
1554
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001555 Made sure that SSE3 instructions are used whenever possible even when
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001556 running off a snapshot generated without using SSE3 instructions.
1557
1558 Tweaked the handling of the initial size and growth policy of the heap.
1559
1560 Added native code generation for RegExp to 64-bit version.
1561
1562 Added JavaScript debugger support to 64-bit version.
1563
1564
ager@chromium.orgadd848f2009-08-13 12:44:13 +000015652009-08-13: Version 1.3.4
1566
1567 Added a readline() command to the d8 shell.
1568
1569 Fixed bug in json parsing.
1570
1571 Added idle notification to the API and reduced memory on idle
1572 notifications.
1573
1574
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +000015752009-08-12: Version 1.3.3
1576
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001577 Fixed issue 417: incorrect %t placeholder expansion.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001578
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001579 Added .gitignore file similar to Chromium's one.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001580
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001581 Fixed SConstruct file to build with new logging code for Android.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001582
1583 API: added function to find instance of template in prototype
1584 chain. Inlined Object::IsInstanceOf.
1585
1586 Land change to notify valgrind when we modify code on x86.
1587
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001588 Added api call to determine whether a string can be externalized.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001589
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001590 Added a write() command to d8.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001591
1592
sgjesse@chromium.orgb9d7da12009-08-05 08:38:10 +000015932009-08-05: Version 1.3.2
1594
1595 Started new compiler infrastructure for two-pass compilation using a
1596 control flow graph constructed from the AST.
1597
1598 Profiler stack sampling for X64.
1599
1600 Safe handling of NaN to Posix platform-dependent time functions.
1601
1602 Added a new profiler control API to unify controlling various aspects
1603 of profiling.
1604
1605 Fixed issue 392.
1606
1607
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +000016082009-07-30: Version 1.3.1
1609
1610 Speed improvements to accessors and interceptors.
1611
1612 Added support for capturing stack information on custom errors.
1613
1614 Added support for morphing an object into a pixel array where its
1615 indexed properties are stored in an external byte array. Values written
1616 are always clamped to the 0..255 interval.
1617
1618 Profiler on x64 now handles C/C++ functions from shared libraries.
1619
1620 Changed the debugger to avoid stepping into function.call/apply if the
1621 function is a built-in.
1622
1623 Initial implementation of constructor heap profile for JS objects.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001624
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00001625 More fine grained control of profiling aspects through the API.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001626
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00001627 Optimized the called as constructor check for API calls.
1628
1629
kasperl@chromium.orge959c182009-07-27 08:59:04 +000016302009-07-27: Version 1.3.0
1631
1632 Allowed RegExp objects to be called as functions (issue 132).
1633
1634 Fixed issue where global property cells would escape after
1635 detaching the global object; see http://crbug.com/16276.
1636
1637 Added support for stepping into setters and getters in the
1638 debugger.
1639
1640 Changed the debugger to avoid stopping in its own JavaScript code
1641 and in the code of built-in functions.
1642
1643 Fixed issue 345 by avoiding duplicate escaping labels.
1644
1645 Fixed ARM code generator crash in short-circuited boolean
1646 expressions and added regression tests.
1647
1648 Added an external allocation limit to avoid issues where small V8
1649 objects would hold on to large amounts of external memory without
1650 causing garbage collections.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001651
1652 Finished more of the inline caching stubs for x64 targets.
kasperl@chromium.orge959c182009-07-27 08:59:04 +00001653
1654
kasperl@chromium.orgdefbd102009-07-13 14:04:26 +000016552009-07-13: Version 1.2.14
1656
1657 Added separate paged heap space for global property cells and
1658 avoid updating the write barrier when storing into them.
1659
1660 Improved peep-hole optimization on ARM platforms by not emitting
1661 unnecessary debug information.
1662
1663 Re-enabled ICs for loads and calls that skip a global object
1664 during lookup through the prototype chain.
1665
1666 Allowed access through global proxies to use ICs.
1667
1668 Fixed issue 401.
1669
1670
kasperl@chromium.org68ac0092009-07-09 06:00:35 +000016712009-07-09: Version 1.2.13
1672
1673 Fixed issue 397, issue 398, and issue 399.
1674
1675 Added support for breakpoint groups.
1676
1677 Fixed bugs introduced with the new global object representation.
1678
1679 Fixed a few bugs in the ARM code generator.
1680
1681
kasperl@chromium.org86f77b72009-07-06 08:21:57 +000016822009-07-06: Version 1.2.12
1683
1684 Added stack traces collection to Error objects accessible through
1685 the e.stack property.
1686
1687 Changed RegExp parser to use a recursive data structure instead of
1688 stack-based recursion.
1689
1690 Optimized Date object construction and string concatenation.
1691
1692 Improved performance of div, mod, and mul on ARM platforms.
1693
1694
kasperl@chromium.org2abc4502009-07-02 07:00:29 +000016952009-07-02: Version 1.2.11
1696
1697 Improved performance on IA-32 and ARM.
1698
1699 Fixed profiler sampler implementation on Mac OS X.
1700
1701 Changed the representation of global objects to improve
1702 performance of adding a lot of new properties.
1703
1704
ager@chromium.org3e875802009-06-29 08:26:34 +000017052009-06-29: Version 1.2.10
1706
1707 Improved debugger support.
1708
1709 Fixed bug in exception message reporting (issue 390).
1710
1711 Improved overall performance.
1712
1713
ager@chromium.org5aa501c2009-06-23 07:57:28 +000017142009-06-23: Version 1.2.9
1715
1716 Improved math performance on ARM.
1717
1718 Fixed profiler name-inference bug.
1719
1720 Fixed handling of shared libraries in the profiler tick processor
1721 scripts.
1722
1723 Fixed handling of tests that time out in the test scripts.
1724
1725 Fixed compilation on MacOS X version 10.4.
1726
1727 Fixed two bugs in the regular expression engine.
1728
1729 Fixed a bug in the string type inference.
1730
1731 Fixed a bug in the handling of 'constant function' properties.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001732
ager@chromium.org5aa501c2009-06-23 07:57:28 +00001733 Improved overall performance.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001734
ager@chromium.org5aa501c2009-06-23 07:57:28 +00001735
ager@chromium.orgeadaf222009-06-16 09:43:10 +000017362009-06-16: Version 1.2.8
1737
1738 Optimized math on ARM platforms.
1739
1740 Fixed two crash bugs in the handling of getters and setters.
1741
1742 Improved the debugger support by adding scope chain information.
1743
1744 Improved the profiler support by compressing log data transmitted
1745 to clients.
1746
1747 Improved overall performance.
1748
1749
ager@chromium.orge2902be2009-06-08 12:21:35 +000017502009-06-08: Version 1.2.7
1751
1752 Improved debugger and profiler support.
1753
1754 Reduced compilation time by improving the handling of deferred
1755 code.
1756
1757 Optimized interceptor accesses where the property is on the object
1758 on which the interceptors is attached.
1759
1760 Fixed compilation problem on GCC 4.4 by changing the stack
1761 alignment to 16 bytes.
1762
1763 Fixed handle creation to follow stric aliasing rules.
1764
1765 Fixed compilation on FreeBSD.
1766
1767 Introduced API for forcing the deletion of a property ignoring
1768 interceptors and attributes.
1769
1770
sgjesse@chromium.org755c5b12009-05-29 11:04:38 +000017712009-05-29: Version 1.2.6
1772
1773 Added a histogram recording hit rates at different levels of the
1774 compilation cache.
1775
1776 Added stack overflow check for the RegExp analysis phase. Previously a
1777 very long regexp graph could overflow the stack with recursive calls.
1778
1779 Use a dynamic buffer when collecting log events in memory.
1780
1781 Added start/stop events to the profiler log.
1782
1783 Fixed infinite loop which could happen when setting a debug break while
1784 executing a RegExp compiled to native code.
1785
1786 Fixed handling of lastIndexOf called with negative index (issue 351).
1787
1788 Fixed irregular crash in profiler test (issue 358).
1789
1790 Fixed compilation issues with some versions of gcc.
1791
1792
kasperl@chromium.org71affb52009-05-26 05:44:31 +000017932009-05-26: Version 1.2.5
1794
1795 Fixed bug in initial boundary check for Boyer-Moore text
1796 search (issue 349).
1797
1798 Fixed compilation issues with MinGW and gcc 4.3+ and added support
1799 for armv7 and cortex-a8 architectures. Patches by Lei Zhang and
1800 Craig Schlenter.
1801
1802 Added a script cache to the debugger.
1803
1804 Optimized compilation performance by improving internal data
1805 structures and avoiding expensive property load optimizations for
1806 code that's infrequently executed.
1807
1808 Exposed the calling JavaScript context through the static API
1809 function Context::GetCalling().
1810
1811
kasperl@chromium.orgb3284ad2009-05-18 06:12:45 +000018122009-05-18: Version 1.2.4
1813
1814 Improved performance of floating point number allocation for ARM
1815 platforms.
1816
1817 Fixed crash when using the instanceof operator on functions with
1818 number values in their prototype chain (issue 341).
1819
1820 Optimized virtual frame operations in the code generator to speed
1821 up compilation time and allocated the frames in the zone.
1822
1823 Made the representation of virtual frames and jump targets in the
1824 code generator much more compact.
1825
1826 Avoided linear search for non-locals in scope code when resolving
1827 variables inside with and eval scopes.
1828
1829 Optimized lexical scanner by dealing with whitespace as part of
1830 the token scanning instead of as a separate step before it.
1831
1832 Changed the scavenging collector so that promoted objects do not
1833 reside in the old generation while their remembered set is being
1834 swept for pointers into the young generation.
1835
1836 Fixed numeric overflow handling when compiling count operations.
1837
1838
ager@chromium.org9085a012009-05-11 19:22:57 +000018392009-05-11: Version 1.2.3
1840
1841 Fixed bug in reporting of out-of-memory situations.
1842
1843 Introduced hidden prototypes on certain builtin prototype objects
1844 such as String.prototype to emulate JSC's behavior of restoring
1845 the original function when deleting functions from those prototype
1846 objects.
1847
1848 Fixed crash bug in the register allocator.
1849
1850
ager@chromium.org5ec48922009-05-05 07:25:34 +000018512009-05-04: Version 1.2.2
1852
1853 Fixed bug in array sorting for sparse arrays (issue 326).
1854
1855 Added support for adding a soname when building a shared library
1856 on Linux (issue 151).
1857
1858 Fixed bug caused by morphing internal ASCII strings to external
1859 two-byte strings. Slices over ASCII strings have to forward ASCII
1860 checks to the underlying buffer string.
1861
1862 Allowed API call-as-function handlers to be called as
1863 constructors.
1864
1865 Fixed a crash bug where an external string was disposed but a
1866 slice of the external string survived as a symbol.
1867
1868
ager@chromium.org3a37e9b2009-04-27 09:26:21 +000018692009-04-27: Version 1.2.1
1870
1871 Added EcmaScript 5 JSON object.
1872
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001873 Fixed bug in preemption support on ARM.
ager@chromium.org3a37e9b2009-04-27 09:26:21 +00001874
1875
ager@chromium.org65dad4b2009-04-23 08:48:43 +000018762009-04-23: Version 1.2.0
1877
1878 Optimized floating-point operations on ARM.
1879
1880 Added a number of extensions to the debugger API.
1881
1882 Changed the enumeration order for unsigned integer keys to always
1883 be numerical order.
1884
1885 Added a "read" extension to the shell sample.
1886
1887 Added support for Array.prototype.reduce and
1888 Array.prototype.reduceRight.
1889
1890 Added an option to the SCons build to control Microsoft Visual C++
1891 link-time code generation.
1892
1893 Fixed a number of bugs (in particular issue 315, issue 316,
1894 issue 317 and issue 318).
1895
1896
kasperl@chromium.org2d18d102009-04-15 13:27:32 +000018972009-04-15: Version 1.1.10
1898
1899 Fixed crash bug that occurred when loading a const variable in the
1900 presence of eval.
1901
1902 Allowed using with and eval in registered extensions in debug mode
1903 by fixing bogus assert.
1904
1905 Fixed the source position for function returns to enable the
1906 debugger to break there.
1907
1908
kasperl@chromium.orgd1e3e722009-04-14 13:38:25 +000019092009-04-14: Version 1.1.9
1910
1911 Made the stack traversal code in the profiler robust by avoiding
1912 to look into the heap.
1913
1914 Added name inferencing for anonymous functions to facilitate
1915 debugging and profiling.
1916
1917 Re-enabled stats timers in the developer shell (d8).
1918
1919 Fixed issue 303 by avoiding to shortcut cons-symbols.
1920
1921
kasperl@chromium.orgacae3782009-04-11 09:17:08 +000019222009-04-11: Version 1.1.8
1923
1924 Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).
1925
ager@chromium.org65dad4b2009-04-23 08:48:43 +00001926 Fixed step-in handling for Function.prototype.apply and call in
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00001927 the debugger (issue 269).
1928
1929 Fixed v8::Object::DeleteHiddenValue to not bail out when there
1930 are no hidden properties.
1931
ager@chromium.org65dad4b2009-04-23 08:48:43 +00001932 Added workaround for crash bug, where external symbol table
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00001933 entries with deleted resources would lead to NPEs when looking
1934 up in the symbol table.
1935
1936
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +000019372009-04-07: Version 1.1.7
1938
1939 Added support for easily importing additional environment
1940 variables into the SCons build.
1941
1942 Optimized strict equality checks.
1943
1944 Fixed crash in indexed setters on objects without a corresponding
1945 getter (issue 298).
1946
1947 Re-enabled script compilation cache.
1948
1949
ager@chromium.org8682a592009-04-01 10:47:14 +000019502009-04-01: Version 1.1.6
1951
1952 Reverted an unsafe code generator change.
1953
1954
ager@chromium.org71daaf62009-04-01 07:22:49 +000019552009-04-01: Version 1.1.5
1956
1957 Fixed bug that caused function literals to not be optimized as
1958 much as other functions.
1959
1960 Improved profiler support.
1961
1962 Fixed a crash bug in connection with debugger unloading.
1963
1964 Fixed a crash bug in the code generator caused by losing the
1965 information that a frame element was copied.
1966
1967 Fixed an exception propagation bug that could cause non-null
1968 return values when exceptions were thrown.
1969
1970
ager@chromium.org41826e72009-03-30 13:30:57 +000019712009-03-30: Version 1.1.4
1972
1973 Optimized String.prototype.match.
1974
1975 Improved the stack information in profiles.
1976
1977 Fixed bug in ARM port making it possible to compile the runtime
1978 system for thumb mode again.
1979
1980 Implemented a number of optimizations in the code generator.
1981
1982 Fixed a number of memory leaks in tests.
1983
1984 Fixed crash bug in connection with script source code and external
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +00001985 strings.
ager@chromium.org41826e72009-03-30 13:30:57 +00001986
1987
kasperl@chromium.orgf5aa8372009-03-24 14:47:14 +000019882009-03-24: Version 1.1.3
1989
1990 Fixed assertion failures in compilation of loop conditions.
1991
1992 Removed STL dependency from developer shell (d8).
1993
1994 Added infrastructure for protecting the V8 heap from corruption
1995 caused by memory modifications from the outside.
1996
1997
ager@chromium.orgbb29dc92009-03-24 13:25:23 +000019982009-03-24: Version 1.1.2
1999
2000 Improved frame merge code generated by the code generator.
2001
2002 Optimized String.prototype.replace.
2003
2004 Implemented __defineGetter__ and __defineSetter__ for properties
2005 with integer keys on non-array objects.
2006
2007 Improved debugger and profiler support.
2008
2009 Fixed a number of portability issues to allow compilation for
2010 smaller ARM devices.
2011
2012 Exposed object cloning through the API.
2013
2014 Implemented hidden properties. This is used to expose an identity
2015 hash for objects through the API.
2016
2017 Implemented restarting of regular expressions if their input
2018 string changes representation during preemption.
2019
2020 Fixed a code generator bug that could cause assignments in loops
2021 to be ignored if using continue to break out of the loop (issue
2022 284).
2023
2024
ager@chromium.org3a6061e2009-03-12 14:24:36 +000020252009-03-12: Version 1.1.1
2026
2027 Fixed an assertion in the new compiler to take stack overflow
2028 exceptions into account.
2029
2030 Removed exception propagation code that could cause crashes.
2031
2032 Fixed minor bug in debugger line number computations.
2033
2034 8-byte align the C stack on Linux and Windows to speed up floating
2035 point computations.
2036
2037
kasperl@chromium.org7be3c992009-03-12 07:19:55 +000020382009-03-12: Version 1.1.0
2039
2040 Improved code generation infrastructure by doing simple register
2041 allocation and constant folding and propagation.
2042
2043 Optimized regular expression matching by avoiding to create
2044 intermediate string arrays and by flattening nested array
2045 representations of RegExp data.
2046
2047 Traverse a few stack frames when recording profiler samples to
2048 include partial call graphs in the profiling output.
2049
2050 Added support for using OProfile to profile generated code.
2051
2052 Added remote debugging support to the D8 developer shell.
2053
2054 Optimized creation of nested literals like JSON objects.
2055
2056 Fixed a bug in garbage collecting unused maps and turned it on by
2057 default (--collect-maps).
2058
2059 Added support for running tests under Valgrind.
2060
2061
kasperl@chromium.org061ef742009-02-27 12:16:20 +000020622009-02-27: Version 1.0.3
2063
2064 Optimized double-to-integer conversions in bit operations by using
2065 SSE3 instructions if available.
2066
2067 Optimized initialization sequences that store to multiple
2068 properties of the same object.
2069
2070 Changed the D8 debugger frontend to use JSON messages.
2071
2072 Force garbage collections when disposing contexts.
2073
2074 Align code objects at 32-byte boundaries.
2075
2076
ager@chromium.org381abbb2009-02-25 13:23:22 +000020772009-02-25: Version 1.0.2
2078
2079 Improved profiling support by performing simple call stack
2080 sampling for ticks and by fixing a bug in the logging of code
2081 addresses.
2082
2083 Fixed a number of debugger issues.
2084
2085 Optimized code that uses eval.
2086
2087 Fixed a couple of bugs in the regular expression engine.
2088
2089 Reduced the size of generated code for certain regular expressions.
2090
2091 Removed JSCRE completely.
2092
2093 Fixed issue where test could not be run if there was a dot in the
2094 checkout path.
2095
2096
ager@chromium.org6f10e412009-02-13 10:11:16 +000020972009-02-13: Version 1.0.1
2098
2099 Fixed two crash-bugs in irregexp (issue 231 and 233).
2100
2101 Fixed a number of minor bugs (issue 87, 227 and 228).
2102
2103 Added support for morphing strings to external strings on demand
2104 to avoid having to create copies in the embedding code.
2105
2106 Removed experimental support for external symbol callbacks.
2107
2108
iposva@chromium.org245aa852009-02-10 00:49:54 +000021092009-02-09: Version 1.0.0
2110
2111 Fixed crash-bug in the code generation for case independent 16 bit
2112 backreferences.
ager@chromium.org6f10e412009-02-13 10:11:16 +00002113
iposva@chromium.org245aa852009-02-10 00:49:54 +00002114 Made shells more robust in the presence of string conversion
2115 failures (issue 224).
ager@chromium.org6f10e412009-02-13 10:11:16 +00002116
iposva@chromium.org245aa852009-02-10 00:49:54 +00002117 Fixed a potential infinite loop when attempting to resolve
2118 eval (issue 221).
ager@chromium.org6f10e412009-02-13 10:11:16 +00002119
iposva@chromium.org245aa852009-02-10 00:49:54 +00002120 Miscellaneous fixes to the new regular expression engine.
ager@chromium.org6f10e412009-02-13 10:11:16 +00002121
iposva@chromium.org245aa852009-02-10 00:49:54 +00002122 Reduced binary by stripping unneeded text from JavaScript library and
2123 minifying some JavaScript files.
2124
2125
ager@chromium.orgddb913d2009-01-27 10:01:48 +000021262009-01-27: Version 0.4.9
2127
2128 Enabled new regular expression engine.
2129
2130 Made a number of changes to the debugger protocol.
2131
2132 Fixed a number of bugs in the preemption support.
2133
2134 Added -p option to the developer shell to run files in parallel
2135 using preemption.
2136
2137 Fixed a number of minor bugs (including issues 176, 187, 189, 192,
2138 193, 198 and 201).
2139
2140 Fixed a number of bugs in the serialization/deserialization
2141 support for the ARM platform.
2142
2143
sgjesse@chromium.org715915b2009-01-19 16:08:47 +000021442009-01-19: Version 0.4.8.1
2145
2146 Minor patch to debugger support.
2147
2148
ager@chromium.org32912102009-01-16 10:38:43 +000021492009-01-16: Version 0.4.8
2150
2151 Fixed string length bug on ARM (issue 171).
2152
2153 Made most methods in the API const.
2154
2155 Optimized object literals by improving data locality.
2156
2157 Fixed bug that caused incomplete functions to be cached in case of
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00002158 stack overflow exceptions.
ager@chromium.org32912102009-01-16 10:38:43 +00002159
2160 Fixed bugs that caused catch variables and variables introduced by
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00002161 eval to behave incorrectly when using accessors (issues 186, 190
2162 and 191).
ager@chromium.org32912102009-01-16 10:38:43 +00002163
2164
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +000021652009-01-06: Version 0.4.7
2166
ager@chromium.org32912102009-01-16 10:38:43 +00002167 Minor bugfixes and optimizations.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00002168
ager@chromium.org32912102009-01-16 10:38:43 +00002169 Added command line debugger to D8 shell.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00002170
ager@chromium.org32912102009-01-16 10:38:43 +00002171 Fixed subtle bug that caused the wrong 'this' to be used when
2172 calling a caught function in a catch clause.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00002173
ager@chromium.org32912102009-01-16 10:38:43 +00002174 Inline array loads within loops directly in the code instead of
2175 always calling a stub.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00002176
ager@chromium.org32912102009-01-16 10:38:43 +00002177
ager@chromium.org8bb60582008-12-11 12:02:20 +000021782008-12-11: Version 0.4.6
2179
2180 Fixed exception reporting bug where certain exceptions were
2181 incorrectly reported as uncaught.
2182
2183 Improved the memory allocation strategy used during compilation to
2184 make running out of memory when compiling huge scripts less
2185 likely.
2186
2187 Optimized String.replace by avoiding the construction of certain
2188 sub strings.
2189
2190 Fixed bug in code generation for large switch statements on ARM.
2191
2192 Fixed bug that caused V8 to change the global object template
2193 passed in by the user.
2194
2195 Changed the API for creating object groups used during garbage
2196 collection. Entire object groups are now passed to V8 instead of
2197 individual members of the groups.
2198
ager@chromium.org32912102009-01-16 10:38:43 +00002199
ager@chromium.orga74f0da2008-12-03 16:05:52 +000022002008-12-03: Version 0.4.5
iposva@chromium.org96f667e2008-11-26 23:48:02 +00002201
ager@chromium.orga74f0da2008-12-03 16:05:52 +00002202 Added experimental API support for allocating V8 symbols as
2203 external strings.
2204
2205 Fixed bugs in debugging support on ARM.
2206
2207 Changed eval implementation to correctly detect whether or not a
2208 call to eval is aliased.
2209
2210 Fixed bug caused by a combination of the compilation cache and
2211 dictionary probing in native code. The bug caused us to sometimes
2212 call functions that had not yet been compiled.
2213
2214 Added platform support for FreeBSD.
2215
2216 Added support for building V8 on Windows with either the shared or
2217 static version of MSVCRT
ager@chromium.org32912102009-01-16 10:38:43 +00002218
iposva@chromium.org96f667e2008-11-26 23:48:02 +00002219 Added the v8::jscre namespace around the jscre functions to avoid
2220 link errors (duplicate symbols) when building Google Chrome.
2221
ager@chromium.orga74f0da2008-12-03 16:05:52 +00002222 Added support for calling a JavaScript function with the current
2223 debugger execution context as its argument to the debugger
2224 interface.
2225
2226 Changed the type of names of counters from wchar_t to char.
2227
2228 Changed the Windows system call used to compute daylight savings
2229 time. The system call that we used to use became four times
2230 slower on WinXP SP3.
2231
2232 Added support in the d8 developer shell for memory-mapped counters
2233 and added a stats-viewer tool.
2234
2235 Fixed bug in upper/lower case mappings (issue 149).
2236
iposva@chromium.org96f667e2008-11-26 23:48:02 +00002237
ager@chromium.org3bf7b912008-11-17 09:09:45 +000022382008-11-17: Version 0.4.4
2239
2240 Reduced code size by using shorter instruction encoding when
2241 possible.
2242
2243 Added a --help option to the shell sample and to the d8 shell.
2244
2245 Added visual studio project files for building the ARM simulator.
2246
2247 Fixed a number of ARM simulator issues.
2248
2249 Fixed bug in out-of-memory handling on ARM.
2250
2251 Implemented shell support for passing arguments to a script from
2252 the command line.
2253
2254 Fixed bug in date code that made certain date functions return -0
2255 instead of 0 for dates before the epoch.
2256
2257 Restricted applications of eval so it can only be used in the
2258 context of the associated global object.
2259
2260 Treat byte-order marks as whitespace characters.
ager@chromium.org32912102009-01-16 10:38:43 +00002261
2262
ager@chromium.org870a0b62008-11-04 11:43:05 +000022632008-11-04: Version 0.4.3
2264
2265 Added support for API accessors that prohibit overwriting by
2266 accessors defined in JavaScript code by using __defineGetter__ and
2267 __defineSetter__.
2268
2269 Improved handling of conditionals in test status files.
2270
2271 Introduced access control in propertyIsEnumerable.
2272
2273 Improved performance of some string operations by caching
2274 information about the type of the string between operations.
2275
2276 Fixed bug in fast-case code for switch statements that only have
2277 integer labels.
ager@chromium.org32912102009-01-16 10:38:43 +00002278
ager@chromium.org870a0b62008-11-04 11:43:05 +00002279
kasperl@chromium.org9bbf9682008-10-30 11:53:07 +000022802008-10-30: Version 0.4.2
2281
2282 Improved performance of Array.prototype.concat by moving the
2283 implementation to C++ (issue 123).
2284
2285 Fixed heap growth policy to avoid growing old space to its maximum
2286 capacity before doing a garbage collection and fixed issue that
2287 would lead to artificial out of memory situations (issue 129).
2288
2289 Fixed Date.prototype.toLocaleDateString to return the date in the
2290 same format as WebKit.
2291
2292 Added missing initialization checks to debugger API.
2293
2294 Added removing of unused maps during GC.
2295
2296
kasperl@chromium.org9fe21c62008-10-28 08:53:51 +000022972008-10-28: Version 0.4.1
2298
2299 Added caching of RegExp data in compilation cache.
2300
2301 Added Visual Studio project file for d8 shell.
2302
2303 Fixed function call performance regression introduced in version
2304 0.4.0 when splitting the global object in two parts (issue 120).
2305
2306 Fixed issue 131 by checking for empty handles before throwing and
2307 reporting exceptions.
2308
2309
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +000023102008-10-23: Version 0.4.0
2311
2312 Split the global object into two parts: The state holding global
2313 object and the global object proxy.
2314
2315 Fixed bug that affected the value of an assignment to an element
2316 in certain cases (issue 116).
2317
2318 Added GetPropertyNames functionality (issue 33) and extra Date
2319 functions (issue 77) to the API.
2320
2321 Changed WeakReferenceCallback to take a Persistent<Value> instead
2322 of a Persistent<Object> (issue 101).
2323
2324 Fixed issues with message reporting for exceptions in try-finally
2325 blocks (issues 73 and 75).
2326
ager@chromium.org32912102009-01-16 10:38:43 +00002327 Optimized flattening of strings and string equality checking.
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +00002328
2329 Improved Boyer-Moore implementation for faster indexOf operations.
2330
2331 Added development shell (d8) which includes counters and
2332 completion support.
2333
2334 Fixed problem with the receiver passed to functions called from
2335 eval (issue 124).
2336
2337
ager@chromium.org7c537e22008-10-16 08:43:32 +000023382008-10-16: Version 0.3.5
2339
2340 Improved string hash-code distribution by excluding bit-field bits
2341 from the hash-code.
2342
2343 Changed string search algorithm used in indexOf from KMP to
2344 Boyer-Moore.
2345
2346 Improved the generated code for the instanceof operator.
2347
2348 Improved performance of slow-case string equality checks by
2349 specializing the code based on the string representation.
2350
2351 Improve the handling of out-of-memory situations (issue 70).
2352
2353 Improved performance of strict equality checks.
2354
2355 Improved profiler output to make it easier to see anonymous
2356 functions.
2357
2358 Improved performance of slow-case keyed loads.
2359
2360 Improved property access performance by allocating a number of
2361 properties in the front object.
2362
2363 Changed the toString behavior on the built-in object constructors
2364 to print [native code] instead of the actual source. Some web
2365 applications do not like constructors with complex toString
2366 results.
ager@chromium.org32912102009-01-16 10:38:43 +00002367
ager@chromium.org7c537e22008-10-16 08:43:32 +00002368
kasperl@chromium.org41044eb2008-10-06 08:24:46 +000023692008-10-06: Version 0.3.4
2370
2371 Changed Array.prototype.sort to use quick sort.
2372
2373 Fixed code generation issue where leaving a finally block with
2374 break or continue would accumulate elements on the expression
2375 stack (issue 86).
2376
2377 Made sure that the name accessor on functions returns the expected
2378 names for builtin JavaScript functions and C++ callback functions.
2379
2380 Added fast case code for extending the property storage array of
2381 JavaScript objects.
2382
2383 Ported switch statement optimizations introduced in version 0.3.3
2384 to the ARM code generator.
2385
2386 Allowed GCC to use strict-aliasing rules when compiling.
2387
2388 Improved performance of arguments object allocation by taking care
2389 of arguments adaptor frames in the generated code.
2390
2391 Updated the V8 benchmark suite to version 2.
2392
2393
ager@chromium.org236ad962008-09-25 09:45:57 +000023942008-09-25: Version 0.3.3
2395
2396 Improved handling of relocation information to enable more
2397 peep-hole optimizations.
2398
2399 Optimized switch statements where all labels are constant small
2400 integers.
2401
2402 Optimized String.prototype.indexOf for common cases.
2403
2404 Fixed more build issues (issue 80).
2405
2406 Fixed a couple of profiler issues.
2407
2408 Fixed bug where the body of a function created using the Function
2409 constructor was not allowed to end with a single-line comment
2410 (issue 85).
2411
2412 Improved handling of object literals by canonicalizing object
2413 literal maps. This will allow JSON objects with the same set of
2414 properties to share the same map making inline caching work better
2415 for JSON objects.
ager@chromium.org32912102009-01-16 10:38:43 +00002416
ager@chromium.org236ad962008-09-25 09:45:57 +00002417
kasperl@chromium.orgb9123622008-09-17 14:05:56 +000024182008-09-17: Version 0.3.2
2419
2420 Generalized the EvalCache into a CompilationCache and enabled it
2421 for scripts too. The current strategy is to retire all entries
2422 whenever a mark-sweep collection is started.
2423
2424 Fixed bug where switch statements containing only a default case
2425 would lead to an unbalanced stack (issue 69).
2426
2427 Fixed bug that made access to the function in a named function
2428 expression impossible in certain situations (issue 24).
2429
2430 Fixed even more build issues.
2431
2432 Optimized calling conventions on ARM. The conventions on ARM and
2433 IA-32 now match.
2434
2435 Removed static initializers for flags and counters.
2436
2437 Improved inline caching behavior for uncommon cases where lazily
2438 loading Date and RegExp code could force certain code paths go
2439 megamorphic.
2440
2441 Removed arguments adaption for builtins written in C++. This
2442 makes Array.prototype.push and Array.prototype.pop slightly
2443 faster.
2444
2445
ager@chromium.org9258b6b2008-09-11 09:11:10 +000024462008-09-11: Version 0.3.1
2447
2448 Fixed a number of build issues.
2449
2450 Fixed problem with missing I-cache flusing on ARM.
2451
2452 Changed space layout in memory management by splitting up
2453 code space into old data space and code space.
2454
2455 Added utf-8 conversion support to the API (issue 57).
2456
2457 Optimized repeated calls to eval with the same strings. These
2458 repeated calls are common in web applications.
2459
2460 Added Xcode project file.
2461
2462 Optimized a couple of Array operation.
2463
2464 Fixed parser bug by checking for end-of-string when parsing break
2465 and continue (issue 35).
2466
2467 Fixed problem where asian characters were not categorized as
2468 letters.
2469
2470 Fixed bug that disallowed calling functions fetched from an array
2471 using a string as an array index (issue 32).
2472
2473 Fixed bug where the internal field count on object templates were
2474 sometimes ignored (issue 54).
2475
2476 Added -f option to the shell sample for compatibility with other
2477 engines (issue 18).
2478
2479 Added source info to TryCatches in the API.
2480
2481 Fixed problem where the seed for the random number generator was
2482 clipped in a double to unsigned int conversion.
2483
2484 Fixed bug where cons string symbols were sometimes converted to
2485 non-symbol flat strings during GC.
2486
2487 Fixed bug in error reporting when attempting to convert null to an
2488 object.
ager@chromium.org32912102009-01-16 10:38:43 +00002489
2490
ager@chromium.orgc27e4e72008-09-04 13:52:27 +000024912008-09-04: Version 0.3.0
2492
2493 Added support for running tests on the ARM simulator.
2494
2495 Fixed bug in the 'in' operator where negative indices were not
2496 treated correctly.
2497
2498 Fixed build issues on gcc-4.3.1.
2499
2500 Changed Date.prototype.toLocaleTimeString to not print the
2501 timezone part of the time.
2502
2503 Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
2504 with user code.
2505
2506
v8.team.kasperl727e9952008-09-02 14:56:44 +000025072008-09-02: Version 0.2.5
2508
2509 Renamed the top level directory 'public' to 'include'.
2510
2511 Added 'env' option to the SCons build scripts to support
2512 overriding the ENV part of the build environment. This is mostly
2513 to support Windows builds in cases where SCons cannot find the
2514 correct paths to the Windows SDK, as these paths cannot be passed
2515 through shell environment variables.
2516
2517 Enabled "Buffer Security Check" on for the Windows SCons build and
2518 added the linker option /OPT:ICF as an optimization.
2519
2520 Added the V8 benchmark suite to the repository.
2521
2522
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +000025232008-09-01: Version 0.2.4
2524
2525 Included mjsunit JavaScript test suite and C++ unit tests.
2526
2527 Changed the shell sample to not print the result of executing a
2528 script provided on the command line.
2529
2530 Fixed issue when building samples on Windows using a shared V8
2531 library. Added visibility option on Linux build which makes the
2532 generated library 18% smaller.
2533
2534 Changed build system to accept multiple build modes in one build
2535 and generate separate objects, libraries and executables for each
2536 mode.
2537
2538 Removed deferred negation optimization (a * -b => -(a * b)) since
2539 this visibly changes operand conversion order.
2540
2541 Improved parsing performance by introducing stack guard in
2542 preparsing. Without a stack guard preparsing always bails out
2543 with stack overflow.
2544
2545 Changed shell sample to take flags directly from the command-line.
2546 Added API call that implements this.
2547
2548 Added load, quit and version functions to the shell sample so it's
2549 easier to run benchmarks and tests.
2550
2551 Fixed issue with building samples and cctests on 64-bit machines.
2552
2553 Fixed bug in the runtime system where the prototype chain was not
2554 always searched for a setter when setting a property that does not
2555 exist locally.
ager@chromium.org32912102009-01-16 10:38:43 +00002556
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +00002557
mads.s.agercbaa0602008-08-14 13:41:48 +000025582008-08-14: Version 0.2.3
2559
2560 Improved performance of garbage collection by moving the
2561 function that updates pointers during compacting collection
2562 into the updating visitor. This gives the compiler a better
2563 chance to inline and avoid a function call per (potential)
2564 pointer.
2565
2566 Extended the shell sample with a --runtime-flags option.
2567
2568 Added Visual Studio project files for the shell.cc and
2569 process.cc samples.
2570
2571
25722008-08-13: Version 0.2.2
mads.s.ager31e71382008-08-13 09:32:07 +00002573
2574 Improved performance of garbage collection by changing the way
2575 we use the marking stack in the event of stack overflow during
2576 full garbage collection and by changing the way we mark roots.
2577
2578 Cleaned up ARM version by removing top of stack caching and by
2579 introducing push/pop elimination.
2580
2581 Cleaned up the way runtime functions are called to allow
2582 runtime calls with no arguments.
2583
2584 Changed Windows build options to make sure that exceptions are
2585 disabled and that optimization flags are enabled.
2586
2587 Added first version of Visual Studio project files.
2588
2589
mads.s.agercbaa0602008-08-14 13:41:48 +000025902008-08-06: Version 0.2.1
mads.s.ager@gmail.com769cc962008-08-06 10:02:49 +00002591
2592 Improved performance of unary addition by avoiding runtime calls.
2593
2594 Fixed the handling of '>' and '<=' to use right-to-left conversion
2595 and left-to-right evaluation as specified by ECMA-262.
2596
2597 Fixed a branch elimination bug on the ARM platform where incorrect
2598 code was generated because of overly aggressive branch
2599 elimination.
2600
2601 Improved performance of code that repeatedly assigns the same
2602 function to the same property of different objects with the same
2603 map.
2604
2605 Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler
2606 no longer expects DEBUG to be defined.
2607
2608 Added platform-nullos.cc to serve as the basis for new platform
2609 implementations.
2610
mads.s.ager31e71382008-08-13 09:32:07 +00002611
mads.s.agercbaa0602008-08-14 13:41:48 +000026122008-07-30: Version 0.2.0
kasper.lund7276f142008-07-30 08:49:36 +00002613
2614 Changed all text files to have native svn:eol-style.
2615
2616 Added a few samples and support for building them. The samples
2617 include a simple shell that can be used to benchmark and test V8.
2618
2619 Changed V8::GetVersion to return the version as a string.
2620
2621 Added source for lazily loaded scripts to snapshots and made
2622 serialization non-destructive.
2623
2624 Improved ARM support by fixing the write barrier code to use
2625 aligned loads and stores and by removing premature locals
2626 optimization that relied on broken support for callee-saved
2627 registers (removed).
2628
2629 Refactored the code for marking live objects during garbage
2630 collection and the code for allocating objects in paged
2631 spaces. Introduced an abstraction for the map word of a heap-
2632 allocated object and changed the memory allocator to allocate
2633 executable memory only for spaces that may contain code objects.
2634
2635 Moved StringBuilder to utils.h and ScopedLock to platform.h, where
2636 they can be used by debugging and logging modules. Added
2637 thread-safe message queues for dealing with debugger events.
2638
2639 Fixed the source code reported by toString for certain builtin
2640 empty functions and made sure that the prototype property of a
2641 function is enumerable.
2642
2643 Improved performance of converting values to condition flags in
2644 generated code.
2645
2646 Merged disassembler-{arch} files.
2647
2648
mads.s.agercbaa0602008-08-14 13:41:48 +000026492008-07-28: Version 0.1.4
kasper.lundaf4734f2008-07-28 12:50:18 +00002650
2651 Added support for storing JavaScript stack traces in a stack
2652 allocated buffer to make it visible in shallow core dumps.
2653 Controlled by the --preallocate-message-memory flag which is
2654 disabled by default.
2655
2656
mads.s.agercbaa0602008-08-14 13:41:48 +000026572008-07-25: Version 0.1.3
kasper.lund44510672008-07-25 07:37:58 +00002658
2659 Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
2660 map transitions would count as properties.
2661
2662 Allowed aliased eval invocations by treating them as evals in the
2663 global context. This may change in the future.
2664
2665 Added support for accessing the last entered context through the
2666 API and renamed Context::Current to Context::GetCurrent and
2667 Context::GetSecurityContext to Context::GetCurrentSecurityContext.
2668
2669 Fixed bug in the debugger that would cause the debugger scripts to
2670 be recursively loaded and changed all disabling of interrupts to
2671 be block-structured.
2672
2673 Made snapshot data read-only to allow it to be more easily shared
2674 across multiple users of V8 when linked as a shared library.
2675
2676
mads.s.agercbaa0602008-08-14 13:41:48 +000026772008-07-16: Version 0.1.2
kasper.lund212ac232008-07-16 07:07:30 +00002678
2679 Fixed building on Mac OS X by recognizing i386 and friends as
2680 IA-32 platforms.
2681
2682 Added propagation of stack overflow exceptions that occur while
2683 compiling nested functions.
2684
2685 Improved debugger with support for recursive break points and
2686 handling of exceptions that occur in the debugger JavaScript code.
2687
2688 Renamed GetInternal to GetInternalField and SetInternal to
2689 SetInternalField in the API and moved InternalFieldCount and
2690 SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
2691
2692
mads.s.agercbaa0602008-08-14 13:41:48 +000026932008-07-09: Version 0.1.1
kasper.lundbd3ec4e2008-07-09 11:06:54 +00002694
2695 Fixed bug in stack overflow check code for IA-32 targets where a
2696 non-tagged value in register eax was pushed to the stack.
2697
2698 Fixed potential quadratic behavior when converting strings to
2699 numbers.
2700
2701 Fixed bug where the return value from Object::SetProperty could
2702 end up being the property holder instead of the written value.
2703
2704 Improved debugger support by allowing nested break points and by
2705 dealing with stack-overflows when compiling functions before
2706 setting break points in them.
2707
2708
mads.s.agercbaa0602008-08-14 13:41:48 +000027092008-07-03: Version 0.1.0
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00002710
kasper.lundbd3ec4e2008-07-09 11:06:54 +00002711 Initial export.
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00002712