blob: d42a2f1564de79a1db38463f93d0a9e3db35d7e0 [file] [log] [blame]
Emily Bernierd0a1eb72015-03-24 16:35:39 -040012015-01-07: Version 3.32.3
2
3 Performance and stability improvements on all platforms.
4
5
62015-01-07: Version 3.32.2
7
8 Performance and stability improvements on all platforms.
9
10
112015-01-07: Version 3.32.1
12
13 [turbofan] Don't crash when typing load from a Uint8ClampedArray
14 (Chromium issue 446156).
15
16 [turbofan] Truncation of Bit/Word8/16 to Word32 is a no-op (Chromium
17 issue 445859).
18
19 [x64] Rearrange code for OOB integer loads (Chromium issue 445858).
20
21 Fix %NeverOptimizeFunction() intrinsic (Chromium issue 445732).
22
23 [turbofan] Fix invalid bounds check with overflowing offset (Chromium
24 issue 445267).
25
26 [turbofan] Raise max virtual registers and call parameter limit (issue
27 3786).
28
29 Performance and stability improvements on all platforms.
30
31
322014-12-23: Version 3.31.74
33
34 [turbofan] Turn DCHECK for fixed slot index into a CHECK (Chromium issue
35 444681).
36
37 Performance and stability improvements on all platforms.
38
39
402014-12-23: Version 3.31.73
41
42 [turbofan] Fix missing ChangeUint32ToUint64 in lowering of LoadBuffer
43 (Chromium issue 444695).
44
45 Enable the embedder to specify what kind of context was disposed.
46
47 Performance and stability improvements on all platforms.
48
49
502014-12-22: Version 3.31.72
51
52 [turbofan] Correctify lowering of Uint8ClampedArray buffer access
53 (Chromium issue 444508).
54
55 Performance and stability improvements on all platforms.
56
57
582014-12-20: Version 3.31.71
59
60 Performance and stability improvements on all platforms.
61
62
632014-12-20: Version 3.31.70
64
65 Performance and stability improvements on all platforms.
66
67
682014-12-20: Version 3.31.69
69
70 Performance and stability improvements on all platforms.
71
72
732014-12-19: Version 3.31.68
74
75 [turbofan] Fix unsafe out-of-bounds check for checked loads/stores
76 (Chromium issue 443744).
77
78 Performance and stability improvements on all platforms.
79
80
812014-12-19: Version 3.31.67
82
83 Performance and stability improvements on all platforms.
84
85
862014-12-19: Version 3.31.66
87
88 Ship ES6 template literals (issue 3230).
89
90 Performance and stability improvements on all platforms.
91
92
932014-12-18: Version 3.31.65
94
95 ES6 template literals should not use legacy octal strings (issue 3736).
96
97 Performance and stability improvements on all platforms.
98
99
1002014-12-18: Version 3.31.64
101
102 Fixed -fsanitize=float-cast-overflow problems (issue 3773).
103
104 Performance and stability improvements on all platforms.
105
106
1072014-12-18: Version 3.31.63
108
109 ES6 computed property names (issue 3754).
110
111 Performance and stability improvements on all platforms.
112
113
1142014-12-17: Version 3.31.62
115
116 Performance and stability improvements on all platforms.
117
118
1192014-12-17: Version 3.31.61
120
121 ES6: Update unscopables to match spec (issue 3632).
122
123 ES6 computed property names (issue 3754).
124
125 More -fsanitize=vptr fixes (Chromium issue 441099).
126
127 [turbofan] Cache conversions inserted during typed lowering (issue
128 3763).
129
130 Performance and stability improvements on all platforms.
131
132
1332014-12-16: Version 3.31.60
134
135 Performance and stability improvements on all platforms.
136
137
1382014-12-16: Version 3.31.59
139
140 Performance and stability improvements on all platforms.
141
142
1432014-12-16: Version 3.31.58
144
145 Ship ES6 classes (issue 3330).
146
147 ES6 computed property names (issue 3754).
148
149 Performance and stability improvements on all platforms.
150
151
1522014-12-12: Version 3.31.57
153
154 Consistently use only one of virtual/OVERRIDE/FINAL (issue 3753).
155
156 Performance and stability improvements on all platforms.
157
158
1592014-12-12: Version 3.31.56
160
161 Performance and stability improvements on all platforms.
162
163
1642014-12-12: Version 3.31.55
165
166 Performance and stability improvements on all platforms.
167
168
1692014-12-11: Version 3.31.54
170
171 Implement Array.from() (issue 3336).
172
173 move v8_use_external_startup_data to standalone.gypi (Chromium issue
174 421063).
175
176 Performance and stability improvements on all platforms.
177
178
1792014-12-11: Version 3.31.53
180
181 Performance and stability improvements on all platforms.
182
183
1842014-12-11: Version 3.31.52
185
186 Ship ES6 block scoping (issue 2198).
187
188 Optimize Object.seal and Object.preventExtensions (issue 3662, Chromium
189 issue 115960).
190
191 Add Array.prototype.includes (issue 3575).
192
193 Performance and stability improvements on all platforms.
194
195
1962014-12-10: Version 3.31.51
197
198 [x64] Fix optimization for certain checked load/stores (Chromium issue
199 439743).
200
201 Performance and stability improvements on all platforms.
202
203
2042014-12-09: Version 3.31.50
205
206 Temporarily restore make dependencies.
207
208 Performance and stability improvements on all platforms.
209
210
2112014-12-09: Version 3.31.49
212
213 Performance and stability improvements on all platforms.
214
215
2162014-12-09: Version 3.31.48
217
218 Performance and stability improvements on all platforms.
219
220
2212014-12-09: Version 3.31.47
222
223 Temporarily restore make dependencies.
224
225 Performance and stability improvements on all platforms.
226
227
2282014-12-08: Version 3.31.46
229
230 Performance and stability improvements on all platforms.
231
232
2332014-12-08: Version 3.31.45
234
235 Update all DEPS to match chromium's DEPS at edb488e.
236
237 Turn on DCHECKs and other debugging code if dcheck_always_on is 1 (issue
238 3731).
239
240 Optimize GetPrototype.
241
242 Performance and stability improvements on all platforms.
243
244
2452014-12-05: Version 3.31.44
246
247 Performance and stability improvements on all platforms.
248
249
2502014-12-04: Version 3.31.43
251
252 ES6 template literals: Fix issue with template after rbrace (issue
253 3734).
254
255 Stage ES6 template literals (issue 3230).
256
257 Performance and stability improvements on all platforms.
258
259
2602014-12-04: Version 3.31.42
261
262 Performance and stability improvements on all platforms.
263
264
2652014-12-04: Version 3.31.41
266
267 Simplify template literal raw string creation (issue 3710).
268
269 Performance and stability improvements on all platforms.
270
271
2722014-12-03: Version 3.31.40
273
274 Performance and stability improvements on all platforms.
275
276
2772014-12-03: Version 3.31.39
278
279 Performance and stability improvements on all platforms.
280
281
2822014-12-03: Version 3.31.38
283
284 Stage ES6 classes and object literal extensions (issue 3330).
285
286 Fixed environment handling for LFlooringDivI on ARM (Chromium issue
287 437765).
288
289 Add GetIdentityHash to v8::Name object API (Chromium issue 437416).
290
291 Set V8_CC_GNU or V8_CC_MSVC for clang in gcc / cl mode (Chromium issue
292 82385).
293
294 Performance and stability improvements on all platforms.
295
296
2972014-12-02: Version 3.31.37
298
299 Performance and stability improvements on all platforms.
300
301
3022014-12-02: Version 3.31.36
303
304 Set V8_CC_GNU or V8_CC_MSVC for clang in gcc / cl mode (Chromium issue
305 82385).
306
307 Performance and stability improvements on all platforms.
308
309
3102014-12-02: Version 3.31.35
311
312 Performance and stability improvements on all platforms.
313
314
3152014-12-01: Version 3.31.34
316
317 Performance and stability improvements on all platforms.
318
319
3202014-12-01: Version 3.31.33
321
322 Performance and stability improvements on all platforms.
323
324
3252014-12-01: Version 3.31.32
326
327 Performance and stability improvements on all platforms.
328
329
3302014-12-01: Version 3.31.31
331
332 Performance and stability improvements on all platforms.
333
334
3352014-11-29: Version 3.31.30
336
337 Performance and stability improvements on all platforms.
338
339
3402014-11-28: Version 3.31.29
341
342 Stage @@toStringTag (--harmony-tostring).
343
344 Performance and stability improvements on all platforms.
345
346
3472014-11-28: Version 3.31.28
348
349 Performance and stability improvements on all platforms.
350
351
3522014-11-28: Version 3.31.27
353
354 Ship harmony-strings.
355
356 Performance and stability improvements on all platforms.
357
358
3592014-11-28: Version 3.31.26
360
361 Abort optimization in corner case (Chromium issue 436893).
362
363 Performance and stability improvements on all platforms.
364
365
3662014-11-26: Version 3.31.25
367
368 Stage ES6 block scoping (issue 2198).
369
370 Introduce legacy const slots in correct context (Chromium issue 410030).
371
372 Performance and stability improvements on all platforms.
373
374
3752014-11-26: Version 3.31.24
376
377 Performance and stability improvements on all platforms.
378
379
3802014-11-25: Version 3.31.23
381
382 Performance and stability improvements on all platforms.
383
384
3852014-11-25: Version 3.31.22
386
387 Performance and stability improvements on all platforms.
388
389
3902014-11-24: Version 3.31.21
391
392 Performance and stability improvements on all platforms.
393
394
3952014-11-24: Version 3.31.20
396
397 Performance and stability improvements on all platforms.
398
399
4002014-11-22: Version 3.31.19
401
402 Performance and stability improvements on all platforms.
403
404
4052014-11-21: Version 3.31.18
406
407 Performance and stability improvements on all platforms.
408
409
4102014-11-21: Version 3.31.17
411
412 Performance and stability improvements on all platforms.
413
414
4152014-11-21: Version 3.31.16
416
417 Cache template literal callSiteObj (issue 3230).
418
419 Rename String.prototype.contains to 'includes'.
420
421 Reserve code range block for evacuation (Chromium issue 430118).
422
423 Performance and stability improvements on all platforms.
424
425
4262014-11-20: Version 3.31.15
427
428 Rename String.prototype.contains to 'includes'.
429
430 Performance and stability improvements on all platforms.
431
432
4332014-11-19: Version 3.31.14
434
435 Remove Weak{Map,Set}.prototype.clear.
436
437 Performance and stability improvements on all platforms.
438
439
4402014-11-19: Version 3.31.13
441
442 Performance and stability improvements on all platforms.
443
444
4452014-11-19: Version 3.31.12
446
447 Classes: Expand test to cover strict runtime behavior (issue 3330).
448
449 v8::String::Concat must not throw (Chromium issue 420240).
450
451 Fix disabling all break points from within the debug event callback
452 (Chromium issue 432493).
453
454 Performance and stability improvements on all platforms.
455
456
4572014-11-18: Version 3.31.11
458
459 Performance and stability improvements on all platforms.
460
461
4622014-11-17: Version 3.31.10
463
464 Performance and stability improvements on all platforms.
465
466
4672014-11-17: Version 3.31.9
468
469 Expose internal properties of map/set iterators via mirrors.
470
471 Performance and stability improvements on all platforms.
472
473
4742014-11-17: Version 3.31.8
475
476 Performance and stability improvements on all platforms.
477
478
4792014-11-15: Version 3.31.7
480
481 Classes: Add support for stepping through default constructors (issue
482 3674).
483
484 Performance and stability improvements on all platforms.
485
486
4872014-11-14: Version 3.31.6
488
489 Fix desugaring of let bindings in for loops to handle continue properly
490 (issue 3683).
491
492 Performance and stability improvements on all platforms.
493
494
4952014-11-14: Version 3.31.5
496
497 Classes: Implement correct name binding (issue 3330).
498
499 Performance and stability improvements on all platforms.
500
501
5022014-11-14: Version 3.31.4
503
504 Performance and stability improvements on all platforms.
505
506
5072014-11-14: Version 3.31.3
508
509 Classes: Cleanup default constructor flag.
510
511 Soft fail for invalid cache data.
512
513 Implement .of() on typed arrays (issue 3578).
514
515 Performance and stability improvements on all platforms.
516
517
5182014-11-13: Version 3.31.2
519
520 MIPS: Leaving a generator via an exception causes it to close (issue
521 3096).
522
523 MIPS: ES6: Add support for super in object literals (issue 3571).
524
525 Increase the target new space size to the max new space size (issue
526 3626).
527
528 Leaving a generator via an exception causes it to close (issue 3096).
529
530 Correctly compute line numbers in functions from the function
531 constructor (Chromium issue 109362).
532
533 Rename v8::Exception::GetMessage to CreateMessage.
534
535 Classes: Add support for arguments in default constructor (issue 3672).
536
537 ES6: Add support for super in object literals (issue 3571).
538
539 Performance and stability improvements on all platforms.
540
541
5422014-11-12: Version 3.31.1
543
544 Fix has_constant_parameter_count() confusion in LReturn (Chromium issue
545 431602).
546
547 Performance and stability improvements on all platforms.
548
549
5502014-11-05: Version 3.30.33
551
552 `1..isPrototypeOf.call(null)` should return false, not throw TypeError
553 (issue 3483).
554
555 Refactor ObjectGetOwnPropertyKeys to accept bitmask rather than boolean
556 (issue 3549).
557
558 Add debug mirror support for ES6 Map/Set iterators (Chromium issue
559 427868).
560
561 Performance and stability improvements on all platforms.
562
563
5642014-11-04: Version 3.30.30
565
566 Performance and stability improvements on all platforms.
567
568
5692014-11-02: Version 3.30.27
570
571 Performance and stability improvements on all platforms.
572
573
5742014-11-02: Version 3.30.26
575
576 Performance and stability improvements on all platforms.
577
578
5792014-11-01: Version 3.30.25
580
581 Performance and stability improvements on all platforms.
582
583
5842014-11-01: Version 3.30.24
585
586 Ensure we don't try to inline raw access to indexed interceptor
587 receivers (Chromium issue 419220).
588
589 Performance and stability improvements on all platforms.
590
591
5922014-10-31: Version 3.30.23
593
594 Introduce v8::Exception::GetMessage to find location of an error object
595 (Chromium issue 427954).
596
597 Performance and stability improvements on all platforms.
598
599
6002014-10-30: Version 3.30.22
601
602 MIPS: Classes: Add super support in methods and accessors (issue 3330).
603
604 Classes: Add super support in methods and accessors (issue 3330).
605
606 Performance and stability improvements on all platforms.
607
608
6092014-10-29: Version 3.30.21
610
611 MIPS: Classes: Add basic support for properties (issue 3330).
612
613 Classes: Add more tests for prototype edge cases (Chromium issue 3655).
614
615 Classes: Add test for method prototype (issue 3330).
616
617 Get stack trace for uncaught exceptions/promise rejections from the
618 simple stack when available.
619
620 Classes: Add basic support for properties (issue 3330).
621
622 Allow duplicate property names in classes (issue 3570).
623
624 Windows: use SystemTimeToTzSpecificLocalTime instead of localtime_s
625 (Chromium issue 417640).
626
627 Performance and stability improvements on all platforms.
628
629
6302014-10-28: Version 3.30.20
631
632 Performance and stability improvements on all platforms.
633
634
6352014-10-27: Version 3.30.19
636
637 Check string literals with escapes in PreParserTraits::GetSymbol()
638 (issue 3606).
639
640 only define ARRAYSIZE_UNSAFE for NaCl builds (Chromium issue 405225).
641
642 Performance and stability improvements on all platforms.
643
644
6452014-10-24: Version 3.30.18
646
647 Narrow cases where Sparse/Smart versions of Array methods are used
648 (issues 2615, 3612, 3621).
649
650 Shrink new space in idle notification (Chromium issue 424423).
651
652 Performance and stability improvements on all platforms.
653
654
6552014-10-23: Version 3.30.17
656
657 ARM64: Fix stack manipulation (Chromium issue 425585).
658
659 Speed up creation of Objects whose prototype has dictionary elements
660 (Chromium issue 422754).
661
662 Enable libstdc++ debug mode in debug builds (issue 3638).
663
664 Performance and stability improvements on all platforms.
665
666
6672014-10-22: Version 3.30.16
668
669 Remove v8stdint.h, it doesn't serve a purpose anymore.
670
671 Performance and stability improvements on all platforms.
672
673
6742014-10-21: Version 3.30.15
675
676 Avoid the Marsaglia effect in 3D (Chromium issue 423311).
677
678 Performance and stability improvements on all platforms.
679
680
6812014-10-20: Version 3.30.14
682
683 Performance and stability improvements on all platforms.
684
685
6862014-10-17: Version 3.30.13
687
688 Don't expose Array.prototype.values as it breaks webcompat (Chromium
689 issue 409858).
690
691 Fix break location calculation (Chromium issue 419663).
692
693 Enable libstdc++ debug mode in debug builds (issue 3638).
694
695 Performance and stability improvements on all platforms.
696
697
6982014-10-17: Version 3.30.12
699
700 Implement .forEach() on typed arrays (issue 3578).
701
702 Introduce v8::Exception::GetStackTrace API method.
703
704 Remove SmartMove, bringing Array methods further into spec compliance
705 (issue 2615).
706
707 Convert argument toObject() in Object.getOwnPropertyNames/Descriptors
708 (issue 3443).
709
710 Performance and stability improvements on all platforms.
711
712
7132014-10-15: Version 3.30.11
714
715 Array.prototype.{every, filter, find, findIndex, forEach, map, some}:
716 Use fresh primitive wrapper for calls (issue 3536).
717
718 Correctly expand literal buffer for surrogate pairs (Chromium issue
719 423212).
720
721 Performance and stability improvements on all platforms.
722
723
7242014-10-15: Version 3.30.10
725
726 Squeeze the layout of various AST node types (Chromium issue 417697).
727
728 Performance and stability improvements on all platforms.
729
730
7312014-10-14: Version 3.30.9
732
733 Performance and stability improvements on all platforms.
734
735
7362014-10-13: Version 3.30.8
737
738 AST nodes have at most one bailout/typefeedback ID now, saving lots of
739 memory (Chromium issue 417697).
740
741 Allow identifier code points from supplementary multilingual planes
742 (issue 3617).
743
744 Performance and stability improvements on all platforms.
745
746
7472014-10-10: Version 3.30.7
748
749 Fix computation of UTC time from local time at DST change points (issue
750 3116, Chromium issues 415424, 417640).
751
752 Convert `obj` ToObject in Object.keys() (issue 3587).
753
754 Performance and stability improvements on all platforms.
755
756
7572014-10-09: Version 3.30.6
758
759 Update unicode to 7.0.0 (issue 2892).
760
761 Classes: Add support for toString (issue 3330).
762
763 Don't enable WPO on Win64 and require Server 2003 / x64 for win64
764 (Chromium issue 421363).
765
766 Performance and stability improvements on all platforms.
767
768
7692014-10-08: Version 3.30.5
770
771 Performance and stability improvements on all platforms.
772
773
7742014-10-08: Version 3.30.4
775
776 This uses a runtime function to set up the the constructor and its
777 prototype (issue 3330).
778
779 Remove PersistentBase::ClearAndLeak.
780
781 Squeeze the layout of variable proxy nodes (Chromium issue 417697).
782
783 Add MonotonicallyIncreasingTime to V8 Platform (Chromium issue 417668).
784
785 Fix representation of HLoadRoot (Chromium issue 419036).
786
787 Performance and stability improvements on all platforms.
788
789
7902014-10-03: Version 3.30.3
791
792 Removed the Isolate* field from literal nodes (Chromium issue 417697).
793
794 Squeeze the layout of expression nodes a bit (Chromium issue 417697).
795
796 Merged FeedbackSlotInterface into AstNode, removing the need for a 2nd
797 vtable (Chromium issue 417697).
798
799 Extend CPU profiler with mapping ticks to source lines.
800
801 Remove support for parallel sweeping.
802
803 Introduce v8::Object::GetIsolate().
804
805 Performance and stability improvements on all platforms.
806
807
8082014-10-02: Version 3.30.2
809
810 Fix Hydrogen's BuildStore() (Chromium issue 417508).
811
812 Move unit tests to test/unittests (issue 3489).
813
814 Changes to ALLOW_UNUSED to match upcoming changes to the Chromium trunk:
815 * Eliminate usage of ALLOW_UNUSED to define COMPILE_ASSERT and just use
816 static_assert() in all cases now that all platforms build with C++11. *
817 Convert remaining uses of ALLOW_UNUSED to ALLOW_UNUSED_TYPE to match how
818 Chromium will be splitting this functionality. (In Chromium we'll have
819 both ALLOW_UNUSED_TYPE and ALLOW_UNUSED_LOCAL, which have different
820 syntax to enable us to use these with MSVC.) (Chromium issue 81439).
821
822 Performance and stability improvements on all platforms.
823
824
8252014-10-01: Version 3.30.1
826
827 Introduce PromiseRejectCallback (issue 3093).
828
829 ES6: Implement object literal property shorthand (issue 3584).
830
831 Performance and stability improvements on all platforms.
832
833
8342014-09-30: Version 3.29.93
835
836 Add a getter for the address and size of the code range to the pulic API
837 (issue 3598).
838
839 Convert `obj` ToObject in Object.keys() (issue 3587).
840
841 Performance and stability improvements on all platforms.
842
843
8442014-09-29: Version 3.29.92
845
846 Performance and stability improvements on all platforms.
847
848
8492014-09-26: Version 3.29.91
850
851 Performance and stability improvements on all platforms.
852
853
Ben Murdochb8a8cc12014-11-26 15:28:44 +00008542014-09-25: Version 3.29.88
855
856 Performance and stability improvements on all platforms.
857
858
8592014-09-24: Version 3.29.87
860
861 Preserve message when rethrowing exception (issue 3583).
862
863 Fix escaped index JSON parsing (Chromium issue 416449).
864
865 Performance and stability improvements on all platforms.
866
867
8682014-09-23: Version 3.29.84
869
870 Performance and stability improvements on all platforms.
871
872
8732014-09-23: Version 3.29.83
874
875 Performance and stability improvements on all platforms.
876
877
8782014-09-23: Version 3.29.82
879
880 Fix escaped index JSON parsing (Chromium issue 416449).
881
882 Performance and stability improvements on all platforms.
883
884
8852014-09-17: Version 3.29.70
886
887 Enable ES6 generators (issue 2355).
888
889 Fixed int vs. uintptr_t confusion (plus some cleanup on the way) (issue
890 3556).
891
892 Move configuration of ResourceConstraints to Isolate construction.
893
894 Performance and stability improvements on all platforms.
895
896
8972014-09-16: Version 3.29.66
898
899 Currently, a new isolate is created in an uninitialized state, and
900 several API methods will automatically initialize it. During this
901 uninitialized state, code event handlers and function entry handlers can
902 be attached to the isolate.
903
904 Performance and stability improvements on all platforms.
905
906
9072014-09-15: Version 3.29.64
908
909 ES6: String(symbol) should work like symbol.toString (issue 3554).
910
911 Arrow functions: Cleanup handling of the prototype property (issue
912 2700).
913
914 Remove V8_HOST_CAN_READ_UNALIGNED and its uses (Chromium issue 412967).
915
916 Fix Smi vs. HeapObject confusion in HConstants (Chromium issue 412215).
917
918 Performance and stability improvements on all platforms.
919
920
9212014-09-12: Version 3.29.59
922
923 Do not use wide reads in CopyCharsUnsigned (Chromium issue 412967).
924
925 Fix inaccurate type condition in Hydrogen (Chromium issue 412210).
926
927 Fix crash in ScriptDebugServer::wrapCallFrames (Chromium issue 411196).
928
929 Performance and stability improvements on all platforms.
930
931
9322014-09-11: Version 3.29.57
933
934 ES6: Add support for method shorthand in object literals (issue 3516).
935
936 Unbreak FreeBSD build (hopefully) (issue 3548).
937
938 Performance and stability improvements on all platforms.
939
940
9412014-09-09: Version 3.29.53
942
943 Performance and stability improvements on all platforms.
944
945
9462014-09-08: Version 3.29.50
947
948 Allocate a new empty number dictionary when resetting elements (Chromium
949 issue 410332).
950
951 Performance and stability improvements on all platforms.
952
953
9542014-09-05: Version 3.29.43
955
956 Enforce correct number comparisons when inlining Array.indexOf (Chromium
957 issue 407946).
958
959 Performance and stability improvements on all platforms.
960
961
9622014-09-04: Version 3.29.41
963
964 Performance and stability improvements on all platforms.
965
966
9672014-09-03: Version 3.29.40
968
969 Use correct receiver for DOM accessors on the prototype chain (issue
970 3538).
971
972 Performance and stability improvements on all platforms.
973
974
9752014-09-02: Version 3.29.38
976
977 Do not clear weak monomorphic IC after context disposal (Chromium issue
978 404020).
979
980 Turn on job-based sweeping (issue 3104).
981
982 Performance and stability improvements on all platforms.
983
984
9852014-09-01: Version 3.29.35
986
987 Performance and stability improvements on all platforms.
988
989
9902014-08-29: Version 3.29.29
991
992 Performance and stability improvements on all platforms.
993
994
9952014-08-28: Version 3.29.27
996
997 Performance and stability improvements on all platforms.
998
999
10002014-08-28: Version 3.29.25
1001
1002 Performance and stability improvements on all platforms.
1003
1004
10052014-08-28: Version 3.29.24
1006
1007 Tweaks to generate XP-compatible .exes (Chromium issue 407517).
1008
1009 Performance and stability improvements on all platforms.
1010
1011
10122014-08-28: Version 3.29.23
1013
1014 Performance and stability improvements on all platforms.
1015
1016
10172014-08-27: Version 3.29.20
1018
1019 Handle empty allocation list in CodeRange properly (issue 3540, Chromium
1020 issue 407566).
1021
1022 Fixed inlining of constant values (issue 3529).
1023
1024 Performance and stability improvements on all platforms.
1025
1026
10272014-08-25: Version 3.29.17
1028
1029 Performance and stability improvements on all platforms.
1030
1031
10322014-08-24: Version 3.29.16
1033
1034 Fix issue with numeric property names (issue 3507).
1035
1036 Add back the duplicate property checker (issue 3498).
1037
1038 Performance and stability improvements on all platforms.
1039
1040
10412014-08-22: Version 3.29.14
1042
1043 Don't inline Array.shift() if receiver map is not extensible (Chromium
1044 issue 405517).
1045
1046 Performance and stability improvements on all platforms.
1047
1048
10492014-08-21: Version 3.29.11
1050
1051 Refactor ParseObjectLiteral.
1052
1053 Support symbol-named properties in API (issue 3394).
1054
1055 Suppress test262 test that tests duplicate properties.
1056
1057 ES6: Duplicate properties are no longer an error (issue 3498).
1058
1059 Expose function CheckDebugBreak in the debugger api.
1060
1061 Remove RegExp.$input (issue 3486).
1062
1063 Performance and stability improvements on all platforms.
1064
1065
10662014-08-21: Version 3.29.10
1067
1068 ES6: Make sure we do not store -0 as the key in Map/Set (issue 3515).
1069
1070 Remove removed flags from tests.
1071
1072 Expose well-known Symbols to C++ API (Chromium issue 341423).
1073
1074 Implement ES6 Array.of() (issue 3427).
1075
1076 Performance and stability improvements on all platforms.
1077
1078
10792014-08-20: Version 3.29.9
1080
1081 Correctly handle holes when concat()ing double arrays (Chromium issue
1082 403409).
1083
1084 [turbofan] Refactor the InstructionSelector tests (issue 3489).
1085
1086 ES6: Make Map/Set constructors support iterable values (issue 3508).
1087
1088 WeakMap/WeakSet: Add test for non object keys (issue 3399).
1089
1090 Performance and stability improvements on all platforms.
1091
1092
10932014-08-12: Version 3.28.71
1094
1095 ToNumber(Symbol) should throw TypeError (issue 3499).
1096
1097 Performance and stability improvements on all platforms.
1098
1099
11002014-08-11: Version 3.28.69
1101
1102 Performance and stability improvements on all platforms.
1103
1104
11052014-08-09: Version 3.28.65
1106
1107 Performance and stability improvements on all platforms.
1108
1109
11102014-08-08: Version 3.28.64
1111
1112 ES6: Implement WeakMap and WeakSet constructor logic (issue 3399).
1113
1114 Enable ES6 unscopables (issue 3401).
1115
1116 Turn on harmony_unscopables for es_staging (issue 3401).
1117
1118 Remove proxies from --harmony switch for M38, because problems.
1119
1120 Reland "Add initial support for compiler unit tests using GTest/GMock."
1121 (issue 3489).
1122
1123 Enable ES6 iteration by default (issue 2214).
1124
1125 Performance and stability improvements on all platforms.
1126
1127
11282014-08-07: Version 3.28.62
1129
1130 Only escape U+0022 in argument values of `String.prototype` HTML methods
1131 (issue 2217).
1132
1133 Update webkit test for expected own properties.
1134
1135 This implements unscopables (issue 3401).
1136
1137 Add `CheckObjectCoercible` for the `String.prototype` HTML methods
1138 (issue 2218).
1139
1140 Add initial support for compiler unit tests using GTest/GMock (issue
1141 3489).
1142
1143 Trigger exception debug events on Promise reject (Chromium issue
1144 393913).
1145
1146 Refactor unit tests for the base library to use GTest (issue 3489).
1147
1148 Performance and stability improvements on all platforms.
1149
1150
11512014-08-06: Version 3.28.60
1152
1153 Enable ES6 Map and Set by default (issue 1622).
1154
1155 Performance and stability improvements on all platforms.
1156
1157
11582014-08-06: Version 3.28.59
1159
1160 Removed GetConstructor from the API. Instead either get the
1161 "constructor" property stored in the prototype, or keep a side-table.
1162
1163 Enable ES6 Symbols by default (issue 2158).
1164
1165 Performance and stability improvements on all platforms.
1166
1167
11682014-08-05: Version 3.28.57
1169
1170 Add dependencies on gtest and gmock.
1171
1172 Performance and stability improvements on all platforms.
1173
1174
11752014-08-04: Version 3.28.54
1176
1177 Performance and stability improvements on all platforms.
1178
1179
11802014-08-01: Version 3.28.53
1181
1182 Performance and stability improvements on all platforms.
1183
1184
11852014-07-31: Version 3.28.52
1186
1187 Performance and stability improvements on all platforms.
1188
1189
11902014-07-31: Version 3.28.51
1191
1192 Drop deprecated memory related notification API (Chromium issue 397026).
1193
1194 Performance and stability improvements on all platforms.
1195
1196
11972014-07-31: Version 3.28.50
1198
1199 Use emergency memory in the case of out of memory during evacuation
1200 (Chromium issue 395314).
1201
1202 Performance and stability improvements on all platforms.
1203
1204
12052014-07-30: Version 3.28.48
1206
1207 Fix Object.freeze with field type tracking. Keep the descriptor properly
1208 intact while update the field type (issue 3458).
1209
1210 Performance and stability improvements on all platforms.
1211
1212
12132014-07-29: Version 3.28.45
1214
1215 Performance and stability improvements on all platforms.
1216
1217
12182014-07-28: Version 3.28.43
1219
1220 Performance and stability improvements on all platforms.
1221
1222
12232014-07-25: Version 3.28.38
1224
1225 Fix issue with setters and their holders in accessors.cc (Chromium issue
1226 3462).
1227
1228 Introduce more debug events for promises (issue 3093).
1229
1230 Move gc notifications from V8 to Isolate and make idle hint mandatory
1231 (Chromium issue 397026).
1232
1233 The accessors should get the value from the holder and not from this
1234 (issue 3461).
1235
1236 Performance and stability improvements on all platforms.
1237
1238
12392014-07-24: Version 3.28.35
1240
1241 Rebaseline/update the intl tests with ICU 52 (issue 3454).
1242
1243 Expose the content of Sets and WeakSets through SetMirror (issue 3093).
1244
1245 Performance and stability improvements on all platforms.
1246
1247
12482014-07-23: Version 3.28.32
1249
1250 Update ICU to 5.2 (matching chromium) (issue 3452).
1251
1252 Performance and stability improvements on all platforms.
1253
1254
12552014-07-22: Version 3.28.31
1256
1257 Remove harmony-typeof.
1258
1259 Implement String.prototype.codePointAt and String.fromCodePoint (issue
1260 2840).
1261
1262 Performance and stability improvements on all platforms.
1263
1264
12652014-07-21: Version 3.28.30
1266
1267 Performance and stability improvements on all platforms.
1268
1269
12702014-07-21: Version 3.28.29
1271
1272 Performance and stability improvements on all platforms.
1273
1274
12752014-07-18: Version 3.28.28
1276
1277 Performance and stability improvements on all platforms.
1278
1279
12802014-07-17: Version 3.28.26
1281
1282 Ship ES6 Math functions (issue 2938).
1283
1284 Make ToPrimitive throw on symbol wrappers (issue 3442).
1285
1286 Performance and stability improvements on all platforms.
1287
1288
12892014-07-16: Version 3.28.25
1290
1291 Performance and stability improvements on all platforms.
1292
1293
12942014-07-16: Version 3.28.24
1295
1296 Removed some copy-n-paste from StackFrame::Foo API entries (issue 3436).
1297
1298 Performance and stability improvements on all platforms.
1299
1300
13012014-07-15: Version 3.28.23
1302
1303 Fix error message about read-only symbol properties (issue 3441).
1304
1305 Include symbol properties in Object.{create,defineProperties} (issue
1306 3440).
1307
1308 Performance and stability improvements on all platforms.
1309
1310
13112014-07-14: Version 3.28.22
1312
1313 Performance and stability improvements on all platforms.
1314
1315
13162014-07-11: Version 3.28.21
1317
1318 Make `let` usable as an identifier in ES6 sloppy mode (issue 2198).
1319
1320 Support ES6 Map and Set in heap profiler (issue 3368).
1321
1322 Performance and stability improvements on all platforms.
1323
1324
13252014-07-10: Version 3.28.20
1326
1327 Remove deprecate counter/histogram methods.
1328
1329 Fixed printing of external references (Chromium issue 392068).
1330
1331 Fix several issues with ES6 redeclaration checks (issue 3426).
1332
1333 Performance and stability improvements on all platforms.
1334
1335
13362014-07-09: Version 3.28.19
1337
1338 Performance and stability improvements on all platforms.
1339
1340
13412014-07-09: Version 3.28.18
1342
1343 Reland "Postpone termination exceptions in debug scope." (issue 3408).
1344
1345 Performance and stability improvements on all platforms.
1346
1347
13482014-07-08: Version 3.28.17
1349
1350 MIPS: Fix computed properties on object literals with a double as
1351 propertyname (Chromium issue 390732).
1352
1353 Performance and stability improvements on all platforms.
1354
1355
13562014-07-08: Version 3.28.16
1357
1358 Fix computed properties on object literals with a double as propertyname
1359 (Chromium issue 390732).
1360
1361 Avoid brittle use of .bind in Promise.all (issue 3420).
1362
1363 Performance and stability improvements on all platforms.
1364
1365
13662014-07-07: Version 3.28.15
1367
1368 Remove a bunch of Isolate::UncheckedCurrent calls.
1369
1370 Performance and stability improvements on all platforms.
1371
1372
13732014-07-07: Version 3.28.14
1374
1375 Use the HeapObjectIterator to scan-on-scavenge map pages (Chromium issue
1376 390732).
1377
1378 Introduce debug events for Microtask queue (Chromium issue 272416).
1379
1380 Split out libplatform into a separate libary.
1381
1382 Add clang-format to presubmit checks.
1383
1384 Stack traces exposed to Javascript should omit extensions (issue 311).
1385
1386 Remove deprecated v8::Context::HasOutOfMemoryException.
1387
1388 Postpone termination exceptions in debug scope (issue 3408).
1389
1390 Performance and stability improvements on all platforms.
1391
1392
13932014-07-04: Version 3.28.13
1394
1395 Rollback to r22134.
1396
1397
13982014-07-04: Version 3.28.12
1399
1400 Use the HeapObjectIterator to scan-on-scavenge map pages (Chromium issue
1401 390732).
1402
1403 Introduce debug events for Microtask queue (Chromium issue 272416).
1404
1405 Performance and stability improvements on all platforms.
1406
1407
14082014-07-03: Version 3.28.11
1409
1410 Split out libplatform into a separate libary.
1411
1412 Performance and stability improvements on all platforms.
1413
1414
14152014-07-03: Version 3.28.10
1416
1417 Add clang-format to presubmit checks.
1418
1419 Stack traces exposed to Javascript should omit extensions (issue 311).
1420
1421 Remove deprecated v8::Context::HasOutOfMemoryException.
1422
1423 Postpone termination exceptions in debug scope (issue 3408).
1424
1425 Performance and stability improvements on all platforms.
1426
1427
14282014-07-02: Version 3.28.9
1429
1430 Make freeze & friends ignore private properties (issue 3419).
1431
1432 Introduce a builddeps make target (issue 3418).
1433
1434 Performance and stability improvements on all platforms.
1435
1436
14372014-07-01: Version 3.28.8
1438
1439 Remove static initializer from isolate.
1440
1441 ES6: Add missing Set.prototype.keys function (issue 3411).
1442
1443 Introduce debug events for promises (issue 3093).
1444
1445 Performance and stability improvements on all platforms.
1446
1447
14482014-06-30: Version 3.28.7
1449
1450 Performance and stability improvements on all platforms.
1451
1452
14532014-06-30: Version 3.28.6
1454
1455 Unbreak "os" stuff in shared d8 builds (issue 3407).
1456
1457 Performance and stability improvements on all platforms.
1458
1459
14602014-06-26: Version 3.28.4
1461
1462 Compile optimized code with active debugger but no break points
1463 (Chromium issue 386492).
1464
1465 Optimize Map/Set.prototype.forEach.
1466
1467 Collect garbage with kReduceMemoryFootprintMask in IdleNotification
1468 (Chromium issue 350720).
1469
1470 Performance and stability improvements on all platforms.
1471
1472
14732014-06-26: Version 3.28.3
1474
1475 Grow heap slower if GC freed many global handles (Chromium issue
1476 263503).
1477
1478 Performance and stability improvements on all platforms.
1479
1480
14812014-06-25: Version 3.28.2
1482
1483 Remove bogus assertions in HCompareObjectEqAndBranch (Chromium issue
1484 387636).
1485
1486 Do not eagerly update allow_osr_at_loop_nesting_level (Chromium issue
1487 387599).
1488
1489 Set host_arch to ia32 on machines with a 32bit userland but a 64bit
1490 kernel (Chromium issue 368384).
1491
1492 Map/Set: Implement constructor parameter handling (issue 3398).
1493
1494 Performance and stability improvements on all platforms.
1495
1496
14972014-06-24: Version 3.28.1
1498
1499 Support LiveEdit on Arm64 (Chromium issue 368580).
1500
1501 Run JS micro tasks in the appropriate context (Chromium issue 385349).
1502
1503 Add a use counter API.
1504
1505 Set host_arch to ia32 on machines with a 32bit userland but a 64bit
1506 kernel.
1507
1508 Performance and stability improvements on all platforms.
1509
1510
15112014-06-23: Version 3.28.0
1512
1513 MIPS: Support LiveEdit (Chromium issue 368580).
1514
1515 Array.concat: properly go to dictionary mode when required (Chromium
1516 issue 387031).
1517
1518 Support LiveEdit on ARM (Chromium issue 368580).
1519
1520 Performance and stability improvements on all platforms.
1521
1522
15232014-06-18: Version 3.27.34
1524
1525 Reduce number of writes to DependentCode array when inserting dependent
1526 IC (Chromium issue 305878).
1527
1528 Performance and stability improvements on all platforms.
1529
1530
15312014-06-17: Version 3.27.33
1532
1533 Do GC if CodeRange fails to allocate a block (Chromium issue 305878).
1534
1535 Throw syntax error when a getter/setter has the wrong number of params
1536 (issue 3371).
1537
1538 Performance and stability improvements on all platforms.
1539
1540
15412014-06-17: Version 3.27.32
1542
1543 Performance and stability improvements on all platforms.
1544
1545
15462014-06-16: Version 3.27.31
1547
1548 Version fix.
1549
1550
15512014-06-16: Version 3.27.30
1552
1553 Fix representation of Phis for mutable-heapnumber-in-object-literal
1554 properties (issue 3392).
1555
1556 Performance and stability improvements on all platforms.
1557
1558
15592014-06-16: Version 3.27.29
1560
1561 Emulate MLS on pre-ARMv6T2. Cleaned up thumbee vs. thumb2 confusion.
1562
1563 X87: Fixed flooring division by a power of 2, once again.. (issue 3259).
1564
1565 Fixed undefined behavior in RNG (Chromium issue 377790).
1566
1567 Performance and stability improvements on all platforms.
1568
1569
15702014-06-13: Version 3.27.28
1571
1572 Add v8::Promise::Then (Chromium issue 371288).
1573
1574 Performance and stability improvements on all platforms.
1575
1576
15772014-06-12: Version 3.27.27
1578
1579 Fix detection of VFP3D16 on Galaxy Tab 10.1 (issue 3387).
1580
1581 Performance and stability improvements on all platforms.
1582
1583
15842014-06-12: Version 3.27.26
1585
1586 MIPS: Fixed flooring division by a power of 2, once again.. (issue
1587 3259).
1588
1589 Fixed flooring division by a power of 2, once again.. (issue 3259).
1590
1591 Fix unsigned comparisons (issue 3380).
1592
1593 Performance and stability improvements on all platforms.
1594
1595
15962014-06-11: Version 3.27.25
1597
1598 Performance and stability improvements on all platforms.
1599
1600
16012014-06-11: Version 3.27.24
1602
1603 Fix invalid attributes when generalizing because of incompatible map
1604 change (Chromium issue 382143).
1605
1606 Fix missing smi check in inlined indexOf/lastIndexOf (Chromium issue
1607 382513).
1608
1609 Performance and stability improvements on all platforms.
1610
1611
16122014-06-06: Version 3.27.23
1613
1614 Performance and stability improvements on all platforms.
1615
1616
16172014-06-06: Version 3.27.22
1618
1619 Performance and stability improvements on all platforms.
1620
1621
16222014-06-06: Version 3.27.21
1623
1624 Turn on harmony_collections for es_staging (issue 1622).
1625
1626 Do not make heap iterable eagerly (Chromium issue 379740).
1627
1628 Performance and stability improvements on all platforms.
1629
1630
16312014-06-05: Version 3.27.20
1632
1633 Fix invalid loop condition for Array.lastIndexOf() (Chromium issue
1634 380512).
1635
1636 Add API support for passing a C++ function as a microtask callback.
1637
1638 Performance and stability improvements on all platforms.
1639
1640
16412014-06-04: Version 3.27.19
1642
1643 Split Put into Put and Remove.
1644
1645 ES6: Add support for values/keys/entries for Map and Set (issue 1793).
1646
1647 Performance and stability improvements on all platforms.
1648
1649
16502014-06-03: Version 3.27.18
1651
1652 Remove PROHIBITS_OVERWRITING as it is subsumed by non-configurable
1653 properties.
1654
1655 Performance and stability improvements on all platforms.
1656
1657
16582014-06-02: Version 3.27.17
1659
1660 BuildNumberToString: Check for undefined keys in the cache (Chromium
1661 issue 368114).
1662
1663 HRor and HSar can deoptimize (issue 3359).
1664
1665 Simplify, speed-up correct-context ObjectObserve calls.
1666
1667 Performance and stability improvements on all platforms.
1668
1669
16702014-05-29: Version 3.27.16
1671
1672 Allow microtasks to throw exceptions and handle them gracefully
1673 (Chromium issue 371566).
1674
1675 Performance and stability improvements on all platforms.
1676
1677
16782014-05-28: Version 3.27.15
1679
1680 Performance and stability improvements on all platforms.
1681
1682
16832014-05-27: Version 3.27.14
1684
1685 Reland "Customized support for feedback on calls to Array." and follow-
1686 up fixes (Chromium issues 377198, 377290).
1687
1688 Performance and stability improvements on all platforms.
1689
1690
16912014-05-26: Version 3.27.13
1692
1693 Performance and stability improvements on all platforms.
1694
1695
16962014-05-26: Version 3.27.12
1697
1698 Check for cached transition to ExternalArray elements kind (issue 3337).
1699
1700 Support ES6 weak collections in heap profiler (Chromium issue 376196).
1701
1702 Performance and stability improvements on all platforms.
1703
1704
17052014-05-23: Version 3.27.11
1706
1707 Add support for ES6 Symbol in heap profiler (Chromium issue 376194).
1708
1709 Performance and stability improvements on all platforms.
1710
1711
17122014-05-22: Version 3.27.10
1713
1714 Implement Mirror object for Symbols (issue 3290).
1715
1716 Allow debugger to step into Map and Set forEach callbacks (issue 3341).
1717
1718 Fix ArrayShift hydrogen support (Chromium issue 374838).
1719
1720 Use SameValueZero for Map and Set (issue 1622).
1721
1722 Array Iterator next should check for own property.
1723
1724 Performance and stability improvements on all platforms.
1725
1726
17272014-05-21: Version 3.27.9
1728
1729 Disable ArrayShift hydrogen support (Chromium issue 374838).
1730
1731 ES6 Map/Set iterators/forEach improvements (issue 1793).
1732
1733 Performance and stability improvements on all platforms.
1734
1735
17362014-05-20: Version 3.27.8
1737
1738 Move microtask queueing logic from JavaScript to C++.
1739
1740 Partial revert of "Next bunch of fixes for check elimination" (Chromium
1741 issue 372173).
1742
1743 Performance and stability improvements on all platforms.
1744
1745
17462014-05-19: Version 3.27.7
1747
1748 Performance and stability improvements on all platforms.
1749
1750
17512014-05-19: Version 3.27.6
1752
1753 Performance and stability improvements on all platforms.
1754
1755
17562014-05-16: Version 3.27.5
1757
1758 Performance and stability improvements on all platforms.
1759
1760
17612014-05-15: Version 3.27.4
1762
1763 Drop thenable coercion cache (Chromium issue 372788).
1764
1765 Skip write barriers when updating the weak hash table (Chromium issue
1766 359401).
1767
1768 Performance and stability improvements on all platforms.
1769
1770
17712014-05-14: Version 3.27.3
1772
1773 Performance and stability improvements on all platforms.
1774
1775
17762014-05-13: Version 3.27.2
1777
1778 Harden %SetIsObserved with RUNTIME_ASSERTs (Chromium issue 371782).
1779
1780 Drop unused static microtask API.
1781
1782 Introduce an api to query the microtask autorun state of an isolate.
1783
1784 Performance and stability improvements on all platforms.
1785
1786
17872014-05-12: Version 3.27.1
1788
1789 Object.observe: avoid accessing acceptList properties more than once
1790 (issue 3315).
1791
1792 Array Iterator prototype should not have a constructor (issue 3293).
1793
1794 Fix typos in unit test for Array.prototype.fill().
1795
1796 Shorten autogenerated error message for functions only (issue 3019,
1797 Chromium issue 331971).
1798
1799 Reland "Removed default Isolate." (Chromium issue 359977).
1800
1801 Performance and stability improvements on all platforms.
1802
1803
18042014-05-09: Version 3.27.0
1805
1806 Unbreak samples and tools.
1807
1808 Performance and stability improvements on all platforms.
1809
1810
18112014-05-08: Version 3.26.33
1812
1813 Removed default Isolate (Chromium issue 359977).
1814
1815 Performance and stability improvements on all platforms.
1816
1817
18182014-05-07: Version 3.26.32
1819
1820 Performance and stability improvements on all platforms.
1821
1822
18232014-05-06: Version 3.26.31
1824
1825 Add a basic gn file for V8.
1826
1827 Performance and stability improvements on all platforms.
1828
1829
18302014-05-05: Version 3.26.30
1831
1832 Introduce a microtask suppression scope and move microtask methods to
1833 isolate (Chromium issue 369503).
1834
1835 Re-enable Object.observe and add enforcement for security invariants.
1836
1837 Move cache line size calculation directly into CPU::FlushICache
1838 (Chromium issue 359977).
1839
1840 Generation of our home-grown memmove doesn't depend on serializer state
1841 anymore (Chromium issue 359977).
1842
1843 Fix |RunMicrotasks()| leaking reference to the last context being run
1844 on.
1845
1846 Object.defineProperty shouldn't be a hint that we're constructing a
1847 dictionary (Chromium issue 362870).
1848
1849 Performance and stability improvements on all platforms.
1850
1851
18522014-05-01: Version 3.26.29
1853
1854 Added a Isolate* parameter to Serializer::enabled() (Chromium issue
1855 359977).
1856
1857 ES6: Add support for Array.prototype.fill() (issue 3273).
1858
1859 Performance and stability improvements on all platforms.
1860
1861
18622014-04-29: Version 3.26.28
1863
1864 PromiseThen should ignore non-function parameters (Chromium issue
1865 347455).
1866
1867 Performance and stability improvements on all platforms.
1868
1869
18702014-04-29: Version 3.26.27
1871
1872 Error stack getter should not overwrite itself with a data property
1873 (issue 3294).
1874
1875 Performance and stability improvements on all platforms.
1876
1877
18782014-04-28: Version 3.26.26
1879
1880 Expose promise value through promise mirror (issue 3093).
1881
1882 Simplified CPU/CpuFeatures a bit (Chromium issue 359977).
1883
1884 Performance and stability improvements on all platforms.
1885
1886
18872014-04-28: Version 3.26.25
1888
1889 Add timestamps to CPU profile samples (Chromium issue 363976).
1890
1891 Expose promise status through promise mirror (issue 3093).
1892
1893 Remove static CallCompletedCallback handlers.
1894
1895 Added an Isolate* field to NoTrackDoubleFieldsForSerializerScope,
1896 PlatformFeatureScope and BinaryOpIC::State (Chromium issue 359977).
1897
1898 Trigger debug event on not yet caught exception in promises (issue
1899 3093).
1900
1901 Unbreak vtunejit=on (issue 3288).
1902
1903 Performance and stability improvements on all platforms.
1904
1905
19062014-04-25: Version 3.26.24
1907
1908 MIPS: CodeStubs contain their corresponding Isolate* now. (part 2)
1909 (Chromium issue 359977).
1910
1911 MIPS: CodeStubs contain their corresponding Isolate* now. (part 1)
1912 (Chromium issue 359977).
1913
1914 CodeStubs contain their corresponding Isolate* now. (part 2) (Chromium
1915 issue 359977).
1916
1917 Make DescriptorArray::IsMoreGeneralThan() and DescriptorArray::Merge()
1918 compatible again (Chromium issue 365172).
1919
1920 CodeStubs contain their corresponding Isolate* now. (part 1) (Chromium
1921 issue 359977).
1922
1923 Performance and stability improvements on all platforms.
1924
1925
19262014-04-24: Version 3.26.23
1927
1928 Performance and stability improvements on all platforms.
1929
1930
19312014-04-23: Version 3.26.22
1932
1933 Disable field type tracking by default (Chromium issue 365172).
1934
1935 Performance and stability improvements on all platforms.
1936
1937
19382014-04-23: Version 3.26.21
1939
1940 Context-allocate all parameters in generators (issue 3280).
1941
1942 Simplify v8/Isolate teardown (Chromium issue 359977).
1943
1944 Performance and stability improvements on all platforms.
1945
1946
19472014-04-21: Version 3.26.20
1948
1949 ES6: Add support for Map/Set forEach (Chromium issues 1793, 2323).
1950
1951 Performance and stability improvements on all platforms.
1952
1953
19542014-04-18: Version 3.26.19
1955
1956 ES6: Add support for Map/Set forEach (Chromium issues 1793, 2323).
1957
1958 Performance and stability improvements on all platforms.
1959
1960
19612014-04-17: Version 3.26.18
1962
1963 Removed Isolate::EnterDefaultIsolate (Chromium issue 359977).
1964
1965 Performance and stability improvements on all platforms.
1966
1967
19682014-04-16: Version 3.26.17
1969
1970 Clear invalid field maps in PropertyAccessInfo (Chromium issue 363956).
1971
1972 ES6: Add support for Map/Set forEach (Chromium issues 1793, 2323).
1973
1974 Performance and stability improvements on all platforms.
1975
1976
19772014-04-16: Version 3.26.16
1978
1979 Removed EnterIsolateIfNeeded and a soon-to-be-useless assertion
1980 (Chromium issue 359977).
1981
1982 Removed GetDefaultIsolate{Debugger,ForLocking,StackGuard} (Chromium
1983 issue 359977).
1984
1985 Performance and stability improvements on all platforms.
1986
1987
19882014-04-15: Version 3.26.15
1989
1990 Fix result of LCodeGen::DoWrapReceiver for strict functions and builtins
1991 (Chromium issue 362128).
1992
1993 Performance and stability improvements on all platforms.
1994
1995
19962014-04-15: Version 3.26.14
1997
1998 Performance and stability improvements on all platforms.
1999
2000
20012014-04-14: Version 3.26.13
2002
2003 Make maps in monomorphic IC stubs weak (issue 2073).
2004
2005 x64: Make sure that the upper half of a 64bit register contains 0 for
2006 int32 values (Chromium issue 360611).
2007
2008 Performance and stability improvements on all platforms.
2009
2010
20112014-04-11: Version 3.26.12
2012
2013 Do not use ranges after range analysis (Chromium issue 361608).
2014
2015 Performance and stability improvements on all platforms.
2016
2017
20182014-04-10: Version 3.26.11
2019
2020 Performance and stability improvements on all platforms.
2021
2022
20232014-04-10: Version 3.26.10
2024
2025 Allow the embedder to pass the virtual memory limit to v8.
2026
2027 Performance and stability improvements on all platforms.
2028
2029
20302014-04-09: Version 3.26.9
2031
2032 Fix invalid local property lookup for transitions (Chromium issue
2033 361025).
2034
2035 MIPS: Fixed flooring division by -1 (issue 3259).
2036
2037 Fixed flooring division by -1 on ARM (issue 3259).
2038
2039 Make `String.prototype.contains` throw when passing a regular expression
2040 (issue 3261).
2041
2042 Performance and stability improvements on all platforms.
2043
2044
20452014-04-08: Version 3.26.8
2046
2047 Yet another regression test for range analysis (issue 3204).
2048
2049 Performance and stability improvements on all platforms.
2050
2051
20522014-04-07: Version 3.26.7
2053
2054 Performance and stability improvements on all platforms.
2055
2056
20572014-04-04: Version 3.26.6
2058
2059 Performance and stability improvements on all platforms.
2060
2061
20622014-04-03: Version 3.26.5
2063
2064 Performance and stability improvements on all platforms.
2065
2066
20672014-04-03: Version 3.26.4
2068
2069 Make stray 'return' an early error.
2070
2071 Show references from weak containers as weak in heap snapshots (Chromium
2072 issue 356590).
2073
2074 Make invalid LHSs that are calls late errors (Chromium issue 358346).
2075
2076 Performance and stability improvements on all platforms.
2077
2078
20792014-04-02: Version 3.26.3
2080
2081 Support typed arrays in IsMoreGeneralElementsKindTransition (Chromium
2082 issue 357054).
2083
2084 Remove debugger_auto_break flag.
2085
2086 Store i18n meta data in hidden symbols instead of js accessible
2087 properties (Chromium issue 354967).
2088
2089 Performance and stability improvements on all platforms.
2090
2091
20922014-04-01: Version 3.26.2
2093
2094 Performance and stability improvements on all platforms.
2095
2096
20972014-04-01: Version 3.26.1
2098
2099 Fix Type::Intersect to skip uninhabited bitsets (Chromium issue 357330).
2100
2101 Fix PrepareKeyedOperand on arm (Chromium issue 358057).
2102
2103 Performance and stability improvements on all platforms.
2104
2105
21062014-03-31: Version 3.26.0
2107
2108 Deprecate Start/StopCpuProfiling methods (issue 3213).
2109
2110 Don't crash if we get a timezone change notification on an uninitialized
2111 isolate (Chromium issue 357362).
2112
2113 Performance and stability improvements on all platforms.
2114
2115
21162014-03-28: Version 3.25.30
2117
2118 NativeContext::map_cache reference should be strong in heap snapshots
2119 (Chromium issue 357060).
2120
2121 Performance and stability improvements on all platforms.
2122
2123
21242014-03-27: Version 3.25.29
2125
2126 Performance and stability improvements on all platforms.
2127
2128
21292014-03-27: Version 3.25.28
2130
2131 Performance and stability improvements on all platforms.
2132
2133
21342014-03-26: Version 3.25.27
2135
2136 Promise constructor should not be enumerable (Chromium issue 352597).
2137
2138 Performance and stability improvements on all platforms.
2139
2140
21412014-03-26: Version 3.25.26
2142
2143 Performance and stability improvements on all platforms.
2144
2145
21462014-03-25: Version 3.25.25
2147
2148 Roll ICU 239289:258359 and add support for external ICU data tables
2149 (issue 3142, Chromium issue 72633).
2150
2151 Performance and stability improvements on all platforms.
2152
2153
21542014-03-25: Version 3.25.24
2155
2156 Add support for per-isolate private symbols.
2157
2158 No longer OOM on invalid string length (issue 3060).
2159
2160 Remove Failure::OutOfMemory propagation and
2161 V8::IgnoreOutOfMemoryException (issue 3060).
2162
2163 Tentative Windows dll build fix: Don't V8_EXPORT ScriptCompiler::Source
2164 (issue 3228).
2165
2166 Performance and stability improvements on all platforms.
2167
2168
21692014-03-24: Version 3.25.23
2170
2171 Rename A64 port to ARM64 port (Chromium issue 354405).
2172
2173 Fix missing access check in Runtime_SetPrototype (Chromium issue
2174 354123).
2175
2176 Fix polymorphic hydrogen handling of SLOPPY_ARGUMENTS_ELEMENTS (Chromium
2177 issue 354391).
2178
2179 Performance and stability improvements on all platforms.
2180
2181
21822014-03-20: Version 3.25.22
2183
2184 Increase the "local variables in a function" limit (issue 3205).
2185
2186 Implement ES6 symbol registry and predefined symbols.
2187
2188 Throw exception on invalid string length instead of OOM (Chromium issue
2189 349329).
2190
2191 Performance and stability improvements on all platforms.
2192
2193
21942014-03-20: Version 3.25.21
2195
2196 Performance and stability improvements on all platforms.
2197
2198
21992014-03-20: Version 3.25.20
2200
2201 Fix polymorphic keyed loads for SLOPPY_ARGUMENTS_ELEMENTS (Chromium
2202 issue 350867).
2203
2204 Performance and stability improvements on all platforms.
2205
2206
22072014-03-19: Version 3.25.19
2208
2209 Performance and stability improvements on all platforms.
2210
2211
22122014-03-19: Version 3.25.18
2213
2214 Performance and stability improvements on all platforms.
2215
2216
22172014-03-19: Version 3.25.17
2218
2219 Performance and stability improvements on all platforms.
2220
2221
22222014-03-18: Version 3.25.16
2223
2224 Apply numeric casts correctly in typed arrays and related code (Chromium
2225 issue 353004).
2226
2227 Performance and stability improvements on all platforms.
2228
2229
22302014-03-18: Version 3.25.15
2231
2232 Don't generate keyed store ICs for global proxies (Chromium issue
2233 352983).
2234
2235 MIPS: Make invalid LHSs a parse-time (reference) error (Chromium issue
2236 351658).
2237
2238 Make invalid LHSs a parse-time (reference) error (Chromium issue
2239 351658).
2240
2241 Add Promises/A+ Compliance Test Suite (Chromium issue 347095).
2242
2243 Split Promise API into Promise/Resolver.
2244
2245 Performance and stability improvements on all platforms.
2246
2247
22482014-03-17: Version 3.25.14
2249
2250 Performance and stability improvements on all platforms.
2251
2252
22532014-03-17: Version 3.25.13
2254
2255 Move profiler callback interfaces from v8.h to v8-profiler.h.
2256
2257 Performance and stability improvements on all platforms.
2258
2259
22602014-03-14: Version 3.25.12
2261
2262 PromiseCoerce should deal with an error during accessing "then"
2263 (Chromium issue 347095).
2264
2265 Propagate updated offsets in BoundsCheckBbData (Chromium issue 350863).
2266
2267 Add regression test for range analysis bug (issue 3204).
2268
2269 Continued fix for 351257. Reusing the feedback vector is too complex
2270 (Chromium issue 351257).
2271
2272 StopCpuProfiling should return non-const CpuProfile (issue 3213).
2273
2274 Allow for compiling with xcode 5.1 (which doesn't have gcc anymore).
2275
2276 Performance and stability improvements on all platforms.
2277
2278
22792014-03-14: Version 3.25.11
2280
2281 MIPS: Remove uses of CanBeNegative() in HMod (issue 3204).
2282
2283 MIPS: Remove uses of RangeCanInclude() in flooring division by power of
2284 2 (issue 3204).
2285
2286 MIPS: Fix uses of range analysis results in HChange (issue 3204).
2287
2288 Make translation of modulus operation '--stress-opt'-proof (Chromium
2289 issue 352059).
2290
2291 Remove uses of CanBeNegative() in HMod (issue 3204).
2292
2293 Remove uses of RangeCanInclude() in flooring division by power of 2
2294 (issue 3204).
2295
2296 Fix uses of range analysis results in HChange (issue 3204).
2297
2298 Performance and stability improvements on all platforms.
2299
2300
23012014-03-14: Version 3.25.10
2302
2303 This version was not committed due to script failures.
2304
2305
23062014-03-13: Version 3.25.9
2307
2308 Reland "Enable Object.observe by default" again (issue 2409).
2309
2310 Use intrinsics for builtin ArrayBuffer property accesses (Chromium issue
2311 351787).
2312
2313 Performance and stability improvements on all platforms.
2314
2315
23162014-03-12: Version 3.25.8
2317
2318 Fix HIsSmiAndBranch::KnownSuccessorBlock() by deleting it (Chromium
2319 issue 351320).
2320
2321 Fix handling of polymorphic array accesses with constant index (Chromium
2322 issue 351319).
2323
2324 Fix lazy deopt after tagged binary ops (Chromium issue 350434).
2325
2326 MIPS: Cleanup some of the range uses in ModI/DivI (issue 3204).
2327
2328 Fix issue with getOwnPropertySymbols and hidden properties (Chromium
2329 issue 350864).
2330
2331 Cleanup some of the range uses in ModI/DivI (issue 3204).
2332
2333 PromiseCoerce should ignore primitive values (Chromium issue 347095).
2334
2335 Use a per-isolate cache for the date object JS bits (Chromium issue
2336 348856).
2337
2338 Performance and stability improvements on all platforms.
2339
2340
23412014-03-11: Version 3.25.7
2342
2343 Promise.all and Promise.race should reject non-array parameter (Chromium
2344 issue 347453).
2345
2346 Promise.all and Promise race should use "then" rather than "chain"
2347 (Chromium issue 347427).
2348
2349 Merge the "Compute Minus Zero Checks" phase into the range analysis
2350 (issue 3204).
2351
2352 Performance and stability improvements on all platforms.
2353
2354
23552014-03-10: Version 3.25.6
2356
2357 Replace the recursion in PropagateMinusZeroChecks() with a loop and a
2358 worklist (issue 3204).
2359
2360 Reland "Enable Object.observe by default" (issue 2409).
2361
2362 Enable Object.observe by default (issue 2409).
2363
2364 AllocationTracker now maintains a map from address range to stack trace
2365 that allocated the range. When snapshot is generated the map is used to
2366 find construction stack trace for an object using its address (Chromium
2367 issue 277984).
2368
2369 Introduce Runtime_GetAllScopesDetails to get all scopes at once for a
2370 frame (Chromium issue 340285).
2371
2372 Reduce heavy runtime calls from debug mirrors (Chromium issue 340285).
2373
2374 Check and clear date cache in DateCurrentTime, DateLocalTimezone and
2375 getTimezoneOffset (Chromium issue 142141).
2376
2377 Performance and stability improvements on all platforms.
2378
2379
23802014-03-06: Version 3.25.5
2381
2382 Fix HConstants with Smi-ranged HeapNumber values (Chromium issue
2383 349878).
2384
2385 Fix issues with JSON stringify replacer array (issues 3200, 3201).
2386
2387 Performance and stability improvements on all platforms.
2388
2389
23902014-03-05: Version 3.25.4
2391
2392 x64: Fix LMathMinMax for constant Smi right-hand operands (Chromium
2393 issue 349079).
2394
2395 Performance and stability improvements on all platforms.
2396
2397
23982014-03-04: Version 3.25.3
2399
2400 Clear optimized code cache in shared function info when code gets
2401 deoptimized (Chromium issue 343609).
2402
2403 Fixed constant folding for Math.clz32 (Chromium issue 347906).
2404
2405 Fix JSObject::PrintTransitions (Chromium issue 347912).
2406
2407 Fix handling of constant global variable assignments (Chromium issue
2408 347904).
2409
2410 Removed bogus ASSERT (Chromium issue 347542).
2411
2412 Mark HCompareMap as having Tagged representation (Chromium issue
2413 346636).
2414
2415 Fix crasher in Object.getOwnPropertySymbols (Chromium issue 346141).
2416
2417 Fix the bit massaging code in CompleteParserRecorder::WriteNumber
2418 (Chromium issue 346221).
2419
2420 Don't eliminate loads with incompatible types or representations
2421 (Chromium issue 346343).
2422
2423 Check that after a weak callback, the handle is either dead or strong
2424 (Chromium issue 346061).
2425
2426 Lazy preparsing vs. lazy parsing fix (Chromium issue 346207).
2427
2428 Performance and stability improvements on all platforms.
2429
2430
24312014-02-25: Version 3.25.2
2432
2433 Fix the bit massaging code in CompleteParserRecorder::WriteNumber
2434 (Chromium issue 346221).
2435
2436 Revert r19455 "Load target types and handlers before IC computation."
2437 (Chromium issue 346149).
2438
2439 Don't eliminate loads with incompatible types or representations
2440 (Chromium issue 346343).
2441
2442 Fix for a smi stores optimization on x64 with a regression test
2443 (Chromium issue 345715).
2444
2445 Check that after a weak callback, the handle is either dead or strong
2446 (Chromium issue 346061).
2447
2448 negative bounds checking on realm calls (Chromium issue 344285).
2449
2450 Lazy preparsing vs. lazy parsing fix (Chromium issue 346207).
2451
2452 Fix optimistic BCE to back off after deopt (issue 3176).
2453
2454 Performance and stability improvements on all platforms.
2455
2456
24572014-02-21: Version 3.25.1
2458
2459 Performance and stability improvements on all platforms.
2460
2461
24622014-02-19: Version 3.25.0
2463
2464 ES6: Tighten up Object.prototype.__proto__ (issue 3064).
2465
2466 Fix Hydrogen bounds check elimination (Chromium issue 344186).
2467
2468 Performance and stability improvements on all platforms.
2469
2470
24712014-02-19: Version 3.24.40
2472
2473 A64: Let the MacroAssembler resolve branches to distant targets (issue
2474 3148).
2475
2476 Fixed and improved code for integral division. Fixed and extended tests
2477 (issue 3151).
2478
2479 MIPS: Fix assignment of function name constant (issue 3138).
2480
2481 Fix assignment of function name constant (issue 3138).
2482
2483 Performance and stability improvements on all platforms.
2484
2485
24862014-02-14: Version 3.24.39
2487
2488 Introduce --job-based-sweeping flag and use individual jobs for sweeping
2489 if set (issue 3104).
2490
2491 Performance and stability improvements on all platforms.
2492
2493
24942014-02-13: Version 3.24.38
2495
2496 Merge experimental/a64 to bleeding_edge (issue 3113).
2497
2498 Performance and stability improvements on all platforms.
2499
2500
25012014-02-12: Version 3.24.37
2502
2503 Fix spec violations in JSON.stringify wrt replacer array (issue 3135).
2504
2505 Performance and stability improvements on all platforms.
2506
2507
25082014-02-11: Version 3.24.36
2509
2510 Fix inconsistencies wrt whitespaces (issue 3109).
2511
2512 Performance and stability improvements on all platforms.
2513
2514
25152014-02-10: Version 3.24.35
2516
2517 Fix inconsistencies wrt whitespaces (issue 3109).
2518
2519 Performance and stability improvements on all platforms.
2520
2521
25222014-02-07: Version 3.24.34
2523
2524 Performance and stability improvements on all platforms.
2525
2526
25272014-02-06: Version 3.24.33
2528
2529 Allow externalizing strings in old pointer space (Chromium issue
2530 268686).
2531
2532 Performance and stability improvements on all platforms.
2533
2534
25352014-02-05: Version 3.24.32
2536
2537 Add Box object to heap profiler.
2538
2539 Check the offset argument of TypedArray.set for fitting into Smi
2540 (Chromium issue 340125).
2541
2542 Performance and stability improvements on all platforms.
2543
2544
25452014-02-04: Version 3.24.31
2546
2547 Fix short-circuiting logical and/or in HOptimizedGraphBuilder (Chromium
2548 issue 336148).
2549
2550 Elements field of newly allocated JSArray could be left uninitialized in
2551 some cases (fast literal case) (Chromium issue 340124).
2552
2553 Re-enable escape analysis.
2554
2555 Performance and stability improvements on all platforms.
2556
2557
25582014-02-03: Version 3.24.30
2559
2560 Performance and stability improvements on all platforms.
2561
2562
25632014-02-01: Version 3.24.29
2564
2565 Performance and stability improvements on all platforms.
2566
2567
25682014-01-31: Version 3.24.28
2569
2570 Don't crash in Array.join() if the resulting string exceeds the max
2571 string length (Chromium issue 336820).
2572
2573 Implements ES6 String.prototype.normalize method (issue 2943).
2574
2575 Performance and stability improvements on all platforms.
2576
2577
25782014-01-30: Version 3.24.27
2579
2580 Performance and stability improvements on all platforms.
2581
2582
25832014-01-29: Version 3.24.26
2584
2585 ES6: Map and Set needs to normalize minus zero (issue 3069).
2586
2587 Make `String.prototype.{starts,ends}With` throw when passing a regular
2588 expression (issue 3070).
2589
2590 Performance and stability improvements on all platforms.
2591
2592
25932014-01-28: Version 3.24.25
2594
2595 Performance and stability improvements on all platforms.
2596
2597
25982014-01-27: Version 3.24.24
2599
2600 MIPS: Reduce the stack requirements of GetNoCodeAgeSequence (issue
2601 3111).
2602
2603 Delete v8_shell target now that chrome uses d8 (Chromium issue 331585).
2604
2605 ARM: Reduce the stack requirements of GetNoCodeAgeSequence (issue 3111).
2606
2607 Performance and stability improvements on all platforms.
2608
2609
26102014-01-24: Version 3.24.23
2611
2612 Performance and stability improvements on all platforms.
2613
2614
26152014-01-23: Version 3.24.22
2616
2617 Fix compilation on x64 architectures (issue 3110).
2618
2619 Ensure we don't overwrite transitions in SetPropertyIgnoreAttributes
2620 (Chromium issue 326155).
2621
2622 ES6: Implement Object.setPrototypeOf (issue 2675).
2623
2624 Fixed floor-of-div optimization (Chromium issue 334708).
2625
2626 Performance and stability improvements on all platforms.
2627
2628
26292014-01-22: Version 3.24.21
2630
2631 Performance and stability improvements on all platforms.
2632
2633
26342014-01-21: Version 3.24.20
2635
2636 ES6: Implement Object.setPrototypeOf (issue 2675).
2637
2638 Performance and stability improvements on all platforms.
2639
2640
26412014-01-20: Version 3.24.19
2642
2643 Introduce a setting to control the toolset for which d8 is compiled
2644 (issue 1775).
2645
2646 Performance and stability improvements on all platforms.
2647
2648
26492014-01-17: Version 3.24.18
2650
2651 Performance and stability improvements on all platforms.
2652
2653
26542014-01-16: Version 3.24.17
2655
2656 Make cells pointing to JSObjects weak in optimized code (issue 2073).
2657
2658 Performance and stability improvements on all platforms.
2659
2660
26612014-01-15: Version 3.24.16
2662
2663 Annotate mapped memory regions for LeakSanitizer (Chromium issue
2664 328552).
2665
2666 Turn Runtime_MigrateInstance into Runtime_TryMigrateInstance (Chromium
2667 issue 315252).
2668
2669 Performance and stability improvements on all platforms.
2670
2671
26722014-01-14: Version 3.24.15
2673
2674 Introduce an API mirroring the gc extension.
2675
2676 Performance and stability improvements on all platforms.
2677
2678
26792014-01-10: Version 3.24.14
2680
2681 ES6: Add Object.getOwnPropertySymbols (issue 3049).
2682
2683 Performance and stability improvements on all platforms.
2684
2685
26862014-01-09: Version 3.24.13
2687
2688 Add Isolate parameter to HandleScope::NumberOfHandles (Chromium issue
2689 324225).
2690
2691 Removed v8::AssertNoGCScope.
2692
2693 Performance and stability improvements on all platforms.
2694
2695
26962014-01-08: Version 3.24.12
2697
2698 Correctly handle instances without elements in polymorphic keyed
2699 load/store (Chromium issue 331416).
2700
2701 Fix selection of popular pages in store buffer (Chromium issue 331444).
2702
2703 Prepare removal of ObjectTemplate::New without Isolate parameter
2704 (Chromium issue 324225).
2705
2706 Performance and stability improvements on all platforms.
2707
2708
27092014-01-07: Version 3.24.11
2710
2711 Remove generated makefiles on linux when running gyp_v8
2712 (Chromium issue 331475)
2713
2714 Fix building d8 with readline support due to API changes
2715
2716 Performance and stability improvements on all platforms.
2717
2718
27192014-01-03: Version 3.24.10
2720
2721 Reland r18383: More API cleanup (Chromium issue 324225).
2722
2723 MIPS: Fix loading of global object in LWrapReceiver (Chromium issue
2724 318420).
2725
2726 Performance and stability improvements on all platforms.
2727
2728
27292014-01-02: Version 3.24.9
2730
2731 Performance and stability improvements on all platforms.
2732
2733
27342013-12-30: Version 3.24.8
2735
2736 ARM: fix loading of global object in LWrapReceiver (Chromium issue
2737 318420).
2738
2739 Fix a race between concurrent recompilation and OSR (Chromium issue
2740 330046).
2741
2742 Turn off concurrent sweeping (issue 3071).
2743
2744 Performance and stability improvements on all platforms.
2745
2746
27472013-12-23: Version 3.24.7
2748
2749 Fix small spec violation in String.prototype.split (issue 3026).
2750
2751 Correctly resolve forcibly context allocated parameters in debug-
2752 evaluate (Chromium issue 325676).
2753
2754 Introduce Function::GetBoundFunction.
2755
2756 Performance and stability improvements on all platforms.
2757
2758
27592013-12-20: Version 3.24.6
2760
2761 Performance and stability improvements on all platforms.
2762
2763
27642013-12-19: Version 3.24.5
2765
2766 Performance and stability improvements on all platforms.
2767
2768
27692013-12-18: Version 3.24.4
2770
2771 Removed all stuff marked as V8_DEPRECATED.
2772
2773 Performance and stability improvements on all platforms.
2774
2775
27762013-12-17: Version 3.24.3
2777
2778 Performance and stability improvements on all platforms.
2779
2780
27812013-12-17: Version 3.24.2
2782
2783 Flush instruction cache for deserialized code objects.
2784
2785 Performance and stability improvements on all platforms.
2786
2787
27882013-12-13: Version 3.24.1
2789
2790 Fix polymorphic inlined calls with migrating prototypes.
2791
2792 Fixed global object leak caused by overwriting the global receiver (the
2793 global proxy) in the global object with the global object itself
2794 (Chromium issue 324812).
2795
2796 Initialize Date parse cache with SMI instead of double to workaround
2797 sharing mutable heap numbers in snapshot (Chromium issue 280531).
2798
2799 Switch armv7 setting to arm_version==7 in v8 gyp files (Chromium issue
2800 234135).
2801
2802 Performance and stability improvements on all platforms.
2803
2804
28052013-12-09: Version 3.24.0
2806
2807 Performance and stability improvements on all platforms.
2808
2809
28102013-12-04: Version 3.23.18
2811
2812 Performance and stability improvements on all platforms.
2813
2814
28152013-12-03: Version 3.23.17
2816
2817 Performance and stability improvements on all platforms.
2818
2819
28202013-12-02: Version 3.23.16
2821
2822 Array builtins need to be prevented from changing frozen objects, and
2823 changing structure on sealed objects (Chromium issue 299979).
2824
2825 Performance and stability improvements on all platforms.
2826
2827
28282013-11-29: Version 3.23.15
2829
2830 Fix context register allocation in LTransitionElementsKind
2831 (Chromium issue 324306).
2832
2833 Fix bug in inlining Function.apply (Chromium issue 323942).
2834
2835 Ensure that length is Smi in TypedArrayFromArrayLike constructor
2836 (Chromium issue 324028).
2837
2838 Performance and stability improvements on all platforms.
2839
2840
28412013-11-28: Version 3.23.14
2842
2843 Shorten autogenerated error message (issue 3019).
2844
2845 Performance and stability improvements on all platforms.
2846
2847
28482013-11-27: Version 3.23.13
2849
2850 Increase precision for base conversion for large integers (issue 3025).
2851
2852 Flatten cons string for single character substrings (Chromium issue
2853 323041).
2854
2855 Performance and stability improvements on all platforms.
2856
2857
28582013-11-26: Version 3.23.12
2859
2860 Performance and stability improvements on all platforms.
2861
2862
28632013-11-25: Version 3.23.11
2864
2865 Deprecate old versions of Isolate::SetData and GetData.
2866
2867 Performance and stability improvements on all platforms.
2868
2869
28702013-11-22: Version 3.23.10
2871
2872 Remove preemption thread and API.
2873 (issue 3004)
2874
2875 Performance and stability improvements on all platforms.
2876
2877
28782013-11-21: Version 3.23.9
2879
2880 API: Change AdjustAmountOfExternalAllocatedMemory calls to use int64_t
2881 instead of intptr_t.
2882
2883 Remove deprecated v8::SetResourceConstraints without Isolate parameter.
2884
2885 Remove deprecated v8-defaults.h and defaults.cc.
2886 (Chromium issue 312241)
2887
2888 Make it possible to add more than one piece of embedder data to
2889 isolates.
2890 (Chromium issue 317398)
2891
2892 Performance and stability improvements on all platforms.
2893
2894
28952013-11-20: Version 3.23.8
2896
2897 Fixed crashes exposed though fuzzing.
2898 (Chromium issue 320948)
2899
2900 Deprecated v8::External::New without Isolate parameter.
2901
2902 Made number of available threads isolate-dependent and exposed it to
2903 ResourceConstraints.
2904 (issue 2991)
2905
2906 Performance and stability improvements on all platforms.
2907
2908
29092013-11-19: Version 3.23.7
2910
2911 Bugfix: dependent code field in AllocationSite was keeping code objects
2912 alive even after context death.
2913 (Chromium issue 320532)
2914
2915 Fixed data view accessors to throw execptions on offsets bigger than
2916 size_t.
2917 (issue 3013)
2918
2919 Performance and stability improvements on all platforms.
2920
2921
29222013-11-18: Version 3.23.6
2923
2924 Limit size of dehoistable array indices.
2925 (Chromium issues 319835, 319860)
2926
2927 Limit the size for typed arrays to MaxSmi.
2928 (Chromium issue 319722)
2929
2930 Performance and stability improvements on all platforms.
2931
2932
29332013-11-15: Version 3.23.5
2934
2935 Fixed missing type feedback check for Generic*String addition.
2936 (Chromium issue 318671)
2937
2938 Fixed duplicate check in DependentCode::Insert.
2939 (Chromium issue 318454)
2940
2941 Performance and stability improvements on all platforms.
2942
2943
29442013-11-14: Version 3.23.4
2945
2946 Fixed overflow in TypedArray initialization function.
2947 (Chromium issue 319120)
2948
2949 Performance and stability improvements on all platforms.
2950
2951
29522013-11-13: Version 3.23.3
2953
2954 Fixed compilation with GCC 4.8.
2955 (issue 2767, 2149)
2956
2957 Added explicit Isolate parameter to External::New.
2958 (Chromium issue 266838)
2959
2960 Performance and stability improvements on all platforms.
2961
2962
29632013-11-12: Version 3.23.2
2964
2965 Fixed --extra-code flag for snapshot creation.
2966 (issue 2994)
2967
2968 Fixed error message wording when instanceof throws.
2969 (Chromium issue 82797, issue 1593)
2970
2971 Performance and stability improvements on all platforms.
2972
2973
29742013-11-08: Version 3.23.1
2975
2976 Made HCapturedObjects non-deletable for DCE. (issue 2987)
2977
2978 Use a fixed random seed per default. (issue 1880, 2885)
2979
2980 Fixed y-umlaut to uppercase. (issue 2984)
2981
2982 Performance and stability improvements on all platforms.
2983
2984
29852013-11-06: Version 3.23.0
2986
2987 Fixed loading message from an Error object. (Chromium issue 306220)
2988
2989 Made Object.freeze/seal/preventExtensions observable. (issue 2975, 2941)
2990
2991 Made snapshots reproducible. (issue 2885)
2992
2993 Added missing negative dictionary lookup to NonexistentHandlerFrontend.
2994 (issue 2980)
2995
2996 Performance and stability improvements on all platforms.
2997
2998
29992013-10-31: Version 3.22.24
3000
3001 Fixed uint32-to-smi conversion in Lithium.
3002 (Chromium issue 309623)
3003
3004 Performance and stability improvements on all platforms.
3005
3006
30072013-10-28: Version 3.22.23
3008
3009 Renamed deprecated __attribute__((no_address_safety_analysis)) to
3010 __attribute__((no_sanitize_address)) (Chromium issue 311283)
3011
3012 Defined DEBUG for v8_optimized_debug=2
3013
3014 Performance and stability improvements on all platforms.
3015
3016
30172013-10-25: Version 3.22.22
3018
3019 Record allocation stack traces. (Chromium issue 277984,v8:2949)
3020
3021 Performance and stability improvements on all platforms.
3022
3023
30242013-10-24: Version 3.22.21
3025
3026 Performance and stability improvements on all platforms.
3027
3028
30292013-10-24: Version 3.22.20
3030
3031 Made Array.prototype.pop throw if the last element is not configurable.
3032
3033 Fixed HObjectAccess for loads from migrating prototypes.
3034 (Chromium issue 305309)
3035
3036 Enabled preaging of code objects when --optimize-for-size.
3037 (Chromium issue 280984)
3038
3039 Exposed v8::Function::GetDisplayName to public API.
3040 (Chromium issue 17356)
3041
3042 Performance and stability improvements on all platforms.
3043
3044
30452013-10-23: Version 3.22.19
3046
3047 Fix materialization of captured objects with field tracking.
3048 (Chromium issue 298990)
3049
3050 Performance and stability improvements on all platforms.
3051
3052
30532013-10-22: Version 3.22.18
3054
3055 Add tool to visualize machine code/lithium.
3056
3057 Handle misaligned loads and stores in load elimination. Do not track
3058 misaligned loads and be conservative about invalidating misaligned
3059 stores. (issue 2934)
3060
3061 Performance and stability improvements on all platforms.
3062
3063
30642013-10-21: Version 3.22.17
3065
3066 Harmony: Implement Math.trunc and Math.sign. (issue 2938)
3067
3068 Performance and stability improvements on all platforms.
3069
3070
30712013-10-21: Version 3.22.16
3072
3073 Performance and stability improvements on all platforms.
3074
3075
30762013-10-18: Version 3.22.15
3077
3078 Enabled calling the SetReference* & SetObjectGroupId functions with a
3079 Persistent<SubclassOfValue>.
3080
3081 Performance and stability improvements on all platforms.
3082
3083
30842013-10-17: Version 3.22.14
3085
3086 Performance and stability improvements on all platforms.
3087
3088
30892013-10-16: Version 3.22.13
3090
3091 Do not look up ArrayBuffer on global object in typed array constructor.
3092 (issue 2931)
3093
3094 Performance and stability improvements on all platforms.
3095
3096
30972013-10-15: Version 3.22.12
3098
3099 Added histograms to track fraction of heap spaces and percentage of
3100 generated crankshaft code.
3101
3102 Moved v8_optimized_debug default value to standalone.gypi.
3103
3104 Track JS allocations as they arrive with no affection on performance
3105 when tracking is switched off (Chromium issue 277984).
3106
3107 Performance and stability improvements on all platforms.
3108
3109
31102013-10-14: Version 3.22.11
3111
3112 Performance and stability improvements on all platforms.
3113
3114
31152013-10-11: Version 3.22.10
3116
3117 Fixed timezone issues with date-time/parse-* tests.
3118 (Chromium issue 2919)
3119
3120 Added column getter to CpuProfileNode (Chromium issue 302537)
3121
3122 Performance and stability improvements on all platforms.
3123
3124
31252013-10-10: Version 3.22.9
3126
3127 Ensure only whitelisted stubs have sse2 versions in the snapshot.
3128 (fix for chromium 304565)
3129
3130 Implement ArrayBuffer.isView.
3131
3132 Performance and stability improvements on all platforms.
3133
3134
31352013-10-04: Version 3.22.8
3136
3137 Performance and stability improvements on all platforms.
3138
3139
31402013-10-03: Version 3.22.7
3141
3142 Debug: Allow stepping into on a given call frame
3143 (Chromium issue 296963).
3144
3145 Always use timeGetTime() for TimeTicks::Now() on Windows
3146 (Chromium issue 288924).
3147
3148 Performance and stability improvements on all platforms.
3149
3150
31512013-10-02: Version 3.22.6
3152
3153 Performance and stability improvements on all platforms.
3154
3155
31562013-10-01: Version 3.22.5
3157
3158 Disabled externalization of sliced/cons strings in old pointer space
3159 (Chromium issue 276357).
3160
3161 Turned on handle zapping for release builds
3162
3163 Performance and stability improvements on all platforms.
3164
3165
31662013-09-30: Version 3.22.4
3167
3168 Function::Call and Object::CallAsFunction APIs should allow v8::Value as
3169 a receiver (issue 2915).
3170
3171 Removed unnecessary mutex (Chromium issue 291236).
3172
3173 Removed ArrayBufferView::BaseAddress method.
3174
3175 Performance and stability improvements on all platforms.
3176
3177
31782013-09-27: Version 3.22.3
3179
3180 Added methods to enable configuration of ResourceConstraints based on
3181 limits derived at runtime.
3182 (Chromium issue 292928)
3183
3184 Added -optimize-for-size flag to optimize for memory size (will be used
3185 by pre-aging CL), and removed the is_memory_constrained
3186 ResourceConstraint.
3187 (Chromium issue 292928)
3188
3189 Performance and stability improvements on all platforms.
3190
3191
31922013-09-26: Version 3.22.2
3193
3194 Performance and stability improvements on all platforms.
3195
3196
31972013-09-25: Version 3.22.1
3198
3199 Sped up creating typed arrays from array-like objects.
3200 (Chromium issue 270507)
3201
3202 Performance and stability improvements on all platforms.
3203
3204
32052013-09-23: Version 3.22.0
3206
3207 LiveEdit to mark more closure functions for re-instantiation when scope
3208 layout changes.
3209 (issue 2872)
3210
3211 Made bounds check elimination iterative instead of recursive.
3212 (Chromium issue 289706)
3213
3214 Turned on i18n support by default.
3215
3216 Set the proper instance-type on HAllocate in BuildFastLiteral.
3217 (Chromium issue 284577)
3218
3219 Performance and stability improvements on all platforms.
3220
3221
32222013-09-18: Version 3.21.17
3223
3224 Implemented local load/store elimination on basic blocks.
3225
3226 Added mutex when accessing concurrent recompilation output queue.
3227 (Chromium issue 291236)
3228
3229 Don't lookup the cache for the result of Function::New.
3230 (Chromium issue 272579)
3231
3232 Tweaked HConstant::EmitAtUses() to eliminate useless constant
3233 generation.
3234 (Chromium issue 2881)
3235
3236 Performance and stability improvements on all platforms.
3237
3238
32392013-09-16: Version 3.21.16
3240
3241 Every place where AllocationMemento is initialized with an
3242 AllocationSite is now checked to be sure a valid Site goes in. This is
3243 temporary code to diagnose chromium bug 284577.
3244
3245 Performance and stability improvements on all platforms.
3246
3247
32482013-09-13: Version 3.21.15
3249
3250 Non-JSObject heap objects are now handled using slow-path IC stub
3251 guarded by the map.
3252 (Chromium issue 280632)
3253
3254 i18n Javascript code added to the snapshot.
3255 (V8 issue 2745)
3256
3257 Performance and stability improvements on all platforms.
3258
32592013-09-12: Version 3.21.14
3260
3261 Added access check for observed objects.
3262 (V8 issue 2778)
3263
3264 Cleaned up v8::ArrayBuffer::Allocator interface.
3265 (V8 issue 2823)
3266
3267 Performance and stability improvements on all platforms.
3268
32692013-09-11: Version 3.21.13
3270
3271 Added a ResourceConstraint for the embedder to specify that V8 is
3272 running on a memory constrained device.
3273 (Chromium issue 280984)
3274
3275 Removed HandleScope default ctor.
3276 (Chromium issue 236173)
3277
3278 Enabled escape analysis for Hydrogen.
3279
3280 Correctly stringified mixed encoding indirect strings.
3281 (Chromium issue 287476)
3282
3283 Performance and stability improvements on all platforms.
3284
3285
32862013-09-09: Version 3.21.12
3287
3288 Fixed bitwise negation on x64.
3289 (Chromium issue 285355)
3290
3291 Dropped GetCurrentThreadId() and TerminateExecution(int) from
3292 the external API.
3293
3294 Fixed polymorphic INTERCEPTOR StoreICs on ARM/MIPS.
3295 (Chromium issue 284998)
3296
3297 Added check if timeout has expired after processing each sample.
3298 (issue 2814,v8:2871)
3299
3300 Removed obsolete global V8::has_been_fooed flags.
3301 (issue 2744)
3302
3303 Performance and stability improvements on all platforms.
3304
3305
33062013-09-05: Version 3.21.11
3307
3308 Performance and stability improvements on all platforms.
3309
3310
33112013-09-04: Version 3.21.10
3312
3313 Fixed Eternal::IsEmpty logic (issue 2870).
3314
3315 Performance and stability improvements on all platforms.
3316
3317
33182013-09-03: Version 3.21.9
3319
3320 Deprecated Persistent functions which were marked to be deprecated.
3321
3322 Allowed uncacheable identifiers to go generic (issue 2867).
3323
3324 Performance and stability improvements on all platforms.
3325
3326
33272013-09-02: Version 3.21.8
3328
3329 Added scriptId to StackTrace frames (issue 2865).
3330
3331 Performance and stability improvements on all platforms.
3332
3333
33342013-08-30: Version 3.21.7
3335
3336 Fixed casts of eternal handles.
3337
3338 Turned on global handle zapping.
3339
3340 Always visit branches during HGraph building (Chromium issue 280333).
3341
3342 Profiler changes: removed deprecated API, support higher sampling
3343 rate on Windows.
3344
3345 Performance and stability improvements on all platforms.
3346
3347
33482013-08-29: Version 3.21.6
3349
3350 Fixed inlined 'throw' statements interfering with live range
3351 computation. (issue 2843)
3352
3353 Performance and stability improvements on all platforms.
3354
3355
33562013-08-28: Version 3.21.5
3357
3358 Fixed compilation with recent MinGW64 versions. (issue 2300)
3359
3360 Added RemovePrototype to FunctionTemplate. (Chromium issue 272440)
3361
3362 Performance and stability improvements on all platforms.
3363
3364
33652013-08-26: Version 3.21.4
3366
3367 Lowered kInitialMaxFastElementArray constant to 95K (issue 2790).
3368
3369 Use signals for cpu profiling on Mac OS X (issue 2814).
3370
3371 Deprecated CpuProfileNode::GetSelfSamplesCount (Chromium issue 267595).
3372
3373 Added support for higher CPU profiler sampling rate on posix systems
3374 (issue 2814).
3375
3376 Worked around 'inlining failed' build error with older GCC 4.x releases.
3377
3378 Added source map support to tick processor.
3379
3380 Stability improvements on all platforms.
3381
3382
33832013-08-23: Version 3.21.3
3384
3385 Temporarily disabled optimization for StringWrappers to use native
3386 valueOf. (issue 2855)
3387
3388 Fixed crash on function declarations in eval inside non-trivial local
3389 scope. (issue 2594)
3390
3391 Rewrote SamplingCircularQueue. (issue 2814)
3392
3393 Fixed hidden properties on object with frozen prototype. (issue 2829)
3394
3395 Fix deoptimization bug. (Chromium issue 274164)
3396
3397 Stability improvements on all platforms.
3398
3399
34002013-08-22: Version 3.21.2
3401
3402 Stability improvements on all platforms.
3403
3404
34052013-08-21: Version 3.21.1
3406
3407 Promoted ArrayBuffer, DataView and typed arrays to non-experimental.
3408 (Chromium issue 270527)
3409
3410 Replaced OS::MemCopy with memcpy in typed array initialization.
3411 (Chromium issue 270642)
3412
3413 Moved i18n break iterator C++ code to runtime (issue 2745)
3414
3415 Fixed invalid out-of-bounds store in MacroAssembler::Allocate.
3416 (Chromium issue 263515)
3417
3418 Fixed register misuse in Allocate() on ARM. (issue 2851)
3419
3420 Fixed empty handle dereference in Runtime_InternalNumberFormat.
3421 (Chromium issue 275467)
3422
3423 Performance and stability improvements on all platforms.
3424
3425
34262013-08-19: Version 3.21.0
3427
3428 Fixed GC-related crasher (Chromium issue 274438)
3429
3430 Reverted making Intl non-enumerable.
3431
3432 Performance and stability improvements on all platforms.
3433
3434
34352013-08-14: Version 3.20.17
3436
3437 Fixed Math.round/floor that had bogus Smi representation
3438 (Chromium issue 272564)
3439
3440 Performance and stability improvements on all platforms.
3441
3442
34432013-08-13: Version 3.20.16
3444
3445 Fixed bug in HPhi::SimplifyConstantInput (Chromium issue 269679)
3446
3447 Fixed gcmole bugs in i18n code (issue 2745)
3448
3449 ia32: Calls to the TranscendentalCacheStub must ensure that esi is
3450 set (issue 2827)
3451
3452 Made sure polymorphic element access creates non-replaying
3453 phis. (issue 2815)
3454
3455 Allowed HPhis to have an invalid merge index. (issue 2815)
3456
3457 Fixed smi-based math floor. (Chromium issue 270268)
3458
3459 Deprecated self and total time getters and total sample count
3460 getter on CpuProfileNode. (Chromium issue 267595)
3461
3462 Fixed Object.freeze, Object.observe wrt CountOperation and
3463 CompoundAssignment. (issue 2774,2779)
3464
3465 Performance and stability improvements on all platforms.
3466
3467
34682013-08-07: Version 3.20.15
3469
3470 Exposed eternal handle api.
3471
3472 Bugfix to solve issues with enabling V8 typed arrays in Blink.
3473
3474 Fixed Array index dehoisting. (Chromium issue 264203)
3475
3476 Updated Array Iterator to use numeric indexes (issue 2818)
3477
3478 Return start/end profiling time in microseconds instead of milliseconds
3479 (issue 2824)
3480
3481 Performance and stability improvements on all platforms.
3482
3483
34842013-08-06: Version 3.20.14
3485
3486 Added new Harmony methods to Array.prototype object.
3487 (issue 2776,v8:2777)
3488
3489 Performance and stability improvements on all platforms.
3490
3491
34922013-08-01: Version 3.20.12
3493
3494 Removed buggy ToNumber truncation (partial fix for issue 2813)
3495
3496 Calling Map etc without new should throw TypeError (issue 2819)
3497
3498 Fixed a crash for large code objects on ARM (Chromium issue 2736)
3499
3500 Fixed stale unhandlified value in JSObject::SetPropertyForResult.
3501 (Chromium issue 265894)
3502
3503 Added new Harmony methods to String.prototype object.
3504 (issue 2796,v8:2797,v8:2798,v8:2799)
3505
3506 Performance and stability improvements on all platforms.
3507
3508
35092013-07-30: Version 3.20.11
3510
3511 Performance and stability improvements on all platforms.
3512
3513
35142013-07-29: Version 3.20.10
3515
3516 Performance and stability improvements on all platforms.
3517
3518
35192013-07-26: Version 3.20.9
3520
3521 Check that ExternalString objects get aligned resources.
3522
3523 Fixed JSArray-specific length lookup in polymorphic array handling
3524 (Chromium issues 263276, 263905).
3525
3526 Performance and stability improvements on all platforms.
3527
3528
35292013-07-24: Version 3.20.8
3530
3531 Deprecated v8::V8::Pause/ResumeProfiler.
3532
3533 Fixed Chromium issues 247688, 258519 and 260203.
3534
3535 Performance and stability improvements on all platforms.
3536
3537
35382013-07-22: Version 3.20.7
3539
3540 Deprecated some debugger methods.
3541
3542 Fixed wrong bailout id in polymorphic stores (Chromium issue 259787).
3543
3544 Fixed data race in SamplingCircularQueue (Chromium issue 251218).
3545
3546 Fixed type feedback in presence of negative lookups
3547 (Chromium issue 252797).
3548
3549 Do not materialize context-allocated values for debug-evaluate
3550 (Chromium issue 259300).
3551
3552 Synchronized Compare-Literal behavior in FullCodegen and Hydrogen
3553 (Chromium issue 260345).
3554
3555 Performance and stability improvements on all platforms.
3556
3557
35582013-07-17: Version 3.20.6
3559
3560 Try to remove invalidated stubs before falling back to checking the
3561 constant state (Chromium issue 260585).
3562
3563 Fixed gyp_v8 to work with use_system_icu=1 (issue 2475).
3564
3565 Fixed sloppy-mode 'const' under Harmony flag (Chromium issue 173361).
3566
3567 Use internal array as API function cache (Chromium issue 260106).
3568
3569 Fixed possible stack overflow in range analysis
3570 (Chromium issue 259452).
3571
3572 Performance and stability improvements on all platforms.
3573
3574
35752013-07-15: Version 3.20.5
3576
3577 Ensured that the length of frozen arrays is immutable
3578 (issue 2711, Chromium issue 259548).
3579
3580 Performance and stability improvements on all platforms.
3581
3582
35832013-07-10: Version 3.20.4
3584
3585 Fixed garbage-collection issue that causes a crash on ARM
3586 (Chromium issue 254570)
3587
3588 Performance and stability improvements on all platforms.
3589
3590
35912013-07-08: Version 3.20.3
3592
3593 Performance and stability improvements on all platforms.
3594
3595
35962013-07-05: Version 3.20.2
3597
3598 Remove deprecated heap profiler methods from V8 public API
3599
3600 Mark i18n functions as native and set proper names
3601 (issue 2745)
3602
3603 Correctly report stack trace when current function is FunctionApply
3604 builtin (Chromium issue 252097)
3605
3606 Enable GDBJIT interface for standalone by default.
3607
3608 Fix debuggersupport=off build. (issue 2754)
3609
3610 Introduce -m64 flag for making x64 when the default gcc compiler is for
3611 X32
3612
3613 Performance and stability improvements on all platforms.
3614
3615
36162013-07-02: Version 3.20.1
3617
3618 Implemented WeakMap.prototype.clear function. (issue 2753)
3619
3620 Ensure CheckInitialized is present independent of define.
3621 (Chromium issue 255779)
3622
3623 Performance and stability improvements on all platforms.
3624
3625
36262013-06-28: Version 3.20.0
3627
3628 Migrated several tests from blink to V8 repository.
3629
3630 Allowed users of the V8 API to distinguish between unset and undefined
3631 HiddenValues (issue 2746).
3632
3633 Deprecated old style callbacks in the V8 API.
3634
3635 Turned on parallel recompilation.
3636
3637 Performance and stability improvements on all platforms.
3638
3639
36402013-06-18: Version 3.19.18
3641
3642 Fixed read-only attribute of Function.length in strict mode.
3643 (issue 2705)
3644
3645 Fixed Runtime_SetProperty to properly handle OOM failures
3646 (Chromium issue 249873)
3647
3648 Emit deprecated check for constant function transitions.
3649 (Chromium issue 250609)
3650
3651 Made MathFloorOfDiv optimization trigger more often
3652 (Issue 2205)
3653
3654 Make more GCs in idle notification handler.
3655 (Chromium issue 241815)
3656
3657 Increased default type info threshold.
3658 (Issue 2730)
3659
3660 Performance and stability improvements on all platforms.
3661
3662
36632013-06-14: Version 3.19.16
3664
3665 Performance and stability improvements on all platforms.
3666
3667
36682013-06-13: Version 3.19.15
3669
3670 Performance and stability improvements on all platforms.
3671
3672
36732013-06-13: Version 3.19.14
3674
3675 Fixed crashes when calling new Array(a) with a single argument that
3676 could result in creating a holey array with a packed elements kind.
3677 (Chromium issue 245480)
3678
3679 Fixed issues in parallel compilation.
3680 (Chromium issue 248076)
3681
3682 Performance and stability improvements on all platforms.
3683
3684
36852013-06-11: Version 3.19.13
3686
3687 Performance and stability improvements on all platforms.
3688
3689
36902013-06-10: Version 3.19.12
3691
3692 Fixed arguments array access. (Chromium issue 247303)
3693
3694 Fixed bug in LookupForWrite. (Chromium issue 242332)
3695
3696 Performance and stability improvements on all platforms.
3697
3698
36992013-06-07: Version 3.19.11
3700
3701 Performance and stability improvements on all platforms.
3702
3703
37042013-06-06: Version 3.19.10
3705
3706 Performance and stability improvements on all platforms.
3707
3708
37092013-06-05: Version 3.19.9
3710
3711 Implemented Load IC support for loading properties from primitive
3712 values to avoid perpetual soft deopts. (Chromium issue 242512)
3713
3714 Implemented Freeing of PerThreadAssertData when possible to avoid
3715 memory leak. (Chromium issue 246567)
3716
3717 Removed V8_USE_OLD_STYLE_PERSISTENT_HANDLE_VISITORS.
3718
3719 Performance and stability improvements on all platforms.
3720
3721
37222013-06-03: Version 3.19.8
3723
3724 Fixed bug with inlining 'Array' function. (Chromium issue 244461)
3725
3726 Fixed initialization of literal objects. (Chromium issue 245424)
3727
3728 Fixed function name inferred inside closures. (Chromium issue 224884)
3729
3730 Performance and stability improvements on all platforms.
3731
3732
37332013-05-31: Version 3.19.7
3734
3735 Added support for //# sourceURL similar to deprecated //@ sourceURL one.
3736 (issue 2702)
3737
3738 Made sure IfBuilder::Return clears the current block.
3739 (Chromium issue 243868)
3740
3741 Fixed two CPU profiler tests on ARM and MIPS simulators
3742 (issue 2628)
3743
3744 Fixed idle incremental GC for large objects.
3745 (Chromium issue 241815)
3746
3747 Disabled --optimize-constructed-arrays due to crashes
3748 (Chromium issue 244461)
3749
3750 Performance and stability improvements on all platforms.
3751
3752
37532013-05-28: Version 3.19.6
3754
3755 Fixed IfBuilder::Deopt to clear the current block
3756 (Chromium issue 243868).
3757
3758 Performance and stability improvements on all platforms.
3759
3760
37612013-05-27: Version 3.19.5
3762
3763 Reset regexp parser flag after scanning ahead for capture groups.
3764 (issue 2690)
3765
3766 Removed flakiness in test-cpu-profiler/SampleWhenFrameIsNotSetup.
3767 (issue 2628)
3768
3769 Performance and stability improvements on all platforms.
3770
3771
37722013-05-24: Version 3.19.4
3773
3774 Fixed edge case in stack trace formatting. (Chromium issue 237617)
3775
3776 Fixed embedded new-space pointer in LCmpObjectEqAndBranch. (Chromium
3777 issue 240032)
3778
3779 Made Object.freeze fast (issue 1858, Chromium issue 115960)
3780
3781 Fixed bogus deopt in BuildEmitDeepCopy for holey arrays. (Chromium issue
3782 242924)
3783
3784 Performance and stability improvements on all platforms.
3785
3786
37872013-05-22: Version 3.19.3
3788
3789 Performance and stability improvements on all platforms.
3790
3791
37922013-05-17: Version 3.19.2
3793
3794 Fill in one-word-fillers for the unused property fields
3795 (Chromium issue 240056).
3796
3797 Removed use_system_v8 logic from the mainline gyp file
3798 (Chromium issue 226860).
3799
3800 Skip CPU profiler samples where top function's stack frame is not
3801 set up properly (issue 2628).
3802
3803 Performance and stability improvements on all platforms.
3804
3805
38062013-05-14: Version 3.19.1
3807
3808 Fixed missing hole check for loads from Smi arrays when all uses are
3809 changes (Chromium issue 233737)
3810
3811 Performance and stability improvements on all platforms.
3812
3813
38142013-05-10: Version 3.19.0
3815
3816 Deprecated Context::New which returns Persistent.
3817
3818 Added Persistent<T>::Reset which disposes the handle and redirects it to
3819 point to another object.
3820
3821 Deprecated WriteAscii and MayContainNonAscii.
3822
3823 Exposed AssertNoAllocation to API.
3824
3825 Performance and stability improvements on all platforms.
3826
3827
38282013-04-30: Version 3.18.5
3829
3830 Allowed setting debugger breakpoints on CompareNilICs (issue 2660)
3831
3832 Fixed beyond-heap load on x64 Crankshafted StringCharFromCode
3833 (Chromium issue 235311)
3834
3835 Change 'Parse error' to three more informative messages.
3836 (Chromium issue 2636)
3837
3838 Performance and stability improvements on all platforms.
3839
3840
38412013-04-26: Version 3.18.4
3842
3843 Added a preliminary API for ES6 ArrayBuffers
3844
3845 Replaced qsort with std::sort. (Chromium issue 2639)
3846
3847 Performance and stability improvements on all platforms.
3848
3849
38502013-04-24: Version 3.18.3
3851
3852 Exposed the GC under a name that is less collision prone than window.gc.
3853 (issue 2641)
3854
3855 Do not emit double values at their use sites. (Chromium issue 234101)
3856
3857 Added methods to allow resuming execution after calling
3858 TerminateExecution(). (issue 2361)
3859
3860 Performance and stability improvements on all platforms.
3861
3862
38632013-04-22: Version 3.18.2
3864
3865 OS::MemMove/OS::MemCopy: Don't call through to generated code when size
3866 == 0 to avoid prefetching invalid memory (Chromium issue 233500)
3867
3868 Removed heap snapshot size limit. (Chromium issue 232305)
3869
3870 Performance and stability improvements on all platforms.
3871
3872
38732013-04-18: Version 3.18.1
3874
3875 Removed SCons related files and deprecated test suite configurations.
3876
3877 Improved handling of unary plus (issue 2527).
3878
3879 Performance and stability improvements on all platforms.
3880
3881
38822013-04-17: Version 3.18.0
3883
3884 Enabled pretenuring of fast literals in high promotion mode.
3885
3886 Removed preparser library; link preparser executable against full V8.
3887
3888 Fixed set-up of intrinsic's 'constructor' properties.
3889 (Chromium issue 229445)
3890
3891 ES6 symbols: extended V8 API to support symbols (issue 2158).
3892
3893 Removed ARM support for VFP2.
3894
3895 Made __proto__ a real JavaScript accessor property.
3896 (issue 1949 and issue 2606)
3897
3898 Performance and stability improvements on all platforms.
3899
3900
39012013-04-04: Version 3.17.16
3902
3903 Stack trace API: poison stack frames below the first strict mode frame.
3904 (issue 2564)
3905
3906 Made Isolate::GetHeapStatistics robust against half-initialized
3907 isolates (Chromium issue 2591).
3908
3909 Finished implementation of ES6 symbols aka. private names (issue 2158).
3910
3911 Performance and stability improvements on all platforms.
3912
3913
39142013-03-21: Version 3.17.15
3915
3916 Rolled back API changes to maintain compatibility with older
3917 3.17.x versions of V8.
3918
3919 Disable zapping of global handles in release mode.
3920
3921 Always mark the entire valid prefix of the descriptor array.
3922 (Chromium issue 196331)
3923
3924 Use internal memcpy for CopyWords and when copying code.
3925 (Chromium issue 196330)
3926
3927 Performance and stability improvements on all platforms.
3928
3929
39302013-03-20: Version 3.17.14
3931
3932 Use internal memcpy when initializing code objects.
3933 (Chromium issue 196330)
3934
3935 Disabled weak embedded maps because of crashes.
3936 (Chromium issues 172489, 217858)
3937
3938 Performance and stability improvements on all platforms.
3939
3940
39412013-03-19: Version 3.17.13
3942
3943 Turned Flags into a uint32_t typedef (Chromium issue 194749).
3944
3945 Performance and stability improvements on all platforms.
3946
3947
39482013-03-18: Version 3.17.12
3949
3950 Unified kMaxArguments with number of bits used to encode it.
3951 (Chromium issue 211741)
3952
3953 Fixed detection of |handle_smi| case in
3954 HOptimizedGraphBuilder::HandlePolymorphicCallNamed.
3955 (Chromium issue 196583)
3956
3957 Performance and stability improvements on all platforms.
3958
3959
39602013-03-15: Version 3.17.11
3961
3962 Added a version of the v8::HandleScope constructor with an v8::Isolate
3963 parameter and made AdjustAmountOfExternalAllocatedMemory an instance
3964 method of v8::Isolate.
3965 (issue 2487)
3966
3967 Fixed two register allocator bugs (off-by-one error/failure
3968 propagation). (issue 2576)
3969
3970 Fixed huge heap snapshot when a heavily shared context has many
3971 variables. (Chromium issue 145687)
3972
3973 Performance and stability improvements on all platforms.
3974
3975
39762013-03-13: Version 3.17.10
3977
3978 Fixed heap snapshot creation for Harmony collections. (issue 2535)
3979
3980 Fixed register allocation corner case. (Chromium issue 177883)
3981
3982 Performance and stability improvements on all platforms.
3983
3984
39852013-03-08: Version 3.17.9
3986
3987 Restored Function()'s expected string representation. (issue 2470)
3988
3989 Enabled deprecatations (again). (issue 2487)
3990
3991 Avoid bool to Oddball conversions by being lazy. (issue 2491)
3992
3993 Added %p option to --logfile.
3994
3995 Hardened Function()'s parsing of function literals. (issue 2470)
3996
3997 ES6 symbols: Refine test for getOwnPropertyNames. (issue 2158)
3998
3999 Performance and stability improvements on all platforms.
4000
4001
40022013-03-07: Version 3.17.8
4003
4004 Added missing license headers. (Chromium issue 98597)
4005
4006 Inserted missing type cast in JSON.stringify. (issue 2570)
4007
4008 Reverted "Send SIGPROF signals on the profiler event processor thread"
4009 (issue 2571)
4010
4011 Fixed Array.length, String.length and Function.prototype LoadICs on x64.
4012 (issue 2568)
4013
4014 ES6 symbols: filter symbols form for-in loops and Object.keys.
4015 (issue 2158)
4016
4017 Properly handle misses for StoreArrayLengthStub on ia32 and x64
4018 (issue 2566)
4019
4020 Fixed x32 handling of Atomic64. (Chromium issue chromium-os:36866)
4021
4022 Removed "library" variable from standalone.gypi. (Chromium issue 111541)
4023
4024 Fixed HCheckSmiOrInt <-> HBoundsCheck interaction wrt. representations.
4025 (issue 2556)
4026
4027 Enabled zapping of disposed global handles in release mode.
4028 (Chromium issue 176056)
4029
4030 Added workaround for redefinition of __proto__ property. (issue 2565)
4031
4032 ES6 symbols: Allow symbols as property names. (issue 2158)
4033
4034 Performance and stability improvements on all platforms.
4035
4036
40372013-03-04: Version 3.17.7
4038
4039 Limited recursion in regexp compilation by a budget.
4040 (Chromium issue 178790)
4041
4042 ES6 symbols: Implemented Symbol intrinsic and basic functionality
4043 (issue 2158)
4044
4045 Performance and stability improvements on all platforms.
4046
4047
40482013-02-28: Version 3.17.6
4049
4050 Fixed materialization of arguments objects with unknown values.
4051 (Chromium issue 163530)
4052
4053 Set default number of sweeper threads to at most four.
4054
4055 Performance and stability improvements on all platforms.
4056
4057
40582013-02-27: Version 3.17.5
4059
4060 Made __proto__ a foreign callback on Object.prototype.
4061 (issue 621, issue 1949 and issue 2441)
4062
4063 Performance and stability improvements on all platforms.
4064
4065
40662013-02-25: Version 3.17.4
4067
4068 Performance and stability improvements on all platforms.
4069
4070
40712013-02-21: Version 3.17.3
4072
4073 Performance and stability improvements on all platforms.
4074
4075
40762013-02-19: Version 3.17.2
4077
4078 Removed bogus check for TOP register in deoptimizer.
4079 (Chromium issue 176943)
4080
4081 Made the Isolate parameter mandatory for internal HandleScopes.
4082 (issue 2487)
4083
4084 Fixed f.apply() optimization when declared arguments are mutated.
4085 (issue 2539)
4086
4087 Performance and stability improvements on all platforms.
4088
4089
40902013-02-14: Version 3.17.1
4091
4092 Performance and stability improvements on all platforms.
4093
4094
40952013-02-13: Version 3.17.0
4096
4097 Enabled parallel sweeping.
4098
4099 Don't try to unlink instructions twice during GVN
4100 (Chromium issue 175141)
4101
4102 Fixed code flusher disabling while marking incrementally.
4103 (Chromium issue 173458, 168582)
4104
4105 Don't use TLS for space iterators.
4106 (issue 2531)
4107
4108 Added new GetHeapStatistics API entry and deprecated old one.
4109
4110 Fixed DoubleStackSlot-to-DoubleStackSlot moves on ia32. Unified
4111 platform-independent code.
4112 (Chromium issue 173907)
4113
4114 Added --trace-array-abuse to help find OOB accesses.
4115
4116 Performance and stability improvements on all platforms.
4117
4118
41192013-02-06: Version 3.16.14
4120
4121 Performance and stability improvements on all platforms.
4122
4123
41242013-02-04: Version 3.16.13
4125
4126 Tagged stubs that rely on instance types as MEGAMORPHIC.
4127 (Chromium issue 173974)
4128
4129 Fixed clearing of dead dependent codes and verifing of weak
4130 embedded maps on full GC. (Chromium issue 172488,172489)
4131
4132 Made the arm port build cleanly with Clang.
4133
4134 Performance and stability improvements on all platforms.
4135
4136
41372013-01-31: Version 3.16.12
4138
4139 Performance and stability improvements on all platforms.
4140
4141
41422013-01-30: Version 3.16.11
4143
4144 Put making embedded maps in optimized code weak behind a flag.
4145 (Chromium issue 172488,172489)
4146
4147 Performance and stability improvements on all platforms.
4148
4149
41502013-01-25: Version 3.16.10
4151
4152 Avoid excessive memory usage during redundant phi elimination.
4153 (issue 2510)
4154
4155 Fixed additional spec violations wrt RegExp.lastIndex.
4156 (issue 2437)
4157
4158 Added Isolate parameter to Persistent class.
4159 (issue 2487)
4160
4161 Performance and stability improvements on all platforms.
4162
4163
41642013-01-24: Version 3.16.9
4165
4166 Made embedded maps in optimized code weak.
4167 (issue 2073)
4168
4169 Fixed corner case when JSFunction is evicted from flusher.
4170 (Chromium issue 168801)
4171
4172 Correctly set kCanBeDivByZero flag for HMathFloorOfDiv.
4173 (Chromium issue 171641)
4174
4175 Performance and stability improvements on all platforms.
4176
4177
41782013-01-23: Version 3.16.8
4179
4180 Correctly reset lastIndex in an RegExp object.
4181 (Chromium issue 170856)
4182
4183 Added a workaround for Windows compilation problems related to V8EXPORT.
4184 (issue 2507)
4185
4186 tools/run-tests.py: shlex.split() the value of --command-prefix
4187 (Chromium issue 171553)
4188
4189 Fixed pattern detection for replacing shifts by rotation.
4190 (Chromium issue 2499)
4191
4192 Performance and stability improvements on all platforms.
4193
4194
41952013-01-21: Version 3.16.7
4196
4197 Removed <(library) usage from v8.gyp.
4198 (Chromium issue 111541)
4199
4200 Fixed out of bounds memory access in TestJSArrayForAllocationSiteInfo.
4201 (Chromium issue 169928)
4202
4203 Performance and stability improvements on all platforms.
4204
4205
42062013-01-18: Version 3.16.6
4207
4208 Made the Isolate parameter mandatory in Locker and Unlocker classes.
4209 (issue 2487)
4210
4211 Avoid pointer underflow in CopyCharsUnsigned.
4212 (issue 2493)
4213
4214 Generate shim headers when using system v8.
4215 (Chromium issue 165264)
4216
4217 Fixed arguments materialization for inlined apply().
4218 (issue 2489)
4219
4220 Sync'ed laziness between BuildFunctionInfo and MakeFunctionInfo.
4221 (Chromium issue 147497)
4222
4223 Added sanity check to CodeFlusher::AddCandidate.
4224 (Chromium issue 169209)
4225
4226 Performance and stability improvements on all platforms.
4227
4228
42292013-01-15: Version 3.16.5
4230
4231 Removed deprecated functions from V8's external API.
4232
4233 Prepared API for WebKit use of Latin-1.
4234
4235 Fixed V8 issue 2486.
4236
4237 Fixed Chromium issue 169723.
4238
4239 Performance and stability improvements on all platforms.
4240
4241
42422013-01-11: Version 3.16.4
4243
4244 Fixed Chromium issues 168545 and 169209.
4245
4246 Performance and stability improvements on all platforms.
4247
4248
42492013-01-09: Version 3.16.3
4250
4251 Improved GC performance when moving parts of a FixedArray (issue 2452).
4252
4253 Enabled readline on d8 while building a shared lib (issue 1781).
4254
4255 Fixed missing exception check in typed array constructor
4256 (Chromium issue 168545).
4257
4258 Check for read-only-ness when preparing for array sort (issue 2419).
4259
4260 Performance and stability improvements on all platforms.
4261
4262
42632013-01-04: Version 3.16.2
4264
4265 Added Makefile options to build for the Raspberry Pi (armv7=0,
4266 arm_fpu=vfp2).
4267
4268 Performance and stability improvements on all platforms.
4269
4270
42712012-12-27: Version 3.16.1
4272
4273 Fixed x64 MathMinMax for negative untagged int32 arguments.
4274 (Chromium issue 164442)
4275
4276 Fixed FloatingPointHelper::CheckSSE2OperandIsInt32.
4277 (issue 2458)
4278
4279 Performance and stability improvements on all platforms.
4280
4281
42822012-12-21: Version 3.16.0
4283
4284 V8_Fatal now prints C++ stack trace in debug mode.
4285
4286 Added HTML-based tick processor.
4287
4288 Continued implementation of Object.observe (V8 issue 2409).
4289
4290 Fixed V8 issues 2243, 2340, 2393, 2399, 2457.
4291
4292 Fixed Chromium issues 125308, 165637, 166379, 166553.
4293
4294 Performance and stability improvements on all platforms.
4295
4296
42972012-12-10: Version 3.15.11
4298
4299 Define CAN_USE_VFP2/3_INSTRUCTIONS based on arm_neon and arm_fpu GYP
4300 flags.
4301
4302 Performance and stability improvements on all platforms.
4303
4304
43052012-12-07: Version 3.15.10
4306
4307 Enabled optimisation of functions inside eval. (issue 2315)
4308
4309 Fixed spec violations in methods of Number.prototype. (issue 2443)
4310
4311 Added GCTracer metrics for a scavenger GC for DOM wrappers.
4312
4313 Performance and stability improvements on all platforms.
4314
4315
43162012-12-06: Version 3.15.9
4317
4318 Fixed candidate eviction in code flusher.
4319 (Chromium issue 159140)
4320
4321 Iterate through all arguments for side effects in Math.min/max.
4322 (issue 2444)
4323
4324 Fixed spec violations related to regexp.lastIndex
4325 (issue 2437, issue 2438)
4326
4327 Performance and stability improvements on all platforms.
4328
4329
43302012-12-04: Version 3.15.8
4331
4332 Enforced stack allocation of TryCatch blocks.
4333 (issue 2166,chromium:152389)
4334
4335 Fixed external exceptions in external try-catch handlers.
4336 (issue 2166)
4337
4338 Activated incremental code flushing by default.
4339
4340 Performance and stability improvements on all platforms.
4341
4342
43432012-11-30: Version 3.15.7
4344
4345 Activated code aging by default.
4346
4347 Included more information in --prof log.
4348
4349 Removed eager sweeping for lazy swept spaces. Try to find in
4350 SlowAllocateRaw a bounded number of times a big enough memory slot.
4351 (issue 2194)
4352
4353 Performance and stability improvements on all platforms.
4354
4355
43562012-11-26: Version 3.15.6
4357
4358 Ensure double arrays are filled with holes when extended from
4359 variations of empty arrays. (Chromium issue 162085)
4360
4361 Performance and stability improvements on all platforms.
4362
4363
43642012-11-23: Version 3.15.5
4365
4366 Fixed JSON.stringify for objects with interceptor handlers.
4367 (Chromium issue 161028)
4368
4369 Fixed corner case in x64 compare stubs. (issue 2416)
4370
4371 Performance and stability improvements on all platforms.
4372
4373
43742012-11-16: Version 3.15.4
4375
4376 Fixed Array.prototype.join evaluation order. (issue 2263)
4377
4378 Perform CPU sampling by CPU sampling thread only iff processing thread
4379 is not running. (issue 2364)
4380
4381 When using an Object as a set in Object.getOwnPropertyNames, null out
4382 the proto. (issue 2410)
4383
4384 Disabled EXTRA_CHECKS in Release build.
4385
4386 Heap explorer: Show representation of strings.
4387
4388 Removed 'type' and 'arguments' properties from Error object.
4389 (issue 2397)
4390
4391 Added atomics implementation for ThreadSanitizer v2.
4392 (Chromium issue 128314)
4393
4394 Fixed LiveEdit crashes when object/array literal is added. (issue 2368)
4395
4396 Performance and stability improvements on all platforms.
4397
4398
43992012-11-13: Version 3.15.3
4400
4401 Changed sample shell to send non-JS output (e.g. errors) to stderr
4402 instead of stdout.
4403
4404 Correctly check for stack overflow even when interrupt is pending.
4405 (issue 214)
4406
4407 Collect stack trace on stack overflow. (issue 2394)
4408
4409 Performance and stability improvements on all platforms.
4410
4411
44122012-11-12: Version 3.15.2
4413
4414 Function::GetScriptOrigin supplies sourceURL when script name is
4415 not available. (Chromium issue 159413)
4416
4417 Made formatting error message side-effect-free. (issue 2398)
4418
4419 Fixed length check in JSON.stringify. (Chromium issue 160010)
4420
4421 ES6: Added support for Set and Map clear method (issue 2400)
4422
4423 Fixed slack tracking when instance prototype changes.
4424 (Chromium issue 157019)
4425
4426 Fixed disabling of code flusher while marking. (Chromium issue 159140)
4427
4428 Added a test case for object grouping in a scavenger GC (issue 2077)
4429
4430 Support shared library build of Android for v8.
4431 (Chromium issue 158821)
4432
4433 ES6: Added support for size to Set and Map (issue 2395)
4434
4435 Performance and stability improvements on all platforms.
4436
4437
44382012-11-06: Version 3.15.1
4439
4440 Put incremental code flushing behind a flag. (Chromium issue 159140)
4441
4442 Performance and stability improvements on all platforms.
4443
4444
44452012-10-31: Version 3.15.0
4446
4447 Loosened aligned code target requirement on ARM (issue 2380)
4448
4449 Fixed JSON.parse to treat leading zeros correctly.
4450 (Chromium issue 158185)
4451
4452 Performance and stability improvements on all platforms.
4453
4454
44552012-10-22: Version 3.14.5
4456
4457 Killed off the SCons based build.
4458
4459 Added a faster API for creating v8::Integer objects.
4460
4461 Speeded up function deoptimization by avoiding quadratic pass over
4462 optimized function list. (Chromium issue 155270)
4463
4464 Always invoke the default Array.sort functions from builtin functions.
4465 (issue 2372)
4466
4467 Reverted recent CPU profiler changes because they broke --prof.
4468 (issue 2364)
4469
4470 Switched code flushing to use different JSFunction field.
4471 (issue 1609)
4472
4473 Performance and stability improvements on all platforms.
4474
4475
44762012-10-15: Version 3.14.4
4477
4478 Allow evals for debugger even if they are prohibited in the debugee
4479 context. (Chromium issue 154733)
4480
4481 Enabled --verify-heap in release mode (issue 2120)
4482
4483 Performance and stability improvements on all platforms.
4484
4485
44862012-10-11: Version 3.14.3
4487
4488 Use native context to retrieve ErrorMessageForCodeGenerationFromStrings
4489 (Chromium issue 155076).
4490
4491 Bumped variable limit further to 2^17 (Chromium issue 151625).
4492
4493 Performance and stability improvements on all platforms.
4494
4495
44962012-10-10: Version 3.14.2
4497
4498 ARM: allowed VFP3 instructions when hardfloat is enabled.
4499 (Chromium issue 152506)
4500
4501 Fixed instance_descriptors() and PushStackTraceAndDie regressions.
4502 (Chromium issue 151749)
4503
4504 Made GDBJIT interface compile again. (issue 1804)
4505
4506 Fixed Accessors::FunctionGetPrototype's proto chain traversal.
4507 (Chromium issue 143967)
4508
4509 Made sure that names of temporaries do not clash with real variables.
4510 (issue 2322)
4511
4512 Rejected local module declarations. (Chromium issue 150628)
4513
4514 Rejected uses of lexical for-loop variable on the RHS. (issue 2322)
4515
4516 Fixed slot recording of code target patches.
4517 (Chromium issue 152615,chromium:144230)
4518
4519 Changed the Android makefile to use GCC 4.6 instead of GCC 4.4.3.
4520
4521 Performance and stability improvements on all platforms.
4522
4523
45242012-10-01: Version 3.14.1
4525
4526 Don't set -m32 flag when compiling with Android ARM compiler.
4527 (Chromium issue 143889)
4528
4529 Restore the descriptor array before returning allocation failure.
4530 (Chromium issue 151750)
4531
4532 Lowered kMaxVirtualRegisters (v8 issue 2139, Chromium issues 123822 and
4533 128252).
4534
4535 Pull more recent gyp in 'make dependencies'.
4536
4537 Made sure that the generic KeyedStoreIC changes length and element_kind
4538 atomically (issue 2346).
4539
4540 Bumped number of allowed variables per scope to 65535, to address GWT.
4541 (Chromium issue 151625)
4542
4543 Support sourceURL for dynamically inserted scripts (issue 2342).
4544
4545 Performance and stability improvements on all platforms.
4546
4547
45482012-09-20: Version 3.14.0
4549
4550 Fixed missing slot recording during clearing of CallICs.
4551 (Chromium issue 144230)
4552
4553 Fixed LBoundsCheck on x64 to handle (stack slot + constant) correctly.
4554 (Chromium issue 150729)
4555
4556 Fixed minus zero test. (Issue 2133)
4557
4558 Fixed setting array length to zero for slow elements.
4559 (Chromium issue 146910)
4560
4561 Fixed lost arguments dropping in HLeaveInlined.
4562 (Chromium issue 150545)
4563
4564 Fixed casting error for receiver of interceptors.
4565 (Chromium issue 149912)
4566
4567 Throw a more descriptive exception when blocking 'eval' via CSP.
4568 (Chromium issue 140191)
4569
4570 Fixed debugger's eval when close to stack overflow. (issue 2318)
4571
4572 Added checks to live edit. (issue 2297)
4573
4574 Switched on code compaction on incremental GCs.
4575
4576 Fixed caching of optimized code for OSR. (issue 2326)
4577
4578 Not mask exception thrown by toString in String::UtfValue etc.
4579 (issue 2317)
4580
4581 Fixed API check for length of external arrays. (Chromium issue 148896)
4582
4583 Ensure correct enumeration indices in the dict (Chromium issue 148376)
4584
4585 Correctly initialize regexp global cache. (Chromium issue 148378)
4586
4587 Fixed arguments object materialization during deopt. (issue 2261)
4588
4589 Introduced new API to expose external string resource regardless of
4590 encoding.
4591
4592 Fixed CHECK failure in LCodeGen::DoWrapReceiver when
4593 --deopt-every-n-times flag is present
4594 (Chromium issue 148389)
4595
4596 Fixed edge case of extension with NULL as source string.
4597 (Chromium issue 144649)
4598
4599 Fixed array index dehoisting. (Chromium issue 141395)
4600
4601 Performance and stability improvements on all platforms.
4602
4603
46042012-09-11: Version 3.13.7
4605
4606 Enable/disable LiveEdit using the (C++) debug API.
4607
4608 Performance and stability improvements on all platforms.
4609
4610
46112012-09-06: Version 3.13.6
4612
4613 Added validity checking to API functions and calls.
4614
4615 Disabled accessor inlining (Chromium issue 134609).
4616
4617 Fixed bug in Math.min/max in optimized code (Chromium issue 145961).
4618
4619 Directly use %ObjectKeys in json stringify (Chromium issue 2312).
4620
4621 Fixed VS2005 build (issue 2313).
4622
4623 Activated fixed ES5 readonly semantics by default.
4624
4625 Added hardfp flag to the Makefile.
4626
4627 Performance and stability improvements on all platforms.
4628
4629
46302012-08-29: Version 3.13.5
4631
4632 Release stack trace data after firing Error.stack accessor.
4633 (issue 2308)
4634
4635 Added a new API V8::SetJitCodeEventHandler to push code name and
4636 location to users such as profilers.
4637
4638 Allocate block-scoped global bindings to global context.
4639
4640 Performance and stability improvements on all platforms.
4641
4642
46432012-08-28: Version 3.13.4
4644
4645 Print reason for disabling optimization. Kill --trace-bailout flag.
4646
4647 Provided option to disable full DEBUG build on Android.
4648
4649 Introduced global contexts to represent lexical global scope(s).
4650
4651 Fixed rounding in Uint8ClampedArray setter. (issue 2294)
4652
4653 Performance and stability improvements on all platforms.
4654
4655
46562012-08-21: Version 3.13.3
4657
4658 Performance and stability improvements on all platforms.
4659
4660
46612012-08-20: Version 3.13.2
4662
4663 Performance and stability improvements on all platforms.
4664
4665
46662012-08-16: Version 3.13.1
4667
4668 Performance and stability improvements on all platforms.
4669
4670
46712012-08-10: Version 3.13.0
4672
4673 Added histograms for total allocated/live heap size, as well as
4674 allocated size and percentage of total for map and cell space.
4675
4676 Fixed parseInt's octal parsing behavior (ECMA-262 Annex E 15.1.2.2).
4677 (issue 1645)
4678
4679 Added checks for interceptors to negative lookup code in Crankshaft.
4680 (Chromium issue 140473)
4681
4682 Made incremental marking clear ICs and type feedback cells.
4683
4684 Performance and stability improvements on all platforms.
4685
4686
46872012-08-01: Version 3.12.19
4688
4689 Performance and stability improvements on all platforms.
4690
4691
46922012-07-30: Version 3.12.18
4693
4694 Forced using bit-pattern for signed zero double. (issue 2239)
4695
4696 Made sure double to int conversion is correct. (issue 2260)
4697
4698 Performance and stability improvements on all platforms.
4699
4700
47012012-07-27: Version 3.12.17
4702
4703 Always set the callee's context when calling a function from optimized
4704 code.
4705 (Chromium issue 138887)
4706
4707 Fixed building with GCC 3.x
4708 (issue 2016, 2017)
4709
4710 Improved API calls that return empty handles.
4711 (issue 2245)
4712
4713 Performance and stability improvements on all platforms.
4714
4715
47162012-07-25: Version 3.12.16
4717
4718 Performance and stability improvements on all platforms.
4719
4720
47212012-07-24: Version 3.12.15
4722
4723 Added PRESERVE_ASCII_NULL option to String::WriteAscii.
4724 (issue 2252)
4725
4726 Added dependency to HLoadKeyed* instructions to prevent invalid
4727 hoisting. (Chromium issue 137768)
4728
4729 Enabled building d8 for Android on Mac.
4730
4731 Interpret negative hexadecimal literals as NaN.
4732 (issue 2240)
4733
4734 Expose counters in javascript when using --track-gc-object-stats.
4735
4736 Enabled building and testing V8 on Android IA.
4737
4738 Added --trace-parse flag to parser.
4739
4740 Performance and stability improvements on all platforms.
4741
4742
47432012-07-18: Version 3.12.14
4744
4745 Deactivated optimization of packed arrays.
4746 (Chromium issue 137768)
4747
4748 Fixed broken accessor transition.
4749 (Chromium issue 137689)
4750
4751 Performance and stability improvements on all platforms.
4752
4753
47542012-07-17: Version 3.12.13
4755
4756 Fixed missing tagging of stack value in finally block.
4757 (Chromium issue 137496)
4758
4759 Added more support for heap analysis.
4760
4761 Performance and stability improvements on all platforms.
4762
4763
47642012-07-16: Version 3.12.12
4765
4766 Added an option to the tickprocessor to specify the directory for lib
4767 lookup.
4768
4769 Fixed ICs for slow objects with native accessor (Chromium issue 137002).
4770
4771 Fixed transcendental cache on ARM in optimized code (issue 2234).
4772
4773 New heap inspection tools: counters for object sizes and counts,
4774 histograms for external fragmentation.
4775
4776 Incorporated constness into inferred interfaces (in preparation for
4777 handling imports) (issue 1569).
4778
4779 Performance and stability improvements on all platforms.
4780
4781
47822012-07-12: Version 3.12.11
4783
4784 Renamed "mips" arch to "mipsel" in the GYP build.
4785
4786 Fixed computation of call targets on prototypes in Crankshaft.
4787 (Chromium issue 125148)
4788
4789 Removed use of __lookupGetter__ when generating stack trace.
4790 (issue 1591)
4791
4792 Turned on ES 5.2 globals semantics by default.
4793 (issue 1991, Chromium issue 80591)
4794
4795 Synced preparser and parser wrt syntax error in switch..case.
4796 (issue 2210)
4797
4798 Fixed reporting of octal literals in strict mode when preparsing.
4799 (issue 2220)
4800
4801 Fixed inline constructors for Harmony Proxy prototypes.
4802 (issue 2225)
4803
4804 Performance and stability improvements on all platforms.
4805
4806
48072012-07-10: Version 3.12.10
4808
4809 Re-enabled and fixed issue with array bounds check elimination
4810 (Chromium issue 132114).
4811
4812 Fixed Debug::Break crash. (Chromium issue 131642)
4813
4814 Added optimizing compiler support for JavaScript getters.
4815
4816 Performance and stability improvements on all platforms.
4817
4818
48192012-07-06: Version 3.12.9
4820
4821 Correctly advance the scanner when scanning unicode regexp flag.
4822 (Chromium issue 136084)
4823
4824 Fixed unhandlified code calling Harmony Proxy traps.
4825 (issue 2219)
4826
4827 Performance and stability improvements on all platforms.
4828
4829
48302012-07-05: Version 3.12.8
4831
4832 Implemented TypedArray.set and ArrayBuffer.slice in d8.
4833
4834 Performance and stability improvements on all platforms.
4835
4836
48372012-07-03: Version 3.12.7
4838
4839 Fixed lazy compilation for strict eval scopes.
4840 (Chromium issue 135066)
4841
4842 Made MACOSX_DEPLOYMENT_TARGET configurable in GYP.
4843 (issue 2151)
4844
4845 Report "hidden properties" in heap profiler for properties case.
4846 (issue 2212)
4847
4848 Activated optimization of packed arrays by default.
4849
4850 Performance and stability improvements on all platforms.
4851
4852
48532012-06-29: Version 3.12.6
4854
4855 Cleaned up hardfp ABI detection for ARM (V8 issue 2140).
4856
4857 Extended TypedArray support in d8.
4858
4859
48602012-06-28: Version 3.12.5
4861
4862 Fixed lazy parsing heuristics to respect outer scope.
4863 (Chromium issue 135008)
4864
4865 Allow using test-wrapper-gypbuild.py on Windows when no python
4866 interpreter is registered.
4867
4868 Performance and stability improvements on all platforms.
4869
4870
48712012-06-27: Version 3.12.4
4872
4873 Removed -fomit-frame-pointer flag from Release builds to make
4874 the stack walkable by TCMalloc (Chromium issue 133723).
4875
4876 Ported r7868 (constant masking) to x64 (issue 1374).
4877
4878 Expose more detailed memory statistics (issue 2201).
4879
4880 Fixed Harmony Maps and WeakMaps for undefined values
4881 (Chromium issue 132744).
4882
4883 Correctly throw reference error in strict mode with ICs disabled
4884 (issue 2119).
4885
4886 Performance and stability improvements on all platforms.
4887
4888
48892012-06-25: Version 3.12.3
4890
4891 Reverted r11835 'Unify promotion and allocation limit computation' due
4892 to V8 Splay performance regression on Mac. (Chromium issue 134183)
4893
4894 Fixed sharing of literal boilerplates for optimized code. (issue 2193)
4895
4896 Performance and stability improvements on all platforms.
4897
4898
48992012-06-22: Version 3.12.2
4900
4901 Made near-jump check more strict in LoadNamedFieldPolymorphic on
4902 ia32/x64. (Chromium issue 134055)
4903
4904 Fixed lazy sweeping heuristics to prevent old-space expansion.
4905 (issue 2194)
4906
4907 Performance and stability improvements on all platforms.
4908
4909
49102012-06-21: Version 3.12.1
4911
4912 Performance and stability improvements on all platforms.
4913
4914
49152012-06-20: Version 3.12.0
4916
4917 Fixed Chromium issues:
4918 115100, 129628, 131994, 132727, 132741, 132742, 133211
4919
4920 Fixed V8 issues:
4921 915, 1914, 2034, 2087, 2094, 2134, 2156, 2166, 2172, 2177, 2179, 2185
4922
4923 Added --extra-code flag to mksnapshot to load JS code into the VM
4924 before creating the snapshot.
4925
4926 Support 'restart call frame' command in the debugger.
4927
4928 Performance and stability improvements on all platforms.
4929
4930
49312012-06-13: Version 3.11.10
4932
4933 Implemented heap profiler memory usage reporting.
4934
4935 Preserved error message during finally block in try..finally.
4936 (Chromium issue 129171)
4937
4938 Fixed EnsureCanContainElements to properly handle double values.
4939 (issue 2170)
4940
4941 Improved heuristics to keep objects in fast mode with inherited
4942 constructors.
4943
4944 Performance and stability improvements on all platforms.
4945
4946
49472012-06-06: Version 3.11.9
4948
4949 Implemented ES5-conformant semantics for inherited setters and read-only
4950 properties. Currently behind --es5_readonly flag, because it breaks
4951 WebKit bindings.
4952
4953 Exposed last seen heap object id via v8 public api.
4954
4955 Performance and stability improvements on all platforms.
4956
4957
49582012-05-31: Version 3.11.8
4959
4960 Avoid overdeep recursion in regexp where a guarded expression with a
4961 minimum repetition count is inside another quantifier.
4962 (Chromium issue 129926)
4963
4964 Fixed missing write barrier in store field stub.
4965 (issues 2143, 1465, Chromium issue 129355)
4966
4967 Proxies: Fixed receiver for setters inherited from proxies.
4968 Proxies: Fixed ToStringArray function so that it does not reject some
4969 keys.
4970 (issue 1543)
4971
4972 Performance and stability improvements on all platforms.
4973
4974
49752012-05-29: Version 3.11.7
4976
4977 Get better function names in stack traces.
4978
4979 Performance and stability improvements on all platforms.
4980
4981
49822012-05-24: Version 3.11.6
4983
4984 Fixed RegExp.prototype.toString for incompatible receivers
4985 (issue 1981).
4986
4987 Performance and stability improvements on all platforms.
4988
4989
49902012-05-23: Version 3.11.5
4991
4992 Performance and stability improvements on all platforms.
4993
4994
49952012-05-22: Version 3.11.4
4996
4997 Some cleanup to common.gypi. This fixes some host/target combinations
4998 that weren't working in the Make build on Mac.
4999
5000 Handle EINTR in socket functions and continue incomplete sends.
5001 (issue 2098)
5002
5003 Fixed python deprecations. (issue 1391)
5004
5005 Made socket send and receive more robust and return 0 on failure.
5006 (Chromium issue 15719)
5007
5008 Fixed GCC 4.7 (C++11) compilation. (issue 2136)
5009
5010 Set '-m32' option for host and target platforms
5011
5012 Performance and stability improvements on all platforms.
5013
5014
50152012-05-18: Version 3.11.3
5016
5017 Disable optimization for functions that have scopes that cannot be
5018 reconstructed from the context chain. (issue 2071)
5019
5020 Define V8_EXPORT to nothing for clients of v8. (Chromium issue 90078)
5021
5022 Correctly check for native error objects. (Chromium issue 2138)
5023
5024 Performance and stability improvements on all platforms.
5025
5026
50272012-05-16: Version 3.11.2
5028
5029 Revert r11496. (Chromium issue 128146)
5030
5031 Implement map collection for incremental marking. (issue 1465)
5032
5033 Add toString method to CallSite (which describes a frame of the
5034 stack trace).
5035
5036
50372012-05-15: Version 3.11.1
5038
5039 Added a readbuffer function to d8 that reads a file into an ArrayBuffer.
5040
5041 Fix freebsd build. (V8 issue 2126)
5042
5043 Performance and stability improvements on all platforms.
5044
5045
50462012-05-11: Version 3.11.0
5047
5048 Fixed compose-discard crasher from r11524 (issue 2123).
5049
5050 Activated new global semantics by default. Global variables can
5051 now shadow properties of the global object (ES5.1 erratum).
5052
5053 Properly set ElementsKind of empty FAST_DOUBLE_ELEMENTS arrays when
5054 transitioning (Chromium issue 117409).
5055
5056 Made Error.prototype.name writable again, as required by the spec and
5057 the web (Chromium issue 69187).
5058
5059 Implemented map collection with incremental marking (issue 1465).
5060
5061 Regexp: Fixed overflow in min-match-length calculation
5062 (Chromium issue 126412).
5063
5064 MIPS: Fixed illegal instruction use on Loongson in code for
5065 Math.random() (issue 2115).
5066
5067 Fixed crash bug in VisitChoice (Chromium issue 126272).
5068
5069 Fixed unsigned-Smi check in MappedArgumentsLookup
5070 (Chromium issue 126414).
5071
5072 Fixed LiveEdit for function with no locals (issue 825).
5073
5074 Fixed register clobbering in LoadIC for interceptors
5075 (Chromium issue 125988).
5076
5077 Implemented clearing of CompareICs (issue 2102).
5078
5079 Performance and stability improvements on all platforms.
5080
5081
50822012-05-03: Version 3.10.8
5083
5084 Enabled MIPS cross-compilation.
5085
5086 Ensured reload of elements pointer in StoreFastDoubleElement stub.
5087 (Chromium issue 125515)
5088
5089 Fixed corner cases in truncation behavior when storing to
5090 TypedArrays. (issue 2110)
5091
5092 Fixed failure to properly recognize and report out-of-memory
5093 conditions when allocating code space pages. (Chromium issue
5094 118625)
5095
5096 Fixed idle notifications to perform a round of incremental GCs
5097 after context disposal. (issue 2107)
5098
5099 Fixed preparser for try statement. (issue 2109)
5100
5101 Performance and stability improvements on all platforms.
5102
5103
51042012-04-30: Version 3.10.7
5105
5106 Performance and stability improvements on all platforms.
5107
5108
51092012-04-26: Version 3.10.6
5110
5111 Fixed some bugs in accessing details of the last regexp match.
5112
5113 Fixed source property of empty RegExp objects. (issue 1982)
5114
5115 Enabled inlining some V8 API functions.
5116
5117 Performance and stability improvements on all platforms.
5118
5119
51202012-04-23: Version 3.10.5
5121
5122 Put new global var semantics behind a flag until WebKit tests are
5123 cleaned up.
5124
5125 Enabled stepping into callback passed to builtins.
5126 (Chromium issue 109564)
5127
5128 Performance and stability improvements on all platforms.
5129
5130
51312012-04-19: Version 3.10.4
5132
5133 Fixed issues when stressing compaction with WeakMaps.
5134
5135 Fixed missing GVN flag for new-space promotion. (Chromium issue 123919)
5136
5137 Simplify invocation sequence at monomorphic function invocation sites.
5138 (issue 2079)
5139
5140 Performance and stability improvements on all platforms.
5141
5142
51432012-04-17: Version 3.10.3
5144
5145 Fixed several bugs in heap profiles (including issue 2078).
5146
5147 Throw syntax errors on illegal escape sequences.
5148
5149 Implemented rudimentary module linking (behind --harmony flag)
5150
5151 Implemented ES5 erratum: Global declarations should shadow
5152 inherited properties.
5153
5154 Made handling of const more consistent when combined with 'eval'
5155 and 'with'.
5156
5157 Fixed V8 on MinGW-x64 (issue 2026).
5158
5159 Performance and stability improvements on all platforms.
5160
5161
51622012-04-13: Version 3.10.2
5163
5164 Fixed native ARM build (issues 1744, 539)
5165
5166 Return LOOKUP variable instead of CONTEXT for non-context allocated
5167 outer scope parameters (Chromium issue 119609).
5168
5169 Fixed regular and ElementsKind transitions interfering with each other
5170 (Chromium issue 122271).
5171
5172 Improved performance of keyed loads/stores which have a HeapNumber
5173 index (issues 1388, 1295).
5174
5175 Fixed WeakMap processing for evacuation candidates (issue 2060).
5176
5177 Bailout on possible direct eval calls (Chromium issue 122681).
5178
5179 Do not assume that names of function expressions are context-allocated
5180 (issue 2051).
5181
5182 Performance and stability improvements on all platforms.
5183
5184
51852012-04-10: Version 3.10.1
5186
5187 Fixed bug with arguments object in inlined functions (issue 2045).
5188
5189 Fixed performance bug with lazy initialization (Chromium issue
5190 118686).
5191
5192 Added suppport for Mac OS X 64bit builds with GYP.
5193 (Patch contributed by Filipe David Manana <fdmanana@gmail.com>)
5194
5195 Fixed bug with hidden properties (issue 2034).
5196
5197 Fixed a performance bug when reloading pages (Chromium issue 117767,
5198 V8 issue 1902).
5199
5200 Fixed bug when optimizing throw in top-level code (issue 2054).
5201
5202 Fixed two bugs with array literals (issue 2055, Chromium issue 121407).
5203
5204 Fixed bug with Math.min/Math.max with NaN inputs (issue 2056).
5205
5206 Fixed a bug with the new runtime profiler (Chromium issue 121147).
5207
5208 Fixed compilation of V8 using uClibc.
5209
5210 Optimized boot-up memory use.
5211
5212 Optimized regular expressions.
5213
5214
52152012-03-30: Version 3.10.0
5216
5217 Fixed store IC writability check in strict mode
5218 (Chromium issue 120099).
5219
5220 Resynchronize timers if the Windows system time was changed.
5221 (Chromium issue 119815)
5222
5223 Removed "-mfloat-abi=hard" from host compiler cflags when building for
5224 hardfp ARM
5225 (https://code.google.com/p/chrome-os-partner/issues/detail?id=8539)
5226
5227 Fixed edge case for case independent regexp character classes
5228 (issue 2032).
5229
5230 Reset function info counters after context disposal.
5231 (Chromium issue 117767, V8 issue 1902)
5232
5233 Fixed missing write barrier in CopyObjectToObjectElements.
5234 (Chromium issue 119926)
5235
5236 Fixed missing bounds check in HasElementImpl.
5237 (Chromium issue 119925)
5238
5239 Performance and stability improvements on all platforms.
5240
5241
Ben Murdoch3ef787d2012-04-12 10:51:47 +010052422012-03-23: Version 3.9.24
5243
5244 Activated count-based profiler for ARM.
5245
5246 Fixed use of proxies as f.prototype properties. (issue 2021)
5247
5248 Enabled snapshots on MIPS.
5249
5250 Performance and stability improvements on all platforms.
5251
5252
52532012-03-21: Version 3.9.23
5254
5255 Use correct arguments adaptation environment when inlining function
5256 containing arguments. (Issue 2014)
5257
5258 Performance and stability improvements on all platforms.
5259
5260
52612012-03-20: Version 3.9.22
5262
5263 Enabled count-based profiler by default.
5264
5265 Implemented a hash based look-up to speed up address checks
5266 in large object space (issue 853).
5267
5268 Performance and stability improvements on all platforms.
5269
5270
52712012-03-19: Version 3.9.21
5272
5273 Fixed push-to-trunk script (and re-push).
5274
5275 Added API call that identifies strings that are guaranteed only to
5276 contain ASCII characters.
5277
5278
52792012-03-19: Version 3.9.20
5280
5281 Fixed declarations escaping global strict eval. (Issue 1624)
5282
5283 Fixed wrapping of receiver for non-strict callbacks. (Issue 1973)
5284
5285 Fixed function declarations overwriting read-only global properties.
5286 (Chromium issue 115452)
5287
5288 Fixed --use-strict flag in combination with --harmony[-scoping].
5289
5290 Debugger: naive implementation of "step into Function.prototype.bind".
5291
5292 Debugger: added ability to set script source from within OnBeforeCompile
5293
5294 Added flag to always call DebugBreak on abort.
5295
5296 Re-enabled constructor inlining and inline === comparison with boolean
5297 constants. (Issue 2009)
5298
5299 Don't use an explicit s0 in ClampDoubleToUint8. (Issue 2004)
5300
5301 Performance and stability improvements on all platforms.
5302
5303
53042012-03-14: Version 3.9.19
5305
5306 Ensure there is a smi check of the receiver for global load and call
5307 ICs (Chromium issue 117794).
5308
5309 Performance and stability improvements on all platforms.
5310
5311
53122012-03-13: Version 3.9.18
5313
5314 Ensure consistency of Math.sqrt on Intel platforms.
5315
5316 Remove static initializers in v8. (issue 1859)
5317
5318 Add explicit dependency on v8_base in the GYP-based build.
5319
5320 Performance and stability improvements on all platforms.
5321
5322
53232012-03-12: Version 3.9.17
5324
5325 Fixed VFP detection through compiler defines. (issue 1996)
5326
5327 Add Code-related fields to postmortem metadata.
5328
5329 Performance and stability improvements on all platforms.
5330
5331
53322012-03-09: Version 3.9.16
5333
5334 Added basic interface inference for modules (behind the --harmony flag).
5335
5336 Added Object.is, Number.isFinite, Number.isNaN.
5337
5338 Updated the Unicode tables to Unicode version 6.1.0.
5339
5340 Performance and stability improvements on all platforms.
5341
5342
53432012-03-06: Version 3.9.15
5344
5345 Fix the heap profiler crash caused by memory layout changes between
5346 passes.
5347
5348 Fix Error.prototype.toString to throw TypeError. (issue 1980)
5349
5350 Fix double-rounding in strtod for MinGW. (issue 1062)
5351
5352 Fix corrupted snapshot serializaton on ia32. (Chromium issue v8/1985)
5353
5354 Performance and stability improvements on all platforms.
5355
5356
53572012-03-01: Version 3.9.14
5358
5359 Performance and stability improvements on all platforms.
5360
5361
53622012-02-29: Version 3.9.13
5363
5364 Added code kind check before preparing for OSR. (issue 1900, 115073)
5365
5366 Fixed issue 1802: Pass zone explicitly to zone-allocation on x64 and
5367 ARM.
5368
5369 Ported string construct stub to x64. (issue 849)
5370
5371 Performance and stability improvements on all platforms.
5372
5373
53742012-02-28: Version 3.9.12
5375
5376 Fixed the negative lookup stub to handle deleted entries in a
5377 dictionary. (issue 1964)
5378
5379 Added a new API where the host can supply a callback function. The
5380 callback function can resolve the location of a return address on stack
5381 to the location where a return-address rewriting profiler stashed the
5382 original return address.
5383
5384 Fixed Chromium issue http://crbug.com/115646: When compiling for-in
5385 pass correct context value to the increment instruction.
5386
5387 Fixed issue 1853: Update breakpoints set with partial file name after
5388 compile.
5389
5390
53912012-02-27: Version 3.9.11
5392
5393 Made 'module' a context-sensitive keyword (V8 issue 1957).
5394
5395
53962012-02-24: Version 3.9.10
5397
5398 Fixed V8 issues 1322, 1772 and 1969.
5399
5400 Conformance improvements.
5401
5402 Performance and stability improvements on all platforms.
5403
5404
54052012-02-23: Version 3.9.9
5406
5407 Supported fast case for-in in Crankshaft.
5408
5409 Sped up heap snapshot serialization and dominators construction.
5410
5411 Randomized allocation addresses on windows. (Chromium issue 115151)
5412
5413 Fixed compilation with MinGW-w64. (issue 1943)
5414
5415 Fixed incorrect value of assignments to non-extensible properties.
5416
5417 Fixed a crash bug in generated code on ia32.
5418
5419 Performance and stability improvements on all platforms.
5420
5421
54222012-02-21: Version 3.9.8
5423
5424 Fixed memory leak and missing #include in StartupDataDecompressor
5425 (issue 1960).
5426
5427 Renamed static methods to avoid shadowing virtual methods and fix Clang
5428 C++11 compile error.
5429
5430 Fixed sequence of element access in array builtins (issue 1790).
5431
5432 Performance and stability improvements on all platforms.
5433
5434
54352012-02-16: Version 3.9.7
5436
5437 Fixed V8 issues 1322, 1878, 1942, 1945 and Chromium issue 113924.
5438
5439 Fixed GCC-4.7 warnings.
5440
5441 Added Navier-Stokes benchmark.
5442
5443 Performance and stability improvements on all platforms.
5444
5445
54462012-02-14: Version 3.9.6
5447
5448 Fixed template-related linker error. (issue 1936)
5449
5450 Allowed inlining of functions containing object literals. (issue 1322)
5451
5452 Added --call-graph-size option to tickprocessor. (issue 1937)
5453
5454 Heap Snapshot maximum size limit is too low for really big apps. At the
5455 moment the limit is 256MB. (Chromium issue 113015)
5456
5457 Performance and stability improvements on all platforms.
5458
5459
54602012-02-09: Version 3.9.5
5461
5462 Removed unused command line flags.
5463
5464 Performance and stability improvements on all platforms.
5465
5466
54672012-02-08: Version 3.9.4
5468
5469 Properly initialize element-transitioning array literals on ARM.
5470 (issue 1930)
5471
5472 Bug fixes on all platforms.
5473
5474
54752012-02-07: Version 3.9.3
5476
5477 When rethrowing an exception, print the stack trace of its original
5478 site instead of rethrow site (Chromium issue 60240).
5479
5480 Increased size of small stacks from 32k to 64k to avoid hitting limits
5481 in Chromium (Chromium issue 112843).
5482
5483
54842012-02-06: Version 3.9.2
5485
5486 Added timestamp to --trace-gc output. (issue 1932)
5487
5488 Heap profiler reports implicit references.
5489
5490 Optionally export metadata with libv8 to enable debuggers to inspect V8
5491 state.
5492
5493
54942012-02-02: Version 3.9.1
5495
5496 Fixed memory leak in NativeObjectsExplorer::FindOrAddGroupInfo
5497 (Chromium issue 112315).
5498
5499 Fixed a crash in dev tools (Chromium issue 107996).
5500
5501 Added 'dependencies_traverse': 1 to v8 GYP target.
5502
5503 Performance and stability improvements on all platforms.
5504
5505
55062012-02-01: Version 3.9.0
5507
5508 Reduced memory use immediately after starting V8.
5509
5510 Stability fixes and performance improvements on all platforms.
5511
5512
55132012-01-26: Version 3.8.9
5514
5515 Flush number string cache on GC (issue 1605).
5516
5517 Provide access to function inferred name with
5518 v8::Function::GetInferredName in V8 public API.
5519
5520 Fix building with Clang (issue 1912).
5521
5522 Reduce the space used by the stack for the profiling thread.
5523
5524 Fix misleading documentation of v8::Locker (issue 542).
5525
5526 Introduce readbinary function in d8 to read binary files.
5527
5528 Performance and stability improvements on all platforms.
5529
5530
55312012-01-23: Version 3.8.8
5532
5533 Limited number of loop iterations in Heap::ReserveSpace
5534 (Chromium issue 99027).
5535
5536 Fixed solaris build (VirtualMemory) (issue 1761).
5537
5538 Fixed strict vs. non-strict handling of function proxies in
5539 higher-order array and string methods.
5540
5541 Enabled asynchronous remote debugging with d8 (issue 1691).
5542
5543 Stability and performance improvements on all platforms.
5544
5545
55462012-01-19: Version 3.8.7
5547
5548 Ensure that LRandom restores rsi after call to the C function on x64.
5549 (Chromium issue http://crbug.com/110509)
5550
5551 Fixing include issues on *bsd when building with scons.
5552 (issue 1897)
5553
5554 Provide a switch to specify -fno-strict-aliasing
5555 (issue 1887)
5556
5557 Move WIN32 define from standalone.gypi to common.gypi
5558 (issue 1760)
5559
5560 Fix corner-case in heap size estimation.
5561 (issue 1893)
5562
5563 Fix and enable NEW_NON_STRICT_FAST ArgumentsAccess stub on x64.
5564 (issue 1903)
5565
5566 Performance improvements and bug fixes.
5567
5568
55692012-01-16: Version 3.8.6
5570
5571 Add primitive WebGL array support to d8.
5572
5573 Improve heap size estimation (issue 1893).
5574
5575 Hash collision DOS workaround extended from string keys
5576 to numeric keys.
5577
5578 Provide an API for iterating through all external strings referenced
5579 from the JS heap.
5580
5581 Adjust position recorded for call expressions. http://crbug.com/109195
5582
5583 Fix GC crash related to instanceof. http://crbug.com/109448
5584
5585 Performance improvements and bug fixes.
5586
5587
55882012-01-05: Version 3.8.5
5589
5590 Fix broken test that assumes that no GC can clear the regexp cache (GC
5591 can happen at any time due to Crankshaft).
5592
5593 Fix handling of bogus receivers for Harmony collections. (issue 1884)
5594
5595 Add netbsd support to gyp build.
5596
5597 Determine page size at runtime on posix platforms.
5598
5599 Ensure that store buffer filtering hash sets are cleared after
5600 StoreBuffer::Filter.
5601
5602 Randomize the seed used for string hashing. This helps guard against
5603 CPU-eating DOS attacks against node.js servers. Based on code from
5604 Bert Belder. This version only solves the issue for those that compile
5605 V8 themselves or those that do not use snapshots. A snapshot-based
5606 precompiled V8 will still have predictable string hash codes.
5607
5608 Implement callback when script finishes running in V8 API.
5609
5610 Improve performance of Math.min and Math.max for the case of two
5611 arguments. (issue 1325)
5612
5613
56142012-01-02: Version 3.8.4
5615
5616 Performance improvements for large Smi-only arrays.
5617
5618 Fixed InternalArrays construction. (issue 1878)
5619
5620
56212011-12-27: Version 3.8.3
5622
5623 Avoid embedding new space objects into code objects in the lithium gap
5624 resolver. (chromium:108296)
5625
5626 Bug fixes and performance optimizations on all platforms.
5627
5628
56292011-12-21: Version 3.8.2
5630
5631 Add max optimization flag to v8 gyp build to ensure V8 is always built
5632 fully optimized in Chrome.
5633
5634 MIPS: Bring MIPS to parity with other platforms.
5635
5636 Optimizations and stability improvements on all platforms.
5637
5638
56392011-12-19: Version 3.8.1
5640
5641 Fixed GCC 4.7 warnings. Patch from Tobias Burnus.
5642
5643 Stability improvements on all platforms.
5644
5645
56462011-12-13: Version 3.8.0
5647
5648 Fixed handling of arrays in DefineOwnProperty. (issue 1756)
5649
5650 Sync parser and preparser on do-while and return statements.
5651 (issue 1856)
5652
5653 Fixed another corner case for DefineOwnProperty on arrays (issue 1756).
5654
5655 Stability and performance improvements on all platforms.
5656
5657
56582011-12-01: Version 3.7.12
5659
5660 Increase tick interval for the android platform.
5661
5662 Fix a bug in the register allocator. (chromium:105112)
5663
5664 Fix handling of recompiling code. (chromium:105375, v8:1782)
5665
5666 Start incremental marking on idle notification. (v8:1458)
5667
5668 Build fixes for various platforms.
5669
5670 Various performance improvements.
5671
5672
56732011-11-29: Version 3.7.11
5674
5675 Fixed bug when generating padding to ensure space for lazy
5676 deoptimization.
5677 (issue 1846)
5678
5679 Further reduced pause times due to GC.
5680
5681 Stability and performance improvements on all platforms.
5682
5683
56842011-11-23: Version 3.7.10
5685
5686 Set maximum length of FixedArray in terms of elements instead an
5687 absolute number of bytes.
5688 (Chromium issue 103103)
5689
5690 Stability and performance improvements on all platforms.
5691
5692
56932011-11-21: Version 3.7.9
5694
5695 Removed exit-time destructors.
5696
5697 Stability and performance improvements on all platforms.
5698
5699
57002011-11-17: Version 3.7.8
5701
5702 Removed hidden prototype from builtins, i.e., deleting an overridden
5703 function on builtins will not make the original function reappear.
5704
5705 Added NetBSD support for scons build.
5706
5707 Performance improvements on all platforms.
5708
5709
57102011-11-14: Version 3.7.7
5711
5712 Fix missing fast property accessors in heap snapshots.
5713 (issue 1818)
5714
5715
57162011-11-11: Version 3.7.6
5717
5718 Fixed filtering of store buffer for large object pages.
5719 (issue 1817)
5720
5721 Fixed generated hash function on all platforms.
5722 (issue 1808)
5723
5724 Fixed Heap::Shrink to ensure that it does not free pages that are
5725 still in use.
5726 (Chromium issue 100414)
5727
5728 Stability and performance improvements on all platforms.
5729
5730
57312011-11-10: Version 3.7.5
5732
5733 Added initial gyp infrastructure for MIPS.
5734
5735 Implemented performance improvements to the incremental garbage
5736 collector.
5737
5738 Added optimizations and stability improvements on all platforms.
5739
5740
57412011-11-07: Version 3.7.4
5742
5743 Proper "libv8.so.3.7.4" SONAME for Linux shared library (issue 1786).
5744
5745 Fix Harmony sets and maps to allow null and undefined as keys
5746 (still hidden behind --harmony flag) (issue 1622).
5747
5748 Implement VirtualMemory on FreeBSD to fix build (issue 1807).
5749
5750 Enable VFP instructions for Android.
5751
5752 Fix error handling in Date.prototype.toISOString (issue 1792).
5753
5754 Bug fixes and performance improvements for all platforms.
5755
5756 Not officially supported but noteworthy: Crankshaft for MIPS :-)
5757
5758
57592011-10-28: Version 3.7.3
5760
5761 Slight deoptimization as a workaround for issue with jslint: Issue
5762 1789.
5763
5764
57652011-10-27: Version 3.7.2
5766
5767 Fix bug in deoptimization. Known issue with jslint: Issue 1789.
5768
5769
57702011-10-26: Version 3.7.1
5771
5772 Achieved 33% speedup in debug-mode tests.
5773
5774 Removed special casing of calls to RegExp test and exec methods with no
5775 argument. Now matches new JSC behaviour. crbug.com/75740.
5776
5777 Return the empty string on cyclic references in toString (ES5
5778 conformance).
5779
5780 Fixed bug triggered by JSBeautifier. crbug.com/100409.
5781
5782 Made Math.random state per-context instead of per-process (issue 864).
5783
5784 Fixed stack traces to skip native functions.
5785
5786 Make snapshots (new contexts) smaller and faster.
5787
5788 Fixed handling of Function.apply for non-array arguments.
5789
5790 Fixed evaluation order in defineProperties to match FireFox.
5791
5792 Fixed handling of non-object receivers for array builtins,
5793 crbug.com/100702.
5794
5795 Multiple fixes to improve compliance with test262.
5796
5797 Fixed compatibility with older Android releases.
5798
5799 Fixed compilation with gcc-4.5.3.
5800
5801 Improved performance of WriteUtf8, issue 1665.
5802
5803 Made native syntax an early error in the preparser.
5804
5805 Fixed issues 793 and 893 relating to Function.prototype.bind.
5806
5807 Improved let, const, Set and Map support and other Harmony features
5808 (behind the --harmony flag).
5809
5810 Changed evaluation order for > and <= to match ES5 instead of ES3.
5811
5812 Bug fixes and performance improvements on all platforms.
5813
5814
58152011-10-13: Version 3.7.0
5816
5817 Fixed array handling for Object.defineOwnProperty (ES5 conformance).
5818
5819 Fixed issue 1757 (string slices of external strings).
5820
5821 Fixed issue 1759 (ARM).
5822
5823 Added flag --noclever-optimizations to disable some things that
5824 caused trouble in the past.
5825
5826 Added flag --stress-compaction for testing.
5827
5828 Added flag --harmony to activate all experimental Harmony features.
5829
5830
58312011-10-10: Version 3.6.6
5832
5833 Added a GC pause visualization tool.
5834
5835 Added presubmit=no and werror=no flags to Makefile.
5836
5837 ES5/Test262 conformance improvements.
5838
5839 Fixed compilation issues with GCC 4.5.x (issue 1743).
5840
5841 Bug fixes and performance improvements on all platforms.
5842
5843
58442011-10-05: Version 3.6.5
5845
5846 New incremental garbage collector.
5847
5848 Removed the hard heap size limit (soft heap size limit is still
5849 700/1400Mbytes by default).
5850
5851 Implemented ES5 generic Array.prototype.toString (Issue 1361).
5852
5853 V8 now allows surrogate pair codes in decodeURIComponent (Issue 1415).
5854
5855 Fixed x64 RegExp start-of-string bug (Issues 1746, 1748).
5856
5857 Fixed propertyIsEnumerable for numeric properties (Issue 1692).
5858
5859 Fixed the MinGW and Windows 2000 builds.
5860
5861 Fixed "Prototype chain is not searched if named property handler does
5862 not set a property" (Issue 1636).
5863
5864 Made the RegExp.prototype object be a RegExp object (Issue 1217).
5865
5866 Disallowed future reserved words as labels in strict mode.
5867
5868 Fixed string split to correctly coerce the separator to a string
5869 (Issue 1711).
5870
5871 API: Added an optional source length field to the Extension
5872 constructor.
5873
5874 API: Added Debug::DisableAgent to match existing Debug::EnableAgent
5875 (Issue 1573).
5876
5877 Added "native" target to Makefile for the benefit of Linux distros.
5878
5879 Fixed: debugger stops stepping outside evaluate (Issue 1639).
5880
5881 More work on ES-Harmony proxies. Still hidden behind a flag.
5882
5883 Bug fixes and performance improvements on all platforms.
5884
5885
Ben Murdoch589d6972011-11-30 16:04:58 +000058862011-09-15: Version 3.6.4
5887
5888 Fixed d8's broken readline history.
5889
5890 Removed the need for code delete events in CPU profiler (Issue 1466).
5891
5892 Fixed debugger stepping next with trycatch recursion (Issue 1639).
5893
5894 Fixing parallel execution in d8 (with -p) and some memory leaks.
5895
5896 Support for precise stepping in functions compiled before debugging was
5897 started (step 1).
5898
5899
59002011-09-13: Version 3.6.3
5901
5902 Implemented better support of typed arrays in the d8 shell.
5903
5904 Bug fixes and performance improvements on all platforms.
5905
5906
59072011-09-08: Version 3.6.2
5908
5909 Added "dependencies" target to top-level Makefile.
5910
5911 Added ability to turn profiler on/off in d8.
5912
5913 Added "soname_version" parameter to common.gypi, v8.gyp, and Makefile.
5914
5915 Fixed several crash bugs.
5916
5917
59182011-09-07: Version 3.6.1
5919
5920 Fixed a bug in abrupt exit from with or catch inside finally.
5921
5922 Fixed possible crash in FixedDoubleArray::Initialize() (Chromium
5923 issue 95113).
5924
5925 Fixed a bug in Page::GetRegionMaskForSpan (Chromium issue 94425).
5926
5927 Fixed a few clang warnings (which -Werror treated as errors).
5928
5929 Performance improvements on all platforms.
5930
5931
59322011-09-05: Version 3.6.0
5933
5934 Fixed a bug when optimizing named function expression (issue 1647).
5935
5936 Fixed a bug when optimizing f.call.apply (issue 1650).
5937
5938 Made arguments and caller always be null on native functions
5939 (issues 1548 and 1643).
5940
5941 Fixed issue 1648 (cross-compiling x64 targeting ia32).
5942
5943 Fixed issue 371 (d8 printing of strings containing \0).
5944
5945 Fixed order of evaluation in arguments to parseInt (issue 1649).
5946
5947 Fixed a problem with large heap snapshots in Chrome DevTools
5948 (issue 1658, chromium issue 89268).
5949
5950 Upped default maximum heap size from 512M to 700M.
5951
5952
Ben Murdoch69a99ed2011-11-30 16:03:39 +000059532011-08-31: Version 3.5.10
5954
5955 Added dependency of v8_base on WinSocket2 Windows library in
5956 the GYP-build.
5957
5958 Various bugfixes.
5959
5960
59612011-08-29: Version 3.5.9
5962
5963 Made FromPropertyDescriptor not trigger inherited setters.
5964
5965 Fixed .gyp files to work on the ARM simulator.
5966
5967 Fixed shared library build warnings for MSVS.
5968
5969
59702011-08-24: Version 3.5.8
5971
5972 Added V8EXPORT attributes for v8::Array::CheckCast and
5973 v8::Number::CheckCast.
5974
5975 Made a slight API change enabling opting out from null termination
5976 in String::Write*().
5977
5978 Fixed arm build for gcc-4.6.
5979
5980
59812011-08-22: Version 3.5.7
5982
5983 Make scanner handle invalid unicode escapes in identifiers correctly.
5984
5985 Make regexp flag parsing stricter.
5986
5987 Fix several memory leaks.
5988
5989
59902011-08-17: Version 3.5.6
5991
5992 Fixed issue that could cause crashes when running with --heap-stats.
5993
5994 Fixed compilation on Linux 2.6.9 and older.
5995
5996 Fixed live-object-list to work with isolates.
5997
5998 Fixed memory leaks in zones and isolates.
5999
6000 Fixed a performance regression for TypedArrays on x64.
6001
6002 Stability improvements on all platforms.
6003
6004
60052011-08-15: Version 3.5.5
6006
6007 Fixed bugs involving negative zero and the optimizing compiler.
6008
6009 Fixed optimized version of Function.apply(x, arguments). (issue 1592)
6010
6011 Eliminated uses of deprecated ARM instructions.
6012
6013 Sped up Math.floor by using SSE 4.1 roundsd instruction on ia32.
6014
6015 Removed restriction on the size of disassembled code that is printed.
6016
6017
60182011-08-10: Version 3.5.4
6019
6020 Added a preliminary implementation of ES Harmony weak maps. Weak
6021 maps can be enabled by the flag --harmony-weakmaps.
6022
6023 Introduced a toplevel Makefile to support GYP-based building. GYP
6024 can be obtained from http://gyp.googlecode.com.
6025
6026 Fixed a bug in the length property of functions created by
6027 Function.prototype.bind.
6028
6029 Reduced malloc heap allocation on process startup.
6030
6031 Several important code generation bug fixes.
6032
6033 Performance improvements on all platforms.
6034
6035
60362011-08-03: Version 3.5.3
6037
6038 MIPS: Port of fix to ClassOf check from ARM.
6039 Patch from Paul Lind <plind44@gmail.com>.
6040
6041 Stopped using mprotect on Cygwin.
6042 Avoided uninitialized member warning on gcc 4.3.4
6043 Both patches by Bert Belder.
6044
6045 Bug fixes and performance improvements on all platforms.
6046
6047
60482011-08-01: Version 3.5.2
6049
6050 Performance improvements on all platforms.
6051
6052
60532011-07-28: Version 3.5.1
6054
6055 Fixed setting the readonly flag on the prototype property using the
6056 API call FunctionTemplate::SetPrototypeAttributes (issue 1539).
6057
6058 Changed the tools/test.py script to use d8 instead of shell for
6059 testing.
6060
6061 Fixed crash in ToBooleanStub when GC happens during invocation.
6062
6063 Enabled automatic unboxing of double arrays.
6064
6065 Performance improvements on all platforms.
6066
6067
60682011-07-25: Version 3.5.0
6069
6070 Implemented Object.prototype.{hasOwnProperty, propertyIsEnumerable} for
6071 proxies.
6072
6073 Removed logging to memory support.
6074
6075 Bugfixes and performance work.
6076
6077
Ben Murdoch3fb3ca82011-12-02 17:19:32 +000060782011-07-20: Version 3.4.14
6079
6080 Fix the debugger for strict-mode functions. (Chromium issue 89236)
6081
Ben Murdoch3ef787d2012-04-12 10:51:47 +01006082 Add GetPropertyAttribute method for Object in the API. (Patch by
Ben Murdoch69a99ed2011-11-30 16:03:39 +00006083 Peter Varga)
Ben Murdoch3fb3ca82011-12-02 17:19:32 +00006084
6085 Fix -Wunused-but-set-variable for gcc-4.6 on x64. (Issue 1291)
6086
6087
60882011-07-18: Version 3.4.13
6089
6090 Improved debugger support to allow inspection of optimized frames (issue
6091 1140).
6092
6093 Fixed a bug in prototype transitions cache clearing introduced by r8165.
6094
6095 Fixed shortcutting bug in HInferRepresentation. Patch by Andy Wingo.
6096
6097 Fixed a memory leak in sample/shell.cc (dispose semaphores).
6098
6099 Simplified HClampToUint8. Patch by Andy Wingo.
6100
6101 Exposed APIs for detecting boxed primitives, native errors. Patch by
6102 Luke Zarko.
6103
6104 Added map check for COW elements to crankshaft array handling code
6105 (issue 1560).
6106
6107 Sample shell and (a light version of) D8 links against a shared library
6108 now.
6109
6110 Fixed bug in array filter and reduce functions (issue 1559).
6111
6112 Avoid TLS load in AstNode constructor.
6113
6114 Introduced a random entropy source which can optionally be provided at
6115 initialization. (Chromium issue 89462).
6116
6117
61182011-07-13: Version 3.4.12
6119
6120 Added --prof profiling option to d8 shell.
6121
6122 Fixed a bug where reading a directory in d8 shell hangs (issue 1533).
6123
6124 Fixed a potential assertion failure in const declarations.
6125
6126 Fixed an assertion failure in descriptor arrays (issue 1526).
6127
6128 Enabled fast thread-local storage by default on supported platforms.
6129
6130 Improved reporting of source position for global variable loads
6131 (issue 1527).
6132
6133
61342011-07-11: Version 3.4.11
6135
6136 Fixed MinGW32 build.
6137
6138 Fixed a GC bug with RegExp code flushing.
6139
6140 Implemented Object.defineProperty for proxies.
6141
6142 Fixed a bug in for/in iteration of arguments objects (issue 1531).
6143
6144 Added debugger support for inspecting optimized frames (issue 1140).
6145
6146 Allowed JSObject::PreventExtensions to work for arguments objects.
6147
6148 Bugfixes and performance work.
6149
6150
61512011-07-06: Version 3.4.10
6152
6153 Fixed debugger not breaking on certain "if" statements (issue 1523).
6154
6155 Fixed assertion failure in runtime profiler when running on IA32
6156 without snapshot (issue 1522).
6157
6158 Fixed ABI for API calls on IA32 (for clang compatibility).
6159
6160 Introduced code flushing of RegExp code to free memory used by
6161 RegExps sooner.
6162
6163 Fixed linux-tick-processor built wrong version of v8 (issue 1532).
6164
6165 Fixed assertion failure in v8::TryCache::StackTrace (issue 1529).
6166
6167 Performance improvements on all platforms.
6168
6169
61702011-07-04: Version 3.4.9
6171
6172 Added support for debugger inspection of locals in optimized frames
6173 (issue 1140).
6174
6175 Fixed SConstruct to pass correct defines to samples/preparser when
6176 building with library=shared.
6177
6178 Made date parser handle ES5 Date Time Strings correctly (issue 1498).
6179
6180 Fixed a bug in Object.defineProperty on the arguments object.
6181
6182 Performance improvements on all platforms.
6183
6184
61852011-06-29: Version 3.4.8
6186
6187 Ensure 16-byte stack alignment on Solaris (issue 1505).
6188
6189 Fix "illegal access" when calling parseInt with a radix
6190 that is not a smi. (issue 1246).
6191
6192
61932011-06-27: Version 3.4.7
6194
6195 Fixed 64-bit build on FreeBSD.
6196
6197 Added API to set the property attributes for the prototype
6198 property on functions created from FunctionTemplates.
6199
6200 Bugfixes and performance work.
6201
6202
62032011-06-22: Version 3.4.6
6204
6205 Lowered limit on code space for systems with low memory supply.
6206
6207 Allowed compiling v8_shell with the 'host' toolset (issue 82437).
6208
6209 Extended setBreakpoint API to accept partial script name (issue 1418).
6210
6211 Made multi-line comments not count when deciding whether the '-->'
6212 comment starter is first on a line. This matches Safari.
6213
6214 Made handling of non-array recievers in Array length setter correct
6215 (issue 1491).
6216
6217 Added ability to heap profiler to iterate over snapshot's node
6218 (issue 1481).
6219
6220
62212011-06-20: Version 3.4.5
6222
6223 Fixed issues 794, 1097, 1215(partial), 1417, 1435, 1472, 1473,
6224 1476, and 1477.
6225
6226 Improved code generation for !0 and !1.
6227
6228 Reduced memory usage for regular expressions with nested qualifiers.
6229 (issue 1472)
6230
6231 Fixed V8 to count line terminators in multi-line comments.
6232 (Chromium issue 86431)
6233
6234 Fixed disassembler=on option for release-mode builds. (issue 1473)
6235
6236 Performance improvements on all platforms.
6237
6238
62392011-06-15: Version 3.4.4
6240
6241 Added snapshot compression support and --stress-opt flag to d8.
6242
6243 Improved performance of try/catch.
6244
6245 Several GYP-related changes: Added support for building Xcode project
6246 files. Make the ARM simulator build with GYP again. Generate Makefiles
6247 for all architectures on Linux.
6248
6249 Fixed Array.prototype.{reduce,reduceRight} to pass undefined as the
6250 receiver for strict mode callbacks. (issue 1436)
6251
6252 Fixed a bug where an array load was incorrectly hoisted by GVN.
6253
6254 Handle 'undefined' correctly when === has been specialized for doubles.
6255 (issue 1434)
6256
6257 Corrected the limit of local variables in an optimized function from 64
6258 to 63.
6259
6260 Correctly set ReadOnly flag on indexed properties when using the API Set
6261 method. (issue 1470)
6262
6263 Give the correct error message when Object.isExtensible is called on a
6264 non-object. (issue 1452)
6265
6266 Added GetOwnPropertyNames method for Object in the API. Patch by Peter
6267 Varga.
6268
6269 Do not redefine properties unneccesarily in seal and freeze. (issue
6270 1447)
6271
6272 IsExecutionTerminating has an Isolate parameter now.
6273
6274 Distinguish keyed loads with a symbol key from fast elements loads,
6275 avoiding some useless deoptimizations. (issue 1471)
6276
6277
62782011-06-08: Version 3.4.3
6279
6280 Clear the global thread table when an isolate is disposed
6281 (issue 1433).
6282
6283 Converted time zone name to UTF8 on Windows (issue 1290).
6284
6285 Limited the number of arguments in a function call to 32766
6286 (issue 1413).
6287
6288 Compress sources of JS libraries in addition to the snapshot.
6289
6290 Fixed a bug in Lithium environment iteration.
6291
6292 Performance improvements on all platforms.
6293
6294
62952011-06-06: Version 3.4.2
6296
6297 More work on ES-Harmony proxies. Still hidden behind a flag.
6298
6299 Fixed some crash bugs and improved performance.
6300
6301 Fixed building with gdb debugging support.
6302
6303 Do not install SIGPROF handler until it is needed.
6304
6305 Added DateTimeFormat to i18n API.
6306
6307 Fixed compilation on OpenBSD.
6308
6309 Take the ulimit into account when sizing the heap. OpenBSD users
6310 may still have to increase the default ulimit to run heavy pages in
6311 the browser.
6312
6313
63142011-06-01: Version 3.4.1
6315
6316 Fixed JSON stringify issue with arrays.
6317
6318 Changed calls to JS builtins to be passed undefined when called with
6319 implicit receiver.
6320
6321 Implemented the set trap for Harmony proxies. Proxies still need to
6322 be enabled with the --harmony-proxies flag.
6323
6324
63252011-05-30: Version 3.4.0
6326
6327 Changed calls to undefined property setters to not throw (issue 1355).
6328
6329 Made RegExp objects not callable.
6330
6331 Fixed issues on special case large JSON strings in new json parser
6332 (issues http://crbug.com/83877 and http://crbug.com/84186).
6333
6334 Performance improvements on all platforms.
6335
6336
Ben Murdoch257744e2011-11-30 15:57:28 +000063372011-05-25: Version 3.3.10
6338
6339 Fixed calls of strict mode function with an implicit receiver.
6340
6341 Fixed fast handling of arrays to properly deal with changes to the
6342 Object prototype (issue 1403).
6343
6344 Changed strict mode poison pill to be the same type error function
6345 (issue 1387).
6346
6347 Fixed a debug crash in arguments object handling (issue 1227).
6348
6349 Fixed a bug in deoptimization on x64 (issue 1404).
6350
6351 Performance improvements and bug fixes on all platforms.
6352
6353
63542011-05-23: Version 3.3.9
6355
6356 Added DateTimeFormat class to experimental i18n API.
6357
6358 Extended preparser to give early errors for some strict mode
6359 restrictions.
6360
6361 Removed legacy execScript function from V8.
6362
6363 Extended isolate API with the ability to add embedder-specific
6364 data to an isolate.
6365
6366 Added basic support for polymorphic loads from JS and external
6367 arrays.
6368
6369 Fixed bug in handling of switch statements in the optimizing
6370 compiler.
6371
6372
63732011-05-18: Version 3.3.8
6374
6375 Added MarkIndependent to the persistent handle API. Independent
6376 handles are independent of all other persistent handles and can be
6377 garbage collected more frequently.
6378
6379 Implemented the get trap for Harmony proxies. Proxies are enabled
6380 with the --harmony-proxies flag.
6381
6382 Performance improvements and bug fixes on all platforms.
6383
6384
63852011-05-16: Version 3.3.7
6386
6387 Updated MIPS infrastructure files.
6388
6389 Performance improvements and bug fixes on all platforms.
6390
6391
63922011-05-11: Version 3.3.6
6393
6394 Updated MIPS infrastructure files.
6395
6396 Added method IsCallable for Object to the API.
6397 Patch by Peter Varga.
6398
6399
64002011-05-09: Version 3.3.5
6401
6402 Fixed build on FreeBSD. Patch by Akinori MUSHA.
6403
6404 Added check that receiver is JSObject on API calls.
6405
6406 Implemented CallAsConstructor method for Object in the API (Issue 1348).
6407 Patch by Peter Varga.
6408
6409 Added CallAsFunction method to the Object class in the API (Issue 1336).
6410 Patch by Peter Varga.
6411
6412 Added per-isolate locking and unlocking.
6413
6414 Fixed bug in x64 >>> operator (Issue 1359).
6415
6416
64172011-05-04: Version 3.3.4
6418
6419 Implemented API to disallow code generation from strings for a context
6420 (issue 1258).
6421
6422 Fixed bug with whitespaces in parseInt (issue 955).
6423
6424 Fixed bug with == comparison of Date objects (issue 1356).
6425
6426 Added GYP variables for ARM code generation:
6427 v8_can_use_vfp_instructions, v8_can_use_unaligned_accesses
6428 and v8_use_arm_eabi_hardfloat.
6429
6430
64312011-05-02: Version 3.3.3
6432
6433 Added support for generating Visual Studio solution and project files
6434 using GYP.
6435
6436 Implemented support for ARM EABI calling convention variation where
6437 floating-point arguments are passed in registers (hardfloat).
6438
6439 Added Object::HasOwnProperty() to the API.
6440
6441 Added support for compressing startup data to reduce binary size. This
6442 includes build time support and an API for the embedder to decompress
6443 the startup data before initializing V8.
6444
6445 Reduced the profiling hooks overhead from >400% to 25% when using
6446 ll_prof.
6447
6448 Performance improvements and bug fixes on all platforms.
6449
6450
64512011-04-27: Version 3.3.2
6452
6453 Fixed crash bug on ARM with no VFP3 hardware.
6454
6455 Fixed compilation of V8 without debugger support.
6456
6457 Improved performance on JSLint.
6458
6459 Added support Float64 WebGL arrays.
6460
6461 Fixed crash bug in regexp replace.
6462
6463
64642011-04-20: Version 3.3.1
6465
6466 Reduced V8 binary size by removing virtual functions from hydrogen.
6467
6468 Fixed crash bug on x64.
6469
6470 Performance improvements on ARM and IA32.
6471
6472
64732011-04-18: Version 3.3.0
6474
6475 Fixed bug in floating point rounding in Crankshaft on ARM
6476 (issue 958)
6477
6478 Fixed a number of issues with running without VFPv3 support on ARM
6479 (issue 1315)
6480
6481 Introduced v8Locale.Collator, a partial implementation of Collator
6482 per last ECMAScript meeting + mailing list.
6483
6484 Minor performance improvements and bug fixes.
6485
6486
Ben Murdoch8b112d22011-06-08 16:22:53 +010064872011-04-13: Version 3.2.10
6488
6489 Fixed bug in external float arrays on ARM (issue 1323).
6490
6491 Minor performance improvements and bug fixes.
6492
6493
64942011-04-11: Version 3.2.9
6495
6496 Removed support for ABI prior to EABI on ARM.
6497
6498 Fixed multiple crash bugs.
6499
6500 Added GCMole to the repository, a simple static analysis tool that
6501 searches for GC-unsafe evaluation order dependent callsites.
6502
6503 Made preparser API be exported in shared libraries.
6504
6505 Fixed multiple issues in EcmaScript 5 strict mode implementation.
6506
6507 Fixed mutable __proto__ property if object is not extensible
6508 (Issue 1309).
6509
6510 Fixed auto suspension of the sampler thread.
6511
6512
65132011-04-06: Version 3.2.8
6514
6515 Exposed WebGL typed array constructors in the shell sample.
6516
6517 Performance improvements on all platforms.
6518
6519
65202011-04-04: Version 3.2.7
6521
6522 Disabled the original 'classic' V8 code generator. Crankshaft is
6523 now the default on all platforms.
6524
6525 Changed the heap profiler to use more descriptive names.
6526
6527 Performance and stability improvements to isolates on all platforms.
6528
6529
Steve Block44f0eee2011-05-26 01:26:41 +010065302011-03-30: Version 3.2.6
6531
6532 Fixed xcode build warning in shell.cc (out of order initialization).
6533
6534 Fixed null-pointer dereference in the compiler when running without
6535 SSE3 support (Chromium issue 77654).
6536
6537 Fixed x64 compilation error due to some dead code. (Issue 1286)
6538
6539 Introduced scons target to build the preparser stand-alone example.
6540
6541 Made FreeBSD build and pass all tests.
6542
6543
65442011-03-28: Version 3.2.5
6545
6546 Fixed build with Irregexp interpreter (issue 1266).
6547
6548 Added Crankshaft support for external arrays.
6549
6550 Fixed two potential crash bugs.
6551
6552
65532011-03-23: Version 3.2.4
6554
6555 Added isolates which allows several V8 instances in the same process.
6556 This is controlled through the new Isolate class in the API.
6557
6558 Implemented more of EcmaScript 5 strict mode.
6559
6560 Reduced the time it takes to make detailed heap snapshot.
6561
6562 Added a number of commands to the ARM simulator and enhanced the ARM
6563 disassembler.
6564
6565
65662011-03-17: Version 3.2.3
6567
6568 Fixed a number of crash bugs.
6569
6570 Fixed Array::New(length) to return an array with a length (issue 1256).
6571
6572 Fixed FreeBSD build.
6573
6574 Changed __defineGetter__ to not throw (matching the behavior of Safari).
6575
6576 Implemented more of EcmaScript 5 strict mode.
6577
6578 Improved Crankshaft performance on all platforms.
6579
6580
65812011-03-14: Version 3.2.2
6582
6583 Fixed a number of crash and correctness bugs.
6584
6585 Improved Crankshaft performance on all platforms.
6586
6587 Fixed Crankshaft on Solaris/Illumos.
6588
6589
65902011-03-10: Version 3.2.1
6591
6592 Fixed a number of crash bugs.
6593
6594 Improved Crankshaft for x64 and ARM.
6595
6596 Implemented more of EcmaScript 5 strict mode.
6597
6598
Ben Murdoche0cee9b2011-05-25 10:26:03 +010065992011-03-07: Version 3.2.0
6600
6601 Fixed a number of crash bugs.
6602
6603 Turned on Crankshaft by default on x64 and ARM.
6604
6605 Improved Crankshaft for x64 and ARM.
6606
6607 Implemented more of EcmaScript 5 strict mode.
6608
6609
66102011-03-02: Version 3.1.8
6611
6612 Fixed a number of crash bugs.
6613
6614 Improved Crankshaft for x64 and ARM.
6615
6616 Implemented more of EcmaScript 5 strict mode.
6617
6618 Fixed issue with unaligned reads and writes on ARM.
6619
6620 Improved heap profiler support.
6621
6622
66232011-02-28: Version 3.1.7
6624
6625 Fixed a number of crash bugs.
6626
6627 Improved Crankshaft for x64 and ARM.
6628
6629 Fixed implementation of indexOf/lastIndexOf for sparse
6630 arrays (http://crbug.com/73940).
6631
6632 Fixed bug in map space compaction (http://crbug.com/59688).
6633
6634 Added support for direct getter accessors calls on ARM.
6635
6636
66372011-02-24: Version 3.1.6
6638
6639 Fixed a number of crash bugs.
6640
6641 Added support for Cygwin (issue 64).
6642
6643 Improved Crankshaft for x64 and ARM.
6644
6645 Added Crankshaft support for stores to pixel arrays.
6646
6647 Fixed issue in CPU profiler with Crankshaft.
6648
6649
66502011-02-16: Version 3.1.5
6651
6652 Change RegExp parsing to disallow /(*)/.
6653
6654 Added GDB JIT support for ARM.
6655
6656 Fixed several crash bugs.
6657
6658 Performance improvements on the IA32 platform.
6659
6660
Steve Block1e0659c2011-05-24 12:43:12 +010066612011-02-14: Version 3.1.4
6662
6663 Fixed incorrect compare of prototypes of the global object (issue
6664 1082).
6665
6666 Fixed a bug in optimizing calls to global functions (issue 1106).
6667
6668 Made optimized Function.prototype.apply safe for non-JSObject first
6669 arguments (issue 1128).
6670
6671 Fixed an error related to element accessors on Object.prototype and
6672 parser errors (issue 1130).
6673
6674 Fixed a bug in sorting an array with large array indices (issue 1131).
6675
6676 Properly treat exceptions thrown while compiling (issue 1132).
6677
6678 Fixed bug in register requirements for function.apply (issue 1133).
6679
6680 Fixed a representation change bug in the Hydrogen graph construction
6681 (issue 1134).
6682
6683 Fixed the semantics of delete on parameters (issue 1136).
6684
6685 Fixed a optimizer bug related to moving instructions with side effects
6686 (issue 1138).
6687
6688 Added support for the global object in Object.keys (issue 1150).
6689
6690 Fixed incorrect value for Math.LOG10E
6691 (issue http://code.google.com/p/chromium/issues/detail?id=72555)
6692
6693 Performance improvements on the IA32 platform.
6694
6695 Implement assignment to undefined reference in ES5 Strict Mode.
6696
6697
66982011-02-09: Version 3.1.3
6699
6700 Fixed a bug triggered by functions with huge numbers of declared
6701 arguments.
6702
6703 Fixed zap value aliasing a real object - debug mode only (issue 866).
6704
6705 Fixed issue where Array.prototype.__proto__ had been set to null
6706 (issue 1121).
6707
6708 Fixed stability bugs in Crankshaft for x86.
6709
6710
67112011-02-07: Version 3.1.2
6712
6713 Added better security checks when accessing properties via
6714 Object.getOwnPropertyDescriptor.
6715
6716 Fixed bug in Object.defineProperty and related access bugs (issues
6717 992, 1083 and 1092).
6718
6719 Added LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to ease
6720 copyright notice generation for embedders.
6721
6722
67232011-02-02: Version 3.1.1
6724
6725 Perform security checks before fetching the value in
6726 Object.getOwnPropertyDescriptor.
6727
6728 Fixed a bug in Array.prototype.splice triggered by passing no
6729 arguments.
6730
6731 Fixed bugs in -0 in arithmetic and in Math.pow.
6732
6733 Fixed bugs in the register allocator and in switching from optimized
6734 to unoptimized code.
6735
6736
67372011-01-31: Version 3.1.0
6738
6739 Performance improvements on all platforms.
6740
6741
67422011-01-28: Version 3.0.12
6743
6744 Added support for strict mode parameter and object property
6745 validation.
6746
6747 Fixed a couple of crash bugs.
6748
6749
67502011-01-25: Version 3.0.11
6751
6752 Fixed a bug in deletion of lookup slots that could cause global
6753 variables to be accidentally deleted (http://crbug.com/70066).
6754
6755 Added support for strict mode octal literal verification.
6756
6757 Fixed a couple of crash bugs (issues 1070 and 1071).
6758
6759
67602011-01-24: Version 3.0.10
6761
6762 Fixed External::Wrap for 64-bit addresses (issue 1037).
6763
6764 Fixed incorrect .arguments variable proxy handling in the full
6765 code generator (issue 1060).
6766
6767 Introduced partial strict mode support.
6768
6769 Changed formatting of recursive error messages to match Firefox and
6770 Safari (issue http://crbug.com/70334).
6771
6772 Fixed incorrect rounding for float-to-integer conversions for external
6773 array types, which implement the Typed Array spec
6774 (issue http://crbug.com/50972).
6775
6776 Performance improvements on the IA32 platform.
6777
6778
Ben Murdochb8e0da22011-05-16 14:20:40 +010067792011-01-19: Version 3.0.9
6780
6781 Added basic GDB JIT Interface integration.
6782
6783 Make invalid break/continue statements a syntax error instead of a
6784 runtime error.
6785
6786
67872011-01-17: Version 3.0.8
6788
6789 Exposed heap size limit to the heap statistics gathered by
6790 the GetHeapStatistics API.
6791
6792 Wrapped external pointers more carefully (issue 1037).
6793
6794 Hardened the implementation of error objects to avoid setters
6795 intercepting the properties set then throwing an error.
6796
6797 Avoided trashing the FPSCR when calculating Math.floor on ARM.
6798
6799 Performance improvements on the IA32 platform.
6800
6801
68022011-01-10: Version 3.0.7
Ben Murdoch086aeea2011-05-13 15:57:08 +01006803
6804 Stopped calling inherited setters when creating object literals
6805 (issue 1015).
6806
6807 Changed interpretation of malformed \c? escapes in RegExp to match
6808 JSC.
6809
6810 Enhanced the command-line debugger interface and fixed some minor
6811 bugs in the debugger.
6812
6813 Performance improvements on the IA32 platform.
6814
6815
Ben Murdochb8e0da22011-05-16 14:20:40 +010068162011-01-05: Version 3.0.6
Steve Block9fac8402011-05-12 15:51:54 +01006817
Ben Murdoch086aeea2011-05-13 15:57:08 +01006818 Allowed getters and setters on JSArray elements (issue 900).
Steve Block9fac8402011-05-12 15:51:54 +01006819
6820 Stopped JSON objects from hitting inherited setters (part of
Ben Murdoch086aeea2011-05-13 15:57:08 +01006821 issue 1015).
Steve Block9fac8402011-05-12 15:51:54 +01006822
6823 Allowed numbers and strings as names of getters/setters in object
Ben Murdoch086aeea2011-05-13 15:57:08 +01006824 initializer (issue 820).
Steve Block9fac8402011-05-12 15:51:54 +01006825
6826 Added use_system_v8 option to gyp (off by default), to make it easier
6827 for Linux distributions to ship with system-provided V8 library.
6828
Ben Murdoch086aeea2011-05-13 15:57:08 +01006829 Exported external array data accessors (issue 1016).
Steve Block9fac8402011-05-12 15:51:54 +01006830
6831 Added labelled thread names to help with debugging (on Linux).
6832
6833
68342011-01-03: Version 3.0.5
6835
6836 Fixed a couple of cast errors for gcc-3.4.3.
6837
6838 Performance improvements in GC and IA32 code generator.
6839
6840
Ben Murdochb0fe1622011-05-05 13:52:32 +010068412010-12-21: Version 3.0.4
6842
6843 Added Date::ResetCache() to the API so that the cached values in the
6844 Date object can be reset to allow live DST / timezone changes.
6845
6846 Extended existing support for printing (while debugging) the contents
6847 of objects. Added support for printing objects from release builds.
6848
6849 Fixed V8 issues 989, 1006, and 1007.
6850
6851
68522010-12-17: Version 3.0.3
6853
6854 Reapplied all changes for version 3.0.1.
6855
6856 Improved debugger protocol for remote debugging.
6857
6858 Added experimental support for using gyp to generate build files
6859 for V8.
6860
6861 Fixed implementation of String::Write in the API (issue 975).
6862
6863
68642010-12-15: Version 3.0.2
6865
6866 Revert version 3.0.1 and patch 3.0.1.1.
6867
6868
68692010-12-13: Version 3.0.1
6870
6871 Added support for an experimental internationalization API as an
6872 extension. This extension is disabled by default but can be enabled
6873 when building V8. The ECMAScript internationalization strawman is
6874 at http://wiki.ecmascript.org/doku.php?id=strawman:i18n_api.
6875
6876 Made RegExp character class parsing stricter. This mirrors a change
6877 to RegExp parsing in WebKit.
6878
6879 Fixed a bug in Object.defineProperty when used to change attributes
6880 of an existing property. It incorrectly set the property value to
6881 undefined (issue 965).
6882
6883 Fixed several different compilation failures on various platforms
6884 caused by the 3.0.0 release.
6885
6886 Optimized Math.pow so it can work on unboxed doubles.
6887
6888 Sped up quoting of JSON strings by removing one traversal of the
6889 string.
6890
6891
68922010-12-07: Version 3.0.0
6893
6894 Improved performance by (partially) addressing issue 957 on
6895 IA-32. Still needs more work for the other architectures.
6896
6897
Shimeng (Simon) Wang8a31eba2010-12-06 19:01:33 -080068982010-11-29: Version 2.5.9
6899
6900 Fixed crashes during GC caused by partially initialize heap
6901 objects.
6902
6903 Fixed bug in process sample that caused memory leaks.
6904
6905 Improved performance on ARM by implementing missing stubs and
6906 inlining.
6907
6908 Improved heap profiler support.
6909
6910 Added separate seeding on Windows of the random number generator
6911 used internally by the compiler (issue 936).
6912
6913 Exposed API for getting the name of the function used to construct
6914 an object.
6915
6916 Fixed date parser to handle one and two digit millisecond
6917 values (issue 944).
6918
6919 Fixed number parsing to disallow space between sign and
6920 digits (issue 946).
6921
6922
69232010-11-23: Version 2.5.8
6924
6925 Removed dependency on Gay's dtoa.
6926
6927 Improved heap profiler precision and speed.
6928
6929 Reduced overhead of callback invocations on ARM.
6930
6931
69322010-11-18: Version 2.5.7
6933
6934 Fixed obscure evaluation order bug (issue 931).
6935
6936 Split the random number state between JavaScript and the private API.
6937
6938 Fixed performance bug causing GCs when generating stack traces on
6939 code from very large scripts.
6940
6941 Fixed bug in parser that allowed (foo):42 as a labelled statement
6942 (issue 918).
6943
6944 Provide more accurate results about used heap size via
6945 GetHeapStatistics.
6946
6947 Allow build-time customization of the max semispace size.
6948
6949 Made String.prototype.split honor limit when separator is empty
6950 (issue 929).
6951
6952 Added missing failure check after expecting an identifier in
6953 preparser (Chromium issue 62639).
6954
6955
Russell Brenner90bac252010-11-18 13:33:46 -080069562010-11-10: Version 2.5.6
6957
6958 Added support for VFP rounding modes to the ARM simulator.
6959
6960 Fixed multiplication overflow bug (issue 927).
6961
6962 Added a limit for the amount of executable memory (issue 925).
6963
6964
Teng-Hui Zhu3e5fa292010-11-09 16:16:48 -080069652010-11-08: Version 2.5.5
6966
6967 Added more aggressive GC of external objects in near out-of-memory
6968 situations.
6969
6970 Fixed a bug that gave the incorrect result for String.split called
6971 on the empty string (issue 924).
6972
6973
69742010-11-03: Version 2.5.4
6975
6976 Improved V8 VFPv3 runtime detection to address issue 914.
6977
6978
69792010-11-01: Version 2.5.3
6980
6981 Fixed a bug that prevents constants from overwriting function values
6982 in object literals (issue 907).
6983
6984 Fixed a bug with reporting of impossible nested calls of DOM functions
6985 (issue http://crbug.com/60753).
6986
6987
John Reck59135872010-11-02 12:39:01 -070069882010-10-27: Version 2.5.2
6989
6990 Improved sampler resolution on Linux.
6991
6992 Allowed forcing the use of a simulator from the build script
6993 independently of the host architecture.
6994
Ben Murdoch086aeea2011-05-13 15:57:08 +01006995 Fixed FreeBSD port (issue 912).
John Reck59135872010-11-02 12:39:01 -07006996
6997 Made windows-tick-processor respect D8_PATH.
6998
6999 Implemented --noinline-new flag fully on IA32, X64 and ARM platforms.
7000
7001
Ben Murdochf87a2032010-10-22 12:50:53 +010070022010-10-20: Version 2.5.1
7003
7004 Fixed bug causing spurious out of memory exceptions
7005 (issue http://crbug.com/54580).
7006
7007 Fixed compilation error on Solaris platform (issue 901).
7008
7009 Fixed error in strtod (string to floating point number conversion)
7010 due to glibc's use of 80-bit floats in the FPU on 32-bit linux.
7011
7012 Adjusted randomized allocations of executable memory to have 64k
7013 granularity (issue http://crbug.com/56036).
7014
7015 Supported profiling using kernel perf_events on linux. Added ll_prof
7016 script to tools and --ll-prof flag to V8.
7017
7018
70192010-10-18: Version 2.5.0
7020
7021 Fixed bug in cache handling of lastIndex on global regexps
7022 (issue http://crbug.com/58740).
7023
7024 Added USE_SIMULATOR macro that explicitly indicates that we wish to use
7025 the simulator as the execution engine (by Mark Lam <mark.lam@palm.com>
Ben Murdochb0fe1622011-05-05 13:52:32 +01007026 from Hewlett-Packard Development Company, LP).
Ben Murdochf87a2032010-10-22 12:50:53 +01007027
7028 Fixed compilation error on ARM with gcc 4.4 (issue 894).
7029
7030
70312010-10-13: Version 2.4.9
7032
7033 Fixed a bug in the handling of conditional expressions in test
7034 contexts in compiler for top-level code.
7035
7036 Added "//@ sourceURL" information to the StackTrace API.
7037
7038 Exposed RegExp construction through the API.
7039
7040
70412010-10-04: Version 2.4.8
7042
7043 Fixed a bug in ResumeProfilerEx causing it to not always write out the
7044 whole snapshot (issue 868).
7045
7046 Performance improvements on all platforms.
7047
7048
70492010-09-30: Version 2.4.7
7050
7051 Changed the command-line flag --max-new-space-size to be in kB and the
7052 flag --max-old-space-size to be in MB (previously they were in bytes).
7053
7054 Added Debug::CancelDebugBreak to the debugger API.
7055
7056 Fixed a bug in getters for negative numeric property names
7057 (https://bugs.webkit.org/show_bug.cgi?id=46689).
7058
7059 Performance improvements on all platforms.
7060
7061
Kristian Monsen0d5e1162010-09-30 15:31:59 +010070622010-09-27: Version 2.4.6
Ben Murdochf87a2032010-10-22 12:50:53 +01007063
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007064 Fixed assertion failure related to copy-on-write arrays (issue 876).
7065
7066 Fixed build failure of 64-bit V8 on Windows.
7067
7068 Fixed a bug in RegExp (issue http://crbug.com/52801).
7069
7070 Improved the profiler's coverage to cover more functions (issue 858).
7071
7072 Fixed error in shift operators on 64-bit V8
7073 (issue http://crbug.com/54521).
7074
7075
70762010-09-22: Version 2.4.5
Ben Murdochf87a2032010-10-22 12:50:53 +01007077
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007078 Changed the RegExp benchmark to exercise the regexp engine on different
7079 inputs by scrambling the input strings.
7080
7081 Fixed a bug in keyed loads on strings.
7082
7083 Fixed a bug with loading global function prototypes.
7084
7085 Fixed a bug with profiling RegExp calls (issue http://crbug.com/55999).
7086
7087 Performance improvements on all platforms.
7088
7089
70902010-09-15: Version 2.4.4
7091
7092 Fixed bug with hangs on very large sparse arrays.
7093
7094 Now tries harder to free up memory when running out of space.
7095
7096 Added heap snapshots to JSON format to API.
7097
7098 Recalibrated benchmarks.
7099
7100
Steve Block59151502010-09-22 15:07:15 +010071012010-09-13: Version 2.4.3
7102
7103 Made Date.parse properly handle TZ offsets (issue 857).
7104
7105 Performance improvements on all platforms.
7106
7107
Iain Merrick9ac36c92010-09-13 15:29:50 +010071082010-09-08: Version 2.4.2
7109
7110 Fixed GC crash bug.
7111
7112 Fixed stack corruption bug.
7113
7114 Fixed compilation for newer C++ compilers that found Operand(0)
7115 ambiguous.
7116
7117
71182010-09-06: Version 2.4.1
7119
7120 Added the ability for an embedding application to receive a callback
7121 when V8 allocates (V8::AddMemoryAllocationCallback) or deallocates
7122 (V8::RemoveMemoryAllocationCallback) from the OS.
7123
7124 Fixed several JSON bugs (including issue 855).
7125
7126 Fixed memory overrun crash bug triggered during V8's tick-based
7127 profiling.
7128
7129 Performance improvements on all platforms.
7130
7131
Kristian Monsen80d68ea2010-09-08 11:05:35 +010071322010-09-01: Version 2.4.0
7133
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007134 Fixed bug in Object.freeze and Object.seal when Array.prototype or
7135 Object.prototype are changed (issue 842).
Kristian Monsen80d68ea2010-09-08 11:05:35 +01007136
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007137 Updated Array.splice to follow Safari and Firefox when called
Iain Merrick9ac36c92010-09-13 15:29:50 +01007138 with zero arguments.
Kristian Monsen80d68ea2010-09-08 11:05:35 +01007139
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007140 Fixed a missing live register when breaking at keyed loads on ARM.
Kristian Monsen80d68ea2010-09-08 11:05:35 +01007141
Iain Merrick9ac36c92010-09-13 15:29:50 +01007142 Performance improvements on all platforms.
Kristian Monsen80d68ea2010-09-08 11:05:35 +01007143
7144
71452010-08-25: Version 2.3.11
7146
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007147 Fixed bug in RegExp related to copy-on-write arrays.
Kristian Monsen80d68ea2010-09-08 11:05:35 +01007148
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007149 Refactored tools/test.py script, including the introduction of
Iain Merrick9ac36c92010-09-13 15:29:50 +01007150 VARIANT_FLAGS that allows specification of sets of flags with which
7151 all tests should be run.
Kristian Monsen80d68ea2010-09-08 11:05:35 +01007152
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007153 Fixed a bug in the handling of debug breaks in CallIC.
Kristian Monsen80d68ea2010-09-08 11:05:35 +01007154
Iain Merrick9ac36c92010-09-13 15:29:50 +01007155 Performance improvements on all platforms.
Kristian Monsen80d68ea2010-09-08 11:05:35 +01007156
7157
Steve Block791712a2010-08-27 10:21:07 +010071582010-08-23: Version 2.3.10
7159
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007160 Fixed bug in bitops on ARM.
Steve Block791712a2010-08-27 10:21:07 +01007161
7162 Build fixes for unusual compilers.
7163
7164 Track high water mark for RWX memory.
7165
7166 Performance improvements on all platforms.
7167
7168
Iain Merrick75681382010-08-19 15:07:18 +010071692010-08-18: Version 2.3.9
7170
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007171 Fixed compilation for ARMv4 on OpenBSD/FreeBSD.
Iain Merrick75681382010-08-19 15:07:18 +01007172
7173 Removed specialized handling of GCC 4.4 (issue 830).
7174
Iain Merrick9ac36c92010-09-13 15:29:50 +01007175 Fixed DST cache to take into account the suspension of DST in
Iain Merrick75681382010-08-19 15:07:18 +01007176 Egypt during the 2010 Ramadan (issue http://crbug.com/51855).
7177
Kristian Monsen80d68ea2010-09-08 11:05:35 +01007178 Performance improvements on all platforms.
Iain Merrick75681382010-08-19 15:07:18 +01007179
7180
71812010-08-16: Version 2.3.8
7182
7183 Fixed build with strict aliasing on GCC 4.4 (issue 463).
7184
7185 Fixed issue with incorrect handling of custom valueOf methods on
7186 string wrappers (issue 760).
7187
7188 Fixed compilation for ARMv4 (issue 590).
7189
7190 Improved performance.
7191
7192
71932010-08-11: Version 2.3.7
7194
7195 Reduced size of heap snapshots produced by heap profiler (issue 783).
7196
7197 Introduced v8::Value::IsRegExp method.
7198
7199 Fixed CPU profiler crash in start / stop sequence when non-existent
7200 name is passed (issue http://crbug.com/51594).
7201
7202 Introduced new indexed property query callbacks API (issue 816). This
7203 API is guarded by USE_NEW_QUERY_CALLBACK define and is disabled
7204 by default.
7205
7206 Removed support for object literal get/set with number/string
7207 property name.
7208
7209 Fixed handling of JSObject::elements in CalculateNetworkSize
7210 (issue 822).
7211
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007212 Allowed compiling with strict aliasing enabled on GCC 4.4 (issue 463).
Iain Merrick75681382010-08-19 15:07:18 +01007213
7214
Ben Murdochbb769b22010-08-11 14:56:33 +010072152010-08-09: Version 2.3.6
7216
Iain Merrick75681382010-08-19 15:07:18 +01007217 RegExp literals create a new object every time they are evaluated
7218 (issue 704).
Ben Murdochbb769b22010-08-11 14:56:33 +01007219
Iain Merrick75681382010-08-19 15:07:18 +01007220 Object.seal and Object.freeze return the modified object (issue 809).
Ben Murdochbb769b22010-08-11 14:56:33 +01007221
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007222 Fixed building using GCC 4.4.4.
Ben Murdochbb769b22010-08-11 14:56:33 +01007223
7224
72252010-08-04: Version 2.3.5
7226
7227 Added support for ES5 property names. Object initialisers and
7228 dot-notation property access now allows keywords. Also allowed
7229 non-identifiers after "get" or "set" in an object initialiser.
7230
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007231 Randomized the addresses of allocated executable memory on Windows.
Ben Murdochbb769b22010-08-11 14:56:33 +01007232
7233
72342010-08-02: Version 2.3.4
7235
7236 Fixed problems in implementation of ES5 function.prototype.bind.
7237
7238 Fixed error when using apply with arguments object on ARM (issue 784).
7239
7240 Added setting of global flags to debugger protocol.
7241
7242 Fixed an error affecting cached results of sin and cos (issue 792).
7243
7244 Removed memory leak from a boundary case where V8 is not initialized.
7245
7246 Fixed issue where debugger could set breakpoints outside the body
7247 of a function.
7248
7249 Fixed issue in debugger when using both live edit and step in features.
7250
7251 Added Number-letter (Nl) category to Unicode tables. These characters
7252 can now be used in identifiers.
7253
7254 Fixed an assert failure on X64 (issue 806).
7255
7256 Performance improvements on all platforms.
7257
7258
Kristian Monsen50ef84f2010-07-29 15:18:00 +010072592010-07-26: Version 2.3.3
7260
7261 Fixed error when building the d8 shell in a fresh checkout.
7262
7263 Implemented Function.prototype.bind (ES5 15.3.4.5).
7264
7265 Fixed an error in inlined stores on ia32.
7266
7267 Fixed an error when setting a breakpoint at the end of a function
7268 that does not end with a newline character.
7269
7270 Performance improvements on all platforms.
7271
7272
72732010-07-21: Version 2.3.2
7274
7275 Fixed compiler warnings when building with LLVM.
7276
7277 Fixed a bug with for-in applied to strings (issue 785).
7278
7279 Performance improvements on all platforms.
7280
7281
Ben Murdoch3bec4d22010-07-22 14:51:16 +010072822010-07-19: Version 2.3.1
7283
7284 Fixed compilation and linking with V8_INTERPRETED_REGEXP flag.
7285
7286 Fixed bug related to code flushing while compiling a lazy
7287 compilable function (issue http://crbug.com/49099).
7288
7289 Performance improvements on all platforms.
7290
7291
72922010-07-15: Version 2.3.0
7293
7294 Added ES5 Object.seal and Object.isSealed.
7295
7296 Added debugger API for scheduling debugger commands from a
7297 separate thread.
7298
7299
73002010-07-14: Version 2.2.24
7301
7302 Added API for capturing stack traces for uncaught exceptions.
7303
7304 Fixed crash bug when preparsing from a non-external V8 string
7305 (issue 775).
7306
7307 Fixed JSON.parse bug causing input not to be converted to string
7308 (issue 764).
7309
7310 Added ES5 Object.freeze and Object.isFrozen.
7311
7312 Performance improvements on all platforms.
7313
7314
Leon Clarkeac952652010-07-15 11:15:24 +010073152010-07-07: Version 2.2.23
7316
7317 API change: Convert Unicode code points outside the basic multilingual
7318 plane to the replacement character. Previous behavior was to silently
7319 truncate the value to 16 bits.
7320
7321 Fixed crash: handle all flat string types in regexp replace.
7322
7323 Prevent invalid pre-parsing data passed in through the API from
7324 crashing V8.
7325
7326 Performance improvements on all platforms.
7327
Ben Murdoch3bec4d22010-07-22 14:51:16 +01007328
Steve Block8defd9f2010-07-08 12:39:36 +010073292010-07-05: Version 2.2.22
7330
7331 Added ES5 Object.isExtensible and Object.preventExtensions.
7332
7333 Enabled building V8 as a DLL.
7334
7335 Fixed a bug in date code where -0 was not interpreted as 0
7336 (issue 736).
7337
7338 Performance improvements on all platforms.
7339
7340
73412010-06-30: Version 2.2.21
7342
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007343 Fixed bug in externalizing some ASCII strings (Chromium issue 47824).
Steve Block8defd9f2010-07-08 12:39:36 +01007344
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007345 Updated JSON.stringify to floor the space parameter (issue 753).
Steve Block8defd9f2010-07-08 12:39:36 +01007346
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007347 Updated the Mozilla test expectations to the newest version.
Steve Block8defd9f2010-07-08 12:39:36 +01007348
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007349 Updated the ES5 Conformance Test expectations to the latest version.
Steve Block8defd9f2010-07-08 12:39:36 +01007350
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007351 Updated the V8 benchmark suite.
Steve Block8defd9f2010-07-08 12:39:36 +01007352
7353 Provide actual breakpoints locations in response to setBreakpoint
7354 and listBreakpoints requests.
7355
7356
73572010-06-28: Version 2.2.20
7358
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007359 Fixed bug with for-in on x64 platform (issue 748).
Steve Block8defd9f2010-07-08 12:39:36 +01007360
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007361 Fixed crash bug on x64 platform (issue 756).
Steve Block8defd9f2010-07-08 12:39:36 +01007362
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007363 Fixed bug in Object.getOwnPropertyNames. (chromium issue 41243).
Steve Block8defd9f2010-07-08 12:39:36 +01007364
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007365 Fixed a bug on ARM that caused the result of 1 << x to be
Steve Block8defd9f2010-07-08 12:39:36 +01007366 miscalculated for some inputs.
7367
7368 Performance improvements on all platforms.
7369
7370
Kristian Monsen9dcf7e22010-06-28 14:14:28 +010073712010-06-23: Version 2.2.19
7372
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007373 Fixed bug that causes the build to break when profillingsupport=off
Kristian Monsen9dcf7e22010-06-28 14:14:28 +01007374 (issue 738).
7375
7376 Added expose-externalize-string flag for testing extensions.
7377
7378 Resolve linker issues with using V8 as a DLL causing a number of
7379 problems with unresolved symbols.
7380
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007381 Fixed build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
Kristian Monsen9dcf7e22010-06-28 14:14:28 +01007382 defined.
7383
7384 Performance improvements on all platforms.
7385
7386
73872010-06-16: Version 2.2.18
7388
7389 Added API functions to retrieve information on indexed properties
7390 managed by the embedding layer. Fixes bug 737.
7391
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007392 Made ES5 Object.defineProperty support array elements. Fixes bug 619.
Kristian Monsen9dcf7e22010-06-28 14:14:28 +01007393
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007394 Added heap profiling to the API.
Kristian Monsen9dcf7e22010-06-28 14:14:28 +01007395
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007396 Removed old named property query from the API.
Kristian Monsen9dcf7e22010-06-28 14:14:28 +01007397
7398 Incremental performance improvements.
7399
7400
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +010074012010-06-14: Version 2.2.17
7402
7403 Improved debugger support for stepping out of functions.
7404
7405 Incremental performance improvements.
7406
7407
74082010-06-09: Version 2.2.16
7409
Steve Block8defd9f2010-07-08 12:39:36 +01007410 Removed the SetExternalStringDiposeCallback API. Changed the
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +01007411 disposal of external string resources to call a virtual Dispose
7412 method on the resource.
7413
Steve Block8defd9f2010-07-08 12:39:36 +01007414 Added support for more precise break points when debugging and
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +01007415 stepping.
7416
7417 Memory usage improvements on all platforms.
7418
7419
74202010-06-07: Version 2.2.15
7421
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007422 Added an API to control the disposal of external string resources.
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +01007423
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007424 Added missing initialization of a couple of variables which makes
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +01007425 some compilers complaint when compiling with -Werror.
7426
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007427 Improved performance on all platforms.
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +01007428
7429
74302010-06-02: Version 2.2.14
7431
7432 Fixed a crash in code generated for String.charCodeAt.
7433
7434 Fixed a compilation issue with some GCC versions (issue 727).
7435
7436 Performance optimizations on x64 and ARM platforms.
7437
7438
74392010-05-31: Version 2.2.13
7440
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007441 Implemented Object.getOwnPropertyDescriptor for element indices and
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +01007442 strings (issue 599).
7443
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007444 Fixed bug for windows 64 bit C calls from generated code.
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +01007445
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007446 Added new scons flag unalignedaccesses for arm builds.
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +01007447
7448 Performance improvements on all platforms.
7449
7450
Leon Clarkef7060e22010-06-03 12:02:55 +010074512010-05-26: Version 2.2.12
7452
7453 Allowed accessors to be defined on objects rather than just object
7454 templates.
7455
7456 Changed the ScriptData API.
7457
7458
74592010-05-21: Version 2.2.11
7460
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007461 Fixed crash bug in liveedit on 64 bit.
Leon Clarkef7060e22010-06-03 12:02:55 +01007462
7463 Use 'full compiler' when debugging is active. This should increase
7464 the density of possible break points, making single step more fine
7465 grained. This will only take effect for functions compiled after
7466 debugging has been started, so recompilation of all functions is
7467 required to get the full effect. IA32 and x64 only for now.
7468
7469 Misc. fixes to the Solaris build.
7470
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007471 Added new flags --print-cumulative-gc-stat and --trace-gc-nvp.
Leon Clarkef7060e22010-06-03 12:02:55 +01007472
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007473 Added filtering of CPU profiles by security context.
Leon Clarkef7060e22010-06-03 12:02:55 +01007474
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007475 Fixed crash bug on ARM when running without VFP2 or VFP3.
Leon Clarkef7060e22010-06-03 12:02:55 +01007476
7477 Incremental performance improvements in all backends.
7478
7479
Kristian Monsen25f61362010-05-21 11:50:48 +010074802010-05-17: Version 2.2.10
7481
7482 Performance improvements in the x64 and ARM backends.
7483
7484
74852010-05-10: Version 2.2.9
7486
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007487 Allowed Object.create to be called with a function (issue 697).
Kristian Monsen25f61362010-05-21 11:50:48 +01007488
7489 Fixed bug with Date.parse returning a non-NaN value when called on a
7490 non date string (issue 696).
7491
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007492 Allowed unaligned memory accesses on ARM targets that support it (by
Leon Clarkef7060e22010-06-03 12:02:55 +01007493 Subrato K De of CodeAurora <subratokde@codeaurora.org>).
Kristian Monsen25f61362010-05-21 11:50:48 +01007494
7495 C++ API for retrieving JavaScript stack trace information.
7496
7497
Steve Block6ded16b2010-05-10 14:33:55 +010074982010-05-05: Version 2.2.8
7499
7500 Performance improvements in the x64 and ARM backends.
7501
7502
75032010-05-03: Version 2.2.7
7504
7505 Added support for ES5 date time string format to Date.parse.
7506
7507 Performance improvements in the x64 backend.
7508
7509
75102010-04-28: Version 2.2.6
7511
7512 Added "amd64" as recognized architecture in scons build script
7513 (by Ryan Dahl <coldredlemur@gmail.com>).
7514
7515 Fixed bug in String search and replace with very simple RegExps.
7516
7517 Fixed bug in RegExp containing "\b^".
7518
7519 Performance improvements on all platforms.
7520
7521
75222010-04-26: Version 2.2.5
7523
7524 Various performance improvements (especially for ARM and x64)
7525
7526 Fixed bug in CPU profiling (http://crbug.com/42137)
7527
7528 Fixed a bug with the natives cache.
7529
7530 Fixed two bugs in the ARM code generator that can cause
7531 wrong calculations.
7532
7533 Fixed a bug that may cause a wrong result for shift operations.
7534
7535
75362010-04-21: Version 2.2.4
7537
7538 Fixed warnings on arm on newer GCC versions.
7539
7540 Fixed a number of minor bugs.
7541
7542 Performance improvements on all platforms.
7543
7544
75452010-04-14: Version 2.2.3
7546
7547 Added stack command and mem command to ARM simulator debugger.
7548
7549 Fixed scons snapshot and ARM build, and Windows X64 build issues.
7550
7551 Performance improvements on all platforms.
7552
7553
75542010-04-12: Version 2.2.2
7555
7556 Introduced new profiler API.
7557
7558 Fixed random number generator to produce full 32 random bits.
7559
7560
75612010-04-06: Version 2.2.1
7562
7563 Debugger improvements.
7564
7565 Fixed minor bugs.
7566
7567
75682010-03-29: Version 2.2.0
7569
7570 Fixed a few minor bugs.
7571
7572 Performance improvements for string operations.
7573
7574
75752010-03-26: Version 2.1.10
7576
7577 Fixed scons build issues.
7578
7579 Fixed a couple of minor bugs.
7580
7581
75822010-03-25: Version 2.1.9
7583
7584 Added API support for reattaching a global object to a context.
7585
7586 Extended debugger API with access to the internal debugger context.
7587
7588 Fixed Chromium crashes (issues http://crbug.com/39128 and
7589 http://crbug.com/39160)
7590
7591
75922010-03-24: Version 2.1.8
7593
7594 Added fine-grained garbage collection callbacks to the API.
7595
7596 Performance improvements on all platforms.
7597
7598
75992010-03-22: Version 2.1.7
7600
7601 Fixed issue 650.
7602
7603 Fixed a bug where __proto__ was sometimes enumerated (issue 646).
7604
7605 Performance improvements for arithmetic operations.
7606
7607 Performance improvements for string operations.
7608
7609 Print script name and line number information in stack trace.
7610
7611
76122010-03-17: Version 2.1.6
7613
7614 Performance improvements for arithmetic operations.
7615
7616 Performance improvements for string operations.
7617
7618
76192010-03-10: Version 2.1.4
7620
7621 Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).
7622
7623 Performance improvements on all platforms.
7624
7625
76262010-03-10: Version 2.1.3
7627
7628 Added API method for context-disposal notifications.
7629
7630 Added API method for accessing elements by integer index.
7631
7632 Added missing implementation of Uint32::Value and Value::IsUint32
7633 API methods.
7634
7635 Added IsExecutionTerminating API method.
7636
7637 Disabled strict aliasing for GCC 4.4.
7638
7639 Fixed string-concatenation bug (issue 636).
7640
7641 Performance improvements on all platforms.
7642
7643
Andrei Popescu402d9372010-02-26 13:31:12 +000076442010-02-23: Version 2.1.2
7645
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007646 Fixed a crash bug caused by wrong assert.
Andrei Popescu402d9372010-02-26 13:31:12 +00007647
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007648 Fixed a bug with register names on 64-bit V8 (issue 615).
Andrei Popescu402d9372010-02-26 13:31:12 +00007649
7650 Performance improvements on all platforms.
7651
Steve Block6ded16b2010-05-10 14:33:55 +01007652
Andrei Popescu402d9372010-02-26 13:31:12 +000076532010-02-19: Version 2.1.1
7654
7655 [ES5] Implemented Object.defineProperty.
7656
7657 Improved profiler support.
7658
7659 Added SetPrototype method in the public V8 API.
7660
7661 Added GetScriptOrigin and GetScriptLineNumber methods to Function
7662 objects in the API.
7663
7664 Performance improvements on all platforms.
7665
7666
Leon Clarke4515c472010-02-03 11:58:03 +000076672010-02-03: Version 2.1.0
7668
7669 Values are now always wrapped in objects when used as a receiver.
7670 (issue 223).
7671
7672 [ES5] Implemented Object.getOwnPropertyNames.
7673
7674 [ES5] Restrict JSON.parse to only accept strings that conforms to the
7675 JSON grammar.
7676
7677 Improvement of debugger agent (issue 549 and 554).
7678
7679 Fixed problem with skipped stack frame in profiles (issue 553).
7680
7681 Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
7682 <ry@tinyclouds.org>.
7683
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007684 Fixed a bug that Math.round() returns incorrect results for huge
Leon Clarke4515c472010-02-03 11:58:03 +00007685 integers.
7686
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007687 Fixed enumeration order for objects created from some constructor
Leon Clarke4515c472010-02-03 11:58:03 +00007688 functions (isue http://crbug.com/3867).
7689
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007690 Fixed arithmetic on some integer constants (issue 580).
Leon Clarke4515c472010-02-03 11:58:03 +00007691
7692 Numerous performance improvements including porting of previous IA-32
7693 optimizations to x64 and ARM architectures.
7694
7695
Leon Clarkee46be812010-01-19 14:06:41 +000076962010-01-14: Version 2.0.6
7697
7698 Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,
7699 GetOwnProperty, FromPropertyDescriptor.
7700
7701 Fixed Mac x64 build errors.
7702
7703 Improved performance of some math and string operations.
7704
7705 Improved performance of some regexp operations.
7706
7707 Improved performance of context creation.
7708
7709 Improved performance of hash tables.
7710
7711
77122009-12-18: Version 2.0.5
7713
7714 Extended to upper limit of map space to allow for 7 times as many map
7715 to be allocated (issue 524).
7716
7717 Improved performance of code using closures.
7718
7719 Improved performance of some binary operations involving doubles.
7720
7721
77222009-12-16: Version 2.0.4
7723
7724 Added ECMAScript 5 Object.create.
7725
7726 Improved performance of Math.max and Math.min.
7727
7728 Optimized adding of strings on 64-bit platforms.
7729
7730 Improved handling of external strings by using a separate table
7731 instead of weak handles. This improves garbage collection
7732 performance and uses less memory.
7733
7734 Changed code generation for object and array literals in toplevel
7735 code to be more compact by doing more work in the runtime.
7736
7737 Fixed a crash bug triggered when garbage collection happened during
7738 generation of a callback load inline cache stub.
7739
7740 Fixed crash bug sometimes triggered when local variables shadowed
7741 parameters in functions that used the arguments object.
7742
7743
Steve Blockd0582a62009-12-15 09:54:21 +000077442009-12-03: Version 2.0.3
7745
7746 Optimized handling and adding of strings, for-in and Array.join.
7747
7748 Heap serialization is now non-destructive.
7749
7750 Improved profiler support with information on time spend in C++
7751 callbacks registered through the API.
7752
7753 Added commands to the debugger protocol for starting/stopping
7754 profiling.
7755
7756 Enabled the non-optimizing compiler for top-level code.
7757
7758 Changed the API to only allow strings to be set as data objects on
7759 Contexts and scripts to avoid potentially keeping global objects
7760 around for too long (issue 528).
7761
7762 OpenBSD support patch by Peter Valchev <pvalchev@gmail.com>.
7763
7764 Fixed bugs.
7765
7766
77672009-11-24: Version 2.0.2
7768
7769 Improved profiler support.
7770
7771 Fixed bug that broke compilation of d8 with readline support.
7772
7773
77742009-11-20: Version 2.0.1
7775
7776 Fixed crash bug in String.prototype.replace.
7777
7778 Reverted a change which caused Chromium interactive ui test
7779 failures.
7780
Leon Clarkee46be812010-01-19 14:06:41 +00007781
Steve Blockd0582a62009-12-15 09:54:21 +000077822009-11-18: Version 2.0.0
7783
7784 Added support for VFP on ARM.
7785
7786 Added TryCatch::ReThrow method to the API.
7787
7788 Reduced the size of snapshots and improved the snapshot load time.
7789
7790 Improved heap profiler support.
7791
7792 64-bit version now supported on Windows.
7793
7794 Fixed a number of debugger issues.
7795
7796 Fixed bugs.
7797
7798
77992009-10-29: Version 1.3.18
7800
7801 Reverted a change which caused crashes in RegExp replace.
7802
7803 Reverted a change which caused Chromium ui_tests failure.
7804
7805
78062009-10-28: Version 1.3.17
7807
7808 Added API method to get simple heap statistics.
7809
7810 Improved heap profiler support.
7811
7812 Fixed the implementation of the resource constraint API so it
7813 works when using snapshots.
7814
7815 Fixed a number of issues in the Windows 64-bit version.
7816
7817 Optimized calls to API getters.
7818
7819 Added valgrind notification on code modification to the 64-bit version.
7820
7821 Fixed issue where we logged shared library addresses on Windows at
7822 startup and never used them.
7823
7824
Steve Block3ce2e202009-11-05 08:53:23 +000078252009-10-16: Version 1.3.16
Leon Clarkee46be812010-01-19 14:06:41 +00007826
Steve Block3ce2e202009-11-05 08:53:23 +00007827 X64: Convert smis to holding 32 bits of payload.
7828
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007829 Introduced v8::Integer::NewFromUnsigned method.
Steve Block3ce2e202009-11-05 08:53:23 +00007830
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007831 Added missing null check in Context::GetCurrent.
Steve Block3ce2e202009-11-05 08:53:23 +00007832
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007833 Added trim, trimLeft and trimRight methods to String
Steve Block3ce2e202009-11-05 08:53:23 +00007834 Patch by Jan de Mooij <jandemooij@gmail.com>
7835
7836 Implement ES5 Array.isArray
7837 Patch by Jan de Mooij <jandemooij@gmail.com>
7838
7839 Skip access checks for hidden properties.
7840
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007841 Added String::Concat(Handle<String> left, Handle<String> right) to the
7842 V8 API.
Steve Block3ce2e202009-11-05 08:53:23 +00007843
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007844 Fixed GYP-based builds of V8.
Steve Block3ce2e202009-11-05 08:53:23 +00007845
7846
78472009-10-07: Version 1.3.15
7848
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007849 Expanded the maximum size of the code space to 512MB for 64-bit mode.
Steve Block3ce2e202009-11-05 08:53:23 +00007850
7851 Fixed a crash bug happening when starting profiling (issue
7852 http://crbug.com/23768).
7853
7854
78552009-10-07: Version 1.3.14
7856
7857 Added GetRealNamedProperty to the API to lookup real properties
7858 located on the object or in the prototype chain skipping any
7859 interceptors.
7860
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007861 Fixed the stack limits setting API to work correctly with threads. The
Steve Block3ce2e202009-11-05 08:53:23 +00007862 stack limit now needs to be set to each thread thich is used with V8.
7863
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007864 Removed the high-priority flag from IdleNotification()
Steve Block3ce2e202009-11-05 08:53:23 +00007865
7866 Ensure V8 is initialized before locking and unlocking threads.
7867
7868 Implemented a new JavaScript minifier for compressing the source of
Steve Blockd0582a62009-12-15 09:54:21 +00007869 the built-in JavaScript. This removes non-Open Source code from Douglas
Steve Block3ce2e202009-11-05 08:53:23 +00007870 Crockford from the project.
7871
7872 Added a missing optimization in StringCharAt.
7873
7874 Fixed some flaky socket tests.
7875
7876 Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
7877 in 64-bit mode.
7878
7879 Fixed memory leaks in the thread management code.
7880
7881 Fixed the result of assignment to a pixel array. The assigned value
7882 is now the result.
7883
7884 Error reporting for invalid left-hand sides in for-in statements, pre-
7885 and postfix count expressions, and assignments now matches the JSC
7886 behavior in Safari 4.
7887
7888 Follow the spec in disallowing function declarations without a name.
7889
7890 Always allocate code objects within a 2 GB range. On x64 architecture
7891 this is used to use near calls (32-bit displacement) in Code objects.
7892
7893 Optimized array construction ported to x64 and ARM architectures.
7894
7895 [ES5] Changed Object.keys to return strings for element indices.
7896
7897
Steve Blocka7e24c12009-10-30 11:49:00 +000078982009-09-23: Version 1.3.13
7899
7900 Fixed uninitialized memory problem.
7901
7902 Improved heap profiler support.
7903
7904
79052009-09-22: Version 1.3.12
7906
7907 Changed behavior of |function|.toString() on built-in functions to
7908 be compatible with other implementations. Patch by Jan de Mooij.
7909
7910 Added Object::IsDirty in the API.
7911
7912 Optimized array construction; it is now handled purely in native
7913 code.
7914
7915 [ES5] Made properties of the arguments array enumerable.
7916
7917 [ES5] Added test suite adapter for the es5conform test suite.
7918
7919 [ES5] Added Object.keys function.
7920
7921
79222009-09-15: Version 1.3.11
7923
7924 Fixed crash in error reporting during bootstrapping.
7925
7926 Optimized generated IA32 math code by using SSE2 instructions when
7927 available.
7928
7929 Implemented missing pieces of debugger infrastructure on ARM. The
7930 debugger is now fully functional on ARM.
7931
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007932 Made 'hidden' the default visibility for gcc.
Steve Blocka7e24c12009-10-30 11:49:00 +00007933
7934
79352009-09-09: Version 1.3.10
7936
7937 Fixed profiler on Mac in 64-bit mode.
7938
7939 Optimized creation of objects from simple constructor functions on
7940 ARM.
7941
7942 Fixed a number of debugger issues.
7943
7944 Reduced the amount of memory consumed by V8.
7945
7946
79472009-09-02: Version 1.3.9
7948
7949 Optimized stack guard checks on ARM.
7950
7951 Optimized API operations by inlining more in the API.
7952
7953 Optimized creation of objects from simple constructor functions.
7954
7955 Enabled a number of missing optimizations in the 64-bit port.
7956
7957 Implemented native-code support for regular expressions on ARM.
7958
7959 Stopped using the 'sahf' instruction on 64-bit machines that do
7960 not support it.
7961
7962 Fixed a bug in the support for forceful termination of JavaScript
7963 execution.
7964
7965
79662009-08-26: Version 1.3.8
7967
7968 Changed the handling of idle notifications to allow idle
7969 notifications when V8 has not yet been initialized.
7970
7971 Fixed ARM simulator compilation problem on Windows.
Leon Clarkee46be812010-01-19 14:06:41 +00007972
Steve Blocka7e24c12009-10-30 11:49:00 +00007973
79742009-08-25: Version 1.3.7
7975
7976 Reduced the size of generated code on ARM platforms by reducing
7977 the size of constant pools.
7978
7979 Changed build files to not include the 'ENV' user environment
7980 variable in the build environment.
7981
7982 Changed the handling of idle notifications.
7983
7984
79852009-08-21: Version 1.3.6
7986
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007987 Added support for forceful termination of JavaScript execution.
Steve Blocka7e24c12009-10-30 11:49:00 +00007988
Kristian Monsen0d5e1162010-09-30 15:31:59 +01007989 Added low memory notification to the API. The embedding host can signal
Steve Blocka7e24c12009-10-30 11:49:00 +00007990 a low memory situation to V8.
7991
7992 Changed the handling of global handles (persistent handles in the API
7993 sense) to avoid issues regarding allocation of new global handles
7994 during weak handle callbacks.
7995
7996 Changed the growth policy of the young space.
7997
7998 Fixed a GC issue introduced in version 1.3.5.
7999
8000
80012009-08-19: Version 1.3.5
8002
Kristian Monsen0d5e1162010-09-30 15:31:59 +01008003 Optimized initialization of some arrays in the builtins.
Steve Blocka7e24c12009-10-30 11:49:00 +00008004
Kristian Monsen0d5e1162010-09-30 15:31:59 +01008005 Fixed mac-nm script to support filenames with spaces.
Steve Blocka7e24c12009-10-30 11:49:00 +00008006
8007 Support for using the V8 profiler when V8 is embedded in a Windows DLL.
8008
8009 Changed typeof RegExp from 'object' to 'function' for compatibility.
8010 Fixed bug where regexps were not callable across contexts.
8011
8012 Added context independent script compilation to the API.
8013
8014 Added API call to get the stack trace for an exception.
8015
8016 Added API for getting object mirrors.
8017
Kristian Monsen0d5e1162010-09-30 15:31:59 +01008018 Made sure that SSE3 instructions are used whenever possible even when
Steve Blocka7e24c12009-10-30 11:49:00 +00008019 running off a snapshot generated without using SSE3 instructions.
8020
8021 Tweaked the handling of the initial size and growth policy of the heap.
8022
8023 Added native code generation for RegExp to 64-bit version.
8024
8025 Added JavaScript debugger support to 64-bit version.
8026
8027
80282009-08-13: Version 1.3.4
8029
8030 Added a readline() command to the d8 shell.
8031
8032 Fixed bug in json parsing.
8033
8034 Added idle notification to the API and reduced memory on idle
8035 notifications.
8036
8037
80382009-08-12: Version 1.3.3
8039
Kristian Monsen0d5e1162010-09-30 15:31:59 +01008040 Fixed issue 417: incorrect %t placeholder expansion.
Steve Blocka7e24c12009-10-30 11:49:00 +00008041
Kristian Monsen0d5e1162010-09-30 15:31:59 +01008042 Added .gitignore file similar to Chromium's one.
Steve Blocka7e24c12009-10-30 11:49:00 +00008043
Kristian Monsen0d5e1162010-09-30 15:31:59 +01008044 Fixed SConstruct file to build with new logging code for Android.
Steve Blocka7e24c12009-10-30 11:49:00 +00008045
8046 API: added function to find instance of template in prototype
8047 chain. Inlined Object::IsInstanceOf.
8048
8049 Land change to notify valgrind when we modify code on x86.
8050
Kristian Monsen0d5e1162010-09-30 15:31:59 +01008051 Added api call to determine whether a string can be externalized.
Steve Blocka7e24c12009-10-30 11:49:00 +00008052
Kristian Monsen0d5e1162010-09-30 15:31:59 +01008053 Added a write() command to d8.
Steve Blocka7e24c12009-10-30 11:49:00 +00008054
8055
80562009-08-05: Version 1.3.2
8057
8058 Started new compiler infrastructure for two-pass compilation using a
8059 control flow graph constructed from the AST.
8060
8061 Profiler stack sampling for X64.
8062
8063 Safe handling of NaN to Posix platform-dependent time functions.
8064
8065 Added a new profiler control API to unify controlling various aspects
8066 of profiling.
8067
8068 Fixed issue 392.
8069
8070
80712009-07-30: Version 1.3.1
8072
8073 Speed improvements to accessors and interceptors.
8074
8075 Added support for capturing stack information on custom errors.
8076
8077 Added support for morphing an object into a pixel array where its
8078 indexed properties are stored in an external byte array. Values written
8079 are always clamped to the 0..255 interval.
8080
8081 Profiler on x64 now handles C/C++ functions from shared libraries.
8082
8083 Changed the debugger to avoid stepping into function.call/apply if the
8084 function is a built-in.
8085
8086 Initial implementation of constructor heap profile for JS objects.
Leon Clarkee46be812010-01-19 14:06:41 +00008087
Steve Blocka7e24c12009-10-30 11:49:00 +00008088 More fine grained control of profiling aspects through the API.
Leon Clarkee46be812010-01-19 14:06:41 +00008089
Steve Blocka7e24c12009-10-30 11:49:00 +00008090 Optimized the called as constructor check for API calls.
8091
8092
80932009-07-27: Version 1.3.0
8094
8095 Allowed RegExp objects to be called as functions (issue 132).
8096
8097 Fixed issue where global property cells would escape after
8098 detaching the global object; see http://crbug.com/16276.
8099
8100 Added support for stepping into setters and getters in the
8101 debugger.
8102
8103 Changed the debugger to avoid stopping in its own JavaScript code
8104 and in the code of built-in functions.
8105
8106 Fixed issue 345 by avoiding duplicate escaping labels.
8107
8108 Fixed ARM code generator crash in short-circuited boolean
8109 expressions and added regression tests.
8110
8111 Added an external allocation limit to avoid issues where small V8
8112 objects would hold on to large amounts of external memory without
8113 causing garbage collections.
Leon Clarkee46be812010-01-19 14:06:41 +00008114
8115 Finished more of the inline caching stubs for x64 targets.
Steve Blocka7e24c12009-10-30 11:49:00 +00008116
8117
81182009-07-13: Version 1.2.14
8119
8120 Added separate paged heap space for global property cells and
8121 avoid updating the write barrier when storing into them.
8122
8123 Improved peep-hole optimization on ARM platforms by not emitting
8124 unnecessary debug information.
8125
8126 Re-enabled ICs for loads and calls that skip a global object
8127 during lookup through the prototype chain.
8128
8129 Allowed access through global proxies to use ICs.
8130
8131 Fixed issue 401.
8132
8133
81342009-07-09: Version 1.2.13
8135
8136 Fixed issue 397, issue 398, and issue 399.
8137
8138 Added support for breakpoint groups.
8139
8140 Fixed bugs introduced with the new global object representation.
8141
8142 Fixed a few bugs in the ARM code generator.
8143
8144
81452009-07-06: Version 1.2.12
8146
8147 Added stack traces collection to Error objects accessible through
8148 the e.stack property.
8149
8150 Changed RegExp parser to use a recursive data structure instead of
8151 stack-based recursion.
8152
8153 Optimized Date object construction and string concatenation.
8154
8155 Improved performance of div, mod, and mul on ARM platforms.
8156
8157
81582009-07-02: Version 1.2.11
8159
8160 Improved performance on IA-32 and ARM.
8161
8162 Fixed profiler sampler implementation on Mac OS X.
8163
8164 Changed the representation of global objects to improve
8165 performance of adding a lot of new properties.
8166
8167
81682009-06-29: Version 1.2.10
8169
8170 Improved debugger support.
8171
8172 Fixed bug in exception message reporting (issue 390).
8173
8174 Improved overall performance.
8175
8176
81772009-06-23: Version 1.2.9
8178
8179 Improved math performance on ARM.
8180
8181 Fixed profiler name-inference bug.
8182
8183 Fixed handling of shared libraries in the profiler tick processor
8184 scripts.
8185
8186 Fixed handling of tests that time out in the test scripts.
8187
8188 Fixed compilation on MacOS X version 10.4.
8189
8190 Fixed two bugs in the regular expression engine.
8191
8192 Fixed a bug in the string type inference.
8193
8194 Fixed a bug in the handling of 'constant function' properties.
Leon Clarkee46be812010-01-19 14:06:41 +00008195
Steve Blocka7e24c12009-10-30 11:49:00 +00008196 Improved overall performance.
Leon Clarkee46be812010-01-19 14:06:41 +00008197
Steve Blocka7e24c12009-10-30 11:49:00 +00008198
81992009-06-16: Version 1.2.8
8200
8201 Optimized math on ARM platforms.
8202
8203 Fixed two crash bugs in the handling of getters and setters.
8204
8205 Improved the debugger support by adding scope chain information.
8206
8207 Improved the profiler support by compressing log data transmitted
8208 to clients.
8209
8210 Improved overall performance.
8211
8212
82132009-06-08: Version 1.2.7
8214
8215 Improved debugger and profiler support.
8216
8217 Reduced compilation time by improving the handling of deferred
8218 code.
8219
8220 Optimized interceptor accesses where the property is on the object
8221 on which the interceptors is attached.
8222
8223 Fixed compilation problem on GCC 4.4 by changing the stack
8224 alignment to 16 bytes.
8225
8226 Fixed handle creation to follow stric aliasing rules.
8227
8228 Fixed compilation on FreeBSD.
8229
8230 Introduced API for forcing the deletion of a property ignoring
8231 interceptors and attributes.
8232
8233
82342009-05-29: Version 1.2.6
8235
8236 Added a histogram recording hit rates at different levels of the
8237 compilation cache.
8238
8239 Added stack overflow check for the RegExp analysis phase. Previously a
8240 very long regexp graph could overflow the stack with recursive calls.
8241
8242 Use a dynamic buffer when collecting log events in memory.
8243
8244 Added start/stop events to the profiler log.
8245
8246 Fixed infinite loop which could happen when setting a debug break while
8247 executing a RegExp compiled to native code.
8248
8249 Fixed handling of lastIndexOf called with negative index (issue 351).
8250
8251 Fixed irregular crash in profiler test (issue 358).
8252
8253 Fixed compilation issues with some versions of gcc.
8254
8255
82562009-05-26: Version 1.2.5
8257
8258 Fixed bug in initial boundary check for Boyer-Moore text
8259 search (issue 349).
8260
8261 Fixed compilation issues with MinGW and gcc 4.3+ and added support
8262 for armv7 and cortex-a8 architectures. Patches by Lei Zhang and
8263 Craig Schlenter.
8264
8265 Added a script cache to the debugger.
8266
8267 Optimized compilation performance by improving internal data
8268 structures and avoiding expensive property load optimizations for
8269 code that's infrequently executed.
8270
8271 Exposed the calling JavaScript context through the static API
8272 function Context::GetCalling().
8273
8274
82752009-05-18: Version 1.2.4
8276
8277 Improved performance of floating point number allocation for ARM
8278 platforms.
8279
8280 Fixed crash when using the instanceof operator on functions with
8281 number values in their prototype chain (issue 341).
8282
8283 Optimized virtual frame operations in the code generator to speed
8284 up compilation time and allocated the frames in the zone.
8285
8286 Made the representation of virtual frames and jump targets in the
8287 code generator much more compact.
8288
8289 Avoided linear search for non-locals in scope code when resolving
8290 variables inside with and eval scopes.
8291
8292 Optimized lexical scanner by dealing with whitespace as part of
8293 the token scanning instead of as a separate step before it.
8294
8295 Changed the scavenging collector so that promoted objects do not
8296 reside in the old generation while their remembered set is being
8297 swept for pointers into the young generation.
8298
8299 Fixed numeric overflow handling when compiling count operations.
8300
8301
83022009-05-11: Version 1.2.3
8303
8304 Fixed bug in reporting of out-of-memory situations.
8305
8306 Introduced hidden prototypes on certain builtin prototype objects
8307 such as String.prototype to emulate JSC's behavior of restoring
8308 the original function when deleting functions from those prototype
8309 objects.
8310
8311 Fixed crash bug in the register allocator.
8312
8313
83142009-05-04: Version 1.2.2
8315
8316 Fixed bug in array sorting for sparse arrays (issue 326).
8317
8318 Added support for adding a soname when building a shared library
8319 on Linux (issue 151).
8320
8321 Fixed bug caused by morphing internal ASCII strings to external
8322 two-byte strings. Slices over ASCII strings have to forward ASCII
8323 checks to the underlying buffer string.
8324
8325 Allowed API call-as-function handlers to be called as
8326 constructors.
8327
8328 Fixed a crash bug where an external string was disposed but a
8329 slice of the external string survived as a symbol.
8330
8331
83322009-04-27: Version 1.2.1
8333
8334 Added EcmaScript 5 JSON object.
8335
Kristian Monsen0d5e1162010-09-30 15:31:59 +01008336 Fixed bug in preemption support on ARM.
Steve Blocka7e24c12009-10-30 11:49:00 +00008337
8338
83392009-04-23: Version 1.2.0
8340
8341 Optimized floating-point operations on ARM.
8342
8343 Added a number of extensions to the debugger API.
8344
8345 Changed the enumeration order for unsigned integer keys to always
8346 be numerical order.
8347
8348 Added a "read" extension to the shell sample.
8349
8350 Added support for Array.prototype.reduce and
8351 Array.prototype.reduceRight.
8352
8353 Added an option to the SCons build to control Microsoft Visual C++
8354 link-time code generation.
8355
8356 Fixed a number of bugs (in particular issue 315, issue 316,
8357 issue 317 and issue 318).
8358
8359
83602009-04-15: Version 1.1.10
8361
8362 Fixed crash bug that occurred when loading a const variable in the
8363 presence of eval.
8364
8365 Allowed using with and eval in registered extensions in debug mode
8366 by fixing bogus assert.
8367
8368 Fixed the source position for function returns to enable the
8369 debugger to break there.
8370
8371
83722009-04-14: Version 1.1.9
8373
8374 Made the stack traversal code in the profiler robust by avoiding
8375 to look into the heap.
8376
8377 Added name inferencing for anonymous functions to facilitate
8378 debugging and profiling.
8379
8380 Re-enabled stats timers in the developer shell (d8).
8381
8382 Fixed issue 303 by avoiding to shortcut cons-symbols.
8383
8384
83852009-04-11: Version 1.1.8
8386
8387 Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).
8388
8389 Fixed step-in handling for Function.prototype.apply and call in
8390 the debugger (issue 269).
8391
8392 Fixed v8::Object::DeleteHiddenValue to not bail out when there
8393 are no hidden properties.
8394
8395 Added workaround for crash bug, where external symbol table
8396 entries with deleted resources would lead to NPEs when looking
8397 up in the symbol table.
8398
8399
84002009-04-07: Version 1.1.7
8401
8402 Added support for easily importing additional environment
8403 variables into the SCons build.
8404
8405 Optimized strict equality checks.
8406
8407 Fixed crash in indexed setters on objects without a corresponding
8408 getter (issue 298).
8409
8410 Re-enabled script compilation cache.
8411
8412
84132009-04-01: Version 1.1.6
8414
8415 Reverted an unsafe code generator change.
8416
8417
84182009-04-01: Version 1.1.5
8419
8420 Fixed bug that caused function literals to not be optimized as
8421 much as other functions.
8422
8423 Improved profiler support.
8424
8425 Fixed a crash bug in connection with debugger unloading.
8426
8427 Fixed a crash bug in the code generator caused by losing the
8428 information that a frame element was copied.
8429
8430 Fixed an exception propagation bug that could cause non-null
8431 return values when exceptions were thrown.
8432
8433
84342009-03-30: Version 1.1.4
8435
8436 Optimized String.prototype.match.
8437
8438 Improved the stack information in profiles.
8439
8440 Fixed bug in ARM port making it possible to compile the runtime
8441 system for thumb mode again.
8442
8443 Implemented a number of optimizations in the code generator.
8444
8445 Fixed a number of memory leaks in tests.
8446
8447 Fixed crash bug in connection with script source code and external
8448 strings.
8449
8450
84512009-03-24: Version 1.1.3
8452
8453 Fixed assertion failures in compilation of loop conditions.
8454
8455 Removed STL dependency from developer shell (d8).
8456
8457 Added infrastructure for protecting the V8 heap from corruption
8458 caused by memory modifications from the outside.
8459
8460
84612009-03-24: Version 1.1.2
8462
8463 Improved frame merge code generated by the code generator.
8464
8465 Optimized String.prototype.replace.
8466
8467 Implemented __defineGetter__ and __defineSetter__ for properties
8468 with integer keys on non-array objects.
8469
8470 Improved debugger and profiler support.
8471
8472 Fixed a number of portability issues to allow compilation for
8473 smaller ARM devices.
8474
8475 Exposed object cloning through the API.
8476
8477 Implemented hidden properties. This is used to expose an identity
8478 hash for objects through the API.
8479
8480 Implemented restarting of regular expressions if their input
8481 string changes representation during preemption.
8482
8483 Fixed a code generator bug that could cause assignments in loops
8484 to be ignored if using continue to break out of the loop (issue
8485 284).
8486
8487
84882009-03-12: Version 1.1.1
8489
8490 Fixed an assertion in the new compiler to take stack overflow
8491 exceptions into account.
8492
8493 Removed exception propagation code that could cause crashes.
8494
8495 Fixed minor bug in debugger line number computations.
8496
8497 8-byte align the C stack on Linux and Windows to speed up floating
8498 point computations.
8499
8500
85012009-03-12: Version 1.1.0
8502
8503 Improved code generation infrastructure by doing simple register
8504 allocation and constant folding and propagation.
8505
8506 Optimized regular expression matching by avoiding to create
8507 intermediate string arrays and by flattening nested array
8508 representations of RegExp data.
8509
8510 Traverse a few stack frames when recording profiler samples to
8511 include partial call graphs in the profiling output.
8512
8513 Added support for using OProfile to profile generated code.
8514
8515 Added remote debugging support to the D8 developer shell.
8516
8517 Optimized creation of nested literals like JSON objects.
8518
8519 Fixed a bug in garbage collecting unused maps and turned it on by
8520 default (--collect-maps).
8521
8522 Added support for running tests under Valgrind.
8523
8524
85252009-02-27: Version 1.0.3
8526
8527 Optimized double-to-integer conversions in bit operations by using
8528 SSE3 instructions if available.
8529
8530 Optimized initialization sequences that store to multiple
8531 properties of the same object.
8532
8533 Changed the D8 debugger frontend to use JSON messages.
8534
8535 Force garbage collections when disposing contexts.
8536
8537 Align code objects at 32-byte boundaries.
8538
8539
85402009-02-25: Version 1.0.2
8541
8542 Improved profiling support by performing simple call stack
8543 sampling for ticks and by fixing a bug in the logging of code
8544 addresses.
8545
8546 Fixed a number of debugger issues.
8547
8548 Optimized code that uses eval.
8549
8550 Fixed a couple of bugs in the regular expression engine.
8551
8552 Reduced the size of generated code for certain regular expressions.
8553
8554 Removed JSCRE completely.
8555
8556 Fixed issue where test could not be run if there was a dot in the
8557 checkout path.
8558
8559
85602009-02-13: Version 1.0.1
8561
8562 Fixed two crash-bugs in irregexp (issue 231 and 233).
8563
8564 Fixed a number of minor bugs (issue 87, 227 and 228).
8565
8566 Added support for morphing strings to external strings on demand
8567 to avoid having to create copies in the embedding code.
8568
8569 Removed experimental support for external symbol callbacks.
8570
8571
85722009-02-09: Version 1.0.0
8573
8574 Fixed crash-bug in the code generation for case independent 16 bit
8575 backreferences.
8576
8577 Made shells more robust in the presence of string conversion
8578 failures (issue 224).
8579
8580 Fixed a potential infinite loop when attempting to resolve
8581 eval (issue 221).
8582
8583 Miscellaneous fixes to the new regular expression engine.
8584
8585 Reduced binary by stripping unneeded text from JavaScript library and
8586 minifying some JavaScript files.
8587
8588
85892009-01-27: Version 0.4.9
8590
8591 Enabled new regular expression engine.
8592
8593 Made a number of changes to the debugger protocol.
8594
8595 Fixed a number of bugs in the preemption support.
8596
8597 Added -p option to the developer shell to run files in parallel
8598 using preemption.
8599
8600 Fixed a number of minor bugs (including issues 176, 187, 189, 192,
8601 193, 198 and 201).
8602
8603 Fixed a number of bugs in the serialization/deserialization
8604 support for the ARM platform.
8605
8606
86072009-01-19: Version 0.4.8.1
8608
8609 Minor patch to debugger support.
8610
8611
86122009-01-16: Version 0.4.8
8613
8614 Fixed string length bug on ARM (issue 171).
8615
8616 Made most methods in the API const.
8617
8618 Optimized object literals by improving data locality.
8619
8620 Fixed bug that caused incomplete functions to be cached in case of
8621 stack overflow exceptions.
8622
8623 Fixed bugs that caused catch variables and variables introduced by
8624 eval to behave incorrectly when using accessors (issues 186, 190
8625 and 191).
8626
8627
86282009-01-06: Version 0.4.7
8629
8630 Minor bugfixes and optimizations.
8631
8632 Added command line debugger to D8 shell.
8633
8634 Fixed subtle bug that caused the wrong 'this' to be used when
8635 calling a caught function in a catch clause.
8636
8637 Inline array loads within loops directly in the code instead of
8638 always calling a stub.
8639
8640
86412008-12-11: Version 0.4.6
8642
8643 Fixed exception reporting bug where certain exceptions were
8644 incorrectly reported as uncaught.
8645
8646 Improved the memory allocation strategy used during compilation to
8647 make running out of memory when compiling huge scripts less
8648 likely.
8649
8650 Optimized String.replace by avoiding the construction of certain
8651 sub strings.
8652
8653 Fixed bug in code generation for large switch statements on ARM.
8654
8655 Fixed bug that caused V8 to change the global object template
8656 passed in by the user.
8657
8658 Changed the API for creating object groups used during garbage
8659 collection. Entire object groups are now passed to V8 instead of
8660 individual members of the groups.
8661
8662
86632008-12-03: Version 0.4.5
8664
8665 Added experimental API support for allocating V8 symbols as
8666 external strings.
8667
8668 Fixed bugs in debugging support on ARM.
8669
8670 Changed eval implementation to correctly detect whether or not a
8671 call to eval is aliased.
8672
8673 Fixed bug caused by a combination of the compilation cache and
8674 dictionary probing in native code. The bug caused us to sometimes
8675 call functions that had not yet been compiled.
8676
8677 Added platform support for FreeBSD.
8678
8679 Added support for building V8 on Windows with either the shared or
8680 static version of MSVCRT
8681
8682 Added the v8::jscre namespace around the jscre functions to avoid
8683 link errors (duplicate symbols) when building Google Chrome.
8684
8685 Added support for calling a JavaScript function with the current
8686 debugger execution context as its argument to the debugger
8687 interface.
8688
8689 Changed the type of names of counters from wchar_t to char.
8690
8691 Changed the Windows system call used to compute daylight savings
8692 time. The system call that we used to use became four times
8693 slower on WinXP SP3.
8694
8695 Added support in the d8 developer shell for memory-mapped counters
8696 and added a stats-viewer tool.
8697
8698 Fixed bug in upper/lower case mappings (issue 149).
8699
8700
87012008-11-17: Version 0.4.4
8702
8703 Reduced code size by using shorter instruction encoding when
8704 possible.
8705
8706 Added a --help option to the shell sample and to the d8 shell.
8707
8708 Added visual studio project files for building the ARM simulator.
8709
8710 Fixed a number of ARM simulator issues.
8711
8712 Fixed bug in out-of-memory handling on ARM.
8713
8714 Implemented shell support for passing arguments to a script from
8715 the command line.
8716
8717 Fixed bug in date code that made certain date functions return -0
8718 instead of 0 for dates before the epoch.
8719
8720 Restricted applications of eval so it can only be used in the
8721 context of the associated global object.
8722
8723 Treat byte-order marks as whitespace characters.
8724
8725
87262008-11-04: Version 0.4.3
8727
8728 Added support for API accessors that prohibit overwriting by
8729 accessors defined in JavaScript code by using __defineGetter__ and
8730 __defineSetter__.
8731
8732 Improved handling of conditionals in test status files.
8733
8734 Introduced access control in propertyIsEnumerable.
8735
8736 Improved performance of some string operations by caching
8737 information about the type of the string between operations.
8738
8739 Fixed bug in fast-case code for switch statements that only have
8740 integer labels.
8741
8742
87432008-10-30: Version 0.4.2
8744
8745 Improved performance of Array.prototype.concat by moving the
8746 implementation to C++ (issue 123).
8747
8748 Fixed heap growth policy to avoid growing old space to its maximum
8749 capacity before doing a garbage collection and fixed issue that
8750 would lead to artificial out of memory situations (issue 129).
8751
8752 Fixed Date.prototype.toLocaleDateString to return the date in the
8753 same format as WebKit.
8754
8755 Added missing initialization checks to debugger API.
8756
8757 Added removing of unused maps during GC.
8758
8759
87602008-10-28: Version 0.4.1
8761
8762 Added caching of RegExp data in compilation cache.
8763
8764 Added Visual Studio project file for d8 shell.
8765
8766 Fixed function call performance regression introduced in version
8767 0.4.0 when splitting the global object in two parts (issue 120).
8768
8769 Fixed issue 131 by checking for empty handles before throwing and
8770 reporting exceptions.
8771
8772
87732008-10-23: Version 0.4.0
8774
8775 Split the global object into two parts: The state holding global
8776 object and the global object proxy.
8777
8778 Fixed bug that affected the value of an assignment to an element
8779 in certain cases (issue 116).
8780
8781 Added GetPropertyNames functionality (issue 33) and extra Date
8782 functions (issue 77) to the API.
8783
8784 Changed WeakReferenceCallback to take a Persistent<Value> instead
8785 of a Persistent<Object> (issue 101).
8786
8787 Fixed issues with message reporting for exceptions in try-finally
8788 blocks (issues 73 and 75).
8789
8790 Optimized flattening of strings and string equality checking.
8791
8792 Improved Boyer-Moore implementation for faster indexOf operations.
8793
8794 Added development shell (d8) which includes counters and
8795 completion support.
8796
8797 Fixed problem with the receiver passed to functions called from
8798 eval (issue 124).
8799
8800
88012008-10-16: Version 0.3.5
8802
8803 Improved string hash-code distribution by excluding bit-field bits
8804 from the hash-code.
8805
8806 Changed string search algorithm used in indexOf from KMP to
8807 Boyer-Moore.
8808
8809 Improved the generated code for the instanceof operator.
8810
8811 Improved performance of slow-case string equality checks by
8812 specializing the code based on the string representation.
8813
8814 Improve the handling of out-of-memory situations (issue 70).
8815
8816 Improved performance of strict equality checks.
8817
8818 Improved profiler output to make it easier to see anonymous
8819 functions.
8820
8821 Improved performance of slow-case keyed loads.
8822
8823 Improved property access performance by allocating a number of
8824 properties in the front object.
8825
8826 Changed the toString behavior on the built-in object constructors
8827 to print [native code] instead of the actual source. Some web
8828 applications do not like constructors with complex toString
8829 results.
8830
8831
88322008-10-06: Version 0.3.4
8833
8834 Changed Array.prototype.sort to use quick sort.
8835
8836 Fixed code generation issue where leaving a finally block with
8837 break or continue would accumulate elements on the expression
8838 stack (issue 86).
8839
8840 Made sure that the name accessor on functions returns the expected
8841 names for builtin JavaScript functions and C++ callback functions.
8842
8843 Added fast case code for extending the property storage array of
8844 JavaScript objects.
8845
8846 Ported switch statement optimizations introduced in version 0.3.3
8847 to the ARM code generator.
8848
8849 Allowed GCC to use strict-aliasing rules when compiling.
8850
8851 Improved performance of arguments object allocation by taking care
8852 of arguments adaptor frames in the generated code.
8853
8854 Updated the V8 benchmark suite to version 2.
8855
8856
88572008-09-25: Version 0.3.3
8858
8859 Improved handling of relocation information to enable more
8860 peep-hole optimizations.
8861
8862 Optimized switch statements where all labels are constant small
8863 integers.
8864
8865 Optimized String.prototype.indexOf for common cases.
8866
8867 Fixed more build issues (issue 80).
8868
8869 Fixed a couple of profiler issues.
8870
8871 Fixed bug where the body of a function created using the Function
8872 constructor was not allowed to end with a single-line comment
8873 (issue 85).
8874
8875 Improved handling of object literals by canonicalizing object
8876 literal maps. This will allow JSON objects with the same set of
8877 properties to share the same map making inline caching work better
8878 for JSON objects.
8879
8880
88812008-09-17: Version 0.3.2
8882
8883 Generalized the EvalCache into a CompilationCache and enabled it
8884 for scripts too. The current strategy is to retire all entries
8885 whenever a mark-sweep collection is started.
8886
8887 Fixed bug where switch statements containing only a default case
8888 would lead to an unbalanced stack (issue 69).
8889
8890 Fixed bug that made access to the function in a named function
8891 expression impossible in certain situations (issue 24).
8892
8893 Fixed even more build issues.
8894
8895 Optimized calling conventions on ARM. The conventions on ARM and
8896 IA-32 now match.
8897
8898 Removed static initializers for flags and counters.
8899
8900 Improved inline caching behavior for uncommon cases where lazily
8901 loading Date and RegExp code could force certain code paths go
8902 megamorphic.
8903
8904 Removed arguments adaption for builtins written in C++. This
8905 makes Array.prototype.push and Array.prototype.pop slightly
8906 faster.
8907
8908
89092008-09-11: Version 0.3.1
8910
8911 Fixed a number of build issues.
8912
8913 Fixed problem with missing I-cache flusing on ARM.
8914
8915 Changed space layout in memory management by splitting up
8916 code space into old data space and code space.
8917
8918 Added utf-8 conversion support to the API (issue 57).
8919
8920 Optimized repeated calls to eval with the same strings. These
8921 repeated calls are common in web applications.
8922
8923 Added Xcode project file.
8924
8925 Optimized a couple of Array operation.
8926
8927 Fixed parser bug by checking for end-of-string when parsing break
8928 and continue (issue 35).
8929
8930 Fixed problem where asian characters were not categorized as
8931 letters.
8932
8933 Fixed bug that disallowed calling functions fetched from an array
8934 using a string as an array index (issue 32).
8935
8936 Fixed bug where the internal field count on object templates were
8937 sometimes ignored (issue 54).
8938
8939 Added -f option to the shell sample for compatibility with other
8940 engines (issue 18).
8941
8942 Added source info to TryCatches in the API.
8943
8944 Fixed problem where the seed for the random number generator was
8945 clipped in a double to unsigned int conversion.
8946
8947 Fixed bug where cons string symbols were sometimes converted to
8948 non-symbol flat strings during GC.
8949
8950 Fixed bug in error reporting when attempting to convert null to an
8951 object.
8952
8953
89542008-09-04: Version 0.3.0
8955
8956 Added support for running tests on the ARM simulator.
8957
8958 Fixed bug in the 'in' operator where negative indices were not
8959 treated correctly.
8960
8961 Fixed build issues on gcc-4.3.1.
8962
8963 Changed Date.prototype.toLocaleTimeString to not print the
8964 timezone part of the time.
8965
8966 Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
8967 with user code.
8968
8969
89702008-09-02: Version 0.2.5
8971
8972 Renamed the top level directory 'public' to 'include'.
8973
8974 Added 'env' option to the SCons build scripts to support
8975 overriding the ENV part of the build environment. This is mostly
8976 to support Windows builds in cases where SCons cannot find the
8977 correct paths to the Windows SDK, as these paths cannot be passed
8978 through shell environment variables.
8979
8980 Enabled "Buffer Security Check" on for the Windows SCons build and
8981 added the linker option /OPT:ICF as an optimization.
8982
8983 Added the V8 benchmark suite to the repository.
8984
8985
89862008-09-01: Version 0.2.4
8987
8988 Included mjsunit JavaScript test suite and C++ unit tests.
8989
8990 Changed the shell sample to not print the result of executing a
8991 script provided on the command line.
8992
8993 Fixed issue when building samples on Windows using a shared V8
8994 library. Added visibility option on Linux build which makes the
8995 generated library 18% smaller.
8996
8997 Changed build system to accept multiple build modes in one build
8998 and generate separate objects, libraries and executables for each
8999 mode.
9000
9001 Removed deferred negation optimization (a * -b => -(a * b)) since
9002 this visibly changes operand conversion order.
9003
9004 Improved parsing performance by introducing stack guard in
9005 preparsing. Without a stack guard preparsing always bails out
9006 with stack overflow.
9007
9008 Changed shell sample to take flags directly from the command-line.
9009 Added API call that implements this.
9010
9011 Added load, quit and version functions to the shell sample so it's
9012 easier to run benchmarks and tests.
9013
9014 Fixed issue with building samples and cctests on 64-bit machines.
9015
9016 Fixed bug in the runtime system where the prototype chain was not
9017 always searched for a setter when setting a property that does not
9018 exist locally.
9019
9020
90212008-08-14: Version 0.2.3
9022
9023 Improved performance of garbage collection by moving the
9024 function that updates pointers during compacting collection
9025 into the updating visitor. This gives the compiler a better
9026 chance to inline and avoid a function call per (potential)
9027 pointer.
9028
9029 Extended the shell sample with a --runtime-flags option.
9030
9031 Added Visual Studio project files for the shell.cc and
9032 process.cc samples.
9033
9034
90352008-08-13: Version 0.2.2
9036
9037 Improved performance of garbage collection by changing the way
9038 we use the marking stack in the event of stack overflow during
9039 full garbage collection and by changing the way we mark roots.
9040
9041 Cleaned up ARM version by removing top of stack caching and by
9042 introducing push/pop elimination.
9043
9044 Cleaned up the way runtime functions are called to allow
9045 runtime calls with no arguments.
9046
9047 Changed Windows build options to make sure that exceptions are
9048 disabled and that optimization flags are enabled.
9049
9050 Added first version of Visual Studio project files.
9051
9052
90532008-08-06: Version 0.2.1
9054
9055 Improved performance of unary addition by avoiding runtime calls.
9056
9057 Fixed the handling of '>' and '<=' to use right-to-left conversion
9058 and left-to-right evaluation as specified by ECMA-262.
9059
9060 Fixed a branch elimination bug on the ARM platform where incorrect
9061 code was generated because of overly aggressive branch
9062 elimination.
9063
9064 Improved performance of code that repeatedly assigns the same
9065 function to the same property of different objects with the same
9066 map.
9067
9068 Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler
9069 no longer expects DEBUG to be defined.
9070
9071 Added platform-nullos.cc to serve as the basis for new platform
9072 implementations.
9073
9074
90752008-07-30: Version 0.2.0
9076
9077 Changed all text files to have native svn:eol-style.
9078
9079 Added a few samples and support for building them. The samples
9080 include a simple shell that can be used to benchmark and test V8.
9081
9082 Changed V8::GetVersion to return the version as a string.
9083
9084 Added source for lazily loaded scripts to snapshots and made
9085 serialization non-destructive.
9086
9087 Improved ARM support by fixing the write barrier code to use
9088 aligned loads and stores and by removing premature locals
9089 optimization that relied on broken support for callee-saved
9090 registers (removed).
9091
9092 Refactored the code for marking live objects during garbage
9093 collection and the code for allocating objects in paged
9094 spaces. Introduced an abstraction for the map word of a heap-
9095 allocated object and changed the memory allocator to allocate
9096 executable memory only for spaces that may contain code objects.
9097
9098 Moved StringBuilder to utils.h and ScopedLock to platform.h, where
9099 they can be used by debugging and logging modules. Added
9100 thread-safe message queues for dealing with debugger events.
9101
9102 Fixed the source code reported by toString for certain builtin
9103 empty functions and made sure that the prototype property of a
9104 function is enumerable.
9105
9106 Improved performance of converting values to condition flags in
9107 generated code.
9108
9109 Merged disassembler-{arch} files.
9110
9111
91122008-07-28: Version 0.1.4
9113
9114 Added support for storing JavaScript stack traces in a stack
9115 allocated buffer to make it visible in shallow core dumps.
9116 Controlled by the --preallocate-message-memory flag which is
9117 disabled by default.
9118
9119
91202008-07-25: Version 0.1.3
9121
9122 Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
9123 map transitions would count as properties.
9124
9125 Allowed aliased eval invocations by treating them as evals in the
9126 global context. This may change in the future.
9127
9128 Added support for accessing the last entered context through the
9129 API and renamed Context::Current to Context::GetCurrent and
9130 Context::GetSecurityContext to Context::GetCurrentSecurityContext.
9131
9132 Fixed bug in the debugger that would cause the debugger scripts to
9133 be recursively loaded and changed all disabling of interrupts to
9134 be block-structured.
9135
9136 Made snapshot data read-only to allow it to be more easily shared
9137 across multiple users of V8 when linked as a shared library.
9138
9139
91402008-07-16: Version 0.1.2
9141
9142 Fixed building on Mac OS X by recognizing i386 and friends as
9143 IA-32 platforms.
9144
9145 Added propagation of stack overflow exceptions that occur while
9146 compiling nested functions.
9147
9148 Improved debugger with support for recursive break points and
9149 handling of exceptions that occur in the debugger JavaScript code.
9150
9151 Renamed GetInternal to GetInternalField and SetInternal to
9152 SetInternalField in the API and moved InternalFieldCount and
9153 SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
9154
9155
91562008-07-09: Version 0.1.1
9157
9158 Fixed bug in stack overflow check code for IA-32 targets where a
9159 non-tagged value in register eax was pushed to the stack.
9160
9161 Fixed potential quadratic behavior when converting strings to
9162 numbers.
9163
9164 Fixed bug where the return value from Object::SetProperty could
9165 end up being the property holder instead of the written value.
9166
9167 Improved debugger support by allowing nested break points and by
9168 dealing with stack-overflows when compiling functions before
9169 setting break points in them.
9170
9171
91722008-07-03: Version 0.1.0
9173
9174 Initial export.
9175
Ben Murdoch3fb3ca82011-12-02 17:19:32 +00009176# Local Variables:
9177# mode:text
9178# End: