Remove obsolete functionality from the MacroAssemblers.
[platform/upstream/v8.git] / ChangeLog
1 2015-05-17: Sentinel
2
3         The ChangeLog file is no longer maintained on bleeding_edge. This
4         sentinel should stay on top of this list.
5
6
7 2015-05-17: Version 4.5.2
8
9         Performance and stability improvements on all platforms.
10
11
12 2015-05-16: Version 4.5.1
13
14         Test that TypedArray methods don't read length (issue 3578).
15
16         Implement %TypedArray%.{fill,find,findIndex} (issue 3578).
17
18         TypedArray.prototype.copyWithin method (issue 3578).
19
20         Provide accessor for object internal properties that doesn't require
21         debugger to be active (Chromium issue 481845).
22
23         Don't create debug context if debug listener is not set (Chromium issue
24         482290).
25
26         Performance and stability improvements on all platforms.
27
28
29 2015-05-13: Version 4.4.65
30
31         Deprecate Isolate::New.
32
33         Factor out core of Array.forEach and .every, for use in TypedArrays
34         (issue 3578).
35
36         Performance and stability improvements on all platforms.
37
38
39 2015-05-12: Version 4.4.64
40
41         Performance and stability improvements on all platforms.
42
43
44 2015-05-11: Version 4.4.63
45
46         Let Runtime_GrowArrayElements accept non-Smi numbers as |key| (Chromium
47         issue 485410).
48
49         Make one copy for all TypedArray methods (issue 4085).
50
51         Performance and stability improvements on all platforms.
52
53
54 2015-05-09: Version 4.4.62
55
56         [turbofan] Fix handling of OsrLoopEntry in ControlReducer::ConnectNTL()
57         (Chromium issue 485908).
58
59         Performance and stability improvements on all platforms.
60
61
62 2015-05-08: Version 4.4.61
63
64         Performance and stability improvements on all platforms.
65
66
67 2015-05-08: Version 4.4.60
68
69         Performance and stability improvements on all platforms.
70
71
72 2015-05-08: Version 4.4.59
73
74         Performance and stability improvements on all platforms.
75
76
77 2015-05-07: Version 4.4.58
78
79         TypedArray.prototype.every method (issue 3578).
80
81         [V8] Reland https://codereview.chromium.org/1121833003/ (Chromium issue
82         480652).
83
84         Performance and stability improvements on all platforms.
85
86
87 2015-05-07: Version 4.4.57
88
89         Performance and stability improvements on all platforms.
90
91
92 2015-05-06: Version 4.4.56
93
94         Shard v8_base.lib on Windows to avoid 2G .lib limit (Chromium issue
95         485155).
96
97         Implement a 'trial parse' step, that will abort pre-parsing excessively
98         long and trivial functions, so that they can be eagerly compiled after
99         all. This essentially allows the parser to renege on its earlier
100         decision to lazy-parse, if additional information suggests it was a bad
101         decision (Chromium issue 470930).
102
103         Performance and stability improvements on all platforms.
104
105
106 2015-05-06: Version 4.4.55
107
108         Handle the case when derived constructor is [[Call]]ed with 0 args
109         (Chromium issue 474783).
110
111         freed_nodes in global-handles should be addititive (Chromium issues
112         479796, 484671).
113
114         [V8] Reland https://codereview.chromium.org/1100993003/ (Chromium issue
115         480652).
116
117         [es6] When comparing two symbols we may need to throw a TypeError (issue
118         4073).
119
120         Performance and stability improvements on all platforms.
121
122
123 2015-05-06: Version 4.4.54
124
125         Performance and stability improvements on all platforms.
126
127
128 2015-05-05: Version 4.4.53
129
130         Performance and stability improvements on all platforms.
131
132
133 2015-05-05: Version 4.4.52
134
135         Performance and stability improvements on all platforms.
136
137
138 2015-05-04: Version 4.4.51
139
140         Performance and stability improvements on all platforms.
141
142
143 2015-05-04: Version 4.4.50
144
145         Performance and stability improvements on all platforms.
146
147
148 2015-05-01: Version 4.4.49
149
150         Performance and stability improvements on all platforms.
151
152
153 2015-05-01: Version 4.4.48
154
155         [V8] Use previous token location as EOS token location (Chromium issue
156         480652).
157
158         Implement kToBeExecutedOnceCodeAge (Chromium issue 470930).
159
160         Performance and stability improvements on all platforms.
161
162
163 2015-04-30: Version 4.4.47
164
165         Performance and stability improvements on all platforms.
166
167
168 2015-04-30: Version 4.4.46
169
170         Performance and stability improvements on all platforms.
171
172
173 2015-04-29: Version 4.4.45
174
175         Performance and stability improvements on all platforms.
176
177
178 2015-04-29: Version 4.4.44
179
180         Pass ArrayBuffer::Allocator via Isolate::CreateParams.
181
182         Fix unobservable constructor replacement on prototype maps (Chromium
183         issue 478522).
184
185         Performance and stability improvements on all platforms.
186
187
188 2015-04-29: Version 4.4.43
189
190         Performance and stability improvements on all platforms.
191
192
193 2015-04-28: Version 4.4.42
194
195         MIPS: Fix FP load/store with large offsets from base register (Chromium
196         issue 481519).
197
198         Extending v8::GetHeapStatistics to return total available size (Chromium
199         issue 476013).
200
201         Performance and stability improvements on all platforms.
202
203
204 2015-04-28: Version 4.4.41
205
206         Performance and stability improvements on all platforms.
207
208
209 2015-04-28: Version 4.4.40
210
211         Do more to avoid last-resort stop-the-world GC (Chromium issue 481433).
212
213         Performance and stability improvements on all platforms.
214
215
216 2015-04-27: Version 4.4.39
217
218         Performance and stability improvements on all platforms.
219
220
221 2015-04-27: Version 4.4.38
222
223         Performance and stability improvements on all platforms.
224
225
226 2015-04-25: Version 4.4.37
227
228         Performance and stability improvements on all platforms.
229
230
231 2015-04-24: Version 4.4.36
232
233         Performance and stability improvements on all platforms.
234
235
236 2015-04-24: Version 4.4.35
237
238         Performance and stability improvements on all platforms.
239
240
241 2015-04-24: Version 4.4.34
242
243         Performance and stability improvements on all platforms.
244
245
246 2015-04-23: Version 4.4.33
247
248         Performance and stability improvements on all platforms.
249
250
251 2015-04-23: Version 4.4.32
252
253         Performance and stability improvements on all platforms.
254
255
256 2015-04-23: Version 4.4.31
257
258         Performance and stability improvements on all platforms.
259
260
261 2015-04-22: Version 4.4.30
262
263         Performance and stability improvements on all platforms.
264
265
266 2015-04-22: Version 4.4.29
267
268         Performance and stability improvements on all platforms.
269
270
271 2015-04-21: Version 4.4.28
272
273         Performance and stability improvements on all platforms.
274
275
276 2015-04-21: Version 4.4.27
277
278         Performance and stability improvements on all platforms.
279
280
281 2015-04-20: Version 4.4.26
282
283         Allow for accessing an ArrayBuffer contents without externalizing it.
284
285         Remove support for externally backed elements from the API (issue 3996).
286
287         Deprecate 3-args ResourceConstraints::ConfigureDefaults.
288
289         Indicate that low-memory-notificatin triggered GCs are "forced".
290
291         Adding missing V8_EXPORT flag in SpaceStatistics class in v8.h (Chromium
292         issues 466141, 476013).
293
294         Performance and stability improvements on all platforms.
295
296
297 2015-04-20: Version 4.4.25
298
299         Turn off SupportsFlexibleFloorAndRound for Arm64 due to a bug (Chromium
300         issue 476477).
301
302         Adding V8 api to get memory statistics of spaces in V8::Heap (Chromium
303         issues 466141, 476013).
304
305         Performance and stability improvements on all platforms.
306
307
308 2015-04-17: Version 4.4.24
309
310         Performance and stability improvements on all platforms.
311
312
313 2015-04-17: Version 4.4.23
314
315         Don't crash when reporting an access check failure for a detached global
316         proxy (Chromium issue 475884).
317
318         Use smaller heap growing factor in idle notification to start
319         incremental marking when there is idle time >16ms (Chromium issue
320         477323).
321
322         Performance and stability improvements on all platforms.
323
324
325 2015-04-16: Version 4.4.22
326
327         Reduce regexp compiler stack size when not optimizing regexps (Chromium
328         issue 475705).
329
330         Performance and stability improvements on all platforms.
331
332
333 2015-04-15: Version 4.4.21
334
335         Remove support for specifying the number of available threads.
336
337         When converting Maybe and MaybeLocal values with a check, always check.
338
339         Performance and stability improvements on all platforms.
340
341
342 2015-04-15: Version 4.4.20
343
344         Performance and stability improvements on all platforms.
345
346
347 2015-04-15: Version 4.4.19
348
349         Reland "Remove support for thread-based recompilation" (issue 3608).
350
351         Performance and stability improvements on all platforms.
352
353
354 2015-04-14: Version 4.4.18
355
356         Reland "Remove support for thread-based recompilation" (issue 3608).
357
358         Performance and stability improvements on all platforms.
359
360
361 2015-04-14: Version 4.4.17
362
363         Performance and stability improvements on all platforms.
364
365
366 2015-04-13: Version 4.4.16
367
368         Expose ArrayBufferView::HasBuffer (issue 3996).
369
370         Performance and stability improvements on all platforms.
371
372
373 2015-04-13: Version 4.4.15
374
375         Performance and stability improvements on all platforms.
376
377
378 2015-04-12: Version 4.4.14
379
380         Performance and stability improvements on all platforms.
381
382
383 2015-04-12: Version 4.4.13
384
385         Performance and stability improvements on all platforms.
386
387
388 2015-04-10: Version 4.4.12
389
390         Performance and stability improvements on all platforms.
391
392
393 2015-04-10: Version 4.4.11
394
395         Performance and stability improvements on all platforms.
396
397
398 2015-04-10: Version 4.4.10
399
400         Don't #define snprintf in VS2015 - it's illegal and unneeded (Chromium
401         issue 440500).
402
403         Performance and stability improvements on all platforms.
404
405
406 2015-04-09: Version 4.4.9
407
408         Performance and stability improvements on all platforms.
409
410
411 2015-04-09: Version 4.4.8
412
413         Performance and stability improvements on all platforms.
414
415
416 2015-04-08: Version 4.4.7
417
418         Make GetDebugContext a bit more robust (Chromium issue 474538).
419
420         Performance and stability improvements on all platforms.
421
422
423 2015-04-08: Version 4.4.6
424
425         Performance and stability improvements on all platforms.
426
427
428 2015-04-08: Version 4.4.5
429
430         More robust when allocation fails during compaction (Chromium issue
431         473307).
432
433         MIPS: JSEntryTrampoline: check for stack space before pushing arguments
434         (Chromium issue 469768).
435
436         Performance and stability improvements on all platforms.
437
438
439 2015-04-07: Version 4.4.4
440
441         Debugger: remove debug command API.
442
443         Remove support for thread-based recompilation (issue 3608).
444
445         JSEntryTrampoline: check for stack space before pushing arguments
446         (Chromium issue 469768).
447
448         Performance and stability improvements on all platforms.
449
450
451 2015-04-07: Version 4.4.3
452
453         Performance and stability improvements on all platforms.
454
455
456 2015-04-06: Version 4.4.2
457
458         Performance and stability improvements on all platforms.
459
460
461 2015-04-06: Version 4.4.1
462
463         Support for typed arrays added to Heap::RightTrimFixedArray() (Chromium
464         issue 472513).
465
466         Expose an API on ArrayBufferView to copy out content w/o changing the
467         buffer (issue 3996).
468
469         Performance and stability improvements on all platforms.
470
471
472 2015-04-02: Version 4.3.66
473
474         Reland: Fix JSON parser Handle leak (previous CL 1041483004) (issue
475         3976, Chromium issue 472504).
476
477         Turn off overapproximation of the weak closure again (issue 3862).
478
479         Performance and stability improvements on all platforms.
480
481
482 2015-04-01: Version 4.3.65
483
484         Performance and stability improvements on all platforms.
485
486
487 2015-04-01: Version 4.3.64
488
489         Performance and stability improvements on all platforms.
490
491
492 2015-04-01: Version 4.3.63
493
494         [V8] Don't ignore sourceURL comment in inline scripts in .stack (issue
495         3920).
496
497         Deprecate IdleNotification().
498
499         Remove --harmony-numeric-literal flag.
500
501         Performance and stability improvements on all platforms.
502
503
504 2015-03-31: Version 4.3.62
505
506         Put newspace evacuation in an EvacuationScope (Chromium issue 471554).
507
508         Fix libdl dependency on Android and remove librt hack (Chromium issue
509         469973).
510
511         Ensure that GC idle notifications either make progress or stop
512         requesting more GCs (Chromium issue 470615).
513
514         Layout descriptor must be trimmed when corresponding descriptors array
515         is trimmed to stay in sync (Chromium issue 470804).
516
517         Fix JSON parser Handle leak (issue 3976).
518
519         Performance and stability improvements on all platforms.
520
521
522 2015-03-30: Version 4.3.61
523
524         Performance and stability improvements on all platforms.
525
526
527 2015-03-28: Version 4.3.60
528
529         Reland^2 "Filter invalid slots out from the SlotsBuffer after marking."
530         (Chromium issues 454297, 470801).
531
532         This fixes missing incremental write barrier issue when double fields
533         unboxing is enabled (Chromium issue 469146).
534
535         Performance and stability improvements on all platforms.
536
537
538 2015-03-27: Version 4.3.59
539
540         Use a slot that is located on a heap page when removing invalid entries
541         from the SlotsBuffer (Chromium issue 470801).
542
543         Performance and stability improvements on all platforms.
544
545
546 2015-03-26: Version 4.3.58
547
548         Return timestamp of the last recorded interval to the caller of
549         HeapProfiler::GetHeapStats (Chromium issue 467222).
550
551         Performance and stability improvements on all platforms.
552
553
554 2015-03-26: Version 4.3.57
555
556         Reland [V8] Removed SourceLocationRestrict (Chromium issue 468781).
557
558         Performance and stability improvements on all platforms.
559
560
561 2015-03-25: Version 4.3.56
562
563         Remove v8::Isolate::ClearInterrupt.
564
565         Performance and stability improvements on all platforms.
566
567
568 2015-03-25: Version 4.3.55
569
570         Performance and stability improvements on all platforms.
571
572
573 2015-03-24: Version 4.3.54
574
575         Do not assign positions to parser-generated desugarings (Chromium issue
576         468661).
577
578         Performance and stability improvements on all platforms.
579
580
581 2015-03-24: Version 4.3.53
582
583         Filter invalid slots out from the SlotsBuffer after marking (Chromium
584         issue 454297).
585
586         Fix OOM bug 3976 (issue 3976).
587
588         Performance and stability improvements on all platforms.
589
590
591 2015-03-24: Version 4.3.52
592
593         Remove calls to IdleNotification().
594
595         Save heap object tracking data in heap snapshot (Chromium issue 467222).
596
597         Performance and stability improvements on all platforms.
598
599
600 2015-03-24: Version 4.3.51
601
602         [V8] Removed SourceLocationRestrict (Chromium issue 468781).
603
604         [turbofan] Fix control reducer bug with walking non-control edges during
605         ConnectNTL phase (Chromium issue 469605).
606
607         Performance and stability improvements on all platforms.
608
609
610 2015-03-23: Version 4.3.50
611
612         Performance and stability improvements on all platforms.
613
614
615 2015-03-23: Version 4.3.49
616
617         Ensure we don't overflow in BCE (Chromium issue 469148).
618
619         [turbofan] Fix lowering of Math.max for integral inputs (Chromium issue
620         468162).
621
622         Use libdl to get symbols for backtraces.
623
624         Performance and stability improvements on all platforms.
625
626
627 2015-03-19: Version 4.3.48
628
629         Clarify what APIs return Maybe and MaybeLocal values (issue 3929).
630
631         Introduce explicit constant for per Context debug data set by embedder
632         (Chromium issue 466631).
633
634         Adjust key behaviour for weak collections (issues 3970, 3971, Chromium
635         issue 460083).
636
637         Turn on overapproximation of the weak closure (issue 3862).
638
639         Performance and stability improvements on all platforms.
640
641
642 2015-03-18: Version 4.3.47
643
644         Performance and stability improvements on all platforms.
645
646
647 2015-03-17: Version 4.3.46
648
649         Performance and stability improvements on all platforms.
650
651
652 2015-03-17: Version 4.3.45
653
654         Performance and stability improvements on all platforms.
655
656
657 2015-03-17: Version 4.3.44
658
659         Performance and stability improvements on all platforms.
660
661
662 2015-03-16: Version 4.3.43
663
664         Bugfix in hydrogen GVN (Chromium issue 467481).
665
666         Remove obsolete TakeHeapSnapshot method from API (Chromium issue
667         465651).
668
669         Beautify syntax error for unterminated argument list (Chromium issue
670         339474).
671
672         Performance and stability improvements on all platforms.
673
674
675 2015-03-16: Version 4.3.42
676
677         Performance and stability improvements on all platforms.
678
679
680 2015-03-15: Version 4.3.41
681
682         Performance and stability improvements on all platforms.
683
684
685 2015-03-14: Version 4.3.40
686
687         Performance and stability improvements on all platforms.
688
689
690 2015-03-14: Version 4.3.39
691
692         Performance and stability improvements on all platforms.
693
694
695 2015-03-14: Version 4.3.38
696
697         Remove --harmony-scoping flag.
698
699         Performance and stability improvements on all platforms.
700
701
702 2015-03-13: Version 4.3.37
703
704         Implement TDZ in StoreIC for top-level lexicals (issue 3941).
705
706         Turn on job-based optimizing compiler (issue 3608).
707
708         Performance and stability improvements on all platforms.
709
710
711 2015-03-13: Version 4.3.36
712
713         Performance and stability improvements on all platforms.
714
715
716 2015-03-12: Version 4.3.35
717
718         Add Cast() for Int32 and Uint32 (Chromium issue 462402).
719
720         Incorrect handling of HTransitionElementsKind in hydrogen check
721         elimination phase fixed (Chromium issue 460917).
722
723         Performance and stability improvements on all platforms.
724
725
726 2015-03-12: Version 4.3.34
727
728         Performance and stability improvements on all platforms.
729
730
731 2015-03-12: Version 4.3.33
732
733         Fix the toolchain used to build the snapshots in GN (Chromium issues
734         395249, 465456).
735
736         Performance and stability improvements on all platforms.
737
738
739 2015-03-11: Version 4.3.32
740
741         Reland of Remove slots that point to unboxed doubles from the
742         StoreBuffer/SlotsBuffer (Chromium issues 454297, 465273).
743
744         Performance and stability improvements on all platforms.
745
746
747 2015-03-11: Version 4.3.31
748
749         Performance and stability improvements on all platforms.
750
751
752 2015-03-11: Version 4.3.30
753
754         Remove uid and title from HeapSnapshot (Chromium issue 465651).
755
756         Remove deprecated CpuProfiler methods.
757
758         [turbofan] Fix --turbo-osr for OSRing into inner loop inside for-in
759         (Chromium issue 462775).
760
761         Performance and stability improvements on all platforms.
762
763
764 2015-03-10: Version 4.3.29
765
766         Performance and stability improvements on all platforms.
767
768
769 2015-03-10: Version 4.3.28
770
771         Performance and stability improvements on all platforms.
772
773
774 2015-03-10: Version 4.3.27
775
776         Performance and stability improvements on all platforms.
777
778
779 2015-03-07: Version 4.3.26
780
781         Remove slots that point to unboxed doubles from the
782         StoreBuffer/SlotsBuffer (Chromium issue 454297).
783
784         Performance and stability improvements on all platforms.
785
786
787 2015-03-06: Version 4.3.25
788
789         Performance and stability improvements on all platforms.
790
791
792 2015-03-06: Version 4.3.24
793
794         convert more things to maybe (issue 3929).
795
796         Performance and stability improvements on all platforms.
797
798
799 2015-03-05: Version 4.3.23
800
801         [V8] Use Function.name for stack frames in v8::StackTrace (Chromium
802         issue 17356).
803
804         Allow passing sourceMapUrl when compiling scripts (Chromium issue
805         462572).
806
807         convert compile functions to use maybe (issue 3929).
808
809         Performance and stability improvements on all platforms.
810
811
812 2015-03-05: Version 4.3.22
813
814         give UniquePersistent full move semantics (issue 3669).
815
816         Performance and stability improvements on all platforms.
817
818
819 2015-03-05: Version 4.3.21
820
821         Performance and stability improvements on all platforms.
822
823
824 2015-03-04: Version 4.3.20
825
826         convert remaining object functions to maybes (issue 3929).
827
828         Performance and stability improvements on all platforms.
829
830
831 2015-03-04: Version 4.3.19
832
833         ARM assembler: fix undefined behaviour in fits_shifter (Chromium issues
834         444089, 463436).
835
836         Implement subclassing Arrays (issue 3930).
837
838         [es6] Fix for-const loops (issue 3983).
839
840         Performance and stability improvements on all platforms.
841
842
843 2015-03-04: Version 4.3.18
844
845         Implement subclassing Arrays (issue 3930).
846
847         Performance and stability improvements on all platforms.
848
849
850 2015-03-04: Version 4.3.17
851
852         Implement subclassing Arrays (issue 3930).
853
854         convert more object functions to return maybes (issue 3929).
855
856         Performance and stability improvements on all platforms.
857
858
859 2015-03-03: Version 4.3.16
860
861         check for null context on execution entry (issue 3929).
862
863         convert object::* to return maybe values (issue 3929).
864
865         Removed funky Maybe constructor and made fields private (issue 3929).
866
867         Polish Maybe API a bit, removing useless creativity and fixing some
868         signatures (issue 3929).
869
870         Performance and stability improvements on all platforms.
871
872
873 2015-03-02: Version 4.3.15
874
875         Performance and stability improvements on all platforms.
876
877
878 2015-03-02: Version 4.3.14
879
880         Performance and stability improvements on all platforms.
881
882
883 2015-02-28: Version 4.3.13
884
885         Disallow subclassing Arrays (issue 3930).
886
887         Performance and stability improvements on all platforms.
888
889
890 2015-02-28: Version 4.3.12
891
892         Performance and stability improvements on all platforms.
893
894
895 2015-02-27: Version 4.3.11
896
897         Disallow subclassing Arrays (issue 3930).
898
899         convert Value::*Value() function to return Maybe results (issue 3929).
900
901         Performance and stability improvements on all platforms.
902
903
904 2015-02-27: Version 4.3.10
905
906         Convert v8::Value::To* to use MaybeLocal (issue 3929).
907
908         Performance and stability improvements on all platforms.
909
910
911 2015-02-26: Version 4.3.9
912
913         Add public version macros (issue 3075).
914
915         Performance and stability improvements on all platforms.
916
917
918 2015-02-26: Version 4.3.8
919
920         Performance and stability improvements on all platforms.
921
922
923 2015-02-25: Version 4.3.7
924
925         Performance and stability improvements on all platforms.
926
927
928 2015-02-25: Version 4.3.6
929
930         Performance and stability improvements on all platforms.
931
932
933 2015-02-25: Version 4.3.5
934
935         Turn on job based recompilation (issue 3608).
936
937         Performance and stability improvements on all platforms.
938
939
940 2015-02-24: Version 4.3.4
941
942         Reland "Correctly propagate terminate exception in TryCall." (issue
943         3892).
944
945         Performance and stability improvements on all platforms.
946
947
948 2015-02-24: Version 4.3.3
949
950         Performance and stability improvements on all platforms.
951
952
953 2015-02-24: Version 4.3.2
954
955         Update GN build files with the cpu_arch -> current_cpu change.
956
957         Performance and stability improvements on all platforms.
958
959
960 2015-02-23: Version 4.3.1
961
962         Limit size of first page based on serialized data (Chromium issue
963         453111).
964
965         Performance and stability improvements on all platforms.
966
967
968 2015-02-19: Version 4.2.77
969
970         Make generator constructors configurable (issue 3902).
971
972         Performance and stability improvements on all platforms.
973
974
975 2015-02-19: Version 4.2.76
976
977         Performance and stability improvements on all platforms.
978
979
980 2015-02-18: Version 4.2.75
981
982         Performance and stability improvements on all platforms.
983
984
985 2015-02-18: Version 4.2.74
986
987         Correctly propagate terminate exception in TryCall (issue 3892).
988
989         Performance and stability improvements on all platforms.
990
991
992 2015-02-17: Version 4.2.73
993
994         Performance and stability improvements on all platforms.
995
996
997 2015-02-17: Version 4.2.72
998
999         [turbofan] Fix control reducer with re-reducing branches (Chromium issue
1000         458876).
1001
1002         Performance and stability improvements on all platforms.
1003
1004
1005 2015-02-16: Version 4.2.71
1006
1007         Implement ES6 rest parameters (issue 2159).
1008
1009         Performance and stability improvements on all platforms.
1010
1011
1012 2015-02-13: Version 4.2.70
1013
1014         new classes: no longer experimental (issue 3834).
1015
1016         Make it possible to define arguments for CompileFunctionInContext.
1017
1018         Performance and stability improvements on all platforms.
1019
1020
1021 2015-02-12: Version 4.2.69
1022
1023         Performance and stability improvements on all platforms.
1024
1025
1026 2015-02-11: Version 4.2.68
1027
1028         Performance and stability improvements on all platforms.
1029
1030
1031 2015-02-11: Version 4.2.67
1032
1033         Throw on range error when creating a string via API (issue 3853).
1034
1035         Performance and stability improvements on all platforms.
1036
1037
1038 2015-02-11: Version 4.2.66
1039
1040         Performance and stability improvements on all platforms.
1041
1042
1043 2015-02-10: Version 4.2.65
1044
1045         Performance and stability improvements on all platforms.
1046
1047
1048 2015-02-10: Version 4.2.64
1049
1050         Performance and stability improvements on all platforms.
1051
1052
1053 2015-02-10: Version 4.2.63
1054
1055         Introduce a compile method that takes context extensions (Chromium issue
1056         456192).
1057
1058         Performance and stability improvements on all platforms.
1059
1060
1061 2015-02-09: Version 4.2.62
1062
1063         Performance and stability improvements on all platforms.
1064
1065
1066 2015-02-09: Version 4.2.61
1067
1068         Performance and stability improvements on all platforms.
1069
1070
1071 2015-02-07: Version 4.2.60
1072
1073         Performance and stability improvements on all platforms.
1074
1075
1076 2015-02-07: Version 4.2.59
1077
1078         Performance and stability improvements on all platforms.
1079
1080
1081 2015-02-07: Version 4.2.58
1082
1083         Performance and stability improvements on all platforms.
1084
1085
1086 2015-02-06: Version 4.2.57
1087
1088         Performance and stability improvements on all platforms.
1089
1090
1091 2015-02-06: Version 4.2.56
1092
1093         Performance and stability improvements on all platforms.
1094
1095
1096 2015-02-06: Version 4.2.55
1097
1098         Protect against uninitialized lexical variables at top-level (Chromium
1099         issue 452510).
1100
1101         Performance and stability improvements on all platforms.
1102
1103
1104 2015-02-05: Version 4.2.54
1105
1106         Fix HConstant(double, ...) constructor (issue 3865).
1107
1108         Add NativeWeakMap to v8.h (Chromium issue 437416).
1109
1110         Performance and stability improvements on all platforms.
1111
1112
1113 2015-02-05: Version 4.2.53
1114
1115         Fix issue with multiple properties and emit store (issue 3856).
1116
1117         Class methods should be non enumerable (issue 3330).
1118
1119         Performance and stability improvements on all platforms.
1120
1121
1122 2015-02-04: Version 4.2.52
1123
1124         Add WeakKeyMap to v8.h (Chromium issue 437416).
1125
1126         Performance and stability improvements on all platforms.
1127
1128
1129 2015-02-04: Version 4.2.51
1130
1131         Performance and stability improvements on all platforms.
1132
1133
1134 2015-02-03: Version 4.2.50
1135
1136         Reset inlining limits due to overly long compilation times in
1137         Speedometer, Dart2JS (Chromium issue 454625).
1138
1139         Add WeakMap to v8.h (Chromium issue 437416).
1140
1141         [V8] Added line, column and script symbols for SyntaxError (Chromium
1142         issue 443140).
1143
1144         Performance and stability improvements on all platforms.
1145
1146
1147 2015-02-03: Version 4.2.49
1148
1149         Compute the same hash for all NaN values (issue 3859).
1150
1151         Performance and stability improvements on all platforms.
1152
1153
1154 2015-02-03: Version 4.2.48
1155
1156         Performance and stability improvements on all platforms.
1157
1158
1159 2015-02-02: Version 4.2.47
1160
1161         Check global object behind global proxy for extensibility (Chromium
1162         issue 454091).
1163
1164         Performance and stability improvements on all platforms.
1165
1166
1167 2015-02-02: Version 4.2.46
1168
1169         Performance and stability improvements on all platforms.
1170
1171
1172 2015-02-02: Version 4.2.45
1173
1174         Performance and stability improvements on all platforms.
1175
1176
1177 2015-02-01: Version 4.2.44
1178
1179         Performance and stability improvements on all platforms.
1180
1181
1182 2015-02-01: Version 4.2.43
1183
1184         Performance and stability improvements on all platforms.
1185
1186
1187 2015-01-31: Version 4.2.42
1188
1189         Performance and stability improvements on all platforms.
1190
1191
1192 2015-01-31: Version 4.2.41
1193
1194         Layout descriptor sharing issue fixed (issue 3832, Chromium issue
1195         437713).
1196
1197         Performance and stability improvements on all platforms.
1198
1199
1200 2015-01-30: Version 4.2.40
1201
1202         Performance and stability improvements on all platforms.
1203
1204
1205 2015-01-30: Version 4.2.38
1206
1207         Move object literal checking into checker classes (issue 3819).
1208
1209         [turbofan] Fix OSR compilations of for-in.
1210
1211         Performance and stability improvements on all platforms.
1212
1213
1214 2015-01-30: Version 4.2.37
1215
1216         Do not create unresolved variables when parsing arrow functions lazily
1217         (issue 3501).
1218
1219         Performance and stability improvements on all platforms.
1220
1221
1222 2015-01-29: Version 4.2.36
1223
1224         Performance and stability improvements on all platforms.
1225
1226
1227 2015-01-29: Version 4.2.35
1228
1229         Performance and stability improvements on all platforms.
1230
1231
1232 2015-01-28: Version 4.2.34
1233
1234         Performance and stability improvements on all platforms.
1235
1236
1237 2015-01-28: Version 4.2.33
1238
1239         Performance and stability improvements on all platforms.
1240
1241
1242 2015-01-27: Version 4.2.32
1243
1244         Do not generalize field representations when making elements kind or
1245         observed transition (Chromium issue 448711).
1246
1247         Performance and stability improvements on all platforms.
1248
1249
1250 2015-01-27: Version 4.2.31
1251
1252         [x86] Disable AVX unless the operating system explicitly claims to
1253         support it (issue 3846, Chromium issue 452033).
1254
1255         Performance and stability improvements on all platforms.
1256
1257
1258 2015-01-27: Version 4.2.30
1259
1260         Performance and stability improvements on all platforms.
1261
1262
1263 2015-01-26: Version 4.2.29
1264
1265         MIPS: Fixed Hydrogen environment handling for mul-i ARM and ARM64 (issue
1266         451322).
1267
1268         [turbofan] Simplify reduction if IfTrue and IfFalse and fix bugs
1269         (Chromium issue 451958).
1270
1271         Add HeapNumber fast path to v8::Value::{Uint,Int}32Value() (Chromium
1272         issue 446097).
1273
1274         Performance and stability improvements on all platforms.
1275
1276
1277 2015-01-26: Version 4.2.28
1278
1279         Fixed Hydrogen environment handling for mul-i on ARM and ARM64 (issue
1280         451322).
1281
1282         Performance and stability improvements on all platforms.
1283
1284
1285 2015-01-25: Version 4.2.27
1286
1287         Performance and stability improvements on all platforms.
1288
1289
1290 2015-01-24: Version 4.2.26
1291
1292         ES6 Array.prototype.toString falls back on Object.prototype.toString if
1293         method "join" is not callable (issue 3793).
1294
1295         Performance and stability improvements on all platforms.
1296
1297
1298 2015-01-23: Version 4.2.25
1299
1300         Performance and stability improvements on all platforms.
1301
1302
1303 2015-01-23: Version 4.2.24
1304
1305         Performance and stability improvements on all platforms.
1306
1307
1308 2015-01-23: Version 4.2.23
1309
1310         [x86] Blacklist AVX for Windows versions before 6.1 (Windows 7) (issue
1311         3846).
1312
1313         Performance and stability improvements on all platforms.
1314
1315
1316 2015-01-23: Version 4.2.22
1317
1318         Fix run-time ARMv6 detection (issue 3844).
1319
1320         Support concatenating with zero-size arrays with DICTIONARY_ELEMENTS in
1321         Runtime_ArrayConcat (Chromium issue 450895).
1322
1323         Performance and stability improvements on all platforms.
1324
1325
1326 2015-01-22: Version 4.2.21
1327
1328         Performance and stability improvements on all platforms.
1329
1330
1331 2015-01-22: Version 4.2.20
1332
1333         Add a pretty printer to improve the error message non-function calls
1334         (Chromium issue 259443).
1335
1336         Remove implicit uint8_t to char cast in string replace (Chromium issue
1337         446196).
1338
1339         Performance and stability improvements on all platforms.
1340
1341
1342 2015-01-21: Version 4.2.19
1343
1344         Performance and stability improvements on all platforms.
1345
1346
1347 2015-01-20: Version 4.2.18
1348
1349         Fix issue with __proto__ when using ES6 object literals (issue 3818).
1350
1351         Performance and stability improvements on all platforms.
1352
1353
1354 2015-01-20: Version 4.2.17
1355
1356         Performance and stability improvements on all platforms.
1357
1358
1359 2015-01-20: Version 4.2.16
1360
1361         Performance and stability improvements on all platforms.
1362
1363
1364 2015-01-19: Version 4.2.15
1365
1366         Unobscurified OFStream (Chromium issue 448102).
1367
1368         Performance and stability improvements on all platforms.
1369
1370
1371 2015-01-19: Version 4.2.14
1372
1373         Performance and stability improvements on all platforms.
1374
1375
1376 2015-01-18: Version 4.2.13
1377
1378         Performance and stability improvements on all platforms.
1379
1380
1381 2015-01-18: Version 4.2.12
1382
1383         Performance and stability improvements on all platforms.
1384
1385
1386 2015-01-17: Version 4.2.11
1387
1388         Performance and stability improvements on all platforms.
1389
1390
1391 2015-01-16: Version 4.2.10
1392
1393         Performance and stability improvements on all platforms.
1394
1395
1396 2015-01-16: Version 4.2.9
1397
1398         MIPS: ES6 computed property names (issue 3754).
1399
1400         ES6 computed property names (issue 3754).
1401
1402         Performance and stability improvements on all platforms.
1403
1404
1405 2015-01-15: Version 4.2.8
1406
1407         Performance and stability improvements on all platforms.
1408
1409
1410 2015-01-15: Version 4.2.7
1411
1412         Performance and stability improvements on all platforms.
1413
1414
1415 2015-01-15: Version 4.2.6
1416
1417         Performance and stability improvements on all platforms.
1418
1419
1420 2015-01-15: Version 4.2.5
1421
1422         Performance and stability improvements on all platforms.
1423
1424
1425 2015-01-14: Version 4.2.4
1426
1427         Auto-generate v8 version based on tags (Chromium issue 446166).
1428
1429         Remove support for signatures with arguments.
1430
1431         Add proper support for proxies to HType (Chromium issue 448730).
1432
1433         [turbofan] Fix truncation/representation sloppiness wrt. bool/bit (issue
1434         3812).
1435
1436         Performance and stability improvements on all platforms.
1437
1438
1439 2015-01-14: Version 4.2.3
1440
1441         Performance and stability improvements on all platforms.
1442
1443
1444 2015-01-14: Version 4.2.2
1445
1446         Performance and stability improvements on all platforms.
1447
1448
1449 2015-01-14: Version 4.2.1
1450
1451         Map -0 to integer 0 for typed array constructors (Chromium issue
1452         447756).
1453
1454         Introduce a gyp variable to control whether or not slow dchecks are on.
1455
1456         Correctly setup the freelist of the coderange on Win64 (Chromium issue
1457         447555).
1458
1459         Fast forward V8 to version 4.2.
1460
1461         Remove "extra checks".
1462
1463         Performance and stability improvements on all platforms.
1464
1465
1466 2015-01-08: Version 3.32.7
1467
1468         Correctly parse line ends for debugging (issue 2825).
1469
1470         Fixed printing during DCE (issue 3679).
1471
1472         Performance and stability improvements on all platforms.
1473
1474
1475 2015-01-08: Version 3.32.6
1476
1477         Performance and stability improvements on all platforms.
1478
1479
1480 2015-01-08: Version 3.32.5
1481
1482         Correct handling of exceptions occured during getting of exception stack
1483         trace (Chromium issue 444805).
1484
1485         Fix bug in Runtime_CompileOptimized resulting from stack overflow
1486         (Chromium issue 446774).
1487
1488         Turn on job-based recompilation (issue 3608).
1489
1490         Performance and stability improvements on all platforms.
1491
1492
1493 2015-01-07: Version 3.32.4
1494
1495         Performance and stability improvements on all platforms.
1496
1497
1498 2015-01-07: Version 3.32.3
1499
1500         Performance and stability improvements on all platforms.
1501
1502
1503 2015-01-07: Version 3.32.2
1504
1505         Performance and stability improvements on all platforms.
1506
1507
1508 2015-01-07: Version 3.32.1
1509
1510         [turbofan] Don't crash when typing load from a Uint8ClampedArray
1511         (Chromium issue 446156).
1512
1513         [turbofan] Truncation of Bit/Word8/16 to Word32 is a no-op (Chromium
1514         issue 445859).
1515
1516         [x64] Rearrange code for OOB integer loads (Chromium issue 445858).
1517
1518         Fix %NeverOptimizeFunction() intrinsic (Chromium issue 445732).
1519
1520         [turbofan] Fix invalid bounds check with overflowing offset (Chromium
1521         issue 445267).
1522
1523         [turbofan] Raise max virtual registers and call parameter limit (issue
1524         3786).
1525
1526         Performance and stability improvements on all platforms.
1527
1528
1529 2014-12-23: Version 3.31.74
1530
1531         [turbofan] Turn DCHECK for fixed slot index into a CHECK (Chromium issue
1532         444681).
1533
1534         Performance and stability improvements on all platforms.
1535
1536
1537 2014-12-23: Version 3.31.73
1538
1539         [turbofan] Fix missing ChangeUint32ToUint64 in lowering of LoadBuffer
1540         (Chromium issue 444695).
1541
1542         Enable the embedder to specify what kind of context was disposed.
1543
1544         Performance and stability improvements on all platforms.
1545
1546
1547 2014-12-22: Version 3.31.72
1548
1549         [turbofan] Correctify lowering of Uint8ClampedArray buffer access
1550         (Chromium issue 444508).
1551
1552         Performance and stability improvements on all platforms.
1553
1554
1555 2014-12-20: Version 3.31.71
1556
1557         Performance and stability improvements on all platforms.
1558
1559
1560 2014-12-20: Version 3.31.70
1561
1562         Performance and stability improvements on all platforms.
1563
1564
1565 2014-12-20: Version 3.31.69
1566
1567         Performance and stability improvements on all platforms.
1568
1569
1570 2014-12-19: Version 3.31.68
1571
1572         [turbofan] Fix unsafe out-of-bounds check for checked loads/stores
1573         (Chromium issue 443744).
1574
1575         Performance and stability improvements on all platforms.
1576
1577
1578 2014-12-19: Version 3.31.67
1579
1580         Performance and stability improvements on all platforms.
1581
1582
1583 2014-12-19: Version 3.31.66
1584
1585         Ship ES6 template literals (issue 3230).
1586
1587         Performance and stability improvements on all platforms.
1588
1589
1590 2014-12-18: Version 3.31.65
1591
1592         ES6 template literals should not use legacy octal strings (issue 3736).
1593
1594         Performance and stability improvements on all platforms.
1595
1596
1597 2014-12-18: Version 3.31.64
1598
1599         Fixed -fsanitize=float-cast-overflow problems (issue 3773).
1600
1601         Performance and stability improvements on all platforms.
1602
1603
1604 2014-12-18: Version 3.31.63
1605
1606         ES6 computed property names (issue 3754).
1607
1608         Performance and stability improvements on all platforms.
1609
1610
1611 2014-12-17: Version 3.31.62
1612
1613         Performance and stability improvements on all platforms.
1614
1615
1616 2014-12-17: Version 3.31.61
1617
1618         ES6: Update unscopables to match spec (issue 3632).
1619
1620         ES6 computed property names (issue 3754).
1621
1622         More -fsanitize=vptr fixes (Chromium issue 441099).
1623
1624         [turbofan] Cache conversions inserted during typed lowering (issue
1625         3763).
1626
1627         Performance and stability improvements on all platforms.
1628
1629
1630 2014-12-16: Version 3.31.60
1631
1632         Performance and stability improvements on all platforms.
1633
1634
1635 2014-12-16: Version 3.31.59
1636
1637         Performance and stability improvements on all platforms.
1638
1639
1640 2014-12-16: Version 3.31.58
1641
1642         Ship ES6 classes (issue 3330).
1643
1644         ES6 computed property names (issue 3754).
1645
1646         Performance and stability improvements on all platforms.
1647
1648
1649 2014-12-12: Version 3.31.57
1650
1651         Consistently use only one of virtual/OVERRIDE/FINAL (issue 3753).
1652
1653         Performance and stability improvements on all platforms.
1654
1655
1656 2014-12-12: Version 3.31.56
1657
1658         Performance and stability improvements on all platforms.
1659
1660
1661 2014-12-12: Version 3.31.55
1662
1663         Performance and stability improvements on all platforms.
1664
1665
1666 2014-12-11: Version 3.31.54
1667
1668         Implement Array.from() (issue 3336).
1669
1670         move v8_use_external_startup_data to standalone.gypi (Chromium issue
1671         421063).
1672
1673         Performance and stability improvements on all platforms.
1674
1675
1676 2014-12-11: Version 3.31.53
1677
1678         Performance and stability improvements on all platforms.
1679
1680
1681 2014-12-11: Version 3.31.52
1682
1683         Ship ES6 block scoping (issue 2198).
1684
1685         Optimize Object.seal and Object.preventExtensions (issue 3662, Chromium
1686         issue 115960).
1687
1688         Add Array.prototype.includes (issue 3575).
1689
1690         Performance and stability improvements on all platforms.
1691
1692
1693 2014-12-10: Version 3.31.51
1694
1695         [x64] Fix optimization for certain checked load/stores (Chromium issue
1696         439743).
1697
1698         Performance and stability improvements on all platforms.
1699
1700
1701 2014-12-09: Version 3.31.50
1702
1703         Temporarily restore make dependencies.
1704
1705         Performance and stability improvements on all platforms.
1706
1707
1708 2014-12-09: Version 3.31.49
1709
1710         Performance and stability improvements on all platforms.
1711
1712
1713 2014-12-09: Version 3.31.48
1714
1715         Performance and stability improvements on all platforms.
1716
1717
1718 2014-12-09: Version 3.31.47
1719
1720         Temporarily restore make dependencies.
1721
1722         Performance and stability improvements on all platforms.
1723
1724
1725 2014-12-08: Version 3.31.46
1726
1727         Performance and stability improvements on all platforms.
1728
1729
1730 2014-12-08: Version 3.31.45
1731
1732         Update all DEPS to match chromium's DEPS at edb488e.
1733
1734         Turn on DCHECKs and other debugging code if dcheck_always_on is 1 (issue
1735         3731).
1736
1737         Optimize GetPrototype.
1738
1739         Performance and stability improvements on all platforms.
1740
1741
1742 2014-12-05: Version 3.31.44
1743
1744         Performance and stability improvements on all platforms.
1745
1746
1747 2014-12-04: Version 3.31.43
1748
1749         ES6 template literals: Fix issue with template after rbrace (issue
1750         3734).
1751
1752         Stage ES6 template literals (issue 3230).
1753
1754         Performance and stability improvements on all platforms.
1755
1756
1757 2014-12-04: Version 3.31.42
1758
1759         Performance and stability improvements on all platforms.
1760
1761
1762 2014-12-04: Version 3.31.41
1763
1764         Simplify template literal raw string creation (issue 3710).
1765
1766         Performance and stability improvements on all platforms.
1767
1768
1769 2014-12-03: Version 3.31.40
1770
1771         Performance and stability improvements on all platforms.
1772
1773
1774 2014-12-03: Version 3.31.39
1775
1776         Performance and stability improvements on all platforms.
1777
1778
1779 2014-12-03: Version 3.31.38
1780
1781         Stage ES6 classes and object literal extensions (issue 3330).
1782
1783         Fixed environment handling for LFlooringDivI on ARM (Chromium issue
1784         437765).
1785
1786         Add GetIdentityHash to v8::Name object API (Chromium issue 437416).
1787
1788         Set V8_CC_GNU or V8_CC_MSVC for clang in gcc / cl mode (Chromium issue
1789         82385).
1790
1791         Performance and stability improvements on all platforms.
1792
1793
1794 2014-12-02: Version 3.31.37
1795
1796         Performance and stability improvements on all platforms.
1797
1798
1799 2014-12-02: Version 3.31.36
1800
1801         Set V8_CC_GNU or V8_CC_MSVC for clang in gcc / cl mode (Chromium issue
1802         82385).
1803
1804         Performance and stability improvements on all platforms.
1805
1806
1807 2014-12-02: Version 3.31.35
1808
1809         Performance and stability improvements on all platforms.
1810
1811
1812 2014-12-01: Version 3.31.34
1813
1814         Performance and stability improvements on all platforms.
1815
1816
1817 2014-12-01: Version 3.31.33
1818
1819         Performance and stability improvements on all platforms.
1820
1821
1822 2014-12-01: Version 3.31.32
1823
1824         Performance and stability improvements on all platforms.
1825
1826
1827 2014-12-01: Version 3.31.31
1828
1829         Performance and stability improvements on all platforms.
1830
1831
1832 2014-11-29: Version 3.31.30
1833
1834         Performance and stability improvements on all platforms.
1835
1836
1837 2014-11-28: Version 3.31.29
1838
1839         Stage @@toStringTag (--harmony-tostring).
1840
1841         Performance and stability improvements on all platforms.
1842
1843
1844 2014-11-28: Version 3.31.28
1845
1846         Performance and stability improvements on all platforms.
1847
1848
1849 2014-11-28: Version 3.31.27
1850
1851         Ship harmony-strings.
1852
1853         Performance and stability improvements on all platforms.
1854
1855
1856 2014-11-28: Version 3.31.26
1857
1858         Abort optimization in corner case (Chromium issue 436893).
1859
1860         Performance and stability improvements on all platforms.
1861
1862
1863 2014-11-26: Version 3.31.25
1864
1865         Stage ES6 block scoping (issue 2198).
1866
1867         Introduce legacy const slots in correct context (Chromium issue 410030).
1868
1869         Performance and stability improvements on all platforms.
1870
1871
1872 2014-11-26: Version 3.31.24
1873
1874         Performance and stability improvements on all platforms.
1875
1876
1877 2014-11-25: Version 3.31.23
1878
1879         Performance and stability improvements on all platforms.
1880
1881
1882 2014-11-25: Version 3.31.22
1883
1884         Performance and stability improvements on all platforms.
1885
1886
1887 2014-11-24: Version 3.31.21
1888
1889         Performance and stability improvements on all platforms.
1890
1891
1892 2014-11-24: Version 3.31.20
1893
1894         Performance and stability improvements on all platforms.
1895
1896
1897 2014-11-22: Version 3.31.19
1898
1899         Performance and stability improvements on all platforms.
1900
1901
1902 2014-11-21: Version 3.31.18
1903
1904         Performance and stability improvements on all platforms.
1905
1906
1907 2014-11-21: Version 3.31.17
1908
1909         Performance and stability improvements on all platforms.
1910
1911
1912 2014-11-21: Version 3.31.16
1913
1914         Cache template literal callSiteObj (issue 3230).
1915
1916         Rename String.prototype.contains to 'includes'.
1917
1918         Reserve code range block for evacuation (Chromium issue 430118).
1919
1920         Performance and stability improvements on all platforms.
1921
1922
1923 2014-11-20: Version 3.31.15
1924
1925         Rename String.prototype.contains to 'includes'.
1926
1927         Performance and stability improvements on all platforms.
1928
1929
1930 2014-11-19: Version 3.31.14
1931
1932         Remove Weak{Map,Set}.prototype.clear.
1933
1934         Performance and stability improvements on all platforms.
1935
1936
1937 2014-11-19: Version 3.31.13
1938
1939         Performance and stability improvements on all platforms.
1940
1941
1942 2014-11-19: Version 3.31.12
1943
1944         Classes: Expand test to cover strict runtime behavior (issue 3330).
1945
1946         v8::String::Concat must not throw (Chromium issue 420240).
1947
1948         Fix disabling all break points from within the debug event callback
1949         (Chromium issue 432493).
1950
1951         Performance and stability improvements on all platforms.
1952
1953
1954 2014-11-18: Version 3.31.11
1955
1956         Performance and stability improvements on all platforms.
1957
1958
1959 2014-11-17: Version 3.31.10
1960
1961         Performance and stability improvements on all platforms.
1962
1963
1964 2014-11-17: Version 3.31.9
1965
1966         Expose internal properties of map/set iterators via mirrors.
1967
1968         Performance and stability improvements on all platforms.
1969
1970
1971 2014-11-17: Version 3.31.8
1972
1973         Performance and stability improvements on all platforms.
1974
1975
1976 2014-11-15: Version 3.31.7
1977
1978         Classes: Add support for stepping through default constructors (issue
1979         3674).
1980
1981         Performance and stability improvements on all platforms.
1982
1983
1984 2014-11-14: Version 3.31.6
1985
1986         Fix desugaring of let bindings in for loops to handle continue properly
1987         (issue 3683).
1988
1989         Performance and stability improvements on all platforms.
1990
1991
1992 2014-11-14: Version 3.31.5
1993
1994         Classes: Implement correct name binding (issue 3330).
1995
1996         Performance and stability improvements on all platforms.
1997
1998
1999 2014-11-14: Version 3.31.4
2000
2001         Performance and stability improvements on all platforms.
2002
2003
2004 2014-11-14: Version 3.31.3
2005
2006         Classes: Cleanup default constructor flag.
2007
2008         Soft fail for invalid cache data.
2009
2010         Implement .of() on typed arrays (issue 3578).
2011
2012         Performance and stability improvements on all platforms.
2013
2014
2015 2014-11-13: Version 3.31.2
2016
2017         MIPS: Leaving a generator via an exception causes it to close (issue
2018         3096).
2019
2020         MIPS: ES6: Add support for super in object literals (issue 3571).
2021
2022         Increase the target new space size to the max new space size (issue
2023         3626).
2024
2025         Leaving a generator via an exception causes it to close (issue 3096).
2026
2027         Correctly compute line numbers in functions from the function
2028         constructor (Chromium issue 109362).
2029
2030         Rename v8::Exception::GetMessage to CreateMessage.
2031
2032         Classes: Add support for arguments in default constructor (issue 3672).
2033
2034         ES6: Add support for super in object literals (issue 3571).
2035
2036         Performance and stability improvements on all platforms.
2037
2038
2039 2014-11-12: Version 3.31.1
2040
2041         Fix has_constant_parameter_count() confusion in LReturn (Chromium issue
2042         431602).
2043
2044         Performance and stability improvements on all platforms.
2045
2046
2047 2014-11-05: Version 3.30.33
2048
2049         `1..isPrototypeOf.call(null)` should return false, not throw TypeError
2050         (issue 3483).
2051
2052         Refactor ObjectGetOwnPropertyKeys to accept bitmask rather than boolean
2053         (issue 3549).
2054
2055         Add debug mirror support for ES6 Map/Set iterators (Chromium issue
2056         427868).
2057
2058         Performance and stability improvements on all platforms.
2059
2060
2061 2014-11-04: Version 3.30.30
2062
2063         Performance and stability improvements on all platforms.
2064
2065
2066 2014-11-02: Version 3.30.27
2067
2068         Performance and stability improvements on all platforms.
2069
2070
2071 2014-11-02: Version 3.30.26
2072
2073         Performance and stability improvements on all platforms.
2074
2075
2076 2014-11-01: Version 3.30.25
2077
2078         Performance and stability improvements on all platforms.
2079
2080
2081 2014-11-01: Version 3.30.24
2082
2083         Ensure we don't try to inline raw access to indexed interceptor
2084         receivers (Chromium issue 419220).
2085
2086         Performance and stability improvements on all platforms.
2087
2088
2089 2014-10-31: Version 3.30.23
2090
2091         Introduce v8::Exception::GetMessage to find location of an error object
2092         (Chromium issue 427954).
2093
2094         Performance and stability improvements on all platforms.
2095
2096
2097 2014-10-30: Version 3.30.22
2098
2099         MIPS: Classes: Add super support in methods and accessors (issue 3330).
2100
2101         Classes: Add super support in methods and accessors (issue 3330).
2102
2103         Performance and stability improvements on all platforms.
2104
2105
2106 2014-10-29: Version 3.30.21
2107
2108         MIPS: Classes: Add basic support for properties (issue 3330).
2109
2110         Classes: Add more tests for prototype edge cases (Chromium issue 3655).
2111
2112         Classes: Add test for method prototype (issue 3330).
2113
2114         Get stack trace for uncaught exceptions/promise rejections from the
2115         simple stack when available.
2116
2117         Classes: Add basic support for properties (issue 3330).
2118
2119         Allow duplicate property names in classes (issue 3570).
2120
2121         Windows: use SystemTimeToTzSpecificLocalTime instead of localtime_s
2122         (Chromium issue 417640).
2123
2124         Performance and stability improvements on all platforms.
2125
2126
2127 2014-10-28: Version 3.30.20
2128
2129         Performance and stability improvements on all platforms.
2130
2131
2132 2014-10-27: Version 3.30.19
2133
2134         Check string literals with escapes in PreParserTraits::GetSymbol()
2135         (issue 3606).
2136
2137         only define ARRAYSIZE_UNSAFE for NaCl builds (Chromium issue 405225).
2138
2139         Performance and stability improvements on all platforms.
2140
2141
2142 2014-10-24: Version 3.30.18
2143
2144         Narrow cases where Sparse/Smart versions of Array methods are used
2145         (issues 2615, 3612, 3621).
2146
2147         Shrink new space in idle notification (Chromium issue 424423).
2148
2149         Performance and stability improvements on all platforms.
2150
2151
2152 2014-10-23: Version 3.30.17
2153
2154         ARM64: Fix stack manipulation (Chromium issue 425585).
2155
2156         Speed up creation of Objects whose prototype has dictionary elements
2157         (Chromium issue 422754).
2158
2159         Enable libstdc++ debug mode in debug builds (issue 3638).
2160
2161         Performance and stability improvements on all platforms.
2162
2163
2164 2014-10-22: Version 3.30.16
2165
2166         Remove v8stdint.h, it doesn't serve a purpose anymore.
2167
2168         Performance and stability improvements on all platforms.
2169
2170
2171 2014-10-21: Version 3.30.15
2172
2173         Avoid the Marsaglia effect in 3D (Chromium issue 423311).
2174
2175         Performance and stability improvements on all platforms.
2176
2177
2178 2014-10-20: Version 3.30.14
2179
2180         Performance and stability improvements on all platforms.
2181
2182
2183 2014-10-17: Version 3.30.13
2184
2185         Don't expose Array.prototype.values as it breaks webcompat (Chromium
2186         issue 409858).
2187
2188         Fix break location calculation (Chromium issue 419663).
2189
2190         Enable libstdc++ debug mode in debug builds (issue 3638).
2191
2192         Performance and stability improvements on all platforms.
2193
2194
2195 2014-10-17: Version 3.30.12
2196
2197         Implement .forEach() on typed arrays (issue 3578).
2198
2199         Introduce v8::Exception::GetStackTrace API method.
2200
2201         Remove SmartMove, bringing Array methods further into spec compliance
2202         (issue 2615).
2203
2204         Convert argument toObject() in Object.getOwnPropertyNames/Descriptors
2205         (issue 3443).
2206
2207         Performance and stability improvements on all platforms.
2208
2209
2210 2014-10-15: Version 3.30.11
2211
2212         Array.prototype.{every, filter, find, findIndex, forEach, map, some}:
2213         Use fresh primitive wrapper for calls (issue 3536).
2214
2215         Correctly expand literal buffer for surrogate pairs (Chromium issue
2216         423212).
2217
2218         Performance and stability improvements on all platforms.
2219
2220
2221 2014-10-15: Version 3.30.10
2222
2223         Squeeze the layout of various AST node types (Chromium issue 417697).
2224
2225         Performance and stability improvements on all platforms.
2226
2227
2228 2014-10-14: Version 3.30.9
2229
2230         Performance and stability improvements on all platforms.
2231
2232
2233 2014-10-13: Version 3.30.8
2234
2235         AST nodes have at most one bailout/typefeedback ID now, saving lots of
2236         memory (Chromium issue 417697).
2237
2238         Allow identifier code points from supplementary multilingual planes
2239         (issue 3617).
2240
2241         Performance and stability improvements on all platforms.
2242
2243
2244 2014-10-10: Version 3.30.7
2245
2246         Fix computation of UTC time from local time at DST change points (issue
2247         3116, Chromium issues 415424, 417640).
2248
2249         Convert `obj` ToObject in Object.keys() (issue 3587).
2250
2251         Performance and stability improvements on all platforms.
2252
2253
2254 2014-10-09: Version 3.30.6
2255
2256         Update unicode to 7.0.0 (issue 2892).
2257
2258         Classes: Add support for toString (issue 3330).
2259
2260         Don't enable WPO on Win64 and require Server 2003 / x64 for win64
2261         (Chromium issue 421363).
2262
2263         Performance and stability improvements on all platforms.
2264
2265
2266 2014-10-08: Version 3.30.5
2267
2268         Performance and stability improvements on all platforms.
2269
2270
2271 2014-10-08: Version 3.30.4
2272
2273         This uses a runtime function to set up the the constructor and its
2274         prototype (issue 3330).
2275
2276         Remove PersistentBase::ClearAndLeak.
2277
2278         Squeeze the layout of variable proxy nodes (Chromium issue 417697).
2279
2280         Add MonotonicallyIncreasingTime to V8 Platform (Chromium issue 417668).
2281
2282         Fix representation of HLoadRoot (Chromium issue 419036).
2283
2284         Performance and stability improvements on all platforms.
2285
2286
2287 2014-10-03: Version 3.30.3
2288
2289         Removed the Isolate* field from literal nodes (Chromium issue 417697).
2290
2291         Squeeze the layout of expression nodes a bit (Chromium issue 417697).
2292
2293         Merged FeedbackSlotInterface into AstNode, removing the need for a 2nd
2294         vtable (Chromium issue 417697).
2295
2296         Extend CPU profiler with mapping ticks to source lines.
2297
2298         Remove support for parallel sweeping.
2299
2300         Introduce v8::Object::GetIsolate().
2301
2302         Performance and stability improvements on all platforms.
2303
2304
2305 2014-10-02: Version 3.30.2
2306
2307         Fix Hydrogen's BuildStore() (Chromium issue 417508).
2308
2309         Move unit tests to test/unittests (issue 3489).
2310
2311         Changes to ALLOW_UNUSED to match upcoming changes to the Chromium trunk:
2312         * Eliminate usage of ALLOW_UNUSED to define COMPILE_ASSERT and just use
2313         static_assert() in all cases now that all platforms build with C++11. *
2314         Convert remaining uses of ALLOW_UNUSED to ALLOW_UNUSED_TYPE to match how
2315         Chromium will be splitting this functionality.  (In Chromium we'll have
2316         both   ALLOW_UNUSED_TYPE and ALLOW_UNUSED_LOCAL, which have different
2317         syntax to   enable us to use these with MSVC.) (Chromium issue 81439).
2318
2319         Performance and stability improvements on all platforms.
2320
2321
2322 2014-10-01: Version 3.30.1
2323
2324         Introduce PromiseRejectCallback (issue 3093).
2325
2326         ES6: Implement object literal property shorthand (issue 3584).
2327
2328         Performance and stability improvements on all platforms.
2329
2330
2331 2014-09-30: Version 3.29.93
2332
2333         Add a getter for the address and size of the code range to the pulic API
2334         (issue 3598).
2335
2336         Convert `obj` ToObject in Object.keys() (issue 3587).
2337
2338         Performance and stability improvements on all platforms.
2339
2340
2341 2014-09-29: Version 3.29.92
2342
2343         Performance and stability improvements on all platforms.
2344
2345
2346 2014-09-26: Version 3.29.91
2347
2348         Performance and stability improvements on all platforms.
2349
2350
2351 2014-09-25: Version 3.29.88
2352
2353         Performance and stability improvements on all platforms.
2354
2355
2356 2014-09-24: Version 3.29.87
2357
2358         Preserve message when rethrowing exception (issue 3583).
2359
2360         Fix escaped index JSON parsing (Chromium issue 416449).
2361
2362         Performance and stability improvements on all platforms.
2363
2364
2365 2014-09-23: Version 3.29.84
2366
2367         Performance and stability improvements on all platforms.
2368
2369
2370 2014-09-23: Version 3.29.83
2371
2372         Performance and stability improvements on all platforms.
2373
2374
2375 2014-09-23: Version 3.29.82
2376
2377         Fix escaped index JSON parsing (Chromium issue 416449).
2378
2379         Performance and stability improvements on all platforms.
2380
2381
2382 2014-09-17: Version 3.29.70
2383
2384         Enable ES6 generators (issue 2355).
2385
2386         Fixed int vs. uintptr_t confusion (plus some cleanup on the way) (issue
2387         3556).
2388
2389         Move configuration of ResourceConstraints to Isolate construction.
2390
2391         Performance and stability improvements on all platforms.
2392
2393
2394 2014-09-16: Version 3.29.66
2395
2396         Currently, a new isolate is created in an uninitialized state, and
2397         several API methods will automatically initialize it. During this
2398         uninitialized state, code event handlers and function entry handlers can
2399         be attached to the isolate.
2400
2401         Performance and stability improvements on all platforms.
2402
2403
2404 2014-09-15: Version 3.29.64
2405
2406         ES6: String(symbol) should work like symbol.toString (issue 3554).
2407
2408         Arrow functions: Cleanup handling of the prototype property (issue
2409         2700).
2410
2411         Remove V8_HOST_CAN_READ_UNALIGNED and its uses (Chromium issue 412967).
2412
2413         Fix Smi vs. HeapObject confusion in HConstants (Chromium issue 412215).
2414
2415         Performance and stability improvements on all platforms.
2416
2417
2418 2014-09-12: Version 3.29.59
2419
2420         Do not use wide reads in CopyCharsUnsigned (Chromium issue 412967).
2421
2422         Fix inaccurate type condition in Hydrogen (Chromium issue 412210).
2423
2424         Fix crash in ScriptDebugServer::wrapCallFrames (Chromium issue 411196).
2425
2426         Performance and stability improvements on all platforms.
2427
2428
2429 2014-09-11: Version 3.29.57
2430
2431         ES6: Add support for method shorthand in object literals (issue 3516).
2432
2433         Unbreak FreeBSD build (hopefully) (issue 3548).
2434
2435         Performance and stability improvements on all platforms.
2436
2437
2438 2014-09-09: Version 3.29.53
2439
2440         Performance and stability improvements on all platforms.
2441
2442
2443 2014-09-08: Version 3.29.50
2444
2445         Allocate a new empty number dictionary when resetting elements (Chromium
2446         issue 410332).
2447
2448         Performance and stability improvements on all platforms.
2449
2450
2451 2014-09-05: Version 3.29.43
2452
2453         Enforce correct number comparisons when inlining Array.indexOf (Chromium
2454         issue 407946).
2455
2456         Performance and stability improvements on all platforms.
2457
2458
2459 2014-09-04: Version 3.29.41
2460
2461         Performance and stability improvements on all platforms.
2462
2463
2464 2014-09-03: Version 3.29.40
2465
2466         Use correct receiver for DOM accessors on the prototype chain (issue
2467         3538).
2468
2469         Performance and stability improvements on all platforms.
2470
2471
2472 2014-09-02: Version 3.29.38
2473
2474         Do not clear weak monomorphic IC after context disposal (Chromium issue
2475         404020).
2476
2477         Turn on job-based sweeping (issue 3104).
2478
2479         Performance and stability improvements on all platforms.
2480
2481
2482 2014-09-01: Version 3.29.35
2483
2484         Performance and stability improvements on all platforms.
2485
2486
2487 2014-08-29: Version 3.29.29
2488
2489         Performance and stability improvements on all platforms.
2490
2491
2492 2014-08-28: Version 3.29.27
2493
2494         Performance and stability improvements on all platforms.
2495
2496
2497 2014-08-28: Version 3.29.25
2498
2499         Performance and stability improvements on all platforms.
2500
2501
2502 2014-08-28: Version 3.29.24
2503
2504         Tweaks to generate XP-compatible .exes (Chromium issue 407517).
2505
2506         Performance and stability improvements on all platforms.
2507
2508
2509 2014-08-28: Version 3.29.23
2510
2511         Performance and stability improvements on all platforms.
2512
2513
2514 2014-08-27: Version 3.29.20
2515
2516         Handle empty allocation list in CodeRange properly (issue 3540, Chromium
2517         issue 407566).
2518
2519         Fixed inlining of constant values (issue 3529).
2520
2521         Performance and stability improvements on all platforms.
2522
2523
2524 2014-08-25: Version 3.29.17
2525
2526         Performance and stability improvements on all platforms.
2527
2528
2529 2014-08-24: Version 3.29.16
2530
2531         Fix issue with numeric property names (issue 3507).
2532
2533         Add back the duplicate property checker (issue 3498).
2534
2535         Performance and stability improvements on all platforms.
2536
2537
2538 2014-08-22: Version 3.29.14
2539
2540         Don't inline Array.shift() if receiver map is not extensible (Chromium
2541         issue 405517).
2542
2543         Performance and stability improvements on all platforms.
2544
2545
2546 2014-08-21: Version 3.29.11
2547
2548         Refactor ParseObjectLiteral.
2549
2550         Support symbol-named properties in API (issue 3394).
2551
2552         Suppress test262 test that tests duplicate properties.
2553
2554         ES6: Duplicate properties are no longer an error (issue 3498).
2555
2556         Expose function CheckDebugBreak in the debugger api.
2557
2558         Remove RegExp.$input (issue 3486).
2559
2560         Performance and stability improvements on all platforms.
2561
2562
2563 2014-08-21: Version 3.29.10
2564
2565         ES6: Make sure we do not store -0 as the key in Map/Set (issue 3515).
2566
2567         Remove removed flags from tests.
2568
2569         Expose well-known Symbols to C++ API (Chromium issue 341423).
2570
2571         Implement ES6 Array.of() (issue 3427).
2572
2573         Performance and stability improvements on all platforms.
2574
2575
2576 2014-08-20: Version 3.29.9
2577
2578         Correctly handle holes when concat()ing double arrays (Chromium issue
2579         403409).
2580
2581         [turbofan] Refactor the InstructionSelector tests (issue 3489).
2582
2583         ES6: Make Map/Set constructors support iterable values (issue 3508).
2584
2585         WeakMap/WeakSet: Add test for non object keys (issue 3399).
2586
2587         Performance and stability improvements on all platforms.
2588
2589
2590 2014-08-12: Version 3.28.71
2591
2592         ToNumber(Symbol) should throw TypeError (issue 3499).
2593
2594         Performance and stability improvements on all platforms.
2595
2596
2597 2014-08-11: Version 3.28.69
2598
2599         Performance and stability improvements on all platforms.
2600
2601
2602 2014-08-09: Version 3.28.65
2603
2604         Performance and stability improvements on all platforms.
2605
2606
2607 2014-08-08: Version 3.28.64
2608
2609         ES6: Implement WeakMap and WeakSet constructor logic (issue 3399).
2610
2611         Enable ES6 unscopables (issue 3401).
2612
2613         Turn on harmony_unscopables for es_staging (issue 3401).
2614
2615         Remove proxies from --harmony switch for M38, because problems.
2616
2617         Reland "Add initial support for compiler unit tests using GTest/GMock."
2618         (issue 3489).
2619
2620         Enable ES6 iteration by default (issue 2214).
2621
2622         Performance and stability improvements on all platforms.
2623
2624
2625 2014-08-07: Version 3.28.62
2626
2627         Only escape U+0022 in argument values of `String.prototype` HTML methods
2628         (issue 2217).
2629
2630         Update webkit test for expected own properties.
2631
2632         This implements unscopables (issue 3401).
2633
2634         Add `CheckObjectCoercible` for the `String.prototype` HTML methods
2635         (issue 2218).
2636
2637         Add initial support for compiler unit tests using GTest/GMock (issue
2638         3489).
2639
2640         Trigger exception debug events on Promise reject (Chromium issue
2641         393913).
2642
2643         Refactor unit tests for the base library to use GTest (issue 3489).
2644
2645         Performance and stability improvements on all platforms.
2646
2647
2648 2014-08-06: Version 3.28.60
2649
2650         Enable ES6 Map and Set by default (issue 1622).
2651
2652         Performance and stability improvements on all platforms.
2653
2654
2655 2014-08-06: Version 3.28.59
2656
2657         Removed GetConstructor from the API. Instead either get the
2658         "constructor" property stored in the prototype, or keep a side-table.
2659
2660         Enable ES6 Symbols by default (issue 2158).
2661
2662         Performance and stability improvements on all platforms.
2663
2664
2665 2014-08-05: Version 3.28.57
2666
2667         Add dependencies on gtest and gmock.
2668
2669         Performance and stability improvements on all platforms.
2670
2671
2672 2014-08-04: Version 3.28.54
2673
2674         Performance and stability improvements on all platforms.
2675
2676
2677 2014-08-01: Version 3.28.53
2678
2679         Performance and stability improvements on all platforms.
2680
2681
2682 2014-07-31: Version 3.28.52
2683
2684         Performance and stability improvements on all platforms.
2685
2686
2687 2014-07-31: Version 3.28.51
2688
2689         Drop deprecated memory related notification API (Chromium issue 397026).
2690
2691         Performance and stability improvements on all platforms.
2692
2693
2694 2014-07-31: Version 3.28.50
2695
2696         Use emergency memory in the case of out of memory during evacuation
2697         (Chromium issue 395314).
2698
2699         Performance and stability improvements on all platforms.
2700
2701
2702 2014-07-30: Version 3.28.48
2703
2704         Fix Object.freeze with field type tracking. Keep the descriptor properly
2705         intact while update the field type (issue 3458).
2706
2707         Performance and stability improvements on all platforms.
2708
2709
2710 2014-07-29: Version 3.28.45
2711
2712         Performance and stability improvements on all platforms.
2713
2714
2715 2014-07-28: Version 3.28.43
2716
2717         Performance and stability improvements on all platforms.
2718
2719
2720 2014-07-25: Version 3.28.38
2721
2722         Fix issue with setters and their holders in accessors.cc (Chromium issue
2723         3462).
2724
2725         Introduce more debug events for promises (issue 3093).
2726
2727         Move gc notifications from V8 to Isolate and make idle hint mandatory
2728         (Chromium issue 397026).
2729
2730         The accessors should get the value from the holder and not from this
2731         (issue 3461).
2732
2733         Performance and stability improvements on all platforms.
2734
2735
2736 2014-07-24: Version 3.28.35
2737
2738         Rebaseline/update the intl tests with ICU 52 (issue 3454).
2739
2740         Expose the content of Sets and WeakSets through SetMirror (issue 3093).
2741
2742         Performance and stability improvements on all platforms.
2743
2744
2745 2014-07-23: Version 3.28.32
2746
2747         Update ICU to 5.2 (matching chromium) (issue 3452).
2748
2749         Performance and stability improvements on all platforms.
2750
2751
2752 2014-07-22: Version 3.28.31
2753
2754         Remove harmony-typeof.
2755
2756         Implement String.prototype.codePointAt and String.fromCodePoint (issue
2757         2840).
2758
2759         Performance and stability improvements on all platforms.
2760
2761
2762 2014-07-21: Version 3.28.30
2763
2764         Performance and stability improvements on all platforms.
2765
2766
2767 2014-07-21: Version 3.28.29
2768
2769         Performance and stability improvements on all platforms.
2770
2771
2772 2014-07-18: Version 3.28.28
2773
2774         Performance and stability improvements on all platforms.
2775
2776
2777 2014-07-17: Version 3.28.26
2778
2779         Ship ES6 Math functions (issue 2938).
2780
2781         Make ToPrimitive throw on symbol wrappers (issue 3442).
2782
2783         Performance and stability improvements on all platforms.
2784
2785
2786 2014-07-16: Version 3.28.25
2787
2788         Performance and stability improvements on all platforms.
2789
2790
2791 2014-07-16: Version 3.28.24
2792
2793         Removed some copy-n-paste from StackFrame::Foo API entries (issue 3436).
2794
2795         Performance and stability improvements on all platforms.
2796
2797
2798 2014-07-15: Version 3.28.23
2799
2800         Fix error message about read-only symbol properties (issue 3441).
2801
2802         Include symbol properties in Object.{create,defineProperties} (issue
2803         3440).
2804
2805         Performance and stability improvements on all platforms.
2806
2807
2808 2014-07-14: Version 3.28.22
2809
2810         Performance and stability improvements on all platforms.
2811
2812
2813 2014-07-11: Version 3.28.21
2814
2815         Make `let` usable as an identifier in ES6 sloppy mode (issue 2198).
2816
2817         Support ES6 Map and Set in heap profiler (issue 3368).
2818
2819         Performance and stability improvements on all platforms.
2820
2821
2822 2014-07-10: Version 3.28.20
2823
2824         Remove deprecate counter/histogram methods.
2825
2826         Fixed printing of external references (Chromium issue 392068).
2827
2828         Fix several issues with ES6 redeclaration checks (issue 3426).
2829
2830         Performance and stability improvements on all platforms.
2831
2832
2833 2014-07-09: Version 3.28.19
2834
2835         Performance and stability improvements on all platforms.
2836
2837
2838 2014-07-09: Version 3.28.18
2839
2840         Reland "Postpone termination exceptions in debug scope." (issue 3408).
2841
2842         Performance and stability improvements on all platforms.
2843
2844
2845 2014-07-08: Version 3.28.17
2846
2847         MIPS: Fix computed properties on object literals with a double as
2848         propertyname (Chromium issue 390732).
2849
2850         Performance and stability improvements on all platforms.
2851
2852
2853 2014-07-08: Version 3.28.16
2854
2855         Fix computed properties on object literals with a double as propertyname
2856         (Chromium issue 390732).
2857
2858         Avoid brittle use of .bind in Promise.all (issue 3420).
2859
2860         Performance and stability improvements on all platforms.
2861
2862
2863 2014-07-07: Version 3.28.15
2864
2865         Remove a bunch of Isolate::UncheckedCurrent calls.
2866
2867         Performance and stability improvements on all platforms.
2868
2869
2870 2014-07-07: Version 3.28.14
2871
2872         Use the HeapObjectIterator to scan-on-scavenge map pages (Chromium issue
2873         390732).
2874
2875         Introduce debug events for Microtask queue (Chromium issue 272416).
2876
2877         Split out libplatform into a separate libary.
2878
2879         Add clang-format to presubmit checks.
2880
2881         Stack traces exposed to Javascript should omit extensions (issue 311).
2882
2883         Remove deprecated v8::Context::HasOutOfMemoryException.
2884
2885         Postpone termination exceptions in debug scope (issue 3408).
2886
2887         Performance and stability improvements on all platforms.
2888
2889
2890 2014-07-04: Version 3.28.13
2891
2892         Rollback to r22134.
2893
2894
2895 2014-07-04: Version 3.28.12
2896
2897         Use the HeapObjectIterator to scan-on-scavenge map pages (Chromium issue
2898         390732).
2899
2900         Introduce debug events for Microtask queue (Chromium issue 272416).
2901
2902         Performance and stability improvements on all platforms.
2903
2904
2905 2014-07-03: Version 3.28.11
2906
2907         Split out libplatform into a separate libary.
2908
2909         Performance and stability improvements on all platforms.
2910
2911
2912 2014-07-03: Version 3.28.10
2913
2914         Add clang-format to presubmit checks.
2915
2916         Stack traces exposed to Javascript should omit extensions (issue 311).
2917
2918         Remove deprecated v8::Context::HasOutOfMemoryException.
2919
2920         Postpone termination exceptions in debug scope (issue 3408).
2921
2922         Performance and stability improvements on all platforms.
2923
2924
2925 2014-07-02: Version 3.28.9
2926
2927         Make freeze & friends ignore private properties (issue 3419).
2928
2929         Introduce a builddeps make target (issue 3418).
2930
2931         Performance and stability improvements on all platforms.
2932
2933
2934 2014-07-01: Version 3.28.8
2935
2936         Remove static initializer from isolate.
2937
2938         ES6: Add missing Set.prototype.keys function (issue 3411).
2939
2940         Introduce debug events for promises (issue 3093).
2941
2942         Performance and stability improvements on all platforms.
2943
2944
2945 2014-06-30: Version 3.28.7
2946
2947         Performance and stability improvements on all platforms.
2948
2949
2950 2014-06-30: Version 3.28.6
2951
2952         Unbreak "os" stuff in shared d8 builds (issue 3407).
2953
2954         Performance and stability improvements on all platforms.
2955
2956
2957 2014-06-26: Version 3.28.4
2958
2959         Compile optimized code with active debugger but no break points
2960         (Chromium issue 386492).
2961
2962         Optimize Map/Set.prototype.forEach.
2963
2964         Collect garbage with kReduceMemoryFootprintMask in IdleNotification
2965         (Chromium issue 350720).
2966
2967         Performance and stability improvements on all platforms.
2968
2969
2970 2014-06-26: Version 3.28.3
2971
2972         Grow heap slower if GC freed many global handles (Chromium issue
2973         263503).
2974
2975         Performance and stability improvements on all platforms.
2976
2977
2978 2014-06-25: Version 3.28.2
2979
2980         Remove bogus assertions in HCompareObjectEqAndBranch (Chromium issue
2981         387636).
2982
2983         Do not eagerly update allow_osr_at_loop_nesting_level (Chromium issue
2984         387599).
2985
2986         Set host_arch to ia32 on machines with a 32bit userland but a 64bit
2987         kernel (Chromium issue 368384).
2988
2989         Map/Set: Implement constructor parameter handling (issue 3398).
2990
2991         Performance and stability improvements on all platforms.
2992
2993
2994 2014-06-24: Version 3.28.1
2995
2996         Support LiveEdit on Arm64 (Chromium issue 368580).
2997
2998         Run JS micro tasks in the appropriate context (Chromium issue 385349).
2999
3000         Add a use counter API.
3001
3002         Set host_arch to ia32 on machines with a 32bit userland but a 64bit
3003         kernel.
3004
3005         Performance and stability improvements on all platforms.
3006
3007
3008 2014-06-23: Version 3.28.0
3009
3010         MIPS: Support LiveEdit (Chromium issue 368580).
3011
3012         Array.concat: properly go to dictionary mode when required (Chromium
3013         issue 387031).
3014
3015         Support LiveEdit on ARM (Chromium issue 368580).
3016
3017         Performance and stability improvements on all platforms.
3018
3019
3020 2014-06-18: Version 3.27.34
3021
3022         Reduce number of writes to DependentCode array when inserting dependent
3023         IC (Chromium issue 305878).
3024
3025         Performance and stability improvements on all platforms.
3026
3027
3028 2014-06-17: Version 3.27.33
3029
3030         Do GC if CodeRange fails to allocate a block (Chromium issue 305878).
3031
3032         Throw syntax error when a getter/setter has the wrong number of params
3033         (issue 3371).
3034
3035         Performance and stability improvements on all platforms.
3036
3037
3038 2014-06-17: Version 3.27.32
3039
3040         Performance and stability improvements on all platforms.
3041
3042
3043 2014-06-16: Version 3.27.31
3044
3045         Version fix.
3046
3047
3048 2014-06-16: Version 3.27.30
3049
3050         Fix representation of Phis for mutable-heapnumber-in-object-literal
3051         properties (issue 3392).
3052
3053         Performance and stability improvements on all platforms.
3054
3055
3056 2014-06-16: Version 3.27.29
3057
3058         Emulate MLS on pre-ARMv6T2. Cleaned up thumbee vs. thumb2 confusion.
3059
3060         X87: Fixed flooring division by a power of 2, once again.. (issue 3259).
3061
3062         Fixed undefined behavior in RNG (Chromium issue 377790).
3063
3064         Performance and stability improvements on all platforms.
3065
3066
3067 2014-06-13: Version 3.27.28
3068
3069         Add v8::Promise::Then (Chromium issue 371288).
3070
3071         Performance and stability improvements on all platforms.
3072
3073
3074 2014-06-12: Version 3.27.27
3075
3076         Fix detection of VFP3D16 on Galaxy Tab 10.1 (issue 3387).
3077
3078         Performance and stability improvements on all platforms.
3079
3080
3081 2014-06-12: Version 3.27.26
3082
3083         MIPS: Fixed flooring division by a power of 2, once again.. (issue
3084         3259).
3085
3086         Fixed flooring division by a power of 2, once again.. (issue 3259).
3087
3088         Fix unsigned comparisons (issue 3380).
3089
3090         Performance and stability improvements on all platforms.
3091
3092
3093 2014-06-11: Version 3.27.25
3094
3095         Performance and stability improvements on all platforms.
3096
3097
3098 2014-06-11: Version 3.27.24
3099
3100         Fix invalid attributes when generalizing because of incompatible map
3101         change (Chromium issue 382143).
3102
3103         Fix missing smi check in inlined indexOf/lastIndexOf (Chromium issue
3104         382513).
3105
3106         Performance and stability improvements on all platforms.
3107
3108
3109 2014-06-06: Version 3.27.23
3110
3111         Performance and stability improvements on all platforms.
3112
3113
3114 2014-06-06: Version 3.27.22
3115
3116         Performance and stability improvements on all platforms.
3117
3118
3119 2014-06-06: Version 3.27.21
3120
3121         Turn on harmony_collections for es_staging (issue 1622).
3122
3123         Do not make heap iterable eagerly (Chromium issue 379740).
3124
3125         Performance and stability improvements on all platforms.
3126
3127
3128 2014-06-05: Version 3.27.20
3129
3130         Fix invalid loop condition for Array.lastIndexOf() (Chromium issue
3131         380512).
3132
3133         Add API support for passing a C++ function as a microtask callback.
3134
3135         Performance and stability improvements on all platforms.
3136
3137
3138 2014-06-04: Version 3.27.19
3139
3140         Split Put into Put and Remove.
3141
3142         ES6: Add support for values/keys/entries for Map and Set (issue 1793).
3143
3144         Performance and stability improvements on all platforms.
3145
3146
3147 2014-06-03: Version 3.27.18
3148
3149         Remove PROHIBITS_OVERWRITING as it is subsumed by non-configurable
3150         properties.
3151
3152         Performance and stability improvements on all platforms.
3153
3154
3155 2014-06-02: Version 3.27.17
3156
3157         BuildNumberToString: Check for undefined keys in the cache (Chromium
3158         issue 368114).
3159
3160         HRor and HSar can deoptimize (issue 3359).
3161
3162         Simplify, speed-up correct-context ObjectObserve calls.
3163
3164         Performance and stability improvements on all platforms.
3165
3166
3167 2014-05-29: Version 3.27.16
3168
3169         Allow microtasks to throw exceptions and handle them gracefully
3170         (Chromium issue 371566).
3171
3172         Performance and stability improvements on all platforms.
3173
3174
3175 2014-05-28: Version 3.27.15
3176
3177         Performance and stability improvements on all platforms.
3178
3179
3180 2014-05-27: Version 3.27.14
3181
3182         Reland "Customized support for feedback on calls to Array." and follow-
3183         up fixes (Chromium issues 377198, 377290).
3184
3185         Performance and stability improvements on all platforms.
3186
3187
3188 2014-05-26: Version 3.27.13
3189
3190         Performance and stability improvements on all platforms.
3191
3192
3193 2014-05-26: Version 3.27.12
3194
3195         Check for cached transition to ExternalArray elements kind (issue 3337).
3196
3197         Support ES6 weak collections in heap profiler (Chromium issue 376196).
3198
3199         Performance and stability improvements on all platforms.
3200
3201
3202 2014-05-23: Version 3.27.11
3203
3204         Add support for ES6 Symbol in heap profiler (Chromium issue 376194).
3205
3206         Performance and stability improvements on all platforms.
3207
3208
3209 2014-05-22: Version 3.27.10
3210
3211         Implement Mirror object for Symbols (issue 3290).
3212
3213         Allow debugger to step into Map and Set forEach callbacks (issue 3341).
3214
3215         Fix ArrayShift hydrogen support (Chromium issue 374838).
3216
3217         Use SameValueZero for Map and Set (issue 1622).
3218
3219         Array Iterator next should check for own property.
3220
3221         Performance and stability improvements on all platforms.
3222
3223
3224 2014-05-21: Version 3.27.9
3225
3226         Disable ArrayShift hydrogen support (Chromium issue 374838).
3227
3228         ES6 Map/Set iterators/forEach improvements (issue 1793).
3229
3230         Performance and stability improvements on all platforms.
3231
3232
3233 2014-05-20: Version 3.27.8
3234
3235         Move microtask queueing logic from JavaScript to C++.
3236
3237         Partial revert of "Next bunch of fixes for check elimination" (Chromium
3238         issue 372173).
3239
3240         Performance and stability improvements on all platforms.
3241
3242
3243 2014-05-19: Version 3.27.7
3244
3245         Performance and stability improvements on all platforms.
3246
3247
3248 2014-05-19: Version 3.27.6
3249
3250         Performance and stability improvements on all platforms.
3251
3252
3253 2014-05-16: Version 3.27.5
3254
3255         Performance and stability improvements on all platforms.
3256
3257
3258 2014-05-15: Version 3.27.4
3259
3260         Drop thenable coercion cache (Chromium issue 372788).
3261
3262         Skip write barriers when updating the weak hash table (Chromium issue
3263         359401).
3264
3265         Performance and stability improvements on all platforms.
3266
3267
3268 2014-05-14: Version 3.27.3
3269
3270         Performance and stability improvements on all platforms.
3271
3272
3273 2014-05-13: Version 3.27.2
3274
3275         Harden %SetIsObserved with RUNTIME_ASSERTs (Chromium issue 371782).
3276
3277         Drop unused static microtask API.
3278
3279         Introduce an api to query the microtask autorun state of an isolate.
3280
3281         Performance and stability improvements on all platforms.
3282
3283
3284 2014-05-12: Version 3.27.1
3285
3286         Object.observe: avoid accessing acceptList properties more than once
3287         (issue 3315).
3288
3289         Array Iterator prototype should not have a constructor (issue 3293).
3290
3291         Fix typos in unit test for Array.prototype.fill().
3292
3293         Shorten autogenerated error message for functions only (issue 3019,
3294         Chromium issue 331971).
3295
3296         Reland "Removed default Isolate." (Chromium issue 359977).
3297
3298         Performance and stability improvements on all platforms.
3299
3300
3301 2014-05-09: Version 3.27.0
3302
3303         Unbreak samples and tools.
3304
3305         Performance and stability improvements on all platforms.
3306
3307
3308 2014-05-08: Version 3.26.33
3309
3310         Removed default Isolate (Chromium issue 359977).
3311
3312         Performance and stability improvements on all platforms.
3313
3314
3315 2014-05-07: Version 3.26.32
3316
3317         Performance and stability improvements on all platforms.
3318
3319
3320 2014-05-06: Version 3.26.31
3321
3322         Add a basic gn file for V8.
3323
3324         Performance and stability improvements on all platforms.
3325
3326
3327 2014-05-05: Version 3.26.30
3328
3329         Introduce a microtask suppression scope and move microtask methods to
3330         isolate (Chromium issue 369503).
3331
3332         Re-enable Object.observe and add enforcement for security invariants.
3333
3334         Move cache line size calculation directly into CPU::FlushICache
3335         (Chromium issue 359977).
3336
3337         Generation of our home-grown memmove doesn't depend on serializer state
3338         anymore (Chromium issue 359977).
3339
3340         Fix |RunMicrotasks()| leaking reference to the last context being run
3341         on.
3342
3343         Object.defineProperty shouldn't be a hint that we're constructing a
3344         dictionary (Chromium issue 362870).
3345
3346         Performance and stability improvements on all platforms.
3347
3348
3349 2014-05-01: Version 3.26.29
3350
3351         Added a Isolate* parameter to Serializer::enabled() (Chromium issue
3352         359977).
3353
3354         ES6: Add support for Array.prototype.fill() (issue 3273).
3355
3356         Performance and stability improvements on all platforms.
3357
3358
3359 2014-04-29: Version 3.26.28
3360
3361         PromiseThen should ignore non-function parameters (Chromium issue
3362         347455).
3363
3364         Performance and stability improvements on all platforms.
3365
3366
3367 2014-04-29: Version 3.26.27
3368
3369         Error stack getter should not overwrite itself with a data property
3370         (issue 3294).
3371
3372         Performance and stability improvements on all platforms.
3373
3374
3375 2014-04-28: Version 3.26.26
3376
3377         Expose promise value through promise mirror (issue 3093).
3378
3379         Simplified CPU/CpuFeatures a bit (Chromium issue 359977).
3380
3381         Performance and stability improvements on all platforms.
3382
3383
3384 2014-04-28: Version 3.26.25
3385
3386         Add timestamps to CPU profile samples (Chromium issue 363976).
3387
3388         Expose promise status through promise mirror (issue 3093).
3389
3390         Remove static CallCompletedCallback handlers.
3391
3392         Added an Isolate* field to NoTrackDoubleFieldsForSerializerScope,
3393         PlatformFeatureScope and BinaryOpIC::State (Chromium issue 359977).
3394
3395         Trigger debug event on not yet caught exception in promises (issue
3396         3093).
3397
3398         Unbreak vtunejit=on (issue 3288).
3399
3400         Performance and stability improvements on all platforms.
3401
3402
3403 2014-04-25: Version 3.26.24
3404
3405         MIPS: CodeStubs contain their corresponding Isolate* now. (part 2)
3406         (Chromium issue 359977).
3407
3408         MIPS: CodeStubs contain their corresponding Isolate* now. (part 1)
3409         (Chromium issue 359977).
3410
3411         CodeStubs contain their corresponding Isolate* now. (part 2) (Chromium
3412         issue 359977).
3413
3414         Make DescriptorArray::IsMoreGeneralThan() and DescriptorArray::Merge()
3415         compatible again (Chromium issue 365172).
3416
3417         CodeStubs contain their corresponding Isolate* now. (part 1) (Chromium
3418         issue 359977).
3419
3420         Performance and stability improvements on all platforms.
3421
3422
3423 2014-04-24: Version 3.26.23
3424
3425         Performance and stability improvements on all platforms.
3426
3427
3428 2014-04-23: Version 3.26.22
3429
3430         Disable field type tracking by default (Chromium issue 365172).
3431
3432         Performance and stability improvements on all platforms.
3433
3434
3435 2014-04-23: Version 3.26.21
3436
3437         Context-allocate all parameters in generators (issue 3280).
3438
3439         Simplify v8/Isolate teardown (Chromium issue 359977).
3440
3441         Performance and stability improvements on all platforms.
3442
3443
3444 2014-04-21: Version 3.26.20
3445
3446         ES6: Add support for Map/Set forEach (Chromium issues 1793, 2323).
3447
3448         Performance and stability improvements on all platforms.
3449
3450
3451 2014-04-18: Version 3.26.19
3452
3453         ES6: Add support for Map/Set forEach (Chromium issues 1793, 2323).
3454
3455         Performance and stability improvements on all platforms.
3456
3457
3458 2014-04-17: Version 3.26.18
3459
3460         Removed Isolate::EnterDefaultIsolate (Chromium issue 359977).
3461
3462         Performance and stability improvements on all platforms.
3463
3464
3465 2014-04-16: Version 3.26.17
3466
3467         Clear invalid field maps in PropertyAccessInfo (Chromium issue 363956).
3468
3469         ES6: Add support for Map/Set forEach (Chromium issues 1793, 2323).
3470
3471         Performance and stability improvements on all platforms.
3472
3473
3474 2014-04-16: Version 3.26.16
3475
3476         Removed EnterIsolateIfNeeded and a soon-to-be-useless assertion
3477         (Chromium issue 359977).
3478
3479         Removed GetDefaultIsolate{Debugger,ForLocking,StackGuard} (Chromium
3480         issue 359977).
3481
3482         Performance and stability improvements on all platforms.
3483
3484
3485 2014-04-15: Version 3.26.15
3486
3487         Fix result of LCodeGen::DoWrapReceiver for strict functions and builtins
3488         (Chromium issue 362128).
3489
3490         Performance and stability improvements on all platforms.
3491
3492
3493 2014-04-15: Version 3.26.14
3494
3495         Performance and stability improvements on all platforms.
3496
3497
3498 2014-04-14: Version 3.26.13
3499
3500         Make maps in monomorphic IC stubs weak (issue 2073).
3501
3502         x64: Make sure that the upper half of a 64bit register contains 0 for
3503         int32 values (Chromium issue 360611).
3504
3505         Performance and stability improvements on all platforms.
3506
3507
3508 2014-04-11: Version 3.26.12
3509
3510         Do not use ranges after range analysis (Chromium issue 361608).
3511
3512         Performance and stability improvements on all platforms.
3513
3514
3515 2014-04-10: Version 3.26.11
3516
3517         Performance and stability improvements on all platforms.
3518
3519
3520 2014-04-10: Version 3.26.10
3521
3522         Allow the embedder to pass the virtual memory limit to v8.
3523
3524         Performance and stability improvements on all platforms.
3525
3526
3527 2014-04-09: Version 3.26.9
3528
3529         Fix invalid local property lookup for transitions (Chromium issue
3530         361025).
3531
3532         MIPS: Fixed flooring division by -1 (issue 3259).
3533
3534         Fixed flooring division by -1 on ARM (issue 3259).
3535
3536         Make `String.prototype.contains` throw when passing a regular expression
3537         (issue 3261).
3538
3539         Performance and stability improvements on all platforms.
3540
3541
3542 2014-04-08: Version 3.26.8
3543
3544         Yet another regression test for range analysis (issue 3204).
3545
3546         Performance and stability improvements on all platforms.
3547
3548
3549 2014-04-07: Version 3.26.7
3550
3551         Performance and stability improvements on all platforms.
3552
3553
3554 2014-04-04: Version 3.26.6
3555
3556         Performance and stability improvements on all platforms.
3557
3558
3559 2014-04-03: Version 3.26.5
3560
3561         Performance and stability improvements on all platforms.
3562
3563
3564 2014-04-03: Version 3.26.4
3565
3566         Make stray 'return' an early error.
3567
3568         Show references from weak containers as weak in heap snapshots (Chromium
3569         issue 356590).
3570
3571         Make invalid LHSs that are calls late errors (Chromium issue 358346).
3572
3573         Performance and stability improvements on all platforms.
3574
3575
3576 2014-04-02: Version 3.26.3
3577
3578         Support typed arrays in IsMoreGeneralElementsKindTransition (Chromium
3579         issue 357054).
3580
3581         Remove debugger_auto_break flag.
3582
3583         Store i18n meta data in hidden symbols instead of js accessible
3584         properties (Chromium issue 354967).
3585
3586         Performance and stability improvements on all platforms.
3587
3588
3589 2014-04-01: Version 3.26.2
3590
3591         Performance and stability improvements on all platforms.
3592
3593
3594 2014-04-01: Version 3.26.1
3595
3596         Fix Type::Intersect to skip uninhabited bitsets (Chromium issue 357330).
3597
3598         Fix PrepareKeyedOperand on arm (Chromium issue 358057).
3599
3600         Performance and stability improvements on all platforms.
3601
3602
3603 2014-03-31: Version 3.26.0
3604
3605         Deprecate Start/StopCpuProfiling methods (issue 3213).
3606
3607         Don't crash if we get a timezone change notification on an uninitialized
3608         isolate (Chromium issue 357362).
3609
3610         Performance and stability improvements on all platforms.
3611
3612
3613 2014-03-28: Version 3.25.30
3614
3615         NativeContext::map_cache reference should be strong in heap snapshots
3616         (Chromium issue 357060).
3617
3618         Performance and stability improvements on all platforms.
3619
3620
3621 2014-03-27: Version 3.25.29
3622
3623         Performance and stability improvements on all platforms.
3624
3625
3626 2014-03-27: Version 3.25.28
3627
3628         Performance and stability improvements on all platforms.
3629
3630
3631 2014-03-26: Version 3.25.27
3632
3633         Promise constructor should not be enumerable (Chromium issue 352597).
3634
3635         Performance and stability improvements on all platforms.
3636
3637
3638 2014-03-26: Version 3.25.26
3639
3640         Performance and stability improvements on all platforms.
3641
3642
3643 2014-03-25: Version 3.25.25
3644
3645         Roll ICU 239289:258359 and add support for external ICU data tables
3646         (issue 3142, Chromium issue 72633).
3647
3648         Performance and stability improvements on all platforms.
3649
3650
3651 2014-03-25: Version 3.25.24
3652
3653         Add support for per-isolate private symbols.
3654
3655         No longer OOM on invalid string length (issue 3060).
3656
3657         Remove Failure::OutOfMemory propagation and
3658         V8::IgnoreOutOfMemoryException (issue 3060).
3659
3660         Tentative Windows dll build fix: Don't V8_EXPORT ScriptCompiler::Source
3661         (issue 3228).
3662
3663         Performance and stability improvements on all platforms.
3664
3665
3666 2014-03-24: Version 3.25.23
3667
3668         Rename A64 port to ARM64 port (Chromium issue 354405).
3669
3670         Fix missing access check in Runtime_SetPrototype (Chromium issue
3671         354123).
3672
3673         Fix polymorphic hydrogen handling of SLOPPY_ARGUMENTS_ELEMENTS (Chromium
3674         issue 354391).
3675
3676         Performance and stability improvements on all platforms.
3677
3678
3679 2014-03-20: Version 3.25.22
3680
3681         Increase the "local variables in a function" limit (issue 3205).
3682
3683         Implement ES6 symbol registry and predefined symbols.
3684
3685         Throw exception on invalid string length instead of OOM (Chromium issue
3686         349329).
3687
3688         Performance and stability improvements on all platforms.
3689
3690
3691 2014-03-20: Version 3.25.21
3692
3693         Performance and stability improvements on all platforms.
3694
3695
3696 2014-03-20: Version 3.25.20
3697
3698         Fix polymorphic keyed loads for SLOPPY_ARGUMENTS_ELEMENTS (Chromium
3699         issue 350867).
3700
3701         Performance and stability improvements on all platforms.
3702
3703
3704 2014-03-19: Version 3.25.19
3705
3706         Performance and stability improvements on all platforms.
3707
3708
3709 2014-03-19: Version 3.25.18
3710
3711         Performance and stability improvements on all platforms.
3712
3713
3714 2014-03-19: Version 3.25.17
3715
3716         Performance and stability improvements on all platforms.
3717
3718
3719 2014-03-18: Version 3.25.16
3720
3721         Apply numeric casts correctly in typed arrays and related code (Chromium
3722         issue 353004).
3723
3724         Performance and stability improvements on all platforms.
3725
3726
3727 2014-03-18: Version 3.25.15
3728
3729         Don't generate keyed store ICs for global proxies (Chromium issue
3730         352983).
3731
3732         MIPS: Make invalid LHSs a parse-time (reference) error (Chromium issue
3733         351658).
3734
3735         Make invalid LHSs a parse-time (reference) error (Chromium issue
3736         351658).
3737
3738         Add Promises/A+ Compliance Test Suite (Chromium issue 347095).
3739
3740         Split Promise API into Promise/Resolver.
3741
3742         Performance and stability improvements on all platforms.
3743
3744
3745 2014-03-17: Version 3.25.14
3746
3747         Performance and stability improvements on all platforms.
3748
3749
3750 2014-03-17: Version 3.25.13
3751
3752         Move profiler callback interfaces from v8.h to v8-profiler.h.
3753
3754         Performance and stability improvements on all platforms.
3755
3756
3757 2014-03-14: Version 3.25.12
3758
3759         PromiseCoerce should deal with an error during accessing "then"
3760         (Chromium issue 347095).
3761
3762         Propagate updated offsets in BoundsCheckBbData (Chromium issue 350863).
3763
3764         Add regression test for range analysis bug (issue 3204).
3765
3766         Continued fix for 351257. Reusing the feedback vector is too complex
3767         (Chromium issue 351257).
3768
3769         StopCpuProfiling should return non-const CpuProfile (issue 3213).
3770
3771         Allow for compiling with xcode 5.1 (which doesn't have gcc anymore).
3772
3773         Performance and stability improvements on all platforms.
3774
3775
3776 2014-03-14: Version 3.25.11
3777
3778         MIPS: Remove uses of CanBeNegative() in HMod (issue 3204).
3779
3780         MIPS: Remove uses of RangeCanInclude() in flooring division by power of
3781         2 (issue 3204).
3782
3783         MIPS: Fix uses of range analysis results in HChange (issue 3204).
3784
3785         Make translation of modulus operation '--stress-opt'-proof (Chromium
3786         issue 352059).
3787
3788         Remove uses of CanBeNegative() in HMod (issue 3204).
3789
3790         Remove uses of RangeCanInclude() in flooring division by power of 2
3791         (issue 3204).
3792
3793         Fix uses of range analysis results in HChange (issue 3204).
3794
3795         Performance and stability improvements on all platforms.
3796
3797
3798 2014-03-14: Version 3.25.10
3799
3800         This version was not committed due to script failures.
3801
3802
3803 2014-03-13: Version 3.25.9
3804
3805         Reland "Enable Object.observe by default" again (issue 2409).
3806
3807         Use intrinsics for builtin ArrayBuffer property accesses (Chromium issue
3808         351787).
3809
3810         Performance and stability improvements on all platforms.
3811
3812
3813 2014-03-12: Version 3.25.8
3814
3815         Fix HIsSmiAndBranch::KnownSuccessorBlock() by deleting it (Chromium
3816         issue 351320).
3817
3818         Fix handling of polymorphic array accesses with constant index (Chromium
3819         issue 351319).
3820
3821         Fix lazy deopt after tagged binary ops (Chromium issue 350434).
3822
3823         MIPS: Cleanup some of the range uses in ModI/DivI (issue 3204).
3824
3825         Fix issue with getOwnPropertySymbols and hidden properties (Chromium
3826         issue 350864).
3827
3828         Cleanup some of the range uses in ModI/DivI (issue 3204).
3829
3830         PromiseCoerce should ignore primitive values (Chromium issue 347095).
3831
3832         Use a per-isolate cache for the date object JS bits (Chromium issue
3833         348856).
3834
3835         Performance and stability improvements on all platforms.
3836
3837
3838 2014-03-11: Version 3.25.7
3839
3840         Promise.all and Promise.race should reject non-array parameter (Chromium
3841         issue 347453).
3842
3843         Promise.all and Promise race should use "then" rather than "chain"
3844         (Chromium issue 347427).
3845
3846         Merge the "Compute Minus Zero Checks" phase into the range analysis
3847         (issue 3204).
3848
3849         Performance and stability improvements on all platforms.
3850
3851
3852 2014-03-10: Version 3.25.6
3853
3854         Replace the recursion in PropagateMinusZeroChecks() with a loop and a
3855         worklist (issue 3204).
3856
3857         Reland "Enable Object.observe by default" (issue 2409).
3858
3859         Enable Object.observe by default (issue 2409).
3860
3861         AllocationTracker now maintains a map from address range to stack trace
3862         that allocated the range. When snapshot is generated the map is used to
3863         find construction stack trace for an object using its address (Chromium
3864         issue 277984).
3865
3866         Introduce Runtime_GetAllScopesDetails to get all scopes at once for a
3867         frame (Chromium issue 340285).
3868
3869         Reduce heavy runtime calls from debug mirrors (Chromium issue 340285).
3870
3871         Check and clear date cache in DateCurrentTime, DateLocalTimezone and
3872         getTimezoneOffset (Chromium issue 142141).
3873
3874         Performance and stability improvements on all platforms.
3875
3876
3877 2014-03-06: Version 3.25.5
3878
3879         Fix HConstants with Smi-ranged HeapNumber values (Chromium issue
3880         349878).
3881
3882         Fix issues with JSON stringify replacer array (issues 3200, 3201).
3883
3884         Performance and stability improvements on all platforms.
3885
3886
3887 2014-03-05: Version 3.25.4
3888
3889         x64: Fix LMathMinMax for constant Smi right-hand operands (Chromium
3890         issue 349079).
3891
3892         Performance and stability improvements on all platforms.
3893
3894
3895 2014-03-04: Version 3.25.3
3896
3897         Clear optimized code cache in shared function info when code gets
3898         deoptimized (Chromium issue 343609).
3899
3900         Fixed constant folding for Math.clz32 (Chromium issue 347906).
3901
3902         Fix JSObject::PrintTransitions (Chromium issue 347912).
3903
3904         Fix handling of constant global variable assignments (Chromium issue
3905         347904).
3906
3907         Removed bogus ASSERT (Chromium issue 347542).
3908
3909         Mark HCompareMap as having Tagged representation (Chromium issue
3910         346636).
3911
3912         Fix crasher in Object.getOwnPropertySymbols (Chromium issue 346141).
3913
3914         Fix the bit massaging code in CompleteParserRecorder::WriteNumber
3915         (Chromium issue 346221).
3916
3917         Don't eliminate loads with incompatible types or representations
3918         (Chromium issue 346343).
3919
3920         Check that after a weak callback, the handle is either dead or strong
3921         (Chromium issue 346061).
3922
3923         Lazy preparsing vs. lazy parsing fix (Chromium issue 346207).
3924
3925         Performance and stability improvements on all platforms.
3926
3927
3928 2014-02-25: Version 3.25.2
3929
3930         Fix the bit massaging code in CompleteParserRecorder::WriteNumber
3931         (Chromium issue 346221).
3932
3933         Revert r19455 "Load target types and handlers before IC computation."
3934         (Chromium issue 346149).
3935
3936         Don't eliminate loads with incompatible types or representations
3937         (Chromium issue 346343).
3938
3939         Fix for a smi stores optimization on x64 with a regression test
3940         (Chromium issue 345715).
3941
3942         Check that after a weak callback, the handle is either dead or strong
3943         (Chromium issue 346061).
3944
3945         negative bounds checking on realm calls (Chromium issue 344285).
3946
3947         Lazy preparsing vs. lazy parsing fix (Chromium issue 346207).
3948
3949         Fix optimistic BCE to back off after deopt (issue 3176).
3950
3951         Performance and stability improvements on all platforms.
3952
3953
3954 2014-02-21: Version 3.25.1
3955
3956         Performance and stability improvements on all platforms.
3957
3958
3959 2014-02-19: Version 3.25.0
3960
3961         ES6: Tighten up Object.prototype.__proto__ (issue 3064).
3962
3963         Fix Hydrogen bounds check elimination (Chromium issue 344186).
3964
3965         Performance and stability improvements on all platforms.
3966
3967
3968 2014-02-19: Version 3.24.40
3969
3970         A64: Let the MacroAssembler resolve branches to distant targets (issue
3971         3148).
3972
3973         Fixed and improved code for integral division. Fixed and extended tests
3974         (issue 3151).
3975
3976         MIPS: Fix assignment of function name constant (issue 3138).
3977
3978         Fix assignment of function name constant (issue 3138).
3979
3980         Performance and stability improvements on all platforms.
3981
3982
3983 2014-02-14: Version 3.24.39
3984
3985         Introduce --job-based-sweeping flag and use individual jobs for sweeping
3986         if set (issue 3104).
3987
3988         Performance and stability improvements on all platforms.
3989
3990
3991 2014-02-13: Version 3.24.38
3992
3993         Merge experimental/a64 to bleeding_edge (issue 3113).
3994
3995         Performance and stability improvements on all platforms.
3996
3997
3998 2014-02-12: Version 3.24.37
3999
4000         Fix spec violations in JSON.stringify wrt replacer array (issue 3135).
4001
4002         Performance and stability improvements on all platforms.
4003
4004
4005 2014-02-11: Version 3.24.36
4006
4007         Fix inconsistencies wrt whitespaces (issue 3109).
4008
4009         Performance and stability improvements on all platforms.
4010
4011
4012 2014-02-10: Version 3.24.35
4013
4014         Fix inconsistencies wrt whitespaces (issue 3109).
4015
4016         Performance and stability improvements on all platforms.
4017
4018
4019 2014-02-07: Version 3.24.34
4020
4021         Performance and stability improvements on all platforms.
4022
4023
4024 2014-02-06: Version 3.24.33
4025
4026         Allow externalizing strings in old pointer space (Chromium issue
4027         268686).
4028
4029         Performance and stability improvements on all platforms.
4030
4031
4032 2014-02-05: Version 3.24.32
4033
4034         Add Box object to heap profiler.
4035
4036         Check the offset argument of TypedArray.set for fitting into Smi
4037         (Chromium issue 340125).
4038
4039         Performance and stability improvements on all platforms.
4040
4041
4042 2014-02-04: Version 3.24.31
4043
4044         Fix short-circuiting logical and/or in HOptimizedGraphBuilder (Chromium
4045         issue 336148).
4046
4047         Elements field of newly allocated JSArray could be left uninitialized in
4048         some cases (fast literal case) (Chromium issue 340124).
4049
4050         Re-enable escape analysis.
4051
4052         Performance and stability improvements on all platforms.
4053
4054
4055 2014-02-03: Version 3.24.30
4056
4057         Performance and stability improvements on all platforms.
4058
4059
4060 2014-02-01: Version 3.24.29
4061
4062         Performance and stability improvements on all platforms.
4063
4064
4065 2014-01-31: Version 3.24.28
4066
4067         Don't crash in Array.join() if the resulting string exceeds the max
4068         string length (Chromium issue 336820).
4069
4070         Implements ES6 String.prototype.normalize method (issue 2943).
4071
4072         Performance and stability improvements on all platforms.
4073
4074
4075 2014-01-30: Version 3.24.27
4076
4077         Performance and stability improvements on all platforms.
4078
4079
4080 2014-01-29: Version 3.24.26
4081
4082         ES6: Map and Set needs to normalize minus zero (issue 3069).
4083
4084         Make `String.prototype.{starts,ends}With` throw when passing a regular
4085         expression (issue 3070).
4086
4087         Performance and stability improvements on all platforms.
4088
4089
4090 2014-01-28: Version 3.24.25
4091
4092         Performance and stability improvements on all platforms.
4093
4094
4095 2014-01-27: Version 3.24.24
4096
4097         MIPS: Reduce the stack requirements of GetNoCodeAgeSequence (issue
4098         3111).
4099
4100         Delete v8_shell target now that chrome uses d8 (Chromium issue 331585).
4101
4102         ARM: Reduce the stack requirements of GetNoCodeAgeSequence (issue 3111).
4103
4104         Performance and stability improvements on all platforms.
4105
4106
4107 2014-01-24: Version 3.24.23
4108
4109         Performance and stability improvements on all platforms.
4110
4111
4112 2014-01-23: Version 3.24.22
4113
4114         Fix compilation on x64 architectures (issue 3110).
4115
4116         Ensure we don't overwrite transitions in SetPropertyIgnoreAttributes
4117         (Chromium issue 326155).
4118
4119         ES6: Implement Object.setPrototypeOf (issue 2675).
4120
4121         Fixed floor-of-div optimization (Chromium issue 334708).
4122
4123         Performance and stability improvements on all platforms.
4124
4125
4126 2014-01-22: Version 3.24.21
4127
4128         Performance and stability improvements on all platforms.
4129
4130
4131 2014-01-21: Version 3.24.20
4132
4133         ES6: Implement Object.setPrototypeOf (issue 2675).
4134
4135         Performance and stability improvements on all platforms.
4136
4137
4138 2014-01-20: Version 3.24.19
4139
4140         Introduce a setting to control the toolset for which d8 is compiled
4141         (issue 1775).
4142
4143         Performance and stability improvements on all platforms.
4144
4145
4146 2014-01-17: Version 3.24.18
4147
4148         Performance and stability improvements on all platforms.
4149
4150
4151 2014-01-16: Version 3.24.17
4152
4153         Make cells pointing to JSObjects weak in optimized code (issue 2073).
4154
4155         Performance and stability improvements on all platforms.
4156
4157
4158 2014-01-15: Version 3.24.16
4159
4160         Annotate mapped memory regions for LeakSanitizer (Chromium issue
4161         328552).
4162
4163         Turn Runtime_MigrateInstance into Runtime_TryMigrateInstance (Chromium
4164         issue 315252).
4165
4166         Performance and stability improvements on all platforms.
4167
4168
4169 2014-01-14: Version 3.24.15
4170
4171         Introduce an API mirroring the gc extension.
4172
4173         Performance and stability improvements on all platforms.
4174
4175
4176 2014-01-10: Version 3.24.14
4177
4178         ES6: Add Object.getOwnPropertySymbols (issue 3049).
4179
4180         Performance and stability improvements on all platforms.
4181
4182
4183 2014-01-09: Version 3.24.13
4184
4185         Add Isolate parameter to HandleScope::NumberOfHandles (Chromium issue
4186         324225).
4187
4188         Removed v8::AssertNoGCScope.
4189
4190         Performance and stability improvements on all platforms.
4191
4192
4193 2014-01-08: Version 3.24.12
4194
4195         Correctly handle instances without elements in polymorphic keyed
4196         load/store (Chromium issue 331416).
4197
4198         Fix selection of popular pages in store buffer (Chromium issue 331444).
4199
4200         Prepare removal of ObjectTemplate::New without Isolate parameter
4201         (Chromium issue 324225).
4202
4203         Performance and stability improvements on all platforms.
4204
4205
4206 2014-01-07: Version 3.24.11
4207
4208         Remove generated makefiles on linux when running gyp_v8
4209         (Chromium issue 331475)
4210
4211         Fix building d8 with readline support due to API changes
4212
4213         Performance and stability improvements on all platforms.
4214
4215
4216 2014-01-03: Version 3.24.10
4217
4218         Reland r18383: More API cleanup (Chromium issue 324225).
4219
4220         MIPS: Fix loading of global object in LWrapReceiver (Chromium issue
4221         318420).
4222
4223         Performance and stability improvements on all platforms.
4224
4225
4226 2014-01-02: Version 3.24.9
4227
4228         Performance and stability improvements on all platforms.
4229
4230
4231 2013-12-30: Version 3.24.8
4232
4233         ARM: fix loading of global object in LWrapReceiver (Chromium issue
4234         318420).
4235
4236         Fix a race between concurrent recompilation and OSR (Chromium issue
4237         330046).
4238
4239         Turn off concurrent sweeping (issue 3071).
4240
4241         Performance and stability improvements on all platforms.
4242
4243
4244 2013-12-23: Version 3.24.7
4245
4246         Fix small spec violation in String.prototype.split (issue 3026).
4247
4248         Correctly resolve forcibly context allocated parameters in debug-
4249         evaluate (Chromium issue 325676).
4250
4251         Introduce Function::GetBoundFunction. 
4252
4253         Performance and stability improvements on all platforms.
4254
4255
4256 2013-12-20: Version 3.24.6
4257
4258         Performance and stability improvements on all platforms.
4259
4260
4261 2013-12-19: Version 3.24.5
4262
4263         Performance and stability improvements on all platforms.
4264
4265
4266 2013-12-18: Version 3.24.4
4267
4268         Removed all stuff marked as V8_DEPRECATED.
4269
4270         Performance and stability improvements on all platforms.
4271
4272
4273 2013-12-17: Version 3.24.3
4274
4275         Performance and stability improvements on all platforms.
4276
4277
4278 2013-12-17: Version 3.24.2
4279
4280         Flush instruction cache for deserialized code objects.
4281
4282         Performance and stability improvements on all platforms.
4283
4284
4285 2013-12-13: Version 3.24.1
4286
4287         Fix polymorphic inlined calls with migrating prototypes.
4288
4289         Fixed global object leak caused by overwriting the global receiver (the
4290         global proxy) in the global object with the global object itself
4291         (Chromium issue 324812).
4292
4293         Initialize Date parse cache with SMI instead of double to workaround
4294         sharing mutable heap numbers in snapshot (Chromium issue 280531).
4295
4296         Switch armv7 setting to arm_version==7 in v8 gyp files (Chromium issue
4297         234135).
4298
4299         Performance and stability improvements on all platforms.
4300
4301
4302 2013-12-09: Version 3.24.0
4303
4304         Performance and stability improvements on all platforms.
4305
4306
4307 2013-12-04: Version 3.23.18
4308
4309         Performance and stability improvements on all platforms.
4310
4311
4312 2013-12-03: Version 3.23.17
4313
4314         Performance and stability improvements on all platforms.
4315
4316
4317 2013-12-02: Version 3.23.16
4318
4319         Array builtins need to be prevented from changing frozen objects, and
4320         changing structure on sealed objects (Chromium issue 299979).
4321
4322         Performance and stability improvements on all platforms.
4323
4324
4325 2013-11-29: Version 3.23.15
4326
4327         Fix context register allocation in LTransitionElementsKind
4328         (Chromium issue 324306).
4329
4330         Fix bug in inlining Function.apply (Chromium issue 323942).
4331
4332         Ensure that length is Smi in TypedArrayFromArrayLike constructor
4333         (Chromium issue 324028).
4334
4335         Performance and stability improvements on all platforms.
4336
4337
4338 2013-11-28: Version 3.23.14
4339
4340         Shorten autogenerated error message (issue 3019).
4341
4342         Performance and stability improvements on all platforms.
4343
4344
4345 2013-11-27: Version 3.23.13
4346
4347         Increase precision for base conversion for large integers (issue 3025).
4348
4349         Flatten cons string for single character substrings (Chromium issue
4350         323041).
4351
4352         Performance and stability improvements on all platforms.
4353
4354
4355 2013-11-26: Version 3.23.12
4356
4357         Performance and stability improvements on all platforms.
4358
4359
4360 2013-11-25: Version 3.23.11
4361
4362         Deprecate old versions of Isolate::SetData and GetData.
4363
4364         Performance and stability improvements on all platforms.
4365
4366
4367 2013-11-22: Version 3.23.10
4368
4369         Remove preemption thread and API.
4370         (issue 3004)
4371
4372         Performance and stability improvements on all platforms.
4373
4374
4375 2013-11-21: Version 3.23.9
4376
4377         API: Change AdjustAmountOfExternalAllocatedMemory calls to use int64_t
4378         instead of intptr_t.
4379
4380         Remove deprecated v8::SetResourceConstraints without Isolate parameter.
4381
4382         Remove deprecated v8-defaults.h and defaults.cc.
4383         (Chromium issue 312241)
4384
4385         Make it possible to add more than one piece of embedder data to
4386         isolates.
4387         (Chromium issue 317398)
4388
4389         Performance and stability improvements on all platforms.
4390
4391
4392 2013-11-20: Version 3.23.8
4393
4394         Fixed crashes exposed though fuzzing.
4395         (Chromium issue 320948)
4396
4397         Deprecated v8::External::New without Isolate parameter.
4398
4399         Made number of available threads isolate-dependent and exposed it to
4400         ResourceConstraints.
4401         (issue 2991)
4402
4403         Performance and stability improvements on all platforms.
4404
4405
4406 2013-11-19: Version 3.23.7
4407
4408         Bugfix: dependent code field in AllocationSite was keeping code objects
4409         alive even after context death.
4410         (Chromium issue 320532)
4411
4412         Fixed data view accessors to throw execptions on offsets bigger than
4413         size_t.
4414         (issue 3013)
4415
4416         Performance and stability improvements on all platforms.
4417
4418
4419 2013-11-18: Version 3.23.6
4420
4421         Limit size of dehoistable array indices.
4422         (Chromium issues 319835, 319860)
4423
4424         Limit the size for typed arrays to MaxSmi.
4425         (Chromium issue 319722)
4426
4427         Performance and stability improvements on all platforms.
4428
4429
4430 2013-11-15: Version 3.23.5
4431
4432         Fixed missing type feedback check for Generic*String addition.
4433         (Chromium issue 318671)
4434
4435         Fixed duplicate check in DependentCode::Insert.
4436         (Chromium issue 318454)
4437
4438         Performance and stability improvements on all platforms.
4439
4440
4441 2013-11-14: Version 3.23.4
4442
4443         Fixed overflow in TypedArray initialization function.
4444         (Chromium issue 319120)
4445
4446         Performance and stability improvements on all platforms.
4447
4448
4449 2013-11-13: Version 3.23.3
4450
4451         Fixed compilation with GCC 4.8.
4452         (issue 2767, 2149)
4453
4454         Added explicit Isolate parameter to External::New.
4455         (Chromium issue 266838)
4456
4457         Performance and stability improvements on all platforms.
4458
4459
4460 2013-11-12: Version 3.23.2
4461
4462         Fixed --extra-code flag for snapshot creation.
4463         (issue 2994)
4464
4465         Fixed error message wording when instanceof throws.
4466         (Chromium issue 82797, issue 1593)
4467
4468         Performance and stability improvements on all platforms.
4469
4470
4471 2013-11-08: Version 3.23.1
4472
4473         Made HCapturedObjects non-deletable for DCE. (issue 2987)
4474
4475         Use a fixed random seed per default. (issue 1880, 2885)
4476
4477         Fixed y-umlaut to uppercase. (issue 2984)
4478
4479         Performance and stability improvements on all platforms.
4480
4481
4482 2013-11-06: Version 3.23.0
4483
4484         Fixed loading message from an Error object.  (Chromium issue 306220)
4485
4486         Made Object.freeze/seal/preventExtensions observable. (issue 2975, 2941)
4487
4488         Made snapshots reproducible. (issue 2885)
4489
4490         Added missing negative dictionary lookup to NonexistentHandlerFrontend.
4491         (issue 2980)
4492
4493         Performance and stability improvements on all platforms.
4494
4495
4496 2013-10-31: Version 3.22.24
4497
4498         Fixed uint32-to-smi conversion in Lithium.
4499         (Chromium issue 309623)
4500
4501         Performance and stability improvements on all platforms.
4502
4503
4504 2013-10-28: Version 3.22.23
4505
4506         Renamed deprecated __attribute__((no_address_safety_analysis)) to
4507         __attribute__((no_sanitize_address)) (Chromium issue 311283)
4508
4509         Defined DEBUG for v8_optimized_debug=2
4510
4511         Performance and stability improvements on all platforms.
4512
4513
4514 2013-10-25: Version 3.22.22
4515
4516         Record allocation stack traces. (Chromium issue 277984,v8:2949)
4517
4518         Performance and stability improvements on all platforms.
4519
4520
4521 2013-10-24: Version 3.22.21
4522
4523         Performance and stability improvements on all platforms.
4524
4525
4526 2013-10-24: Version 3.22.20
4527
4528         Made Array.prototype.pop throw if the last element is not configurable.
4529
4530         Fixed HObjectAccess for loads from migrating prototypes.
4531         (Chromium issue 305309)
4532
4533         Enabled preaging of code objects when --optimize-for-size.
4534         (Chromium issue 280984)
4535
4536         Exposed v8::Function::GetDisplayName to public API.
4537         (Chromium issue 17356)
4538
4539         Performance and stability improvements on all platforms.
4540
4541
4542 2013-10-23: Version 3.22.19
4543
4544         Fix materialization of captured objects with field tracking.
4545         (Chromium issue 298990)
4546
4547         Performance and stability improvements on all platforms.
4548
4549
4550 2013-10-22: Version 3.22.18
4551
4552         Add tool to visualize machine code/lithium.
4553
4554         Handle misaligned loads and stores in load elimination. Do not track
4555         misaligned loads and be conservative about invalidating misaligned
4556         stores. (issue 2934)
4557
4558         Performance and stability improvements on all platforms.
4559
4560
4561 2013-10-21: Version 3.22.17
4562
4563         Harmony: Implement Math.trunc and Math.sign. (issue 2938)
4564
4565         Performance and stability improvements on all platforms.
4566
4567
4568 2013-10-21: Version 3.22.16
4569
4570         Performance and stability improvements on all platforms.
4571
4572
4573 2013-10-18: Version 3.22.15
4574
4575         Enabled calling the SetReference* & SetObjectGroupId functions with a
4576         Persistent<SubclassOfValue>.
4577
4578         Performance and stability improvements on all platforms.
4579
4580
4581 2013-10-17: Version 3.22.14
4582
4583         Performance and stability improvements on all platforms.
4584
4585
4586 2013-10-16: Version 3.22.13
4587
4588         Do not look up ArrayBuffer on global object in typed array constructor.
4589         (issue 2931)
4590
4591         Performance and stability improvements on all platforms.
4592
4593
4594 2013-10-15: Version 3.22.12
4595
4596         Added histograms to track fraction of heap spaces and percentage of
4597         generated crankshaft code.
4598
4599         Moved v8_optimized_debug default value to standalone.gypi.
4600
4601         Track JS allocations as they arrive with no affection on performance
4602         when tracking is switched off (Chromium issue 277984).
4603
4604         Performance and stability improvements on all platforms.
4605
4606
4607 2013-10-14: Version 3.22.11
4608
4609         Performance and stability improvements on all platforms.
4610
4611
4612 2013-10-11: Version 3.22.10
4613
4614         Fixed timezone issues with date-time/parse-* tests.
4615         (Chromium issue 2919)
4616
4617         Added column getter to CpuProfileNode (Chromium issue 302537)
4618
4619         Performance and stability improvements on all platforms.
4620
4621
4622 2013-10-10: Version 3.22.9
4623
4624         Ensure only whitelisted stubs have sse2 versions in the snapshot.
4625         (fix for chromium 304565)
4626
4627         Implement ArrayBuffer.isView.
4628
4629         Performance and stability improvements on all platforms.
4630
4631
4632 2013-10-04: Version 3.22.8
4633
4634         Performance and stability improvements on all platforms.
4635
4636
4637 2013-10-03: Version 3.22.7
4638
4639         Debug: Allow stepping into on a given call frame
4640         (Chromium issue 296963).
4641
4642         Always use timeGetTime() for TimeTicks::Now() on Windows
4643         (Chromium issue 288924).
4644
4645         Performance and stability improvements on all platforms.
4646
4647
4648 2013-10-02: Version 3.22.6
4649
4650         Performance and stability improvements on all platforms.
4651
4652
4653 2013-10-01: Version 3.22.5
4654
4655         Disabled externalization of sliced/cons strings in old pointer space
4656         (Chromium issue 276357).
4657
4658         Turned on handle zapping for release builds
4659
4660         Performance and stability improvements on all platforms.
4661
4662
4663 2013-09-30: Version 3.22.4
4664
4665         Function::Call and Object::CallAsFunction APIs should allow v8::Value as
4666         a receiver (issue 2915).
4667
4668         Removed unnecessary mutex (Chromium issue 291236).
4669
4670         Removed ArrayBufferView::BaseAddress method.
4671
4672         Performance and stability improvements on all platforms.
4673
4674
4675 2013-09-27: Version 3.22.3
4676
4677         Added methods to enable configuration of ResourceConstraints based on
4678         limits derived at runtime.
4679         (Chromium issue 292928)
4680
4681         Added -optimize-for-size flag to optimize for memory size (will be used
4682         by pre-aging CL), and removed the is_memory_constrained
4683         ResourceConstraint.
4684         (Chromium issue 292928)
4685
4686         Performance and stability improvements on all platforms.
4687
4688
4689 2013-09-26: Version 3.22.2
4690
4691         Performance and stability improvements on all platforms.
4692
4693
4694 2013-09-25: Version 3.22.1
4695
4696         Sped up creating typed arrays from array-like objects.
4697         (Chromium issue 270507)
4698
4699         Performance and stability improvements on all platforms.
4700
4701
4702 2013-09-23: Version 3.22.0
4703
4704         LiveEdit to mark more closure functions for re-instantiation when scope
4705         layout changes.
4706         (issue 2872)
4707
4708         Made bounds check elimination iterative instead of recursive.
4709         (Chromium issue 289706)
4710
4711         Turned on i18n support by default.
4712
4713         Set the proper instance-type on HAllocate in BuildFastLiteral.
4714         (Chromium issue 284577)
4715
4716         Performance and stability improvements on all platforms.
4717
4718
4719 2013-09-18: Version 3.21.17
4720
4721         Implemented local load/store elimination on basic blocks.
4722
4723         Added mutex when accessing concurrent recompilation output queue.
4724         (Chromium issue 291236)
4725
4726         Don't lookup the cache for the result of Function::New.
4727         (Chromium issue 272579)
4728
4729         Tweaked HConstant::EmitAtUses() to eliminate useless constant
4730         generation.
4731         (Chromium issue 2881)
4732
4733         Performance and stability improvements on all platforms.
4734
4735
4736 2013-09-16: Version 3.21.16
4737
4738         Every place where AllocationMemento is initialized with an
4739         AllocationSite is now checked to be sure a valid Site goes in. This is
4740         temporary code to diagnose chromium bug 284577.
4741
4742         Performance and stability improvements on all platforms.
4743
4744
4745 2013-09-13: Version 3.21.15
4746
4747         Non-JSObject heap objects are now handled using slow-path IC stub
4748         guarded by the map.
4749         (Chromium issue 280632)
4750
4751         i18n Javascript code added to the snapshot.
4752         (V8 issue 2745)
4753
4754         Performance and stability improvements on all platforms.
4755
4756 2013-09-12: Version 3.21.14
4757
4758         Added access check for observed objects.
4759         (V8 issue 2778)
4760
4761         Cleaned up v8::ArrayBuffer::Allocator interface.
4762         (V8 issue 2823)
4763
4764         Performance and stability improvements on all platforms.
4765
4766 2013-09-11: Version 3.21.13
4767
4768         Added a ResourceConstraint for the embedder to specify that V8 is
4769         running on a memory constrained device.
4770         (Chromium issue 280984)
4771
4772         Removed HandleScope default ctor.
4773         (Chromium issue 236173)
4774
4775         Enabled escape analysis for Hydrogen.
4776
4777         Correctly stringified mixed encoding indirect strings.
4778         (Chromium issue 287476)
4779
4780         Performance and stability improvements on all platforms.
4781
4782
4783 2013-09-09: Version 3.21.12
4784
4785         Fixed bitwise negation on x64.
4786         (Chromium issue 285355)
4787
4788         Dropped GetCurrentThreadId() and TerminateExecution(int) from 
4789         the external API.
4790
4791         Fixed polymorphic INTERCEPTOR StoreICs on ARM/MIPS.
4792         (Chromium issue 284998)
4793
4794         Added check if timeout has expired after processing each sample.
4795         (issue 2814,v8:2871)
4796
4797         Removed obsolete global V8::has_been_fooed flags.
4798         (issue 2744)
4799
4800         Performance and stability improvements on all platforms.
4801
4802
4803 2013-09-05: Version 3.21.11
4804
4805         Performance and stability improvements on all platforms.
4806
4807
4808 2013-09-04: Version 3.21.10
4809
4810         Fixed Eternal::IsEmpty logic (issue 2870).
4811
4812         Performance and stability improvements on all platforms.
4813
4814
4815 2013-09-03: Version 3.21.9
4816
4817         Deprecated Persistent functions which were marked to be deprecated.
4818
4819         Allowed uncacheable identifiers to go generic (issue 2867).
4820
4821         Performance and stability improvements on all platforms.
4822
4823
4824 2013-09-02: Version 3.21.8
4825
4826         Added scriptId to StackTrace frames (issue 2865).
4827
4828         Performance and stability improvements on all platforms.
4829
4830
4831 2013-08-30: Version 3.21.7
4832
4833         Fixed casts of eternal handles.
4834
4835         Turned on global handle zapping.
4836
4837         Always visit branches during HGraph building (Chromium issue 280333).
4838
4839         Profiler changes: removed deprecated API, support higher sampling
4840         rate on Windows.
4841
4842         Performance and stability improvements on all platforms.
4843
4844
4845 2013-08-29: Version 3.21.6
4846
4847         Fixed inlined 'throw' statements interfering with live range
4848         computation. (issue 2843)
4849
4850         Performance and stability improvements on all platforms.
4851
4852
4853 2013-08-28: Version 3.21.5
4854
4855         Fixed compilation with recent MinGW64 versions. (issue 2300)
4856
4857         Added RemovePrototype to FunctionTemplate. (Chromium issue 272440)
4858
4859         Performance and stability improvements on all platforms.
4860
4861
4862 2013-08-26: Version 3.21.4
4863
4864         Lowered kInitialMaxFastElementArray constant to 95K (issue 2790).
4865
4866         Use signals for cpu profiling on Mac OS X (issue 2814).
4867
4868         Deprecated CpuProfileNode::GetSelfSamplesCount (Chromium issue 267595).
4869
4870         Added support for higher CPU profiler sampling rate on posix systems
4871         (issue 2814).
4872
4873         Worked around 'inlining failed' build error with older GCC 4.x releases.
4874
4875         Added source map support to tick processor.
4876
4877         Stability improvements on all platforms.
4878
4879
4880 2013-08-23: Version 3.21.3
4881
4882         Temporarily disabled optimization for StringWrappers to use native
4883         valueOf. (issue 2855)
4884
4885         Fixed crash on function declarations in eval inside non-trivial local
4886         scope. (issue 2594)
4887
4888         Rewrote SamplingCircularQueue. (issue 2814)
4889
4890         Fixed hidden properties on object with frozen prototype. (issue 2829)
4891
4892         Fix deoptimization bug. (Chromium issue 274164)
4893
4894         Stability improvements on all platforms.
4895
4896
4897 2013-08-22: Version 3.21.2
4898
4899         Stability improvements on all platforms.
4900
4901
4902 2013-08-21: Version 3.21.1
4903
4904         Promoted ArrayBuffer, DataView and typed arrays to non-experimental.
4905         (Chromium issue 270527)
4906
4907         Replaced OS::MemCopy with memcpy in typed array initialization.
4908         (Chromium issue 270642)
4909
4910         Moved i18n break iterator C++ code to runtime (issue 2745)
4911
4912         Fixed invalid out-of-bounds store in MacroAssembler::Allocate.
4913         (Chromium issue 263515)
4914
4915         Fixed register misuse in Allocate() on ARM. (issue 2851)
4916
4917         Fixed empty handle dereference in Runtime_InternalNumberFormat.
4918         (Chromium issue 275467)
4919
4920         Performance and stability improvements on all platforms.
4921
4922
4923 2013-08-19: Version 3.21.0
4924
4925         Fixed GC-related crasher (Chromium issue 274438)
4926
4927         Reverted making Intl non-enumerable.
4928
4929         Performance and stability improvements on all platforms.
4930
4931
4932 2013-08-14: Version 3.20.17
4933
4934         Fixed Math.round/floor that had bogus Smi representation
4935         (Chromium issue 272564)
4936
4937         Performance and stability improvements on all platforms.
4938
4939
4940 2013-08-13: Version 3.20.16
4941
4942         Fixed bug in HPhi::SimplifyConstantInput (Chromium issue 269679)
4943
4944         Fixed gcmole bugs in i18n code (issue 2745)
4945
4946         ia32: Calls to the TranscendentalCacheStub must ensure that esi is
4947         set (issue 2827)
4948
4949         Made sure polymorphic element access creates non-replaying
4950         phis. (issue 2815)
4951
4952         Allowed HPhis to have an invalid merge index. (issue 2815)
4953
4954         Fixed smi-based math floor. (Chromium issue 270268)
4955
4956         Deprecated self and total time getters and total sample count
4957         getter on CpuProfileNode. (Chromium issue 267595)
4958
4959         Fixed Object.freeze, Object.observe wrt CountOperation and
4960         CompoundAssignment. (issue 2774,2779)
4961
4962         Performance and stability improvements on all platforms.
4963
4964
4965 2013-08-07: Version 3.20.15
4966
4967         Exposed eternal handle api.
4968
4969         Bugfix to solve issues with enabling V8 typed arrays in Blink.
4970
4971         Fixed Array index dehoisting.  (Chromium issue 264203)
4972
4973         Updated Array Iterator to use numeric indexes (issue 2818)
4974
4975         Return start/end profiling time in microseconds instead of milliseconds
4976         (issue 2824)
4977
4978         Performance and stability improvements on all platforms.
4979
4980
4981 2013-08-06: Version 3.20.14
4982
4983         Added new Harmony methods to Array.prototype object.
4984         (issue 2776,v8:2777)
4985
4986         Performance and stability improvements on all platforms.
4987
4988
4989 2013-08-01: Version 3.20.12
4990
4991         Removed buggy ToNumber truncation (partial fix for issue 2813)
4992
4993         Calling Map etc without new should throw TypeError (issue 2819)
4994
4995         Fixed a crash for large code objects on ARM (Chromium issue 2736)
4996
4997         Fixed stale unhandlified value in JSObject::SetPropertyForResult.
4998         (Chromium issue 265894)
4999
5000         Added new Harmony methods to String.prototype object.
5001         (issue 2796,v8:2797,v8:2798,v8:2799)
5002
5003         Performance and stability improvements on all platforms.
5004
5005
5006 2013-07-30: Version 3.20.11
5007
5008         Performance and stability improvements on all platforms.
5009
5010
5011 2013-07-29: Version 3.20.10
5012
5013         Performance and stability improvements on all platforms.
5014
5015
5016 2013-07-26: Version 3.20.9
5017
5018         Check that ExternalString objects get aligned resources.
5019
5020         Fixed JSArray-specific length lookup in polymorphic array handling
5021         (Chromium issues 263276, 263905).
5022
5023         Performance and stability improvements on all platforms.
5024
5025
5026 2013-07-24: Version 3.20.8
5027
5028         Deprecated v8::V8::Pause/ResumeProfiler.
5029
5030         Fixed Chromium issues 247688, 258519 and 260203.
5031
5032         Performance and stability improvements on all platforms.
5033
5034
5035 2013-07-22: Version 3.20.7
5036
5037         Deprecated some debugger methods.
5038
5039         Fixed wrong bailout id in polymorphic stores (Chromium issue 259787).
5040
5041         Fixed data race in SamplingCircularQueue (Chromium issue 251218).
5042
5043         Fixed type feedback in presence of negative lookups
5044         (Chromium issue 252797).
5045
5046         Do not materialize context-allocated values for debug-evaluate
5047         (Chromium issue 259300).
5048
5049         Synchronized Compare-Literal behavior in FullCodegen and Hydrogen
5050         (Chromium issue 260345).
5051
5052         Performance and stability improvements on all platforms.
5053
5054
5055 2013-07-17: Version 3.20.6
5056
5057         Try to remove invalidated stubs before falling back to checking the
5058         constant state (Chromium issue 260585).
5059
5060         Fixed gyp_v8 to work with use_system_icu=1 (issue 2475).
5061
5062         Fixed sloppy-mode 'const' under Harmony flag (Chromium issue 173361).
5063
5064         Use internal array as API function cache  (Chromium issue 260106).
5065
5066         Fixed possible stack overflow in range analysis
5067         (Chromium issue 259452).
5068
5069         Performance and stability improvements on all platforms.
5070
5071
5072 2013-07-15: Version 3.20.5
5073
5074         Ensured that the length of frozen arrays is immutable
5075         (issue 2711, Chromium issue 259548).
5076
5077         Performance and stability improvements on all platforms.
5078
5079
5080 2013-07-10: Version 3.20.4
5081
5082         Fixed garbage-collection issue that causes a crash on ARM
5083         (Chromium issue 254570)
5084
5085         Performance and stability improvements on all platforms.
5086
5087
5088 2013-07-08: Version 3.20.3
5089
5090         Performance and stability improvements on all platforms.
5091
5092
5093 2013-07-05: Version 3.20.2
5094
5095         Remove deprecated heap profiler methods from V8 public API
5096
5097         Mark i18n functions as native and set proper names
5098         (issue 2745)
5099
5100         Correctly report stack trace when current function is FunctionApply
5101         builtin (Chromium issue 252097)
5102
5103         Enable GDBJIT interface for standalone by default.
5104
5105         Fix debuggersupport=off build. (issue 2754)
5106
5107         Introduce -m64 flag for making x64 when the default gcc compiler is for
5108         X32
5109
5110         Performance and stability improvements on all platforms.
5111
5112
5113 2013-07-02: Version 3.20.1
5114
5115         Implemented WeakMap.prototype.clear function. (issue 2753)
5116
5117         Ensure CheckInitialized is present independent of define.
5118         (Chromium issue 255779)
5119
5120         Performance and stability improvements on all platforms.
5121
5122
5123 2013-06-28: Version 3.20.0
5124
5125         Migrated several tests from blink to V8 repository.
5126
5127         Allowed users of the V8 API to distinguish between unset and undefined
5128         HiddenValues (issue 2746).
5129
5130         Deprecated old style callbacks in the V8 API.
5131
5132         Turned on parallel recompilation.
5133
5134         Performance and stability improvements on all platforms.
5135
5136
5137 2013-06-18: Version 3.19.18
5138
5139         Fixed read-only attribute of Function.length in strict mode.
5140         (issue 2705)
5141
5142         Fixed Runtime_SetProperty to properly handle OOM failures
5143         (Chromium issue 249873)
5144
5145         Emit deprecated check for constant function transitions.
5146         (Chromium issue 250609)
5147         
5148         Made MathFloorOfDiv optimization trigger more often
5149         (Issue 2205)
5150
5151         Make more GCs in idle notification handler.
5152         (Chromium issue 241815)
5153
5154         Increased default type info threshold.
5155         (Issue 2730)
5156
5157         Performance and stability improvements on all platforms.
5158
5159
5160 2013-06-14: Version 3.19.16
5161
5162         Performance and stability improvements on all platforms.
5163
5164
5165 2013-06-13: Version 3.19.15
5166
5167         Performance and stability improvements on all platforms.
5168
5169
5170 2013-06-13: Version 3.19.14
5171
5172         Fixed crashes when calling new Array(a) with a single argument that
5173         could result in creating a holey array with a packed elements kind.
5174         (Chromium issue 245480)
5175
5176         Fixed issues in parallel compilation.
5177         (Chromium issue 248076)
5178
5179         Performance and stability improvements on all platforms.
5180
5181
5182 2013-06-11: Version 3.19.13
5183
5184         Performance and stability improvements on all platforms.
5185
5186
5187 2013-06-10: Version 3.19.12
5188
5189         Fixed arguments array access. (Chromium issue 247303)
5190
5191         Fixed bug in LookupForWrite. (Chromium issue 242332)
5192
5193         Performance and stability improvements on all platforms.
5194
5195
5196 2013-06-07: Version 3.19.11
5197
5198         Performance and stability improvements on all platforms.
5199
5200
5201 2013-06-06: Version 3.19.10
5202
5203         Performance and stability improvements on all platforms.
5204
5205
5206 2013-06-05: Version 3.19.9
5207
5208         Implemented Load IC support for loading properties from primitive
5209         values to avoid perpetual soft deopts.  (Chromium issue 242512)
5210
5211         Implemented Freeing of PerThreadAssertData when possible to avoid
5212         memory leak. (Chromium issue 246567)
5213
5214         Removed V8_USE_OLD_STYLE_PERSISTENT_HANDLE_VISITORS.
5215
5216         Performance and stability improvements on all platforms.
5217
5218
5219 2013-06-03: Version 3.19.8
5220
5221         Fixed bug with inlining 'Array' function. (Chromium issue 244461)
5222
5223         Fixed initialization of literal objects. (Chromium issue 245424)
5224
5225         Fixed function name inferred inside closures. (Chromium issue 224884)
5226
5227         Performance and stability improvements on all platforms.
5228
5229
5230 2013-05-31: Version 3.19.7
5231
5232         Added support for //# sourceURL similar to deprecated //@ sourceURL one.
5233         (issue 2702)
5234
5235         Made sure IfBuilder::Return clears the current block.
5236         (Chromium issue 243868)
5237
5238         Fixed two CPU profiler tests on ARM and MIPS simulators
5239         (issue 2628)
5240
5241         Fixed idle incremental GC for large objects.
5242         (Chromium issue 241815)
5243
5244         Disabled --optimize-constructed-arrays due to crashes
5245         (Chromium issue 244461)
5246
5247         Performance and stability improvements on all platforms.
5248
5249
5250 2013-05-28: Version 3.19.6
5251
5252         Fixed IfBuilder::Deopt to clear the current block
5253         (Chromium issue 243868).
5254
5255         Performance and stability improvements on all platforms.
5256
5257
5258 2013-05-27: Version 3.19.5
5259
5260         Reset regexp parser flag after scanning ahead for capture groups.
5261         (issue 2690)
5262
5263         Removed flakiness in test-cpu-profiler/SampleWhenFrameIsNotSetup.
5264         (issue 2628)
5265
5266         Performance and stability improvements on all platforms.
5267
5268
5269 2013-05-24: Version 3.19.4
5270
5271         Fixed edge case in stack trace formatting. (Chromium issue 237617)
5272
5273         Fixed embedded new-space pointer in LCmpObjectEqAndBranch. (Chromium
5274         issue 240032)
5275
5276         Made Object.freeze fast (issue 1858, Chromium issue 115960)
5277
5278         Fixed bogus deopt in BuildEmitDeepCopy for holey arrays. (Chromium issue
5279         242924)
5280
5281         Performance and stability improvements on all platforms.
5282
5283
5284 2013-05-22: Version 3.19.3
5285
5286         Performance and stability improvements on all platforms.
5287
5288
5289 2013-05-17: Version 3.19.2
5290
5291         Fill in one-word-fillers for the unused property fields
5292         (Chromium issue 240056).
5293
5294         Removed use_system_v8 logic from the mainline gyp file
5295         (Chromium issue 226860).
5296
5297         Skip CPU profiler samples where top function's stack frame is not
5298         set up properly (issue 2628).
5299
5300         Performance and stability improvements on all platforms.
5301
5302
5303 2013-05-14: Version 3.19.1
5304
5305         Fixed missing hole check for loads from Smi arrays when all uses are
5306         changes (Chromium issue 233737)
5307
5308         Performance and stability improvements on all platforms.
5309
5310
5311 2013-05-10: Version 3.19.0
5312
5313         Deprecated Context::New which returns Persistent.
5314
5315         Added Persistent<T>::Reset which disposes the handle and redirects it to
5316         point to another object.
5317
5318         Deprecated WriteAscii and MayContainNonAscii.
5319
5320         Exposed AssertNoAllocation to API.
5321
5322         Performance and stability improvements on all platforms.
5323
5324
5325 2013-04-30: Version 3.18.5
5326
5327         Allowed setting debugger breakpoints on CompareNilICs (issue 2660)
5328
5329         Fixed beyond-heap load on x64 Crankshafted StringCharFromCode
5330         (Chromium issue 235311)
5331
5332         Change 'Parse error' to three more informative messages.
5333         (Chromium issue 2636)
5334
5335         Performance and stability improvements on all platforms.
5336
5337
5338 2013-04-26: Version 3.18.4
5339
5340         Added a preliminary API for ES6 ArrayBuffers
5341
5342         Replaced qsort with std::sort. (Chromium issue 2639)
5343
5344         Performance and stability improvements on all platforms.
5345
5346
5347 2013-04-24: Version 3.18.3
5348
5349         Exposed the GC under a name that is less collision prone than window.gc.
5350         (issue 2641)
5351
5352         Do not emit double values at their use sites. (Chromium issue 234101)
5353
5354         Added methods to allow resuming execution after calling
5355         TerminateExecution(). (issue 2361)
5356
5357         Performance and stability improvements on all platforms.
5358
5359
5360 2013-04-22: Version 3.18.2
5361
5362         OS::MemMove/OS::MemCopy: Don't call through to generated code when size
5363         == 0 to avoid prefetching invalid memory (Chromium issue 233500)
5364
5365         Removed heap snapshot size limit. (Chromium issue 232305)
5366
5367         Performance and stability improvements on all platforms.
5368
5369
5370 2013-04-18: Version 3.18.1
5371
5372         Removed SCons related files and deprecated test suite configurations.
5373
5374         Improved handling of unary plus (issue 2527).
5375
5376         Performance and stability improvements on all platforms.
5377
5378
5379 2013-04-17: Version 3.18.0
5380
5381         Enabled pretenuring of fast literals in high promotion mode.
5382
5383         Removed preparser library; link preparser executable against full V8.
5384
5385         Fixed set-up of intrinsic's 'constructor' properties.
5386         (Chromium issue 229445)
5387
5388         ES6 symbols: extended V8 API to support symbols (issue 2158).
5389
5390         Removed ARM support for VFP2.
5391
5392         Made __proto__ a real JavaScript accessor property.
5393         (issue 1949 and issue 2606)
5394
5395         Performance and stability improvements on all platforms.
5396
5397
5398 2013-04-04: Version 3.17.16
5399
5400         Stack trace API: poison stack frames below the first strict mode frame.
5401         (issue 2564)
5402
5403         Made Isolate::GetHeapStatistics robust against half-initialized
5404         isolates (Chromium issue 2591).
5405
5406         Finished implementation of ES6 symbols aka. private names (issue 2158).
5407
5408         Performance and stability improvements on all platforms.
5409
5410
5411 2013-03-21: Version 3.17.15
5412
5413         Rolled back API changes to maintain compatibility with older
5414         3.17.x versions of V8.
5415
5416         Disable zapping of global handles in release mode.
5417
5418         Always mark the entire valid prefix of the descriptor array.
5419         (Chromium issue 196331)
5420
5421         Use internal memcpy for CopyWords and when copying code.
5422         (Chromium issue 196330)
5423
5424         Performance and stability improvements on all platforms.
5425
5426
5427 2013-03-20: Version 3.17.14
5428
5429         Use internal memcpy when initializing code objects.
5430         (Chromium issue 196330)
5431
5432         Disabled weak embedded maps because of crashes.
5433         (Chromium issues 172489, 217858)
5434
5435         Performance and stability improvements on all platforms.
5436
5437
5438 2013-03-19: Version 3.17.13
5439
5440         Turned Flags into a uint32_t typedef (Chromium issue 194749).
5441
5442         Performance and stability improvements on all platforms.
5443
5444
5445 2013-03-18: Version 3.17.12
5446
5447         Unified kMaxArguments with number of bits used to encode it.
5448         (Chromium issue 211741)
5449
5450         Fixed detection of |handle_smi| case in
5451         HOptimizedGraphBuilder::HandlePolymorphicCallNamed.
5452         (Chromium issue 196583)
5453
5454         Performance and stability improvements on all platforms.
5455
5456
5457 2013-03-15: Version 3.17.11
5458
5459         Added a version of the v8::HandleScope constructor with an v8::Isolate
5460         parameter and made AdjustAmountOfExternalAllocatedMemory an instance
5461         method of v8::Isolate.
5462         (issue 2487)
5463
5464         Fixed two register allocator bugs (off-by-one error/failure
5465         propagation). (issue 2576)
5466
5467         Fixed huge heap snapshot when a heavily shared context has many
5468         variables. (Chromium issue 145687)
5469
5470         Performance and stability improvements on all platforms.
5471
5472
5473 2013-03-13: Version 3.17.10
5474
5475         Fixed heap snapshot creation for Harmony collections. (issue 2535)
5476
5477         Fixed register allocation corner case. (Chromium issue 177883)
5478
5479         Performance and stability improvements on all platforms.
5480
5481
5482 2013-03-08: Version 3.17.9
5483
5484         Restored Function()'s expected string representation. (issue 2470)
5485
5486         Enabled deprecatations (again). (issue 2487)
5487
5488         Avoid bool to Oddball conversions by being lazy. (issue 2491)
5489
5490         Added %p option to --logfile.
5491
5492         Hardened Function()'s parsing of function literals. (issue 2470)
5493
5494         ES6 symbols: Refine test for getOwnPropertyNames. (issue 2158)
5495
5496         Performance and stability improvements on all platforms.
5497
5498
5499 2013-03-07: Version 3.17.8
5500
5501         Added missing license headers. (Chromium issue 98597)
5502
5503         Inserted missing type cast in JSON.stringify. (issue 2570)
5504
5505         Reverted "Send SIGPROF signals on the profiler event processor thread"
5506         (issue 2571)
5507
5508         Fixed Array.length, String.length and Function.prototype LoadICs on x64.
5509         (issue 2568)
5510
5511         ES6 symbols: filter symbols form for-in loops and Object.keys.
5512         (issue 2158)
5513
5514         Properly handle misses for StoreArrayLengthStub on ia32 and x64
5515         (issue 2566)
5516
5517         Fixed x32 handling of Atomic64. (Chromium issue chromium-os:36866)
5518
5519         Removed "library" variable from standalone.gypi. (Chromium issue 111541)
5520
5521         Fixed HCheckSmiOrInt <-> HBoundsCheck interaction wrt. representations.
5522         (issue 2556)
5523
5524         Enabled zapping of disposed global handles in release mode.
5525         (Chromium issue 176056)
5526
5527         Added workaround for redefinition of __proto__ property. (issue 2565)
5528
5529         ES6 symbols: Allow symbols as property names. (issue 2158)
5530
5531         Performance and stability improvements on all platforms.
5532
5533
5534 2013-03-04: Version 3.17.7
5535
5536         Limited recursion in regexp compilation by a budget.
5537         (Chromium issue 178790)
5538
5539         ES6 symbols: Implemented Symbol intrinsic and basic functionality
5540         (issue 2158)
5541
5542         Performance and stability improvements on all platforms.
5543
5544
5545 2013-02-28: Version 3.17.6
5546
5547         Fixed materialization of arguments objects with unknown values.
5548         (Chromium issue 163530)
5549
5550         Set default number of sweeper threads to at most four.
5551
5552         Performance and stability improvements on all platforms.
5553
5554
5555 2013-02-27: Version 3.17.5
5556
5557         Made __proto__ a foreign callback on Object.prototype.
5558         (issue 621, issue 1949 and issue 2441)
5559
5560         Performance and stability improvements on all platforms.
5561
5562
5563 2013-02-25: Version 3.17.4
5564
5565         Performance and stability improvements on all platforms.
5566
5567
5568 2013-02-21: Version 3.17.3
5569
5570         Performance and stability improvements on all platforms.
5571
5572
5573 2013-02-19: Version 3.17.2
5574
5575         Removed bogus check for TOP register in deoptimizer.
5576         (Chromium issue 176943)
5577
5578         Made the Isolate parameter mandatory for internal HandleScopes.
5579         (issue 2487)
5580
5581         Fixed f.apply() optimization when declared arguments are mutated.
5582         (issue 2539)
5583
5584         Performance and stability improvements on all platforms.
5585
5586
5587 2013-02-14: Version 3.17.1
5588
5589         Performance and stability improvements on all platforms.
5590
5591
5592 2013-02-13: Version 3.17.0
5593
5594         Enabled parallel sweeping.
5595
5596         Don't try to unlink instructions twice during GVN
5597         (Chromium issue 175141)
5598
5599         Fixed code flusher disabling while marking incrementally.
5600         (Chromium issue 173458, 168582)
5601
5602         Don't use TLS for space iterators.
5603         (issue 2531)
5604
5605         Added new GetHeapStatistics API entry and deprecated old one.
5606
5607         Fixed DoubleStackSlot-to-DoubleStackSlot moves on ia32. Unified
5608         platform-independent code.
5609         (Chromium issue 173907)
5610
5611         Added --trace-array-abuse to help find OOB accesses.
5612
5613         Performance and stability improvements on all platforms.
5614
5615
5616 2013-02-06: Version 3.16.14
5617
5618         Performance and stability improvements on all platforms.
5619
5620
5621 2013-02-04: Version 3.16.13
5622
5623         Tagged stubs that rely on instance types as MEGAMORPHIC.
5624         (Chromium issue 173974)
5625
5626         Fixed clearing of dead dependent codes and verifing of weak
5627         embedded maps on full GC. (Chromium issue 172488,172489)
5628
5629         Made the arm port build cleanly with Clang.
5630
5631         Performance and stability improvements on all platforms.
5632
5633
5634 2013-01-31: Version 3.16.12
5635
5636         Performance and stability improvements on all platforms.
5637
5638
5639 2013-01-30: Version 3.16.11
5640
5641         Put making embedded maps in optimized code weak behind a flag.
5642         (Chromium issue 172488,172489)
5643
5644         Performance and stability improvements on all platforms.
5645
5646
5647 2013-01-25: Version 3.16.10
5648
5649         Avoid excessive memory usage during redundant phi elimination.
5650         (issue 2510)
5651
5652         Fixed additional spec violations wrt RegExp.lastIndex.
5653         (issue 2437)
5654
5655         Added Isolate parameter to Persistent class.
5656         (issue 2487)
5657
5658         Performance and stability improvements on all platforms.
5659
5660
5661 2013-01-24: Version 3.16.9
5662
5663         Made embedded maps in optimized code weak.
5664         (issue 2073)
5665
5666         Fixed corner case when JSFunction is evicted from flusher.
5667         (Chromium issue 168801)
5668
5669         Correctly set kCanBeDivByZero flag for HMathFloorOfDiv.
5670         (Chromium issue 171641)
5671
5672         Performance and stability improvements on all platforms.
5673
5674
5675 2013-01-23: Version 3.16.8
5676
5677         Correctly reset lastIndex in an RegExp object.
5678         (Chromium issue 170856)
5679
5680         Added a workaround for Windows compilation problems related to V8EXPORT.
5681         (issue 2507)
5682
5683         tools/run-tests.py: shlex.split() the value of --command-prefix
5684         (Chromium issue 171553)
5685
5686         Fixed pattern detection for replacing shifts by rotation.
5687         (Chromium issue 2499)
5688
5689         Performance and stability improvements on all platforms.
5690
5691
5692 2013-01-21: Version 3.16.7
5693
5694         Removed <(library) usage from v8.gyp.
5695         (Chromium issue 111541)
5696
5697         Fixed out of bounds memory access in TestJSArrayForAllocationSiteInfo.
5698         (Chromium issue 169928)
5699
5700         Performance and stability improvements on all platforms.
5701
5702
5703 2013-01-18: Version 3.16.6
5704
5705         Made the Isolate parameter mandatory in Locker and Unlocker classes.
5706         (issue 2487)
5707
5708         Avoid pointer underflow in CopyCharsUnsigned.
5709         (issue 2493)
5710
5711         Generate shim headers when using system v8.
5712         (Chromium issue 165264)
5713
5714         Fixed arguments materialization for inlined apply().
5715         (issue 2489)
5716
5717         Sync'ed laziness between BuildFunctionInfo and MakeFunctionInfo.
5718         (Chromium issue 147497)
5719
5720         Added sanity check to CodeFlusher::AddCandidate.
5721         (Chromium issue 169209)
5722
5723         Performance and stability improvements on all platforms.
5724
5725
5726 2013-01-15: Version 3.16.5
5727
5728         Removed deprecated functions from V8's external API.
5729
5730         Prepared API for WebKit use of Latin-1.
5731
5732         Fixed V8 issue 2486.
5733
5734         Fixed Chromium issue 169723.
5735
5736         Performance and stability improvements on all platforms.
5737
5738
5739 2013-01-11: Version 3.16.4
5740
5741         Fixed Chromium issues 168545 and 169209.
5742
5743         Performance and stability improvements on all platforms.
5744
5745
5746 2013-01-09: Version 3.16.3
5747
5748         Improved GC performance when moving parts of a FixedArray (issue 2452).
5749
5750         Enabled readline on d8 while building a shared lib (issue 1781).
5751
5752         Fixed missing exception check in typed array constructor
5753         (Chromium issue 168545).
5754
5755         Check for read-only-ness when preparing for array sort (issue 2419).
5756
5757         Performance and stability improvements on all platforms.
5758
5759
5760 2013-01-04: Version 3.16.2
5761
5762         Added Makefile options to build for the Raspberry Pi (armv7=0,
5763         arm_fpu=vfp2).
5764
5765         Performance and stability improvements on all platforms.
5766
5767
5768 2012-12-27: Version 3.16.1
5769
5770         Fixed x64 MathMinMax for negative untagged int32 arguments.
5771         (Chromium issue 164442)
5772
5773         Fixed FloatingPointHelper::CheckSSE2OperandIsInt32.
5774         (issue 2458)
5775
5776         Performance and stability improvements on all platforms.
5777
5778
5779 2012-12-21: Version 3.16.0
5780
5781         V8_Fatal now prints C++ stack trace in debug mode.
5782
5783         Added HTML-based tick processor.
5784
5785         Continued implementation of Object.observe (V8 issue 2409).
5786
5787         Fixed V8 issues 2243, 2340, 2393, 2399, 2457.
5788
5789         Fixed Chromium issues 125308, 165637, 166379, 166553.
5790
5791         Performance and stability improvements on all platforms.
5792
5793
5794 2012-12-10: Version 3.15.11
5795
5796         Define CAN_USE_VFP2/3_INSTRUCTIONS based on arm_neon and arm_fpu GYP
5797         flags.
5798
5799         Performance and stability improvements on all platforms.
5800
5801
5802 2012-12-07: Version 3.15.10
5803
5804         Enabled optimisation of functions inside eval. (issue 2315)
5805
5806         Fixed spec violations in methods of Number.prototype. (issue 2443)
5807
5808         Added GCTracer metrics for a scavenger GC for DOM wrappers.
5809
5810         Performance and stability improvements on all platforms.
5811
5812
5813 2012-12-06: Version 3.15.9
5814
5815         Fixed candidate eviction in code flusher.
5816         (Chromium issue 159140)
5817
5818         Iterate through all arguments for side effects in Math.min/max.
5819         (issue 2444)
5820
5821         Fixed spec violations related to regexp.lastIndex
5822         (issue 2437, issue 2438)
5823
5824         Performance and stability improvements on all platforms.
5825
5826
5827 2012-12-04: Version 3.15.8
5828
5829         Enforced stack allocation of TryCatch blocks.
5830         (issue 2166,chromium:152389)
5831
5832         Fixed external exceptions in external try-catch handlers.
5833         (issue 2166)
5834
5835         Activated incremental code flushing by default.
5836
5837         Performance and stability improvements on all platforms.
5838
5839
5840 2012-11-30: Version 3.15.7
5841
5842         Activated code aging by default.
5843
5844         Included more information in --prof log.
5845
5846         Removed eager sweeping for lazy swept spaces. Try to find in
5847         SlowAllocateRaw a bounded number of times a big enough memory slot.
5848         (issue 2194)
5849
5850         Performance and stability improvements on all platforms.
5851
5852
5853 2012-11-26: Version 3.15.6
5854
5855         Ensure double arrays are filled with holes when extended from
5856         variations of empty arrays. (Chromium issue 162085)
5857
5858         Performance and stability improvements on all platforms.
5859
5860
5861 2012-11-23: Version 3.15.5
5862
5863         Fixed JSON.stringify for objects with interceptor handlers.
5864         (Chromium issue 161028)
5865
5866         Fixed corner case in x64 compare stubs. (issue 2416)
5867
5868         Performance and stability improvements on all platforms.
5869
5870
5871 2012-11-16: Version 3.15.4
5872
5873         Fixed Array.prototype.join evaluation order. (issue 2263)
5874
5875         Perform CPU sampling by CPU sampling thread only iff processing thread
5876         is not running. (issue 2364)
5877
5878         When using an Object as a set in Object.getOwnPropertyNames, null out
5879         the proto. (issue 2410)
5880
5881         Disabled EXTRA_CHECKS in Release build.
5882
5883         Heap explorer: Show representation of strings.
5884
5885         Removed 'type' and 'arguments' properties from Error object.
5886         (issue 2397)
5887
5888         Added atomics implementation for ThreadSanitizer v2.
5889         (Chromium issue 128314)
5890
5891         Fixed LiveEdit crashes when object/array literal is added. (issue 2368)
5892
5893         Performance and stability improvements on all platforms.
5894
5895
5896 2012-11-13: Version 3.15.3
5897
5898         Changed sample shell to send non-JS output (e.g. errors) to stderr
5899         instead of stdout.
5900
5901         Correctly check for stack overflow even when interrupt is pending.
5902         (issue 214)
5903
5904         Collect stack trace on stack overflow. (issue 2394)
5905
5906         Performance and stability improvements on all platforms.
5907
5908
5909 2012-11-12: Version 3.15.2
5910
5911         Function::GetScriptOrigin supplies sourceURL when script name is
5912         not available.  (Chromium issue 159413)
5913
5914         Made formatting error message side-effect-free.  (issue 2398)
5915
5916         Fixed length check in JSON.stringify.  (Chromium issue 160010)
5917
5918         ES6: Added support for Set and Map clear method (issue 2400)
5919
5920         Fixed slack tracking when instance prototype changes.
5921         (Chromium issue 157019)
5922
5923         Fixed disabling of code flusher while marking.  (Chromium issue 159140)
5924
5925         Added a test case for object grouping in a scavenger GC (issue 2077)
5926
5927         Support shared library build of Android for v8.
5928         (Chromium issue 158821)
5929
5930         ES6: Added support for size to Set and Map (issue 2395)
5931
5932         Performance and stability improvements on all platforms.
5933
5934
5935 2012-11-06: Version 3.15.1
5936
5937         Put incremental code flushing behind a flag. (Chromium issue 159140)
5938
5939         Performance and stability improvements on all platforms.
5940
5941
5942 2012-10-31: Version 3.15.0
5943
5944         Loosened aligned code target requirement on ARM (issue 2380)
5945
5946         Fixed JSON.parse to treat leading zeros correctly.
5947         (Chromium issue 158185)
5948
5949         Performance and stability improvements on all platforms.
5950
5951
5952 2012-10-22: Version 3.14.5
5953
5954         Killed off the SCons based build.
5955
5956         Added a faster API for creating v8::Integer objects.
5957
5958         Speeded up function deoptimization by avoiding quadratic pass over
5959         optimized function list. (Chromium issue 155270)
5960
5961         Always invoke the default Array.sort functions from builtin functions.
5962         (issue 2372)
5963
5964         Reverted recent CPU profiler changes because they broke --prof.
5965         (issue 2364)
5966
5967         Switched code flushing to use different JSFunction field.
5968         (issue 1609)
5969
5970         Performance and stability improvements on all platforms.
5971
5972
5973 2012-10-15: Version 3.14.4
5974
5975         Allow evals for debugger even if they are prohibited in the debugee
5976         context. (Chromium issue 154733)
5977
5978         Enabled --verify-heap in release mode (issue 2120)
5979
5980         Performance and stability improvements on all platforms.
5981
5982
5983 2012-10-11: Version 3.14.3
5984
5985         Use native context to retrieve ErrorMessageForCodeGenerationFromStrings
5986         (Chromium issue 155076).
5987
5988         Bumped variable limit further to 2^17 (Chromium issue 151625).
5989
5990         Performance and stability improvements on all platforms.
5991
5992
5993 2012-10-10: Version 3.14.2
5994
5995         ARM: allowed VFP3 instructions when hardfloat is enabled.
5996         (Chromium issue 152506)
5997
5998         Fixed instance_descriptors() and PushStackTraceAndDie regressions.
5999         (Chromium issue 151749)
6000
6001         Made GDBJIT interface compile again. (issue 1804)
6002
6003         Fixed Accessors::FunctionGetPrototype's proto chain traversal.
6004         (Chromium issue 143967)
6005
6006         Made sure that names of temporaries do not clash with real variables.
6007         (issue 2322)
6008
6009         Rejected local module declarations. (Chromium issue 150628)
6010
6011         Rejected uses of lexical for-loop variable on the RHS. (issue 2322)
6012
6013         Fixed slot recording of code target patches.
6014         (Chromium issue 152615,chromium:144230)
6015
6016         Changed the Android makefile to use GCC 4.6 instead of GCC 4.4.3.
6017
6018         Performance and stability improvements on all platforms.
6019
6020
6021 2012-10-01: Version 3.14.1
6022
6023         Don't set -m32 flag when compiling with Android ARM compiler.
6024         (Chromium issue 143889)
6025
6026         Restore the descriptor array before returning allocation failure.
6027         (Chromium issue 151750)
6028
6029         Lowered kMaxVirtualRegisters (v8 issue 2139, Chromium issues 123822 and
6030         128252).
6031
6032         Pull more recent gyp in 'make dependencies'.
6033
6034         Made sure that the generic KeyedStoreIC changes length and element_kind
6035         atomically (issue 2346).
6036
6037         Bumped number of allowed variables per scope to 65535, to address GWT.
6038         (Chromium issue 151625)
6039
6040         Support sourceURL for dynamically inserted scripts (issue 2342).
6041
6042         Performance and stability improvements on all platforms.
6043
6044
6045 2012-09-20: Version 3.14.0
6046
6047         Fixed missing slot recording during clearing of CallICs.
6048         (Chromium issue 144230)
6049
6050         Fixed LBoundsCheck on x64 to handle (stack slot + constant) correctly.
6051         (Chromium issue 150729)
6052
6053         Fixed minus zero test. (Issue 2133)
6054
6055         Fixed setting array length to zero for slow elements.
6056         (Chromium issue 146910)
6057
6058         Fixed lost arguments dropping in HLeaveInlined.
6059         (Chromium issue 150545)
6060
6061         Fixed casting error for receiver of interceptors.
6062         (Chromium issue 149912)
6063
6064         Throw a more descriptive exception when blocking 'eval' via CSP.
6065         (Chromium issue 140191)
6066
6067         Fixed debugger's eval when close to stack overflow. (issue 2318)
6068
6069         Added checks to live edit. (issue 2297)
6070
6071         Switched on code compaction on incremental GCs.
6072
6073         Fixed caching of optimized code for OSR. (issue 2326)
6074
6075         Not mask exception thrown by toString in String::UtfValue etc.
6076         (issue 2317)
6077
6078         Fixed API check for length of external arrays. (Chromium issue 148896)
6079
6080         Ensure correct enumeration indices in the dict (Chromium issue 148376)
6081
6082         Correctly initialize regexp global cache. (Chromium issue 148378)
6083
6084         Fixed arguments object materialization during deopt. (issue 2261)
6085
6086         Introduced new API to expose external string resource regardless of
6087         encoding.
6088
6089         Fixed CHECK failure in LCodeGen::DoWrapReceiver when
6090         --deopt-every-n-times flag is present
6091         (Chromium issue 148389)
6092
6093         Fixed edge case of extension with NULL as source string.
6094         (Chromium issue 144649)
6095
6096         Fixed array index dehoisting. (Chromium issue 141395)
6097
6098         Performance and stability improvements on all platforms.
6099
6100
6101 2012-09-11: Version 3.13.7
6102
6103         Enable/disable LiveEdit using the (C++) debug API.
6104
6105         Performance and stability improvements on all platforms.
6106
6107
6108 2012-09-06: Version 3.13.6
6109
6110         Added validity checking to API functions and calls.
6111
6112         Disabled accessor inlining (Chromium issue 134609).
6113
6114         Fixed bug in Math.min/max in optimized code (Chromium issue 145961).
6115
6116         Directly use %ObjectKeys in json stringify (Chromium issue 2312).
6117
6118         Fixed VS2005 build (issue 2313).
6119
6120         Activated fixed ES5 readonly semantics by default.
6121
6122         Added hardfp flag to the Makefile.
6123
6124         Performance and stability improvements on all platforms.
6125
6126
6127 2012-08-29: Version 3.13.5
6128
6129         Release stack trace data after firing Error.stack accessor.
6130         (issue 2308)
6131
6132         Added a new API V8::SetJitCodeEventHandler to push code name and
6133         location to users such as profilers.
6134
6135         Allocate block-scoped global bindings to global context.
6136
6137         Performance and stability improvements on all platforms.
6138
6139
6140 2012-08-28: Version 3.13.4
6141
6142         Print reason for disabling optimization. Kill --trace-bailout flag.
6143
6144         Provided option to disable full DEBUG build on Android.
6145
6146         Introduced global contexts to represent lexical global scope(s).
6147
6148         Fixed rounding in Uint8ClampedArray setter. (issue 2294)
6149
6150         Performance and stability improvements on all platforms.
6151
6152
6153 2012-08-21: Version 3.13.3
6154
6155         Performance and stability improvements on all platforms.
6156
6157
6158 2012-08-20: Version 3.13.2
6159
6160         Performance and stability improvements on all platforms.
6161
6162
6163 2012-08-16: Version 3.13.1
6164
6165         Performance and stability improvements on all platforms.
6166
6167
6168 2012-08-10: Version 3.13.0
6169
6170         Added histograms for total allocated/live heap size, as well as
6171         allocated size and percentage of total for map and cell space.
6172
6173         Fixed parseInt's octal parsing behavior (ECMA-262 Annex E 15.1.2.2).
6174         (issue 1645)
6175
6176         Added checks for interceptors to negative lookup code in Crankshaft.
6177         (Chromium issue 140473)
6178
6179         Made incremental marking clear ICs and type feedback cells.
6180
6181         Performance and stability improvements on all platforms.
6182
6183
6184 2012-08-01: Version 3.12.19
6185
6186         Performance and stability improvements on all platforms.
6187
6188
6189 2012-07-30: Version 3.12.18
6190
6191         Forced using bit-pattern for signed zero double. (issue 2239)
6192
6193         Made sure double to int conversion is correct. (issue 2260)
6194
6195         Performance and stability improvements on all platforms.
6196
6197
6198 2012-07-27: Version 3.12.17
6199
6200         Always set the callee's context when calling a function from optimized
6201         code.
6202         (Chromium issue 138887)
6203
6204         Fixed building with GCC 3.x
6205         (issue 2016, 2017)
6206
6207         Improved API calls that return empty handles.
6208         (issue 2245)
6209
6210         Performance and stability improvements on all platforms.
6211
6212
6213 2012-07-25: Version 3.12.16
6214
6215         Performance and stability improvements on all platforms.
6216
6217
6218 2012-07-24: Version 3.12.15
6219
6220         Added PRESERVE_ASCII_NULL option to String::WriteAscii.
6221         (issue 2252)
6222
6223         Added dependency to HLoadKeyed* instructions to prevent invalid
6224         hoisting. (Chromium issue 137768)
6225
6226         Enabled building d8 for Android on Mac.
6227
6228         Interpret negative hexadecimal literals as NaN.
6229         (issue 2240)
6230
6231         Expose counters in javascript when using --track-gc-object-stats.
6232
6233         Enabled building and testing V8 on Android IA.
6234
6235         Added --trace-parse flag to parser.
6236
6237         Performance and stability improvements on all platforms.
6238
6239
6240 2012-07-18: Version 3.12.14
6241
6242         Deactivated optimization of packed arrays.
6243         (Chromium issue 137768)
6244
6245         Fixed broken accessor transition.
6246         (Chromium issue 137689)
6247
6248         Performance and stability improvements on all platforms.
6249
6250
6251 2012-07-17: Version 3.12.13
6252
6253         Fixed missing tagging of stack value in finally block.
6254         (Chromium issue 137496)
6255
6256         Added more support for heap analysis.
6257
6258         Performance and stability improvements on all platforms.
6259
6260
6261 2012-07-16: Version 3.12.12
6262
6263         Added an option to the tickprocessor to specify the directory for lib
6264         lookup.
6265
6266         Fixed ICs for slow objects with native accessor (Chromium issue 137002).
6267
6268         Fixed transcendental cache on ARM in optimized code (issue 2234).
6269
6270         New heap inspection tools: counters for object sizes and counts,
6271         histograms for external fragmentation.
6272
6273         Incorporated constness into inferred interfaces (in preparation for
6274         handling imports) (issue 1569).
6275
6276         Performance and stability improvements on all platforms.
6277
6278
6279 2012-07-12: Version 3.12.11
6280
6281         Renamed "mips" arch to "mipsel" in the GYP build.
6282
6283         Fixed computation of call targets on prototypes in Crankshaft.
6284         (Chromium issue 125148)
6285
6286         Removed use of __lookupGetter__ when generating stack trace.
6287         (issue 1591)
6288
6289         Turned on ES 5.2 globals semantics by default.
6290         (issue 1991, Chromium issue 80591)
6291
6292         Synced preparser and parser wrt syntax error in switch..case.
6293         (issue 2210)
6294
6295         Fixed reporting of octal literals in strict mode when preparsing.
6296         (issue 2220)
6297
6298         Fixed inline constructors for Harmony Proxy prototypes.
6299         (issue 2225)
6300
6301         Performance and stability improvements on all platforms.
6302
6303
6304 2012-07-10: Version 3.12.10
6305
6306         Re-enabled and fixed issue with array bounds check elimination
6307         (Chromium issue 132114).
6308
6309         Fixed Debug::Break crash. (Chromium issue 131642)
6310
6311         Added optimizing compiler support for JavaScript getters.
6312
6313         Performance and stability improvements on all platforms.
6314
6315
6316 2012-07-06: Version 3.12.9
6317
6318         Correctly advance the scanner when scanning unicode regexp flag.
6319         (Chromium issue 136084)
6320
6321         Fixed unhandlified code calling Harmony Proxy traps.
6322         (issue 2219)
6323
6324         Performance and stability improvements on all platforms.
6325
6326
6327 2012-07-05: Version 3.12.8
6328
6329         Implemented TypedArray.set and ArrayBuffer.slice in d8.
6330
6331         Performance and stability improvements on all platforms.
6332
6333
6334 2012-07-03: Version 3.12.7
6335
6336         Fixed lazy compilation for strict eval scopes.
6337         (Chromium issue 135066)
6338
6339         Made MACOSX_DEPLOYMENT_TARGET configurable in GYP.
6340         (issue 2151)
6341
6342         Report "hidden properties" in heap profiler for properties case.
6343         (issue 2212)
6344
6345         Activated optimization of packed arrays by default.
6346
6347         Performance and stability improvements on all platforms.
6348
6349
6350 2012-06-29: Version 3.12.6
6351
6352         Cleaned up hardfp ABI detection for ARM (V8 issue 2140).
6353
6354         Extended TypedArray support in d8.
6355
6356
6357 2012-06-28: Version 3.12.5
6358
6359         Fixed lazy parsing heuristics to respect outer scope.
6360         (Chromium issue 135008)
6361
6362         Allow using test-wrapper-gypbuild.py on Windows when no python
6363         interpreter is registered.
6364
6365         Performance and stability improvements on all platforms.
6366
6367
6368 2012-06-27: Version 3.12.4
6369
6370         Removed -fomit-frame-pointer flag from Release builds to make
6371         the stack walkable by TCMalloc (Chromium issue 133723).
6372
6373         Ported r7868 (constant masking) to x64 (issue 1374).
6374
6375         Expose more detailed memory statistics (issue 2201).
6376
6377         Fixed Harmony Maps and WeakMaps for undefined values
6378         (Chromium issue 132744).
6379
6380         Correctly throw reference error in strict mode with ICs disabled
6381         (issue 2119).
6382
6383         Performance and stability improvements on all platforms.
6384
6385
6386 2012-06-25: Version 3.12.3
6387
6388         Reverted r11835 'Unify promotion and allocation limit computation' due
6389         to V8 Splay performance regression on Mac.  (Chromium issue 134183)
6390
6391         Fixed sharing of literal boilerplates for optimized code.  (issue 2193)
6392
6393         Performance and stability improvements on all platforms.
6394
6395
6396 2012-06-22: Version 3.12.2
6397
6398         Made near-jump check more strict in LoadNamedFieldPolymorphic on
6399         ia32/x64. (Chromium issue 134055)
6400
6401         Fixed lazy sweeping heuristics to prevent old-space expansion.
6402         (issue 2194)
6403
6404         Performance and stability improvements on all platforms.
6405
6406
6407 2012-06-21: Version 3.12.1
6408
6409         Performance and stability improvements on all platforms.
6410
6411
6412 2012-06-20: Version 3.12.0
6413
6414         Fixed Chromium issues:
6415         115100, 129628, 131994, 132727, 132741, 132742, 133211
6416
6417         Fixed V8 issues:
6418         915, 1914, 2034, 2087, 2094, 2134, 2156, 2166, 2172, 2177, 2179, 2185
6419
6420         Added --extra-code flag to mksnapshot to load JS code into the VM
6421         before creating the snapshot.
6422
6423         Support 'restart call frame' command in the debugger.
6424
6425         Performance and stability improvements on all platforms.
6426
6427
6428 2012-06-13: Version 3.11.10
6429
6430         Implemented heap profiler memory usage reporting.
6431
6432         Preserved error message during finally block in try..finally.
6433         (Chromium issue 129171)
6434
6435         Fixed EnsureCanContainElements to properly handle double values.
6436         (issue 2170)
6437
6438         Improved heuristics to keep objects in fast mode with inherited
6439         constructors.
6440
6441         Performance and stability improvements on all platforms.
6442
6443
6444 2012-06-06: Version 3.11.9
6445
6446         Implemented ES5-conformant semantics for inherited setters and read-only
6447         properties. Currently behind --es5_readonly flag, because it breaks
6448         WebKit bindings.
6449
6450         Exposed last seen heap object id via v8 public api.
6451
6452         Performance and stability improvements on all platforms.
6453
6454
6455 2012-05-31: Version 3.11.8
6456
6457         Avoid overdeep recursion in regexp where a guarded expression with a
6458         minimum repetition count is inside another quantifier.
6459         (Chromium issue 129926)
6460
6461         Fixed missing write barrier in store field stub.
6462         (issues 2143, 1465, Chromium issue 129355)
6463
6464         Proxies: Fixed receiver for setters inherited from proxies.
6465         Proxies: Fixed ToStringArray function so that it does not reject some
6466         keys.
6467         (issue 1543)
6468
6469         Performance and stability improvements on all platforms.
6470
6471
6472 2012-05-29: Version 3.11.7
6473
6474         Get better function names in stack traces.
6475
6476         Performance and stability improvements on all platforms.
6477
6478
6479 2012-05-24: Version 3.11.6
6480
6481         Fixed RegExp.prototype.toString for incompatible receivers
6482         (issue 1981).
6483
6484         Performance and stability improvements on all platforms.
6485
6486
6487 2012-05-23: Version 3.11.5
6488
6489         Performance and stability improvements on all platforms.
6490
6491
6492 2012-05-22: Version 3.11.4
6493
6494         Some cleanup to common.gypi. This fixes some host/target combinations
6495         that weren't working in the Make build on Mac.
6496
6497         Handle EINTR in socket functions and continue incomplete sends.
6498         (issue 2098)
6499
6500         Fixed python deprecations.  (issue 1391)
6501
6502         Made socket send and receive more robust and return 0 on failure.
6503         (Chromium issue 15719)
6504
6505         Fixed GCC 4.7 (C++11) compilation.  (issue 2136)
6506
6507         Set '-m32' option for host and target platforms
6508
6509         Performance and stability improvements on all platforms.
6510
6511
6512 2012-05-18: Version 3.11.3
6513
6514         Disable optimization for functions that have scopes that cannot be
6515         reconstructed from the context chain. (issue 2071)
6516
6517         Define V8_EXPORT to nothing for clients of v8. (Chromium issue 90078)
6518
6519         Correctly check for native error objects.  (Chromium issue 2138)
6520
6521         Performance and stability improvements on all platforms.
6522
6523
6524 2012-05-16: Version 3.11.2
6525
6526         Revert r11496. (Chromium issue 128146)
6527
6528         Implement map collection for incremental marking. (issue 1465)
6529
6530         Add toString method to CallSite (which describes a frame of the
6531         stack trace).
6532
6533
6534 2012-05-15: Version 3.11.1
6535
6536         Added a readbuffer function to d8 that reads a file into an ArrayBuffer.
6537
6538         Fix freebsd build. (V8 issue 2126)
6539
6540         Performance and stability improvements on all platforms.
6541
6542
6543 2012-05-11: Version 3.11.0
6544
6545         Fixed compose-discard crasher from r11524 (issue 2123).
6546
6547         Activated new global semantics by default. Global variables can
6548         now shadow properties of the global object (ES5.1 erratum).
6549
6550         Properly set ElementsKind of empty FAST_DOUBLE_ELEMENTS arrays when
6551         transitioning (Chromium issue 117409).
6552
6553         Made Error.prototype.name writable again, as required by the spec and
6554         the web (Chromium issue 69187).
6555
6556         Implemented map collection with incremental marking (issue 1465).
6557
6558         Regexp: Fixed overflow in min-match-length calculation
6559         (Chromium issue 126412).
6560
6561         MIPS: Fixed illegal instruction use on Loongson in code for
6562         Math.random() (issue 2115).
6563
6564         Fixed crash bug in VisitChoice (Chromium issue 126272).
6565
6566         Fixed unsigned-Smi check in MappedArgumentsLookup
6567         (Chromium issue 126414).
6568
6569         Fixed LiveEdit for function with no locals (issue 825).
6570
6571         Fixed register clobbering in LoadIC for interceptors
6572         (Chromium issue 125988).
6573
6574         Implemented clearing of CompareICs (issue 2102).
6575
6576         Performance and stability improvements on all platforms.
6577
6578
6579 2012-05-03: Version 3.10.8
6580
6581         Enabled MIPS cross-compilation.
6582
6583         Ensured reload of elements pointer in StoreFastDoubleElement stub.
6584         (Chromium issue 125515)
6585
6586         Fixed corner cases in truncation behavior when storing to
6587         TypedArrays. (issue 2110)
6588
6589         Fixed failure to properly recognize and report out-of-memory
6590         conditions when allocating code space pages. (Chromium issue
6591         118625)
6592
6593         Fixed idle notifications to perform a round of incremental GCs
6594         after context disposal. (issue 2107)
6595
6596         Fixed preparser for try statement. (issue 2109)
6597
6598         Performance and stability improvements on all platforms.
6599
6600
6601 2012-04-30: Version 3.10.7
6602
6603         Performance and stability improvements on all platforms.
6604
6605
6606 2012-04-26: Version 3.10.6
6607
6608         Fixed some bugs in accessing details of the last regexp match.
6609
6610         Fixed source property of empty RegExp objects. (issue 1982)
6611
6612         Enabled inlining some V8 API functions.
6613
6614         Performance and stability improvements on all platforms.
6615
6616
6617 2012-04-23: Version 3.10.5
6618
6619         Put new global var semantics behind a flag until WebKit tests are
6620         cleaned up.
6621
6622         Enabled stepping into callback passed to builtins.
6623         (Chromium issue 109564)
6624
6625         Performance and stability improvements on all platforms.
6626
6627
6628 2012-04-19: Version 3.10.4
6629
6630         Fixed issues when stressing compaction with WeakMaps.
6631
6632         Fixed missing GVN flag for new-space promotion. (Chromium issue 123919)
6633
6634         Simplify invocation sequence at monomorphic function invocation sites.
6635         (issue 2079)
6636
6637         Performance and stability improvements on all platforms.
6638
6639
6640 2012-04-17: Version 3.10.3
6641
6642         Fixed several bugs in heap profiles (including issue 2078).
6643
6644         Throw syntax errors on illegal escape sequences.
6645
6646         Implemented rudimentary module linking (behind --harmony flag)
6647
6648         Implemented ES5 erratum: Global declarations should shadow
6649         inherited properties.
6650
6651         Made handling of const more consistent when combined with 'eval'
6652         and 'with'.
6653
6654         Fixed V8 on MinGW-x64 (issue 2026).
6655
6656         Performance and stability improvements on all platforms.
6657
6658
6659 2012-04-13: Version 3.10.2
6660
6661         Fixed native ARM build (issues 1744, 539)
6662
6663         Return LOOKUP variable instead of CONTEXT for non-context allocated
6664         outer scope parameters (Chromium issue 119609).
6665
6666         Fixed regular and ElementsKind transitions interfering with each other
6667         (Chromium issue 122271).
6668
6669         Improved performance of keyed loads/stores which have a HeapNumber
6670         index (issues 1388, 1295).
6671
6672         Fixed WeakMap processing for evacuation candidates (issue 2060).
6673
6674         Bailout on possible direct eval calls (Chromium issue 122681).
6675
6676         Do not assume that names of function expressions are context-allocated
6677         (issue 2051).
6678
6679         Performance and stability improvements on all platforms.
6680
6681
6682 2012-04-10: Version 3.10.1
6683
6684         Fixed bug with arguments object in inlined functions (issue 2045).
6685
6686         Fixed performance bug with lazy initialization (Chromium issue
6687         118686).
6688
6689         Added suppport for Mac OS X 64bit builds with GYP.
6690         (Patch contributed by Filipe David Manana <fdmanana@gmail.com>)
6691
6692         Fixed bug with hidden properties (issue 2034).
6693
6694         Fixed a performance bug when reloading pages (Chromium issue 117767,
6695         V8 issue 1902).
6696
6697         Fixed bug when optimizing throw in top-level code (issue 2054).
6698
6699         Fixed two bugs with array literals (issue 2055, Chromium issue 121407).
6700
6701         Fixed bug with Math.min/Math.max with NaN inputs (issue 2056).
6702
6703         Fixed a bug with the new runtime profiler (Chromium issue 121147).
6704
6705         Fixed compilation of V8 using uClibc.
6706
6707         Optimized boot-up memory use.
6708
6709         Optimized regular expressions.
6710
6711
6712 2012-03-30: Version 3.10.0
6713
6714         Fixed store IC writability check in strict mode
6715         (Chromium issue 120099).
6716
6717         Resynchronize timers if the Windows system time was changed.
6718         (Chromium issue 119815)
6719
6720         Removed "-mfloat-abi=hard" from host compiler cflags when building for
6721         hardfp ARM
6722         (https://code.google.com/p/chrome-os-partner/issues/detail?id=8539)
6723
6724         Fixed edge case for case independent regexp character classes
6725         (issue 2032).
6726
6727         Reset function info counters after context disposal.
6728         (Chromium issue 117767, V8 issue 1902)
6729
6730         Fixed missing write barrier in CopyObjectToObjectElements.
6731         (Chromium issue 119926)
6732
6733         Fixed missing bounds check in HasElementImpl.
6734         (Chromium issue 119925)
6735
6736         Performance and stability improvements on all platforms.
6737
6738
6739 2012-03-23: Version 3.9.24
6740
6741         Activated count-based profiler for ARM.
6742
6743         Fixed use of proxies as f.prototype properties. (issue 2021)
6744
6745         Enabled snapshots on MIPS.
6746
6747         Performance and stability improvements on all platforms.
6748
6749
6750 2012-03-21: Version 3.9.23
6751
6752         Use correct arguments adaptation environment when inlining function
6753         containing arguments. (Issue 2014)
6754
6755         Performance and stability improvements on all platforms.
6756
6757
6758 2012-03-20: Version 3.9.22
6759
6760         Enabled count-based profiler by default.
6761
6762         Implemented a hash based look-up to speed up address checks
6763         in large object space (issue 853).
6764
6765         Performance and stability improvements on all platforms.
6766
6767
6768 2012-03-19: Version 3.9.21
6769
6770         Fixed push-to-trunk script (and re-push).
6771
6772         Added API call that identifies strings that are guaranteed only to
6773         contain ASCII characters.
6774
6775
6776 2012-03-19: Version 3.9.20
6777
6778         Fixed declarations escaping global strict eval. (Issue 1624)
6779
6780         Fixed wrapping of receiver for non-strict callbacks. (Issue 1973)
6781
6782         Fixed function declarations overwriting read-only global properties.
6783         (Chromium issue 115452)
6784
6785         Fixed --use-strict flag in combination with --harmony[-scoping].
6786
6787         Debugger: naive implementation of "step into Function.prototype.bind".
6788
6789         Debugger: added ability to set script source from within OnBeforeCompile
6790
6791         Added flag to always call DebugBreak on abort.
6792
6793         Re-enabled constructor inlining and inline === comparison with boolean
6794         constants. (Issue 2009)
6795
6796         Don't use an explicit s0 in ClampDoubleToUint8. (Issue 2004)
6797
6798         Performance and stability improvements on all platforms.
6799
6800
6801 2012-03-14: Version 3.9.19
6802
6803         Ensure there is a smi check of the receiver for global load and call
6804         ICs (Chromium issue 117794).
6805
6806         Performance and stability improvements on all platforms.
6807
6808
6809 2012-03-13: Version 3.9.18
6810
6811         Ensure consistency of Math.sqrt on Intel platforms.
6812
6813         Remove static initializers in v8. (issue 1859)
6814
6815         Add explicit dependency on v8_base in the GYP-based build.
6816
6817         Performance and stability improvements on all platforms.
6818
6819
6820 2012-03-12: Version 3.9.17
6821
6822         Fixed VFP detection through compiler defines. (issue 1996)
6823
6824         Add Code-related fields to postmortem metadata.
6825
6826         Performance and stability improvements on all platforms.
6827
6828
6829 2012-03-09: Version 3.9.16
6830
6831         Added basic interface inference for modules (behind the --harmony flag).
6832
6833         Added Object.is, Number.isFinite, Number.isNaN.
6834
6835         Updated the Unicode tables to Unicode version 6.1.0.
6836
6837         Performance and stability improvements on all platforms.
6838
6839
6840 2012-03-06: Version 3.9.15
6841
6842         Fix the heap profiler crash caused by memory layout changes between
6843         passes.
6844
6845         Fix Error.prototype.toString to throw TypeError. (issue 1980)
6846
6847         Fix double-rounding in strtod for MinGW. (issue 1062)
6848
6849         Fix corrupted snapshot serializaton on ia32. (Chromium issue v8/1985)
6850
6851         Performance and stability improvements on all platforms.
6852
6853
6854 2012-03-01: Version 3.9.14
6855
6856         Performance and stability improvements on all platforms.
6857
6858
6859 2012-02-29: Version 3.9.13
6860
6861         Added code kind check before preparing for OSR. (issue 1900, 115073)
6862
6863         Fixed issue 1802: Pass zone explicitly to zone-allocation on x64 and
6864         ARM.
6865
6866         Ported string construct stub to x64. (issue 849)
6867
6868         Performance and stability improvements on all platforms.
6869
6870
6871 2012-02-28: Version 3.9.12
6872
6873         Fixed the negative lookup stub to handle deleted entries in a
6874         dictionary. (issue 1964)
6875
6876         Added a new API where the host can supply a callback function. The
6877         callback function can resolve the location of a return address on stack
6878         to the location where a return-address rewriting profiler stashed the
6879         original return address.
6880
6881         Fixed Chromium issue http://crbug.com/115646: When compiling for-in
6882         pass correct context value to the increment instruction.
6883
6884         Fixed issue 1853: Update breakpoints set with partial file name after
6885         compile.
6886
6887
6888 2012-02-27: Version 3.9.11
6889
6890         Made 'module' a context-sensitive keyword (V8 issue 1957).
6891
6892
6893 2012-02-24: Version 3.9.10
6894
6895         Fixed V8 issues 1322, 1772 and 1969.
6896
6897         Conformance improvements.
6898
6899         Performance and stability improvements on all platforms.
6900
6901
6902 2012-02-23: Version 3.9.9
6903
6904         Supported fast case for-in in Crankshaft.
6905
6906         Sped up heap snapshot serialization and dominators construction.
6907
6908         Randomized allocation addresses on windows. (Chromium issue 115151)
6909
6910         Fixed compilation with MinGW-w64. (issue 1943)
6911
6912         Fixed incorrect value of assignments to non-extensible properties.
6913
6914         Fixed a crash bug in generated code on ia32.
6915
6916         Performance and stability improvements on all platforms.
6917
6918
6919 2012-02-21: Version 3.9.8
6920
6921         Fixed memory leak and missing #include in StartupDataDecompressor
6922         (issue 1960).
6923
6924         Renamed static methods to avoid shadowing virtual methods and fix Clang
6925         C++11 compile error.
6926
6927         Fixed sequence of element access in array builtins (issue 1790).
6928
6929         Performance and stability improvements on all platforms.
6930
6931
6932 2012-02-16: Version 3.9.7
6933
6934         Fixed V8 issues 1322, 1878, 1942, 1945 and Chromium issue 113924.
6935
6936         Fixed GCC-4.7 warnings.
6937
6938         Added Navier-Stokes benchmark.
6939
6940         Performance and stability improvements on all platforms.
6941
6942
6943 2012-02-14: Version 3.9.6
6944
6945         Fixed template-related linker error. (issue 1936)
6946
6947         Allowed inlining of functions containing object literals.  (issue 1322)
6948
6949         Added --call-graph-size option to tickprocessor.  (issue 1937)
6950
6951         Heap Snapshot maximum size limit is too low for really big apps. At the
6952         moment the limit is 256MB.  (Chromium issue 113015)
6953
6954         Performance and stability improvements on all platforms.
6955
6956
6957 2012-02-09: Version 3.9.5
6958
6959         Removed unused command line flags.
6960
6961         Performance and stability improvements on all platforms.
6962
6963
6964 2012-02-08: Version 3.9.4
6965
6966         Properly initialize element-transitioning array literals on ARM.
6967         (issue 1930)
6968
6969         Bug fixes on all platforms.
6970
6971
6972 2012-02-07: Version 3.9.3
6973
6974         When rethrowing an exception, print the stack trace of its original
6975         site instead of rethrow site (Chromium issue 60240).
6976
6977         Increased size of small stacks from 32k to 64k to avoid hitting limits
6978         in Chromium (Chromium issue 112843).
6979
6980
6981 2012-02-06: Version 3.9.2
6982
6983         Added timestamp to --trace-gc output. (issue 1932)
6984
6985         Heap profiler reports implicit references.
6986
6987         Optionally export metadata with libv8 to enable debuggers to inspect V8
6988         state.
6989
6990
6991 2012-02-02: Version 3.9.1
6992
6993         Fixed memory leak in NativeObjectsExplorer::FindOrAddGroupInfo
6994         (Chromium issue 112315).
6995
6996         Fixed a crash in dev tools (Chromium issue 107996).
6997
6998         Added 'dependencies_traverse': 1 to v8 GYP target.
6999
7000         Performance and stability improvements on all platforms.
7001
7002
7003 2012-02-01: Version 3.9.0
7004
7005         Reduced memory use immediately after starting V8.
7006
7007         Stability fixes and performance improvements on all platforms.
7008
7009
7010 2012-01-26: Version 3.8.9
7011
7012         Flush number string cache on GC (issue 1605).
7013
7014         Provide access to function inferred name with
7015         v8::Function::GetInferredName in V8 public API.
7016
7017         Fix building with Clang (issue 1912).
7018
7019         Reduce the space used by the stack for the profiling thread.
7020
7021         Fix misleading documentation of v8::Locker (issue 542).
7022
7023         Introduce readbinary function in d8 to read binary files.
7024
7025         Performance and stability improvements on all platforms.
7026
7027
7028 2012-01-23: Version 3.8.8
7029
7030         Limited number of loop iterations in Heap::ReserveSpace
7031         (Chromium issue 99027).
7032
7033         Fixed solaris build (VirtualMemory) (issue 1761).
7034
7035         Fixed strict vs. non-strict handling of function proxies in
7036         higher-order array and string methods.
7037
7038         Enabled asynchronous remote debugging with d8 (issue 1691).
7039
7040         Stability and performance improvements on all platforms.
7041
7042
7043 2012-01-19: Version 3.8.7
7044
7045         Ensure that LRandom restores rsi after call to the C function on x64.
7046         (Chromium issue http://crbug.com/110509)
7047
7048         Fixing include issues on *bsd when building with scons.
7049         (issue 1897)
7050
7051         Provide a switch to specify -fno-strict-aliasing
7052         (issue 1887)
7053
7054         Move WIN32 define from standalone.gypi to common.gypi
7055         (issue 1760)
7056
7057         Fix corner-case in heap size estimation.
7058         (issue 1893)
7059
7060         Fix and enable NEW_NON_STRICT_FAST ArgumentsAccess stub on x64.
7061         (issue 1903)
7062
7063         Performance improvements and bug fixes.
7064
7065
7066 2012-01-16: Version 3.8.6
7067
7068         Add primitive WebGL array support to d8.
7069
7070         Improve heap size estimation (issue 1893).
7071
7072         Hash collision DOS workaround extended from string keys
7073         to numeric keys.
7074
7075         Provide an API for iterating through all external strings referenced
7076         from the JS heap.
7077
7078         Adjust position recorded for call expressions. http://crbug.com/109195
7079
7080         Fix GC crash related to instanceof. http://crbug.com/109448
7081
7082         Performance improvements and bug fixes.
7083
7084
7085 2012-01-05: Version 3.8.5
7086
7087         Fix broken test that assumes that no GC can clear the regexp cache (GC
7088         can happen at any time due to Crankshaft).
7089
7090         Fix handling of bogus receivers for Harmony collections. (issue 1884)
7091
7092         Add netbsd support to gyp build.
7093
7094         Determine page size at runtime on posix platforms.
7095
7096         Ensure that store buffer filtering hash sets are cleared after
7097         StoreBuffer::Filter.
7098
7099         Randomize the seed used for string hashing.  This helps guard against
7100         CPU-eating DOS attacks against node.js servers.  Based on code from
7101         Bert Belder.  This version only solves the issue for those that compile
7102         V8 themselves or those that do not use snapshots.  A snapshot-based
7103         precompiled V8 will still have predictable string hash codes.
7104
7105         Implement callback when script finishes running in V8 API.
7106
7107         Improve performance of Math.min and Math.max for the case of two
7108         arguments. (issue 1325)
7109
7110
7111 2012-01-02: Version 3.8.4
7112
7113         Performance improvements for large Smi-only arrays.
7114
7115         Fixed InternalArrays construction. (issue 1878)
7116
7117
7118 2011-12-27: Version 3.8.3
7119
7120         Avoid embedding new space objects into code objects in the lithium gap
7121         resolver. (chromium:108296)
7122
7123         Bug fixes and performance optimizations on all platforms.
7124
7125
7126 2011-12-21: Version 3.8.2
7127
7128         Add max optimization flag to v8 gyp build to ensure V8 is always built 
7129         fully optimized in Chrome.
7130
7131         MIPS: Bring MIPS to parity with other platforms.
7132
7133         Optimizations and stability improvements on all platforms.
7134
7135
7136 2011-12-19: Version 3.8.1
7137
7138         Fixed GCC 4.7 warnings. Patch from Tobias Burnus.
7139
7140         Stability improvements on all platforms.
7141
7142
7143 2011-12-13: Version 3.8.0
7144
7145         Fixed handling of arrays in DefineOwnProperty. (issue 1756)
7146
7147         Sync parser and preparser on do-while and return statements. 
7148         (issue 1856)
7149
7150         Fixed another corner case for DefineOwnProperty on arrays (issue 1756).
7151
7152         Stability and performance improvements on all platforms.
7153
7154
7155 2011-12-01: Version 3.7.12
7156
7157         Increase tick interval for the android platform.
7158
7159         Fix a bug in the register allocator. (chromium:105112)
7160
7161         Fix handling of recompiling code. (chromium:105375, v8:1782)
7162
7163         Start incremental marking on idle notification. (v8:1458)
7164
7165         Build fixes for various platforms.
7166
7167         Various performance improvements.
7168
7169
7170 2011-11-29: Version 3.7.11
7171
7172         Fixed bug when generating padding to ensure space for lazy
7173         deoptimization.
7174         (issue 1846)
7175
7176         Further reduced pause times due to GC.
7177
7178         Stability and performance improvements on all platforms.
7179
7180
7181 2011-11-23: Version 3.7.10
7182
7183         Set maximum length of FixedArray in terms of elements instead an
7184         absolute number of bytes.
7185         (Chromium issue 103103)
7186
7187         Stability and performance improvements on all platforms.
7188
7189
7190 2011-11-21: Version 3.7.9
7191
7192         Removed exit-time destructors.
7193
7194         Stability and performance improvements on all platforms.
7195
7196
7197 2011-11-17: Version 3.7.8
7198
7199         Removed hidden prototype from builtins, i.e., deleting an overridden
7200         function on builtins will not make the original function reappear.
7201
7202         Added NetBSD support for scons build.
7203
7204         Performance improvements on all platforms.
7205
7206
7207 2011-11-14: Version 3.7.7
7208
7209         Fix missing fast property accessors in heap snapshots.
7210         (issue 1818)
7211
7212
7213 2011-11-11: Version 3.7.6
7214
7215         Fixed filtering of store buffer for large object pages.
7216         (issue 1817)
7217
7218         Fixed generated hash function on all platforms.
7219         (issue 1808)
7220
7221         Fixed Heap::Shrink to ensure that it does not free pages that are
7222         still in use.
7223         (Chromium issue 100414)
7224
7225         Stability and performance improvements on all platforms.
7226
7227
7228 2011-11-10: Version 3.7.5
7229
7230         Added initial gyp infrastructure for MIPS.
7231
7232         Implemented performance improvements to the incremental garbage
7233         collector.
7234
7235         Added optimizations and stability improvements on all platforms.
7236
7237
7238 2011-11-07: Version 3.7.4
7239
7240         Proper "libv8.so.3.7.4" SONAME for Linux shared library (issue 1786).
7241
7242         Fix Harmony sets and maps to allow null and undefined as keys
7243         (still hidden behind --harmony flag) (issue 1622).
7244
7245         Implement VirtualMemory on FreeBSD to fix build (issue 1807).
7246
7247         Enable VFP instructions for Android.
7248
7249         Fix error handling in Date.prototype.toISOString (issue 1792).
7250
7251         Bug fixes and performance improvements for all platforms.
7252
7253         Not officially supported but noteworthy: Crankshaft for MIPS :-)
7254
7255
7256 2011-10-28: Version 3.7.3
7257
7258         Slight deoptimization as a workaround for issue with jslint: Issue
7259         1789.
7260
7261
7262 2011-10-27: Version 3.7.2
7263
7264         Fix bug in deoptimization.  Known issue with jslint: Issue 1789.
7265
7266
7267 2011-10-26: Version 3.7.1
7268
7269         Achieved 33% speedup in debug-mode tests.
7270
7271         Removed special casing of calls to RegExp test and exec methods with no
7272         argument.  Now matches new JSC behaviour.  crbug.com/75740.
7273
7274         Return the empty string on cyclic references in toString (ES5
7275         conformance).
7276
7277         Fixed bug triggered by JSBeautifier.  crbug.com/100409.
7278
7279         Made Math.random state per-context instead of per-process (issue 864).
7280
7281         Fixed stack traces to skip native functions.
7282
7283         Make snapshots (new contexts) smaller and faster.
7284
7285         Fixed handling of Function.apply for non-array arguments.
7286
7287         Fixed evaluation order in defineProperties to match FireFox.
7288
7289         Fixed handling of non-object receivers for array builtins,
7290         crbug.com/100702.
7291
7292         Multiple fixes to improve compliance with test262.
7293
7294         Fixed compatibility with older Android releases.
7295
7296         Fixed compilation with gcc-4.5.3.
7297
7298         Improved performance of WriteUtf8, issue 1665.
7299
7300         Made native syntax an early error in the preparser.
7301
7302         Fixed issues 793 and 893 relating to Function.prototype.bind.
7303
7304         Improved let, const, Set and Map support and other Harmony features
7305         (behind the --harmony flag).
7306
7307         Changed evaluation order for > and <= to match ES5 instead of ES3.
7308
7309         Bug fixes and performance improvements on all platforms.
7310
7311
7312 2011-10-13: Version 3.7.0
7313
7314         Fixed array handling for Object.defineOwnProperty (ES5 conformance).
7315
7316         Fixed issue 1757 (string slices of external strings).
7317
7318         Fixed issue 1759 (ARM).
7319
7320         Added flag --noclever-optimizations to disable some things that
7321         caused trouble in the past.
7322
7323         Added flag --stress-compaction for testing.
7324
7325         Added flag --harmony to activate all experimental Harmony features.
7326
7327
7328 2011-10-10: Version 3.6.6
7329
7330         Added a GC pause visualization tool.
7331
7332         Added presubmit=no and werror=no flags to Makefile.
7333
7334         ES5/Test262 conformance improvements.
7335
7336         Fixed compilation issues with GCC 4.5.x (issue 1743).
7337
7338         Bug fixes and performance improvements on all platforms.
7339
7340
7341 2011-10-05: Version 3.6.5
7342
7343         New incremental garbage collector.
7344
7345         Removed the hard heap size limit (soft heap size limit is still
7346         700/1400Mbytes by default).
7347
7348         Implemented ES5 generic Array.prototype.toString (Issue 1361).
7349
7350         V8 now allows surrogate pair codes in decodeURIComponent (Issue 1415).
7351
7352         Fixed x64 RegExp start-of-string bug (Issues 1746, 1748).
7353
7354         Fixed propertyIsEnumerable for numeric properties (Issue 1692).
7355
7356         Fixed the MinGW and Windows 2000 builds.
7357
7358         Fixed "Prototype chain is not searched if named property handler does
7359         not set a property" (Issue 1636).
7360
7361         Made the RegExp.prototype object be a RegExp object (Issue 1217).
7362
7363         Disallowed future reserved words as labels in strict mode.
7364
7365         Fixed string split to correctly coerce the separator to a string
7366         (Issue 1711).
7367
7368         API: Added an optional source length field to the Extension
7369         constructor.
7370
7371         API: Added Debug::DisableAgent to match existing Debug::EnableAgent
7372         (Issue 1573).
7373
7374         Added "native" target to Makefile for the benefit of Linux distros.
7375
7376         Fixed: debugger stops stepping outside evaluate (Issue 1639).
7377
7378         More work on ES-Harmony proxies.  Still hidden behind a flag.
7379
7380         Bug fixes and performance improvements on all platforms.
7381
7382
7383 2011-09-15: Version 3.6.4
7384
7385         Fixed d8's broken readline history.
7386
7387         Removed the need for code delete events in CPU profiler (Issue 1466).
7388
7389         Fixed debugger stepping next with trycatch recursion (Issue 1639).
7390
7391         Fixing parallel execution in d8 (with -p) and some memory leaks.
7392
7393         Support for precise stepping in functions compiled before debugging was
7394         started (step 1).
7395
7396
7397 2011-09-13: Version 3.6.3
7398
7399         Implemented better support of typed arrays in the d8 shell.
7400
7401         Bug fixes and performance improvements on all platforms.
7402
7403
7404 2011-09-08: Version 3.6.2
7405
7406         Added "dependencies" target to top-level Makefile.
7407
7408         Added ability to turn profiler on/off in d8.
7409
7410         Added "soname_version" parameter to common.gypi, v8.gyp, and Makefile.
7411
7412         Fixed several crash bugs.
7413
7414
7415 2011-09-07: Version 3.6.1
7416
7417         Fixed a bug in abrupt exit from with or catch inside finally.
7418
7419         Fixed possible crash in FixedDoubleArray::Initialize() (Chromium
7420         issue 95113).
7421
7422         Fixed a bug in Page::GetRegionMaskForSpan (Chromium issue 94425).
7423
7424         Fixed a few clang warnings (which -Werror treated as errors).
7425
7426         Performance improvements on all platforms.
7427
7428
7429 2011-09-05: Version 3.6.0
7430
7431         Fixed a bug when optimizing named function expression (issue 1647).
7432
7433         Fixed a bug when optimizing f.call.apply (issue 1650).
7434
7435         Made arguments and caller always be null on native functions
7436         (issues 1548 and 1643).
7437
7438         Fixed issue 1648 (cross-compiling x64 targeting ia32).
7439
7440         Fixed issue 371 (d8 printing of strings containing \0).
7441
7442         Fixed order of evaluation in arguments to parseInt (issue 1649).
7443
7444         Fixed a problem with large heap snapshots in Chrome DevTools
7445         (issue 1658, chromium issue 89268).
7446
7447         Upped default maximum heap size from 512M to 700M.
7448
7449
7450 2011-08-31: Version 3.5.10
7451
7452         Added dependency of v8_base on WinSocket2 Windows library in
7453         the GYP-build.
7454
7455         Various bugfixes.
7456
7457
7458 2011-08-29: Version 3.5.9
7459
7460         Made FromPropertyDescriptor not trigger inherited setters.
7461
7462         Fixed .gyp files to work on the ARM simulator.
7463
7464         Fixed shared library build warnings for MSVS.
7465
7466
7467 2011-08-24: Version 3.5.8
7468
7469         Added V8EXPORT attributes for v8::Array::CheckCast and
7470         v8::Number::CheckCast.
7471
7472         Made a slight API change enabling opting out from null termination
7473         in String::Write*().
7474
7475         Fixed arm build for gcc-4.6.
7476
7477
7478 2011-08-22: Version 3.5.7
7479
7480         Make scanner handle invalid unicode escapes in identifiers correctly.
7481
7482         Make regexp flag parsing stricter.
7483
7484         Fix several memory leaks.
7485
7486
7487 2011-08-17: Version 3.5.6
7488
7489         Fixed issue that could cause crashes when running with --heap-stats.
7490
7491         Fixed compilation on Linux 2.6.9 and older.
7492
7493         Fixed live-object-list to work with isolates.
7494
7495         Fixed memory leaks in zones and isolates.
7496
7497         Fixed a performance regression for TypedArrays on x64.
7498
7499         Stability improvements on all platforms.
7500
7501
7502 2011-08-15: Version 3.5.5
7503
7504         Fixed bugs involving negative zero and the optimizing compiler.
7505
7506         Fixed optimized version of Function.apply(x, arguments). (issue 1592)
7507
7508         Eliminated uses of deprecated ARM instructions.
7509
7510         Sped up Math.floor by using SSE 4.1 roundsd instruction on ia32.
7511
7512         Removed restriction on the size of disassembled code that is printed.
7513
7514
7515 2011-08-10: Version 3.5.4
7516
7517         Added a preliminary implementation of ES Harmony weak maps.  Weak
7518         maps can be enabled by the flag --harmony-weakmaps.
7519
7520         Introduced a toplevel Makefile to support GYP-based building.  GYP
7521         can be obtained from http://gyp.googlecode.com.
7522
7523         Fixed a bug in the length property of functions created by
7524         Function.prototype.bind.
7525
7526         Reduced malloc heap allocation on process startup.
7527
7528         Several important code generation bug fixes.
7529
7530         Performance improvements on all platforms.
7531
7532
7533 2011-08-03: Version 3.5.3
7534
7535         MIPS: Port of fix to ClassOf check from ARM.
7536         Patch from Paul Lind <plind44@gmail.com>.
7537
7538         Stopped using mprotect on Cygwin.
7539         Avoided uninitialized member warning on gcc 4.3.4
7540         Both patches by Bert Belder.
7541
7542         Bug fixes and performance improvements on all platforms.
7543
7544
7545 2011-08-01: Version 3.5.2
7546
7547         Performance improvements on all platforms.
7548
7549
7550 2011-07-28: Version 3.5.1
7551
7552         Fixed setting the readonly flag on the prototype property using the
7553         API call FunctionTemplate::SetPrototypeAttributes (issue 1539).
7554
7555         Changed the tools/test.py script to use d8 instead of shell for
7556         testing.
7557
7558         Fixed crash in ToBooleanStub when GC happens during invocation.
7559
7560         Enabled automatic unboxing of double arrays.
7561
7562         Performance improvements on all platforms.
7563
7564
7565 2011-07-25: Version 3.5.0
7566
7567         Implemented Object.prototype.{hasOwnProperty, propertyIsEnumerable} for
7568         proxies.
7569
7570         Removed logging to memory support.
7571
7572         Bugfixes and performance work.
7573
7574
7575 2011-07-20: Version 3.4.14
7576
7577         Fix the debugger for strict-mode functions. (Chromium issue 89236)
7578
7579         Add GetPropertyAttribute method for Object in the API. (Patch by
7580         Peter Varga)
7581
7582         Fix -Wunused-but-set-variable for gcc-4.6 on x64. (Issue 1291)
7583
7584
7585 2011-07-18: Version 3.4.13
7586
7587         Improved debugger support to allow inspection of optimized frames (issue
7588         1140).
7589
7590         Fixed a bug in prototype transitions cache clearing introduced by r8165.
7591
7592         Fixed shortcutting bug in HInferRepresentation. Patch by Andy Wingo.
7593
7594         Fixed a memory leak in sample/shell.cc (dispose semaphores).
7595
7596         Simplified HClampToUint8. Patch by Andy Wingo.
7597
7598         Exposed APIs for detecting boxed primitives, native errors. Patch by
7599         Luke Zarko.
7600
7601         Added map check for COW elements to crankshaft array handling code
7602         (issue 1560).
7603
7604         Sample shell and (a light version of) D8 links against a shared library
7605         now.
7606
7607         Fixed bug in array filter and reduce functions (issue 1559).
7608
7609         Avoid TLS load in AstNode constructor.
7610
7611         Introduced a random entropy source which can optionally be provided at
7612         initialization. (Chromium issue 89462).
7613
7614
7615 2011-07-13: Version 3.4.12
7616
7617         Added --prof profiling option to d8 shell.
7618
7619         Fixed a bug where reading a directory in d8 shell hangs (issue 1533).
7620
7621         Fixed a potential assertion failure in const declarations.
7622
7623         Fixed an assertion failure in descriptor arrays (issue 1526).
7624
7625         Enabled fast thread-local storage by default on supported platforms.
7626
7627         Improved reporting of source position for global variable loads
7628         (issue 1527).
7629
7630
7631 2011-07-11: Version 3.4.11
7632
7633         Fixed MinGW32 build.
7634
7635         Fixed a GC bug with RegExp code flushing.
7636
7637         Implemented Object.defineProperty for proxies.
7638
7639         Fixed a bug in for/in iteration of arguments objects (issue 1531).
7640
7641         Added debugger support for inspecting optimized frames (issue 1140).
7642
7643         Allowed JSObject::PreventExtensions to work for arguments objects.
7644
7645         Bugfixes and performance work.
7646
7647
7648 2011-07-06: Version 3.4.10
7649
7650         Fixed debugger not breaking on certain "if" statements (issue 1523).
7651
7652         Fixed assertion failure in runtime profiler when running on IA32
7653         without snapshot (issue 1522).
7654
7655         Fixed ABI for API calls on IA32 (for clang compatibility).
7656
7657         Introduced code flushing of RegExp code to free memory used by
7658         RegExps sooner.
7659
7660         Fixed linux-tick-processor built wrong version of v8 (issue 1532).
7661
7662         Fixed assertion failure in v8::TryCache::StackTrace (issue 1529).
7663
7664         Performance improvements on all platforms.
7665
7666
7667 2011-07-04: Version 3.4.9
7668
7669         Added support for debugger inspection of locals in optimized frames
7670         (issue 1140).
7671
7672         Fixed SConstruct to pass correct defines to samples/preparser when
7673         building with library=shared.
7674
7675         Made date parser handle ES5 Date Time Strings correctly (issue 1498).
7676
7677         Fixed a bug in Object.defineProperty on the arguments object.
7678
7679         Performance improvements on all platforms.
7680
7681
7682 2011-06-29: Version 3.4.8
7683
7684         Ensure 16-byte stack alignment on Solaris (issue 1505).
7685
7686         Fix "illegal access" when calling parseInt with a radix
7687         that is not a smi. (issue 1246).
7688
7689
7690 2011-06-27: Version 3.4.7
7691
7692         Fixed 64-bit build on FreeBSD.
7693
7694         Added API to set the property attributes for the prototype
7695         property on functions created from FunctionTemplates.
7696
7697         Bugfixes and performance work.
7698
7699
7700 2011-06-22: Version 3.4.6
7701
7702         Lowered limit on code space for systems with low memory supply.
7703
7704         Allowed compiling v8_shell with the 'host' toolset (issue 82437).
7705
7706         Extended setBreakpoint API to accept partial script name (issue 1418).
7707
7708         Made multi-line comments not count when deciding whether the '-->'
7709         comment starter is first on a line. This matches Safari.
7710
7711         Made handling of non-array recievers in Array length setter correct
7712         (issue 1491).
7713
7714         Added ability to heap profiler to iterate over snapshot's node
7715         (issue 1481).
7716
7717
7718 2011-06-20: Version 3.4.5
7719
7720         Fixed issues 794, 1097, 1215(partial), 1417, 1435, 1472, 1473,
7721         1476, and 1477.
7722
7723         Improved code generation for !0 and !1.
7724
7725         Reduced memory usage for regular expressions with nested qualifiers.
7726         (issue 1472)
7727
7728         Fixed V8 to count line terminators in multi-line comments.
7729         (Chromium issue 86431)
7730
7731         Fixed disassembler=on option for release-mode builds. (issue 1473)
7732
7733         Performance improvements on all platforms.
7734
7735
7736 2011-06-15: Version 3.4.4
7737
7738         Added snapshot compression support and --stress-opt flag to d8.
7739
7740         Improved performance of try/catch.
7741
7742         Several GYP-related changes: Added support for building Xcode project
7743         files. Make the ARM simulator build with GYP again. Generate Makefiles
7744         for all architectures on Linux.
7745
7746         Fixed Array.prototype.{reduce,reduceRight} to pass undefined as the
7747         receiver for strict mode callbacks. (issue 1436)
7748
7749         Fixed a bug where an array load was incorrectly hoisted by GVN.
7750
7751         Handle 'undefined' correctly when === has been specialized for doubles.
7752         (issue 1434)
7753
7754         Corrected the limit of local variables in an optimized function from 64
7755         to 63.
7756
7757         Correctly set ReadOnly flag on indexed properties when using the API Set
7758         method. (issue 1470)
7759
7760         Give the correct error message when Object.isExtensible is called on a
7761         non-object. (issue 1452)
7762
7763         Added GetOwnPropertyNames method for Object in the API. Patch by Peter
7764         Varga.
7765
7766         Do not redefine properties unneccesarily in seal and freeze. (issue
7767         1447)
7768
7769         IsExecutionTerminating has an Isolate parameter now.
7770
7771         Distinguish keyed loads with a symbol key from fast elements loads,
7772         avoiding some useless deoptimizations. (issue 1471)
7773
7774
7775 2011-06-08: Version 3.4.3
7776
7777         Clear the global thread table when an isolate is disposed
7778         (issue 1433).
7779
7780         Converted time zone name to UTF8 on Windows (issue 1290).
7781
7782         Limited the number of arguments in a function call to 32766
7783         (issue 1413).
7784
7785         Compress sources of JS libraries in addition to the snapshot.
7786
7787         Fixed a bug in Lithium environment iteration.
7788
7789         Performance improvements on all platforms.
7790
7791
7792 2011-06-06: Version 3.4.2
7793
7794         More work on ES-Harmony proxies.  Still hidden behind a flag.
7795
7796         Fixed some crash bugs and improved performance.
7797
7798         Fixed building with gdb debugging support.
7799
7800         Do not install SIGPROF handler until it is needed.
7801
7802         Added DateTimeFormat to i18n API.
7803
7804         Fixed compilation on OpenBSD.
7805
7806         Take the ulimit into account when sizing the heap.  OpenBSD users
7807         may still have to increase the default ulimit to run heavy pages in
7808         the browser.
7809
7810
7811 2011-06-01: Version 3.4.1
7812
7813         Fixed JSON stringify issue with arrays.
7814
7815         Changed calls to JS builtins to be passed undefined when called with
7816         implicit receiver.
7817
7818         Implemented the set trap for Harmony proxies. Proxies still need to
7819         be enabled with the --harmony-proxies flag.
7820
7821
7822 2011-05-30: Version 3.4.0
7823
7824         Changed calls to undefined property setters to not throw (issue 1355).
7825
7826         Made RegExp objects not callable.
7827
7828         Fixed issues on special case large JSON strings in new json parser
7829         (issues http://crbug.com/83877 and http://crbug.com/84186).
7830
7831         Performance improvements on all platforms.
7832
7833
7834 2011-05-25: Version 3.3.10
7835
7836         Fixed calls of strict mode function with an implicit receiver.
7837
7838         Fixed fast handling of arrays to properly deal with changes to the
7839         Object prototype (issue 1403).
7840
7841         Changed strict mode poison pill to be the same type error function
7842         (issue 1387).
7843
7844         Fixed a debug crash in arguments object handling (issue 1227).
7845
7846         Fixed a bug in deoptimization on x64 (issue 1404).
7847
7848         Performance improvements and bug fixes on all platforms.
7849
7850
7851 2011-05-23: Version 3.3.9
7852
7853         Added DateTimeFormat class to experimental i18n API.
7854
7855         Extended preparser to give early errors for some strict mode
7856         restrictions.
7857
7858         Removed legacy execScript function from V8.
7859
7860         Extended isolate API with the ability to add embedder-specific
7861         data to an isolate.
7862
7863         Added basic support for polymorphic loads from JS and external
7864         arrays.
7865
7866         Fixed bug in handling of switch statements in the optimizing
7867         compiler.
7868
7869
7870 2011-05-18: Version 3.3.8
7871
7872         Added MarkIndependent to the persistent handle API.  Independent
7873         handles are independent of all other persistent handles and can be
7874         garbage collected more frequently.
7875
7876         Implemented the get trap for Harmony proxies.  Proxies are enabled
7877         with the --harmony-proxies flag.
7878
7879         Performance improvements and bug fixes on all platforms.
7880
7881
7882 2011-05-16: Version 3.3.7
7883
7884         Updated MIPS infrastructure files.
7885
7886         Performance improvements and bug fixes on all platforms.
7887
7888
7889 2011-05-11: Version 3.3.6
7890
7891         Updated MIPS infrastructure files.
7892
7893         Added method IsCallable for Object to the API.
7894         Patch by Peter Varga.
7895
7896
7897 2011-05-09: Version 3.3.5
7898
7899         Fixed build on FreeBSD. Patch by Akinori MUSHA.
7900
7901         Added check that receiver is JSObject on API calls.
7902
7903         Implemented CallAsConstructor method for Object in the API (Issue 1348).
7904         Patch by Peter Varga.
7905
7906         Added CallAsFunction method to the Object class in the API (Issue 1336).
7907         Patch by Peter Varga.
7908
7909         Added per-isolate locking and unlocking.
7910
7911         Fixed bug in x64 >>> operator (Issue 1359).
7912
7913
7914 2011-05-04: Version 3.3.4
7915
7916         Implemented API to disallow code generation from strings for a context
7917         (issue 1258).
7918
7919         Fixed bug with whitespaces in parseInt (issue 955).
7920
7921         Fixed bug with == comparison of Date objects (issue 1356).
7922
7923         Added GYP variables for ARM code generation:
7924         v8_can_use_vfp_instructions, v8_can_use_unaligned_accesses
7925         and v8_use_arm_eabi_hardfloat.
7926
7927
7928 2011-05-02: Version 3.3.3
7929
7930         Added support for generating Visual Studio solution and project files
7931         using GYP.
7932
7933         Implemented support for ARM EABI calling convention variation where
7934         floating-point arguments are passed in registers (hardfloat).
7935
7936         Added Object::HasOwnProperty() to the API.
7937
7938         Added support for compressing startup data to reduce binary size. This
7939         includes build time support and an API for the embedder to decompress
7940         the startup data before initializing V8.
7941
7942         Reduced the profiling hooks overhead from >400% to 25% when using
7943         ll_prof.
7944
7945         Performance improvements and bug fixes on all platforms.
7946
7947
7948 2011-04-27: Version 3.3.2
7949
7950         Fixed crash bug on ARM with no VFP3 hardware.
7951
7952         Fixed compilation of V8 without debugger support.
7953
7954         Improved performance on JSLint.
7955
7956         Added support Float64 WebGL arrays.
7957
7958         Fixed crash bug in regexp replace.
7959
7960
7961 2011-04-20: Version 3.3.1
7962
7963         Reduced V8 binary size by removing virtual functions from hydrogen.
7964
7965         Fixed crash bug on x64.
7966
7967         Performance improvements on ARM and IA32.
7968
7969
7970 2011-04-18: Version 3.3.0
7971
7972         Fixed bug in floating point rounding in Crankshaft on ARM
7973         (issue 958)
7974
7975         Fixed a number of issues with running without VFPv3 support on ARM
7976         (issue 1315)
7977
7978         Introduced v8Locale.Collator, a partial implementation of Collator
7979         per last ECMAScript meeting + mailing list.
7980
7981         Minor performance improvements and bug fixes.
7982
7983
7984 2011-04-13: Version 3.2.10
7985
7986         Fixed bug in external float arrays on ARM (issue 1323).
7987
7988         Minor performance improvements and bug fixes.
7989
7990
7991 2011-04-11: Version 3.2.9
7992
7993         Removed support for ABI prior to EABI on ARM.
7994
7995         Fixed multiple crash bugs.
7996
7997         Added GCMole to the repository, a simple static analysis tool that
7998         searches for GC-unsafe evaluation order dependent callsites.
7999
8000         Made preparser API be exported in shared libraries.
8001
8002         Fixed multiple issues in EcmaScript 5 strict mode implementation.
8003
8004         Fixed mutable __proto__ property if object is not extensible
8005         (Issue 1309).
8006
8007         Fixed auto suspension of the sampler thread.
8008
8009
8010 2011-04-06: Version 3.2.8
8011
8012         Exposed WebGL typed array constructors in the shell sample.
8013
8014         Performance improvements on all platforms.
8015
8016
8017 2011-04-04: Version 3.2.7
8018
8019         Disabled the original 'classic' V8 code generator.  Crankshaft is
8020         now the default on all platforms.
8021
8022         Changed the heap profiler to use more descriptive names.
8023
8024         Performance and stability improvements to isolates on all platforms.
8025
8026
8027 2011-03-30: Version 3.2.6
8028
8029         Fixed xcode build warning in shell.cc (out of order initialization).
8030
8031         Fixed null-pointer dereference in the compiler when running without
8032         SSE3 support (Chromium issue 77654).
8033
8034         Fixed x64 compilation error due to some dead code. (Issue 1286)
8035
8036         Introduced scons target to build the preparser stand-alone example.
8037
8038         Made FreeBSD build and pass all tests.
8039
8040
8041 2011-03-28: Version 3.2.5
8042
8043         Fixed build with Irregexp interpreter (issue 1266).
8044
8045         Added Crankshaft support for external arrays.
8046
8047         Fixed two potential crash bugs.
8048
8049
8050 2011-03-23: Version 3.2.4
8051
8052         Added isolates which allows several V8 instances in the same process.
8053         This is controlled through the new Isolate class in the API.
8054
8055         Implemented more of EcmaScript 5 strict mode.
8056
8057         Reduced the time it takes to make detailed heap snapshot.
8058
8059         Added a number of commands to the ARM simulator and enhanced the ARM
8060         disassembler.
8061
8062
8063 2011-03-17: Version 3.2.3
8064
8065         Fixed a number of crash bugs.
8066
8067         Fixed Array::New(length) to return an array with a length (issue 1256).
8068
8069         Fixed FreeBSD build.
8070
8071         Changed __defineGetter__ to not throw (matching the behavior of Safari).
8072
8073         Implemented more of EcmaScript 5 strict mode.
8074
8075         Improved Crankshaft performance on all platforms.
8076
8077
8078 2011-03-14: Version 3.2.2
8079
8080         Fixed a number of crash and correctness bugs.
8081
8082         Improved Crankshaft performance on all platforms.
8083
8084         Fixed Crankshaft on Solaris/Illumos.
8085
8086
8087 2011-03-10: Version 3.2.1
8088
8089         Fixed a number of crash bugs.
8090
8091         Improved Crankshaft for x64 and ARM.
8092
8093         Implemented more of EcmaScript 5 strict mode.
8094
8095
8096 2011-03-07: Version 3.2.0
8097
8098         Fixed a number of crash bugs.
8099
8100         Turned on Crankshaft by default on x64 and ARM.
8101
8102         Improved Crankshaft for x64 and ARM.
8103
8104         Implemented more of EcmaScript 5 strict mode.
8105
8106
8107 2011-03-02: Version 3.1.8
8108
8109         Fixed a number of crash bugs.
8110
8111         Improved Crankshaft for x64 and ARM.
8112
8113         Implemented more of EcmaScript 5 strict mode.
8114
8115         Fixed issue with unaligned reads and writes on ARM.
8116
8117         Improved heap profiler support.
8118
8119
8120 2011-02-28: Version 3.1.7
8121
8122         Fixed a number of crash bugs.
8123
8124         Improved Crankshaft for x64 and ARM.
8125
8126         Fixed implementation of indexOf/lastIndexOf for sparse
8127         arrays (http://crbug.com/73940).
8128
8129         Fixed bug in map space compaction (http://crbug.com/59688).
8130
8131         Added support for direct getter accessors calls on ARM.
8132
8133
8134 2011-02-24: Version 3.1.6
8135
8136         Fixed a number of crash bugs.
8137
8138         Added support for Cygwin (issue 64).
8139
8140         Improved Crankshaft for x64 and ARM.
8141
8142         Added Crankshaft support for stores to pixel arrays.
8143
8144         Fixed issue in CPU profiler with Crankshaft.
8145
8146
8147 2011-02-16: Version 3.1.5
8148
8149         Change RegExp parsing to disallow /(*)/.
8150
8151         Added GDB JIT support for ARM.
8152
8153         Fixed several crash bugs.
8154
8155         Performance improvements on the IA32 platform.
8156
8157
8158 2011-02-14: Version 3.1.4
8159
8160         Fixed incorrect compare of prototypes of the global object (issue
8161         1082).
8162
8163         Fixed a bug in optimizing calls to global functions (issue 1106).
8164
8165         Made optimized Function.prototype.apply safe for non-JSObject first
8166         arguments (issue 1128).
8167
8168         Fixed an error related to element accessors on Object.prototype and
8169         parser errors (issue 1130).
8170
8171         Fixed a bug in sorting an array with large array indices (issue 1131).
8172
8173         Properly treat exceptions thrown while compiling (issue 1132).
8174
8175         Fixed bug in register requirements for function.apply (issue 1133).
8176
8177         Fixed a representation change bug in the Hydrogen graph construction
8178         (issue 1134).
8179
8180         Fixed the semantics of delete on parameters (issue 1136).
8181
8182         Fixed a optimizer bug related to moving instructions with side effects
8183         (issue 1138).
8184
8185         Added support for the global object in Object.keys (issue 1150).
8186
8187         Fixed incorrect value for Math.LOG10E
8188         (issue http://code.google.com/p/chromium/issues/detail?id=72555)
8189
8190         Performance improvements on the IA32 platform.
8191
8192         Implement assignment to undefined reference in ES5 Strict Mode.
8193
8194
8195 2011-02-09: Version 3.1.3
8196
8197         Fixed a bug triggered by functions with huge numbers of declared
8198         arguments.
8199
8200         Fixed zap value aliasing a real object - debug mode only (issue 866).
8201
8202         Fixed issue where Array.prototype.__proto__ had been set to null
8203         (issue 1121).
8204
8205         Fixed stability bugs in Crankshaft for x86.
8206
8207
8208 2011-02-07: Version 3.1.2
8209
8210         Added better security checks when accessing properties via
8211         Object.getOwnPropertyDescriptor.
8212
8213         Fixed bug in Object.defineProperty and related access bugs (issues
8214         992, 1083 and 1092).
8215
8216         Added LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to ease
8217         copyright notice generation for embedders.
8218
8219
8220 2011-02-02: Version 3.1.1
8221
8222         Perform security checks before fetching the value in
8223         Object.getOwnPropertyDescriptor.
8224
8225         Fixed a bug in Array.prototype.splice triggered by passing no
8226         arguments.
8227
8228         Fixed bugs in -0 in arithmetic and in Math.pow.
8229
8230         Fixed bugs in the register allocator and in switching from optimized
8231         to unoptimized code.
8232
8233
8234 2011-01-31: Version 3.1.0
8235
8236         Performance improvements on all platforms.
8237
8238
8239 2011-01-28: Version 3.0.12
8240
8241         Added support for strict mode parameter and object property
8242         validation.
8243
8244         Fixed a couple of crash bugs.
8245
8246
8247 2011-01-25: Version 3.0.11
8248
8249         Fixed a bug in deletion of lookup slots that could cause global
8250         variables to be accidentally deleted (http://crbug.com/70066).
8251
8252         Added support for strict mode octal literal verification.
8253
8254         Fixed a couple of crash bugs (issues 1070 and 1071).
8255
8256
8257 2011-01-24: Version 3.0.10
8258
8259         Fixed External::Wrap for 64-bit addresses (issue 1037).
8260
8261         Fixed incorrect .arguments variable proxy handling in the full
8262         code generator (issue 1060).
8263
8264         Introduced partial strict mode support.
8265
8266         Changed formatting of recursive error messages to match Firefox and
8267         Safari (issue http://crbug.com/70334).
8268
8269         Fixed incorrect rounding for float-to-integer conversions for external
8270         array types, which implement the Typed Array spec
8271         (issue http://crbug.com/50972).
8272
8273         Performance improvements on the IA32 platform.
8274
8275
8276 2011-01-19: Version 3.0.9
8277
8278         Added basic GDB JIT Interface integration.
8279
8280         Make invalid break/continue statements a syntax error instead of a
8281         runtime error.
8282
8283
8284 2011-01-17: Version 3.0.8
8285
8286         Exposed heap size limit to the heap statistics gathered by
8287         the GetHeapStatistics API.
8288
8289         Wrapped external pointers more carefully (issue 1037).
8290
8291         Hardened the implementation of error objects to avoid setters
8292         intercepting the properties set then throwing an error.
8293
8294         Avoided trashing the FPSCR when calculating Math.floor on ARM.
8295
8296         Performance improvements on the IA32 platform.
8297
8298
8299 2011-01-10: Version 3.0.7
8300
8301         Stopped calling inherited setters when creating object literals
8302         (issue 1015).
8303
8304         Changed interpretation of malformed \c? escapes in RegExp to match
8305         JSC.
8306
8307         Enhanced the command-line debugger interface and fixed some minor
8308         bugs in the debugger.
8309
8310         Performance improvements on the IA32 platform.
8311
8312
8313 2011-01-05: Version 3.0.6
8314
8315         Allowed getters and setters on JSArray elements (issue 900).
8316
8317         Stopped JSON objects from hitting inherited setters (part of
8318         issue 1015).
8319
8320         Allowed numbers and strings as names of getters/setters in object
8321         initializer (issue 820).
8322
8323         Added use_system_v8 option to gyp (off by default), to make it easier
8324         for Linux distributions to ship with system-provided V8 library.
8325
8326         Exported external array data accessors (issue 1016).
8327
8328         Added labelled thread names to help with debugging (on Linux).
8329
8330
8331 2011-01-03: Version 3.0.5
8332
8333         Fixed a couple of cast errors for gcc-3.4.3.
8334
8335         Performance improvements in GC and IA32 code generator.
8336
8337
8338 2010-12-21: Version 3.0.4
8339
8340         Added Date::ResetCache() to the API so that the cached values in the
8341         Date object can be reset to allow live DST / timezone changes.
8342
8343         Extended existing support for printing (while debugging) the contents
8344         of objects.  Added support for printing objects from release builds.
8345
8346         Fixed V8 issues 989, 1006, and 1007.
8347
8348
8349 2010-12-17: Version 3.0.3
8350
8351         Reapplied all changes for version 3.0.1.
8352
8353         Improved debugger protocol for remote debugging.
8354
8355         Added experimental support for using gyp to generate build files
8356         for V8.
8357
8358         Fixed implementation of String::Write in the API (issue 975).
8359
8360
8361 2010-12-15: Version 3.0.2
8362
8363         Revert version 3.0.1 and patch 3.0.1.1.
8364
8365
8366 2010-12-13: Version 3.0.1
8367
8368         Added support for an experimental internationalization API as an
8369         extension.  This extension is disabled by default but can be enabled
8370         when building V8.  The ECMAScript internationalization strawman is
8371         at http://wiki.ecmascript.org/doku.php?id=strawman:i18n_api.
8372
8373         Made RegExp character class parsing stricter.  This mirrors a change
8374         to RegExp parsing in WebKit.
8375
8376         Fixed a bug in Object.defineProperty when used to change attributes
8377         of an existing property.  It incorrectly set the property value to
8378         undefined (issue 965).
8379
8380         Fixed several different compilation failures on various platforms
8381         caused by the 3.0.0 release.
8382
8383         Optimized Math.pow so it can work on unboxed doubles.
8384
8385         Sped up quoting of JSON strings by removing one traversal of the
8386         string.
8387
8388
8389 2010-12-07: Version 3.0.0
8390
8391         Improved performance by (partially) addressing issue 957 on
8392         IA-32. Still needs more work for the other architectures.
8393
8394
8395 2010-11-29: Version 2.5.9
8396
8397         Fixed crashes during GC caused by partially initialize heap
8398         objects.
8399
8400         Fixed bug in process sample that caused memory leaks.
8401
8402         Improved performance on ARM by implementing missing stubs and
8403         inlining.
8404
8405         Improved heap profiler support.
8406
8407         Added separate seeding on Windows of the random number generator
8408         used internally by the compiler (issue 936).
8409
8410         Exposed API for getting the name of the function used to construct
8411         an object.
8412
8413         Fixed date parser to handle one and two digit millisecond
8414         values (issue 944).
8415
8416         Fixed number parsing to disallow space between sign and
8417         digits (issue 946).
8418
8419
8420 2010-11-23: Version 2.5.8
8421
8422         Removed dependency on Gay's dtoa.
8423
8424         Improved heap profiler precision and speed.
8425
8426         Reduced overhead of callback invocations on ARM.
8427
8428
8429 2010-11-18: Version 2.5.7
8430
8431         Fixed obscure evaluation order bug (issue 931).
8432
8433         Split the random number state between JavaScript and the private API.
8434
8435         Fixed performance bug causing GCs when generating stack traces on
8436         code from very large scripts.
8437
8438         Fixed bug in parser that allowed (foo):42 as a labelled statement
8439         (issue 918).
8440
8441         Provide more accurate results about used heap size via
8442         GetHeapStatistics.
8443
8444         Allow build-time customization of the max semispace size.
8445
8446         Made String.prototype.split honor limit when separator is empty
8447         (issue 929).
8448
8449         Added missing failure check after expecting an identifier in
8450         preparser (Chromium issue 62639).
8451
8452
8453 2010-11-10: Version 2.5.6
8454
8455         Added support for VFP rounding modes to the ARM simulator.
8456
8457         Fixed multiplication overflow bug (issue 927).
8458
8459         Added a limit for the amount of executable memory (issue 925).
8460
8461
8462 2010-11-08: Version 2.5.5
8463
8464         Added more aggressive GC of external objects in near out-of-memory
8465         situations.
8466
8467         Fixed a bug that gave the incorrect result for String.split called
8468         on the empty string (issue 924).
8469
8470
8471 2010-11-03: Version 2.5.4
8472
8473         Improved V8 VFPv3 runtime detection to address issue 914.
8474
8475
8476 2010-11-01: Version 2.5.3
8477
8478         Fixed a bug that prevents constants from overwriting function values
8479         in object literals (issue 907).
8480
8481         Fixed a bug with reporting of impossible nested calls of DOM functions
8482         (issue http://crbug.com/60753).
8483
8484
8485 2010-10-27: Version 2.5.2
8486
8487         Improved sampler resolution on Linux.
8488
8489         Allowed forcing the use of a simulator from the build script
8490         independently of the host architecture.
8491
8492         Fixed FreeBSD port (issue 912).
8493
8494         Made windows-tick-processor respect D8_PATH.
8495
8496         Implemented --noinline-new flag fully on IA32, X64 and ARM platforms.
8497
8498
8499 2010-10-20: Version 2.5.1
8500
8501         Fixed bug causing spurious out of memory exceptions
8502         (issue http://crbug.com/54580).
8503
8504         Fixed compilation error on Solaris platform (issue 901).
8505
8506         Fixed error in strtod (string to floating point number conversion)
8507         due to glibc's use of 80-bit floats in the FPU on 32-bit linux.
8508
8509         Adjusted randomized allocations of executable memory to have 64k
8510         granularity (issue http://crbug.com/56036).
8511
8512         Supported profiling using kernel perf_events on linux.  Added ll_prof
8513         script to tools and --ll-prof flag to V8.
8514
8515
8516 2010-10-18: Version 2.5.0
8517
8518         Fixed bug in cache handling of lastIndex on global regexps
8519         (issue http://crbug.com/58740).
8520
8521         Added USE_SIMULATOR macro that explicitly indicates that we wish to use
8522         the simulator as the execution engine (by Mark Lam <mark.lam@palm.com>
8523         from Hewlett-Packard Development Company, LP).
8524
8525         Fixed compilation error on ARM with gcc 4.4 (issue 894).
8526
8527
8528 2010-10-13: Version 2.4.9
8529
8530         Fixed a bug in the handling of conditional expressions in test
8531         contexts in compiler for top-level code.
8532
8533         Added "//@ sourceURL" information to the StackTrace API.
8534
8535         Exposed RegExp construction through the API.
8536
8537
8538 2010-10-04: Version 2.4.8
8539
8540         Fixed a bug in ResumeProfilerEx causing it to not always write out the
8541         whole snapshot (issue 868).
8542
8543         Performance improvements on all platforms.
8544
8545
8546 2010-09-30: Version 2.4.7
8547
8548         Changed the command-line flag --max-new-space-size to be in kB and the
8549         flag --max-old-space-size to be in MB (previously they were in bytes).
8550
8551         Added Debug::CancelDebugBreak to the debugger API.
8552
8553         Fixed a bug in getters for negative numeric property names
8554         (https://bugs.webkit.org/show_bug.cgi?id=46689).
8555
8556         Performance improvements on all platforms.
8557
8558
8559 2010-09-27: Version 2.4.6
8560
8561         Fixed assertion failure related to copy-on-write arrays (issue 876).
8562
8563         Fixed build failure of 64-bit V8 on Windows.
8564
8565         Fixed a bug in RegExp (issue http://crbug.com/52801).
8566
8567         Improved the profiler's coverage to cover more functions (issue 858).
8568
8569         Fixed error in shift operators on 64-bit V8
8570         (issue http://crbug.com/54521).
8571
8572
8573 2010-09-22: Version 2.4.5
8574
8575         Changed the RegExp benchmark to exercise the regexp engine on different
8576         inputs by scrambling the input strings.
8577
8578         Fixed a bug in keyed loads on strings.
8579
8580         Fixed a bug with loading global function prototypes.
8581
8582         Fixed a bug with profiling RegExp calls (issue http://crbug.com/55999).
8583
8584         Performance improvements on all platforms.
8585
8586
8587 2010-09-15: Version 2.4.4
8588
8589         Fixed bug with hangs on very large sparse arrays.
8590
8591         Now tries harder to free up memory when running out of space.
8592
8593         Added heap snapshots to JSON format to API.
8594
8595         Recalibrated benchmarks.
8596
8597
8598 2010-09-13: Version 2.4.3
8599
8600         Made Date.parse properly handle TZ offsets (issue 857).
8601
8602         Performance improvements on all platforms.
8603
8604
8605 2010-09-08: Version 2.4.2
8606
8607         Fixed GC crash bug.
8608
8609         Fixed stack corruption bug.
8610
8611         Fixed compilation for newer C++ compilers that found Operand(0)
8612         ambiguous.
8613
8614
8615 2010-09-06: Version 2.4.1
8616
8617         Added the ability for an embedding application to receive a callback
8618         when V8 allocates (V8::AddMemoryAllocationCallback) or deallocates
8619         (V8::RemoveMemoryAllocationCallback) from the OS.
8620
8621         Fixed several JSON bugs (including issue 855).
8622
8623         Fixed memory overrun crash bug triggered during V8's tick-based
8624         profiling.
8625
8626         Performance improvements on all platforms.
8627
8628
8629 2010-09-01: Version 2.4.0
8630
8631         Fixed bug in Object.freeze and Object.seal when Array.prototype or
8632         Object.prototype are changed (issue 842).
8633
8634         Updated Array.splice to follow Safari and Firefox when called
8635         with zero arguments.
8636
8637         Fixed a missing live register when breaking at keyed loads on ARM.
8638
8639         Performance improvements on all platforms.
8640
8641
8642 2010-08-25: Version 2.3.11
8643
8644         Fixed bug in RegExp related to copy-on-write arrays.
8645
8646         Refactored tools/test.py script, including the introduction of
8647         VARIANT_FLAGS that allows specification of sets of flags with which
8648         all tests should be run.
8649
8650         Fixed a bug in the handling of debug breaks in CallIC.
8651
8652         Performance improvements on all platforms.
8653
8654
8655 2010-08-23: Version 2.3.10
8656
8657         Fixed bug in bitops on ARM.
8658
8659         Build fixes for unusual compilers.
8660
8661         Track high water mark for RWX memory.
8662
8663         Performance improvements on all platforms.
8664
8665
8666 2010-08-18: Version 2.3.9
8667
8668         Fixed compilation for ARMv4 on OpenBSD/FreeBSD.
8669
8670         Removed specialized handling of GCC 4.4 (issue 830).
8671
8672         Fixed DST cache to take into account the suspension of DST in
8673         Egypt during the 2010 Ramadan (issue http://crbug.com/51855).
8674
8675         Performance improvements on all platforms.
8676
8677
8678 2010-08-16: Version 2.3.8
8679
8680         Fixed build with strict aliasing on GCC 4.4 (issue 463).
8681
8682         Fixed issue with incorrect handling of custom valueOf methods on
8683         string wrappers (issue 760).
8684
8685         Fixed compilation for ARMv4 (issue 590).
8686
8687         Improved performance.
8688
8689
8690 2010-08-11: Version 2.3.7
8691
8692         Reduced size of heap snapshots produced by heap profiler (issue 783).
8693
8694         Introduced v8::Value::IsRegExp method.
8695
8696         Fixed CPU profiler crash in start / stop sequence when non-existent
8697         name is passed (issue http://crbug.com/51594).
8698
8699         Introduced new indexed property query callbacks API (issue 816). This
8700         API is guarded by USE_NEW_QUERY_CALLBACK define and is disabled
8701         by default.
8702
8703         Removed support for object literal get/set with number/string
8704         property name.
8705
8706         Fixed handling of JSObject::elements in CalculateNetworkSize
8707         (issue 822).
8708
8709         Allowed compiling with strict aliasing enabled on GCC 4.4 (issue 463).
8710
8711
8712 2010-08-09: Version 2.3.6
8713
8714         RegExp literals create a new object every time they are evaluated
8715         (issue 704).
8716
8717         Object.seal and Object.freeze return the modified object (issue 809).
8718
8719         Fixed building using GCC 4.4.4.
8720
8721
8722 2010-08-04: Version 2.3.5
8723
8724         Added support for ES5 property names. Object initialisers and
8725         dot-notation property access now allows keywords. Also allowed
8726         non-identifiers after "get" or "set" in an object initialiser.
8727
8728         Randomized the addresses of allocated executable memory on Windows.
8729
8730
8731 2010-08-02: Version 2.3.4
8732
8733         Fixed problems in implementation of ES5 function.prototype.bind.
8734
8735         Fixed error when using apply with arguments object on ARM (issue 784).
8736
8737         Added setting of global flags to debugger protocol.
8738
8739         Fixed an error affecting cached results of sin and cos (issue 792).
8740
8741         Removed memory leak from a boundary case where V8 is not initialized.
8742
8743         Fixed issue where debugger could set breakpoints outside the body
8744         of a function.
8745
8746         Fixed issue in debugger when using both live edit and step in features.
8747
8748         Added Number-letter (Nl) category to Unicode tables.  These characters
8749         can now be used in identifiers.
8750
8751         Fixed an assert failure on X64 (issue 806).
8752
8753         Performance improvements on all platforms.
8754
8755
8756 2010-07-26: Version 2.3.3
8757
8758         Fixed error when building the d8 shell in a fresh checkout.
8759
8760         Implemented Function.prototype.bind (ES5 15.3.4.5).
8761
8762         Fixed an error in inlined stores on ia32.
8763
8764         Fixed an error when setting a breakpoint at the end of a function
8765         that does not end with a newline character.
8766
8767         Performance improvements on all platforms.
8768
8769
8770 2010-07-21: Version 2.3.2
8771
8772         Fixed compiler warnings when building with LLVM.
8773
8774         Fixed a bug with for-in applied to strings (issue 785).
8775
8776         Performance improvements on all platforms.
8777
8778
8779 2010-07-19: Version 2.3.1
8780
8781         Fixed compilation and linking with V8_INTERPRETED_REGEXP flag.
8782
8783         Fixed bug related to code flushing while compiling a lazy
8784         compilable function (issue http://crbug.com/49099).
8785
8786         Performance improvements on all platforms.
8787
8788
8789 2010-07-15: Version 2.3.0
8790
8791         Added ES5 Object.seal and Object.isSealed.
8792
8793         Added debugger API for scheduling debugger commands from a
8794         separate thread.
8795
8796
8797 2010-07-14: Version 2.2.24
8798
8799         Added API for capturing stack traces for uncaught exceptions.
8800
8801         Fixed crash bug when preparsing from a non-external V8 string
8802         (issue 775).
8803
8804         Fixed JSON.parse bug causing input not to be converted to string
8805         (issue 764).
8806
8807         Added ES5 Object.freeze and Object.isFrozen.
8808
8809         Performance improvements on all platforms.
8810
8811
8812 2010-07-07: Version 2.2.23
8813
8814         API change: Convert Unicode code points outside the basic multilingual
8815         plane to the replacement character.  Previous behavior was to silently
8816         truncate the value to 16 bits.
8817
8818         Fixed crash: handle all flat string types in regexp replace.
8819
8820         Prevent invalid pre-parsing data passed in through the API from
8821         crashing V8.
8822
8823         Performance improvements on all platforms.
8824
8825
8826 2010-07-05: Version 2.2.22
8827
8828         Added ES5 Object.isExtensible and Object.preventExtensions.
8829
8830         Enabled building V8 as a DLL.
8831
8832         Fixed a bug in date code where -0 was not interpreted as 0
8833         (issue 736).
8834
8835         Performance improvements on all platforms.
8836
8837
8838 2010-06-30: Version 2.2.21
8839
8840         Fixed bug in externalizing some ASCII strings (Chromium issue 47824).
8841
8842         Updated JSON.stringify to floor the space parameter (issue 753).
8843
8844         Updated the Mozilla test expectations to the newest version.
8845
8846         Updated the ES5 Conformance Test expectations to the latest version.
8847
8848         Updated the V8 benchmark suite.
8849
8850         Provide actual breakpoints locations in response to setBreakpoint
8851         and listBreakpoints requests.
8852
8853
8854 2010-06-28: Version 2.2.20
8855
8856         Fixed bug with for-in on x64 platform (issue 748).
8857
8858         Fixed crash bug on x64 platform (issue 756).
8859
8860         Fixed bug in Object.getOwnPropertyNames. (chromium issue 41243).
8861
8862         Fixed a bug on ARM that caused the result of 1 << x to be
8863         miscalculated for some inputs.
8864
8865         Performance improvements on all platforms.
8866
8867
8868 2010-06-23: Version 2.2.19
8869
8870         Fixed bug that causes the build to break when profillingsupport=off
8871         (issue 738).
8872
8873         Added expose-externalize-string flag for testing extensions.
8874
8875         Resolve linker issues with using V8 as a DLL causing a number of
8876         problems with unresolved symbols.
8877
8878         Fixed build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
8879         defined.
8880
8881         Performance improvements on all platforms.
8882
8883
8884 2010-06-16: Version 2.2.18
8885
8886         Added API functions to retrieve information on indexed properties
8887         managed by the embedding layer.  Fixes bug 737.
8888
8889         Made ES5 Object.defineProperty support array elements.  Fixes bug 619.
8890
8891         Added heap profiling to the API.
8892
8893         Removed old named property query from the API.
8894
8895         Incremental performance improvements.
8896
8897
8898 2010-06-14: Version 2.2.17
8899
8900         Improved debugger support for stepping out of functions.
8901
8902         Incremental performance improvements.
8903
8904
8905 2010-06-09: Version 2.2.16
8906
8907         Removed the SetExternalStringDiposeCallback API. Changed the
8908         disposal of external string resources to call a virtual Dispose
8909         method on the resource.
8910
8911         Added support for more precise break points when debugging and
8912         stepping.
8913
8914         Memory usage improvements on all platforms.
8915
8916
8917 2010-06-07: Version 2.2.15
8918
8919         Added an API to control the disposal of external string resources.
8920
8921         Added missing initialization of a couple of variables which makes
8922         some compilers complaint when compiling with -Werror.
8923
8924         Improved performance on all platforms.
8925
8926
8927 2010-06-02: Version 2.2.14
8928
8929         Fixed a crash in code generated for String.charCodeAt.
8930
8931         Fixed a compilation issue with some GCC versions (issue 727).
8932
8933         Performance optimizations on x64 and ARM platforms.
8934
8935
8936 2010-05-31: Version 2.2.13
8937
8938         Implemented Object.getOwnPropertyDescriptor for element indices and
8939         strings (issue 599).
8940
8941         Fixed bug for windows 64 bit C calls from generated code.
8942
8943         Added new scons flag unalignedaccesses for arm builds.
8944
8945         Performance improvements on all platforms.
8946
8947
8948 2010-05-26: Version 2.2.12
8949
8950         Allowed accessors to be defined on objects rather than just object
8951         templates.
8952
8953         Changed the ScriptData API.
8954
8955
8956 2010-05-21: Version 2.2.11
8957
8958         Fixed crash bug in liveedit on 64 bit.
8959
8960         Use 'full compiler' when debugging is active.  This should increase
8961         the density of possible break points, making single step more fine
8962         grained.  This will only take effect for functions compiled after
8963         debugging has been started, so recompilation of all functions is
8964         required to get the full effect.  IA32 and x64 only for now.
8965
8966         Misc. fixes to the Solaris build.
8967
8968         Added new flags --print-cumulative-gc-stat and --trace-gc-nvp.
8969
8970         Added filtering of CPU profiles by security context.
8971
8972         Fixed crash bug on ARM when running without VFP2 or VFP3.
8973
8974         Incremental performance improvements in all backends.
8975
8976
8977 2010-05-17: Version 2.2.10
8978
8979         Performance improvements in the x64 and ARM backends.
8980
8981
8982 2010-05-10: Version 2.2.9
8983
8984         Allowed Object.create to be called with a function (issue 697).
8985
8986         Fixed bug with Date.parse returning a non-NaN value when called on a
8987         non date string (issue 696).
8988
8989         Allowed unaligned memory accesses on ARM targets that support it (by
8990         Subrato K De of CodeAurora <subratokde@codeaurora.org>).
8991
8992         C++ API for retrieving JavaScript stack trace information.
8993
8994
8995 2010-05-05: Version 2.2.8
8996
8997         Performance improvements in the x64 and ARM backends.
8998
8999
9000 2010-05-03: Version 2.2.7
9001
9002         Added support for ES5 date time string format to Date.parse.
9003
9004         Performance improvements in the x64 backend.
9005
9006
9007 2010-04-28: Version 2.2.6
9008
9009         Added "amd64" as recognized architecture in scons build script
9010         (by Ryan Dahl <coldredlemur@gmail.com>).
9011
9012         Fixed bug in String search and replace with very simple RegExps.
9013
9014         Fixed bug in RegExp containing "\b^".
9015
9016         Performance improvements on all platforms.
9017
9018
9019 2010-04-26: Version 2.2.5
9020
9021         Various performance improvements (especially for ARM and x64)
9022
9023         Fixed bug in CPU profiling (http://crbug.com/42137)
9024
9025         Fixed a bug with the natives cache.
9026
9027         Fixed two bugs in the ARM code generator that can cause
9028         wrong calculations.
9029
9030         Fixed a bug that may cause a wrong result for shift operations.
9031
9032
9033 2010-04-21: Version 2.2.4
9034
9035         Fixed warnings on arm on newer GCC versions.
9036
9037         Fixed a number of minor bugs.
9038
9039         Performance improvements on all platforms.
9040
9041
9042 2010-04-14: Version 2.2.3
9043
9044         Added stack command and mem command to ARM simulator debugger.
9045
9046         Fixed scons snapshot and ARM build, and Windows X64 build issues.
9047
9048         Performance improvements on all platforms.
9049
9050
9051 2010-04-12: Version 2.2.2
9052
9053         Introduced new profiler API.
9054
9055         Fixed random number generator to produce full 32 random bits.
9056
9057
9058 2010-04-06: Version 2.2.1
9059
9060         Debugger improvements.
9061
9062         Fixed minor bugs.
9063
9064
9065 2010-03-29: Version 2.2.0
9066
9067         Fixed a few minor bugs.
9068
9069         Performance improvements for string operations.
9070
9071
9072 2010-03-26: Version 2.1.10
9073
9074         Fixed scons build issues.
9075
9076         Fixed a couple of minor bugs.
9077
9078
9079 2010-03-25: Version 2.1.9
9080
9081         Added API support for reattaching a global object to a context.
9082
9083         Extended debugger API with access to the internal debugger context.
9084
9085         Fixed Chromium crashes (issues http://crbug.com/39128 and
9086         http://crbug.com/39160)
9087
9088
9089 2010-03-24: Version 2.1.8
9090
9091         Added fine-grained garbage collection callbacks to the API.
9092
9093         Performance improvements on all platforms.
9094
9095
9096 2010-03-22: Version 2.1.7
9097
9098         Fixed issue 650.
9099
9100         Fixed a bug where __proto__ was sometimes enumerated (issue 646).
9101
9102         Performance improvements for arithmetic operations.
9103
9104         Performance improvements for string operations.
9105
9106         Print script name and line number information in stack trace.
9107
9108
9109 2010-03-17: Version 2.1.6
9110
9111         Performance improvements for arithmetic operations.
9112
9113         Performance improvements for string operations.
9114
9115
9116 2010-03-10: Version 2.1.4
9117
9118         Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).
9119
9120         Performance improvements on all platforms.
9121
9122
9123 2010-03-10: Version 2.1.3
9124
9125         Added API method for context-disposal notifications.
9126
9127         Added API method for accessing elements by integer index.
9128
9129         Added missing implementation of Uint32::Value and Value::IsUint32
9130         API methods.
9131
9132         Added IsExecutionTerminating API method.
9133
9134         Disabled strict aliasing for GCC 4.4.
9135
9136         Fixed string-concatenation bug (issue 636).
9137
9138         Performance improvements on all platforms.
9139
9140
9141 2010-02-23: Version 2.1.2
9142
9143         Fixed a crash bug caused by wrong assert.
9144
9145         Fixed a bug with register names on 64-bit V8 (issue 615).
9146
9147         Performance improvements on all platforms.
9148
9149
9150 2010-02-19: Version 2.1.1
9151
9152         [ES5] Implemented Object.defineProperty.
9153
9154         Improved profiler support.
9155
9156         Added SetPrototype method in the public V8 API.
9157
9158         Added GetScriptOrigin and GetScriptLineNumber methods to Function
9159         objects in the API.
9160
9161         Performance improvements on all platforms.
9162
9163
9164 2010-02-03: Version 2.1.0
9165
9166         Values are now always wrapped in objects when used as a receiver.
9167         (issue 223).
9168
9169         [ES5] Implemented Object.getOwnPropertyNames.
9170
9171         [ES5] Restrict JSON.parse to only accept strings that conforms to the
9172         JSON grammar.
9173
9174         Improvement of debugger agent (issue 549 and 554).
9175
9176         Fixed problem with skipped stack frame in profiles (issue 553).
9177
9178         Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
9179         <ry@tinyclouds.org>.
9180
9181         Fixed a bug that Math.round() returns incorrect results for huge
9182         integers.
9183
9184         Fixed enumeration order for objects created from some constructor
9185         functions (isue http://crbug.com/3867).
9186
9187         Fixed arithmetic on some integer constants (issue 580).
9188
9189         Numerous performance improvements including porting of previous IA-32
9190         optimizations to x64 and ARM architectures.
9191
9192
9193 2010-01-14: Version 2.0.6
9194
9195         Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,
9196         GetOwnProperty, FromPropertyDescriptor.
9197
9198         Fixed Mac x64 build errors.
9199
9200         Improved performance of some math and string operations.
9201
9202         Improved performance of some regexp operations.
9203
9204         Improved performance of context creation.
9205
9206         Improved performance of hash tables.
9207
9208
9209 2009-12-18: Version 2.0.5
9210
9211         Extended to upper limit of map space to allow for 7 times as many map
9212         to be allocated (issue 524).
9213
9214         Improved performance of code using closures.
9215
9216         Improved performance of some binary operations involving doubles.
9217
9218
9219 2009-12-16: Version 2.0.4
9220
9221         Added ECMAScript 5 Object.create.
9222
9223         Improved performance of Math.max and Math.min.
9224
9225         Optimized adding of strings on 64-bit platforms.
9226
9227         Improved handling of external strings by using a separate table
9228         instead of weak handles.  This improves garbage collection
9229         performance and uses less memory.
9230
9231         Changed code generation for object and array literals in toplevel
9232         code to be more compact by doing more work in the runtime.
9233
9234         Fixed a crash bug triggered when garbage collection happened during
9235         generation of a callback load inline cache stub.
9236
9237         Fixed crash bug sometimes triggered when local variables shadowed
9238         parameters in functions that used the arguments object.
9239
9240
9241 2009-12-03: Version 2.0.3
9242
9243         Optimized handling and adding of strings, for-in and Array.join.
9244
9245         Heap serialization is now non-destructive.
9246
9247         Improved profiler support with information on time spend in C++
9248         callbacks registered through the API.
9249
9250         Added commands to the debugger protocol for starting/stopping
9251         profiling.
9252
9253         Enabled the non-optimizing compiler for top-level code.
9254
9255         Changed the API to only allow strings to be set as data objects on
9256         Contexts and scripts to avoid potentially keeping global objects
9257         around for too long (issue 528).
9258
9259         OpenBSD support patch by Peter Valchev <pvalchev@gmail.com>.
9260
9261         Fixed bugs.
9262
9263
9264 2009-11-24: Version 2.0.2
9265
9266         Improved profiler support.
9267
9268         Fixed bug that broke compilation of d8 with readline support.
9269
9270
9271 2009-11-20: Version 2.0.1
9272
9273         Fixed crash bug in String.prototype.replace.
9274
9275         Reverted a change which caused Chromium interactive ui test
9276         failures.
9277
9278
9279 2009-11-18: Version 2.0.0
9280
9281         Added support for VFP on ARM.
9282
9283         Added TryCatch::ReThrow method to the API.
9284
9285         Reduced the size of snapshots and improved the snapshot load time.
9286
9287         Improved heap profiler support.
9288
9289         64-bit version now supported on Windows.
9290
9291         Fixed a number of debugger issues.
9292
9293         Fixed bugs.
9294
9295
9296 2009-10-29: Version 1.3.18
9297
9298         Reverted a change which caused crashes in RegExp replace.
9299
9300         Reverted a change which caused Chromium ui_tests failure.
9301
9302
9303 2009-10-28: Version 1.3.17
9304
9305         Added API method to get simple heap statistics.
9306
9307         Improved heap profiler support.
9308
9309         Fixed the implementation of the resource constraint API so it
9310         works when using snapshots.
9311
9312         Fixed a number of issues in the Windows 64-bit version.
9313
9314         Optimized calls to API getters.
9315
9316         Added valgrind notification on code modification to the 64-bit version.
9317
9318         Fixed issue where we logged shared library addresses on Windows at
9319         startup and never used them.
9320
9321
9322 2009-10-16: Version 1.3.16
9323
9324         X64: Convert smis to holding 32 bits of payload.
9325
9326         Introduced v8::Integer::NewFromUnsigned method.
9327
9328         Added missing null check in Context::GetCurrent.
9329
9330         Added trim, trimLeft and trimRight methods to String
9331         Patch by Jan de Mooij <jandemooij@gmail.com>
9332
9333         Implement ES5 Array.isArray
9334         Patch by Jan de Mooij <jandemooij@gmail.com>
9335
9336         Skip access checks for hidden properties.
9337
9338         Added String::Concat(Handle<String> left, Handle<String> right) to the
9339         V8 API.
9340
9341         Fixed GYP-based builds of V8.
9342
9343
9344 2009-10-07: Version 1.3.15
9345
9346         Expanded the maximum size of the code space to 512MB for 64-bit mode.
9347
9348         Fixed a crash bug happening when starting profiling (issue
9349         http://crbug.com/23768).
9350
9351
9352 2009-10-07: Version 1.3.14
9353
9354         Added GetRealNamedProperty to the API to lookup real properties
9355         located on the object or in the prototype chain skipping any
9356         interceptors.
9357
9358         Fixed the stack limits setting API to work correctly with threads. The
9359         stack limit now needs to be set to each thread thich is used with V8.
9360
9361         Removed the high-priority flag from IdleNotification()
9362
9363         Ensure V8 is initialized before locking and unlocking threads.
9364
9365         Implemented a new JavaScript minifier for compressing the source of
9366         the built-in JavaScript. This removes non-Open Source code from Douglas
9367         Crockford from the project.
9368
9369         Added a missing optimization in StringCharAt.
9370
9371         Fixed some flaky socket tests.
9372
9373         Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
9374         in 64-bit mode.
9375
9376         Fixed memory leaks in the thread management code.
9377
9378         Fixed the result of assignment to a pixel array. The assigned value
9379         is now the result.
9380
9381         Error reporting for invalid left-hand sides in for-in statements, pre-
9382         and postfix count expressions, and assignments now matches the JSC
9383         behavior in Safari 4.
9384
9385         Follow the spec in disallowing function declarations without a name.
9386
9387         Always allocate code objects within a 2 GB range. On x64 architecture
9388         this is used to use near calls (32-bit displacement) in Code objects.
9389
9390         Optimized array construction ported to x64 and ARM architectures.
9391
9392         [ES5] Changed Object.keys to return strings for element indices.
9393
9394
9395 2009-09-23: Version 1.3.13
9396
9397         Fixed uninitialized memory problem.
9398
9399         Improved heap profiler support.
9400
9401
9402 2009-09-22: Version 1.3.12
9403
9404         Changed behavior of |function|.toString() on built-in functions to
9405         be compatible with other implementations.  Patch by Jan de Mooij.
9406
9407         Added Object::IsDirty in the API.
9408
9409         Optimized array construction; it is now handled purely in native
9410         code.
9411
9412         [ES5] Made properties of the arguments array enumerable.
9413
9414         [ES5] Added test suite adapter for the es5conform test suite.
9415
9416         [ES5] Added Object.keys function.
9417
9418
9419 2009-09-15: Version 1.3.11
9420
9421         Fixed crash in error reporting during bootstrapping.
9422
9423         Optimized generated IA32 math code by using SSE2 instructions when
9424         available.
9425
9426         Implemented missing pieces of debugger infrastructure on ARM.  The
9427         debugger is now fully functional on ARM.
9428
9429         Made 'hidden' the default visibility for gcc.
9430
9431
9432 2009-09-09: Version 1.3.10
9433
9434         Fixed profiler on Mac in 64-bit mode.
9435
9436         Optimized creation of objects from simple constructor functions on
9437         ARM.
9438
9439         Fixed a number of debugger issues.
9440
9441         Reduced the amount of memory consumed by V8.
9442
9443
9444 2009-09-02: Version 1.3.9
9445
9446         Optimized stack guard checks on ARM.
9447
9448         Optimized API operations by inlining more in the API.
9449
9450         Optimized creation of objects from simple constructor functions.
9451
9452         Enabled a number of missing optimizations in the 64-bit port.
9453
9454         Implemented native-code support for regular expressions on ARM.
9455
9456         Stopped using the 'sahf' instruction on 64-bit machines that do
9457         not support it.
9458
9459         Fixed a bug in the support for forceful termination of JavaScript
9460         execution.
9461
9462
9463 2009-08-26: Version 1.3.8
9464
9465         Changed the handling of idle notifications to allow idle
9466         notifications when V8 has not yet been initialized.
9467
9468         Fixed ARM simulator compilation problem on Windows.
9469
9470
9471 2009-08-25: Version 1.3.7
9472
9473         Reduced the size of generated code on ARM platforms by reducing
9474         the size of constant pools.
9475
9476         Changed build files to not include the 'ENV' user environment
9477         variable in the build environment.
9478
9479         Changed the handling of idle notifications.
9480
9481
9482 2009-08-21: Version 1.3.6
9483
9484         Added support for forceful termination of JavaScript execution.
9485
9486         Added low memory notification to the API. The embedding host can signal
9487         a low memory situation to V8.
9488
9489         Changed the handling of global handles (persistent handles in the API
9490         sense) to avoid issues regarding allocation of new global handles
9491         during weak handle callbacks.
9492
9493         Changed the growth policy of the young space.
9494
9495         Fixed a GC issue introduced in version 1.3.5.
9496
9497
9498 2009-08-19: Version 1.3.5
9499
9500         Optimized initialization of some arrays in the builtins.
9501
9502         Fixed mac-nm script to support filenames with spaces.
9503
9504         Support for using the V8 profiler when V8 is embedded in a Windows DLL.
9505
9506         Changed typeof RegExp from 'object' to 'function' for compatibility.
9507         Fixed bug where regexps were not callable across contexts.
9508
9509         Added context independent script compilation to the API.
9510
9511         Added API call to get the stack trace for an exception.
9512
9513         Added API for getting object mirrors.
9514
9515         Made sure that SSE3 instructions are used whenever possible even when
9516         running off a snapshot generated without using SSE3 instructions.
9517
9518         Tweaked the handling of the initial size and growth policy of the heap.
9519
9520         Added native code generation for RegExp to 64-bit version.
9521
9522         Added JavaScript debugger support to 64-bit version.
9523
9524
9525 2009-08-13: Version 1.3.4
9526
9527         Added a readline() command to the d8 shell.
9528
9529         Fixed bug in json parsing.
9530
9531         Added idle notification to the API and reduced memory on idle
9532         notifications.
9533
9534
9535 2009-08-12: Version 1.3.3
9536
9537         Fixed issue 417: incorrect %t placeholder expansion.
9538
9539         Added .gitignore file similar to Chromium's one.
9540
9541         Fixed SConstruct file to build with new logging code for Android.
9542
9543         API: added function to find instance of template in prototype
9544         chain.  Inlined Object::IsInstanceOf.
9545
9546         Land change to notify valgrind when we modify code on x86.
9547
9548         Added api call to determine whether a string can be externalized.
9549
9550         Added a write() command to d8.
9551
9552
9553 2009-08-05: Version 1.3.2
9554
9555         Started new compiler infrastructure for two-pass compilation using a
9556         control flow graph constructed from the AST.
9557
9558         Profiler stack sampling for X64.
9559
9560         Safe handling of NaN to Posix platform-dependent time functions.
9561
9562         Added a new profiler control API to unify controlling various aspects
9563         of profiling.
9564
9565         Fixed issue 392.
9566
9567
9568 2009-07-30: Version 1.3.1
9569
9570         Speed improvements to accessors and interceptors.
9571
9572         Added support for capturing stack information on custom errors.
9573
9574         Added support for morphing an object into a pixel array where its
9575         indexed properties are stored in an external byte array. Values written
9576         are always clamped to the 0..255 interval.
9577
9578         Profiler on x64 now handles C/C++ functions from shared libraries.
9579
9580         Changed the debugger to avoid stepping into function.call/apply if the
9581         function is a built-in.
9582
9583         Initial implementation of constructor heap profile for JS objects.
9584
9585         More fine grained control of profiling aspects through the API.
9586
9587         Optimized the called as constructor check for API calls.
9588
9589
9590 2009-07-27: Version 1.3.0
9591
9592         Allowed RegExp objects to be called as functions (issue 132).
9593
9594         Fixed issue where global property cells would escape after
9595         detaching the global object; see http://crbug.com/16276.
9596
9597         Added support for stepping into setters and getters in the
9598         debugger.
9599
9600         Changed the debugger to avoid stopping in its own JavaScript code
9601         and in the code of built-in functions.
9602
9603         Fixed issue 345 by avoiding duplicate escaping labels.
9604
9605         Fixed ARM code generator crash in short-circuited boolean
9606         expressions and added regression tests.
9607
9608         Added an external allocation limit to avoid issues where small V8
9609         objects would hold on to large amounts of external memory without
9610         causing garbage collections.
9611
9612         Finished more of the inline caching stubs for x64 targets.
9613
9614
9615 2009-07-13: Version 1.2.14
9616
9617         Added separate paged heap space for global property cells and
9618         avoid updating the write barrier when storing into them.
9619
9620         Improved peep-hole optimization on ARM platforms by not emitting
9621         unnecessary debug information.
9622
9623         Re-enabled ICs for loads and calls that skip a global object
9624         during lookup through the prototype chain.
9625
9626         Allowed access through global proxies to use ICs.
9627
9628         Fixed issue 401.
9629
9630
9631 2009-07-09: Version 1.2.13
9632
9633         Fixed issue 397, issue 398, and issue 399.
9634
9635         Added support for breakpoint groups.
9636
9637         Fixed bugs introduced with the new global object representation.
9638
9639         Fixed a few bugs in the ARM code generator.
9640
9641
9642 2009-07-06: Version 1.2.12
9643
9644         Added stack traces collection to Error objects accessible through
9645         the e.stack property.
9646
9647         Changed RegExp parser to use a recursive data structure instead of
9648         stack-based recursion.
9649
9650         Optimized Date object construction and string concatenation.
9651
9652         Improved performance of div, mod, and mul on ARM platforms.
9653
9654
9655 2009-07-02: Version 1.2.11
9656
9657         Improved performance on IA-32 and ARM.
9658
9659         Fixed profiler sampler implementation on Mac OS X.
9660
9661         Changed the representation of global objects to improve
9662         performance of adding a lot of new properties.
9663
9664
9665 2009-06-29: Version 1.2.10
9666
9667         Improved debugger support.
9668
9669         Fixed bug in exception message reporting (issue 390).
9670
9671         Improved overall performance.
9672
9673
9674 2009-06-23: Version 1.2.9
9675
9676         Improved math performance on ARM.
9677
9678         Fixed profiler name-inference bug.
9679
9680         Fixed handling of shared libraries in the profiler tick processor
9681         scripts.
9682
9683         Fixed handling of tests that time out in the test scripts.
9684
9685         Fixed compilation on MacOS X version 10.4.
9686
9687         Fixed two bugs in the regular expression engine.
9688
9689         Fixed a bug in the string type inference.
9690
9691         Fixed a bug in the handling of 'constant function' properties.
9692
9693         Improved overall performance.
9694
9695
9696 2009-06-16: Version 1.2.8
9697
9698         Optimized math on ARM platforms.
9699
9700         Fixed two crash bugs in the handling of getters and setters.
9701
9702         Improved the debugger support by adding scope chain information.
9703
9704         Improved the profiler support by compressing log data transmitted
9705         to clients.
9706
9707         Improved overall performance.
9708
9709
9710 2009-06-08: Version 1.2.7
9711
9712         Improved debugger and profiler support.
9713
9714         Reduced compilation time by improving the handling of deferred
9715         code.
9716
9717         Optimized interceptor accesses where the property is on the object
9718         on which the interceptors is attached.
9719
9720         Fixed compilation problem on GCC 4.4 by changing the stack
9721         alignment to 16 bytes.
9722
9723         Fixed handle creation to follow stric aliasing rules.
9724
9725         Fixed compilation on FreeBSD.
9726
9727         Introduced API for forcing the deletion of a property ignoring
9728         interceptors and attributes.
9729
9730
9731 2009-05-29: Version 1.2.6
9732
9733         Added a histogram recording hit rates at different levels of the
9734         compilation cache.
9735
9736         Added stack overflow check for the RegExp analysis phase. Previously a
9737         very long regexp graph could overflow the stack with recursive calls.
9738
9739         Use a dynamic buffer when collecting log events in memory.
9740
9741         Added start/stop events to the profiler log.
9742
9743         Fixed infinite loop which could happen when setting a debug break while
9744         executing a RegExp compiled to native code.
9745
9746         Fixed handling of lastIndexOf called with negative index (issue 351).
9747
9748         Fixed irregular crash in profiler test (issue 358).
9749
9750         Fixed compilation issues with some versions of gcc.
9751
9752
9753 2009-05-26: Version 1.2.5
9754
9755         Fixed bug in initial boundary check for Boyer-Moore text
9756         search (issue 349).
9757
9758         Fixed compilation issues with MinGW and gcc 4.3+ and added support
9759         for armv7 and cortex-a8 architectures.  Patches by Lei Zhang and
9760         Craig Schlenter.
9761
9762         Added a script cache to the debugger.
9763
9764         Optimized compilation performance by improving internal data
9765         structures and avoiding expensive property load optimizations for
9766         code that's infrequently executed.
9767
9768         Exposed the calling JavaScript context through the static API
9769         function Context::GetCalling().
9770
9771
9772 2009-05-18: Version 1.2.4
9773
9774         Improved performance of floating point number allocation for ARM
9775         platforms.
9776
9777         Fixed crash when using the instanceof operator on functions with
9778         number values in their prototype chain (issue 341).
9779
9780         Optimized virtual frame operations in the code generator to speed
9781         up compilation time and allocated the frames in the zone.
9782
9783         Made the representation of virtual frames and jump targets in the
9784         code generator much more compact.
9785
9786         Avoided linear search for non-locals in scope code when resolving
9787         variables inside with and eval scopes.
9788
9789         Optimized lexical scanner by dealing with whitespace as part of
9790         the token scanning instead of as a separate step before it.
9791
9792         Changed the scavenging collector so that promoted objects do not
9793         reside in the old generation while their remembered set is being
9794         swept for pointers into the young generation.
9795
9796         Fixed numeric overflow handling when compiling count operations.
9797
9798
9799 2009-05-11: Version 1.2.3
9800
9801         Fixed bug in reporting of out-of-memory situations.
9802
9803         Introduced hidden prototypes on certain builtin prototype objects
9804         such as String.prototype to emulate JSC's behavior of restoring
9805         the original function when deleting functions from those prototype
9806         objects.
9807
9808         Fixed crash bug in the register allocator.
9809
9810
9811 2009-05-04: Version 1.2.2
9812
9813         Fixed bug in array sorting for sparse arrays (issue 326).
9814
9815         Added support for adding a soname when building a shared library
9816         on Linux (issue 151).
9817
9818         Fixed bug caused by morphing internal ASCII strings to external
9819         two-byte strings.  Slices over ASCII strings have to forward ASCII
9820         checks to the underlying buffer string.
9821
9822         Allowed API call-as-function handlers to be called as
9823         constructors.
9824
9825         Fixed a crash bug where an external string was disposed but a
9826         slice of the external string survived as a symbol.
9827
9828
9829 2009-04-27: Version 1.2.1
9830
9831         Added EcmaScript 5 JSON object.
9832
9833         Fixed bug in preemption support on ARM.
9834
9835
9836 2009-04-23: Version 1.2.0
9837
9838         Optimized floating-point operations on ARM.
9839
9840         Added a number of extensions to the debugger API.
9841
9842         Changed the enumeration order for unsigned integer keys to always
9843         be numerical order.
9844
9845         Added a "read" extension to the shell sample.
9846
9847         Added support for Array.prototype.reduce and
9848         Array.prototype.reduceRight.
9849
9850         Added an option to the SCons build to control Microsoft Visual C++
9851         link-time code generation.
9852
9853         Fixed a number of bugs (in particular issue 315, issue 316,
9854         issue 317 and issue 318).
9855
9856
9857 2009-04-15: Version 1.1.10
9858
9859         Fixed crash bug that occurred when loading a const variable in the
9860         presence of eval.
9861
9862         Allowed using with and eval in registered extensions in debug mode
9863         by fixing bogus assert.
9864
9865         Fixed the source position for function returns to enable the
9866         debugger to break there.
9867
9868
9869 2009-04-14: Version 1.1.9
9870
9871         Made the stack traversal code in the profiler robust by avoiding
9872         to look into the heap.
9873
9874         Added name inferencing for anonymous functions to facilitate
9875         debugging and profiling.
9876
9877         Re-enabled stats timers in the developer shell (d8).
9878
9879         Fixed issue 303 by avoiding to shortcut cons-symbols.
9880
9881
9882 2009-04-11: Version 1.1.8
9883
9884         Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).
9885
9886         Fixed step-in handling for Function.prototype.apply and call in
9887         the debugger (issue 269).
9888
9889         Fixed v8::Object::DeleteHiddenValue to not bail out when there
9890         are no hidden properties.
9891
9892         Added workaround for crash bug, where external symbol table
9893         entries with deleted resources would lead to NPEs when looking
9894         up in the symbol table.
9895
9896
9897 2009-04-07: Version 1.1.7
9898
9899         Added support for easily importing additional environment
9900         variables into the SCons build.
9901
9902         Optimized strict equality checks.
9903
9904         Fixed crash in indexed setters on objects without a corresponding
9905         getter (issue 298).
9906
9907         Re-enabled script compilation cache.
9908
9909
9910 2009-04-01: Version 1.1.6
9911
9912         Reverted an unsafe code generator change.
9913
9914
9915 2009-04-01: Version 1.1.5
9916
9917         Fixed bug that caused function literals to not be optimized as
9918         much as other functions.
9919
9920         Improved profiler support.
9921
9922         Fixed a crash bug in connection with debugger unloading.
9923
9924         Fixed a crash bug in the code generator caused by losing the
9925         information that a frame element was copied.
9926
9927         Fixed an exception propagation bug that could cause non-null
9928         return values when exceptions were thrown.
9929
9930
9931 2009-03-30: Version 1.1.4
9932
9933         Optimized String.prototype.match.
9934
9935         Improved the stack information in profiles.
9936
9937         Fixed bug in ARM port making it possible to compile the runtime
9938         system for thumb mode again.
9939
9940         Implemented a number of optimizations in the code generator.
9941
9942         Fixed a number of memory leaks in tests.
9943
9944         Fixed crash bug in connection with script source code and external
9945         strings.
9946
9947
9948 2009-03-24: Version 1.1.3
9949
9950         Fixed assertion failures in compilation of loop conditions.
9951
9952         Removed STL dependency from developer shell (d8).
9953
9954         Added infrastructure for protecting the V8 heap from corruption
9955         caused by memory modifications from the outside.
9956
9957
9958 2009-03-24: Version 1.1.2
9959
9960         Improved frame merge code generated by the code generator.
9961
9962         Optimized String.prototype.replace.
9963
9964         Implemented __defineGetter__ and __defineSetter__ for properties
9965         with integer keys on non-array objects.
9966
9967         Improved debugger and profiler support.
9968
9969         Fixed a number of portability issues to allow compilation for
9970         smaller ARM devices.
9971
9972         Exposed object cloning through the API.
9973
9974         Implemented hidden properties.  This is used to expose an identity
9975         hash for objects through the API.
9976
9977         Implemented restarting of regular expressions if their input
9978         string changes representation during preemption.
9979
9980         Fixed a code generator bug that could cause assignments in loops
9981         to be ignored if using continue to break out of the loop (issue
9982         284).
9983
9984
9985 2009-03-12: Version 1.1.1
9986
9987         Fixed an assertion in the new compiler to take stack overflow
9988         exceptions into account.
9989
9990         Removed exception propagation code that could cause crashes.
9991
9992         Fixed minor bug in debugger line number computations.
9993
9994         8-byte align the C stack on Linux and Windows to speed up floating
9995         point computations.
9996
9997
9998 2009-03-12: Version 1.1.0
9999
10000         Improved code generation infrastructure by doing simple register
10001         allocation and constant folding and propagation.
10002
10003         Optimized regular expression matching by avoiding to create
10004         intermediate string arrays and by flattening nested array
10005         representations of RegExp data.
10006
10007         Traverse a few stack frames when recording profiler samples to
10008         include partial call graphs in the profiling output.
10009
10010         Added support for using OProfile to profile generated code.
10011
10012         Added remote debugging support to the D8 developer shell.
10013
10014         Optimized creation of nested literals like JSON objects.
10015
10016         Fixed a bug in garbage collecting unused maps and turned it on by
10017         default (--collect-maps).
10018
10019         Added support for running tests under Valgrind.
10020
10021
10022 2009-02-27: Version 1.0.3
10023
10024         Optimized double-to-integer conversions in bit operations by using
10025         SSE3 instructions if available.
10026
10027         Optimized initialization sequences that store to multiple
10028         properties of the same object.
10029
10030         Changed the D8 debugger frontend to use JSON messages.
10031
10032         Force garbage collections when disposing contexts.
10033
10034         Align code objects at 32-byte boundaries.
10035
10036
10037 2009-02-25: Version 1.0.2
10038
10039         Improved profiling support by performing simple call stack
10040         sampling for ticks and by fixing a bug in the logging of code
10041         addresses.
10042
10043         Fixed a number of debugger issues.
10044
10045         Optimized code that uses eval.
10046
10047         Fixed a couple of bugs in the regular expression engine.
10048
10049         Reduced the size of generated code for certain regular expressions.
10050
10051         Removed JSCRE completely.
10052
10053         Fixed issue where test could not be run if there was a dot in the
10054         checkout path.
10055
10056
10057 2009-02-13: Version 1.0.1
10058
10059         Fixed two crash-bugs in irregexp (issue 231 and 233).
10060
10061         Fixed a number of minor bugs (issue 87, 227 and 228).
10062
10063         Added support for morphing strings to external strings on demand
10064         to avoid having to create copies in the embedding code.
10065
10066         Removed experimental support for external symbol callbacks.
10067
10068
10069 2009-02-09: Version 1.0.0
10070
10071         Fixed crash-bug in the code generation for case independent 16 bit
10072         backreferences.
10073
10074         Made shells more robust in the presence of string conversion
10075         failures (issue 224).
10076
10077         Fixed a potential infinite loop when attempting to resolve
10078         eval (issue 221).
10079
10080         Miscellaneous fixes to the new regular expression engine.
10081
10082         Reduced binary by stripping unneeded text from JavaScript library and
10083         minifying some JavaScript files.
10084
10085
10086 2009-01-27: Version 0.4.9
10087
10088         Enabled new regular expression engine.
10089
10090         Made a number of changes to the debugger protocol.
10091
10092         Fixed a number of bugs in the preemption support.
10093
10094         Added -p option to the developer shell to run files in parallel
10095         using preemption.
10096
10097         Fixed a number of minor bugs (including issues 176, 187, 189, 192,
10098         193, 198 and 201).
10099
10100         Fixed a number of bugs in the serialization/deserialization
10101         support for the ARM platform.
10102
10103
10104 2009-01-19: Version 0.4.8.1
10105
10106         Minor patch to debugger support.
10107
10108
10109 2009-01-16: Version 0.4.8
10110
10111         Fixed string length bug on ARM (issue 171).
10112
10113         Made most methods in the API const.
10114
10115         Optimized object literals by improving data locality.
10116
10117         Fixed bug that caused incomplete functions to be cached in case of
10118         stack overflow exceptions.
10119
10120         Fixed bugs that caused catch variables and variables introduced by
10121         eval to behave incorrectly when using accessors (issues 186, 190
10122         and 191).
10123
10124
10125 2009-01-06: Version 0.4.7
10126
10127         Minor bugfixes and optimizations.
10128
10129         Added command line debugger to D8 shell.
10130
10131         Fixed subtle bug that caused the wrong 'this' to be used when
10132         calling a caught function in a catch clause.
10133
10134         Inline array loads within loops directly in the code instead of
10135         always calling a stub.
10136
10137
10138 2008-12-11: Version 0.4.6
10139
10140         Fixed exception reporting bug where certain exceptions were
10141         incorrectly reported as uncaught.
10142
10143         Improved the memory allocation strategy used during compilation to
10144         make running out of memory when compiling huge scripts less
10145         likely.
10146
10147         Optimized String.replace by avoiding the construction of certain
10148         sub strings.
10149
10150         Fixed bug in code generation for large switch statements on ARM.
10151
10152         Fixed bug that caused V8 to change the global object template
10153         passed in by the user.
10154
10155         Changed the API for creating object groups used during garbage
10156         collection.  Entire object groups are now passed to V8 instead of
10157         individual members of the groups.
10158
10159
10160 2008-12-03: Version 0.4.5
10161
10162         Added experimental API support for allocating V8 symbols as
10163         external strings.
10164
10165         Fixed bugs in debugging support on ARM.
10166
10167         Changed eval implementation to correctly detect whether or not a
10168         call to eval is aliased.
10169
10170         Fixed bug caused by a combination of the compilation cache and
10171         dictionary probing in native code.  The bug caused us to sometimes
10172         call functions that had not yet been compiled.
10173
10174         Added platform support for FreeBSD.
10175
10176         Added support for building V8 on Windows with either the shared or
10177         static version of MSVCRT
10178
10179         Added the v8::jscre namespace around the jscre functions to avoid
10180         link errors (duplicate symbols) when building Google Chrome.
10181
10182         Added support for calling a JavaScript function with the current
10183         debugger execution context as its argument to the debugger
10184         interface.
10185
10186         Changed the type of names of counters from wchar_t to char.
10187
10188         Changed the Windows system call used to compute daylight savings
10189         time.  The system call that we used to use became four times
10190         slower on WinXP SP3.
10191
10192         Added support in the d8 developer shell for memory-mapped counters
10193         and added a stats-viewer tool.
10194
10195         Fixed bug in upper/lower case mappings (issue 149).
10196
10197
10198 2008-11-17: Version 0.4.4
10199
10200         Reduced code size by using shorter instruction encoding when
10201         possible.
10202
10203         Added a --help option to the shell sample and to the d8 shell.
10204
10205         Added visual studio project files for building the ARM simulator.
10206
10207         Fixed a number of ARM simulator issues.
10208
10209         Fixed bug in out-of-memory handling on ARM.
10210
10211         Implemented shell support for passing arguments to a script from
10212         the command line.
10213
10214         Fixed bug in date code that made certain date functions return -0
10215         instead of 0 for dates before the epoch.
10216
10217         Restricted applications of eval so it can only be used in the
10218         context of the associated global object.
10219
10220         Treat byte-order marks as whitespace characters.
10221
10222
10223 2008-11-04: Version 0.4.3
10224
10225         Added support for API accessors that prohibit overwriting by
10226         accessors defined in JavaScript code by using __defineGetter__ and
10227         __defineSetter__.
10228
10229         Improved handling of conditionals in test status files.
10230
10231         Introduced access control in propertyIsEnumerable.
10232
10233         Improved performance of some string operations by caching
10234         information about the type of the string between operations.
10235
10236         Fixed bug in fast-case code for switch statements that only have
10237         integer labels.
10238
10239
10240 2008-10-30: Version 0.4.2
10241
10242         Improved performance of Array.prototype.concat by moving the
10243         implementation to C++ (issue 123).
10244
10245         Fixed heap growth policy to avoid growing old space to its maximum
10246         capacity before doing a garbage collection and fixed issue that
10247         would lead to artificial out of memory situations (issue 129).
10248
10249         Fixed Date.prototype.toLocaleDateString to return the date in the
10250         same format as WebKit.
10251
10252         Added missing initialization checks to debugger API.
10253
10254         Added removing of unused maps during GC.
10255
10256
10257 2008-10-28: Version 0.4.1
10258
10259         Added caching of RegExp data in compilation cache.
10260
10261         Added Visual Studio project file for d8 shell.
10262
10263         Fixed function call performance regression introduced in version
10264         0.4.0 when splitting the global object in two parts (issue 120).
10265
10266         Fixed issue 131 by checking for empty handles before throwing and
10267         reporting exceptions.
10268
10269
10270 2008-10-23: Version 0.4.0
10271
10272         Split the global object into two parts: The state holding global
10273         object and the global object proxy.
10274
10275         Fixed bug that affected the value of an assignment to an element
10276         in certain cases (issue 116).
10277
10278         Added GetPropertyNames functionality (issue 33) and extra Date
10279         functions (issue 77) to the API.
10280
10281         Changed WeakReferenceCallback to take a Persistent<Value> instead
10282         of a Persistent<Object> (issue 101).
10283
10284         Fixed issues with message reporting for exceptions in try-finally
10285         blocks (issues 73 and 75).
10286
10287         Optimized flattening of strings and string equality checking.
10288
10289         Improved Boyer-Moore implementation for faster indexOf operations.
10290
10291         Added development shell (d8) which includes counters and
10292         completion support.
10293
10294         Fixed problem with the receiver passed to functions called from
10295         eval (issue 124).
10296
10297
10298 2008-10-16: Version 0.3.5
10299
10300         Improved string hash-code distribution by excluding bit-field bits
10301         from the hash-code.
10302
10303         Changed string search algorithm used in indexOf from KMP to
10304         Boyer-Moore.
10305
10306         Improved the generated code for the instanceof operator.
10307
10308         Improved performance of slow-case string equality checks by
10309         specializing the code based on the string representation.
10310
10311         Improve the handling of out-of-memory situations (issue 70).
10312
10313         Improved performance of strict equality checks.
10314
10315         Improved profiler output to make it easier to see anonymous
10316         functions.
10317
10318         Improved performance of slow-case keyed loads.
10319
10320         Improved property access performance by allocating a number of
10321         properties in the front object.
10322
10323         Changed the toString behavior on the built-in object constructors
10324         to print [native code] instead of the actual source.  Some web
10325         applications do not like constructors with complex toString
10326         results.
10327
10328
10329 2008-10-06: Version 0.3.4
10330
10331         Changed Array.prototype.sort to use quick sort.
10332
10333         Fixed code generation issue where leaving a finally block with
10334         break or continue would accumulate elements on the expression
10335         stack (issue 86).
10336
10337         Made sure that the name accessor on functions returns the expected
10338         names for builtin JavaScript functions and C++ callback functions.
10339
10340         Added fast case code for extending the property storage array of
10341         JavaScript objects.
10342
10343         Ported switch statement optimizations introduced in version 0.3.3
10344         to the ARM code generator.
10345
10346         Allowed GCC to use strict-aliasing rules when compiling.
10347
10348         Improved performance of arguments object allocation by taking care
10349         of arguments adaptor frames in the generated code.
10350
10351         Updated the V8 benchmark suite to version 2.
10352
10353
10354 2008-09-25: Version 0.3.3
10355
10356         Improved handling of relocation information to enable more
10357         peep-hole optimizations.
10358
10359         Optimized switch statements where all labels are constant small
10360         integers.
10361
10362         Optimized String.prototype.indexOf for common cases.
10363
10364         Fixed more build issues (issue 80).
10365
10366         Fixed a couple of profiler issues.
10367
10368         Fixed bug where the body of a function created using the Function
10369         constructor was not allowed to end with a single-line comment
10370         (issue 85).
10371
10372         Improved handling of object literals by canonicalizing object
10373         literal maps.  This will allow JSON objects with the same set of
10374         properties to share the same map making inline caching work better
10375         for JSON objects.
10376
10377
10378 2008-09-17: Version 0.3.2
10379
10380         Generalized the EvalCache into a CompilationCache and enabled it
10381         for scripts too.  The current strategy is to retire all entries
10382         whenever a mark-sweep collection is started.
10383
10384         Fixed bug where switch statements containing only a default case
10385         would lead to an unbalanced stack (issue 69).
10386
10387         Fixed bug that made access to the function in a named function
10388         expression impossible in certain situations (issue 24).
10389
10390         Fixed even more build issues.
10391
10392         Optimized calling conventions on ARM.  The conventions on ARM and
10393         IA-32 now match.
10394
10395         Removed static initializers for flags and counters.
10396
10397         Improved inline caching behavior for uncommon cases where lazily
10398         loading Date and RegExp code could force certain code paths go
10399         megamorphic.
10400
10401         Removed arguments adaption for builtins written in C++.  This
10402         makes Array.prototype.push and Array.prototype.pop slightly
10403         faster.
10404
10405
10406 2008-09-11: Version 0.3.1
10407
10408         Fixed a number of build issues.
10409
10410         Fixed problem with missing I-cache flusing on ARM.
10411
10412         Changed space layout in memory management by splitting up
10413         code space into old data space and code space.
10414
10415         Added utf-8 conversion support to the API (issue 57).
10416
10417         Optimized repeated calls to eval with the same strings.  These
10418         repeated calls are common in web applications.
10419
10420         Added Xcode project file.
10421
10422         Optimized a couple of Array operation.
10423
10424         Fixed parser bug by checking for end-of-string when parsing break
10425         and continue (issue 35).
10426
10427         Fixed problem where asian characters were not categorized as
10428         letters.
10429
10430         Fixed bug that disallowed calling functions fetched from an array
10431         using a string as an array index (issue 32).
10432
10433         Fixed bug where the internal field count on object templates were
10434         sometimes ignored (issue 54).
10435
10436         Added -f option to the shell sample for compatibility with other
10437         engines (issue 18).
10438
10439         Added source info to TryCatches in the API.
10440
10441         Fixed problem where the seed for the random number generator was
10442         clipped in a double to unsigned int conversion.
10443
10444         Fixed bug where cons string symbols were sometimes converted to
10445         non-symbol flat strings during GC.
10446
10447         Fixed bug in error reporting when attempting to convert null to an
10448         object.
10449
10450
10451 2008-09-04: Version 0.3.0
10452
10453         Added support for running tests on the ARM simulator.
10454
10455         Fixed bug in the 'in' operator where negative indices were not
10456         treated correctly.
10457
10458         Fixed build issues on gcc-4.3.1.
10459
10460         Changed Date.prototype.toLocaleTimeString to not print the
10461         timezone part of the time.
10462
10463         Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
10464         with user code.
10465
10466
10467 2008-09-02: Version 0.2.5
10468
10469         Renamed the top level directory 'public' to 'include'.
10470
10471         Added 'env' option to the SCons build scripts to support
10472         overriding the ENV part of the build environment.  This is mostly
10473         to support Windows builds in cases where SCons cannot find the
10474         correct paths to the Windows SDK, as these paths cannot be passed
10475         through shell environment variables.
10476
10477         Enabled "Buffer Security Check" on for the Windows SCons build and
10478         added the linker option /OPT:ICF as an optimization.
10479
10480         Added the V8 benchmark suite to the repository.
10481
10482
10483 2008-09-01: Version 0.2.4
10484
10485         Included mjsunit JavaScript test suite and C++ unit tests.
10486
10487         Changed the shell sample to not print the result of executing a
10488         script provided on the command line.
10489
10490         Fixed issue when building samples on Windows using a shared V8
10491         library.  Added visibility option on Linux build which makes the
10492         generated library 18% smaller.
10493
10494         Changed build system to accept multiple build modes in one build
10495         and generate separate objects, libraries and executables for each
10496         mode.
10497
10498         Removed deferred negation optimization (a * -b => -(a * b)) since
10499         this visibly changes operand conversion order.
10500
10501         Improved parsing performance by introducing stack guard in
10502         preparsing.  Without a stack guard preparsing always bails out
10503         with stack overflow.
10504
10505         Changed shell sample to take flags directly from the command-line.
10506         Added API call that implements this.
10507
10508         Added load, quit and version functions to the shell sample so it's
10509         easier to run benchmarks and tests.
10510
10511         Fixed issue with building samples and cctests on 64-bit machines.
10512
10513         Fixed bug in the runtime system where the prototype chain was not
10514         always searched for a setter when setting a property that does not
10515         exist locally.
10516
10517
10518 2008-08-14: Version 0.2.3
10519
10520         Improved performance of garbage collection by moving the
10521         function that updates pointers during compacting collection
10522         into the updating visitor.  This gives the compiler a better
10523         chance to inline and avoid a function call per (potential)
10524         pointer.
10525
10526         Extended the shell sample with a --runtime-flags option.
10527
10528         Added Visual Studio project files for the shell.cc and
10529         process.cc samples.
10530
10531
10532 2008-08-13: Version 0.2.2
10533
10534         Improved performance of garbage collection by changing the way
10535         we use the marking stack in the event of stack overflow during
10536         full garbage collection and by changing the way we mark roots.
10537
10538         Cleaned up ARM version by removing top of stack caching and by
10539         introducing push/pop elimination.
10540
10541         Cleaned up the way runtime functions are called to allow
10542         runtime calls with no arguments.
10543
10544         Changed Windows build options to make sure that exceptions are
10545         disabled and that optimization flags are enabled.
10546
10547         Added first version of Visual Studio project files.
10548
10549
10550 2008-08-06: Version 0.2.1
10551
10552         Improved performance of unary addition by avoiding runtime calls.
10553
10554         Fixed the handling of '>' and '<=' to use right-to-left conversion
10555         and left-to-right evaluation as specified by ECMA-262.
10556
10557         Fixed a branch elimination bug on the ARM platform where incorrect
10558         code was generated because of overly aggressive branch
10559         elimination.
10560
10561         Improved performance of code that repeatedly assigns the same
10562         function to the same property of different objects with the same
10563         map.
10564
10565         Untangled DEBUG and ENABLE_DISASSEMBLER defines.  The disassembler
10566         no longer expects DEBUG to be defined.
10567
10568         Added platform-nullos.cc to serve as the basis for new platform
10569         implementations.
10570
10571
10572 2008-07-30: Version 0.2.0
10573
10574         Changed all text files to have native svn:eol-style.
10575
10576         Added a few samples and support for building them. The samples
10577         include a simple shell that can be used to benchmark and test V8.
10578
10579         Changed V8::GetVersion to return the version as a string.
10580
10581         Added source for lazily loaded scripts to snapshots and made
10582         serialization non-destructive.
10583
10584         Improved ARM support by fixing the write barrier code to use
10585         aligned loads and stores and by removing premature locals
10586         optimization that relied on broken support for callee-saved
10587         registers (removed).
10588
10589         Refactored the code for marking live objects during garbage
10590         collection and the code for allocating objects in paged
10591         spaces. Introduced an abstraction for the map word of a heap-
10592         allocated object and changed the memory allocator to allocate
10593         executable memory only for spaces that may contain code objects.
10594
10595         Moved StringBuilder to utils.h and ScopedLock to platform.h, where
10596         they can be used by debugging and logging modules. Added
10597         thread-safe message queues for dealing with debugger events.
10598
10599         Fixed the source code reported by toString for certain builtin
10600         empty functions and made sure that the prototype property of a
10601         function is enumerable.
10602
10603         Improved performance of converting values to condition flags in
10604         generated code.
10605
10606         Merged disassembler-{arch} files.
10607
10608
10609 2008-07-28: Version 0.1.4
10610
10611         Added support for storing JavaScript stack traces in a stack
10612         allocated buffer to make it visible in shallow core dumps.
10613         Controlled by the --preallocate-message-memory flag which is
10614         disabled by default.
10615
10616
10617 2008-07-25: Version 0.1.3
10618
10619         Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
10620         map transitions would count as properties.
10621
10622         Allowed aliased eval invocations by treating them as evals in the
10623         global context. This may change in the future.
10624
10625         Added support for accessing the last entered context through the
10626         API and renamed Context::Current to Context::GetCurrent and
10627         Context::GetSecurityContext to Context::GetCurrentSecurityContext.
10628
10629         Fixed bug in the debugger that would cause the debugger scripts to
10630         be recursively loaded and changed all disabling of interrupts to
10631         be block-structured.
10632
10633         Made snapshot data read-only to allow it to be more easily shared
10634         across multiple users of V8 when linked as a shared library.
10635
10636
10637 2008-07-16: Version 0.1.2
10638
10639         Fixed building on Mac OS X by recognizing i386 and friends as
10640         IA-32 platforms.
10641
10642         Added propagation of stack overflow exceptions that occur while
10643         compiling nested functions.
10644
10645         Improved debugger with support for recursive break points and
10646         handling of exceptions that occur in the debugger JavaScript code.
10647
10648         Renamed GetInternal to GetInternalField and SetInternal to
10649         SetInternalField in the API and moved InternalFieldCount and
10650         SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
10651
10652
10653 2008-07-09: Version 0.1.1
10654
10655         Fixed bug in stack overflow check code for IA-32 targets where a
10656         non-tagged value in register eax was pushed to the stack.
10657
10658         Fixed potential quadratic behavior when converting strings to
10659         numbers.
10660
10661         Fixed bug where the return value from Object::SetProperty could
10662         end up being the property holder instead of the written value.
10663
10664         Improved debugger support by allowing nested break points and by
10665         dealing with stack-overflows when compiling functions before
10666         setting break points in them.
10667
10668
10669 2008-07-03: Version 0.1.0
10670
10671         Initial export.
10672
10673 # Local Variables:
10674 # mode:text
10675 # End: