blob: 99495dd46b6c4decc9583bab98c9c38fd0078922 [file] [log] [blame]
Ben Murdoch589d6972011-11-30 16:04:58 +000012011-09-15: Version 3.6.4
2
3 Fixed d8's broken readline history.
4
5 Removed the need for code delete events in CPU profiler (Issue 1466).
6
7 Fixed debugger stepping next with trycatch recursion (Issue 1639).
8
9 Fixing parallel execution in d8 (with -p) and some memory leaks.
10
11 Support for precise stepping in functions compiled before debugging was
12 started (step 1).
13
14
152011-09-13: Version 3.6.3
16
17 Implemented better support of typed arrays in the d8 shell.
18
19 Bug fixes and performance improvements on all platforms.
20
21
222011-09-08: Version 3.6.2
23
24 Added "dependencies" target to top-level Makefile.
25
26 Added ability to turn profiler on/off in d8.
27
28 Added "soname_version" parameter to common.gypi, v8.gyp, and Makefile.
29
30 Fixed several crash bugs.
31
32
332011-09-07: Version 3.6.1
34
35 Fixed a bug in abrupt exit from with or catch inside finally.
36
37 Fixed possible crash in FixedDoubleArray::Initialize() (Chromium
38 issue 95113).
39
40 Fixed a bug in Page::GetRegionMaskForSpan (Chromium issue 94425).
41
42 Fixed a few clang warnings (which -Werror treated as errors).
43
44 Performance improvements on all platforms.
45
46
472011-09-05: Version 3.6.0
48
49 Fixed a bug when optimizing named function expression (issue 1647).
50
51 Fixed a bug when optimizing f.call.apply (issue 1650).
52
53 Made arguments and caller always be null on native functions
54 (issues 1548 and 1643).
55
56 Fixed issue 1648 (cross-compiling x64 targeting ia32).
57
58 Fixed issue 371 (d8 printing of strings containing \0).
59
60 Fixed order of evaluation in arguments to parseInt (issue 1649).
61
62 Fixed a problem with large heap snapshots in Chrome DevTools
63 (issue 1658, chromium issue 89268).
64
65 Upped default maximum heap size from 512M to 700M.
66
67
Ben Murdoch69a99ed2011-11-30 16:03:39 +0000682011-08-31: Version 3.5.10
69
70 Added dependency of v8_base on WinSocket2 Windows library in
71 the GYP-build.
72
73 Various bugfixes.
74
75
762011-08-29: Version 3.5.9
77
78 Made FromPropertyDescriptor not trigger inherited setters.
79
80 Fixed .gyp files to work on the ARM simulator.
81
82 Fixed shared library build warnings for MSVS.
83
84
852011-08-24: Version 3.5.8
86
87 Added V8EXPORT attributes for v8::Array::CheckCast and
88 v8::Number::CheckCast.
89
90 Made a slight API change enabling opting out from null termination
91 in String::Write*().
92
93 Fixed arm build for gcc-4.6.
94
95
962011-08-22: Version 3.5.7
97
98 Make scanner handle invalid unicode escapes in identifiers correctly.
99
100 Make regexp flag parsing stricter.
101
102 Fix several memory leaks.
103
104
1052011-08-17: Version 3.5.6
106
107 Fixed issue that could cause crashes when running with --heap-stats.
108
109 Fixed compilation on Linux 2.6.9 and older.
110
111 Fixed live-object-list to work with isolates.
112
113 Fixed memory leaks in zones and isolates.
114
115 Fixed a performance regression for TypedArrays on x64.
116
117 Stability improvements on all platforms.
118
119
1202011-08-15: Version 3.5.5
121
122 Fixed bugs involving negative zero and the optimizing compiler.
123
124 Fixed optimized version of Function.apply(x, arguments). (issue 1592)
125
126 Eliminated uses of deprecated ARM instructions.
127
128 Sped up Math.floor by using SSE 4.1 roundsd instruction on ia32.
129
130 Removed restriction on the size of disassembled code that is printed.
131
132
1332011-08-10: Version 3.5.4
134
135 Added a preliminary implementation of ES Harmony weak maps. Weak
136 maps can be enabled by the flag --harmony-weakmaps.
137
138 Introduced a toplevel Makefile to support GYP-based building. GYP
139 can be obtained from http://gyp.googlecode.com.
140
141 Fixed a bug in the length property of functions created by
142 Function.prototype.bind.
143
144 Reduced malloc heap allocation on process startup.
145
146 Several important code generation bug fixes.
147
148 Performance improvements on all platforms.
149
150
1512011-08-03: Version 3.5.3
152
153 MIPS: Port of fix to ClassOf check from ARM.
154 Patch from Paul Lind <plind44@gmail.com>.
155
156 Stopped using mprotect on Cygwin.
157 Avoided uninitialized member warning on gcc 4.3.4
158 Both patches by Bert Belder.
159
160 Bug fixes and performance improvements on all platforms.
161
162
1632011-08-01: Version 3.5.2
164
165 Performance improvements on all platforms.
166
167
1682011-07-28: Version 3.5.1
169
170 Fixed setting the readonly flag on the prototype property using the
171 API call FunctionTemplate::SetPrototypeAttributes (issue 1539).
172
173 Changed the tools/test.py script to use d8 instead of shell for
174 testing.
175
176 Fixed crash in ToBooleanStub when GC happens during invocation.
177
178 Enabled automatic unboxing of double arrays.
179
180 Performance improvements on all platforms.
181
182
1832011-07-25: Version 3.5.0
184
185 Implemented Object.prototype.{hasOwnProperty, propertyIsEnumerable} for
186 proxies.
187
188 Removed logging to memory support.
189
190 Bugfixes and performance work.
191
192
Ben Murdoch3fb3ca82011-12-02 17:19:32 +00001932011-07-20: Version 3.4.14
194
195 Fix the debugger for strict-mode functions. (Chromium issue 89236)
196
Ben Murdoch69a99ed2011-11-30 16:03:39 +0000197 Add GetPropertyAttribute method for Object in the API. (Patch by
198 Peter Varga)
Ben Murdoch3fb3ca82011-12-02 17:19:32 +0000199
200 Fix -Wunused-but-set-variable for gcc-4.6 on x64. (Issue 1291)
201
202
2032011-07-18: Version 3.4.13
204
205 Improved debugger support to allow inspection of optimized frames (issue
206 1140).
207
208 Fixed a bug in prototype transitions cache clearing introduced by r8165.
209
210 Fixed shortcutting bug in HInferRepresentation. Patch by Andy Wingo.
211
212 Fixed a memory leak in sample/shell.cc (dispose semaphores).
213
214 Simplified HClampToUint8. Patch by Andy Wingo.
215
216 Exposed APIs for detecting boxed primitives, native errors. Patch by
217 Luke Zarko.
218
219 Added map check for COW elements to crankshaft array handling code
220 (issue 1560).
221
222 Sample shell and (a light version of) D8 links against a shared library
223 now.
224
225 Fixed bug in array filter and reduce functions (issue 1559).
226
227 Avoid TLS load in AstNode constructor.
228
229 Introduced a random entropy source which can optionally be provided at
230 initialization. (Chromium issue 89462).
231
232
2332011-07-13: Version 3.4.12
234
235 Added --prof profiling option to d8 shell.
236
237 Fixed a bug where reading a directory in d8 shell hangs (issue 1533).
238
239 Fixed a potential assertion failure in const declarations.
240
241 Fixed an assertion failure in descriptor arrays (issue 1526).
242
243 Enabled fast thread-local storage by default on supported platforms.
244
245 Improved reporting of source position for global variable loads
246 (issue 1527).
247
248
2492011-07-11: Version 3.4.11
250
251 Fixed MinGW32 build.
252
253 Fixed a GC bug with RegExp code flushing.
254
255 Implemented Object.defineProperty for proxies.
256
257 Fixed a bug in for/in iteration of arguments objects (issue 1531).
258
259 Added debugger support for inspecting optimized frames (issue 1140).
260
261 Allowed JSObject::PreventExtensions to work for arguments objects.
262
263 Bugfixes and performance work.
264
265
2662011-07-06: Version 3.4.10
267
268 Fixed debugger not breaking on certain "if" statements (issue 1523).
269
270 Fixed assertion failure in runtime profiler when running on IA32
271 without snapshot (issue 1522).
272
273 Fixed ABI for API calls on IA32 (for clang compatibility).
274
275 Introduced code flushing of RegExp code to free memory used by
276 RegExps sooner.
277
278 Fixed linux-tick-processor built wrong version of v8 (issue 1532).
279
280 Fixed assertion failure in v8::TryCache::StackTrace (issue 1529).
281
282 Performance improvements on all platforms.
283
284
2852011-07-04: Version 3.4.9
286
287 Added support for debugger inspection of locals in optimized frames
288 (issue 1140).
289
290 Fixed SConstruct to pass correct defines to samples/preparser when
291 building with library=shared.
292
293 Made date parser handle ES5 Date Time Strings correctly (issue 1498).
294
295 Fixed a bug in Object.defineProperty on the arguments object.
296
297 Performance improvements on all platforms.
298
299
3002011-06-29: Version 3.4.8
301
302 Ensure 16-byte stack alignment on Solaris (issue 1505).
303
304 Fix "illegal access" when calling parseInt with a radix
305 that is not a smi. (issue 1246).
306
307
3082011-06-27: Version 3.4.7
309
310 Fixed 64-bit build on FreeBSD.
311
312 Added API to set the property attributes for the prototype
313 property on functions created from FunctionTemplates.
314
315 Bugfixes and performance work.
316
317
3182011-06-22: Version 3.4.6
319
320 Lowered limit on code space for systems with low memory supply.
321
322 Allowed compiling v8_shell with the 'host' toolset (issue 82437).
323
324 Extended setBreakpoint API to accept partial script name (issue 1418).
325
326 Made multi-line comments not count when deciding whether the '-->'
327 comment starter is first on a line. This matches Safari.
328
329 Made handling of non-array recievers in Array length setter correct
330 (issue 1491).
331
332 Added ability to heap profiler to iterate over snapshot's node
333 (issue 1481).
334
335
3362011-06-20: Version 3.4.5
337
338 Fixed issues 794, 1097, 1215(partial), 1417, 1435, 1472, 1473,
339 1476, and 1477.
340
341 Improved code generation for !0 and !1.
342
343 Reduced memory usage for regular expressions with nested qualifiers.
344 (issue 1472)
345
346 Fixed V8 to count line terminators in multi-line comments.
347 (Chromium issue 86431)
348
349 Fixed disassembler=on option for release-mode builds. (issue 1473)
350
351 Performance improvements on all platforms.
352
353
3542011-06-15: Version 3.4.4
355
356 Added snapshot compression support and --stress-opt flag to d8.
357
358 Improved performance of try/catch.
359
360 Several GYP-related changes: Added support for building Xcode project
361 files. Make the ARM simulator build with GYP again. Generate Makefiles
362 for all architectures on Linux.
363
364 Fixed Array.prototype.{reduce,reduceRight} to pass undefined as the
365 receiver for strict mode callbacks. (issue 1436)
366
367 Fixed a bug where an array load was incorrectly hoisted by GVN.
368
369 Handle 'undefined' correctly when === has been specialized for doubles.
370 (issue 1434)
371
372 Corrected the limit of local variables in an optimized function from 64
373 to 63.
374
375 Correctly set ReadOnly flag on indexed properties when using the API Set
376 method. (issue 1470)
377
378 Give the correct error message when Object.isExtensible is called on a
379 non-object. (issue 1452)
380
381 Added GetOwnPropertyNames method for Object in the API. Patch by Peter
382 Varga.
383
384 Do not redefine properties unneccesarily in seal and freeze. (issue
385 1447)
386
387 IsExecutionTerminating has an Isolate parameter now.
388
389 Distinguish keyed loads with a symbol key from fast elements loads,
390 avoiding some useless deoptimizations. (issue 1471)
391
392
3932011-06-08: Version 3.4.3
394
395 Clear the global thread table when an isolate is disposed
396 (issue 1433).
397
398 Converted time zone name to UTF8 on Windows (issue 1290).
399
400 Limited the number of arguments in a function call to 32766
401 (issue 1413).
402
403 Compress sources of JS libraries in addition to the snapshot.
404
405 Fixed a bug in Lithium environment iteration.
406
407 Performance improvements on all platforms.
408
409
4102011-06-06: Version 3.4.2
411
412 More work on ES-Harmony proxies. Still hidden behind a flag.
413
414 Fixed some crash bugs and improved performance.
415
416 Fixed building with gdb debugging support.
417
418 Do not install SIGPROF handler until it is needed.
419
420 Added DateTimeFormat to i18n API.
421
422 Fixed compilation on OpenBSD.
423
424 Take the ulimit into account when sizing the heap. OpenBSD users
425 may still have to increase the default ulimit to run heavy pages in
426 the browser.
427
428
4292011-06-01: Version 3.4.1
430
431 Fixed JSON stringify issue with arrays.
432
433 Changed calls to JS builtins to be passed undefined when called with
434 implicit receiver.
435
436 Implemented the set trap for Harmony proxies. Proxies still need to
437 be enabled with the --harmony-proxies flag.
438
439
4402011-05-30: Version 3.4.0
441
442 Changed calls to undefined property setters to not throw (issue 1355).
443
444 Made RegExp objects not callable.
445
446 Fixed issues on special case large JSON strings in new json parser
447 (issues http://crbug.com/83877 and http://crbug.com/84186).
448
449 Performance improvements on all platforms.
450
451
Ben Murdoch257744e2011-11-30 15:57:28 +00004522011-05-25: Version 3.3.10
453
454 Fixed calls of strict mode function with an implicit receiver.
455
456 Fixed fast handling of arrays to properly deal with changes to the
457 Object prototype (issue 1403).
458
459 Changed strict mode poison pill to be the same type error function
460 (issue 1387).
461
462 Fixed a debug crash in arguments object handling (issue 1227).
463
464 Fixed a bug in deoptimization on x64 (issue 1404).
465
466 Performance improvements and bug fixes on all platforms.
467
468
4692011-05-23: Version 3.3.9
470
471 Added DateTimeFormat class to experimental i18n API.
472
473 Extended preparser to give early errors for some strict mode
474 restrictions.
475
476 Removed legacy execScript function from V8.
477
478 Extended isolate API with the ability to add embedder-specific
479 data to an isolate.
480
481 Added basic support for polymorphic loads from JS and external
482 arrays.
483
484 Fixed bug in handling of switch statements in the optimizing
485 compiler.
486
487
4882011-05-18: Version 3.3.8
489
490 Added MarkIndependent to the persistent handle API. Independent
491 handles are independent of all other persistent handles and can be
492 garbage collected more frequently.
493
494 Implemented the get trap for Harmony proxies. Proxies are enabled
495 with the --harmony-proxies flag.
496
497 Performance improvements and bug fixes on all platforms.
498
499
5002011-05-16: Version 3.3.7
501
502 Updated MIPS infrastructure files.
503
504 Performance improvements and bug fixes on all platforms.
505
506
5072011-05-11: Version 3.3.6
508
509 Updated MIPS infrastructure files.
510
511 Added method IsCallable for Object to the API.
512 Patch by Peter Varga.
513
514
5152011-05-09: Version 3.3.5
516
517 Fixed build on FreeBSD. Patch by Akinori MUSHA.
518
519 Added check that receiver is JSObject on API calls.
520
521 Implemented CallAsConstructor method for Object in the API (Issue 1348).
522 Patch by Peter Varga.
523
524 Added CallAsFunction method to the Object class in the API (Issue 1336).
525 Patch by Peter Varga.
526
527 Added per-isolate locking and unlocking.
528
529 Fixed bug in x64 >>> operator (Issue 1359).
530
531
5322011-05-04: Version 3.3.4
533
534 Implemented API to disallow code generation from strings for a context
535 (issue 1258).
536
537 Fixed bug with whitespaces in parseInt (issue 955).
538
539 Fixed bug with == comparison of Date objects (issue 1356).
540
541 Added GYP variables for ARM code generation:
542 v8_can_use_vfp_instructions, v8_can_use_unaligned_accesses
543 and v8_use_arm_eabi_hardfloat.
544
545
5462011-05-02: Version 3.3.3
547
548 Added support for generating Visual Studio solution and project files
549 using GYP.
550
551 Implemented support for ARM EABI calling convention variation where
552 floating-point arguments are passed in registers (hardfloat).
553
554 Added Object::HasOwnProperty() to the API.
555
556 Added support for compressing startup data to reduce binary size. This
557 includes build time support and an API for the embedder to decompress
558 the startup data before initializing V8.
559
560 Reduced the profiling hooks overhead from >400% to 25% when using
561 ll_prof.
562
563 Performance improvements and bug fixes on all platforms.
564
565
5662011-04-27: Version 3.3.2
567
568 Fixed crash bug on ARM with no VFP3 hardware.
569
570 Fixed compilation of V8 without debugger support.
571
572 Improved performance on JSLint.
573
574 Added support Float64 WebGL arrays.
575
576 Fixed crash bug in regexp replace.
577
578
5792011-04-20: Version 3.3.1
580
581 Reduced V8 binary size by removing virtual functions from hydrogen.
582
583 Fixed crash bug on x64.
584
585 Performance improvements on ARM and IA32.
586
587
5882011-04-18: Version 3.3.0
589
590 Fixed bug in floating point rounding in Crankshaft on ARM
591 (issue 958)
592
593 Fixed a number of issues with running without VFPv3 support on ARM
594 (issue 1315)
595
596 Introduced v8Locale.Collator, a partial implementation of Collator
597 per last ECMAScript meeting + mailing list.
598
599 Minor performance improvements and bug fixes.
600
601
Ben Murdoch8b112d22011-06-08 16:22:53 +01006022011-04-13: Version 3.2.10
603
604 Fixed bug in external float arrays on ARM (issue 1323).
605
606 Minor performance improvements and bug fixes.
607
608
6092011-04-11: Version 3.2.9
610
611 Removed support for ABI prior to EABI on ARM.
612
613 Fixed multiple crash bugs.
614
615 Added GCMole to the repository, a simple static analysis tool that
616 searches for GC-unsafe evaluation order dependent callsites.
617
618 Made preparser API be exported in shared libraries.
619
620 Fixed multiple issues in EcmaScript 5 strict mode implementation.
621
622 Fixed mutable __proto__ property if object is not extensible
623 (Issue 1309).
624
625 Fixed auto suspension of the sampler thread.
626
627
6282011-04-06: Version 3.2.8
629
630 Exposed WebGL typed array constructors in the shell sample.
631
632 Performance improvements on all platforms.
633
634
6352011-04-04: Version 3.2.7
636
637 Disabled the original 'classic' V8 code generator. Crankshaft is
638 now the default on all platforms.
639
640 Changed the heap profiler to use more descriptive names.
641
642 Performance and stability improvements to isolates on all platforms.
643
644
Steve Block44f0eee2011-05-26 01:26:41 +01006452011-03-30: Version 3.2.6
646
647 Fixed xcode build warning in shell.cc (out of order initialization).
648
649 Fixed null-pointer dereference in the compiler when running without
650 SSE3 support (Chromium issue 77654).
651
652 Fixed x64 compilation error due to some dead code. (Issue 1286)
653
654 Introduced scons target to build the preparser stand-alone example.
655
656 Made FreeBSD build and pass all tests.
657
658
6592011-03-28: Version 3.2.5
660
661 Fixed build with Irregexp interpreter (issue 1266).
662
663 Added Crankshaft support for external arrays.
664
665 Fixed two potential crash bugs.
666
667
6682011-03-23: Version 3.2.4
669
670 Added isolates which allows several V8 instances in the same process.
671 This is controlled through the new Isolate class in the API.
672
673 Implemented more of EcmaScript 5 strict mode.
674
675 Reduced the time it takes to make detailed heap snapshot.
676
677 Added a number of commands to the ARM simulator and enhanced the ARM
678 disassembler.
679
680
6812011-03-17: Version 3.2.3
682
683 Fixed a number of crash bugs.
684
685 Fixed Array::New(length) to return an array with a length (issue 1256).
686
687 Fixed FreeBSD build.
688
689 Changed __defineGetter__ to not throw (matching the behavior of Safari).
690
691 Implemented more of EcmaScript 5 strict mode.
692
693 Improved Crankshaft performance on all platforms.
694
695
6962011-03-14: Version 3.2.2
697
698 Fixed a number of crash and correctness bugs.
699
700 Improved Crankshaft performance on all platforms.
701
702 Fixed Crankshaft on Solaris/Illumos.
703
704
7052011-03-10: Version 3.2.1
706
707 Fixed a number of crash bugs.
708
709 Improved Crankshaft for x64 and ARM.
710
711 Implemented more of EcmaScript 5 strict mode.
712
713
Ben Murdoche0cee9b2011-05-25 10:26:03 +01007142011-03-07: Version 3.2.0
715
716 Fixed a number of crash bugs.
717
718 Turned on Crankshaft by default on x64 and ARM.
719
720 Improved Crankshaft for x64 and ARM.
721
722 Implemented more of EcmaScript 5 strict mode.
723
724
7252011-03-02: Version 3.1.8
726
727 Fixed a number of crash bugs.
728
729 Improved Crankshaft for x64 and ARM.
730
731 Implemented more of EcmaScript 5 strict mode.
732
733 Fixed issue with unaligned reads and writes on ARM.
734
735 Improved heap profiler support.
736
737
7382011-02-28: Version 3.1.7
739
740 Fixed a number of crash bugs.
741
742 Improved Crankshaft for x64 and ARM.
743
744 Fixed implementation of indexOf/lastIndexOf for sparse
745 arrays (http://crbug.com/73940).
746
747 Fixed bug in map space compaction (http://crbug.com/59688).
748
749 Added support for direct getter accessors calls on ARM.
750
751
7522011-02-24: Version 3.1.6
753
754 Fixed a number of crash bugs.
755
756 Added support for Cygwin (issue 64).
757
758 Improved Crankshaft for x64 and ARM.
759
760 Added Crankshaft support for stores to pixel arrays.
761
762 Fixed issue in CPU profiler with Crankshaft.
763
764
7652011-02-16: Version 3.1.5
766
767 Change RegExp parsing to disallow /(*)/.
768
769 Added GDB JIT support for ARM.
770
771 Fixed several crash bugs.
772
773 Performance improvements on the IA32 platform.
774
775
Steve Block1e0659c2011-05-24 12:43:12 +01007762011-02-14: Version 3.1.4
777
778 Fixed incorrect compare of prototypes of the global object (issue
779 1082).
780
781 Fixed a bug in optimizing calls to global functions (issue 1106).
782
783 Made optimized Function.prototype.apply safe for non-JSObject first
784 arguments (issue 1128).
785
786 Fixed an error related to element accessors on Object.prototype and
787 parser errors (issue 1130).
788
789 Fixed a bug in sorting an array with large array indices (issue 1131).
790
791 Properly treat exceptions thrown while compiling (issue 1132).
792
793 Fixed bug in register requirements for function.apply (issue 1133).
794
795 Fixed a representation change bug in the Hydrogen graph construction
796 (issue 1134).
797
798 Fixed the semantics of delete on parameters (issue 1136).
799
800 Fixed a optimizer bug related to moving instructions with side effects
801 (issue 1138).
802
803 Added support for the global object in Object.keys (issue 1150).
804
805 Fixed incorrect value for Math.LOG10E
806 (issue http://code.google.com/p/chromium/issues/detail?id=72555)
807
808 Performance improvements on the IA32 platform.
809
810 Implement assignment to undefined reference in ES5 Strict Mode.
811
812
8132011-02-09: Version 3.1.3
814
815 Fixed a bug triggered by functions with huge numbers of declared
816 arguments.
817
818 Fixed zap value aliasing a real object - debug mode only (issue 866).
819
820 Fixed issue where Array.prototype.__proto__ had been set to null
821 (issue 1121).
822
823 Fixed stability bugs in Crankshaft for x86.
824
825
8262011-02-07: Version 3.1.2
827
828 Added better security checks when accessing properties via
829 Object.getOwnPropertyDescriptor.
830
831 Fixed bug in Object.defineProperty and related access bugs (issues
832 992, 1083 and 1092).
833
834 Added LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to ease
835 copyright notice generation for embedders.
836
837
8382011-02-02: Version 3.1.1
839
840 Perform security checks before fetching the value in
841 Object.getOwnPropertyDescriptor.
842
843 Fixed a bug in Array.prototype.splice triggered by passing no
844 arguments.
845
846 Fixed bugs in -0 in arithmetic and in Math.pow.
847
848 Fixed bugs in the register allocator and in switching from optimized
849 to unoptimized code.
850
851
8522011-01-31: Version 3.1.0
853
854 Performance improvements on all platforms.
855
856
8572011-01-28: Version 3.0.12
858
859 Added support for strict mode parameter and object property
860 validation.
861
862 Fixed a couple of crash bugs.
863
864
8652011-01-25: Version 3.0.11
866
867 Fixed a bug in deletion of lookup slots that could cause global
868 variables to be accidentally deleted (http://crbug.com/70066).
869
870 Added support for strict mode octal literal verification.
871
872 Fixed a couple of crash bugs (issues 1070 and 1071).
873
874
8752011-01-24: Version 3.0.10
876
877 Fixed External::Wrap for 64-bit addresses (issue 1037).
878
879 Fixed incorrect .arguments variable proxy handling in the full
880 code generator (issue 1060).
881
882 Introduced partial strict mode support.
883
884 Changed formatting of recursive error messages to match Firefox and
885 Safari (issue http://crbug.com/70334).
886
887 Fixed incorrect rounding for float-to-integer conversions for external
888 array types, which implement the Typed Array spec
889 (issue http://crbug.com/50972).
890
891 Performance improvements on the IA32 platform.
892
893
Ben Murdochb8e0da22011-05-16 14:20:40 +01008942011-01-19: Version 3.0.9
895
896 Added basic GDB JIT Interface integration.
897
898 Make invalid break/continue statements a syntax error instead of a
899 runtime error.
900
901
9022011-01-17: Version 3.0.8
903
904 Exposed heap size limit to the heap statistics gathered by
905 the GetHeapStatistics API.
906
907 Wrapped external pointers more carefully (issue 1037).
908
909 Hardened the implementation of error objects to avoid setters
910 intercepting the properties set then throwing an error.
911
912 Avoided trashing the FPSCR when calculating Math.floor on ARM.
913
914 Performance improvements on the IA32 platform.
915
916
9172011-01-10: Version 3.0.7
Ben Murdoch086aeea2011-05-13 15:57:08 +0100918
919 Stopped calling inherited setters when creating object literals
920 (issue 1015).
921
922 Changed interpretation of malformed \c? escapes in RegExp to match
923 JSC.
924
925 Enhanced the command-line debugger interface and fixed some minor
926 bugs in the debugger.
927
928 Performance improvements on the IA32 platform.
929
930
Ben Murdochb8e0da22011-05-16 14:20:40 +01009312011-01-05: Version 3.0.6
Steve Block9fac8402011-05-12 15:51:54 +0100932
Ben Murdoch086aeea2011-05-13 15:57:08 +0100933 Allowed getters and setters on JSArray elements (issue 900).
Steve Block9fac8402011-05-12 15:51:54 +0100934
935 Stopped JSON objects from hitting inherited setters (part of
Ben Murdoch086aeea2011-05-13 15:57:08 +0100936 issue 1015).
Steve Block9fac8402011-05-12 15:51:54 +0100937
938 Allowed numbers and strings as names of getters/setters in object
Ben Murdoch086aeea2011-05-13 15:57:08 +0100939 initializer (issue 820).
Steve Block9fac8402011-05-12 15:51:54 +0100940
941 Added use_system_v8 option to gyp (off by default), to make it easier
942 for Linux distributions to ship with system-provided V8 library.
943
Ben Murdoch086aeea2011-05-13 15:57:08 +0100944 Exported external array data accessors (issue 1016).
Steve Block9fac8402011-05-12 15:51:54 +0100945
946 Added labelled thread names to help with debugging (on Linux).
947
948
9492011-01-03: Version 3.0.5
950
951 Fixed a couple of cast errors for gcc-3.4.3.
952
953 Performance improvements in GC and IA32 code generator.
954
955
Ben Murdochb0fe1622011-05-05 13:52:32 +01009562010-12-21: Version 3.0.4
957
958 Added Date::ResetCache() to the API so that the cached values in the
959 Date object can be reset to allow live DST / timezone changes.
960
961 Extended existing support for printing (while debugging) the contents
962 of objects. Added support for printing objects from release builds.
963
964 Fixed V8 issues 989, 1006, and 1007.
965
966
9672010-12-17: Version 3.0.3
968
969 Reapplied all changes for version 3.0.1.
970
971 Improved debugger protocol for remote debugging.
972
973 Added experimental support for using gyp to generate build files
974 for V8.
975
976 Fixed implementation of String::Write in the API (issue 975).
977
978
9792010-12-15: Version 3.0.2
980
981 Revert version 3.0.1 and patch 3.0.1.1.
982
983
9842010-12-13: Version 3.0.1
985
986 Added support for an experimental internationalization API as an
987 extension. This extension is disabled by default but can be enabled
988 when building V8. The ECMAScript internationalization strawman is
989 at http://wiki.ecmascript.org/doku.php?id=strawman:i18n_api.
990
991 Made RegExp character class parsing stricter. This mirrors a change
992 to RegExp parsing in WebKit.
993
994 Fixed a bug in Object.defineProperty when used to change attributes
995 of an existing property. It incorrectly set the property value to
996 undefined (issue 965).
997
998 Fixed several different compilation failures on various platforms
999 caused by the 3.0.0 release.
1000
1001 Optimized Math.pow so it can work on unboxed doubles.
1002
1003 Sped up quoting of JSON strings by removing one traversal of the
1004 string.
1005
1006
10072010-12-07: Version 3.0.0
1008
1009 Improved performance by (partially) addressing issue 957 on
1010 IA-32. Still needs more work for the other architectures.
1011
1012
Shimeng (Simon) Wang8a31eba2010-12-06 19:01:33 -080010132010-11-29: Version 2.5.9
1014
1015 Fixed crashes during GC caused by partially initialize heap
1016 objects.
1017
1018 Fixed bug in process sample that caused memory leaks.
1019
1020 Improved performance on ARM by implementing missing stubs and
1021 inlining.
1022
1023 Improved heap profiler support.
1024
1025 Added separate seeding on Windows of the random number generator
1026 used internally by the compiler (issue 936).
1027
1028 Exposed API for getting the name of the function used to construct
1029 an object.
1030
1031 Fixed date parser to handle one and two digit millisecond
1032 values (issue 944).
1033
1034 Fixed number parsing to disallow space between sign and
1035 digits (issue 946).
1036
1037
10382010-11-23: Version 2.5.8
1039
1040 Removed dependency on Gay's dtoa.
1041
1042 Improved heap profiler precision and speed.
1043
1044 Reduced overhead of callback invocations on ARM.
1045
1046
10472010-11-18: Version 2.5.7
1048
1049 Fixed obscure evaluation order bug (issue 931).
1050
1051 Split the random number state between JavaScript and the private API.
1052
1053 Fixed performance bug causing GCs when generating stack traces on
1054 code from very large scripts.
1055
1056 Fixed bug in parser that allowed (foo):42 as a labelled statement
1057 (issue 918).
1058
1059 Provide more accurate results about used heap size via
1060 GetHeapStatistics.
1061
1062 Allow build-time customization of the max semispace size.
1063
1064 Made String.prototype.split honor limit when separator is empty
1065 (issue 929).
1066
1067 Added missing failure check after expecting an identifier in
1068 preparser (Chromium issue 62639).
1069
1070
Russell Brenner90bac252010-11-18 13:33:46 -080010712010-11-10: Version 2.5.6
1072
1073 Added support for VFP rounding modes to the ARM simulator.
1074
1075 Fixed multiplication overflow bug (issue 927).
1076
1077 Added a limit for the amount of executable memory (issue 925).
1078
1079
Teng-Hui Zhu3e5fa292010-11-09 16:16:48 -080010802010-11-08: Version 2.5.5
1081
1082 Added more aggressive GC of external objects in near out-of-memory
1083 situations.
1084
1085 Fixed a bug that gave the incorrect result for String.split called
1086 on the empty string (issue 924).
1087
1088
10892010-11-03: Version 2.5.4
1090
1091 Improved V8 VFPv3 runtime detection to address issue 914.
1092
1093
10942010-11-01: Version 2.5.3
1095
1096 Fixed a bug that prevents constants from overwriting function values
1097 in object literals (issue 907).
1098
1099 Fixed a bug with reporting of impossible nested calls of DOM functions
1100 (issue http://crbug.com/60753).
1101
1102
John Reck59135872010-11-02 12:39:01 -070011032010-10-27: Version 2.5.2
1104
1105 Improved sampler resolution on Linux.
1106
1107 Allowed forcing the use of a simulator from the build script
1108 independently of the host architecture.
1109
Ben Murdoch086aeea2011-05-13 15:57:08 +01001110 Fixed FreeBSD port (issue 912).
John Reck59135872010-11-02 12:39:01 -07001111
1112 Made windows-tick-processor respect D8_PATH.
1113
1114 Implemented --noinline-new flag fully on IA32, X64 and ARM platforms.
1115
1116
Ben Murdochf87a2032010-10-22 12:50:53 +010011172010-10-20: Version 2.5.1
1118
1119 Fixed bug causing spurious out of memory exceptions
1120 (issue http://crbug.com/54580).
1121
1122 Fixed compilation error on Solaris platform (issue 901).
1123
1124 Fixed error in strtod (string to floating point number conversion)
1125 due to glibc's use of 80-bit floats in the FPU on 32-bit linux.
1126
1127 Adjusted randomized allocations of executable memory to have 64k
1128 granularity (issue http://crbug.com/56036).
1129
1130 Supported profiling using kernel perf_events on linux. Added ll_prof
1131 script to tools and --ll-prof flag to V8.
1132
1133
11342010-10-18: Version 2.5.0
1135
1136 Fixed bug in cache handling of lastIndex on global regexps
1137 (issue http://crbug.com/58740).
1138
1139 Added USE_SIMULATOR macro that explicitly indicates that we wish to use
1140 the simulator as the execution engine (by Mark Lam <mark.lam@palm.com>
Ben Murdochb0fe1622011-05-05 13:52:32 +01001141 from Hewlett-Packard Development Company, LP).
Ben Murdochf87a2032010-10-22 12:50:53 +01001142
1143 Fixed compilation error on ARM with gcc 4.4 (issue 894).
1144
1145
11462010-10-13: Version 2.4.9
1147
1148 Fixed a bug in the handling of conditional expressions in test
1149 contexts in compiler for top-level code.
1150
1151 Added "//@ sourceURL" information to the StackTrace API.
1152
1153 Exposed RegExp construction through the API.
1154
1155
11562010-10-04: Version 2.4.8
1157
1158 Fixed a bug in ResumeProfilerEx causing it to not always write out the
1159 whole snapshot (issue 868).
1160
1161 Performance improvements on all platforms.
1162
1163
11642010-09-30: Version 2.4.7
1165
1166 Changed the command-line flag --max-new-space-size to be in kB and the
1167 flag --max-old-space-size to be in MB (previously they were in bytes).
1168
1169 Added Debug::CancelDebugBreak to the debugger API.
1170
1171 Fixed a bug in getters for negative numeric property names
1172 (https://bugs.webkit.org/show_bug.cgi?id=46689).
1173
1174 Performance improvements on all platforms.
1175
1176
Kristian Monsen0d5e1162010-09-30 15:31:59 +010011772010-09-27: Version 2.4.6
Ben Murdochf87a2032010-10-22 12:50:53 +01001178
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001179 Fixed assertion failure related to copy-on-write arrays (issue 876).
1180
1181 Fixed build failure of 64-bit V8 on Windows.
1182
1183 Fixed a bug in RegExp (issue http://crbug.com/52801).
1184
1185 Improved the profiler's coverage to cover more functions (issue 858).
1186
1187 Fixed error in shift operators on 64-bit V8
1188 (issue http://crbug.com/54521).
1189
1190
11912010-09-22: Version 2.4.5
Ben Murdochf87a2032010-10-22 12:50:53 +01001192
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001193 Changed the RegExp benchmark to exercise the regexp engine on different
1194 inputs by scrambling the input strings.
1195
1196 Fixed a bug in keyed loads on strings.
1197
1198 Fixed a bug with loading global function prototypes.
1199
1200 Fixed a bug with profiling RegExp calls (issue http://crbug.com/55999).
1201
1202 Performance improvements on all platforms.
1203
1204
12052010-09-15: Version 2.4.4
1206
1207 Fixed bug with hangs on very large sparse arrays.
1208
1209 Now tries harder to free up memory when running out of space.
1210
1211 Added heap snapshots to JSON format to API.
1212
1213 Recalibrated benchmarks.
1214
1215
Steve Block59151502010-09-22 15:07:15 +010012162010-09-13: Version 2.4.3
1217
1218 Made Date.parse properly handle TZ offsets (issue 857).
1219
1220 Performance improvements on all platforms.
1221
1222
Iain Merrick9ac36c92010-09-13 15:29:50 +010012232010-09-08: Version 2.4.2
1224
1225 Fixed GC crash bug.
1226
1227 Fixed stack corruption bug.
1228
1229 Fixed compilation for newer C++ compilers that found Operand(0)
1230 ambiguous.
1231
1232
12332010-09-06: Version 2.4.1
1234
1235 Added the ability for an embedding application to receive a callback
1236 when V8 allocates (V8::AddMemoryAllocationCallback) or deallocates
1237 (V8::RemoveMemoryAllocationCallback) from the OS.
1238
1239 Fixed several JSON bugs (including issue 855).
1240
1241 Fixed memory overrun crash bug triggered during V8's tick-based
1242 profiling.
1243
1244 Performance improvements on all platforms.
1245
1246
Kristian Monsen80d68ea2010-09-08 11:05:35 +010012472010-09-01: Version 2.4.0
1248
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001249 Fixed bug in Object.freeze and Object.seal when Array.prototype or
1250 Object.prototype are changed (issue 842).
Kristian Monsen80d68ea2010-09-08 11:05:35 +01001251
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001252 Updated Array.splice to follow Safari and Firefox when called
Iain Merrick9ac36c92010-09-13 15:29:50 +01001253 with zero arguments.
Kristian Monsen80d68ea2010-09-08 11:05:35 +01001254
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001255 Fixed a missing live register when breaking at keyed loads on ARM.
Kristian Monsen80d68ea2010-09-08 11:05:35 +01001256
Iain Merrick9ac36c92010-09-13 15:29:50 +01001257 Performance improvements on all platforms.
Kristian Monsen80d68ea2010-09-08 11:05:35 +01001258
1259
12602010-08-25: Version 2.3.11
1261
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001262 Fixed bug in RegExp related to copy-on-write arrays.
Kristian Monsen80d68ea2010-09-08 11:05:35 +01001263
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001264 Refactored tools/test.py script, including the introduction of
Iain Merrick9ac36c92010-09-13 15:29:50 +01001265 VARIANT_FLAGS that allows specification of sets of flags with which
1266 all tests should be run.
Kristian Monsen80d68ea2010-09-08 11:05:35 +01001267
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001268 Fixed a bug in the handling of debug breaks in CallIC.
Kristian Monsen80d68ea2010-09-08 11:05:35 +01001269
Iain Merrick9ac36c92010-09-13 15:29:50 +01001270 Performance improvements on all platforms.
Kristian Monsen80d68ea2010-09-08 11:05:35 +01001271
1272
Steve Block791712a2010-08-27 10:21:07 +010012732010-08-23: Version 2.3.10
1274
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001275 Fixed bug in bitops on ARM.
Steve Block791712a2010-08-27 10:21:07 +01001276
1277 Build fixes for unusual compilers.
1278
1279 Track high water mark for RWX memory.
1280
1281 Performance improvements on all platforms.
1282
1283
Iain Merrick75681382010-08-19 15:07:18 +010012842010-08-18: Version 2.3.9
1285
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001286 Fixed compilation for ARMv4 on OpenBSD/FreeBSD.
Iain Merrick75681382010-08-19 15:07:18 +01001287
1288 Removed specialized handling of GCC 4.4 (issue 830).
1289
Iain Merrick9ac36c92010-09-13 15:29:50 +01001290 Fixed DST cache to take into account the suspension of DST in
Iain Merrick75681382010-08-19 15:07:18 +01001291 Egypt during the 2010 Ramadan (issue http://crbug.com/51855).
1292
Kristian Monsen80d68ea2010-09-08 11:05:35 +01001293 Performance improvements on all platforms.
Iain Merrick75681382010-08-19 15:07:18 +01001294
1295
12962010-08-16: Version 2.3.8
1297
1298 Fixed build with strict aliasing on GCC 4.4 (issue 463).
1299
1300 Fixed issue with incorrect handling of custom valueOf methods on
1301 string wrappers (issue 760).
1302
1303 Fixed compilation for ARMv4 (issue 590).
1304
1305 Improved performance.
1306
1307
13082010-08-11: Version 2.3.7
1309
1310 Reduced size of heap snapshots produced by heap profiler (issue 783).
1311
1312 Introduced v8::Value::IsRegExp method.
1313
1314 Fixed CPU profiler crash in start / stop sequence when non-existent
1315 name is passed (issue http://crbug.com/51594).
1316
1317 Introduced new indexed property query callbacks API (issue 816). This
1318 API is guarded by USE_NEW_QUERY_CALLBACK define and is disabled
1319 by default.
1320
1321 Removed support for object literal get/set with number/string
1322 property name.
1323
1324 Fixed handling of JSObject::elements in CalculateNetworkSize
1325 (issue 822).
1326
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001327 Allowed compiling with strict aliasing enabled on GCC 4.4 (issue 463).
Iain Merrick75681382010-08-19 15:07:18 +01001328
1329
Ben Murdochbb769b22010-08-11 14:56:33 +010013302010-08-09: Version 2.3.6
1331
Iain Merrick75681382010-08-19 15:07:18 +01001332 RegExp literals create a new object every time they are evaluated
1333 (issue 704).
Ben Murdochbb769b22010-08-11 14:56:33 +01001334
Iain Merrick75681382010-08-19 15:07:18 +01001335 Object.seal and Object.freeze return the modified object (issue 809).
Ben Murdochbb769b22010-08-11 14:56:33 +01001336
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001337 Fixed building using GCC 4.4.4.
Ben Murdochbb769b22010-08-11 14:56:33 +01001338
1339
13402010-08-04: Version 2.3.5
1341
1342 Added support for ES5 property names. Object initialisers and
1343 dot-notation property access now allows keywords. Also allowed
1344 non-identifiers after "get" or "set" in an object initialiser.
1345
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001346 Randomized the addresses of allocated executable memory on Windows.
Ben Murdochbb769b22010-08-11 14:56:33 +01001347
1348
13492010-08-02: Version 2.3.4
1350
1351 Fixed problems in implementation of ES5 function.prototype.bind.
1352
1353 Fixed error when using apply with arguments object on ARM (issue 784).
1354
1355 Added setting of global flags to debugger protocol.
1356
1357 Fixed an error affecting cached results of sin and cos (issue 792).
1358
1359 Removed memory leak from a boundary case where V8 is not initialized.
1360
1361 Fixed issue where debugger could set breakpoints outside the body
1362 of a function.
1363
1364 Fixed issue in debugger when using both live edit and step in features.
1365
1366 Added Number-letter (Nl) category to Unicode tables. These characters
1367 can now be used in identifiers.
1368
1369 Fixed an assert failure on X64 (issue 806).
1370
1371 Performance improvements on all platforms.
1372
1373
Kristian Monsen50ef84f2010-07-29 15:18:00 +010013742010-07-26: Version 2.3.3
1375
1376 Fixed error when building the d8 shell in a fresh checkout.
1377
1378 Implemented Function.prototype.bind (ES5 15.3.4.5).
1379
1380 Fixed an error in inlined stores on ia32.
1381
1382 Fixed an error when setting a breakpoint at the end of a function
1383 that does not end with a newline character.
1384
1385 Performance improvements on all platforms.
1386
1387
13882010-07-21: Version 2.3.2
1389
1390 Fixed compiler warnings when building with LLVM.
1391
1392 Fixed a bug with for-in applied to strings (issue 785).
1393
1394 Performance improvements on all platforms.
1395
1396
Ben Murdoch3bec4d22010-07-22 14:51:16 +010013972010-07-19: Version 2.3.1
1398
1399 Fixed compilation and linking with V8_INTERPRETED_REGEXP flag.
1400
1401 Fixed bug related to code flushing while compiling a lazy
1402 compilable function (issue http://crbug.com/49099).
1403
1404 Performance improvements on all platforms.
1405
1406
14072010-07-15: Version 2.3.0
1408
1409 Added ES5 Object.seal and Object.isSealed.
1410
1411 Added debugger API for scheduling debugger commands from a
1412 separate thread.
1413
1414
14152010-07-14: Version 2.2.24
1416
1417 Added API for capturing stack traces for uncaught exceptions.
1418
1419 Fixed crash bug when preparsing from a non-external V8 string
1420 (issue 775).
1421
1422 Fixed JSON.parse bug causing input not to be converted to string
1423 (issue 764).
1424
1425 Added ES5 Object.freeze and Object.isFrozen.
1426
1427 Performance improvements on all platforms.
1428
1429
Leon Clarkeac952652010-07-15 11:15:24 +010014302010-07-07: Version 2.2.23
1431
1432 API change: Convert Unicode code points outside the basic multilingual
1433 plane to the replacement character. Previous behavior was to silently
1434 truncate the value to 16 bits.
1435
1436 Fixed crash: handle all flat string types in regexp replace.
1437
1438 Prevent invalid pre-parsing data passed in through the API from
1439 crashing V8.
1440
1441 Performance improvements on all platforms.
1442
Ben Murdoch3bec4d22010-07-22 14:51:16 +01001443
Steve Block8defd9f2010-07-08 12:39:36 +010014442010-07-05: Version 2.2.22
1445
1446 Added ES5 Object.isExtensible and Object.preventExtensions.
1447
1448 Enabled building V8 as a DLL.
1449
1450 Fixed a bug in date code where -0 was not interpreted as 0
1451 (issue 736).
1452
1453 Performance improvements on all platforms.
1454
1455
14562010-06-30: Version 2.2.21
1457
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001458 Fixed bug in externalizing some ASCII strings (Chromium issue 47824).
Steve Block8defd9f2010-07-08 12:39:36 +01001459
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001460 Updated JSON.stringify to floor the space parameter (issue 753).
Steve Block8defd9f2010-07-08 12:39:36 +01001461
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001462 Updated the Mozilla test expectations to the newest version.
Steve Block8defd9f2010-07-08 12:39:36 +01001463
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001464 Updated the ES5 Conformance Test expectations to the latest version.
Steve Block8defd9f2010-07-08 12:39:36 +01001465
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001466 Updated the V8 benchmark suite.
Steve Block8defd9f2010-07-08 12:39:36 +01001467
1468 Provide actual breakpoints locations in response to setBreakpoint
1469 and listBreakpoints requests.
1470
1471
14722010-06-28: Version 2.2.20
1473
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001474 Fixed bug with for-in on x64 platform (issue 748).
Steve Block8defd9f2010-07-08 12:39:36 +01001475
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001476 Fixed crash bug on x64 platform (issue 756).
Steve Block8defd9f2010-07-08 12:39:36 +01001477
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001478 Fixed bug in Object.getOwnPropertyNames. (chromium issue 41243).
Steve Block8defd9f2010-07-08 12:39:36 +01001479
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001480 Fixed a bug on ARM that caused the result of 1 << x to be
Steve Block8defd9f2010-07-08 12:39:36 +01001481 miscalculated for some inputs.
1482
1483 Performance improvements on all platforms.
1484
1485
Kristian Monsen9dcf7e22010-06-28 14:14:28 +010014862010-06-23: Version 2.2.19
1487
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001488 Fixed bug that causes the build to break when profillingsupport=off
Kristian Monsen9dcf7e22010-06-28 14:14:28 +01001489 (issue 738).
1490
1491 Added expose-externalize-string flag for testing extensions.
1492
1493 Resolve linker issues with using V8 as a DLL causing a number of
1494 problems with unresolved symbols.
1495
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001496 Fixed build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
Kristian Monsen9dcf7e22010-06-28 14:14:28 +01001497 defined.
1498
1499 Performance improvements on all platforms.
1500
1501
15022010-06-16: Version 2.2.18
1503
1504 Added API functions to retrieve information on indexed properties
1505 managed by the embedding layer. Fixes bug 737.
1506
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001507 Made ES5 Object.defineProperty support array elements. Fixes bug 619.
Kristian Monsen9dcf7e22010-06-28 14:14:28 +01001508
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001509 Added heap profiling to the API.
Kristian Monsen9dcf7e22010-06-28 14:14:28 +01001510
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001511 Removed old named property query from the API.
Kristian Monsen9dcf7e22010-06-28 14:14:28 +01001512
1513 Incremental performance improvements.
1514
1515
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +010015162010-06-14: Version 2.2.17
1517
1518 Improved debugger support for stepping out of functions.
1519
1520 Incremental performance improvements.
1521
1522
15232010-06-09: Version 2.2.16
1524
Steve Block8defd9f2010-07-08 12:39:36 +01001525 Removed the SetExternalStringDiposeCallback API. Changed the
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +01001526 disposal of external string resources to call a virtual Dispose
1527 method on the resource.
1528
Steve Block8defd9f2010-07-08 12:39:36 +01001529 Added support for more precise break points when debugging and
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +01001530 stepping.
1531
1532 Memory usage improvements on all platforms.
1533
1534
15352010-06-07: Version 2.2.15
1536
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001537 Added an API to control the disposal of external string resources.
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +01001538
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001539 Added missing initialization of a couple of variables which makes
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +01001540 some compilers complaint when compiling with -Werror.
1541
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001542 Improved performance on all platforms.
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +01001543
1544
15452010-06-02: Version 2.2.14
1546
1547 Fixed a crash in code generated for String.charCodeAt.
1548
1549 Fixed a compilation issue with some GCC versions (issue 727).
1550
1551 Performance optimizations on x64 and ARM platforms.
1552
1553
15542010-05-31: Version 2.2.13
1555
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001556 Implemented Object.getOwnPropertyDescriptor for element indices and
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +01001557 strings (issue 599).
1558
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001559 Fixed bug for windows 64 bit C calls from generated code.
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +01001560
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001561 Added new scons flag unalignedaccesses for arm builds.
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +01001562
1563 Performance improvements on all platforms.
1564
1565
Leon Clarkef7060e22010-06-03 12:02:55 +010015662010-05-26: Version 2.2.12
1567
1568 Allowed accessors to be defined on objects rather than just object
1569 templates.
1570
1571 Changed the ScriptData API.
1572
1573
15742010-05-21: Version 2.2.11
1575
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001576 Fixed crash bug in liveedit on 64 bit.
Leon Clarkef7060e22010-06-03 12:02:55 +01001577
1578 Use 'full compiler' when debugging is active. This should increase
1579 the density of possible break points, making single step more fine
1580 grained. This will only take effect for functions compiled after
1581 debugging has been started, so recompilation of all functions is
1582 required to get the full effect. IA32 and x64 only for now.
1583
1584 Misc. fixes to the Solaris build.
1585
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001586 Added new flags --print-cumulative-gc-stat and --trace-gc-nvp.
Leon Clarkef7060e22010-06-03 12:02:55 +01001587
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001588 Added filtering of CPU profiles by security context.
Leon Clarkef7060e22010-06-03 12:02:55 +01001589
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001590 Fixed crash bug on ARM when running without VFP2 or VFP3.
Leon Clarkef7060e22010-06-03 12:02:55 +01001591
1592 Incremental performance improvements in all backends.
1593
1594
Kristian Monsen25f61362010-05-21 11:50:48 +010015952010-05-17: Version 2.2.10
1596
1597 Performance improvements in the x64 and ARM backends.
1598
1599
16002010-05-10: Version 2.2.9
1601
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001602 Allowed Object.create to be called with a function (issue 697).
Kristian Monsen25f61362010-05-21 11:50:48 +01001603
1604 Fixed bug with Date.parse returning a non-NaN value when called on a
1605 non date string (issue 696).
1606
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001607 Allowed unaligned memory accesses on ARM targets that support it (by
Leon Clarkef7060e22010-06-03 12:02:55 +01001608 Subrato K De of CodeAurora <subratokde@codeaurora.org>).
Kristian Monsen25f61362010-05-21 11:50:48 +01001609
1610 C++ API for retrieving JavaScript stack trace information.
1611
1612
Steve Block6ded16b2010-05-10 14:33:55 +010016132010-05-05: Version 2.2.8
1614
1615 Performance improvements in the x64 and ARM backends.
1616
1617
16182010-05-03: Version 2.2.7
1619
1620 Added support for ES5 date time string format to Date.parse.
1621
1622 Performance improvements in the x64 backend.
1623
1624
16252010-04-28: Version 2.2.6
1626
1627 Added "amd64" as recognized architecture in scons build script
1628 (by Ryan Dahl <coldredlemur@gmail.com>).
1629
1630 Fixed bug in String search and replace with very simple RegExps.
1631
1632 Fixed bug in RegExp containing "\b^".
1633
1634 Performance improvements on all platforms.
1635
1636
16372010-04-26: Version 2.2.5
1638
1639 Various performance improvements (especially for ARM and x64)
1640
1641 Fixed bug in CPU profiling (http://crbug.com/42137)
1642
1643 Fixed a bug with the natives cache.
1644
1645 Fixed two bugs in the ARM code generator that can cause
1646 wrong calculations.
1647
1648 Fixed a bug that may cause a wrong result for shift operations.
1649
1650
16512010-04-21: Version 2.2.4
1652
1653 Fixed warnings on arm on newer GCC versions.
1654
1655 Fixed a number of minor bugs.
1656
1657 Performance improvements on all platforms.
1658
1659
16602010-04-14: Version 2.2.3
1661
1662 Added stack command and mem command to ARM simulator debugger.
1663
1664 Fixed scons snapshot and ARM build, and Windows X64 build issues.
1665
1666 Performance improvements on all platforms.
1667
1668
16692010-04-12: Version 2.2.2
1670
1671 Introduced new profiler API.
1672
1673 Fixed random number generator to produce full 32 random bits.
1674
1675
16762010-04-06: Version 2.2.1
1677
1678 Debugger improvements.
1679
1680 Fixed minor bugs.
1681
1682
16832010-03-29: Version 2.2.0
1684
1685 Fixed a few minor bugs.
1686
1687 Performance improvements for string operations.
1688
1689
16902010-03-26: Version 2.1.10
1691
1692 Fixed scons build issues.
1693
1694 Fixed a couple of minor bugs.
1695
1696
16972010-03-25: Version 2.1.9
1698
1699 Added API support for reattaching a global object to a context.
1700
1701 Extended debugger API with access to the internal debugger context.
1702
1703 Fixed Chromium crashes (issues http://crbug.com/39128 and
1704 http://crbug.com/39160)
1705
1706
17072010-03-24: Version 2.1.8
1708
1709 Added fine-grained garbage collection callbacks to the API.
1710
1711 Performance improvements on all platforms.
1712
1713
17142010-03-22: Version 2.1.7
1715
1716 Fixed issue 650.
1717
1718 Fixed a bug where __proto__ was sometimes enumerated (issue 646).
1719
1720 Performance improvements for arithmetic operations.
1721
1722 Performance improvements for string operations.
1723
1724 Print script name and line number information in stack trace.
1725
1726
17272010-03-17: Version 2.1.6
1728
1729 Performance improvements for arithmetic operations.
1730
1731 Performance improvements for string operations.
1732
1733
17342010-03-10: Version 2.1.4
1735
1736 Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).
1737
1738 Performance improvements on all platforms.
1739
1740
17412010-03-10: Version 2.1.3
1742
1743 Added API method for context-disposal notifications.
1744
1745 Added API method for accessing elements by integer index.
1746
1747 Added missing implementation of Uint32::Value and Value::IsUint32
1748 API methods.
1749
1750 Added IsExecutionTerminating API method.
1751
1752 Disabled strict aliasing for GCC 4.4.
1753
1754 Fixed string-concatenation bug (issue 636).
1755
1756 Performance improvements on all platforms.
1757
1758
Andrei Popescu402d9372010-02-26 13:31:12 +000017592010-02-23: Version 2.1.2
1760
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001761 Fixed a crash bug caused by wrong assert.
Andrei Popescu402d9372010-02-26 13:31:12 +00001762
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001763 Fixed a bug with register names on 64-bit V8 (issue 615).
Andrei Popescu402d9372010-02-26 13:31:12 +00001764
1765 Performance improvements on all platforms.
1766
Steve Block6ded16b2010-05-10 14:33:55 +01001767
Andrei Popescu402d9372010-02-26 13:31:12 +000017682010-02-19: Version 2.1.1
1769
1770 [ES5] Implemented Object.defineProperty.
1771
1772 Improved profiler support.
1773
1774 Added SetPrototype method in the public V8 API.
1775
1776 Added GetScriptOrigin and GetScriptLineNumber methods to Function
1777 objects in the API.
1778
1779 Performance improvements on all platforms.
1780
1781
Leon Clarke4515c472010-02-03 11:58:03 +000017822010-02-03: Version 2.1.0
1783
1784 Values are now always wrapped in objects when used as a receiver.
1785 (issue 223).
1786
1787 [ES5] Implemented Object.getOwnPropertyNames.
1788
1789 [ES5] Restrict JSON.parse to only accept strings that conforms to the
1790 JSON grammar.
1791
1792 Improvement of debugger agent (issue 549 and 554).
1793
1794 Fixed problem with skipped stack frame in profiles (issue 553).
1795
1796 Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
1797 <ry@tinyclouds.org>.
1798
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001799 Fixed a bug that Math.round() returns incorrect results for huge
Leon Clarke4515c472010-02-03 11:58:03 +00001800 integers.
1801
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001802 Fixed enumeration order for objects created from some constructor
Leon Clarke4515c472010-02-03 11:58:03 +00001803 functions (isue http://crbug.com/3867).
1804
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001805 Fixed arithmetic on some integer constants (issue 580).
Leon Clarke4515c472010-02-03 11:58:03 +00001806
1807 Numerous performance improvements including porting of previous IA-32
1808 optimizations to x64 and ARM architectures.
1809
1810
Leon Clarkee46be812010-01-19 14:06:41 +000018112010-01-14: Version 2.0.6
1812
1813 Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,
1814 GetOwnProperty, FromPropertyDescriptor.
1815
1816 Fixed Mac x64 build errors.
1817
1818 Improved performance of some math and string operations.
1819
1820 Improved performance of some regexp operations.
1821
1822 Improved performance of context creation.
1823
1824 Improved performance of hash tables.
1825
1826
18272009-12-18: Version 2.0.5
1828
1829 Extended to upper limit of map space to allow for 7 times as many map
1830 to be allocated (issue 524).
1831
1832 Improved performance of code using closures.
1833
1834 Improved performance of some binary operations involving doubles.
1835
1836
18372009-12-16: Version 2.0.4
1838
1839 Added ECMAScript 5 Object.create.
1840
1841 Improved performance of Math.max and Math.min.
1842
1843 Optimized adding of strings on 64-bit platforms.
1844
1845 Improved handling of external strings by using a separate table
1846 instead of weak handles. This improves garbage collection
1847 performance and uses less memory.
1848
1849 Changed code generation for object and array literals in toplevel
1850 code to be more compact by doing more work in the runtime.
1851
1852 Fixed a crash bug triggered when garbage collection happened during
1853 generation of a callback load inline cache stub.
1854
1855 Fixed crash bug sometimes triggered when local variables shadowed
1856 parameters in functions that used the arguments object.
1857
1858
Steve Blockd0582a62009-12-15 09:54:21 +000018592009-12-03: Version 2.0.3
1860
1861 Optimized handling and adding of strings, for-in and Array.join.
1862
1863 Heap serialization is now non-destructive.
1864
1865 Improved profiler support with information on time spend in C++
1866 callbacks registered through the API.
1867
1868 Added commands to the debugger protocol for starting/stopping
1869 profiling.
1870
1871 Enabled the non-optimizing compiler for top-level code.
1872
1873 Changed the API to only allow strings to be set as data objects on
1874 Contexts and scripts to avoid potentially keeping global objects
1875 around for too long (issue 528).
1876
1877 OpenBSD support patch by Peter Valchev <pvalchev@gmail.com>.
1878
1879 Fixed bugs.
1880
1881
18822009-11-24: Version 2.0.2
1883
1884 Improved profiler support.
1885
1886 Fixed bug that broke compilation of d8 with readline support.
1887
1888
18892009-11-20: Version 2.0.1
1890
1891 Fixed crash bug in String.prototype.replace.
1892
1893 Reverted a change which caused Chromium interactive ui test
1894 failures.
1895
Leon Clarkee46be812010-01-19 14:06:41 +00001896
Steve Blockd0582a62009-12-15 09:54:21 +000018972009-11-18: Version 2.0.0
1898
1899 Added support for VFP on ARM.
1900
1901 Added TryCatch::ReThrow method to the API.
1902
1903 Reduced the size of snapshots and improved the snapshot load time.
1904
1905 Improved heap profiler support.
1906
1907 64-bit version now supported on Windows.
1908
1909 Fixed a number of debugger issues.
1910
1911 Fixed bugs.
1912
1913
19142009-10-29: Version 1.3.18
1915
1916 Reverted a change which caused crashes in RegExp replace.
1917
1918 Reverted a change which caused Chromium ui_tests failure.
1919
1920
19212009-10-28: Version 1.3.17
1922
1923 Added API method to get simple heap statistics.
1924
1925 Improved heap profiler support.
1926
1927 Fixed the implementation of the resource constraint API so it
1928 works when using snapshots.
1929
1930 Fixed a number of issues in the Windows 64-bit version.
1931
1932 Optimized calls to API getters.
1933
1934 Added valgrind notification on code modification to the 64-bit version.
1935
1936 Fixed issue where we logged shared library addresses on Windows at
1937 startup and never used them.
1938
1939
Steve Block3ce2e202009-11-05 08:53:23 +000019402009-10-16: Version 1.3.16
Leon Clarkee46be812010-01-19 14:06:41 +00001941
Steve Block3ce2e202009-11-05 08:53:23 +00001942 X64: Convert smis to holding 32 bits of payload.
1943
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001944 Introduced v8::Integer::NewFromUnsigned method.
Steve Block3ce2e202009-11-05 08:53:23 +00001945
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001946 Added missing null check in Context::GetCurrent.
Steve Block3ce2e202009-11-05 08:53:23 +00001947
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001948 Added trim, trimLeft and trimRight methods to String
Steve Block3ce2e202009-11-05 08:53:23 +00001949 Patch by Jan de Mooij <jandemooij@gmail.com>
1950
1951 Implement ES5 Array.isArray
1952 Patch by Jan de Mooij <jandemooij@gmail.com>
1953
1954 Skip access checks for hidden properties.
1955
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001956 Added String::Concat(Handle<String> left, Handle<String> right) to the
1957 V8 API.
Steve Block3ce2e202009-11-05 08:53:23 +00001958
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001959 Fixed GYP-based builds of V8.
Steve Block3ce2e202009-11-05 08:53:23 +00001960
1961
19622009-10-07: Version 1.3.15
1963
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001964 Expanded the maximum size of the code space to 512MB for 64-bit mode.
Steve Block3ce2e202009-11-05 08:53:23 +00001965
1966 Fixed a crash bug happening when starting profiling (issue
1967 http://crbug.com/23768).
1968
1969
19702009-10-07: Version 1.3.14
1971
1972 Added GetRealNamedProperty to the API to lookup real properties
1973 located on the object or in the prototype chain skipping any
1974 interceptors.
1975
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001976 Fixed the stack limits setting API to work correctly with threads. The
Steve Block3ce2e202009-11-05 08:53:23 +00001977 stack limit now needs to be set to each thread thich is used with V8.
1978
Kristian Monsen0d5e1162010-09-30 15:31:59 +01001979 Removed the high-priority flag from IdleNotification()
Steve Block3ce2e202009-11-05 08:53:23 +00001980
1981 Ensure V8 is initialized before locking and unlocking threads.
1982
1983 Implemented a new JavaScript minifier for compressing the source of
Steve Blockd0582a62009-12-15 09:54:21 +00001984 the built-in JavaScript. This removes non-Open Source code from Douglas
Steve Block3ce2e202009-11-05 08:53:23 +00001985 Crockford from the project.
1986
1987 Added a missing optimization in StringCharAt.
1988
1989 Fixed some flaky socket tests.
1990
1991 Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
1992 in 64-bit mode.
1993
1994 Fixed memory leaks in the thread management code.
1995
1996 Fixed the result of assignment to a pixel array. The assigned value
1997 is now the result.
1998
1999 Error reporting for invalid left-hand sides in for-in statements, pre-
2000 and postfix count expressions, and assignments now matches the JSC
2001 behavior in Safari 4.
2002
2003 Follow the spec in disallowing function declarations without a name.
2004
2005 Always allocate code objects within a 2 GB range. On x64 architecture
2006 this is used to use near calls (32-bit displacement) in Code objects.
2007
2008 Optimized array construction ported to x64 and ARM architectures.
2009
2010 [ES5] Changed Object.keys to return strings for element indices.
2011
2012
Steve Blocka7e24c12009-10-30 11:49:00 +000020132009-09-23: Version 1.3.13
2014
2015 Fixed uninitialized memory problem.
2016
2017 Improved heap profiler support.
2018
2019
20202009-09-22: Version 1.3.12
2021
2022 Changed behavior of |function|.toString() on built-in functions to
2023 be compatible with other implementations. Patch by Jan de Mooij.
2024
2025 Added Object::IsDirty in the API.
2026
2027 Optimized array construction; it is now handled purely in native
2028 code.
2029
2030 [ES5] Made properties of the arguments array enumerable.
2031
2032 [ES5] Added test suite adapter for the es5conform test suite.
2033
2034 [ES5] Added Object.keys function.
2035
2036
20372009-09-15: Version 1.3.11
2038
2039 Fixed crash in error reporting during bootstrapping.
2040
2041 Optimized generated IA32 math code by using SSE2 instructions when
2042 available.
2043
2044 Implemented missing pieces of debugger infrastructure on ARM. The
2045 debugger is now fully functional on ARM.
2046
Kristian Monsen0d5e1162010-09-30 15:31:59 +01002047 Made 'hidden' the default visibility for gcc.
Steve Blocka7e24c12009-10-30 11:49:00 +00002048
2049
20502009-09-09: Version 1.3.10
2051
2052 Fixed profiler on Mac in 64-bit mode.
2053
2054 Optimized creation of objects from simple constructor functions on
2055 ARM.
2056
2057 Fixed a number of debugger issues.
2058
2059 Reduced the amount of memory consumed by V8.
2060
2061
20622009-09-02: Version 1.3.9
2063
2064 Optimized stack guard checks on ARM.
2065
2066 Optimized API operations by inlining more in the API.
2067
2068 Optimized creation of objects from simple constructor functions.
2069
2070 Enabled a number of missing optimizations in the 64-bit port.
2071
2072 Implemented native-code support for regular expressions on ARM.
2073
2074 Stopped using the 'sahf' instruction on 64-bit machines that do
2075 not support it.
2076
2077 Fixed a bug in the support for forceful termination of JavaScript
2078 execution.
2079
2080
20812009-08-26: Version 1.3.8
2082
2083 Changed the handling of idle notifications to allow idle
2084 notifications when V8 has not yet been initialized.
2085
2086 Fixed ARM simulator compilation problem on Windows.
Leon Clarkee46be812010-01-19 14:06:41 +00002087
Steve Blocka7e24c12009-10-30 11:49:00 +00002088
20892009-08-25: Version 1.3.7
2090
2091 Reduced the size of generated code on ARM platforms by reducing
2092 the size of constant pools.
2093
2094 Changed build files to not include the 'ENV' user environment
2095 variable in the build environment.
2096
2097 Changed the handling of idle notifications.
2098
2099
21002009-08-21: Version 1.3.6
2101
Kristian Monsen0d5e1162010-09-30 15:31:59 +01002102 Added support for forceful termination of JavaScript execution.
Steve Blocka7e24c12009-10-30 11:49:00 +00002103
Kristian Monsen0d5e1162010-09-30 15:31:59 +01002104 Added low memory notification to the API. The embedding host can signal
Steve Blocka7e24c12009-10-30 11:49:00 +00002105 a low memory situation to V8.
2106
2107 Changed the handling of global handles (persistent handles in the API
2108 sense) to avoid issues regarding allocation of new global handles
2109 during weak handle callbacks.
2110
2111 Changed the growth policy of the young space.
2112
2113 Fixed a GC issue introduced in version 1.3.5.
2114
2115
21162009-08-19: Version 1.3.5
2117
Kristian Monsen0d5e1162010-09-30 15:31:59 +01002118 Optimized initialization of some arrays in the builtins.
Steve Blocka7e24c12009-10-30 11:49:00 +00002119
Kristian Monsen0d5e1162010-09-30 15:31:59 +01002120 Fixed mac-nm script to support filenames with spaces.
Steve Blocka7e24c12009-10-30 11:49:00 +00002121
2122 Support for using the V8 profiler when V8 is embedded in a Windows DLL.
2123
2124 Changed typeof RegExp from 'object' to 'function' for compatibility.
2125 Fixed bug where regexps were not callable across contexts.
2126
2127 Added context independent script compilation to the API.
2128
2129 Added API call to get the stack trace for an exception.
2130
2131 Added API for getting object mirrors.
2132
Kristian Monsen0d5e1162010-09-30 15:31:59 +01002133 Made sure that SSE3 instructions are used whenever possible even when
Steve Blocka7e24c12009-10-30 11:49:00 +00002134 running off a snapshot generated without using SSE3 instructions.
2135
2136 Tweaked the handling of the initial size and growth policy of the heap.
2137
2138 Added native code generation for RegExp to 64-bit version.
2139
2140 Added JavaScript debugger support to 64-bit version.
2141
2142
21432009-08-13: Version 1.3.4
2144
2145 Added a readline() command to the d8 shell.
2146
2147 Fixed bug in json parsing.
2148
2149 Added idle notification to the API and reduced memory on idle
2150 notifications.
2151
2152
21532009-08-12: Version 1.3.3
2154
Kristian Monsen0d5e1162010-09-30 15:31:59 +01002155 Fixed issue 417: incorrect %t placeholder expansion.
Steve Blocka7e24c12009-10-30 11:49:00 +00002156
Kristian Monsen0d5e1162010-09-30 15:31:59 +01002157 Added .gitignore file similar to Chromium's one.
Steve Blocka7e24c12009-10-30 11:49:00 +00002158
Kristian Monsen0d5e1162010-09-30 15:31:59 +01002159 Fixed SConstruct file to build with new logging code for Android.
Steve Blocka7e24c12009-10-30 11:49:00 +00002160
2161 API: added function to find instance of template in prototype
2162 chain. Inlined Object::IsInstanceOf.
2163
2164 Land change to notify valgrind when we modify code on x86.
2165
Kristian Monsen0d5e1162010-09-30 15:31:59 +01002166 Added api call to determine whether a string can be externalized.
Steve Blocka7e24c12009-10-30 11:49:00 +00002167
Kristian Monsen0d5e1162010-09-30 15:31:59 +01002168 Added a write() command to d8.
Steve Blocka7e24c12009-10-30 11:49:00 +00002169
2170
21712009-08-05: Version 1.3.2
2172
2173 Started new compiler infrastructure for two-pass compilation using a
2174 control flow graph constructed from the AST.
2175
2176 Profiler stack sampling for X64.
2177
2178 Safe handling of NaN to Posix platform-dependent time functions.
2179
2180 Added a new profiler control API to unify controlling various aspects
2181 of profiling.
2182
2183 Fixed issue 392.
2184
2185
21862009-07-30: Version 1.3.1
2187
2188 Speed improvements to accessors and interceptors.
2189
2190 Added support for capturing stack information on custom errors.
2191
2192 Added support for morphing an object into a pixel array where its
2193 indexed properties are stored in an external byte array. Values written
2194 are always clamped to the 0..255 interval.
2195
2196 Profiler on x64 now handles C/C++ functions from shared libraries.
2197
2198 Changed the debugger to avoid stepping into function.call/apply if the
2199 function is a built-in.
2200
2201 Initial implementation of constructor heap profile for JS objects.
Leon Clarkee46be812010-01-19 14:06:41 +00002202
Steve Blocka7e24c12009-10-30 11:49:00 +00002203 More fine grained control of profiling aspects through the API.
Leon Clarkee46be812010-01-19 14:06:41 +00002204
Steve Blocka7e24c12009-10-30 11:49:00 +00002205 Optimized the called as constructor check for API calls.
2206
2207
22082009-07-27: Version 1.3.0
2209
2210 Allowed RegExp objects to be called as functions (issue 132).
2211
2212 Fixed issue where global property cells would escape after
2213 detaching the global object; see http://crbug.com/16276.
2214
2215 Added support for stepping into setters and getters in the
2216 debugger.
2217
2218 Changed the debugger to avoid stopping in its own JavaScript code
2219 and in the code of built-in functions.
2220
2221 Fixed issue 345 by avoiding duplicate escaping labels.
2222
2223 Fixed ARM code generator crash in short-circuited boolean
2224 expressions and added regression tests.
2225
2226 Added an external allocation limit to avoid issues where small V8
2227 objects would hold on to large amounts of external memory without
2228 causing garbage collections.
Leon Clarkee46be812010-01-19 14:06:41 +00002229
2230 Finished more of the inline caching stubs for x64 targets.
Steve Blocka7e24c12009-10-30 11:49:00 +00002231
2232
22332009-07-13: Version 1.2.14
2234
2235 Added separate paged heap space for global property cells and
2236 avoid updating the write barrier when storing into them.
2237
2238 Improved peep-hole optimization on ARM platforms by not emitting
2239 unnecessary debug information.
2240
2241 Re-enabled ICs for loads and calls that skip a global object
2242 during lookup through the prototype chain.
2243
2244 Allowed access through global proxies to use ICs.
2245
2246 Fixed issue 401.
2247
2248
22492009-07-09: Version 1.2.13
2250
2251 Fixed issue 397, issue 398, and issue 399.
2252
2253 Added support for breakpoint groups.
2254
2255 Fixed bugs introduced with the new global object representation.
2256
2257 Fixed a few bugs in the ARM code generator.
2258
2259
22602009-07-06: Version 1.2.12
2261
2262 Added stack traces collection to Error objects accessible through
2263 the e.stack property.
2264
2265 Changed RegExp parser to use a recursive data structure instead of
2266 stack-based recursion.
2267
2268 Optimized Date object construction and string concatenation.
2269
2270 Improved performance of div, mod, and mul on ARM platforms.
2271
2272
22732009-07-02: Version 1.2.11
2274
2275 Improved performance on IA-32 and ARM.
2276
2277 Fixed profiler sampler implementation on Mac OS X.
2278
2279 Changed the representation of global objects to improve
2280 performance of adding a lot of new properties.
2281
2282
22832009-06-29: Version 1.2.10
2284
2285 Improved debugger support.
2286
2287 Fixed bug in exception message reporting (issue 390).
2288
2289 Improved overall performance.
2290
2291
22922009-06-23: Version 1.2.9
2293
2294 Improved math performance on ARM.
2295
2296 Fixed profiler name-inference bug.
2297
2298 Fixed handling of shared libraries in the profiler tick processor
2299 scripts.
2300
2301 Fixed handling of tests that time out in the test scripts.
2302
2303 Fixed compilation on MacOS X version 10.4.
2304
2305 Fixed two bugs in the regular expression engine.
2306
2307 Fixed a bug in the string type inference.
2308
2309 Fixed a bug in the handling of 'constant function' properties.
Leon Clarkee46be812010-01-19 14:06:41 +00002310
Steve Blocka7e24c12009-10-30 11:49:00 +00002311 Improved overall performance.
Leon Clarkee46be812010-01-19 14:06:41 +00002312
Steve Blocka7e24c12009-10-30 11:49:00 +00002313
23142009-06-16: Version 1.2.8
2315
2316 Optimized math on ARM platforms.
2317
2318 Fixed two crash bugs in the handling of getters and setters.
2319
2320 Improved the debugger support by adding scope chain information.
2321
2322 Improved the profiler support by compressing log data transmitted
2323 to clients.
2324
2325 Improved overall performance.
2326
2327
23282009-06-08: Version 1.2.7
2329
2330 Improved debugger and profiler support.
2331
2332 Reduced compilation time by improving the handling of deferred
2333 code.
2334
2335 Optimized interceptor accesses where the property is on the object
2336 on which the interceptors is attached.
2337
2338 Fixed compilation problem on GCC 4.4 by changing the stack
2339 alignment to 16 bytes.
2340
2341 Fixed handle creation to follow stric aliasing rules.
2342
2343 Fixed compilation on FreeBSD.
2344
2345 Introduced API for forcing the deletion of a property ignoring
2346 interceptors and attributes.
2347
2348
23492009-05-29: Version 1.2.6
2350
2351 Added a histogram recording hit rates at different levels of the
2352 compilation cache.
2353
2354 Added stack overflow check for the RegExp analysis phase. Previously a
2355 very long regexp graph could overflow the stack with recursive calls.
2356
2357 Use a dynamic buffer when collecting log events in memory.
2358
2359 Added start/stop events to the profiler log.
2360
2361 Fixed infinite loop which could happen when setting a debug break while
2362 executing a RegExp compiled to native code.
2363
2364 Fixed handling of lastIndexOf called with negative index (issue 351).
2365
2366 Fixed irregular crash in profiler test (issue 358).
2367
2368 Fixed compilation issues with some versions of gcc.
2369
2370
23712009-05-26: Version 1.2.5
2372
2373 Fixed bug in initial boundary check for Boyer-Moore text
2374 search (issue 349).
2375
2376 Fixed compilation issues with MinGW and gcc 4.3+ and added support
2377 for armv7 and cortex-a8 architectures. Patches by Lei Zhang and
2378 Craig Schlenter.
2379
2380 Added a script cache to the debugger.
2381
2382 Optimized compilation performance by improving internal data
2383 structures and avoiding expensive property load optimizations for
2384 code that's infrequently executed.
2385
2386 Exposed the calling JavaScript context through the static API
2387 function Context::GetCalling().
2388
2389
23902009-05-18: Version 1.2.4
2391
2392 Improved performance of floating point number allocation for ARM
2393 platforms.
2394
2395 Fixed crash when using the instanceof operator on functions with
2396 number values in their prototype chain (issue 341).
2397
2398 Optimized virtual frame operations in the code generator to speed
2399 up compilation time and allocated the frames in the zone.
2400
2401 Made the representation of virtual frames and jump targets in the
2402 code generator much more compact.
2403
2404 Avoided linear search for non-locals in scope code when resolving
2405 variables inside with and eval scopes.
2406
2407 Optimized lexical scanner by dealing with whitespace as part of
2408 the token scanning instead of as a separate step before it.
2409
2410 Changed the scavenging collector so that promoted objects do not
2411 reside in the old generation while their remembered set is being
2412 swept for pointers into the young generation.
2413
2414 Fixed numeric overflow handling when compiling count operations.
2415
2416
24172009-05-11: Version 1.2.3
2418
2419 Fixed bug in reporting of out-of-memory situations.
2420
2421 Introduced hidden prototypes on certain builtin prototype objects
2422 such as String.prototype to emulate JSC's behavior of restoring
2423 the original function when deleting functions from those prototype
2424 objects.
2425
2426 Fixed crash bug in the register allocator.
2427
2428
24292009-05-04: Version 1.2.2
2430
2431 Fixed bug in array sorting for sparse arrays (issue 326).
2432
2433 Added support for adding a soname when building a shared library
2434 on Linux (issue 151).
2435
2436 Fixed bug caused by morphing internal ASCII strings to external
2437 two-byte strings. Slices over ASCII strings have to forward ASCII
2438 checks to the underlying buffer string.
2439
2440 Allowed API call-as-function handlers to be called as
2441 constructors.
2442
2443 Fixed a crash bug where an external string was disposed but a
2444 slice of the external string survived as a symbol.
2445
2446
24472009-04-27: Version 1.2.1
2448
2449 Added EcmaScript 5 JSON object.
2450
Kristian Monsen0d5e1162010-09-30 15:31:59 +01002451 Fixed bug in preemption support on ARM.
Steve Blocka7e24c12009-10-30 11:49:00 +00002452
2453
24542009-04-23: Version 1.2.0
2455
2456 Optimized floating-point operations on ARM.
2457
2458 Added a number of extensions to the debugger API.
2459
2460 Changed the enumeration order for unsigned integer keys to always
2461 be numerical order.
2462
2463 Added a "read" extension to the shell sample.
2464
2465 Added support for Array.prototype.reduce and
2466 Array.prototype.reduceRight.
2467
2468 Added an option to the SCons build to control Microsoft Visual C++
2469 link-time code generation.
2470
2471 Fixed a number of bugs (in particular issue 315, issue 316,
2472 issue 317 and issue 318).
2473
2474
24752009-04-15: Version 1.1.10
2476
2477 Fixed crash bug that occurred when loading a const variable in the
2478 presence of eval.
2479
2480 Allowed using with and eval in registered extensions in debug mode
2481 by fixing bogus assert.
2482
2483 Fixed the source position for function returns to enable the
2484 debugger to break there.
2485
2486
24872009-04-14: Version 1.1.9
2488
2489 Made the stack traversal code in the profiler robust by avoiding
2490 to look into the heap.
2491
2492 Added name inferencing for anonymous functions to facilitate
2493 debugging and profiling.
2494
2495 Re-enabled stats timers in the developer shell (d8).
2496
2497 Fixed issue 303 by avoiding to shortcut cons-symbols.
2498
2499
25002009-04-11: Version 1.1.8
2501
2502 Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).
2503
2504 Fixed step-in handling for Function.prototype.apply and call in
2505 the debugger (issue 269).
2506
2507 Fixed v8::Object::DeleteHiddenValue to not bail out when there
2508 are no hidden properties.
2509
2510 Added workaround for crash bug, where external symbol table
2511 entries with deleted resources would lead to NPEs when looking
2512 up in the symbol table.
2513
2514
25152009-04-07: Version 1.1.7
2516
2517 Added support for easily importing additional environment
2518 variables into the SCons build.
2519
2520 Optimized strict equality checks.
2521
2522 Fixed crash in indexed setters on objects without a corresponding
2523 getter (issue 298).
2524
2525 Re-enabled script compilation cache.
2526
2527
25282009-04-01: Version 1.1.6
2529
2530 Reverted an unsafe code generator change.
2531
2532
25332009-04-01: Version 1.1.5
2534
2535 Fixed bug that caused function literals to not be optimized as
2536 much as other functions.
2537
2538 Improved profiler support.
2539
2540 Fixed a crash bug in connection with debugger unloading.
2541
2542 Fixed a crash bug in the code generator caused by losing the
2543 information that a frame element was copied.
2544
2545 Fixed an exception propagation bug that could cause non-null
2546 return values when exceptions were thrown.
2547
2548
25492009-03-30: Version 1.1.4
2550
2551 Optimized String.prototype.match.
2552
2553 Improved the stack information in profiles.
2554
2555 Fixed bug in ARM port making it possible to compile the runtime
2556 system for thumb mode again.
2557
2558 Implemented a number of optimizations in the code generator.
2559
2560 Fixed a number of memory leaks in tests.
2561
2562 Fixed crash bug in connection with script source code and external
2563 strings.
2564
2565
25662009-03-24: Version 1.1.3
2567
2568 Fixed assertion failures in compilation of loop conditions.
2569
2570 Removed STL dependency from developer shell (d8).
2571
2572 Added infrastructure for protecting the V8 heap from corruption
2573 caused by memory modifications from the outside.
2574
2575
25762009-03-24: Version 1.1.2
2577
2578 Improved frame merge code generated by the code generator.
2579
2580 Optimized String.prototype.replace.
2581
2582 Implemented __defineGetter__ and __defineSetter__ for properties
2583 with integer keys on non-array objects.
2584
2585 Improved debugger and profiler support.
2586
2587 Fixed a number of portability issues to allow compilation for
2588 smaller ARM devices.
2589
2590 Exposed object cloning through the API.
2591
2592 Implemented hidden properties. This is used to expose an identity
2593 hash for objects through the API.
2594
2595 Implemented restarting of regular expressions if their input
2596 string changes representation during preemption.
2597
2598 Fixed a code generator bug that could cause assignments in loops
2599 to be ignored if using continue to break out of the loop (issue
2600 284).
2601
2602
26032009-03-12: Version 1.1.1
2604
2605 Fixed an assertion in the new compiler to take stack overflow
2606 exceptions into account.
2607
2608 Removed exception propagation code that could cause crashes.
2609
2610 Fixed minor bug in debugger line number computations.
2611
2612 8-byte align the C stack on Linux and Windows to speed up floating
2613 point computations.
2614
2615
26162009-03-12: Version 1.1.0
2617
2618 Improved code generation infrastructure by doing simple register
2619 allocation and constant folding and propagation.
2620
2621 Optimized regular expression matching by avoiding to create
2622 intermediate string arrays and by flattening nested array
2623 representations of RegExp data.
2624
2625 Traverse a few stack frames when recording profiler samples to
2626 include partial call graphs in the profiling output.
2627
2628 Added support for using OProfile to profile generated code.
2629
2630 Added remote debugging support to the D8 developer shell.
2631
2632 Optimized creation of nested literals like JSON objects.
2633
2634 Fixed a bug in garbage collecting unused maps and turned it on by
2635 default (--collect-maps).
2636
2637 Added support for running tests under Valgrind.
2638
2639
26402009-02-27: Version 1.0.3
2641
2642 Optimized double-to-integer conversions in bit operations by using
2643 SSE3 instructions if available.
2644
2645 Optimized initialization sequences that store to multiple
2646 properties of the same object.
2647
2648 Changed the D8 debugger frontend to use JSON messages.
2649
2650 Force garbage collections when disposing contexts.
2651
2652 Align code objects at 32-byte boundaries.
2653
2654
26552009-02-25: Version 1.0.2
2656
2657 Improved profiling support by performing simple call stack
2658 sampling for ticks and by fixing a bug in the logging of code
2659 addresses.
2660
2661 Fixed a number of debugger issues.
2662
2663 Optimized code that uses eval.
2664
2665 Fixed a couple of bugs in the regular expression engine.
2666
2667 Reduced the size of generated code for certain regular expressions.
2668
2669 Removed JSCRE completely.
2670
2671 Fixed issue where test could not be run if there was a dot in the
2672 checkout path.
2673
2674
26752009-02-13: Version 1.0.1
2676
2677 Fixed two crash-bugs in irregexp (issue 231 and 233).
2678
2679 Fixed a number of minor bugs (issue 87, 227 and 228).
2680
2681 Added support for morphing strings to external strings on demand
2682 to avoid having to create copies in the embedding code.
2683
2684 Removed experimental support for external symbol callbacks.
2685
2686
26872009-02-09: Version 1.0.0
2688
2689 Fixed crash-bug in the code generation for case independent 16 bit
2690 backreferences.
2691
2692 Made shells more robust in the presence of string conversion
2693 failures (issue 224).
2694
2695 Fixed a potential infinite loop when attempting to resolve
2696 eval (issue 221).
2697
2698 Miscellaneous fixes to the new regular expression engine.
2699
2700 Reduced binary by stripping unneeded text from JavaScript library and
2701 minifying some JavaScript files.
2702
2703
27042009-01-27: Version 0.4.9
2705
2706 Enabled new regular expression engine.
2707
2708 Made a number of changes to the debugger protocol.
2709
2710 Fixed a number of bugs in the preemption support.
2711
2712 Added -p option to the developer shell to run files in parallel
2713 using preemption.
2714
2715 Fixed a number of minor bugs (including issues 176, 187, 189, 192,
2716 193, 198 and 201).
2717
2718 Fixed a number of bugs in the serialization/deserialization
2719 support for the ARM platform.
2720
2721
27222009-01-19: Version 0.4.8.1
2723
2724 Minor patch to debugger support.
2725
2726
27272009-01-16: Version 0.4.8
2728
2729 Fixed string length bug on ARM (issue 171).
2730
2731 Made most methods in the API const.
2732
2733 Optimized object literals by improving data locality.
2734
2735 Fixed bug that caused incomplete functions to be cached in case of
2736 stack overflow exceptions.
2737
2738 Fixed bugs that caused catch variables and variables introduced by
2739 eval to behave incorrectly when using accessors (issues 186, 190
2740 and 191).
2741
2742
27432009-01-06: Version 0.4.7
2744
2745 Minor bugfixes and optimizations.
2746
2747 Added command line debugger to D8 shell.
2748
2749 Fixed subtle bug that caused the wrong 'this' to be used when
2750 calling a caught function in a catch clause.
2751
2752 Inline array loads within loops directly in the code instead of
2753 always calling a stub.
2754
2755
27562008-12-11: Version 0.4.6
2757
2758 Fixed exception reporting bug where certain exceptions were
2759 incorrectly reported as uncaught.
2760
2761 Improved the memory allocation strategy used during compilation to
2762 make running out of memory when compiling huge scripts less
2763 likely.
2764
2765 Optimized String.replace by avoiding the construction of certain
2766 sub strings.
2767
2768 Fixed bug in code generation for large switch statements on ARM.
2769
2770 Fixed bug that caused V8 to change the global object template
2771 passed in by the user.
2772
2773 Changed the API for creating object groups used during garbage
2774 collection. Entire object groups are now passed to V8 instead of
2775 individual members of the groups.
2776
2777
27782008-12-03: Version 0.4.5
2779
2780 Added experimental API support for allocating V8 symbols as
2781 external strings.
2782
2783 Fixed bugs in debugging support on ARM.
2784
2785 Changed eval implementation to correctly detect whether or not a
2786 call to eval is aliased.
2787
2788 Fixed bug caused by a combination of the compilation cache and
2789 dictionary probing in native code. The bug caused us to sometimes
2790 call functions that had not yet been compiled.
2791
2792 Added platform support for FreeBSD.
2793
2794 Added support for building V8 on Windows with either the shared or
2795 static version of MSVCRT
2796
2797 Added the v8::jscre namespace around the jscre functions to avoid
2798 link errors (duplicate symbols) when building Google Chrome.
2799
2800 Added support for calling a JavaScript function with the current
2801 debugger execution context as its argument to the debugger
2802 interface.
2803
2804 Changed the type of names of counters from wchar_t to char.
2805
2806 Changed the Windows system call used to compute daylight savings
2807 time. The system call that we used to use became four times
2808 slower on WinXP SP3.
2809
2810 Added support in the d8 developer shell for memory-mapped counters
2811 and added a stats-viewer tool.
2812
2813 Fixed bug in upper/lower case mappings (issue 149).
2814
2815
28162008-11-17: Version 0.4.4
2817
2818 Reduced code size by using shorter instruction encoding when
2819 possible.
2820
2821 Added a --help option to the shell sample and to the d8 shell.
2822
2823 Added visual studio project files for building the ARM simulator.
2824
2825 Fixed a number of ARM simulator issues.
2826
2827 Fixed bug in out-of-memory handling on ARM.
2828
2829 Implemented shell support for passing arguments to a script from
2830 the command line.
2831
2832 Fixed bug in date code that made certain date functions return -0
2833 instead of 0 for dates before the epoch.
2834
2835 Restricted applications of eval so it can only be used in the
2836 context of the associated global object.
2837
2838 Treat byte-order marks as whitespace characters.
2839
2840
28412008-11-04: Version 0.4.3
2842
2843 Added support for API accessors that prohibit overwriting by
2844 accessors defined in JavaScript code by using __defineGetter__ and
2845 __defineSetter__.
2846
2847 Improved handling of conditionals in test status files.
2848
2849 Introduced access control in propertyIsEnumerable.
2850
2851 Improved performance of some string operations by caching
2852 information about the type of the string between operations.
2853
2854 Fixed bug in fast-case code for switch statements that only have
2855 integer labels.
2856
2857
28582008-10-30: Version 0.4.2
2859
2860 Improved performance of Array.prototype.concat by moving the
2861 implementation to C++ (issue 123).
2862
2863 Fixed heap growth policy to avoid growing old space to its maximum
2864 capacity before doing a garbage collection and fixed issue that
2865 would lead to artificial out of memory situations (issue 129).
2866
2867 Fixed Date.prototype.toLocaleDateString to return the date in the
2868 same format as WebKit.
2869
2870 Added missing initialization checks to debugger API.
2871
2872 Added removing of unused maps during GC.
2873
2874
28752008-10-28: Version 0.4.1
2876
2877 Added caching of RegExp data in compilation cache.
2878
2879 Added Visual Studio project file for d8 shell.
2880
2881 Fixed function call performance regression introduced in version
2882 0.4.0 when splitting the global object in two parts (issue 120).
2883
2884 Fixed issue 131 by checking for empty handles before throwing and
2885 reporting exceptions.
2886
2887
28882008-10-23: Version 0.4.0
2889
2890 Split the global object into two parts: The state holding global
2891 object and the global object proxy.
2892
2893 Fixed bug that affected the value of an assignment to an element
2894 in certain cases (issue 116).
2895
2896 Added GetPropertyNames functionality (issue 33) and extra Date
2897 functions (issue 77) to the API.
2898
2899 Changed WeakReferenceCallback to take a Persistent<Value> instead
2900 of a Persistent<Object> (issue 101).
2901
2902 Fixed issues with message reporting for exceptions in try-finally
2903 blocks (issues 73 and 75).
2904
2905 Optimized flattening of strings and string equality checking.
2906
2907 Improved Boyer-Moore implementation for faster indexOf operations.
2908
2909 Added development shell (d8) which includes counters and
2910 completion support.
2911
2912 Fixed problem with the receiver passed to functions called from
2913 eval (issue 124).
2914
2915
29162008-10-16: Version 0.3.5
2917
2918 Improved string hash-code distribution by excluding bit-field bits
2919 from the hash-code.
2920
2921 Changed string search algorithm used in indexOf from KMP to
2922 Boyer-Moore.
2923
2924 Improved the generated code for the instanceof operator.
2925
2926 Improved performance of slow-case string equality checks by
2927 specializing the code based on the string representation.
2928
2929 Improve the handling of out-of-memory situations (issue 70).
2930
2931 Improved performance of strict equality checks.
2932
2933 Improved profiler output to make it easier to see anonymous
2934 functions.
2935
2936 Improved performance of slow-case keyed loads.
2937
2938 Improved property access performance by allocating a number of
2939 properties in the front object.
2940
2941 Changed the toString behavior on the built-in object constructors
2942 to print [native code] instead of the actual source. Some web
2943 applications do not like constructors with complex toString
2944 results.
2945
2946
29472008-10-06: Version 0.3.4
2948
2949 Changed Array.prototype.sort to use quick sort.
2950
2951 Fixed code generation issue where leaving a finally block with
2952 break or continue would accumulate elements on the expression
2953 stack (issue 86).
2954
2955 Made sure that the name accessor on functions returns the expected
2956 names for builtin JavaScript functions and C++ callback functions.
2957
2958 Added fast case code for extending the property storage array of
2959 JavaScript objects.
2960
2961 Ported switch statement optimizations introduced in version 0.3.3
2962 to the ARM code generator.
2963
2964 Allowed GCC to use strict-aliasing rules when compiling.
2965
2966 Improved performance of arguments object allocation by taking care
2967 of arguments adaptor frames in the generated code.
2968
2969 Updated the V8 benchmark suite to version 2.
2970
2971
29722008-09-25: Version 0.3.3
2973
2974 Improved handling of relocation information to enable more
2975 peep-hole optimizations.
2976
2977 Optimized switch statements where all labels are constant small
2978 integers.
2979
2980 Optimized String.prototype.indexOf for common cases.
2981
2982 Fixed more build issues (issue 80).
2983
2984 Fixed a couple of profiler issues.
2985
2986 Fixed bug where the body of a function created using the Function
2987 constructor was not allowed to end with a single-line comment
2988 (issue 85).
2989
2990 Improved handling of object literals by canonicalizing object
2991 literal maps. This will allow JSON objects with the same set of
2992 properties to share the same map making inline caching work better
2993 for JSON objects.
2994
2995
29962008-09-17: Version 0.3.2
2997
2998 Generalized the EvalCache into a CompilationCache and enabled it
2999 for scripts too. The current strategy is to retire all entries
3000 whenever a mark-sweep collection is started.
3001
3002 Fixed bug where switch statements containing only a default case
3003 would lead to an unbalanced stack (issue 69).
3004
3005 Fixed bug that made access to the function in a named function
3006 expression impossible in certain situations (issue 24).
3007
3008 Fixed even more build issues.
3009
3010 Optimized calling conventions on ARM. The conventions on ARM and
3011 IA-32 now match.
3012
3013 Removed static initializers for flags and counters.
3014
3015 Improved inline caching behavior for uncommon cases where lazily
3016 loading Date and RegExp code could force certain code paths go
3017 megamorphic.
3018
3019 Removed arguments adaption for builtins written in C++. This
3020 makes Array.prototype.push and Array.prototype.pop slightly
3021 faster.
3022
3023
30242008-09-11: Version 0.3.1
3025
3026 Fixed a number of build issues.
3027
3028 Fixed problem with missing I-cache flusing on ARM.
3029
3030 Changed space layout in memory management by splitting up
3031 code space into old data space and code space.
3032
3033 Added utf-8 conversion support to the API (issue 57).
3034
3035 Optimized repeated calls to eval with the same strings. These
3036 repeated calls are common in web applications.
3037
3038 Added Xcode project file.
3039
3040 Optimized a couple of Array operation.
3041
3042 Fixed parser bug by checking for end-of-string when parsing break
3043 and continue (issue 35).
3044
3045 Fixed problem where asian characters were not categorized as
3046 letters.
3047
3048 Fixed bug that disallowed calling functions fetched from an array
3049 using a string as an array index (issue 32).
3050
3051 Fixed bug where the internal field count on object templates were
3052 sometimes ignored (issue 54).
3053
3054 Added -f option to the shell sample for compatibility with other
3055 engines (issue 18).
3056
3057 Added source info to TryCatches in the API.
3058
3059 Fixed problem where the seed for the random number generator was
3060 clipped in a double to unsigned int conversion.
3061
3062 Fixed bug where cons string symbols were sometimes converted to
3063 non-symbol flat strings during GC.
3064
3065 Fixed bug in error reporting when attempting to convert null to an
3066 object.
3067
3068
30692008-09-04: Version 0.3.0
3070
3071 Added support for running tests on the ARM simulator.
3072
3073 Fixed bug in the 'in' operator where negative indices were not
3074 treated correctly.
3075
3076 Fixed build issues on gcc-4.3.1.
3077
3078 Changed Date.prototype.toLocaleTimeString to not print the
3079 timezone part of the time.
3080
3081 Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
3082 with user code.
3083
3084
30852008-09-02: Version 0.2.5
3086
3087 Renamed the top level directory 'public' to 'include'.
3088
3089 Added 'env' option to the SCons build scripts to support
3090 overriding the ENV part of the build environment. This is mostly
3091 to support Windows builds in cases where SCons cannot find the
3092 correct paths to the Windows SDK, as these paths cannot be passed
3093 through shell environment variables.
3094
3095 Enabled "Buffer Security Check" on for the Windows SCons build and
3096 added the linker option /OPT:ICF as an optimization.
3097
3098 Added the V8 benchmark suite to the repository.
3099
3100
31012008-09-01: Version 0.2.4
3102
3103 Included mjsunit JavaScript test suite and C++ unit tests.
3104
3105 Changed the shell sample to not print the result of executing a
3106 script provided on the command line.
3107
3108 Fixed issue when building samples on Windows using a shared V8
3109 library. Added visibility option on Linux build which makes the
3110 generated library 18% smaller.
3111
3112 Changed build system to accept multiple build modes in one build
3113 and generate separate objects, libraries and executables for each
3114 mode.
3115
3116 Removed deferred negation optimization (a * -b => -(a * b)) since
3117 this visibly changes operand conversion order.
3118
3119 Improved parsing performance by introducing stack guard in
3120 preparsing. Without a stack guard preparsing always bails out
3121 with stack overflow.
3122
3123 Changed shell sample to take flags directly from the command-line.
3124 Added API call that implements this.
3125
3126 Added load, quit and version functions to the shell sample so it's
3127 easier to run benchmarks and tests.
3128
3129 Fixed issue with building samples and cctests on 64-bit machines.
3130
3131 Fixed bug in the runtime system where the prototype chain was not
3132 always searched for a setter when setting a property that does not
3133 exist locally.
3134
3135
31362008-08-14: Version 0.2.3
3137
3138 Improved performance of garbage collection by moving the
3139 function that updates pointers during compacting collection
3140 into the updating visitor. This gives the compiler a better
3141 chance to inline and avoid a function call per (potential)
3142 pointer.
3143
3144 Extended the shell sample with a --runtime-flags option.
3145
3146 Added Visual Studio project files for the shell.cc and
3147 process.cc samples.
3148
3149
31502008-08-13: Version 0.2.2
3151
3152 Improved performance of garbage collection by changing the way
3153 we use the marking stack in the event of stack overflow during
3154 full garbage collection and by changing the way we mark roots.
3155
3156 Cleaned up ARM version by removing top of stack caching and by
3157 introducing push/pop elimination.
3158
3159 Cleaned up the way runtime functions are called to allow
3160 runtime calls with no arguments.
3161
3162 Changed Windows build options to make sure that exceptions are
3163 disabled and that optimization flags are enabled.
3164
3165 Added first version of Visual Studio project files.
3166
3167
31682008-08-06: Version 0.2.1
3169
3170 Improved performance of unary addition by avoiding runtime calls.
3171
3172 Fixed the handling of '>' and '<=' to use right-to-left conversion
3173 and left-to-right evaluation as specified by ECMA-262.
3174
3175 Fixed a branch elimination bug on the ARM platform where incorrect
3176 code was generated because of overly aggressive branch
3177 elimination.
3178
3179 Improved performance of code that repeatedly assigns the same
3180 function to the same property of different objects with the same
3181 map.
3182
3183 Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler
3184 no longer expects DEBUG to be defined.
3185
3186 Added platform-nullos.cc to serve as the basis for new platform
3187 implementations.
3188
3189
31902008-07-30: Version 0.2.0
3191
3192 Changed all text files to have native svn:eol-style.
3193
3194 Added a few samples and support for building them. The samples
3195 include a simple shell that can be used to benchmark and test V8.
3196
3197 Changed V8::GetVersion to return the version as a string.
3198
3199 Added source for lazily loaded scripts to snapshots and made
3200 serialization non-destructive.
3201
3202 Improved ARM support by fixing the write barrier code to use
3203 aligned loads and stores and by removing premature locals
3204 optimization that relied on broken support for callee-saved
3205 registers (removed).
3206
3207 Refactored the code for marking live objects during garbage
3208 collection and the code for allocating objects in paged
3209 spaces. Introduced an abstraction for the map word of a heap-
3210 allocated object and changed the memory allocator to allocate
3211 executable memory only for spaces that may contain code objects.
3212
3213 Moved StringBuilder to utils.h and ScopedLock to platform.h, where
3214 they can be used by debugging and logging modules. Added
3215 thread-safe message queues for dealing with debugger events.
3216
3217 Fixed the source code reported by toString for certain builtin
3218 empty functions and made sure that the prototype property of a
3219 function is enumerable.
3220
3221 Improved performance of converting values to condition flags in
3222 generated code.
3223
3224 Merged disassembler-{arch} files.
3225
3226
32272008-07-28: Version 0.1.4
3228
3229 Added support for storing JavaScript stack traces in a stack
3230 allocated buffer to make it visible in shallow core dumps.
3231 Controlled by the --preallocate-message-memory flag which is
3232 disabled by default.
3233
3234
32352008-07-25: Version 0.1.3
3236
3237 Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
3238 map transitions would count as properties.
3239
3240 Allowed aliased eval invocations by treating them as evals in the
3241 global context. This may change in the future.
3242
3243 Added support for accessing the last entered context through the
3244 API and renamed Context::Current to Context::GetCurrent and
3245 Context::GetSecurityContext to Context::GetCurrentSecurityContext.
3246
3247 Fixed bug in the debugger that would cause the debugger scripts to
3248 be recursively loaded and changed all disabling of interrupts to
3249 be block-structured.
3250
3251 Made snapshot data read-only to allow it to be more easily shared
3252 across multiple users of V8 when linked as a shared library.
3253
3254
32552008-07-16: Version 0.1.2
3256
3257 Fixed building on Mac OS X by recognizing i386 and friends as
3258 IA-32 platforms.
3259
3260 Added propagation of stack overflow exceptions that occur while
3261 compiling nested functions.
3262
3263 Improved debugger with support for recursive break points and
3264 handling of exceptions that occur in the debugger JavaScript code.
3265
3266 Renamed GetInternal to GetInternalField and SetInternal to
3267 SetInternalField in the API and moved InternalFieldCount and
3268 SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
3269
3270
32712008-07-09: Version 0.1.1
3272
3273 Fixed bug in stack overflow check code for IA-32 targets where a
3274 non-tagged value in register eax was pushed to the stack.
3275
3276 Fixed potential quadratic behavior when converting strings to
3277 numbers.
3278
3279 Fixed bug where the return value from Object::SetProperty could
3280 end up being the property holder instead of the written value.
3281
3282 Improved debugger support by allowing nested break points and by
3283 dealing with stack-overflows when compiling functions before
3284 setting break points in them.
3285
3286
32872008-07-03: Version 0.1.0
3288
3289 Initial export.
3290
Ben Murdoch3fb3ca82011-12-02 17:19:32 +00003291# Local Variables:
3292# mode:text
3293# End: