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