blob: 95e4b1ea1cda6962cacf4866a3cf6acf943b62f3 [file] [log] [blame]
mstarzinger@chromium.org3233d2f2012-03-14 11:16:03 +000012012-03-14: Version 3.9.19
2
3 Ensure there is a smi check of the receiver for global load and call
4 ICs (Chromium issue 117794).
5
6 Performance and stability improvements on all platforms.
7
8
yangguo@chromium.org154ff992012-03-13 08:09:54 +000092012-03-13: Version 3.9.18
10
11 Ensure consistency of Math.sqrt on Intel platforms.
12
13 Remove static initializers in v8. (issue 1859)
14
15 Add explicit dependency on v8_base in the GYP-based build.
16
17 Performance and stability improvements on all platforms.
18
19
svenpanne@chromium.org4efbdb12012-03-12 08:18:42 +0000202012-03-12: Version 3.9.17
21
22 Fixed VFP detection through compiler defines. (issue 1996)
23
24 Add Code-related fields to postmortem metadata.
25
26 Performance and stability improvements on all platforms.
27
28
erik.corry@gmail.combbceb572012-03-09 10:52:05 +0000292012-03-09: Version 3.9.16
30
31 Added basic interface inference for modules (behind the --harmony flag).
32
33 Added Object.is, Number.isFinite, Number.isNaN.
34
35 Updated the Unicode tables to Unicode version 6.1.0.
36
37 Performance and stability improvements on all platforms.
38
39
ulan@chromium.org9a21ec42012-03-06 08:42:24 +0000402012-03-06: Version 3.9.15
41
42 Fix the heap profiler crash caused by memory layout changes between
43 passes.
44
45 Fix Error.prototype.toString to throw TypeError. (issue 1980)
46
47 Fix double-rounding in strtod for MinGW. (issue 1062)
48
49 Fix corrupted snapshot serializaton on ia32. (Chromium issue v8/1985)
50
51 Performance and stability improvements on all platforms.
52
53
fschneider@chromium.org35814e52012-03-01 15:43:35 +0000542012-03-01: Version 3.9.14
55
56 Performance and stability improvements on all platforms.
57
58
ulan@chromium.org812308e2012-02-29 15:58:45 +0000592012-02-29: Version 3.9.13
60
fschneider@chromium.org35814e52012-03-01 15:43:35 +000061 Added code kind check before preparing for OSR. (issue 1900, 115073)
ulan@chromium.org812308e2012-02-29 15:58:45 +000062
fschneider@chromium.org35814e52012-03-01 15:43:35 +000063 Fixed issue 1802: Pass zone explicitly to zone-allocation on x64 and
64 ARM.
ulan@chromium.org812308e2012-02-29 15:58:45 +000065
fschneider@chromium.org35814e52012-03-01 15:43:35 +000066 Ported string construct stub to x64. (issue 849)
ulan@chromium.org812308e2012-02-29 15:58:45 +000067
68 Performance and stability improvements on all platforms.
69
70
ulan@chromium.org967e2702012-02-28 09:49:15 +0000712012-02-28: Version 3.9.12
72
fschneider@chromium.org35814e52012-03-01 15:43:35 +000073 Fixed the negative lookup stub to handle deleted entries in a
74 dictionary. (issue 1964)
ulan@chromium.org967e2702012-02-28 09:49:15 +000075
fschneider@chromium.org35814e52012-03-01 15:43:35 +000076 Added a new API where the host can supply a callback function. The
ulan@chromium.org967e2702012-02-28 09:49:15 +000077 callback function can resolve the location of a return address on stack
78 to the location where a return-address rewriting profiler stashed the
79 original return address.
80
fschneider@chromium.org35814e52012-03-01 15:43:35 +000081 Fixed Chromium issue http://crbug.com/115646: When compiling for-in
82 pass correct context value to the increment instruction.
ulan@chromium.org967e2702012-02-28 09:49:15 +000083
fschneider@chromium.org35814e52012-03-01 15:43:35 +000084 Fixed issue 1853: Update breakpoints set with partial file name after
85 compile.
ulan@chromium.org967e2702012-02-28 09:49:15 +000086
87
yangguo@chromium.orga7d3df92012-02-27 11:46:55 +0000882012-02-27: Version 3.9.11
89
fschneider@chromium.org35814e52012-03-01 15:43:35 +000090 Made 'module' a context-sensitive keyword (V8 issue 1957).
yangguo@chromium.orga7d3df92012-02-27 11:46:55 +000091
92
yangguo@chromium.orgab30bb82012-02-24 14:41:46 +0000932012-02-24: Version 3.9.10
94
95 Fixed V8 issues 1322, 1772 and 1969.
96
97 Conformance improvements.
98
99 Performance and stability improvements on all platforms.
100
101
kmillikin@chromium.orgbe6bd102012-02-23 08:45:21 +00001022012-02-23: Version 3.9.9
103
104 Supported fast case for-in in Crankshaft.
105
106 Sped up heap snapshot serialization and dominators construction.
107
108 Randomized allocation addresses on windows. (Chromium issue 115151)
109
110 Fixed compilation with MinGW-w64. (issue 1943)
111
112 Fixed incorrect value of assignments to non-extensible properties.
113
114 Fixed a crash bug in generated code on ia32.
115
116 Performance and stability improvements on all platforms.
117
118
jkummerow@chromium.orgf7a58842012-02-21 10:08:21 +00001192012-02-21: Version 3.9.8
120
121 Fixed memory leak and missing #include in StartupDataDecompressor
122 (issue 1960).
123
124 Renamed static methods to avoid shadowing virtual methods and fix Clang
125 C++11 compile error.
126
127 Fixed sequence of element access in array builtins (issue 1790).
128
129 Performance and stability improvements on all platforms.
130
131
yangguo@chromium.org56454712012-02-16 15:33:53 +00001322012-02-16: Version 3.9.7
133
134 Fixed V8 issues 1322, 1878, 1942, 1945 and Chromium issue 113924.
135
136 Fixed GCC-4.7 warnings.
137
138 Added Navier-Stokes benchmark.
139
140 Performance and stability improvements on all platforms.
141
142
ulan@chromium.org65a89c22012-02-14 11:46:07 +00001432012-02-14: Version 3.9.6
144
fschneider@chromium.org35814e52012-03-01 15:43:35 +0000145 Fixed template-related linker error. (issue 1936)
ulan@chromium.org65a89c22012-02-14 11:46:07 +0000146
fschneider@chromium.org35814e52012-03-01 15:43:35 +0000147 Allowed inlining of functions containing object literals. (issue 1322)
ulan@chromium.org65a89c22012-02-14 11:46:07 +0000148
fschneider@chromium.org35814e52012-03-01 15:43:35 +0000149 Added --call-graph-size option to tickprocessor. (issue 1937)
ulan@chromium.org65a89c22012-02-14 11:46:07 +0000150
151 Heap Snapshot maximum size limit is too low for really big apps. At the
152 moment the limit is 256MB. (Chromium issue 113015)
153
154 Performance and stability improvements on all platforms.
155
156
yangguo@chromium.org78d1ad42012-02-09 13:53:47 +00001572012-02-09: Version 3.9.5
158
159 Removed unused command line flags.
160
161 Performance and stability improvements on all platforms.
162
163
svenpanne@chromium.orgb1df11d2012-02-08 10:26:21 +00001642012-02-08: Version 3.9.4
165
166 Properly initialize element-transitioning array literals on ARM.
167 (issue 1930)
168
169 Bug fixes on all platforms.
170
171
jkummerow@chromium.orgab7dad42012-02-07 12:07:34 +00001722012-02-07: Version 3.9.3
173
174 When rethrowing an exception, print the stack trace of its original
175 site instead of rethrow site (Chromium issue 60240).
176
177 Increased size of small stacks from 32k to 64k to avoid hitting limits
178 in Chromium (Chromium issue 112843).
179
180
rossberg@chromium.org994edf62012-02-06 10:12:55 +00001812012-02-06: Version 3.9.2
182
fschneider@chromium.org35814e52012-03-01 15:43:35 +0000183 Added timestamp to --trace-gc output. (issue 1932)
rossberg@chromium.org994edf62012-02-06 10:12:55 +0000184
185 Heap profiler reports implicit references.
186
187 Optionally export metadata with libv8 to enable debuggers to inspect V8
188 state.
189
190
jkummerow@chromium.org1145ef82012-02-02 16:21:15 +00001912012-02-02: Version 3.9.1
192
193 Fixed memory leak in NativeObjectsExplorer::FindOrAddGroupInfo
194 (Chromium issue 112315).
195
196 Fixed a crash in dev tools (Chromium issue 107996).
197
198 Added 'dependencies_traverse': 1 to v8 GYP target.
199
200 Performance and stability improvements on all platforms.
201
202
danno@chromium.orgfa458e42012-02-01 10:48:36 +00002032012-02-01: Version 3.9.0
204
fschneider@chromium.org35814e52012-03-01 15:43:35 +0000205 Reduced memory use immediately after starting V8.
danno@chromium.orgfa458e42012-02-01 10:48:36 +0000206
207 Stability fixes and performance improvements on all platforms.
208
209
yangguo@chromium.org659ceec2012-01-26 07:37:54 +00002102012-01-26: Version 3.8.9
211
212 Flush number string cache on GC (issue 1605).
213
214 Provide access to function inferred name with
215 v8::Function::GetInferredName in V8 public API.
216
217 Fix building with Clang (issue 1912).
218
219 Reduce the space used by the stack for the profiling thread.
220
221 Fix misleading documentation of v8::Locker (issue 542).
222
223 Introduce readbinary function in d8 to read binary files.
224
225 Performance and stability improvements on all platforms.
226
227
jkummerow@chromium.org05ed9dd2012-01-23 14:42:48 +00002282012-01-23: Version 3.8.8
229
230 Limited number of loop iterations in Heap::ReserveSpace
231 (Chromium issue 99027).
232
233 Fixed solaris build (VirtualMemory) (issue 1761).
234
235 Fixed strict vs. non-strict handling of function proxies in
236 higher-order array and string methods.
237
238 Enabled asynchronous remote debugging with d8 (issue 1691).
239
240 Stability and performance improvements on all platforms.
241
242
ulan@chromium.org2efb9002012-01-19 15:36:35 +00002432012-01-19: Version 3.8.7
244
245 Ensure that LRandom restores rsi after call to the C function on x64.
246 (Chromium issue http://crbug.com/110509)
247
248 Fixing include issues on *bsd when building with scons.
249 (issue 1897)
250
251 Provide a switch to specify -fno-strict-aliasing
252 (issue 1887)
253
254 Move WIN32 define from standalone.gypi to common.gypi
255 (issue 1760)
256
257 Fix corner-case in heap size estimation.
258 (issue 1893)
259
260 Fix and enable NEW_NON_STRICT_FAST ArgumentsAccess stub on x64.
261 (issue 1903)
262
263 Performance improvements and bug fixes.
264
265
erik.corry@gmail.comf2038fb2012-01-16 11:42:08 +00002662012-01-16: Version 3.8.6
267
268 Add primitive WebGL array support to d8.
269
270 Improve heap size estimation (issue 1893).
271
272 Hash collision DOS workaround extended from string keys
273 to numeric keys.
274
275 Provide an API for iterating through all external strings referenced
276 from the JS heap.
277
278 Adjust position recorded for call expressions. http://crbug.com/109195
279
280 Fix GC crash related to instanceof. http://crbug.com/109448
281
282 Performance improvements and bug fixes.
283
284
rossberg@chromium.orgfab14982012-01-05 15:02:15 +00002852012-01-05: Version 3.8.5
286
287 Fix broken test that assumes that no GC can clear the regexp cache (GC
288 can happen at any time due to Crankshaft).
289
290 Fix handling of bogus receivers for Harmony collections. (issue 1884)
291
292 Add netbsd support to gyp build.
293
294 Determine page size at runtime on posix platforms.
295
296 Ensure that store buffer filtering hash sets are cleared after
297 StoreBuffer::Filter.
298
299 Randomize the seed used for string hashing. This helps guard against
300 CPU-eating DOS attacks against node.js servers. Based on code from
301 Bert Belder. This version only solves the issue for those that compile
302 V8 themselves or those that do not use snapshots. A snapshot-based
303 precompiled V8 will still have predictable string hash codes.
304
305 Implement callback when script finishes running in V8 API.
306
307 Improve performance of Math.min and Math.max for the case of two
308 arguments. (issue 1325)
309
310
svenpanne@chromium.org3c93e772012-01-02 09:26:59 +00003112012-01-02: Version 3.8.4
312
313 Performance improvements for large Smi-only arrays.
314
315 Fixed InternalArrays construction. (issue 1878)
316
317
danno@chromium.orgbf0c8202011-12-27 10:09:42 +00003182011-12-27: Version 3.8.3
319
320 Avoid embedding new space objects into code objects in the lithium gap
321 resolver. (chromium:108296)
322
323 Bug fixes and performance optimizations on all platforms.
324
325
danno@chromium.orge78f9fc2011-12-21 08:29:34 +00003262011-12-21: Version 3.8.2
327
328 Add max optimization flag to v8 gyp build to ensure V8 is always built
329 fully optimized in Chrome.
330
331 MIPS: Bring MIPS to parity with other platforms.
332
333 Optimizations and stability improvements on all platforms.
334
335
ricow@chromium.org7ad65222011-12-19 12:13:11 +00003362011-12-19: Version 3.8.1
337
338 Fixed GCC 4.7 warnings. Patch from Tobias Burnus.
339
340 Stability improvements on all platforms.
341
342
ricow@chromium.org64e3a4b2011-12-13 08:07:27 +00003432011-12-13: Version 3.8.0
344
345 Fixed handling of arrays in DefineOwnProperty. (issue 1756)
346
347 Sync parser and preparser on do-while and return statements.
348 (issue 1856)
349
350 Fixed another corner case for DefineOwnProperty on arrays (issue 1756).
351
352 Stability and performance improvements on all platforms.
353
354
svenpanne@chromium.orgecb9dd62011-12-01 08:22:35 +00003552011-12-01: Version 3.7.12
356
357 Increase tick interval for the android platform.
358
359 Fix a bug in the register allocator. (chromium:105112)
360
361 Fix handling of recompiling code. (chromium:105375, v8:1782)
362
363 Start incremental marking on idle notification. (v8:1458)
364
365 Build fixes for various platforms.
366
367 Various performance improvements.
368
369
mstarzinger@chromium.org1b3afd12011-11-29 14:28:56 +00003702011-11-29: Version 3.7.11
371
372 Fixed bug when generating padding to ensure space for lazy
373 deoptimization.
374 (issue 1846)
375
376 Further reduced pause times due to GC.
377
378 Stability and performance improvements on all platforms.
379
380
mstarzinger@chromium.orgf8c6bd52011-11-23 12:13:52 +00003812011-11-23: Version 3.7.10
382
383 Set maximum length of FixedArray in terms of elements instead an
384 absolute number of bytes.
385 (Chromium issue 103103)
386
387 Stability and performance improvements on all platforms.
388
389
3902011-11-21: Version 3.7.9
391
392 Removed exit-time destructors.
393
394 Stability and performance improvements on all platforms.
395
396
ricow@chromium.org27bf2882011-11-17 08:34:43 +00003972011-11-17: Version 3.7.8
398
mstarzinger@chromium.orgf8c6bd52011-11-23 12:13:52 +0000399 Removed hidden prototype from builtins, i.e., deleting an overridden
ricow@chromium.org27bf2882011-11-17 08:34:43 +0000400 function on builtins will not make the original function reappear.
401
402 Added NetBSD support for scons build.
403
404 Performance improvements on all platforms.
405
406
jkummerow@chromium.org04e4f1e2011-11-14 13:36:17 +00004072011-11-14: Version 3.7.7
408
409 Fix missing fast property accessors in heap snapshots.
410 (issue 1818)
411
412
danno@chromium.org2c456792011-11-11 12:00:53 +00004132011-11-11: Version 3.7.6
414
415 Fixed filtering of store buffer for large object pages.
416 (issue 1817)
417
418 Fixed generated hash function on all platforms.
419 (issue 1808)
420
421 Fixed Heap::Shrink to ensure that it does not free pages that are
422 still in use.
423 (Chromium issue 100414)
424
jkummerow@chromium.org04e4f1e2011-11-14 13:36:17 +0000425 Stability and performance improvements on all platforms.
danno@chromium.org2c456792011-11-11 12:00:53 +0000426
427
danno@chromium.orgc612e022011-11-10 11:38:15 +00004282011-11-10: Version 3.7.5
429
430 Added initial gyp infrastructure for MIPS.
431
jkummerow@chromium.org04e4f1e2011-11-14 13:36:17 +0000432 Implemented performance improvements to the incremental garbage
danno@chromium.orgc612e022011-11-10 11:38:15 +0000433 collector.
434
jkummerow@chromium.org04e4f1e2011-11-14 13:36:17 +0000435 Added optimizations and stability improvements on all platforms.
danno@chromium.orgc612e022011-11-10 11:38:15 +0000436
437
jkummerow@chromium.orgc3b37122011-11-07 10:14:12 +00004382011-11-07: Version 3.7.4
439
440 Proper "libv8.so.3.7.4" SONAME for Linux shared library (issue 1786).
441
442 Fix Harmony sets and maps to allow null and undefined as keys
443 (still hidden behind --harmony flag) (issue 1622).
444
445 Implement VirtualMemory on FreeBSD to fix build (issue 1807).
446
447 Enable VFP instructions for Android.
448
449 Fix error handling in Date.prototype.toISOString (issue 1792).
450
451 Bug fixes and performance improvements for all platforms.
452
453 Not officially supported but noteworthy: Crankshaft for MIPS :-)
454
455
erik.corry@gmail.combecbc522011-10-28 07:45:20 +00004562011-10-28: Version 3.7.3
457
458 Slight deoptimization as a workaround for issue with jslint: Issue
459 1789.
460
461
erik.corry@gmail.com6e28b562011-10-27 14:20:17 +00004622011-10-27: Version 3.7.2
463
464 Fix bug in deoptimization. Known issue with jslint: Issue 1789.
465
466
erik.corry@gmail.com394dbcf2011-10-27 07:38:48 +00004672011-10-26: Version 3.7.1
468
469 Achieved 33% speedup in debug-mode tests.
470
471 Removed special casing of calls to RegExp test and exec methods with no
472 argument. Now matches new JSC behaviour. crbug.com/75740.
473
474 Return the empty string on cyclic references in toString (ES5
475 conformance).
476
477 Fixed bug triggered by JSBeautifier. crbug.com/100409.
478
479 Made Math.random state per-context instead of per-process (issue 864).
480
481 Fixed stack traces to skip native functions.
482
483 Make snapshots (new contexts) smaller and faster.
484
485 Fixed handling of Function.apply for non-array arguments.
486
487 Fixed evaluation order in defineProperties to match FireFox.
488
489 Fixed handling of non-object receivers for array builtins,
490 crbug.com/100702.
491
492 Multiple fixes to improve compliance with test262.
493
494 Fixed compatibility with older Android releases.
495
496 Fixed compilation with gcc-4.5.3.
497
498 Improved performance of WriteUtf8, issue 1665.
499
500 Made native syntax an early error in the preparser.
501
502 Fixed issues 793 and 893 relating to Function.prototype.bind.
503
504 Improved let, const, Set and Map support and other Harmony features
505 (behind the --harmony flag).
506
507 Changed evaluation order for > and <= to match ES5 instead of ES3.
508
509 Bug fixes and performance improvements on all platforms.
510
511
rossberg@chromium.orgb4b2aa62011-10-13 09:49:59 +00005122011-10-13: Version 3.7.0
513
514 Fixed array handling for Object.defineOwnProperty (ES5 conformance).
515
516 Fixed issue 1757 (string slices of external strings).
517
518 Fixed issue 1759 (ARM).
519
520 Added flag --noclever-optimizations to disable some things that
521 caused trouble in the past.
522
523 Added flag --stress-compaction for testing.
524
525 Added flag --harmony to activate all experimental Harmony features.
526
527
svenpanne@chromium.orga8bb4d92011-10-10 13:20:40 +00005282011-10-10: Version 3.6.6
529
530 Added a GC pause visualization tool.
531
532 Added presubmit=no and werror=no flags to Makefile.
533
534 ES5/Test262 conformance improvements.
535
536 Fixed compilation issues with GCC 4.5.x (issue 1743).
537
538 Bug fixes and performance improvements on all platforms.
539
540
erik.corry@gmail.comc3b670f2011-10-05 21:44:48 +00005412011-10-05: Version 3.6.5
542
543 New incremental garbage collector.
544
545 Removed the hard heap size limit (soft heap size limit is still
546 700/1400Mbytes by default).
547
548 Implemented ES5 generic Array.prototype.toString (Issue 1361).
549
550 V8 now allows surrogate pair codes in decodeURIComponent (Issue 1415).
551
552 Fixed x64 RegExp start-of-string bug (Issues 1746, 1748).
553
554 Fixed propertyIsEnumerable for numeric properties (Issue 1692).
555
556 Fixed the MinGW and Windows 2000 builds.
557
558 Fixed "Prototype chain is not searched if named property handler does
559 not set a property" (Issue 1636).
560
561 Made the RegExp.prototype object be a RegExp object (Issue 1217).
562
563 Disallowed future reserved words as labels in strict mode.
564
565 Fixed string split to correctly coerce the separator to a string
566 (Issue 1711).
567
568 API: Added an optional source length field to the Extension
569 constructor.
570
571 API: Added Debug::DisableAgent to match existing Debug::EnableAgent
572 (Issue 1573).
573
574 Added "native" target to Makefile for the benefit of Linux distros.
575
576 Fixed: debugger stops stepping outside evaluate (Issue 1639).
577
578 More work on ES-Harmony proxies. Still hidden behind a flag.
579
580 Bug fixes and performance improvements on all platforms.
581
582
lrn@chromium.org34e60782011-09-15 07:25:40 +00005832011-09-15: Version 3.6.4
584
585 Fixed d8's broken readline history.
586
587 Removed the need for code delete events in CPU profiler (Issue 1466).
588
589 Fixed debugger stepping next with trycatch recursion (Issue 1639).
590
591 Fixing parallel execution in d8 (with -p) and some memory leaks.
592
593 Support for precise stepping in functions compiled before debugging was
594 started (step 1).
595
596
kmillikin@chromium.org83e16822011-09-13 08:21:47 +00005972011-09-13: Version 3.6.3
598
599 Implemented better support of typed arrays in the d8 shell.
600
601 Bug fixes and performance improvements on all platforms.
602
603
ricow@chromium.org55ee8072011-09-08 16:33:10 +00006042011-09-08: Version 3.6.2
605
606 Added "dependencies" target to top-level Makefile.
607
608 Added ability to turn profiler on/off in d8.
609
610 Added "soname_version" parameter to common.gypi, v8.gyp, and Makefile.
611
612 Fixed several crash bugs.
613
614
jkummerow@chromium.org486075a2011-09-07 12:44:28 +00006152011-09-07: Version 3.6.1
616
617 Fixed a bug in abrupt exit from with or catch inside finally.
618
619 Fixed possible crash in FixedDoubleArray::Initialize() (Chromium
620 issue 95113).
621
622 Fixed a bug in Page::GetRegionMaskForSpan (Chromium issue 94425).
623
624 Fixed a few clang warnings (which -Werror treated as errors).
625
626 Performance improvements on all platforms.
627
628
fschneider@chromium.org1805e212011-09-05 10:49:12 +00006292011-09-05: Version 3.6.0
630
ricow@chromium.org55ee8072011-09-08 16:33:10 +0000631 Fixed a bug when optimizing named function expression (issue 1647).
fschneider@chromium.org1805e212011-09-05 10:49:12 +0000632
ricow@chromium.org55ee8072011-09-08 16:33:10 +0000633 Fixed a bug when optimizing f.call.apply (issue 1650).
fschneider@chromium.org1805e212011-09-05 10:49:12 +0000634
ricow@chromium.org55ee8072011-09-08 16:33:10 +0000635 Made arguments and caller always be null on native functions
636 (issues 1548 and 1643).
fschneider@chromium.org1805e212011-09-05 10:49:12 +0000637
ricow@chromium.org55ee8072011-09-08 16:33:10 +0000638 Fixed issue 1648 (cross-compiling x64 targeting ia32).
fschneider@chromium.org1805e212011-09-05 10:49:12 +0000639
ricow@chromium.org55ee8072011-09-08 16:33:10 +0000640 Fixed issue 371 (d8 printing of strings containing \0).
fschneider@chromium.org1805e212011-09-05 10:49:12 +0000641
ricow@chromium.org55ee8072011-09-08 16:33:10 +0000642 Fixed order of evaluation in arguments to parseInt (issue 1649).
fschneider@chromium.org1805e212011-09-05 10:49:12 +0000643
ricow@chromium.org55ee8072011-09-08 16:33:10 +0000644 Fixed a problem with large heap snapshots in Chrome DevTools
645 (issue 1658, chromium issue 89268).
fschneider@chromium.org1805e212011-09-05 10:49:12 +0000646
ricow@chromium.org55ee8072011-09-08 16:33:10 +0000647 Upped default maximum heap size from 512M to 700M.
fschneider@chromium.org1805e212011-09-05 10:49:12 +0000648
649
yangguo@chromium.org80c42ed2011-08-31 09:03:56 +00006502011-08-31: Version 3.5.10
651
652 Added dependency of v8_base on WinSocket2 Windows library in
653 the GYP-build.
654
655 Various bugfixes.
656
657
ricow@chromium.org4668a2c2011-08-29 10:41:00 +00006582011-08-29: Version 3.5.9
659
660 Made FromPropertyDescriptor not trigger inherited setters.
661
662 Fixed .gyp files to work on the ARM simulator.
663
664 Fixed shared library build warnings for MSVS.
665
666
ricow@chromium.orgddd545c2011-08-24 12:02:41 +00006672011-08-24: Version 3.5.8
668
669 Added V8EXPORT attributes for v8::Array::CheckCast and
670 v8::Number::CheckCast.
671
672 Made a slight API change enabling opting out from null termination
673 in String::Write*().
674
675 Fixed arm build for gcc-4.6.
676
677
rossberg@chromium.org28a37082011-08-22 11:03:23 +00006782011-08-22: Version 3.5.7
679
680 Make scanner handle invalid unicode escapes in identifiers correctly.
681
682 Make regexp flag parsing stricter.
683
684 Fix several memory leaks.
685
686
danno@chromium.orgb6451162011-08-17 14:33:23 +00006872011-08-17: Version 3.5.6
688
689 Fixed issue that could cause crashes when running with --heap-stats.
690
691 Fixed compilation on Linux 2.6.9 and older.
692
693 Fixed live-object-list to work with isolates.
694
695 Fixed memory leaks in zones and isolates.
696
697 Fixed a performance regression for TypedArrays on x64.
698
699 Stability improvements on all platforms.
700
701
whesse@chromium.org4acdc2c2011-08-15 13:01:23 +00007022011-08-15: Version 3.5.5
703
704 Fixed bugs involving negative zero and the optimizing compiler.
705
706 Fixed optimized version of Function.apply(x, arguments). (issue 1592)
707
708 Eliminated uses of deprecated ARM instructions.
709
710 Sped up Math.floor by using SSE 4.1 roundsd instruction on ia32.
711
712 Removed restriction on the size of disassembled code that is printed.
713
714
kmillikin@chromium.org7c2628c2011-08-10 11:27:35 +00007152011-08-10: Version 3.5.4
716
717 Added a preliminary implementation of ES Harmony weak maps. Weak
718 maps can be enabled by the flag --harmony-weakmaps.
719
720 Introduced a toplevel Makefile to support GYP-based building. GYP
721 can be obtained from http://gyp.googlecode.com.
722
723 Fixed a bug in the length property of functions created by
724 Function.prototype.bind.
725
726 Reduced malloc heap allocation on process startup.
727
728 Several important code generation bug fixes.
729
730 Performance improvements on all platforms.
731
732
lrn@chromium.orgd4e9e222011-08-03 12:01:58 +00007332011-08-03: Version 3.5.3
734
735 MIPS: Port of fix to ClassOf check from ARM.
736 Patch from Paul Lind <plind44@gmail.com>.
737
738 Stopped using mprotect on Cygwin.
739 Avoided uninitialized member warning on gcc 4.3.4
740 Both patches by Bert Belder.
741
742 Bug fixes and performance improvements on all platforms.
743
744
vegorov@chromium.org7943d462011-08-01 11:41:52 +00007452011-08-01: Version 3.5.2
746
747 Performance improvements on all platforms.
748
749
ricow@chromium.org2c99e282011-07-28 09:15:17 +00007502011-07-28: Version 3.5.1
751
752 Fixed setting the readonly flag on the prototype property using the
753 API call FunctionTemplate::SetPrototypeAttributes (issue 1539).
754
755 Changed the tools/test.py script to use d8 instead of shell for
756 testing.
757
758 Fixed crash in ToBooleanStub when GC happens during invocation.
759
760 Enabled automatic unboxing of double arrays.
761
762 Performance improvements on all platforms.
763
764
ricow@chromium.org9fa09672011-07-25 11:05:35 +00007652011-07-25: Version 3.5.0
766
767 Implemented Object.prototype.{hasOwnProperty, propertyIsEnumerable} for
768 proxies.
769
770 Removed logging to memory support.
771
772 Bugfixes and performance work.
773
774
rossberg@chromium.org717967f2011-07-20 13:44:42 +00007752011-07-20: Version 3.4.14
776
777 Fix the debugger for strict-mode functions. (Chromium issue 89236)
778
jkummerow@chromium.org04e4f1e2011-11-14 13:36:17 +0000779 Add GetPropertyAttribute method for Object in the API. (Patch by
ricow@chromium.org9fa09672011-07-25 11:05:35 +0000780 Peter Varga)
rossberg@chromium.org717967f2011-07-20 13:44:42 +0000781
782 Fix -Wunused-but-set-variable for gcc-4.6 on x64. (Issue 1291)
783
784
svenpanne@chromium.org84bcc552011-07-18 09:50:57 +00007852011-07-18: Version 3.4.13
786
787 Improved debugger support to allow inspection of optimized frames (issue
788 1140).
789
790 Fixed a bug in prototype transitions cache clearing introduced by r8165.
791
792 Fixed shortcutting bug in HInferRepresentation. Patch by Andy Wingo.
793
794 Fixed a memory leak in sample/shell.cc (dispose semaphores).
795
796 Simplified HClampToUint8. Patch by Andy Wingo.
797
798 Exposed APIs for detecting boxed primitives, native errors. Patch by
799 Luke Zarko.
800
801 Added map check for COW elements to crankshaft array handling code
802 (issue 1560).
803
804 Sample shell and (a light version of) D8 links against a shared library
805 now.
806
807 Fixed bug in array filter and reduce functions (issue 1559).
808
809 Avoid TLS load in AstNode constructor.
810
811 Introduced a random entropy source which can optionally be provided at
812 initialization. (Chromium issue 89462).
813
814
whesse@chromium.org030d38e2011-07-13 13:23:34 +00008152011-07-13: Version 3.4.12
816
817 Added --prof profiling option to d8 shell.
818
819 Fixed a bug where reading a directory in d8 shell hangs (issue 1533).
820
821 Fixed a potential assertion failure in const declarations.
822
823 Fixed an assertion failure in descriptor arrays (issue 1526).
824
825 Enabled fast thread-local storage by default on supported platforms.
826
827 Improved reporting of source position for global variable loads
828 (issue 1527).
829
830
sgjesse@chromium.org6db88712011-07-11 11:41:22 +00008312011-07-11: Version 3.4.11
832
833 Fixed MinGW32 build.
834
835 Fixed a GC bug with RegExp code flushing.
836
837 Implemented Object.defineProperty for proxies.
838
839 Fixed a bug in for/in iteration of arguments objects (issue 1531).
840
841 Added debugger support for inspecting optimized frames (issue 1140).
842
843 Allowed JSObject::PreventExtensions to work for arguments objects.
844
845 Bugfixes and performance work.
846
847
jkummerow@chromium.orgddda9e82011-07-06 11:27:02 +00008482011-07-06: Version 3.4.10
849
850 Fixed debugger not breaking on certain "if" statements (issue 1523).
851
852 Fixed assertion failure in runtime profiler when running on IA32
853 without snapshot (issue 1522).
854
855 Fixed ABI for API calls on IA32 (for clang compatibility).
856
857 Introduced code flushing of RegExp code to free memory used by
858 RegExps sooner.
859
860 Fixed linux-tick-processor built wrong version of v8 (issue 1532).
861
862 Fixed assertion failure in v8::TryCache::StackTrace (issue 1529).
863
864 Performance improvements on all platforms.
865
866
ricow@chromium.org4f693d62011-07-04 14:01:31 +00008672011-07-04: Version 3.4.9
868
869 Added support for debugger inspection of locals in optimized frames
870 (issue 1140).
871
872 Fixed SConstruct to pass correct defines to samples/preparser when
873 building with library=shared.
874
875 Made date parser handle ES5 Date Time Strings correctly (issue 1498).
876
877 Fixed a bug in Object.defineProperty on the arguments object.
878
879 Performance improvements on all platforms.
880
881
vegorov@chromium.org3cf47312011-06-29 13:20:01 +00008822011-06-29: Version 3.4.8
883
884 Ensure 16-byte stack alignment on Solaris (issue 1505).
885
sgjesse@chromium.org6db88712011-07-11 11:41:22 +0000886 Fix "illegal access" when calling parseInt with a radix
vegorov@chromium.org3cf47312011-06-29 13:20:01 +0000887 that is not a smi. (issue 1246).
888
889
ager@chromium.org04921a82011-06-27 13:21:41 +00008902011-06-27: Version 3.4.7
891
892 Fixed 64-bit build on FreeBSD.
893
894 Added API to set the property attributes for the prototype
895 property on functions created from FunctionTemplates.
896
897 Bugfixes and performance work.
898
899
lrn@chromium.orgac2828d2011-06-23 06:29:21 +00009002011-06-22: Version 3.4.6
901
902 Lowered limit on code space for systems with low memory supply.
903
904 Allowed compiling v8_shell with the 'host' toolset (issue 82437).
905
906 Extended setBreakpoint API to accept partial script name (issue 1418).
907
908 Made multi-line comments not count when deciding whether the '-->'
909 comment starter is first on a line. This matches Safari.
910
911 Made handling of non-array recievers in Array length setter correct
912 (issue 1491).
913
914 Added ability to heap profiler to iterate over snapshot's node
915 (issue 1481).
916
917
whesse@chromium.org7b260152011-06-20 15:33:18 +00009182011-06-20: Version 3.4.5
919
920 Fixed issues 794, 1097, 1215(partial), 1417, 1435, 1472, 1473,
921 1476, and 1477.
922
923 Improved code generation for !0 and !1.
924
925 Reduced memory usage for regular expressions with nested qualifiers.
926 (issue 1472)
927
928 Fixed V8 to count line terminators in multi-line comments.
929 (Chromium issue 86431)
930
931 Fixed disassembler=on option for release-mode builds. (issue 1473)
932
933 Performance improvements on all platforms.
934
935
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00009362011-06-15: Version 3.4.4
937
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000938 Added snapshot compression support and --stress-opt flag to d8.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000939
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000940 Improved performance of try/catch.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000941
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000942 Several GYP-related changes: Added support for building Xcode project
943 files. Make the ARM simulator build with GYP again. Generate Makefiles
944 for all architectures on Linux.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000945
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000946 Fixed Array.prototype.{reduce,reduceRight} to pass undefined as the
947 receiver for strict mode callbacks. (issue 1436)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000948
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000949 Fixed a bug where an array load was incorrectly hoisted by GVN.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000950
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000951 Handle 'undefined' correctly when === has been specialized for doubles.
952 (issue 1434)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000953
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000954 Corrected the limit of local variables in an optimized function from 64
955 to 63.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000956
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000957 Correctly set ReadOnly flag on indexed properties when using the API Set
958 method. (issue 1470)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000959
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000960 Give the correct error message when Object.isExtensible is called on a
961 non-object. (issue 1452)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000962
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000963 Added GetOwnPropertyNames method for Object in the API. Patch by Peter
964 Varga.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000965
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000966 Do not redefine properties unneccesarily in seal and freeze. (issue
967 1447)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000968
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000969 IsExecutionTerminating has an Isolate parameter now.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000970
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000971 Distinguish keyed loads with a symbol key from fast elements loads,
972 avoiding some useless deoptimizations. (issue 1471)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000973
974
jkummerow@chromium.orge297f592011-06-08 10:05:15 +00009752011-06-08: Version 3.4.3
erik.corry@gmail.com8a177112011-06-08 07:23:54 +0000976
jkummerow@chromium.orge297f592011-06-08 10:05:15 +0000977 Clear the global thread table when an isolate is disposed
978 (issue 1433).
erik.corry@gmail.com8a177112011-06-08 07:23:54 +0000979
jkummerow@chromium.orge297f592011-06-08 10:05:15 +0000980 Converted time zone name to UTF8 on Windows (issue 1290).
981
982 Limited the number of arguments in a function call to 32766
983 (issue 1413).
984
985 Compress sources of JS libraries in addition to the snapshot.
986
987 Fixed a bug in Lithium environment iteration.
988
989 Performance improvements on all platforms.
erik.corry@gmail.com8a177112011-06-08 07:23:54 +0000990
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000991
erik.corry@gmail.comd6076d92011-06-06 09:39:18 +00009922011-06-06: Version 3.4.2
993
994 More work on ES-Harmony proxies. Still hidden behind a flag.
995
996 Fixed some crash bugs and improved performance.
997
998 Fixed building with gdb debugging support.
999
1000 Do not install SIGPROF handler until it is needed.
1001
1002 Added DateTimeFormat to i18n API.
1003
1004 Fixed compilation on OpenBSD.
1005
1006 Take the ulimit into account when sizing the heap. OpenBSD users
1007 may still have to increase the default ulimit to run heavy pages in
1008 the browser.
1009
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00001010
ricow@chromium.orgd2be9012011-06-01 06:00:58 +000010112011-06-01: Version 3.4.1
1012
1013 Fixed JSON stringify issue with arrays.
1014
1015 Changed calls to JS builtins to be passed undefined when called with
1016 implicit receiver.
1017
1018 Implemented the set trap for Harmony proxies. Proxies still need to
1019 be enabled with the --harmony-proxies flag.
1020
1021
ricow@chromium.orgc54d3652011-05-30 09:20:16 +000010222011-05-30: Version 3.4.0
1023
1024 Changed calls to undefined property setters to not throw (issue 1355).
1025
1026 Made RegExp objects not callable.
1027
1028 Fixed issues on special case large JSON strings in new json parser
1029 (issues http://crbug.com/83877 and http://crbug.com/84186).
1030
1031 Performance improvements on all platforms.
1032
1033
danno@chromium.org40cb8782011-05-25 07:58:50 +000010342011-05-25: Version 3.3.10
1035
1036 Fixed calls of strict mode function with an implicit receiver.
1037
1038 Fixed fast handling of arrays to properly deal with changes to the
1039 Object prototype (issue 1403).
1040
1041 Changed strict mode poison pill to be the same type error function
1042 (issue 1387).
1043
1044 Fixed a debug crash in arguments object handling (issue 1227).
1045
1046 Fixed a bug in deoptimization on x64 (issue 1404).
1047
1048 Performance improvements and bug fixes on all platforms.
1049
1050
ager@chromium.orgea91cc52011-05-23 06:06:11 +000010512011-05-23: Version 3.3.9
1052
1053 Added DateTimeFormat class to experimental i18n API.
1054
1055 Extended preparser to give early errors for some strict mode
1056 restrictions.
1057
1058 Removed legacy execScript function from V8.
1059
1060 Extended isolate API with the ability to add embedder-specific
1061 data to an isolate.
1062
1063 Added basic support for polymorphic loads from JS and external
1064 arrays.
1065
1066 Fixed bug in handling of switch statements in the optimizing
1067 compiler.
1068
1069
kmillikin@chromium.orgc53e10d2011-05-18 09:12:58 +000010702011-05-18: Version 3.3.8
1071
ager@chromium.orgea91cc52011-05-23 06:06:11 +00001072 Added MarkIndependent to the persistent handle API. Independent
kmillikin@chromium.orgc53e10d2011-05-18 09:12:58 +00001073 handles are independent of all other persistent handles and can be
1074 garbage collected more frequently.
1075
ager@chromium.orgea91cc52011-05-23 06:06:11 +00001076 Implemented the get trap for Harmony proxies. Proxies are enabled
kmillikin@chromium.orgc53e10d2011-05-18 09:12:58 +00001077 with the --harmony-proxies flag.
1078
1079 Performance improvements and bug fixes on all platforms.
1080
1081
vegorov@chromium.org7304bca2011-05-16 12:14:13 +000010822011-05-16: Version 3.3.7
1083
1084 Updated MIPS infrastructure files.
1085
1086 Performance improvements and bug fixes on all platforms.
1087
1088
karlklose@chromium.org83a47282011-05-11 11:54:09 +000010892011-05-11: Version 3.3.6
1090
1091 Updated MIPS infrastructure files.
1092
1093 Added method IsCallable for Object to the API.
1094 Patch by Peter Varga.
1095
1096
lrn@chromium.org1c092762011-05-09 09:42:16 +000010972011-05-09: Version 3.3.5
1098
1099 Fixed build on FreeBSD. Patch by Akinori MUSHA.
1100
1101 Added check that receiver is JSObject on API calls.
1102
1103 Implemented CallAsConstructor method for Object in the API (Issue 1348).
1104 Patch by Peter Varga.
1105
1106 Added CallAsFunction method to the Object class in the API (Issue 1336).
1107 Patch by Peter Varga.
1108
1109 Added per-isolate locking and unlocking.
1110
1111 Fixed bug in x64 >>> operator (Issue 1359).
1112
1113
fschneider@chromium.orgfb144a02011-05-04 12:43:48 +000011142011-05-04: Version 3.3.4
1115
1116 Implemented API to disallow code generation from strings for a context
1117 (issue 1258).
1118
1119 Fixed bug with whitespaces in parseInt (issue 955).
1120
1121 Fixed bug with == comparison of Date objects (issue 1356).
1122
1123 Added GYP variables for ARM code generation:
1124 v8_can_use_vfp_instructions, v8_can_use_unaligned_accesses
1125 and v8_use_arm_eabi_hardfloat.
1126
1127
sgjesse@chromium.org8e8294a2011-05-02 14:30:53 +000011282011-05-02: Version 3.3.3
1129
1130 Added support for generating Visual Studio solution and project files
1131 using GYP.
1132
1133 Implemented support for ARM EABI calling convention variation where
1134 floating-point arguments are passed in registers (hardfloat).
1135
1136 Added Object::HasOwnProperty() to the API.
1137
1138 Added support for compressing startup data to reduce binary size. This
1139 includes build time support and an API for the embedder to decompress
1140 the startup data before initializing V8.
1141
1142 Reduced the profiling hooks overhead from >400% to 25% when using
1143 ll_prof.
1144
1145 Performance improvements and bug fixes on all platforms.
1146
1147
erik.corry@gmail.com3847bd52011-04-27 10:38:56 +000011482011-04-27: Version 3.3.2
1149
1150 Fixed crash bug on ARM with no VFP3 hardware.
1151
1152 Fixed compilation of V8 without debugger support.
1153
1154 Improved performance on JSLint.
1155
1156 Added support Float64 WebGL arrays.
1157
1158 Fixed crash bug in regexp replace.
1159
sgjesse@chromium.org8e8294a2011-05-02 14:30:53 +00001160
ricow@chromium.orgdcebac02011-04-20 09:44:50 +000011612011-04-20: Version 3.3.1
1162
1163 Reduced V8 binary size by removing virtual functions from hydrogen.
1164
1165 Fixed crash bug on x64.
1166
1167 Performance improvements on ARM and IA32.
1168
1169
danno@chromium.org160a7b02011-04-18 15:51:38 +000011702011-04-18: Version 3.3.0
1171
1172 Fixed bug in floating point rounding in Crankshaft on ARM
1173 (issue 958)
1174
1175 Fixed a number of issues with running without VFPv3 support on ARM
1176 (issue 1315)
1177
1178 Introduced v8Locale.Collator, a partial implementation of Collator
1179 per last ECMAScript meeting + mailing list.
1180
1181 Minor performance improvements and bug fixes.
1182
1183
ager@chromium.orga9aa5fa2011-04-13 08:46:07 +000011842011-04-13: Version 3.2.10
1185
1186 Fixed bug in external float arrays on ARM (issue 1323).
1187
1188 Minor performance improvements and bug fixes.
1189
1190
karlklose@chromium.org44bc7082011-04-11 12:33:05 +000011912011-04-11: Version 3.2.9
1192
1193 Removed support for ABI prior to EABI on ARM.
1194
1195 Fixed multiple crash bugs.
1196
1197 Added GCMole to the repository, a simple static analysis tool that
1198 searches for GC-unsafe evaluation order dependent callsites.
1199
1200 Made preparser API be exported in shared libraries.
1201
1202 Fixed multiple issues in EcmaScript 5 strict mode implementation.
1203
1204 Fixed mutable __proto__ property if object is not extensible
1205 (Issue 1309).
1206
1207 Fixed auto suspension of the sampler thread.
1208
1209
vegorov@chromium.org74f333b2011-04-06 11:17:46 +000012102011-04-06: Version 3.2.8
1211
1212 Exposed WebGL typed array constructors in the shell sample.
1213
1214 Performance improvements on all platforms.
1215
1216
kmillikin@chromium.orgc36ce6e2011-04-04 08:25:31 +000012172011-04-04: Version 3.2.7
1218
1219 Disabled the original 'classic' V8 code generator. Crankshaft is
1220 now the default on all platforms.
1221
1222 Changed the heap profiler to use more descriptive names.
1223
1224 Performance and stability improvements to isolates on all platforms.
1225
1226
lrn@chromium.org7516f052011-03-30 08:52:27 +000012272011-03-30: Version 3.2.6
1228
1229 Fixed xcode build warning in shell.cc (out of order initialization).
1230
1231 Fixed null-pointer dereference in the compiler when running without
1232 SSE3 support (Chromium issue 77654).
1233
1234 Fixed x64 compilation error due to some dead code. (Issue 1286)
1235
1236 Introduced scons target to build the preparser stand-alone example.
1237
1238 Made FreeBSD build and pass all tests.
1239
1240
fschneider@chromium.org7979bbb2011-03-28 10:47:03 +000012412011-03-28: Version 3.2.5
1242
lrn@chromium.org7516f052011-03-30 08:52:27 +00001243 Fixed build with Irregexp interpreter (issue 1266).
fschneider@chromium.org7979bbb2011-03-28 10:47:03 +00001244
1245 Added Crankshaft support for external arrays.
1246
1247 Fixed two potential crash bugs.
1248
1249
sgjesse@chromium.orgea88ce92011-03-23 11:19:56 +000012502011-03-23: Version 3.2.4
1251
1252 Added isolates which allows several V8 instances in the same process.
1253 This is controlled through the new Isolate class in the API.
1254
1255 Implemented more of EcmaScript 5 strict mode.
1256
1257 Reduced the time it takes to make detailed heap snapshot.
1258
1259 Added a number of commands to the ARM simulator and enhanced the ARM
1260 disassembler.
1261
1262
ricow@chromium.orgbadaffc2011-03-17 12:15:27 +000012632011-03-17: Version 3.2.3
1264
1265 Fixed a number of crash bugs.
1266
1267 Fixed Array::New(length) to return an array with a length (issue 1256).
1268
1269 Fixed FreeBSD build.
1270
1271 Changed __defineGetter__ to not throw (matching the behavior of Safari).
1272
1273 Implemented more of EcmaScript 5 strict mode.
1274
1275 Improved Crankshaft performance on all platforms.
1276
1277
whesse@chromium.orgb08986c2011-03-14 16:13:42 +000012782011-03-14: Version 3.2.2
1279
1280 Fixed a number of crash and correctness bugs.
1281
1282 Improved Crankshaft performance on all platforms.
1283
1284 Fixed Crankshaft on Solaris/Illumos.
1285
1286
danno@chromium.org4d3fe4e2011-03-10 10:14:28 +000012872011-03-10: Version 3.2.1
1288
1289 Fixed a number of crash bugs.
1290
1291 Improved Crankshaft for x64 and ARM.
1292
1293 Implemented more of EcmaScript 5 strict mode.
1294
1295
karlklose@chromium.org8f806e82011-03-07 14:06:08 +000012962011-03-07: Version 3.2.0
1297
1298 Fixed a number of crash bugs.
1299
1300 Turned on Crankshaft by default on x64 and ARM.
1301
1302 Improved Crankshaft for x64 and ARM.
1303
1304 Implemented more of EcmaScript 5 strict mode.
1305
1306
ager@chromium.org9ee27ae2011-03-02 13:43:26 +000013072011-03-02: Version 3.1.8
1308
1309 Fixed a number of crash bugs.
1310
1311 Improved Crankshaft for x64 and ARM.
1312
1313 Implemented more of EcmaScript 5 strict mode.
1314
1315 Fixed issue with unaligned reads and writes on ARM.
1316
1317 Improved heap profiler support.
1318
1319
vegorov@chromium.org5d6c1f52011-02-28 13:13:38 +000013202011-02-28: Version 3.1.7
1321
1322 Fixed a number of crash bugs.
1323
1324 Improved Crankshaft for x64 and ARM.
1325
ager@chromium.org9ee27ae2011-03-02 13:43:26 +00001326 Fixed implementation of indexOf/lastIndexOf for sparse
vegorov@chromium.org5d6c1f52011-02-28 13:13:38 +00001327 arrays (http://crbug.com/73940).
1328
1329 Fixed bug in map space compaction (http://crbug.com/59688).
1330
1331 Added support for direct getter accessors calls on ARM.
1332
1333
fschneider@chromium.org3a5fd782011-02-24 10:10:44 +000013342011-02-24: Version 3.1.6
1335
1336 Fixed a number of crash bugs.
1337
1338 Added support for Cygwin (issue 64).
1339
1340 Improved Crankshaft for x64 and ARM.
1341
1342 Added Crankshaft support for stores to pixel arrays.
1343
1344 Fixed issue in CPU profiler with Crankshaft.
1345
1346
kmillikin@chromium.org49edbdf2011-02-16 12:32:18 +000013472011-02-16: Version 3.1.5
1348
1349 Change RegExp parsing to disallow /(*)/.
1350
1351 Added GDB JIT support for ARM.
1352
1353 Fixed several crash bugs.
1354
1355 Performance improvements on the IA32 platform.
1356
1357
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +000013582011-02-14: Version 3.1.4
1359
1360 Fixed incorrect compare of prototypes of the global object (issue
1361 1082).
1362
1363 Fixed a bug in optimizing calls to global functions (issue 1106).
1364
1365 Made optimized Function.prototype.apply safe for non-JSObject first
1366 arguments (issue 1128).
1367
1368 Fixed an error related to element accessors on Object.prototype and
1369 parser errors (issue 1130).
1370
1371 Fixed a bug in sorting an array with large array indices (issue 1131).
1372
1373 Properly treat exceptions thrown while compiling (issue 1132).
1374
1375 Fixed bug in register requirements for function.apply (issue 1133).
1376
1377 Fixed a representation change bug in the Hydrogen graph construction
1378 (issue 1134).
1379
1380 Fixed the semantics of delete on parameters (issue 1136).
1381
1382 Fixed a optimizer bug related to moving instructions with side effects
1383 (issue 1138).
1384
1385 Added support for the global object in Object.keys (issue 1150).
1386
1387 Fixed incorrect value for Math.LOG10E
1388 (issue http://code.google.com/p/chromium/issues/detail?id=72555)
1389
1390 Performance improvements on the IA32 platform.
1391
1392 Implement assignment to undefined reference in ES5 Strict Mode.
1393
1394
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +000013952011-02-09: Version 3.1.3
1396
1397 Fixed a bug triggered by functions with huge numbers of declared
1398 arguments.
1399
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +00001400 Fixed zap value aliasing a real object - debug mode only (issue 866).
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +00001401
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +00001402 Fixed issue where Array.prototype.__proto__ had been set to null
1403 (issue 1121).
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +00001404
1405 Fixed stability bugs in Crankshaft for x86.
1406
1407
ricow@chromium.org83aa5492011-02-07 12:42:56 +000014082011-02-07: Version 3.1.2
1409
1410 Added better security checks when accessing properties via
1411 Object.getOwnPropertyDescriptor.
1412
1413 Fixed bug in Object.defineProperty and related access bugs (issues
1414 992, 1083 and 1092).
1415
1416 Added LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to ease
1417 copyright notice generation for embedders.
1418
1419
kmillikin@chromium.org31b12772011-02-02 16:08:26 +000014202011-02-02: Version 3.1.1
1421
1422 Perform security checks before fetching the value in
1423 Object.getOwnPropertyDescriptor.
1424
1425 Fixed a bug in Array.prototype.splice triggered by passing no
1426 arguments.
1427
1428 Fixed bugs in -0 in arithmetic and in Math.pow.
1429
1430 Fixed bugs in the register allocator and in switching from optimized
1431 to unoptimized code.
1432
1433
14342011-01-31: Version 3.1.0
1435
whesse@chromium.org7a392b32011-01-31 11:30:36 +00001436 Performance improvements on all platforms.
1437
1438
ager@chromium.org378b34e2011-01-28 08:04:38 +000014392011-01-28: Version 3.0.12
1440
1441 Added support for strict mode parameter and object property
1442 validation.
1443
1444 Fixed a couple of crash bugs.
1445
1446
ager@chromium.org0ee099b2011-01-25 14:06:47 +000014472011-01-25: Version 3.0.11
1448
1449 Fixed a bug in deletion of lookup slots that could cause global
1450 variables to be accidentally deleted (http://crbug.com/70066).
1451
1452 Added support for strict mode octal literal verification.
1453
1454 Fixed a couple of crash bugs (issues 1070 and 1071).
1455
1456
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +000014572011-01-24: Version 3.0.10
1458
1459 Fixed External::Wrap for 64-bit addresses (issue 1037).
1460
ager@chromium.org0ee099b2011-01-25 14:06:47 +00001461 Fixed incorrect .arguments variable proxy handling in the full
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +00001462 code generator (issue 1060).
1463
1464 Introduced partial strict mode support.
1465
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +00001466 Changed formatting of recursive error messages to match Firefox and
1467 Safari (issue http://crbug.com/70334).
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +00001468
1469 Fixed incorrect rounding for float-to-integer conversions for external
ager@chromium.org0ee099b2011-01-25 14:06:47 +00001470 array types, which implement the Typed Array spec
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +00001471 (issue http://crbug.com/50972).
1472
1473 Performance improvements on the IA32 platform.
1474
1475
erik.corry@gmail.com0511e242011-01-19 11:11:08 +000014762011-01-19: Version 3.0.9
1477
1478 Added basic GDB JIT Interface integration.
1479
1480 Make invalid break/continue statements a syntax error instead of a
1481 runtime error.
1482
1483
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +000014842011-01-17: Version 3.0.8
1485
1486 Exposed heap size limit to the heap statistics gathered by
erik.corry@gmail.com0511e242011-01-19 11:11:08 +00001487 the GetHeapStatistics API.
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +00001488
1489 Wrapped external pointers more carefully (issue 1037).
1490
1491 Hardened the implementation of error objects to avoid setters
1492 intercepting the properties set then throwing an error.
1493
1494 Avoided trashing the FPSCR when calculating Math.floor on ARM.
1495
1496 Performance improvements on the IA32 platform.
1497
1498
14992011-01-10: Version 3.0.7
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +00001500
1501 Stopped calling inherited setters when creating object literals
1502 (issue 1015).
1503
1504 Changed interpretation of malformed \c? escapes in RegExp to match
1505 JSC.
1506
1507 Enhanced the command-line debugger interface and fixed some minor
1508 bugs in the debugger.
1509
1510 Performance improvements on the IA32 platform.
1511
1512
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +000015132011-01-05: Version 3.0.6
lrn@chromium.org5d00b602011-01-05 09:51:43 +00001514
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +00001515 Allowed getters and setters on JSArray elements (issue 900).
lrn@chromium.org5d00b602011-01-05 09:51:43 +00001516
1517 Stopped JSON objects from hitting inherited setters (part of
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +00001518 issue 1015).
lrn@chromium.org5d00b602011-01-05 09:51:43 +00001519
1520 Allowed numbers and strings as names of getters/setters in object
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +00001521 initializer (issue 820).
lrn@chromium.org5d00b602011-01-05 09:51:43 +00001522
1523 Added use_system_v8 option to gyp (off by default), to make it easier
1524 for Linux distributions to ship with system-provided V8 library.
1525
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +00001526 Exported external array data accessors (issue 1016).
lrn@chromium.org5d00b602011-01-05 09:51:43 +00001527
1528 Added labelled thread names to help with debugging (on Linux).
1529
1530
fschneider@chromium.org9e3e0b62011-01-03 10:16:46 +000015312011-01-03: Version 3.0.5
1532
1533 Fixed a couple of cast errors for gcc-3.4.3.
1534
1535 Performance improvements in GC and IA32 code generator.
1536
1537
whesse@chromium.org023421e2010-12-21 12:19:12 +000015382010-12-21: Version 3.0.4
1539
1540 Added Date::ResetCache() to the API so that the cached values in the
1541 Date object can be reset to allow live DST / timezone changes.
1542
1543 Extended existing support for printing (while debugging) the contents
1544 of objects. Added support for printing objects from release builds.
1545
1546 Fixed V8 issues 989, 1006, and 1007.
1547
1548
ager@chromium.org5f0c45f2010-12-17 08:51:21 +000015492010-12-17: Version 3.0.3
1550
1551 Reapplied all changes for version 3.0.1.
1552
1553 Improved debugger protocol for remote debugging.
1554
1555 Added experimental support for using gyp to generate build files
1556 for V8.
1557
1558 Fixed implementation of String::Write in the API (issue 975).
1559
1560
lrn@chromium.org8541d772010-12-15 12:05:09 +000015612010-12-15: Version 3.0.2
1562
1563 Revert version 3.0.1 and patch 3.0.1.1.
1564
1565
kmillikin@chromium.orgfacd82d2010-12-13 18:00:51 +000015662010-12-13: Version 3.0.1
1567
1568 Added support for an experimental internationalization API as an
1569 extension. This extension is disabled by default but can be enabled
1570 when building V8. The ECMAScript internationalization strawman is
1571 at http://wiki.ecmascript.org/doku.php?id=strawman:i18n_api.
1572
1573 Made RegExp character class parsing stricter. This mirrors a change
1574 to RegExp parsing in WebKit.
1575
1576 Fixed a bug in Object.defineProperty when used to change attributes
1577 of an existing property. It incorrectly set the property value to
1578 undefined (issue 965).
1579
1580 Fixed several different compilation failures on various platforms
1581 caused by the 3.0.0 release.
1582
1583 Optimized Math.pow so it can work on unboxed doubles.
1584
1585 Sped up quoting of JSON strings by removing one traversal of the
1586 string.
1587
1588
kasperl@chromium.orga5551262010-12-07 12:49:48 +000015892010-12-07: Version 3.0.0
1590
1591 Improved performance by (partially) addressing issue 957 on
1592 IA-32. Still needs more work for the other architectures.
1593
1594
ager@chromium.orgbeb25712010-11-29 08:02:25 +000015952010-11-29: Version 2.5.9
1596
1597 Fixed crashes during GC caused by partially initialize heap
1598 objects.
1599
1600 Fixed bug in process sample that caused memory leaks.
1601
1602 Improved performance on ARM by implementing missing stubs and
1603 inlining.
1604
1605 Improved heap profiler support.
1606
1607 Added separate seeding on Windows of the random number generator
1608 used internally by the compiler (issue 936).
1609
1610 Exposed API for getting the name of the function used to construct
1611 an object.
1612
1613 Fixed date parser to handle one and two digit millisecond
1614 values (issue 944).
1615
1616 Fixed number parsing to disallow space between sign and
1617 digits (issue 946).
1618
1619
vegorov@chromium.org21b5e952010-11-23 10:24:40 +000016202010-11-23: Version 2.5.8
1621
1622 Removed dependency on Gay's dtoa.
1623
1624 Improved heap profiler precision and speed.
1625
1626 Reduced overhead of callback invocations on ARM.
1627
1628
erik.corry@gmail.com4a6c3272010-11-18 12:04:40 +000016292010-11-18: Version 2.5.7
1630
1631 Fixed obscure evaluation order bug (issue 931).
1632
1633 Split the random number state between JavaScript and the private API.
1634
1635 Fixed performance bug causing GCs when generating stack traces on
1636 code from very large scripts.
1637
1638 Fixed bug in parser that allowed (foo):42 as a labelled statement
1639 (issue 918).
1640
1641 Provide more accurate results about used heap size via
1642 GetHeapStatistics.
1643
1644 Allow build-time customization of the max semispace size.
1645
1646 Made String.prototype.split honor limit when separator is empty
1647 (issue 929).
1648
1649 Added missing failure check after expecting an identifier in
1650 preparser (Chromium issue 62639).
1651
1652
ager@chromium.org01fe7df2010-11-10 11:59:11 +000016532010-11-10: Version 2.5.6
1654
1655 Added support for VFP rounding modes to the ARM simulator.
1656
1657 Fixed multiplication overflow bug (issue 927).
1658
1659 Added a limit for the amount of executable memory (issue 925).
1660
1661
whesse@chromium.orgf0ac72d2010-11-08 12:47:26 +000016622010-11-08: Version 2.5.5
1663
1664 Added more aggressive GC of external objects in near out-of-memory
1665 situations.
1666
1667 Fixed a bug that gave the incorrect result for String.split called
1668 on the empty string (issue 924).
1669
1670
lrn@chromium.orgfa943b72010-11-03 08:14:36 +000016712010-11-03: Version 2.5.4
1672
whesse@chromium.orgf0ac72d2010-11-08 12:47:26 +00001673 Improved V8 VFPv3 runtime detection to address issue 914.
lrn@chromium.orgfa943b72010-11-03 08:14:36 +00001674
1675
fschneider@chromium.orge03fb642010-11-01 12:34:09 +000016762010-11-01: Version 2.5.3
1677
1678 Fixed a bug that prevents constants from overwriting function values
1679 in object literals (issue 907).
1680
1681 Fixed a bug with reporting of impossible nested calls of DOM functions
1682 (issue http://crbug.com/60753).
1683
1684
lrn@chromium.org303ada72010-10-27 09:33:13 +000016852010-10-27: Version 2.5.2
1686
1687 Improved sampler resolution on Linux.
1688
1689 Allowed forcing the use of a simulator from the build script
1690 independently of the host architecture.
1691
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +00001692 Fixed FreeBSD port (issue 912).
lrn@chromium.org303ada72010-10-27 09:33:13 +00001693
1694 Made windows-tick-processor respect D8_PATH.
1695
1696 Implemented --noinline-new flag fully on IA32, X64 and ARM platforms.
1697
1698
whesse@chromium.org4a5224e2010-10-20 12:37:07 +000016992010-10-20: Version 2.5.1
1700
1701 Fixed bug causing spurious out of memory exceptions
1702 (issue http://crbug.com/54580).
1703
1704 Fixed compilation error on Solaris platform (issue 901).
1705
1706 Fixed error in strtod (string to floating point number conversion)
1707 due to glibc's use of 80-bit floats in the FPU on 32-bit linux.
1708
1709 Adjusted randomized allocations of executable memory to have 64k
1710 granularity (issue http://crbug.com/56036).
1711
1712 Supported profiling using kernel perf_events on linux. Added ll_prof
1713 script to tools and --ll-prof flag to V8.
1714
1715
vegorov@chromium.org42841962010-10-18 11:18:59 +000017162010-10-18: Version 2.5.0
1717
1718 Fixed bug in cache handling of lastIndex on global regexps
1719 (issue http://crbug.com/58740).
1720
1721 Added USE_SIMULATOR macro that explicitly indicates that we wish to use
1722 the simulator as the execution engine (by Mark Lam <mark.lam@palm.com>
kmillikin@chromium.orgfacd82d2010-12-13 18:00:51 +00001723 from Hewlett-Packard Development Company, LP).
vegorov@chromium.org42841962010-10-18 11:18:59 +00001724
1725 Fixed compilation error on ARM with gcc 4.4 (issue 894).
1726
1727
17282010-10-13: Version 2.4.9
ager@chromium.orgb61a0d12010-10-13 08:35:23 +00001729
1730 Fixed a bug in the handling of conditional expressions in test
1731 contexts in compiler for top-level code.
1732
1733 Added "//@ sourceURL" information to the StackTrace API.
1734
1735 Exposed RegExp construction through the API.
1736
1737
ricow@chromium.orgeb7c1442010-10-04 08:54:21 +000017382010-10-04: Version 2.4.8
1739
1740 Fixed a bug in ResumeProfilerEx causing it to not always write out the
1741 whole snapshot (issue 868).
1742
1743 Performance improvements on all platforms.
1744
1745
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +000017462010-09-30: Version 2.4.7
1747
1748 Changed the command-line flag --max-new-space-size to be in kB and the
1749 flag --max-old-space-size to be in MB (previously they were in bytes).
1750
1751 Added Debug::CancelDebugBreak to the debugger API.
1752
1753 Fixed a bug in getters for negative numeric property names
1754 (https://bugs.webkit.org/show_bug.cgi?id=46689).
1755
1756 Performance improvements on all platforms.
1757
1758
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +000017592010-09-27: Version 2.4.6
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +00001760
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +00001761 Fixed assertion failure related to copy-on-write arrays (issue 876).
1762
1763 Fixed build failure of 64-bit V8 on Windows.
1764
1765 Fixed a bug in RegExp (issue http://crbug.com/52801).
1766
1767 Improved the profiler's coverage to cover more functions (issue 858).
1768
1769 Fixed error in shift operators on 64-bit V8
1770 (issue http://crbug.com/54521).
1771
1772
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +000017732010-09-22: Version 2.4.5
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +00001774
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001775 Changed the RegExp benchmark to exercise the regexp engine on different
1776 inputs by scrambling the input strings.
1777
1778 Fixed a bug in keyed loads on strings.
1779
1780 Fixed a bug with loading global function prototypes.
1781
1782 Fixed a bug with profiling RegExp calls (issue http://crbug.com/55999).
1783
1784 Performance improvements on all platforms.
1785
1786
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +000017872010-09-15: Version 2.4.4
1788
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001789 Fixed bug with hangs on very large sparse arrays.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00001790
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001791 Now tries harder to free up memory when running out of space.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00001792
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001793 Added heap snapshots to JSON format to API.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00001794
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001795 Recalibrated benchmarks.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00001796
1797
sgjesse@chromium.org2ec107f2010-09-13 09:19:46 +000017982010-09-13: Version 2.4.3
1799
1800 Made Date.parse properly handle TZ offsets (issue 857).
1801
1802 Performance improvements on all platforms.
1803
1804
ager@chromium.org5b2fbee2010-09-08 06:38:15 +000018052010-09-08: Version 2.4.2
1806
1807 Fixed GC crash bug.
1808
1809 Fixed stack corruption bug.
1810
1811 Fixed compilation for newer C++ compilers that found Operand(0)
1812 ambiguous.
1813
1814
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +000018152010-09-06: Version 2.4.1
1816
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00001817 Added the ability for an embedding application to receive a callback
1818 when V8 allocates (V8::AddMemoryAllocationCallback) or deallocates
1819 (V8::RemoveMemoryAllocationCallback) from the OS.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00001820
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00001821 Fixed several JSON bugs (including issue 855).
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00001822
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00001823 Fixed memory overrun crash bug triggered during V8's tick-based
1824 profiling.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00001825
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00001826 Performance improvements on all platforms.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00001827
1828
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +000018292010-09-01: Version 2.4.0
1830
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001831 Fixed bug in Object.freeze and Object.seal when Array.prototype or
1832 Object.prototype are changed (issue 842).
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00001833
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001834 Updated Array.splice to follow Safari and Firefox when called
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00001835 with zero arguments.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00001836
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001837 Fixed a missing live register when breaking at keyed loads on ARM.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00001838
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00001839 Performance improvements on all platforms.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00001840
1841
ricow@chromium.org65fae842010-08-25 15:26:24 +000018422010-08-25: Version 2.3.11
1843
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001844 Fixed bug in RegExp related to copy-on-write arrays.
ricow@chromium.org65fae842010-08-25 15:26:24 +00001845
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001846 Refactored tools/test.py script, including the introduction of
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00001847 VARIANT_FLAGS that allows specification of sets of flags with which
1848 all tests should be run.
ricow@chromium.org65fae842010-08-25 15:26:24 +00001849
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001850 Fixed a bug in the handling of debug breaks in CallIC.
ricow@chromium.org65fae842010-08-25 15:26:24 +00001851
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00001852 Performance improvements on all platforms.
ricow@chromium.org65fae842010-08-25 15:26:24 +00001853
1854
erik.corry@gmail.com145eff52010-08-23 11:36:18 +000018552010-08-23: Version 2.3.10
1856
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001857 Fixed bug in bitops on ARM.
erik.corry@gmail.com145eff52010-08-23 11:36:18 +00001858
1859 Build fixes for unusual compilers.
1860
1861 Track high water mark for RWX memory.
1862
1863 Performance improvements on all platforms.
1864
1865
ricow@chromium.org0b9f8502010-08-18 07:45:01 +000018662010-08-18: Version 2.3.9
1867
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001868 Fixed compilation for ARMv4 on OpenBSD/FreeBSD.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +00001869
1870 Removed specialized handling of GCC 4.4 (issue 830).
1871
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00001872 Fixed DST cache to take into account the suspension of DST in
ricow@chromium.org0b9f8502010-08-18 07:45:01 +00001873 Egypt during the 2010 Ramadan (issue http://crbug.com/51855).
1874
ricow@chromium.org65fae842010-08-25 15:26:24 +00001875 Performance improvements on all platforms.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +00001876
1877
ager@chromium.orgea4f62e2010-08-16 16:28:43 +000018782010-08-16: Version 2.3.8
1879
1880 Fixed build with strict aliasing on GCC 4.4 (issue 463).
1881
1882 Fixed issue with incorrect handling of custom valueOf methods on
1883 string wrappers (issue 760).
1884
1885 Fixed compilation for ARMv4 (issue 590).
1886
1887 Improved performance.
1888
1889
vegorov@chromium.org26c16f82010-08-11 13:41:03 +000018902010-08-11: Version 2.3.7
1891
1892 Reduced size of heap snapshots produced by heap profiler (issue 783).
1893
1894 Introduced v8::Value::IsRegExp method.
1895
1896 Fixed CPU profiler crash in start / stop sequence when non-existent
1897 name is passed (issue http://crbug.com/51594).
1898
1899 Introduced new indexed property query callbacks API (issue 816). This
1900 API is guarded by USE_NEW_QUERY_CALLBACK define and is disabled
1901 by default.
1902
1903 Removed support for object literal get/set with number/string
1904 property name.
1905
1906 Fixed handling of JSObject::elements in CalculateNetworkSize
1907 (issue 822).
1908
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001909 Allowed compiling with strict aliasing enabled on GCC 4.4 (issue 463).
vegorov@chromium.org26c16f82010-08-11 13:41:03 +00001910
1911
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +000019122010-08-09: Version 2.3.6
1913
vegorov@chromium.org26c16f82010-08-11 13:41:03 +00001914 RegExp literals create a new object every time they are evaluated
1915 (issue 704).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +00001916
vegorov@chromium.org26c16f82010-08-11 13:41:03 +00001917 Object.seal and Object.freeze return the modified object (issue 809).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +00001918
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001919 Fixed building using GCC 4.4.4.
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +00001920
1921
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +000019222010-08-04: Version 2.3.5
1923
1924 Added support for ES5 property names. Object initialisers and
1925 dot-notation property access now allows keywords. Also allowed
1926 non-identifiers after "get" or "set" in an object initialiser.
1927
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001928 Randomized the addresses of allocated executable memory on Windows.
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +00001929
1930
whesse@chromium.orge90029b2010-08-02 11:52:17 +000019312010-08-02: Version 2.3.4
1932
1933 Fixed problems in implementation of ES5 function.prototype.bind.
1934
1935 Fixed error when using apply with arguments object on ARM (issue 784).
1936
1937 Added setting of global flags to debugger protocol.
1938
1939 Fixed an error affecting cached results of sin and cos (issue 792).
1940
1941 Removed memory leak from a boundary case where V8 is not initialized.
1942
1943 Fixed issue where debugger could set breakpoints outside the body
1944 of a function.
1945
1946 Fixed issue in debugger when using both live edit and step in features.
1947
1948 Added Number-letter (Nl) category to Unicode tables. These characters
1949 can now be used in identifiers.
1950
1951 Fixed an assert failure on X64 (issue 806).
1952
1953 Performance improvements on all platforms.
1954
1955
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +000019562010-07-26: Version 2.3.3
1957
1958 Fixed error when building the d8 shell in a fresh checkout.
1959
1960 Implemented Function.prototype.bind (ES5 15.3.4.5).
1961
1962 Fixed an error in inlined stores on ia32.
1963
1964 Fixed an error when setting a breakpoint at the end of a function
1965 that does not end with a newline character.
1966
1967 Performance improvements on all platforms.
1968
1969
fschneider@chromium.orged78ffd2010-07-21 11:05:19 +000019702010-07-21: Version 2.3.2
1971
1972 Fixed compiler warnings when building with LLVM.
1973
1974 Fixed a bug with for-in applied to strings (issue 785).
1975
1976 Performance improvements on all platforms.
1977
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +00001978
ricow@chromium.org4980dff2010-07-19 08:33:45 +000019792010-07-19: Version 2.3.1
1980
1981 Fixed compilation and linking with V8_INTERPRETED_REGEXP flag.
1982
1983 Fixed bug related to code flushing while compiling a lazy
1984 compilable function (issue http://crbug.com/49099).
1985
1986 Performance improvements on all platforms.
1987
1988
ager@chromium.orgb5737492010-07-15 09:29:43 +000019892010-07-15: Version 2.3.0
1990
1991 Added ES5 Object.seal and Object.isSealed.
1992
1993 Added debugger API for scheduling debugger commands from a
1994 separate thread.
1995
1996
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +000019972010-07-14: Version 2.2.24
1998
1999 Added API for capturing stack traces for uncaught exceptions.
2000
2001 Fixed crash bug when preparsing from a non-external V8 string
2002 (issue 775).
2003
2004 Fixed JSON.parse bug causing input not to be converted to string
2005 (issue 764).
2006
2007 Added ES5 Object.freeze and Object.isFrozen.
2008
2009 Performance improvements on all platforms.
2010
2011
erik.corry@gmail.com4a2e25e2010-07-07 12:22:46 +000020122010-07-07: Version 2.2.23
2013
2014 API change: Convert Unicode code points outside the basic multilingual
2015 plane to the replacement character. Previous behavior was to silently
2016 truncate the value to 16 bits.
2017
2018 Fixed crash: handle all flat string types in regexp replace.
2019
2020 Prevent invalid pre-parsing data passed in through the API from
2021 crashing V8.
2022
2023 Performance improvements on all platforms.
2024
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +00002025
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +000020262010-07-05: Version 2.2.22
2027
2028 Added ES5 Object.isExtensible and Object.preventExtensions.
2029
2030 Enabled building V8 as a DLL.
2031
2032 Fixed a bug in date code where -0 was not interpreted as 0
2033 (issue 736).
2034
2035 Performance improvements on all platforms.
2036
2037
lrn@chromium.org32d961d2010-06-30 09:09:34 +000020382010-06-30: Version 2.2.21
2039
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002040 Fixed bug in externalizing some ASCII strings (Chromium issue 47824).
lrn@chromium.org32d961d2010-06-30 09:09:34 +00002041
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002042 Updated JSON.stringify to floor the space parameter (issue 753).
lrn@chromium.org32d961d2010-06-30 09:09:34 +00002043
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002044 Updated the Mozilla test expectations to the newest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +00002045
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002046 Updated the ES5 Conformance Test expectations to the latest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +00002047
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002048 Updated the V8 benchmark suite.
lrn@chromium.org32d961d2010-06-30 09:09:34 +00002049
2050 Provide actual breakpoints locations in response to setBreakpoint
2051 and listBreakpoints requests.
2052
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00002053
fschneider@chromium.org40b9da32010-06-28 11:29:21 +000020542010-06-28: Version 2.2.20
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00002055
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002056 Fixed bug with for-in on x64 platform (issue 748).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +00002057
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002058 Fixed crash bug on x64 platform (issue 756).
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00002059
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002060 Fixed bug in Object.getOwnPropertyNames. (chromium issue 41243).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +00002061
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002062 Fixed a bug on ARM that caused the result of 1 << x to be
fschneider@chromium.org40b9da32010-06-28 11:29:21 +00002063 miscalculated for some inputs.
2064
2065 Performance improvements on all platforms.
2066
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00002067
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +000020682010-06-23: Version 2.2.19
2069
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002070 Fixed bug that causes the build to break when profillingsupport=off
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +00002071 (issue 738).
2072
2073 Added expose-externalize-string flag for testing extensions.
2074
2075 Resolve linker issues with using V8 as a DLL causing a number of
2076 problems with unresolved symbols.
2077
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002078 Fixed build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +00002079 defined.
2080
2081 Performance improvements on all platforms.
2082
2083
whesse@chromium.org2c186ca2010-06-16 11:32:39 +000020842010-06-16: Version 2.2.18
2085
2086 Added API functions to retrieve information on indexed properties
2087 managed by the embedding layer. Fixes bug 737.
2088
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002089 Made ES5 Object.defineProperty support array elements. Fixes bug 619.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +00002090
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002091 Added heap profiling to the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +00002092
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002093 Removed old named property query from the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +00002094
2095 Incremental performance improvements.
2096
2097
ager@chromium.org2cc82ae2010-06-14 07:35:38 +000020982010-06-14: Version 2.2.17
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +00002099
ager@chromium.org2cc82ae2010-06-14 07:35:38 +00002100 Improved debugger support for stepping out of functions.
2101
2102 Incremental performance improvements.
2103
2104
21052010-06-09: Version 2.2.16
2106
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00002107 Removed the SetExternalStringDiposeCallback API. Changed the
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +00002108 disposal of external string resources to call a virtual Dispose
2109 method on the resource.
2110
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00002111 Added support for more precise break points when debugging and
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +00002112 stepping.
2113
2114 Memory usage improvements on all platforms.
2115
2116
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +000021172010-06-07: Version 2.2.15
2118
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002119 Added an API to control the disposal of external string resources.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +00002120
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002121 Added missing initialization of a couple of variables which makes
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +00002122 some compilers complaint when compiling with -Werror.
2123
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002124 Improved performance on all platforms.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +00002125
2126
sgjesse@chromium.org82dbbab2010-06-02 08:57:44 +000021272010-06-02: Version 2.2.14
2128
2129 Fixed a crash in code generated for String.charCodeAt.
2130
2131 Fixed a compilation issue with some GCC versions (issue 727).
2132
2133 Performance optimizations on x64 and ARM platforms.
2134
2135
ricow@chromium.org30ce4112010-05-31 10:38:25 +000021362010-05-31: Version 2.2.13
2137
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002138 Implemented Object.getOwnPropertyDescriptor for element indices and
ricow@chromium.org30ce4112010-05-31 10:38:25 +00002139 strings (issue 599).
2140
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002141 Fixed bug for windows 64 bit C calls from generated code.
ricow@chromium.org30ce4112010-05-31 10:38:25 +00002142
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002143 Added new scons flag unalignedaccesses for arm builds.
ricow@chromium.org30ce4112010-05-31 10:38:25 +00002144
2145 Performance improvements on all platforms.
2146
2147
kmillikin@chromium.org9155e252010-05-26 13:27:57 +000021482010-05-26: Version 2.2.12
2149
2150 Allowed accessors to be defined on objects rather than just object
2151 templates.
2152
2153 Changed the ScriptData API.
2154
2155
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +000021562010-05-21: Version 2.2.11
2157
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002158 Fixed crash bug in liveedit on 64 bit.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00002159
2160 Use 'full compiler' when debugging is active. This should increase
2161 the density of possible break points, making single step more fine
2162 grained. This will only take effect for functions compiled after
2163 debugging has been started, so recompilation of all functions is
2164 required to get the full effect. IA32 and x64 only for now.
2165
2166 Misc. fixes to the Solaris build.
2167
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002168 Added new flags --print-cumulative-gc-stat and --trace-gc-nvp.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00002169
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002170 Added filtering of CPU profiles by security context.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00002171
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002172 Fixed crash bug on ARM when running without VFP2 or VFP3.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00002173
2174 Incremental performance improvements in all backends.
2175
2176
vegorov@chromium.orgdff694e2010-05-17 09:10:26 +000021772010-05-17: Version 2.2.10
2178
2179 Performance improvements in the x64 and ARM backends.
2180
2181
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +000021822010-05-10: Version 2.2.9
2183
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002184 Allowed Object.create to be called with a function (issue 697).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +00002185
2186 Fixed bug with Date.parse returning a non-NaN value when called on a
2187 non date string (issue 696).
2188
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002189 Allowed unaligned memory accesses on ARM targets that support it (by
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00002190 Subrato K De of CodeAurora <subratokde@codeaurora.org>).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +00002191
2192 C++ API for retrieving JavaScript stack trace information.
2193
2194
ager@chromium.orgac091b72010-05-05 07:34:42 +000021952010-05-05: Version 2.2.8
2196
2197 Performance improvements in the x64 and ARM backends.
2198
2199
kmillikin@chromium.org4111b802010-05-03 10:34:42 +000022002010-05-03: Version 2.2.7
2201
2202 Added support for ES5 date time string format to Date.parse.
2203
2204 Performance improvements in the x64 backend.
2205
2206
lrn@chromium.orgc34f5802010-04-28 12:53:43 +000022072010-04-28: Version 2.2.6
2208
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00002209 Added "amd64" as recognized architecture in scons build script
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00002210 (by Ryan Dahl <coldredlemur@gmail.com>).
2211
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00002212 Fixed bug in String search and replace with very simple RegExps.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00002213
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00002214 Fixed bug in RegExp containing "\b^".
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00002215
2216 Performance improvements on all platforms.
2217
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00002218
fschneider@chromium.org013f3e12010-04-26 13:27:52 +000022192010-04-26: Version 2.2.5
2220
2221 Various performance improvements (especially for ARM and x64)
2222
2223 Fixed bug in CPU profiling (http://crbug.com/42137)
2224
2225 Fixed a bug with the natives cache.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00002226
2227 Fixed two bugs in the ARM code generator that can cause
fschneider@chromium.org013f3e12010-04-26 13:27:52 +00002228 wrong calculations.
2229
2230 Fixed a bug that may cause a wrong result for shift operations.
2231
2232
22332010-04-21: Version 2.2.4
ricow@chromium.orgc9c80822010-04-21 08:22:37 +00002234
2235 Fixed warnings on arm on newer GCC versions.
2236
2237 Fixed a number of minor bugs.
2238
2239 Performance improvements on all platforms.
2240
2241
whesse@chromium.orgb6e43bb2010-04-14 09:36:28 +000022422010-04-14: Version 2.2.3
2243
2244 Added stack command and mem command to ARM simulator debugger.
2245
2246 Fixed scons snapshot and ARM build, and Windows X64 build issues.
2247
2248 Performance improvements on all platforms.
2249
2250
ager@chromium.org357bf652010-04-12 11:30:10 +000022512010-04-12: Version 2.2.2
2252
2253 Introduced new profiler API.
2254
2255 Fixed random number generator to produce full 32 random bits.
2256
2257
lrn@chromium.org25156de2010-04-06 13:10:27 +000022582010-04-06: Version 2.2.1
2259
2260 Debugger improvements.
2261
2262 Fixed minor bugs.
2263
2264
ricow@chromium.orgaa1b6162010-03-29 07:44:58 +000022652010-03-29: Version 2.2.0
2266
2267 Fixed a few minor bugs.
2268
2269 Performance improvements for string operations.
2270
2271
ager@chromium.orgb26c50a2010-03-26 09:27:16 +000022722010-03-26: Version 2.1.10
2273
2274 Fixed scons build issues.
2275
2276 Fixed a couple of minor bugs.
2277
2278
sgjesse@chromium.orgdf7a2842010-03-25 14:34:15 +000022792010-03-25: Version 2.1.9
2280
2281 Added API support for reattaching a global object to a context.
2282
2283 Extended debugger API with access to the internal debugger context.
2284
2285 Fixed Chromium crashes (issues http://crbug.com/39128 and
2286 http://crbug.com/39160)
2287
2288
kmillikin@chromium.org5d8f0e62010-03-24 08:21:20 +000022892010-03-24: Version 2.1.8
2290
2291 Added fine-grained garbage collection callbacks to the API.
2292
2293 Performance improvements on all platforms.
2294
2295
whesse@chromium.orgcec079d2010-03-22 14:44:04 +000022962010-03-22: Version 2.1.7
2297
2298 Fixed issue 650.
2299
2300 Fixed a bug where __proto__ was sometimes enumerated (issue 646).
fschneider@chromium.org086aac62010-03-17 13:18:24 +00002301
2302 Performance improvements for arithmetic operations.
2303
2304 Performance improvements for string operations.
2305
whesse@chromium.orgcec079d2010-03-22 14:44:04 +00002306 Print script name and line number information in stack trace.
2307
2308
23092010-03-17: Version 2.1.6
2310
2311 Performance improvements for arithmetic operations.
2312
2313 Performance improvements for string operations.
2314
2315
vegorov@chromium.orgf8372902010-03-15 10:26:20 +000023162010-03-10: Version 2.1.4
2317
2318 Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).
2319
2320 Performance improvements on all platforms.
2321
2322
ager@chromium.orgce5e87b2010-03-10 10:24:18 +000023232010-03-10: Version 2.1.3
2324
2325 Added API method for context-disposal notifications.
2326
2327 Added API method for accessing elements by integer index.
2328
2329 Added missing implementation of Uint32::Value and Value::IsUint32
2330 API methods.
2331
2332 Added IsExecutionTerminating API method.
2333
2334 Disabled strict aliasing for GCC 4.4.
2335
2336 Fixed string-concatenation bug (issue 636).
2337
2338 Performance improvements on all platforms.
2339
2340
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +000023412010-02-23: Version 2.1.2
2342
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002343 Fixed a crash bug caused by wrong assert.
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +00002344
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002345 Fixed a bug with register names on 64-bit V8 (issue 615).
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +00002346
2347 Performance improvements on all platforms.
2348
ager@chromium.orgce5e87b2010-03-10 10:24:18 +00002349
ager@chromium.org5c838252010-02-19 08:53:10 +000023502010-02-19: Version 2.1.1
2351
2352 [ES5] Implemented Object.defineProperty.
2353
2354 Improved profiler support.
2355
2356 Added SetPrototype method in the public V8 API.
2357
2358 Added GetScriptOrigin and GetScriptLineNumber methods to Function
2359 objects in the API.
2360
2361 Performance improvements on all platforms.
2362
2363
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +000023642010-02-03: Version 2.1.0
2365
2366 Values are now always wrapped in objects when used as a receiver.
2367 (issue 223).
2368
2369 [ES5] Implemented Object.getOwnPropertyNames.
2370
2371 [ES5] Restrict JSON.parse to only accept strings that conforms to the
2372 JSON grammar.
2373
2374 Improvement of debugger agent (issue 549 and 554).
2375
2376 Fixed problem with skipped stack frame in profiles (issue 553).
2377
2378 Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
2379 <ry@tinyclouds.org>.
2380
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002381 Fixed a bug that Math.round() returns incorrect results for huge
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00002382 integers.
2383
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002384 Fixed enumeration order for objects created from some constructor
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00002385 functions (isue http://crbug.com/3867).
2386
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002387 Fixed arithmetic on some integer constants (issue 580).
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00002388
2389 Numerous performance improvements including porting of previous IA-32
2390 optimizations to x64 and ARM architectures.
2391
2392
fschneider@chromium.org0c20e672010-01-14 15:28:53 +000023932010-01-14: Version 2.0.6
2394
2395 Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,
2396 GetOwnProperty, FromPropertyDescriptor.
2397
2398 Fixed Mac x64 build errors.
2399
2400 Improved performance of some math and string operations.
2401
2402 Improved performance of some regexp operations.
2403
2404 Improved performance of context creation.
2405
2406 Improved performance of hash tables.
2407
2408
sgjesse@chromium.org846fb742009-12-18 08:56:33 +000024092009-12-18: Version 2.0.5
2410
2411 Extended to upper limit of map space to allow for 7 times as many map
2412 to be allocated (issue 524).
2413
2414 Improved performance of code using closures.
2415
2416 Improved performance of some binary operations involving doubles.
2417
2418
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +000024192009-12-16: Version 2.0.4
2420
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00002421 Added ECMAScript 5 Object.create.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002422
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00002423 Improved performance of Math.max and Math.min.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002424
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00002425 Optimized adding of strings on 64-bit platforms.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002426
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00002427 Improved handling of external strings by using a separate table
2428 instead of weak handles. This improves garbage collection
2429 performance and uses less memory.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002430
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00002431 Changed code generation for object and array literals in toplevel
2432 code to be more compact by doing more work in the runtime.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002433
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00002434 Fixed a crash bug triggered when garbage collection happened during
2435 generation of a callback load inline cache stub.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002436
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00002437 Fixed crash bug sometimes triggered when local variables shadowed
2438 parameters in functions that used the arguments object.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002439
2440
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +000024412009-12-03: Version 2.0.3
2442
2443 Optimized handling and adding of strings, for-in and Array.join.
2444
2445 Heap serialization is now non-destructive.
2446
2447 Improved profiler support with information on time spend in C++
2448 callbacks registered through the API.
2449
2450 Added commands to the debugger protocol for starting/stopping
2451 profiling.
2452
2453 Enabled the non-optimizing compiler for top-level code.
2454
2455 Changed the API to only allow strings to be set as data objects on
2456 Contexts and scripts to avoid potentially keeping global objects
2457 around for too long (issue 528).
2458
2459 OpenBSD support patch by Peter Valchev <pvalchev@gmail.com>.
2460
2461 Fixed bugs.
2462
2463
ager@chromium.org01beca72009-11-24 14:29:16 +000024642009-11-24: Version 2.0.2
2465
2466 Improved profiler support.
2467
2468 Fixed bug that broke compilation of d8 with readline support.
2469
2470
ager@chromium.org6141cbe2009-11-20 12:14:52 +000024712009-11-20: Version 2.0.1
2472
2473 Fixed crash bug in String.prototype.replace.
2474
2475 Reverted a change which caused Chromium interactive ui test
2476 failures.
2477
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002478
ager@chromium.orgc4c92722009-11-18 14:12:51 +000024792009-11-18: Version 2.0.0
2480
2481 Added support for VFP on ARM.
2482
2483 Added TryCatch::ReThrow method to the API.
2484
2485 Reduced the size of snapshots and improved the snapshot load time.
2486
2487 Improved heap profiler support.
2488
2489 64-bit version now supported on Windows.
2490
2491 Fixed a number of debugger issues.
2492
2493 Fixed bugs.
2494
2495
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +000024962009-10-29: Version 1.3.18
2497
2498 Reverted a change which caused crashes in RegExp replace.
2499
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +00002500 Reverted a change which caused Chromium ui_tests failure.
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +00002501
2502
ager@chromium.org3811b432009-10-28 14:53:37 +000025032009-10-28: Version 1.3.17
2504
2505 Added API method to get simple heap statistics.
2506
2507 Improved heap profiler support.
2508
2509 Fixed the implementation of the resource constraint API so it
2510 works when using snapshots.
2511
2512 Fixed a number of issues in the Windows 64-bit version.
2513
2514 Optimized calls to API getters.
2515
2516 Added valgrind notification on code modification to the 64-bit version.
2517
2518 Fixed issue where we logged shared library addresses on Windows at
2519 startup and never used them.
2520
2521
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +000025222009-10-16: Version 1.3.16
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002523
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00002524 X64: Convert smis to holding 32 bits of payload.
2525
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002526 Introduced v8::Integer::NewFromUnsigned method.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00002527
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002528 Added missing null check in Context::GetCurrent.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00002529
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002530 Added trim, trimLeft and trimRight methods to String
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00002531 Patch by Jan de Mooij <jandemooij@gmail.com>
2532
2533 Implement ES5 Array.isArray
2534 Patch by Jan de Mooij <jandemooij@gmail.com>
2535
2536 Skip access checks for hidden properties.
2537
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002538 Added String::Concat(Handle<String> left, Handle<String> right) to the
2539 V8 API.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00002540
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002541 Fixed GYP-based builds of V8.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00002542
2543
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +000025442009-10-07: Version 1.3.15
2545
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002546 Expanded the maximum size of the code space to 512MB for 64-bit mode.
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +00002547
2548 Fixed a crash bug happening when starting profiling (issue
2549 http://crbug.com/23768).
2550
2551
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +000025522009-10-07: Version 1.3.14
2553
2554 Added GetRealNamedProperty to the API to lookup real properties
2555 located on the object or in the prototype chain skipping any
2556 interceptors.
2557
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002558 Fixed the stack limits setting API to work correctly with threads. The
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00002559 stack limit now needs to be set to each thread thich is used with V8.
2560
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002561 Removed the high-priority flag from IdleNotification()
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00002562
2563 Ensure V8 is initialized before locking and unlocking threads.
2564
2565 Implemented a new JavaScript minifier for compressing the source of
ager@chromium.org3811b432009-10-28 14:53:37 +00002566 the built-in JavaScript. This removes non-Open Source code from Douglas
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00002567 Crockford from the project.
2568
2569 Added a missing optimization in StringCharAt.
2570
2571 Fixed some flaky socket tests.
2572
2573 Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
2574 in 64-bit mode.
2575
2576 Fixed memory leaks in the thread management code.
2577
2578 Fixed the result of assignment to a pixel array. The assigned value
2579 is now the result.
2580
2581 Error reporting for invalid left-hand sides in for-in statements, pre-
2582 and postfix count expressions, and assignments now matches the JSC
2583 behavior in Safari 4.
2584
2585 Follow the spec in disallowing function declarations without a name.
2586
2587 Always allocate code objects within a 2 GB range. On x64 architecture
2588 this is used to use near calls (32-bit displacement) in Code objects.
2589
2590 Optimized array construction ported to x64 and ARM architectures.
2591
2592 [ES5] Changed Object.keys to return strings for element indices.
2593
2594
ager@chromium.org68e7ab72009-09-23 09:40:39 +000025952009-09-23: Version 1.3.13
2596
2597 Fixed uninitialized memory problem.
2598
2599 Improved heap profiler support.
2600
2601
christian.plesner.hansen@gmail.com2bc58ef2009-09-22 10:00:30 +000026022009-09-22: Version 1.3.12
2603
2604 Changed behavior of |function|.toString() on built-in functions to
2605 be compatible with other implementations. Patch by Jan de Mooij.
2606
2607 Added Object::IsDirty in the API.
2608
2609 Optimized array construction; it is now handled purely in native
2610 code.
2611
2612 [ES5] Made properties of the arguments array enumerable.
2613
2614 [ES5] Added test suite adapter for the es5conform test suite.
2615
2616 [ES5] Added Object.keys function.
2617
ager@chromium.org68e7ab72009-09-23 09:40:39 +00002618
ager@chromium.org4af710e2009-09-15 12:20:11 +000026192009-09-15: Version 1.3.11
2620
2621 Fixed crash in error reporting during bootstrapping.
2622
2623 Optimized generated IA32 math code by using SSE2 instructions when
2624 available.
2625
2626 Implemented missing pieces of debugger infrastructure on ARM. The
2627 debugger is now fully functional on ARM.
2628
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002629 Made 'hidden' the default visibility for gcc.
ager@chromium.org4af710e2009-09-15 12:20:11 +00002630
2631
ager@chromium.orga1645e22009-09-09 19:27:10 +000026322009-09-09: Version 1.3.10
2633
2634 Fixed profiler on Mac in 64-bit mode.
2635
2636 Optimized creation of objects from simple constructor functions on
2637 ARM.
2638
2639 Fixed a number of debugger issues.
2640
2641 Reduced the amount of memory consumed by V8.
2642
2643
ager@chromium.org18ad94b2009-09-02 08:22:29 +000026442009-09-02: Version 1.3.9
2645
2646 Optimized stack guard checks on ARM.
2647
2648 Optimized API operations by inlining more in the API.
2649
2650 Optimized creation of objects from simple constructor functions.
2651
2652 Enabled a number of missing optimizations in the 64-bit port.
2653
2654 Implemented native-code support for regular expressions on ARM.
2655
2656 Stopped using the 'sahf' instruction on 64-bit machines that do
2657 not support it.
2658
2659 Fixed a bug in the support for forceful termination of JavaScript
2660 execution.
2661
2662
ager@chromium.org96c75b52009-08-26 09:13:16 +000026632009-08-26: Version 1.3.8
2664
2665 Changed the handling of idle notifications to allow idle
2666 notifications when V8 has not yet been initialized.
2667
2668 Fixed ARM simulator compilation problem on Windows.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002669
ager@chromium.org96c75b52009-08-26 09:13:16 +00002670
ager@chromium.orgab99eea2009-08-25 07:05:41 +000026712009-08-25: Version 1.3.7
2672
2673 Reduced the size of generated code on ARM platforms by reducing
2674 the size of constant pools.
2675
2676 Changed build files to not include the 'ENV' user environment
2677 variable in the build environment.
2678
2679 Changed the handling of idle notifications.
2680
2681
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +000026822009-08-21: Version 1.3.6
2683
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002684 Added support for forceful termination of JavaScript execution.
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00002685
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002686 Added low memory notification to the API. The embedding host can signal
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00002687 a low memory situation to V8.
2688
2689 Changed the handling of global handles (persistent handles in the API
2690 sense) to avoid issues regarding allocation of new global handles
2691 during weak handle callbacks.
2692
2693 Changed the growth policy of the young space.
2694
2695 Fixed a GC issue introduced in version 1.3.5.
2696
2697
sgjesse@chromium.org911335c2009-08-19 12:59:44 +000026982009-08-19: Version 1.3.5
2699
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002700 Optimized initialization of some arrays in the builtins.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00002701
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002702 Fixed mac-nm script to support filenames with spaces.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00002703
2704 Support for using the V8 profiler when V8 is embedded in a Windows DLL.
2705
2706 Changed typeof RegExp from 'object' to 'function' for compatibility.
2707 Fixed bug where regexps were not callable across contexts.
2708
2709 Added context independent script compilation to the API.
2710
2711 Added API call to get the stack trace for an exception.
2712
2713 Added API for getting object mirrors.
2714
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002715 Made sure that SSE3 instructions are used whenever possible even when
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00002716 running off a snapshot generated without using SSE3 instructions.
2717
2718 Tweaked the handling of the initial size and growth policy of the heap.
2719
2720 Added native code generation for RegExp to 64-bit version.
2721
2722 Added JavaScript debugger support to 64-bit version.
2723
2724
ager@chromium.orgadd848f2009-08-13 12:44:13 +000027252009-08-13: Version 1.3.4
2726
2727 Added a readline() command to the d8 shell.
2728
2729 Fixed bug in json parsing.
2730
2731 Added idle notification to the API and reduced memory on idle
2732 notifications.
2733
2734
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +000027352009-08-12: Version 1.3.3
2736
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002737 Fixed issue 417: incorrect %t placeholder expansion.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00002738
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002739 Added .gitignore file similar to Chromium's one.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00002740
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002741 Fixed SConstruct file to build with new logging code for Android.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00002742
2743 API: added function to find instance of template in prototype
2744 chain. Inlined Object::IsInstanceOf.
2745
2746 Land change to notify valgrind when we modify code on x86.
2747
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002748 Added api call to determine whether a string can be externalized.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00002749
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002750 Added a write() command to d8.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00002751
2752
sgjesse@chromium.orgb9d7da12009-08-05 08:38:10 +000027532009-08-05: Version 1.3.2
2754
2755 Started new compiler infrastructure for two-pass compilation using a
2756 control flow graph constructed from the AST.
2757
2758 Profiler stack sampling for X64.
2759
2760 Safe handling of NaN to Posix platform-dependent time functions.
2761
2762 Added a new profiler control API to unify controlling various aspects
2763 of profiling.
2764
2765 Fixed issue 392.
2766
2767
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +000027682009-07-30: Version 1.3.1
2769
2770 Speed improvements to accessors and interceptors.
2771
2772 Added support for capturing stack information on custom errors.
2773
2774 Added support for morphing an object into a pixel array where its
2775 indexed properties are stored in an external byte array. Values written
2776 are always clamped to the 0..255 interval.
2777
2778 Profiler on x64 now handles C/C++ functions from shared libraries.
2779
2780 Changed the debugger to avoid stepping into function.call/apply if the
2781 function is a built-in.
2782
2783 Initial implementation of constructor heap profile for JS objects.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002784
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00002785 More fine grained control of profiling aspects through the API.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002786
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00002787 Optimized the called as constructor check for API calls.
2788
2789
kasperl@chromium.orge959c182009-07-27 08:59:04 +000027902009-07-27: Version 1.3.0
2791
2792 Allowed RegExp objects to be called as functions (issue 132).
2793
2794 Fixed issue where global property cells would escape after
2795 detaching the global object; see http://crbug.com/16276.
2796
2797 Added support for stepping into setters and getters in the
2798 debugger.
2799
2800 Changed the debugger to avoid stopping in its own JavaScript code
2801 and in the code of built-in functions.
2802
2803 Fixed issue 345 by avoiding duplicate escaping labels.
2804
2805 Fixed ARM code generator crash in short-circuited boolean
2806 expressions and added regression tests.
2807
2808 Added an external allocation limit to avoid issues where small V8
2809 objects would hold on to large amounts of external memory without
2810 causing garbage collections.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002811
2812 Finished more of the inline caching stubs for x64 targets.
kasperl@chromium.orge959c182009-07-27 08:59:04 +00002813
2814
kasperl@chromium.orgdefbd102009-07-13 14:04:26 +000028152009-07-13: Version 1.2.14
2816
2817 Added separate paged heap space for global property cells and
2818 avoid updating the write barrier when storing into them.
2819
2820 Improved peep-hole optimization on ARM platforms by not emitting
2821 unnecessary debug information.
2822
2823 Re-enabled ICs for loads and calls that skip a global object
2824 during lookup through the prototype chain.
2825
2826 Allowed access through global proxies to use ICs.
2827
2828 Fixed issue 401.
2829
2830
kasperl@chromium.org68ac0092009-07-09 06:00:35 +000028312009-07-09: Version 1.2.13
2832
2833 Fixed issue 397, issue 398, and issue 399.
2834
2835 Added support for breakpoint groups.
2836
2837 Fixed bugs introduced with the new global object representation.
2838
2839 Fixed a few bugs in the ARM code generator.
2840
2841
kasperl@chromium.org86f77b72009-07-06 08:21:57 +000028422009-07-06: Version 1.2.12
2843
2844 Added stack traces collection to Error objects accessible through
2845 the e.stack property.
2846
2847 Changed RegExp parser to use a recursive data structure instead of
2848 stack-based recursion.
2849
2850 Optimized Date object construction and string concatenation.
2851
2852 Improved performance of div, mod, and mul on ARM platforms.
2853
2854
kasperl@chromium.org2abc4502009-07-02 07:00:29 +000028552009-07-02: Version 1.2.11
2856
2857 Improved performance on IA-32 and ARM.
2858
2859 Fixed profiler sampler implementation on Mac OS X.
2860
2861 Changed the representation of global objects to improve
2862 performance of adding a lot of new properties.
2863
2864
ager@chromium.org3e875802009-06-29 08:26:34 +000028652009-06-29: Version 1.2.10
2866
2867 Improved debugger support.
2868
2869 Fixed bug in exception message reporting (issue 390).
2870
2871 Improved overall performance.
2872
2873
ager@chromium.org5aa501c2009-06-23 07:57:28 +000028742009-06-23: Version 1.2.9
2875
2876 Improved math performance on ARM.
2877
2878 Fixed profiler name-inference bug.
2879
2880 Fixed handling of shared libraries in the profiler tick processor
2881 scripts.
2882
2883 Fixed handling of tests that time out in the test scripts.
2884
2885 Fixed compilation on MacOS X version 10.4.
2886
2887 Fixed two bugs in the regular expression engine.
2888
2889 Fixed a bug in the string type inference.
2890
2891 Fixed a bug in the handling of 'constant function' properties.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002892
ager@chromium.org5aa501c2009-06-23 07:57:28 +00002893 Improved overall performance.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002894
ager@chromium.org5aa501c2009-06-23 07:57:28 +00002895
ager@chromium.orgeadaf222009-06-16 09:43:10 +000028962009-06-16: Version 1.2.8
2897
2898 Optimized math on ARM platforms.
2899
2900 Fixed two crash bugs in the handling of getters and setters.
2901
2902 Improved the debugger support by adding scope chain information.
2903
2904 Improved the profiler support by compressing log data transmitted
2905 to clients.
2906
2907 Improved overall performance.
2908
2909
ager@chromium.orge2902be2009-06-08 12:21:35 +000029102009-06-08: Version 1.2.7
2911
2912 Improved debugger and profiler support.
2913
2914 Reduced compilation time by improving the handling of deferred
2915 code.
2916
2917 Optimized interceptor accesses where the property is on the object
2918 on which the interceptors is attached.
2919
2920 Fixed compilation problem on GCC 4.4 by changing the stack
2921 alignment to 16 bytes.
2922
2923 Fixed handle creation to follow stric aliasing rules.
2924
2925 Fixed compilation on FreeBSD.
2926
2927 Introduced API for forcing the deletion of a property ignoring
2928 interceptors and attributes.
2929
2930
sgjesse@chromium.org755c5b12009-05-29 11:04:38 +000029312009-05-29: Version 1.2.6
2932
2933 Added a histogram recording hit rates at different levels of the
2934 compilation cache.
2935
2936 Added stack overflow check for the RegExp analysis phase. Previously a
2937 very long regexp graph could overflow the stack with recursive calls.
2938
2939 Use a dynamic buffer when collecting log events in memory.
2940
2941 Added start/stop events to the profiler log.
2942
2943 Fixed infinite loop which could happen when setting a debug break while
2944 executing a RegExp compiled to native code.
2945
2946 Fixed handling of lastIndexOf called with negative index (issue 351).
2947
2948 Fixed irregular crash in profiler test (issue 358).
2949
2950 Fixed compilation issues with some versions of gcc.
2951
2952
kasperl@chromium.org71affb52009-05-26 05:44:31 +000029532009-05-26: Version 1.2.5
2954
2955 Fixed bug in initial boundary check for Boyer-Moore text
2956 search (issue 349).
2957
2958 Fixed compilation issues with MinGW and gcc 4.3+ and added support
2959 for armv7 and cortex-a8 architectures. Patches by Lei Zhang and
2960 Craig Schlenter.
2961
2962 Added a script cache to the debugger.
2963
2964 Optimized compilation performance by improving internal data
2965 structures and avoiding expensive property load optimizations for
2966 code that's infrequently executed.
2967
2968 Exposed the calling JavaScript context through the static API
2969 function Context::GetCalling().
2970
2971
kasperl@chromium.orgb3284ad2009-05-18 06:12:45 +000029722009-05-18: Version 1.2.4
2973
2974 Improved performance of floating point number allocation for ARM
2975 platforms.
2976
2977 Fixed crash when using the instanceof operator on functions with
2978 number values in their prototype chain (issue 341).
2979
2980 Optimized virtual frame operations in the code generator to speed
2981 up compilation time and allocated the frames in the zone.
2982
2983 Made the representation of virtual frames and jump targets in the
2984 code generator much more compact.
2985
2986 Avoided linear search for non-locals in scope code when resolving
2987 variables inside with and eval scopes.
2988
2989 Optimized lexical scanner by dealing with whitespace as part of
2990 the token scanning instead of as a separate step before it.
2991
2992 Changed the scavenging collector so that promoted objects do not
2993 reside in the old generation while their remembered set is being
2994 swept for pointers into the young generation.
2995
2996 Fixed numeric overflow handling when compiling count operations.
2997
2998
ager@chromium.org9085a012009-05-11 19:22:57 +000029992009-05-11: Version 1.2.3
3000
3001 Fixed bug in reporting of out-of-memory situations.
3002
3003 Introduced hidden prototypes on certain builtin prototype objects
3004 such as String.prototype to emulate JSC's behavior of restoring
3005 the original function when deleting functions from those prototype
3006 objects.
3007
3008 Fixed crash bug in the register allocator.
3009
3010
ager@chromium.org5ec48922009-05-05 07:25:34 +000030112009-05-04: Version 1.2.2
3012
3013 Fixed bug in array sorting for sparse arrays (issue 326).
3014
3015 Added support for adding a soname when building a shared library
3016 on Linux (issue 151).
3017
3018 Fixed bug caused by morphing internal ASCII strings to external
3019 two-byte strings. Slices over ASCII strings have to forward ASCII
3020 checks to the underlying buffer string.
3021
3022 Allowed API call-as-function handlers to be called as
3023 constructors.
3024
3025 Fixed a crash bug where an external string was disposed but a
3026 slice of the external string survived as a symbol.
3027
3028
ager@chromium.org3a37e9b2009-04-27 09:26:21 +000030292009-04-27: Version 1.2.1
3030
3031 Added EcmaScript 5 JSON object.
3032
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003033 Fixed bug in preemption support on ARM.
ager@chromium.org3a37e9b2009-04-27 09:26:21 +00003034
3035
ager@chromium.org65dad4b2009-04-23 08:48:43 +000030362009-04-23: Version 1.2.0
3037
3038 Optimized floating-point operations on ARM.
3039
3040 Added a number of extensions to the debugger API.
3041
3042 Changed the enumeration order for unsigned integer keys to always
3043 be numerical order.
3044
3045 Added a "read" extension to the shell sample.
3046
3047 Added support for Array.prototype.reduce and
3048 Array.prototype.reduceRight.
3049
3050 Added an option to the SCons build to control Microsoft Visual C++
3051 link-time code generation.
3052
3053 Fixed a number of bugs (in particular issue 315, issue 316,
3054 issue 317 and issue 318).
3055
3056
kasperl@chromium.org2d18d102009-04-15 13:27:32 +000030572009-04-15: Version 1.1.10
3058
3059 Fixed crash bug that occurred when loading a const variable in the
3060 presence of eval.
3061
3062 Allowed using with and eval in registered extensions in debug mode
3063 by fixing bogus assert.
3064
3065 Fixed the source position for function returns to enable the
3066 debugger to break there.
3067
3068
kasperl@chromium.orgd1e3e722009-04-14 13:38:25 +000030692009-04-14: Version 1.1.9
3070
3071 Made the stack traversal code in the profiler robust by avoiding
3072 to look into the heap.
3073
3074 Added name inferencing for anonymous functions to facilitate
3075 debugging and profiling.
3076
3077 Re-enabled stats timers in the developer shell (d8).
3078
3079 Fixed issue 303 by avoiding to shortcut cons-symbols.
3080
3081
kasperl@chromium.orgacae3782009-04-11 09:17:08 +000030822009-04-11: Version 1.1.8
3083
3084 Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).
3085
ager@chromium.org65dad4b2009-04-23 08:48:43 +00003086 Fixed step-in handling for Function.prototype.apply and call in
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00003087 the debugger (issue 269).
3088
3089 Fixed v8::Object::DeleteHiddenValue to not bail out when there
3090 are no hidden properties.
3091
ager@chromium.org65dad4b2009-04-23 08:48:43 +00003092 Added workaround for crash bug, where external symbol table
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00003093 entries with deleted resources would lead to NPEs when looking
3094 up in the symbol table.
3095
3096
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +000030972009-04-07: Version 1.1.7
3098
3099 Added support for easily importing additional environment
3100 variables into the SCons build.
3101
3102 Optimized strict equality checks.
3103
3104 Fixed crash in indexed setters on objects without a corresponding
3105 getter (issue 298).
3106
3107 Re-enabled script compilation cache.
3108
3109
ager@chromium.org8682a592009-04-01 10:47:14 +000031102009-04-01: Version 1.1.6
3111
3112 Reverted an unsafe code generator change.
3113
3114
ager@chromium.org71daaf62009-04-01 07:22:49 +000031152009-04-01: Version 1.1.5
3116
3117 Fixed bug that caused function literals to not be optimized as
3118 much as other functions.
3119
3120 Improved profiler support.
3121
3122 Fixed a crash bug in connection with debugger unloading.
3123
3124 Fixed a crash bug in the code generator caused by losing the
3125 information that a frame element was copied.
3126
3127 Fixed an exception propagation bug that could cause non-null
3128 return values when exceptions were thrown.
3129
3130
ager@chromium.org41826e72009-03-30 13:30:57 +000031312009-03-30: Version 1.1.4
3132
3133 Optimized String.prototype.match.
3134
3135 Improved the stack information in profiles.
3136
3137 Fixed bug in ARM port making it possible to compile the runtime
3138 system for thumb mode again.
3139
3140 Implemented a number of optimizations in the code generator.
3141
3142 Fixed a number of memory leaks in tests.
3143
3144 Fixed crash bug in connection with script source code and external
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +00003145 strings.
ager@chromium.org41826e72009-03-30 13:30:57 +00003146
3147
kasperl@chromium.orgf5aa8372009-03-24 14:47:14 +000031482009-03-24: Version 1.1.3
3149
3150 Fixed assertion failures in compilation of loop conditions.
3151
3152 Removed STL dependency from developer shell (d8).
3153
3154 Added infrastructure for protecting the V8 heap from corruption
3155 caused by memory modifications from the outside.
3156
3157
ager@chromium.orgbb29dc92009-03-24 13:25:23 +000031582009-03-24: Version 1.1.2
3159
3160 Improved frame merge code generated by the code generator.
3161
3162 Optimized String.prototype.replace.
3163
3164 Implemented __defineGetter__ and __defineSetter__ for properties
3165 with integer keys on non-array objects.
3166
3167 Improved debugger and profiler support.
3168
3169 Fixed a number of portability issues to allow compilation for
3170 smaller ARM devices.
3171
3172 Exposed object cloning through the API.
3173
3174 Implemented hidden properties. This is used to expose an identity
3175 hash for objects through the API.
3176
3177 Implemented restarting of regular expressions if their input
3178 string changes representation during preemption.
3179
3180 Fixed a code generator bug that could cause assignments in loops
3181 to be ignored if using continue to break out of the loop (issue
3182 284).
3183
3184
ager@chromium.org3a6061e2009-03-12 14:24:36 +000031852009-03-12: Version 1.1.1
3186
3187 Fixed an assertion in the new compiler to take stack overflow
3188 exceptions into account.
3189
3190 Removed exception propagation code that could cause crashes.
3191
3192 Fixed minor bug in debugger line number computations.
3193
3194 8-byte align the C stack on Linux and Windows to speed up floating
3195 point computations.
3196
3197
kasperl@chromium.org7be3c992009-03-12 07:19:55 +000031982009-03-12: Version 1.1.0
3199
3200 Improved code generation infrastructure by doing simple register
3201 allocation and constant folding and propagation.
3202
3203 Optimized regular expression matching by avoiding to create
3204 intermediate string arrays and by flattening nested array
3205 representations of RegExp data.
3206
3207 Traverse a few stack frames when recording profiler samples to
3208 include partial call graphs in the profiling output.
3209
3210 Added support for using OProfile to profile generated code.
3211
3212 Added remote debugging support to the D8 developer shell.
3213
3214 Optimized creation of nested literals like JSON objects.
3215
3216 Fixed a bug in garbage collecting unused maps and turned it on by
3217 default (--collect-maps).
3218
3219 Added support for running tests under Valgrind.
3220
3221
kasperl@chromium.org061ef742009-02-27 12:16:20 +000032222009-02-27: Version 1.0.3
3223
3224 Optimized double-to-integer conversions in bit operations by using
3225 SSE3 instructions if available.
3226
3227 Optimized initialization sequences that store to multiple
3228 properties of the same object.
3229
3230 Changed the D8 debugger frontend to use JSON messages.
3231
3232 Force garbage collections when disposing contexts.
3233
3234 Align code objects at 32-byte boundaries.
3235
3236
ager@chromium.org381abbb2009-02-25 13:23:22 +000032372009-02-25: Version 1.0.2
3238
3239 Improved profiling support by performing simple call stack
3240 sampling for ticks and by fixing a bug in the logging of code
3241 addresses.
3242
3243 Fixed a number of debugger issues.
3244
3245 Optimized code that uses eval.
3246
3247 Fixed a couple of bugs in the regular expression engine.
3248
3249 Reduced the size of generated code for certain regular expressions.
3250
3251 Removed JSCRE completely.
3252
3253 Fixed issue where test could not be run if there was a dot in the
3254 checkout path.
3255
3256
ager@chromium.org6f10e412009-02-13 10:11:16 +000032572009-02-13: Version 1.0.1
3258
3259 Fixed two crash-bugs in irregexp (issue 231 and 233).
3260
3261 Fixed a number of minor bugs (issue 87, 227 and 228).
3262
3263 Added support for morphing strings to external strings on demand
3264 to avoid having to create copies in the embedding code.
3265
3266 Removed experimental support for external symbol callbacks.
3267
3268
iposva@chromium.org245aa852009-02-10 00:49:54 +000032692009-02-09: Version 1.0.0
3270
3271 Fixed crash-bug in the code generation for case independent 16 bit
3272 backreferences.
ager@chromium.org6f10e412009-02-13 10:11:16 +00003273
iposva@chromium.org245aa852009-02-10 00:49:54 +00003274 Made shells more robust in the presence of string conversion
3275 failures (issue 224).
ager@chromium.org6f10e412009-02-13 10:11:16 +00003276
iposva@chromium.org245aa852009-02-10 00:49:54 +00003277 Fixed a potential infinite loop when attempting to resolve
3278 eval (issue 221).
ager@chromium.org6f10e412009-02-13 10:11:16 +00003279
iposva@chromium.org245aa852009-02-10 00:49:54 +00003280 Miscellaneous fixes to the new regular expression engine.
ager@chromium.org6f10e412009-02-13 10:11:16 +00003281
iposva@chromium.org245aa852009-02-10 00:49:54 +00003282 Reduced binary by stripping unneeded text from JavaScript library and
3283 minifying some JavaScript files.
3284
3285
ager@chromium.orgddb913d2009-01-27 10:01:48 +000032862009-01-27: Version 0.4.9
3287
3288 Enabled new regular expression engine.
3289
3290 Made a number of changes to the debugger protocol.
3291
3292 Fixed a number of bugs in the preemption support.
3293
3294 Added -p option to the developer shell to run files in parallel
3295 using preemption.
3296
3297 Fixed a number of minor bugs (including issues 176, 187, 189, 192,
3298 193, 198 and 201).
3299
3300 Fixed a number of bugs in the serialization/deserialization
3301 support for the ARM platform.
3302
3303
sgjesse@chromium.org715915b2009-01-19 16:08:47 +000033042009-01-19: Version 0.4.8.1
3305
3306 Minor patch to debugger support.
3307
3308
ager@chromium.org32912102009-01-16 10:38:43 +000033092009-01-16: Version 0.4.8
3310
3311 Fixed string length bug on ARM (issue 171).
3312
3313 Made most methods in the API const.
3314
3315 Optimized object literals by improving data locality.
3316
3317 Fixed bug that caused incomplete functions to be cached in case of
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00003318 stack overflow exceptions.
ager@chromium.org32912102009-01-16 10:38:43 +00003319
3320 Fixed bugs that caused catch variables and variables introduced by
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00003321 eval to behave incorrectly when using accessors (issues 186, 190
3322 and 191).
ager@chromium.org32912102009-01-16 10:38:43 +00003323
3324
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +000033252009-01-06: Version 0.4.7
3326
ager@chromium.org32912102009-01-16 10:38:43 +00003327 Minor bugfixes and optimizations.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00003328
ager@chromium.org32912102009-01-16 10:38:43 +00003329 Added command line debugger to D8 shell.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00003330
ager@chromium.org32912102009-01-16 10:38:43 +00003331 Fixed subtle bug that caused the wrong 'this' to be used when
3332 calling a caught function in a catch clause.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00003333
ager@chromium.org32912102009-01-16 10:38:43 +00003334 Inline array loads within loops directly in the code instead of
3335 always calling a stub.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00003336
ager@chromium.org32912102009-01-16 10:38:43 +00003337
ager@chromium.org8bb60582008-12-11 12:02:20 +000033382008-12-11: Version 0.4.6
3339
3340 Fixed exception reporting bug where certain exceptions were
3341 incorrectly reported as uncaught.
3342
3343 Improved the memory allocation strategy used during compilation to
3344 make running out of memory when compiling huge scripts less
3345 likely.
3346
3347 Optimized String.replace by avoiding the construction of certain
3348 sub strings.
3349
3350 Fixed bug in code generation for large switch statements on ARM.
3351
3352 Fixed bug that caused V8 to change the global object template
3353 passed in by the user.
3354
3355 Changed the API for creating object groups used during garbage
3356 collection. Entire object groups are now passed to V8 instead of
3357 individual members of the groups.
3358
ager@chromium.org32912102009-01-16 10:38:43 +00003359
ager@chromium.orga74f0da2008-12-03 16:05:52 +000033602008-12-03: Version 0.4.5
iposva@chromium.org96f667e2008-11-26 23:48:02 +00003361
ager@chromium.orga74f0da2008-12-03 16:05:52 +00003362 Added experimental API support for allocating V8 symbols as
3363 external strings.
3364
3365 Fixed bugs in debugging support on ARM.
3366
3367 Changed eval implementation to correctly detect whether or not a
3368 call to eval is aliased.
3369
3370 Fixed bug caused by a combination of the compilation cache and
3371 dictionary probing in native code. The bug caused us to sometimes
3372 call functions that had not yet been compiled.
3373
3374 Added platform support for FreeBSD.
3375
3376 Added support for building V8 on Windows with either the shared or
3377 static version of MSVCRT
ager@chromium.org32912102009-01-16 10:38:43 +00003378
iposva@chromium.org96f667e2008-11-26 23:48:02 +00003379 Added the v8::jscre namespace around the jscre functions to avoid
3380 link errors (duplicate symbols) when building Google Chrome.
3381
ager@chromium.orga74f0da2008-12-03 16:05:52 +00003382 Added support for calling a JavaScript function with the current
3383 debugger execution context as its argument to the debugger
3384 interface.
3385
3386 Changed the type of names of counters from wchar_t to char.
3387
3388 Changed the Windows system call used to compute daylight savings
3389 time. The system call that we used to use became four times
3390 slower on WinXP SP3.
3391
3392 Added support in the d8 developer shell for memory-mapped counters
3393 and added a stats-viewer tool.
3394
3395 Fixed bug in upper/lower case mappings (issue 149).
3396
iposva@chromium.org96f667e2008-11-26 23:48:02 +00003397
ager@chromium.org3bf7b912008-11-17 09:09:45 +000033982008-11-17: Version 0.4.4
3399
3400 Reduced code size by using shorter instruction encoding when
3401 possible.
3402
3403 Added a --help option to the shell sample and to the d8 shell.
3404
3405 Added visual studio project files for building the ARM simulator.
3406
3407 Fixed a number of ARM simulator issues.
3408
3409 Fixed bug in out-of-memory handling on ARM.
3410
3411 Implemented shell support for passing arguments to a script from
3412 the command line.
3413
3414 Fixed bug in date code that made certain date functions return -0
3415 instead of 0 for dates before the epoch.
3416
3417 Restricted applications of eval so it can only be used in the
3418 context of the associated global object.
3419
3420 Treat byte-order marks as whitespace characters.
ager@chromium.org32912102009-01-16 10:38:43 +00003421
3422
ager@chromium.org870a0b62008-11-04 11:43:05 +000034232008-11-04: Version 0.4.3
3424
3425 Added support for API accessors that prohibit overwriting by
3426 accessors defined in JavaScript code by using __defineGetter__ and
3427 __defineSetter__.
3428
3429 Improved handling of conditionals in test status files.
3430
3431 Introduced access control in propertyIsEnumerable.
3432
3433 Improved performance of some string operations by caching
3434 information about the type of the string between operations.
3435
3436 Fixed bug in fast-case code for switch statements that only have
3437 integer labels.
ager@chromium.org32912102009-01-16 10:38:43 +00003438
ager@chromium.org870a0b62008-11-04 11:43:05 +00003439
kasperl@chromium.org9bbf9682008-10-30 11:53:07 +000034402008-10-30: Version 0.4.2
3441
3442 Improved performance of Array.prototype.concat by moving the
3443 implementation to C++ (issue 123).
3444
3445 Fixed heap growth policy to avoid growing old space to its maximum
3446 capacity before doing a garbage collection and fixed issue that
3447 would lead to artificial out of memory situations (issue 129).
3448
3449 Fixed Date.prototype.toLocaleDateString to return the date in the
3450 same format as WebKit.
3451
3452 Added missing initialization checks to debugger API.
3453
3454 Added removing of unused maps during GC.
3455
3456
kasperl@chromium.org9fe21c62008-10-28 08:53:51 +000034572008-10-28: Version 0.4.1
3458
3459 Added caching of RegExp data in compilation cache.
3460
3461 Added Visual Studio project file for d8 shell.
3462
3463 Fixed function call performance regression introduced in version
3464 0.4.0 when splitting the global object in two parts (issue 120).
3465
3466 Fixed issue 131 by checking for empty handles before throwing and
3467 reporting exceptions.
3468
3469
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +000034702008-10-23: Version 0.4.0
3471
3472 Split the global object into two parts: The state holding global
3473 object and the global object proxy.
3474
3475 Fixed bug that affected the value of an assignment to an element
3476 in certain cases (issue 116).
3477
3478 Added GetPropertyNames functionality (issue 33) and extra Date
3479 functions (issue 77) to the API.
3480
3481 Changed WeakReferenceCallback to take a Persistent<Value> instead
3482 of a Persistent<Object> (issue 101).
3483
3484 Fixed issues with message reporting for exceptions in try-finally
3485 blocks (issues 73 and 75).
3486
ager@chromium.org32912102009-01-16 10:38:43 +00003487 Optimized flattening of strings and string equality checking.
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +00003488
3489 Improved Boyer-Moore implementation for faster indexOf operations.
3490
3491 Added development shell (d8) which includes counters and
3492 completion support.
3493
3494 Fixed problem with the receiver passed to functions called from
3495 eval (issue 124).
3496
3497
ager@chromium.org7c537e22008-10-16 08:43:32 +000034982008-10-16: Version 0.3.5
3499
3500 Improved string hash-code distribution by excluding bit-field bits
3501 from the hash-code.
3502
3503 Changed string search algorithm used in indexOf from KMP to
3504 Boyer-Moore.
3505
3506 Improved the generated code for the instanceof operator.
3507
3508 Improved performance of slow-case string equality checks by
3509 specializing the code based on the string representation.
3510
3511 Improve the handling of out-of-memory situations (issue 70).
3512
3513 Improved performance of strict equality checks.
3514
3515 Improved profiler output to make it easier to see anonymous
3516 functions.
3517
3518 Improved performance of slow-case keyed loads.
3519
3520 Improved property access performance by allocating a number of
3521 properties in the front object.
3522
3523 Changed the toString behavior on the built-in object constructors
3524 to print [native code] instead of the actual source. Some web
3525 applications do not like constructors with complex toString
3526 results.
ager@chromium.org32912102009-01-16 10:38:43 +00003527
ager@chromium.org7c537e22008-10-16 08:43:32 +00003528
kasperl@chromium.org41044eb2008-10-06 08:24:46 +000035292008-10-06: Version 0.3.4
3530
3531 Changed Array.prototype.sort to use quick sort.
3532
3533 Fixed code generation issue where leaving a finally block with
3534 break or continue would accumulate elements on the expression
3535 stack (issue 86).
3536
3537 Made sure that the name accessor on functions returns the expected
3538 names for builtin JavaScript functions and C++ callback functions.
3539
3540 Added fast case code for extending the property storage array of
3541 JavaScript objects.
3542
3543 Ported switch statement optimizations introduced in version 0.3.3
3544 to the ARM code generator.
3545
3546 Allowed GCC to use strict-aliasing rules when compiling.
3547
3548 Improved performance of arguments object allocation by taking care
3549 of arguments adaptor frames in the generated code.
3550
3551 Updated the V8 benchmark suite to version 2.
3552
3553
ager@chromium.org236ad962008-09-25 09:45:57 +000035542008-09-25: Version 0.3.3
3555
3556 Improved handling of relocation information to enable more
3557 peep-hole optimizations.
3558
3559 Optimized switch statements where all labels are constant small
3560 integers.
3561
3562 Optimized String.prototype.indexOf for common cases.
3563
3564 Fixed more build issues (issue 80).
3565
3566 Fixed a couple of profiler issues.
3567
3568 Fixed bug where the body of a function created using the Function
3569 constructor was not allowed to end with a single-line comment
3570 (issue 85).
3571
3572 Improved handling of object literals by canonicalizing object
3573 literal maps. This will allow JSON objects with the same set of
3574 properties to share the same map making inline caching work better
3575 for JSON objects.
ager@chromium.org32912102009-01-16 10:38:43 +00003576
ager@chromium.org236ad962008-09-25 09:45:57 +00003577
kasperl@chromium.orgb9123622008-09-17 14:05:56 +000035782008-09-17: Version 0.3.2
3579
3580 Generalized the EvalCache into a CompilationCache and enabled it
3581 for scripts too. The current strategy is to retire all entries
3582 whenever a mark-sweep collection is started.
3583
3584 Fixed bug where switch statements containing only a default case
3585 would lead to an unbalanced stack (issue 69).
3586
3587 Fixed bug that made access to the function in a named function
3588 expression impossible in certain situations (issue 24).
3589
3590 Fixed even more build issues.
3591
3592 Optimized calling conventions on ARM. The conventions on ARM and
3593 IA-32 now match.
3594
3595 Removed static initializers for flags and counters.
3596
3597 Improved inline caching behavior for uncommon cases where lazily
3598 loading Date and RegExp code could force certain code paths go
3599 megamorphic.
3600
3601 Removed arguments adaption for builtins written in C++. This
3602 makes Array.prototype.push and Array.prototype.pop slightly
3603 faster.
3604
3605
ager@chromium.org9258b6b2008-09-11 09:11:10 +000036062008-09-11: Version 0.3.1
3607
3608 Fixed a number of build issues.
3609
3610 Fixed problem with missing I-cache flusing on ARM.
3611
3612 Changed space layout in memory management by splitting up
3613 code space into old data space and code space.
3614
3615 Added utf-8 conversion support to the API (issue 57).
3616
3617 Optimized repeated calls to eval with the same strings. These
3618 repeated calls are common in web applications.
3619
3620 Added Xcode project file.
3621
3622 Optimized a couple of Array operation.
3623
3624 Fixed parser bug by checking for end-of-string when parsing break
3625 and continue (issue 35).
3626
3627 Fixed problem where asian characters were not categorized as
3628 letters.
3629
3630 Fixed bug that disallowed calling functions fetched from an array
3631 using a string as an array index (issue 32).
3632
3633 Fixed bug where the internal field count on object templates were
3634 sometimes ignored (issue 54).
3635
3636 Added -f option to the shell sample for compatibility with other
3637 engines (issue 18).
3638
3639 Added source info to TryCatches in the API.
3640
3641 Fixed problem where the seed for the random number generator was
3642 clipped in a double to unsigned int conversion.
3643
3644 Fixed bug where cons string symbols were sometimes converted to
3645 non-symbol flat strings during GC.
3646
3647 Fixed bug in error reporting when attempting to convert null to an
3648 object.
ager@chromium.org32912102009-01-16 10:38:43 +00003649
3650
ager@chromium.orgc27e4e72008-09-04 13:52:27 +000036512008-09-04: Version 0.3.0
3652
3653 Added support for running tests on the ARM simulator.
3654
3655 Fixed bug in the 'in' operator where negative indices were not
3656 treated correctly.
3657
3658 Fixed build issues on gcc-4.3.1.
3659
3660 Changed Date.prototype.toLocaleTimeString to not print the
3661 timezone part of the time.
3662
3663 Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
3664 with user code.
3665
3666
v8.team.kasperl727e9952008-09-02 14:56:44 +000036672008-09-02: Version 0.2.5
3668
3669 Renamed the top level directory 'public' to 'include'.
3670
3671 Added 'env' option to the SCons build scripts to support
3672 overriding the ENV part of the build environment. This is mostly
3673 to support Windows builds in cases where SCons cannot find the
3674 correct paths to the Windows SDK, as these paths cannot be passed
3675 through shell environment variables.
3676
3677 Enabled "Buffer Security Check" on for the Windows SCons build and
3678 added the linker option /OPT:ICF as an optimization.
3679
3680 Added the V8 benchmark suite to the repository.
3681
3682
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +000036832008-09-01: Version 0.2.4
3684
3685 Included mjsunit JavaScript test suite and C++ unit tests.
3686
3687 Changed the shell sample to not print the result of executing a
3688 script provided on the command line.
3689
3690 Fixed issue when building samples on Windows using a shared V8
3691 library. Added visibility option on Linux build which makes the
3692 generated library 18% smaller.
3693
3694 Changed build system to accept multiple build modes in one build
3695 and generate separate objects, libraries and executables for each
3696 mode.
3697
3698 Removed deferred negation optimization (a * -b => -(a * b)) since
3699 this visibly changes operand conversion order.
3700
3701 Improved parsing performance by introducing stack guard in
3702 preparsing. Without a stack guard preparsing always bails out
3703 with stack overflow.
3704
3705 Changed shell sample to take flags directly from the command-line.
3706 Added API call that implements this.
3707
3708 Added load, quit and version functions to the shell sample so it's
3709 easier to run benchmarks and tests.
3710
3711 Fixed issue with building samples and cctests on 64-bit machines.
3712
3713 Fixed bug in the runtime system where the prototype chain was not
3714 always searched for a setter when setting a property that does not
3715 exist locally.
ager@chromium.org32912102009-01-16 10:38:43 +00003716
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +00003717
mads.s.agercbaa0602008-08-14 13:41:48 +000037182008-08-14: Version 0.2.3
3719
3720 Improved performance of garbage collection by moving the
3721 function that updates pointers during compacting collection
3722 into the updating visitor. This gives the compiler a better
3723 chance to inline and avoid a function call per (potential)
3724 pointer.
3725
3726 Extended the shell sample with a --runtime-flags option.
3727
3728 Added Visual Studio project files for the shell.cc and
3729 process.cc samples.
3730
3731
37322008-08-13: Version 0.2.2
mads.s.ager31e71382008-08-13 09:32:07 +00003733
3734 Improved performance of garbage collection by changing the way
3735 we use the marking stack in the event of stack overflow during
3736 full garbage collection and by changing the way we mark roots.
3737
3738 Cleaned up ARM version by removing top of stack caching and by
3739 introducing push/pop elimination.
3740
3741 Cleaned up the way runtime functions are called to allow
3742 runtime calls with no arguments.
3743
3744 Changed Windows build options to make sure that exceptions are
3745 disabled and that optimization flags are enabled.
3746
3747 Added first version of Visual Studio project files.
3748
3749
mads.s.agercbaa0602008-08-14 13:41:48 +000037502008-08-06: Version 0.2.1
mads.s.ager@gmail.com769cc962008-08-06 10:02:49 +00003751
3752 Improved performance of unary addition by avoiding runtime calls.
3753
3754 Fixed the handling of '>' and '<=' to use right-to-left conversion
3755 and left-to-right evaluation as specified by ECMA-262.
3756
3757 Fixed a branch elimination bug on the ARM platform where incorrect
3758 code was generated because of overly aggressive branch
3759 elimination.
3760
3761 Improved performance of code that repeatedly assigns the same
3762 function to the same property of different objects with the same
3763 map.
3764
3765 Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler
3766 no longer expects DEBUG to be defined.
3767
3768 Added platform-nullos.cc to serve as the basis for new platform
3769 implementations.
3770
mads.s.ager31e71382008-08-13 09:32:07 +00003771
mads.s.agercbaa0602008-08-14 13:41:48 +000037722008-07-30: Version 0.2.0
kasper.lund7276f142008-07-30 08:49:36 +00003773
3774 Changed all text files to have native svn:eol-style.
3775
3776 Added a few samples and support for building them. The samples
3777 include a simple shell that can be used to benchmark and test V8.
3778
3779 Changed V8::GetVersion to return the version as a string.
3780
3781 Added source for lazily loaded scripts to snapshots and made
3782 serialization non-destructive.
3783
3784 Improved ARM support by fixing the write barrier code to use
3785 aligned loads and stores and by removing premature locals
3786 optimization that relied on broken support for callee-saved
3787 registers (removed).
3788
3789 Refactored the code for marking live objects during garbage
3790 collection and the code for allocating objects in paged
3791 spaces. Introduced an abstraction for the map word of a heap-
3792 allocated object and changed the memory allocator to allocate
3793 executable memory only for spaces that may contain code objects.
3794
3795 Moved StringBuilder to utils.h and ScopedLock to platform.h, where
3796 they can be used by debugging and logging modules. Added
3797 thread-safe message queues for dealing with debugger events.
3798
3799 Fixed the source code reported by toString for certain builtin
3800 empty functions and made sure that the prototype property of a
3801 function is enumerable.
3802
3803 Improved performance of converting values to condition flags in
3804 generated code.
3805
3806 Merged disassembler-{arch} files.
3807
3808
mads.s.agercbaa0602008-08-14 13:41:48 +000038092008-07-28: Version 0.1.4
kasper.lundaf4734f2008-07-28 12:50:18 +00003810
3811 Added support for storing JavaScript stack traces in a stack
3812 allocated buffer to make it visible in shallow core dumps.
3813 Controlled by the --preallocate-message-memory flag which is
3814 disabled by default.
3815
3816
mads.s.agercbaa0602008-08-14 13:41:48 +000038172008-07-25: Version 0.1.3
kasper.lund44510672008-07-25 07:37:58 +00003818
3819 Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
3820 map transitions would count as properties.
3821
3822 Allowed aliased eval invocations by treating them as evals in the
3823 global context. This may change in the future.
3824
3825 Added support for accessing the last entered context through the
3826 API and renamed Context::Current to Context::GetCurrent and
3827 Context::GetSecurityContext to Context::GetCurrentSecurityContext.
3828
3829 Fixed bug in the debugger that would cause the debugger scripts to
3830 be recursively loaded and changed all disabling of interrupts to
3831 be block-structured.
3832
3833 Made snapshot data read-only to allow it to be more easily shared
3834 across multiple users of V8 when linked as a shared library.
3835
3836
mads.s.agercbaa0602008-08-14 13:41:48 +000038372008-07-16: Version 0.1.2
kasper.lund212ac232008-07-16 07:07:30 +00003838
3839 Fixed building on Mac OS X by recognizing i386 and friends as
3840 IA-32 platforms.
3841
3842 Added propagation of stack overflow exceptions that occur while
3843 compiling nested functions.
3844
3845 Improved debugger with support for recursive break points and
3846 handling of exceptions that occur in the debugger JavaScript code.
3847
3848 Renamed GetInternal to GetInternalField and SetInternal to
3849 SetInternalField in the API and moved InternalFieldCount and
3850 SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
3851
3852
mads.s.agercbaa0602008-08-14 13:41:48 +000038532008-07-09: Version 0.1.1
kasper.lundbd3ec4e2008-07-09 11:06:54 +00003854
3855 Fixed bug in stack overflow check code for IA-32 targets where a
3856 non-tagged value in register eax was pushed to the stack.
3857
3858 Fixed potential quadratic behavior when converting strings to
3859 numbers.
3860
3861 Fixed bug where the return value from Object::SetProperty could
3862 end up being the property holder instead of the written value.
3863
3864 Improved debugger support by allowing nested break points and by
3865 dealing with stack-overflows when compiling functions before
3866 setting break points in them.
3867
3868
mads.s.agercbaa0602008-08-14 13:41:48 +000038692008-07-03: Version 0.1.0
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00003870
kasper.lundbd3ec4e2008-07-09 11:06:54 +00003871 Initial export.
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00003872
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00003873# Local Variables:
3874# mode:text
3875# End: