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