• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
12013-12-04: Version 3.23.18
2
3        Performance and stability improvements on all platforms.
4
5
62013-12-03: Version 3.23.17
7
8        Performance and stability improvements on all platforms.
9
10
112013-12-02: Version 3.23.16
12
13        Array builtins need to be prevented from changing frozen objects, and
14        changing structure on sealed objects (Chromium issue 299979).
15
16        Performance and stability improvements on all platforms.
17
18
192013-11-29: Version 3.23.15
20
21        Fix context register allocation in LTransitionElementsKind
22        (Chromium issue 324306).
23
24        Fix bug in inlining Function.apply (Chromium issue 323942).
25
26        Ensure that length is Smi in TypedArrayFromArrayLike constructor
27        (Chromium issue 324028).
28
29        Performance and stability improvements on all platforms.
30
31
322013-11-28: Version 3.23.14
33
34        Shorten autogenerated error message (issue 3019).
35
36        Performance and stability improvements on all platforms.
37
38
392013-11-27: Version 3.23.13
40
41        Increase precision for base conversion for large integers (issue 3025).
42
43        Flatten cons string for single character substrings (Chromium issue
44        323041).
45
46        Performance and stability improvements on all platforms.
47
48
492013-11-26: Version 3.23.12
50
51        Performance and stability improvements on all platforms.
52
53
542013-11-25: Version 3.23.11
55
56        Deprecate old versions of Isolate::SetData and GetData.
57
58        Performance and stability improvements on all platforms.
59
60
612013-11-22: Version 3.23.10
62
63        Remove preemption thread and API.
64        (issue 3004)
65
66        Performance and stability improvements on all platforms.
67
68
692013-11-21: Version 3.23.9
70
71        API: Change AdjustAmountOfExternalAllocatedMemory calls to use int64_t
72        instead of intptr_t.
73
74        Remove deprecated v8::SetResourceConstraints without Isolate parameter.
75
76        Remove deprecated v8-defaults.h and defaults.cc.
77        (Chromium issue 312241)
78
79        Make it possible to add more than one piece of embedder data to
80        isolates.
81        (Chromium issue 317398)
82
83        Performance and stability improvements on all platforms.
84
85
862013-11-20: Version 3.23.8
87
88        Fixed crashes exposed though fuzzing.
89        (Chromium issue 320948)
90
91        Deprecated v8::External::New without Isolate parameter.
92
93        Made number of available threads isolate-dependent and exposed it to
94        ResourceConstraints.
95        (issue 2991)
96
97        Performance and stability improvements on all platforms.
98
99
1002013-11-19: Version 3.23.7
101
102        Bugfix: dependent code field in AllocationSite was keeping code objects
103        alive even after context death.
104        (Chromium issue 320532)
105
106        Fixed data view accessors to throw execptions on offsets bigger than
107        size_t.
108        (issue 3013)
109
110        Performance and stability improvements on all platforms.
111
112
1132013-11-18: Version 3.23.6
114
115        Limit size of dehoistable array indices.
116        (Chromium issues 319835, 319860)
117
118        Limit the size for typed arrays to MaxSmi.
119        (Chromium issue 319722)
120
121        Performance and stability improvements on all platforms.
122
123
1242013-11-15: Version 3.23.5
125
126        Fixed missing type feedback check for Generic*String addition.
127        (Chromium issue 318671)
128
129        Fixed duplicate check in DependentCode::Insert.
130        (Chromium issue 318454)
131
132        Performance and stability improvements on all platforms.
133
134
1352013-11-14: Version 3.23.4
136
137        Fixed overflow in TypedArray initialization function.
138        (Chromium issue 319120)
139
140        Performance and stability improvements on all platforms.
141
142
1432013-11-13: Version 3.23.3
144
145        Fixed compilation with GCC 4.8.
146        (issue 2767, 2149)
147
148        Added explicit Isolate parameter to External::New.
149        (Chromium issue 266838)
150
151        Performance and stability improvements on all platforms.
152
153
1542013-11-12: Version 3.23.2
155
156        Fixed --extra-code flag for snapshot creation.
157        (issue 2994)
158
159        Fixed error message wording when instanceof throws.
160        (Chromium issue 82797, issue 1593)
161
162        Performance and stability improvements on all platforms.
163
164
1652013-11-08: Version 3.23.1
166
167        Made HCapturedObjects non-deletable for DCE. (issue 2987)
168
169        Use a fixed random seed per default. (issue 1880, 2885)
170
171        Fixed y-umlaut to uppercase. (issue 2984)
172
173        Performance and stability improvements on all platforms.
174
175
1762013-11-06: Version 3.23.0
177
178        Fixed loading message from an Error object.  (Chromium issue 306220)
179
180        Made Object.freeze/seal/preventExtensions observable. (issue 2975, 2941)
181
182        Made snapshots reproducible. (issue 2885)
183
184        Added missing negative dictionary lookup to NonexistentHandlerFrontend.
185        (issue 2980)
186
187        Performance and stability improvements on all platforms.
188
189
1902013-10-31: Version 3.22.24
191
192        Fixed uint32-to-smi conversion in Lithium.
193        (Chromium issue 309623)
194
195        Performance and stability improvements on all platforms.
196
197
1982013-10-28: Version 3.22.23
199
200        Renamed deprecated __attribute__((no_address_safety_analysis)) to
201        __attribute__((no_sanitize_address)) (Chromium issue 311283)
202
203        Defined DEBUG for v8_optimized_debug=2
204
205        Performance and stability improvements on all platforms.
206
207
2082013-10-25: Version 3.22.22
209
210        Record allocation stack traces. (Chromium issue 277984,v8:2949)
211
212        Performance and stability improvements on all platforms.
213
214
2152013-10-24: Version 3.22.21
216
217        Performance and stability improvements on all platforms.
218
219
2202013-10-24: Version 3.22.20
221
222        Made Array.prototype.pop throw if the last element is not configurable.
223
224        Fixed HObjectAccess for loads from migrating prototypes.
225        (Chromium issue 305309)
226
227        Enabled preaging of code objects when --optimize-for-size.
228        (Chromium issue 280984)
229
230        Exposed v8::Function::GetDisplayName to public API.
231        (Chromium issue 17356)
232
233        Performance and stability improvements on all platforms.
234
235
2362013-10-23: Version 3.22.19
237
238        Fix materialization of captured objects with field tracking.
239        (Chromium issue 298990)
240
241        Performance and stability improvements on all platforms.
242
243
2442013-10-22: Version 3.22.18
245
246        Add tool to visualize machine code/lithium.
247
248        Handle misaligned loads and stores in load elimination. Do not track
249        misaligned loads and be conservative about invalidating misaligned
250        stores. (issue 2934)
251
252        Performance and stability improvements on all platforms.
253
254
2552013-10-21: Version 3.22.17
256
257        Harmony: Implement Math.trunc and Math.sign. (issue 2938)
258
259        Performance and stability improvements on all platforms.
260
261
2622013-10-21: Version 3.22.16
263
264        Performance and stability improvements on all platforms.
265
266
2672013-10-18: Version 3.22.15
268
269        Enabled calling the SetReference* & SetObjectGroupId functions with a
270        Persistent<SubclassOfValue>.
271
272        Performance and stability improvements on all platforms.
273
274
2752013-10-17: Version 3.22.14
276
277        Performance and stability improvements on all platforms.
278
279
2802013-10-16: Version 3.22.13
281
282        Do not look up ArrayBuffer on global object in typed array constructor.
283        (issue 2931)
284
285        Performance and stability improvements on all platforms.
286
287
2882013-10-15: Version 3.22.12
289
290        Added histograms to track fraction of heap spaces and percentage of
291        generated crankshaft code.
292
293        Moved v8_optimized_debug default value to standalone.gypi.
294
295        Track JS allocations as they arrive with no affection on performance
296        when tracking is switched off (Chromium issue 277984).
297
298        Performance and stability improvements on all platforms.
299
300
3012013-10-14: Version 3.22.11
302
303        Performance and stability improvements on all platforms.
304
305
3062013-10-11: Version 3.22.10
307
308        Fixed timezone issues with date-time/parse-* tests.
309        (Chromium issue 2919)
310
311        Added column getter to CpuProfileNode (Chromium issue 302537)
312
313        Performance and stability improvements on all platforms.
314
315
3162013-10-10: Version 3.22.9
317
318        Ensure only whitelisted stubs have sse2 versions in the snapshot.
319        (fix for chromium 304565)
320
321        Implement ArrayBuffer.isView.
322
323        Performance and stability improvements on all platforms.
324
325
3262013-10-04: Version 3.22.8
327
328        Performance and stability improvements on all platforms.
329
330
3312013-10-03: Version 3.22.7
332
333        Debug: Allow stepping into on a given call frame
334        (Chromium issue 296963).
335
336        Always use timeGetTime() for TimeTicks::Now() on Windows
337        (Chromium issue 288924).
338
339        Performance and stability improvements on all platforms.
340
341
3422013-10-02: Version 3.22.6
343
344        Performance and stability improvements on all platforms.
345
346
3472013-10-01: Version 3.22.5
348
349        Disabled externalization of sliced/cons strings in old pointer space
350        (Chromium issue 276357).
351
352        Turned on handle zapping for release builds
353
354        Performance and stability improvements on all platforms.
355
356
3572013-09-30: Version 3.22.4
358
359        Function::Call and Object::CallAsFunction APIs should allow v8::Value as
360        a receiver (issue 2915).
361
362        Removed unnecessary mutex (Chromium issue 291236).
363
364        Removed ArrayBufferView::BaseAddress method.
365
366        Performance and stability improvements on all platforms.
367
368
3692013-09-27: Version 3.22.3
370
371        Added methods to enable configuration of ResourceConstraints based on
372        limits derived at runtime.
373        (Chromium issue 292928)
374
375        Added -optimize-for-size flag to optimize for memory size (will be used
376        by pre-aging CL), and removed the is_memory_constrained
377        ResourceConstraint.
378        (Chromium issue 292928)
379
380        Performance and stability improvements on all platforms.
381
382
3832013-09-26: Version 3.22.2
384
385        Performance and stability improvements on all platforms.
386
387
3882013-09-25: Version 3.22.1
389
390        Sped up creating typed arrays from array-like objects.
391        (Chromium issue 270507)
392
393        Performance and stability improvements on all platforms.
394
395
3962013-09-23: Version 3.22.0
397
398        LiveEdit to mark more closure functions for re-instantiation when scope
399        layout changes.
400        (issue 2872)
401
402        Made bounds check elimination iterative instead of recursive.
403        (Chromium issue 289706)
404
405        Turned on i18n support by default.
406
407        Set the proper instance-type on HAllocate in BuildFastLiteral.
408        (Chromium issue 284577)
409
410        Performance and stability improvements on all platforms.
411
412
4132013-09-18: Version 3.21.17
414
415        Implemented local load/store elimination on basic blocks.
416
417        Added mutex when accessing concurrent recompilation output queue.
418        (Chromium issue 291236)
419
420        Don't lookup the cache for the result of Function::New.
421        (Chromium issue 272579)
422
423        Tweaked HConstant::EmitAtUses() to eliminate useless constant
424        generation.
425        (Chromium issue 2881)
426
427        Performance and stability improvements on all platforms.
428
429
4302013-09-16: Version 3.21.16
431
432        Every place where AllocationMemento is initialized with an
433        AllocationSite is now checked to be sure a valid Site goes in. This is
434        temporary code to diagnose chromium bug 284577.
435
436        Performance and stability improvements on all platforms.
437
438
4392013-09-13: Version 3.21.15
440
441        Non-JSObject heap objects are now handled using slow-path IC stub
442        guarded by the map.
443        (Chromium issue 280632)
444
445        i18n Javascript code added to the snapshot.
446        (V8 issue 2745)
447
448        Performance and stability improvements on all platforms.
449
4502013-09-12: Version 3.21.14
451
452        Added access check for observed objects.
453        (V8 issue 2778)
454
455        Cleaned up v8::ArrayBuffer::Allocator interface.
456        (V8 issue 2823)
457
458        Performance and stability improvements on all platforms.
459
4602013-09-11: Version 3.21.13
461
462        Added a ResourceConstraint for the embedder to specify that V8 is
463        running on a memory constrained device.
464        (Chromium issue 280984)
465
466        Removed HandleScope default ctor.
467        (Chromium issue 236173)
468
469        Enabled escape analysis for Hydrogen.
470
471        Correctly stringified mixed encoding indirect strings.
472        (Chromium issue 287476)
473
474        Performance and stability improvements on all platforms.
475
476
4772013-09-09: Version 3.21.12
478
479        Fixed bitwise negation on x64.
480        (Chromium issue 285355)
481
482        Dropped GetCurrentThreadId() and TerminateExecution(int) from
483	the external API.
484
485        Fixed polymorphic INTERCEPTOR StoreICs on ARM/MIPS.
486        (Chromium issue 284998)
487
488        Added check if timeout has expired after processing each sample.
489        (issue 2814,v8:2871)
490
491        Removed obsolete global V8::has_been_fooed flags.
492        (issue 2744)
493
494        Performance and stability improvements on all platforms.
495
496
4972013-09-05: Version 3.21.11
498
499        Performance and stability improvements on all platforms.
500
501
5022013-09-04: Version 3.21.10
503
504        Fixed Eternal::IsEmpty logic (issue 2870).
505
506        Performance and stability improvements on all platforms.
507
508
5092013-09-03: Version 3.21.9
510
511        Deprecated Persistent functions which were marked to be deprecated.
512
513        Allowed uncacheable identifiers to go generic (issue 2867).
514
515        Performance and stability improvements on all platforms.
516
517
5182013-09-02: Version 3.21.8
519
520        Added scriptId to StackTrace frames (issue 2865).
521
522        Performance and stability improvements on all platforms.
523
524
5252013-08-30: Version 3.21.7
526
527        Fixed casts of eternal handles.
528
529        Turned on global handle zapping.
530
531        Always visit branches during HGraph building (Chromium issue 280333).
532
533        Profiler changes: removed deprecated API, support higher sampling
534        rate on Windows.
535
536        Performance and stability improvements on all platforms.
537
538
5392013-08-29: Version 3.21.6
540
541        Fixed inlined 'throw' statements interfering with live range
542        computation. (issue 2843)
543
544        Performance and stability improvements on all platforms.
545
546
5472013-08-28: Version 3.21.5
548
549        Fixed compilation with recent MinGW64 versions. (issue 2300)
550
551        Added RemovePrototype to FunctionTemplate. (Chromium issue 272440)
552
553        Performance and stability improvements on all platforms.
554
555
5562013-08-26: Version 3.21.4
557
558        Lowered kInitialMaxFastElementArray constant to 95K (issue 2790).
559
560        Use signals for cpu profiling on Mac OS X (issue 2814).
561
562        Deprecated CpuProfileNode::GetSelfSamplesCount (Chromium issue 267595).
563
564        Added support for higher CPU profiler sampling rate on posix systems
565        (issue 2814).
566
567        Worked around 'inlining failed' build error with older GCC 4.x releases.
568
569        Added source map support to tick processor.
570
571        Stability improvements on all platforms.
572
573
5742013-08-23: Version 3.21.3
575
576        Temporarily disabled optimization for StringWrappers to use native
577        valueOf. (issue 2855)
578
579        Fixed crash on function declarations in eval inside non-trivial local
580        scope. (issue 2594)
581
582        Rewrote SamplingCircularQueue. (issue 2814)
583
584        Fixed hidden properties on object with frozen prototype. (issue 2829)
585
586        Fix deoptimization bug. (Chromium issue 274164)
587
588        Stability improvements on all platforms.
589
590
5912013-08-22: Version 3.21.2
592
593        Stability improvements on all platforms.
594
595
5962013-08-21: Version 3.21.1
597
598        Promoted ArrayBuffer, DataView and typed arrays to non-experimental.
599        (Chromium issue 270527)
600
601        Replaced OS::MemCopy with memcpy in typed array initialization.
602        (Chromium issue 270642)
603
604        Moved i18n break iterator C++ code to runtime (issue 2745)
605
606        Fixed invalid out-of-bounds store in MacroAssembler::Allocate.
607        (Chromium issue 263515)
608
609        Fixed register misuse in Allocate() on ARM. (issue 2851)
610
611        Fixed empty handle dereference in Runtime_InternalNumberFormat.
612        (Chromium issue 275467)
613
614        Performance and stability improvements on all platforms.
615
616
6172013-08-19: Version 3.21.0
618
619        Fixed GC-related crasher (Chromium issue 274438)
620
621        Reverted making Intl non-enumerable.
622
623        Performance and stability improvements on all platforms.
624
625
6262013-08-14: Version 3.20.17
627
628        Fixed Math.round/floor that had bogus Smi representation
629        (Chromium issue 272564)
630
631        Performance and stability improvements on all platforms.
632
633
6342013-08-13: Version 3.20.16
635
636        Fixed bug in HPhi::SimplifyConstantInput (Chromium issue 269679)
637
638        Fixed gcmole bugs in i18n code (issue 2745)
639
640        ia32: Calls to the TranscendentalCacheStub must ensure that esi is
641        set (issue 2827)
642
643        Made sure polymorphic element access creates non-replaying
644        phis. (issue 2815)
645
646        Allowed HPhis to have an invalid merge index. (issue 2815)
647
648        Fixed smi-based math floor. (Chromium issue 270268)
649
650        Deprecated self and total time getters and total sample count
651        getter on CpuProfileNode. (Chromium issue 267595)
652
653        Fixed Object.freeze, Object.observe wrt CountOperation and
654        CompoundAssignment. (issue 2774,2779)
655
656        Performance and stability improvements on all platforms.
657
658
6592013-08-07: Version 3.20.15
660
661        Exposed eternal handle api.
662
663        Bugfix to solve issues with enabling V8 typed arrays in Blink.
664
665        Fixed Array index dehoisting.  (Chromium issue 264203)
666
667        Updated Array Iterator to use numeric indexes (issue 2818)
668
669        Return start/end profiling time in microseconds instead of milliseconds
670        (issue 2824)
671
672        Performance and stability improvements on all platforms.
673
674
6752013-08-06: Version 3.20.14
676
677        Added new Harmony methods to Array.prototype object.
678        (issue 2776,v8:2777)
679
680        Performance and stability improvements on all platforms.
681
682
6832013-08-01: Version 3.20.12
684
685        Removed buggy ToNumber truncation (partial fix for issue 2813)
686
687        Calling Map etc without new should throw TypeError (issue 2819)
688
689        Fixed a crash for large code objects on ARM (Chromium issue 2736)
690
691        Fixed stale unhandlified value in JSObject::SetPropertyForResult.
692        (Chromium issue 265894)
693
694        Added new Harmony methods to String.prototype object.
695        (issue 2796,v8:2797,v8:2798,v8:2799)
696
697        Performance and stability improvements on all platforms.
698
699
7002013-07-30: Version 3.20.11
701
702        Performance and stability improvements on all platforms.
703
704
7052013-07-29: Version 3.20.10
706
707        Performance and stability improvements on all platforms.
708
709
7102013-07-26: Version 3.20.9
711
712        Check that ExternalString objects get aligned resources.
713
714        Fixed JSArray-specific length lookup in polymorphic array handling
715        (Chromium issues 263276, 263905).
716
717        Performance and stability improvements on all platforms.
718
719
7202013-07-24: Version 3.20.8
721
722        Deprecated v8::V8::Pause/ResumeProfiler.
723
724        Fixed Chromium issues 247688, 258519 and 260203.
725
726        Performance and stability improvements on all platforms.
727
728
7292013-07-22: Version 3.20.7
730
731        Deprecated some debugger methods.
732
733        Fixed wrong bailout id in polymorphic stores (Chromium issue 259787).
734
735        Fixed data race in SamplingCircularQueue (Chromium issue 251218).
736
737        Fixed type feedback in presence of negative lookups
738        (Chromium issue 252797).
739
740        Do not materialize context-allocated values for debug-evaluate
741        (Chromium issue 259300).
742
743        Synchronized Compare-Literal behavior in FullCodegen and Hydrogen
744        (Chromium issue 260345).
745
746        Performance and stability improvements on all platforms.
747
748
7492013-07-17: Version 3.20.6
750
751        Try to remove invalidated stubs before falling back to checking the
752        constant state (Chromium issue 260585).
753
754        Fixed gyp_v8 to work with use_system_icu=1 (issue 2475).
755
756        Fixed sloppy-mode 'const' under Harmony flag (Chromium issue 173361).
757
758        Use internal array as API function cache  (Chromium issue 260106).
759
760        Fixed possible stack overflow in range analysis
761        (Chromium issue 259452).
762
763        Performance and stability improvements on all platforms.
764
765
7662013-07-15: Version 3.20.5
767
768        Ensured that the length of frozen arrays is immutable
769        (issue 2711, Chromium issue 259548).
770
771        Performance and stability improvements on all platforms.
772
773
7742013-07-10: Version 3.20.4
775
776        Fixed garbage-collection issue that causes a crash on ARM
777        (Chromium issue 254570)
778
779        Performance and stability improvements on all platforms.
780
781
7822013-07-08: Version 3.20.3
783
784        Performance and stability improvements on all platforms.
785
786
7872013-07-05: Version 3.20.2
788
789        Remove deprecated heap profiler methods from V8 public API
790
791        Mark i18n functions as native and set proper names
792        (issue 2745)
793
794        Correctly report stack trace when current function is FunctionApply
795        builtin (Chromium issue 252097)
796
797        Enable GDBJIT interface for standalone by default.
798
799        Fix debuggersupport=off build. (issue 2754)
800
801        Introduce -m64 flag for making x64 when the default gcc compiler is for
802        X32
803
804        Performance and stability improvements on all platforms.
805
806
8072013-07-02: Version 3.20.1
808
809        Implemented WeakMap.prototype.clear function. (issue 2753)
810
811        Ensure CheckInitialized is present independent of define.
812        (Chromium issue 255779)
813
814        Performance and stability improvements on all platforms.
815
816
8172013-06-28: Version 3.20.0
818
819        Migrated several tests from blink to V8 repository.
820
821        Allowed users of the V8 API to distinguish between unset and undefined
822        HiddenValues (issue 2746).
823
824        Deprecated old style callbacks in the V8 API.
825
826        Turned on parallel recompilation.
827
828        Performance and stability improvements on all platforms.
829
830
8312013-06-18: Version 3.19.18
832
833	Fixed read-only attribute of Function.length in strict mode.
834	(issue 2705)
835
836	Fixed Runtime_SetProperty to properly handle OOM failures
837	(Chromium issue 249873)
838
839	Emit deprecated check for constant function transitions.
840	(Chromium issue 250609)
841
842	Made MathFloorOfDiv optimization trigger more often
843	(Issue 2205)
844
845	Make more GCs in idle notification handler.
846	(Chromium issue 241815)
847
848	Increased default type info threshold.
849	(Issue 2730)
850
851        Performance and stability improvements on all platforms.
852
853
8542013-06-14: Version 3.19.16
855
856        Performance and stability improvements on all platforms.
857
858
8592013-06-13: Version 3.19.15
860
861        Performance and stability improvements on all platforms.
862
863
8642013-06-13: Version 3.19.14
865
866        Fixed crashes when calling new Array(a) with a single argument that
867        could result in creating a holey array with a packed elements kind.
868        (Chromium issue 245480)
869
870        Fixed issues in parallel compilation.
871        (Chromium issue 248076)
872
873        Performance and stability improvements on all platforms.
874
875
8762013-06-11: Version 3.19.13
877
878        Performance and stability improvements on all platforms.
879
880
8812013-06-10: Version 3.19.12
882
883        Fixed arguments array access. (Chromium issue 247303)
884
885        Fixed bug in LookupForWrite. (Chromium issue 242332)
886
887        Performance and stability improvements on all platforms.
888
889
8902013-06-07: Version 3.19.11
891
892        Performance and stability improvements on all platforms.
893
894
8952013-06-06: Version 3.19.10
896
897        Performance and stability improvements on all platforms.
898
899
9002013-06-05: Version 3.19.9
901
902        Implemented Load IC support for loading properties from primitive
903        values to avoid perpetual soft deopts.  (Chromium issue 242512)
904
905        Implemented Freeing of PerThreadAssertData when possible to avoid
906        memory leak. (Chromium issue 246567)
907
908        Removed V8_USE_OLD_STYLE_PERSISTENT_HANDLE_VISITORS.
909
910        Performance and stability improvements on all platforms.
911
912
9132013-06-03: Version 3.19.8
914
915        Fixed bug with inlining 'Array' function. (Chromium issue 244461)
916
917        Fixed initialization of literal objects. (Chromium issue 245424)
918
919        Fixed function name inferred inside closures. (Chromium issue 224884)
920
921        Performance and stability improvements on all platforms.
922
923
9242013-05-31: Version 3.19.7
925
926        Added support for //# sourceURL similar to deprecated //@ sourceURL one.
927        (issue 2702)
928
929        Made sure IfBuilder::Return clears the current block.
930        (Chromium issue 243868)
931
932        Fixed two CPU profiler tests on ARM and MIPS simulators
933        (issue 2628)
934
935        Fixed idle incremental GC for large objects.
936        (Chromium issue 241815)
937
938        Disabled --optimize-constructed-arrays due to crashes
939        (Chromium issue 244461)
940
941        Performance and stability improvements on all platforms.
942
943
9442013-05-28: Version 3.19.6
945
946        Fixed IfBuilder::Deopt to clear the current block
947        (Chromium issue 243868).
948
949        Performance and stability improvements on all platforms.
950
951
9522013-05-27: Version 3.19.5
953
954        Reset regexp parser flag after scanning ahead for capture groups.
955        (issue 2690)
956
957        Removed flakiness in test-cpu-profiler/SampleWhenFrameIsNotSetup.
958        (issue 2628)
959
960        Performance and stability improvements on all platforms.
961
962
9632013-05-24: Version 3.19.4
964
965        Fixed edge case in stack trace formatting. (Chromium issue 237617)
966
967        Fixed embedded new-space pointer in LCmpObjectEqAndBranch. (Chromium
968	issue 240032)
969
970        Made Object.freeze fast (issue 1858, Chromium issue 115960)
971
972        Fixed bogus deopt in BuildEmitDeepCopy for holey arrays. (Chromium issue
973        242924)
974
975        Performance and stability improvements on all platforms.
976
977
9782013-05-22: Version 3.19.3
979
980        Performance and stability improvements on all platforms.
981
982
9832013-05-17: Version 3.19.2
984
985        Fill in one-word-fillers for the unused property fields
986        (Chromium issue 240056).
987
988        Removed use_system_v8 logic from the mainline gyp file
989        (Chromium issue 226860).
990
991        Skip CPU profiler samples where top function's stack frame is not
992        set up properly (issue 2628).
993
994        Performance and stability improvements on all platforms.
995
996
9972013-05-14: Version 3.19.1
998
999        Fixed missing hole check for loads from Smi arrays when all uses are
1000        changes (Chromium issue 233737)
1001
1002        Performance and stability improvements on all platforms.
1003
1004
10052013-05-10: Version 3.19.0
1006
1007        Deprecated Context::New which returns Persistent.
1008
1009        Added Persistent<T>::Reset which disposes the handle and redirects it to
1010        point to another object.
1011
1012        Deprecated WriteAscii and MayContainNonAscii.
1013
1014        Exposed AssertNoAllocation to API.
1015
1016        Performance and stability improvements on all platforms.
1017
1018
10192013-04-30: Version 3.18.5
1020
1021        Allowed setting debugger breakpoints on CompareNilICs (issue 2660)
1022
1023        Fixed beyond-heap load on x64 Crankshafted StringCharFromCode
1024        (Chromium issue 235311)
1025
1026        Change 'Parse error' to three more informative messages.
1027        (Chromium issue 2636)
1028
1029        Performance and stability improvements on all platforms.
1030
1031
10322013-04-26: Version 3.18.4
1033
1034        Added a preliminary API for ES6 ArrayBuffers
1035
1036        Replaced qsort with std::sort. (Chromium issue 2639)
1037
1038        Performance and stability improvements on all platforms.
1039
1040
10412013-04-24: Version 3.18.3
1042
1043        Exposed the GC under a name that is less collision prone than window.gc.
1044        (issue 2641)
1045
1046        Do not emit double values at their use sites. (Chromium issue 234101)
1047
1048        Added methods to allow resuming execution after calling
1049        TerminateExecution(). (issue 2361)
1050
1051        Performance and stability improvements on all platforms.
1052
1053
10542013-04-22: Version 3.18.2
1055
1056        OS::MemMove/OS::MemCopy: Don't call through to generated code when size
1057        == 0 to avoid prefetching invalid memory (Chromium issue 233500)
1058
1059        Removed heap snapshot size limit. (Chromium issue 232305)
1060
1061        Performance and stability improvements on all platforms.
1062
1063
10642013-04-18: Version 3.18.1
1065
1066        Removed SCons related files and deprecated test suite configurations.
1067
1068        Improved handling of unary plus (issue 2527).
1069
1070        Performance and stability improvements on all platforms.
1071
1072
10732013-04-17: Version 3.18.0
1074
1075        Enabled pretenuring of fast literals in high promotion mode.
1076
1077        Removed preparser library; link preparser executable against full V8.
1078
1079        Fixed set-up of intrinsic's 'constructor' properties.
1080        (Chromium issue 229445)
1081
1082        ES6 symbols: extended V8 API to support symbols (issue 2158).
1083
1084        Removed ARM support for VFP2.
1085
1086        Made __proto__ a real JavaScript accessor property.
1087        (issue 1949 and issue 2606)
1088
1089        Performance and stability improvements on all platforms.
1090
1091
10922013-04-04: Version 3.17.16
1093
1094        Stack trace API: poison stack frames below the first strict mode frame.
1095        (issue 2564)
1096
1097        Made Isolate::GetHeapStatistics robust against half-initialized
1098        isolates (Chromium issue 2591).
1099
1100        Finished implementation of ES6 symbols aka. private names (issue 2158).
1101
1102        Performance and stability improvements on all platforms.
1103
1104
11052013-03-21: Version 3.17.15
1106
1107        Rolled back API changes to maintain compatibility with older
1108        3.17.x versions of V8.
1109
1110        Disable zapping of global handles in release mode.
1111
1112        Always mark the entire valid prefix of the descriptor array.
1113        (Chromium issue 196331)
1114
1115        Use internal memcpy for CopyWords and when copying code.
1116        (Chromium issue 196330)
1117
1118        Performance and stability improvements on all platforms.
1119
1120
11212013-03-20: Version 3.17.14
1122
1123        Use internal memcpy when initializing code objects.
1124        (Chromium issue 196330)
1125
1126        Disabled weak embedded maps because of crashes.
1127        (Chromium issues 172489, 217858)
1128
1129        Performance and stability improvements on all platforms.
1130
1131
11322013-03-19: Version 3.17.13
1133
1134        Turned Flags into a uint32_t typedef (Chromium issue 194749).
1135
1136        Performance and stability improvements on all platforms.
1137
1138
11392013-03-18: Version 3.17.12
1140
1141        Unified kMaxArguments with number of bits used to encode it.
1142        (Chromium issue 211741)
1143
1144        Fixed detection of |handle_smi| case in
1145        HOptimizedGraphBuilder::HandlePolymorphicCallNamed.
1146        (Chromium issue 196583)
1147
1148        Performance and stability improvements on all platforms.
1149
1150
11512013-03-15: Version 3.17.11
1152
1153        Added a version of the v8::HandleScope constructor with an v8::Isolate
1154        parameter and made AdjustAmountOfExternalAllocatedMemory an instance
1155        method of v8::Isolate.
1156        (issue 2487)
1157
1158        Fixed two register allocator bugs (off-by-one error/failure
1159        propagation). (issue 2576)
1160
1161        Fixed huge heap snapshot when a heavily shared context has many
1162        variables. (Chromium issue 145687)
1163
1164        Performance and stability improvements on all platforms.
1165
1166
11672013-03-13: Version 3.17.10
1168
1169        Fixed heap snapshot creation for Harmony collections. (issue 2535)
1170
1171        Fixed register allocation corner case. (Chromium issue 177883)
1172
1173        Performance and stability improvements on all platforms.
1174
1175
11762013-03-08: Version 3.17.9
1177
1178        Restored Function()'s expected string representation. (issue 2470)
1179
1180        Enabled deprecatations (again). (issue 2487)
1181
1182        Avoid bool to Oddball conversions by being lazy. (issue 2491)
1183
1184        Added %p option to --logfile.
1185
1186        Hardened Function()'s parsing of function literals. (issue 2470)
1187
1188        ES6 symbols: Refine test for getOwnPropertyNames. (issue 2158)
1189
1190        Performance and stability improvements on all platforms.
1191
1192
11932013-03-07: Version 3.17.8
1194
1195        Added missing license headers. (Chromium issue 98597)
1196
1197        Inserted missing type cast in JSON.stringify. (issue 2570)
1198
1199        Reverted "Send SIGPROF signals on the profiler event processor thread"
1200        (issue 2571)
1201
1202        Fixed Array.length, String.length and Function.prototype LoadICs on x64.
1203        (issue 2568)
1204
1205        ES6 symbols: filter symbols form for-in loops and Object.keys.
1206        (issue 2158)
1207
1208        Properly handle misses for StoreArrayLengthStub on ia32 and x64
1209        (issue 2566)
1210
1211        Fixed x32 handling of Atomic64. (Chromium issue chromium-os:36866)
1212
1213        Removed "library" variable from standalone.gypi. (Chromium issue 111541)
1214
1215        Fixed HCheckSmiOrInt <-> HBoundsCheck interaction wrt. representations.
1216        (issue 2556)
1217
1218        Enabled zapping of disposed global handles in release mode.
1219        (Chromium issue 176056)
1220
1221        Added workaround for redefinition of __proto__ property. (issue 2565)
1222
1223        ES6 symbols: Allow symbols as property names. (issue 2158)
1224
1225        Performance and stability improvements on all platforms.
1226
1227
12282013-03-04: Version 3.17.7
1229
1230        Limited recursion in regexp compilation by a budget.
1231        (Chromium issue 178790)
1232
1233        ES6 symbols: Implemented Symbol intrinsic and basic functionality
1234        (issue 2158)
1235
1236        Performance and stability improvements on all platforms.
1237
1238
12392013-02-28: Version 3.17.6
1240
1241        Fixed materialization of arguments objects with unknown values.
1242        (Chromium issue 163530)
1243
1244        Set default number of sweeper threads to at most four.
1245
1246        Performance and stability improvements on all platforms.
1247
1248
12492013-02-27: Version 3.17.5
1250
1251        Made __proto__ a foreign callback on Object.prototype.
1252        (issue 621, issue 1949 and issue 2441)
1253
1254        Performance and stability improvements on all platforms.
1255
1256
12572013-02-25: Version 3.17.4
1258
1259        Performance and stability improvements on all platforms.
1260
1261
12622013-02-21: Version 3.17.3
1263
1264        Performance and stability improvements on all platforms.
1265
1266
12672013-02-19: Version 3.17.2
1268
1269        Removed bogus check for TOP register in deoptimizer.
1270        (Chromium issue 176943)
1271
1272        Made the Isolate parameter mandatory for internal HandleScopes.
1273        (issue 2487)
1274
1275        Fixed f.apply() optimization when declared arguments are mutated.
1276        (issue 2539)
1277
1278        Performance and stability improvements on all platforms.
1279
1280
12812013-02-14: Version 3.17.1
1282
1283        Performance and stability improvements on all platforms.
1284
1285
12862013-02-13: Version 3.17.0
1287
1288        Enabled parallel sweeping.
1289
1290        Don't try to unlink instructions twice during GVN
1291        (Chromium issue 175141)
1292
1293        Fixed code flusher disabling while marking incrementally.
1294        (Chromium issue 173458, 168582)
1295
1296        Don't use TLS for space iterators.
1297        (issue 2531)
1298
1299        Added new GetHeapStatistics API entry and deprecated old one.
1300
1301        Fixed DoubleStackSlot-to-DoubleStackSlot moves on ia32. Unified
1302        platform-independent code.
1303        (Chromium issue 173907)
1304
1305        Added --trace-array-abuse to help find OOB accesses.
1306
1307        Performance and stability improvements on all platforms.
1308
1309
13102013-02-06: Version 3.16.14
1311
1312        Performance and stability improvements on all platforms.
1313
1314
13152013-02-04: Version 3.16.13
1316
1317        Tagged stubs that rely on instance types as MEGAMORPHIC.
1318        (Chromium issue 173974)
1319
1320        Fixed clearing of dead dependent codes and verifing of weak
1321        embedded maps on full GC. (Chromium issue 172488,172489)
1322
1323        Made the arm port build cleanly with Clang.
1324
1325        Performance and stability improvements on all platforms.
1326
1327
13282013-01-31: Version 3.16.12
1329
1330        Performance and stability improvements on all platforms.
1331
1332
13332013-01-30: Version 3.16.11
1334
1335        Put making embedded maps in optimized code weak behind a flag.
1336        (Chromium issue 172488,172489)
1337
1338        Performance and stability improvements on all platforms.
1339
1340
13412013-01-25: Version 3.16.10
1342
1343        Avoid excessive memory usage during redundant phi elimination.
1344        (issue 2510)
1345
1346        Fixed additional spec violations wrt RegExp.lastIndex.
1347        (issue 2437)
1348
1349        Added Isolate parameter to Persistent class.
1350        (issue 2487)
1351
1352        Performance and stability improvements on all platforms.
1353
1354
13552013-01-24: Version 3.16.9
1356
1357        Made embedded maps in optimized code weak.
1358        (issue 2073)
1359
1360        Fixed corner case when JSFunction is evicted from flusher.
1361        (Chromium issue 168801)
1362
1363        Correctly set kCanBeDivByZero flag for HMathFloorOfDiv.
1364        (Chromium issue 171641)
1365
1366        Performance and stability improvements on all platforms.
1367
1368
13692013-01-23: Version 3.16.8
1370
1371        Correctly reset lastIndex in an RegExp object.
1372        (Chromium issue 170856)
1373
1374        Added a workaround for Windows compilation problems related to V8EXPORT.
1375        (issue 2507)
1376
1377        tools/run-tests.py: shlex.split() the value of --command-prefix
1378        (Chromium issue 171553)
1379
1380        Fixed pattern detection for replacing shifts by rotation.
1381        (Chromium issue 2499)
1382
1383        Performance and stability improvements on all platforms.
1384
1385
13862013-01-21: Version 3.16.7
1387
1388        Removed <(library) usage from v8.gyp.
1389        (Chromium issue 111541)
1390
1391        Fixed out of bounds memory access in TestJSArrayForAllocationSiteInfo.
1392        (Chromium issue 169928)
1393
1394        Performance and stability improvements on all platforms.
1395
1396
13972013-01-18: Version 3.16.6
1398
1399        Made the Isolate parameter mandatory in Locker and Unlocker classes.
1400        (issue 2487)
1401
1402        Avoid pointer underflow in CopyCharsUnsigned.
1403        (issue 2493)
1404
1405        Generate shim headers when using system v8.
1406        (Chromium issue 165264)
1407
1408        Fixed arguments materialization for inlined apply().
1409        (issue 2489)
1410
1411        Sync'ed laziness between BuildFunctionInfo and MakeFunctionInfo.
1412        (Chromium issue 147497)
1413
1414        Added sanity check to CodeFlusher::AddCandidate.
1415        (Chromium issue 169209)
1416
1417        Performance and stability improvements on all platforms.
1418
1419
14202013-01-15: Version 3.16.5
1421
1422        Removed deprecated functions from V8's external API.
1423
1424        Prepared API for WebKit use of Latin-1.
1425
1426        Fixed V8 issue 2486.
1427
1428        Fixed Chromium issue 169723.
1429
1430        Performance and stability improvements on all platforms.
1431
1432
14332013-01-11: Version 3.16.4
1434
1435        Fixed Chromium issues 168545 and 169209.
1436
1437        Performance and stability improvements on all platforms.
1438
1439
14402013-01-09: Version 3.16.3
1441
1442        Improved GC performance when moving parts of a FixedArray (issue 2452).
1443
1444        Enabled readline on d8 while building a shared lib (issue 1781).
1445
1446        Fixed missing exception check in typed array constructor
1447        (Chromium issue 168545).
1448
1449        Check for read-only-ness when preparing for array sort (issue 2419).
1450
1451        Performance and stability improvements on all platforms.
1452
1453
14542013-01-04: Version 3.16.2
1455
1456        Added Makefile options to build for the Raspberry Pi (armv7=0,
1457        arm_fpu=vfp2).
1458
1459        Performance and stability improvements on all platforms.
1460
1461
14622012-12-27: Version 3.16.1
1463
1464        Fixed x64 MathMinMax for negative untagged int32 arguments.
1465        (Chromium issue 164442)
1466
1467        Fixed FloatingPointHelper::CheckSSE2OperandIsInt32.
1468        (issue 2458)
1469
1470        Performance and stability improvements on all platforms.
1471
1472
14732012-12-21: Version 3.16.0
1474
1475        V8_Fatal now prints C++ stack trace in debug mode.
1476
1477        Added HTML-based tick processor.
1478
1479        Continued implementation of Object.observe (V8 issue 2409).
1480
1481        Fixed V8 issues 2243, 2340, 2393, 2399, 2457.
1482
1483        Fixed Chromium issues 125308, 165637, 166379, 166553.
1484
1485        Performance and stability improvements on all platforms.
1486
1487
14882012-12-10: Version 3.15.11
1489
1490        Define CAN_USE_VFP2/3_INSTRUCTIONS based on arm_neon and arm_fpu GYP
1491        flags.
1492
1493        Performance and stability improvements on all platforms.
1494
1495
14962012-12-07: Version 3.15.10
1497
1498        Enabled optimisation of functions inside eval. (issue 2315)
1499
1500        Fixed spec violations in methods of Number.prototype. (issue 2443)
1501
1502        Added GCTracer metrics for a scavenger GC for DOM wrappers.
1503
1504        Performance and stability improvements on all platforms.
1505
1506
15072012-12-06: Version 3.15.9
1508
1509        Fixed candidate eviction in code flusher.
1510        (Chromium issue 159140)
1511
1512        Iterate through all arguments for side effects in Math.min/max.
1513        (issue 2444)
1514
1515        Fixed spec violations related to regexp.lastIndex
1516        (issue 2437, issue 2438)
1517
1518        Performance and stability improvements on all platforms.
1519
1520
15212012-12-04: Version 3.15.8
1522
1523        Enforced stack allocation of TryCatch blocks.
1524        (issue 2166,chromium:152389)
1525
1526        Fixed external exceptions in external try-catch handlers.
1527        (issue 2166)
1528
1529        Activated incremental code flushing by default.
1530
1531        Performance and stability improvements on all platforms.
1532
1533
15342012-11-30: Version 3.15.7
1535
1536        Activated code aging by default.
1537
1538        Included more information in --prof log.
1539
1540        Removed eager sweeping for lazy swept spaces. Try to find in
1541        SlowAllocateRaw a bounded number of times a big enough memory slot.
1542        (issue 2194)
1543
1544        Performance and stability improvements on all platforms.
1545
1546
15472012-11-26: Version 3.15.6
1548
1549        Ensure double arrays are filled with holes when extended from
1550        variations of empty arrays. (Chromium issue 162085)
1551
1552        Performance and stability improvements on all platforms.
1553
1554
15552012-11-23: Version 3.15.5
1556
1557        Fixed JSON.stringify for objects with interceptor handlers.
1558        (Chromium issue 161028)
1559
1560        Fixed corner case in x64 compare stubs. (issue 2416)
1561
1562        Performance and stability improvements on all platforms.
1563
1564
15652012-11-16: Version 3.15.4
1566
1567        Fixed Array.prototype.join evaluation order. (issue 2263)
1568
1569        Perform CPU sampling by CPU sampling thread only iff processing thread
1570        is not running. (issue 2364)
1571
1572        When using an Object as a set in Object.getOwnPropertyNames, null out
1573        the proto. (issue 2410)
1574
1575        Disabled EXTRA_CHECKS in Release build.
1576
1577        Heap explorer: Show representation of strings.
1578
1579        Removed 'type' and 'arguments' properties from Error object.
1580        (issue 2397)
1581
1582        Added atomics implementation for ThreadSanitizer v2.
1583        (Chromium issue 128314)
1584
1585        Fixed LiveEdit crashes when object/array literal is added. (issue 2368)
1586
1587        Performance and stability improvements on all platforms.
1588
1589
15902012-11-13: Version 3.15.3
1591
1592        Changed sample shell to send non-JS output (e.g. errors) to stderr
1593        instead of stdout.
1594
1595        Correctly check for stack overflow even when interrupt is pending.
1596        (issue 214)
1597
1598        Collect stack trace on stack overflow. (issue 2394)
1599
1600        Performance and stability improvements on all platforms.
1601
1602
16032012-11-12: Version 3.15.2
1604
1605        Function::GetScriptOrigin supplies sourceURL when script name is
1606        not available.  (Chromium issue 159413)
1607
1608        Made formatting error message side-effect-free.  (issue 2398)
1609
1610        Fixed length check in JSON.stringify.  (Chromium issue 160010)
1611
1612        ES6: Added support for Set and Map clear method (issue 2400)
1613
1614        Fixed slack tracking when instance prototype changes.
1615        (Chromium issue 157019)
1616
1617        Fixed disabling of code flusher while marking.  (Chromium issue 159140)
1618
1619        Added a test case for object grouping in a scavenger GC (issue 2077)
1620
1621        Support shared library build of Android for v8.
1622        (Chromium issue 158821)
1623
1624        ES6: Added support for size to Set and Map (issue 2395)
1625
1626        Performance and stability improvements on all platforms.
1627
1628
16292012-11-06: Version 3.15.1
1630
1631        Put incremental code flushing behind a flag. (Chromium issue 159140)
1632
1633        Performance and stability improvements on all platforms.
1634
1635
16362012-10-31: Version 3.15.0
1637
1638        Loosened aligned code target requirement on ARM (issue 2380)
1639
1640        Fixed JSON.parse to treat leading zeros correctly.
1641        (Chromium issue 158185)
1642
1643        Performance and stability improvements on all platforms.
1644
1645
16462012-10-22: Version 3.14.5
1647
1648        Killed off the SCons based build.
1649
1650        Added a faster API for creating v8::Integer objects.
1651
1652        Speeded up function deoptimization by avoiding quadratic pass over
1653        optimized function list. (Chromium issue 155270)
1654
1655        Always invoke the default Array.sort functions from builtin functions.
1656        (issue 2372)
1657
1658        Reverted recent CPU profiler changes because they broke --prof.
1659        (issue 2364)
1660
1661        Switched code flushing to use different JSFunction field.
1662        (issue 1609)
1663
1664        Performance and stability improvements on all platforms.
1665
1666
16672012-10-15: Version 3.14.4
1668
1669        Allow evals for debugger even if they are prohibited in the debugee
1670        context. (Chromium issue 154733)
1671
1672        Enabled --verify-heap in release mode (issue 2120)
1673
1674        Performance and stability improvements on all platforms.
1675
1676
16772012-10-11: Version 3.14.3
1678
1679        Use native context to retrieve ErrorMessageForCodeGenerationFromStrings
1680        (Chromium issue 155076).
1681
1682        Bumped variable limit further to 2^17 (Chromium issue 151625).
1683
1684        Performance and stability improvements on all platforms.
1685
1686
16872012-10-10: Version 3.14.2
1688
1689        ARM: allowed VFP3 instructions when hardfloat is enabled.
1690        (Chromium issue 152506)
1691
1692        Fixed instance_descriptors() and PushStackTraceAndDie regressions.
1693        (Chromium issue 151749)
1694
1695        Made GDBJIT interface compile again. (issue 1804)
1696
1697        Fixed Accessors::FunctionGetPrototype's proto chain traversal.
1698        (Chromium issue 143967)
1699
1700        Made sure that names of temporaries do not clash with real variables.
1701        (issue 2322)
1702
1703        Rejected local module declarations. (Chromium issue 150628)
1704
1705        Rejected uses of lexical for-loop variable on the RHS. (issue 2322)
1706
1707        Fixed slot recording of code target patches.
1708        (Chromium issue 152615,chromium:144230)
1709
1710        Changed the Android makefile to use GCC 4.6 instead of GCC 4.4.3.
1711
1712        Performance and stability improvements on all platforms.
1713
1714
17152012-10-01: Version 3.14.1
1716
1717        Don't set -m32 flag when compiling with Android ARM compiler.
1718        (Chromium issue 143889)
1719
1720        Restore the descriptor array before returning allocation failure.
1721        (Chromium issue 151750)
1722
1723        Lowered kMaxVirtualRegisters (v8 issue 2139, Chromium issues 123822 and
1724        128252).
1725
1726        Pull more recent gyp in 'make dependencies'.
1727
1728        Made sure that the generic KeyedStoreIC changes length and element_kind
1729        atomically (issue 2346).
1730
1731        Bumped number of allowed variables per scope to 65535, to address GWT.
1732        (Chromium issue 151625)
1733
1734        Support sourceURL for dynamically inserted scripts (issue 2342).
1735
1736        Performance and stability improvements on all platforms.
1737
1738
17392012-09-20: Version 3.14.0
1740
1741        Fixed missing slot recording during clearing of CallICs.
1742        (Chromium issue 144230)
1743
1744        Fixed LBoundsCheck on x64 to handle (stack slot + constant) correctly.
1745        (Chromium issue 150729)
1746
1747        Fixed minus zero test. (Issue 2133)
1748
1749        Fixed setting array length to zero for slow elements.
1750        (Chromium issue 146910)
1751
1752        Fixed lost arguments dropping in HLeaveInlined.
1753        (Chromium issue 150545)
1754
1755        Fixed casting error for receiver of interceptors.
1756        (Chromium issue 149912)
1757
1758        Throw a more descriptive exception when blocking 'eval' via CSP.
1759        (Chromium issue 140191)
1760
1761        Fixed debugger's eval when close to stack overflow. (issue 2318)
1762
1763        Added checks to live edit. (issue 2297)
1764
1765        Switched on code compaction on incremental GCs.
1766
1767        Fixed caching of optimized code for OSR. (issue 2326)
1768
1769        Not mask exception thrown by toString in String::UtfValue etc.
1770        (issue 2317)
1771
1772        Fixed API check for length of external arrays. (Chromium issue 148896)
1773
1774        Ensure correct enumeration indices in the dict (Chromium issue 148376)
1775
1776        Correctly initialize regexp global cache. (Chromium issue 148378)
1777
1778        Fixed arguments object materialization during deopt. (issue 2261)
1779
1780        Introduced new API to expose external string resource regardless of
1781        encoding.
1782
1783        Fixed CHECK failure in LCodeGen::DoWrapReceiver when
1784        --deopt-every-n-times flag is present
1785        (Chromium issue 148389)
1786
1787        Fixed edge case of extension with NULL as source string.
1788        (Chromium issue 144649)
1789
1790        Fixed array index dehoisting. (Chromium issue 141395)
1791
1792        Performance and stability improvements on all platforms.
1793
1794
17952012-09-11: Version 3.13.7
1796
1797        Enable/disable LiveEdit using the (C++) debug API.
1798
1799        Performance and stability improvements on all platforms.
1800
1801
18022012-09-06: Version 3.13.6
1803
1804        Added validity checking to API functions and calls.
1805
1806        Disabled accessor inlining (Chromium issue 134609).
1807
1808        Fixed bug in Math.min/max in optimized code (Chromium issue 145961).
1809
1810        Directly use %ObjectKeys in json stringify (Chromium issue 2312).
1811
1812        Fixed VS2005 build (issue 2313).
1813
1814        Activated fixed ES5 readonly semantics by default.
1815
1816        Added hardfp flag to the Makefile.
1817
1818        Performance and stability improvements on all platforms.
1819
1820
18212012-08-29: Version 3.13.5
1822
1823        Release stack trace data after firing Error.stack accessor.
1824        (issue 2308)
1825
1826        Added a new API V8::SetJitCodeEventHandler to push code name and
1827        location to users such as profilers.
1828
1829        Allocate block-scoped global bindings to global context.
1830
1831        Performance and stability improvements on all platforms.
1832
1833
18342012-08-28: Version 3.13.4
1835
1836        Print reason for disabling optimization. Kill --trace-bailout flag.
1837
1838        Provided option to disable full DEBUG build on Android.
1839
1840        Introduced global contexts to represent lexical global scope(s).
1841
1842        Fixed rounding in Uint8ClampedArray setter. (issue 2294)
1843
1844        Performance and stability improvements on all platforms.
1845
1846
18472012-08-21: Version 3.13.3
1848
1849        Performance and stability improvements on all platforms.
1850
1851
18522012-08-20: Version 3.13.2
1853
1854        Performance and stability improvements on all platforms.
1855
1856
18572012-08-16: Version 3.13.1
1858
1859        Performance and stability improvements on all platforms.
1860
1861
18622012-08-10: Version 3.13.0
1863
1864        Added histograms for total allocated/live heap size, as well as
1865        allocated size and percentage of total for map and cell space.
1866
1867        Fixed parseInt's octal parsing behavior (ECMA-262 Annex E 15.1.2.2).
1868        (issue 1645)
1869
1870        Added checks for interceptors to negative lookup code in Crankshaft.
1871        (Chromium issue 140473)
1872
1873        Made incremental marking clear ICs and type feedback cells.
1874
1875        Performance and stability improvements on all platforms.
1876
1877
18782012-08-01: Version 3.12.19
1879
1880        Performance and stability improvements on all platforms.
1881
1882
18832012-07-30: Version 3.12.18
1884
1885        Forced using bit-pattern for signed zero double. (issue 2239)
1886
1887        Made sure double to int conversion is correct. (issue 2260)
1888
1889        Performance and stability improvements on all platforms.
1890
1891
18922012-07-27: Version 3.12.17
1893
1894        Always set the callee's context when calling a function from optimized
1895        code.
1896        (Chromium issue 138887)
1897
1898        Fixed building with GCC 3.x
1899        (issue 2016, 2017)
1900
1901        Improved API calls that return empty handles.
1902        (issue 2245)
1903
1904        Performance and stability improvements on all platforms.
1905
1906
19072012-07-25: Version 3.12.16
1908
1909        Performance and stability improvements on all platforms.
1910
1911
19122012-07-24: Version 3.12.15
1913
1914        Added PRESERVE_ASCII_NULL option to String::WriteAscii.
1915        (issue 2252)
1916
1917        Added dependency to HLoadKeyed* instructions to prevent invalid
1918        hoisting. (Chromium issue 137768)
1919
1920        Enabled building d8 for Android on Mac.
1921
1922        Interpret negative hexadecimal literals as NaN.
1923        (issue 2240)
1924
1925        Expose counters in javascript when using --track-gc-object-stats.
1926
1927        Enabled building and testing V8 on Android IA.
1928
1929        Added --trace-parse flag to parser.
1930
1931        Performance and stability improvements on all platforms.
1932
1933
19342012-07-18: Version 3.12.14
1935
1936        Deactivated optimization of packed arrays.
1937        (Chromium issue 137768)
1938
1939        Fixed broken accessor transition.
1940        (Chromium issue 137689)
1941
1942        Performance and stability improvements on all platforms.
1943
1944
19452012-07-17: Version 3.12.13
1946
1947        Fixed missing tagging of stack value in finally block.
1948        (Chromium issue 137496)
1949
1950        Added more support for heap analysis.
1951
1952        Performance and stability improvements on all platforms.
1953
1954
19552012-07-16: Version 3.12.12
1956
1957        Added an option to the tickprocessor to specify the directory for lib
1958        lookup.
1959
1960        Fixed ICs for slow objects with native accessor (Chromium issue 137002).
1961
1962        Fixed transcendental cache on ARM in optimized code (issue 2234).
1963
1964        New heap inspection tools: counters for object sizes and counts,
1965        histograms for external fragmentation.
1966
1967        Incorporated constness into inferred interfaces (in preparation for
1968        handling imports) (issue 1569).
1969
1970        Performance and stability improvements on all platforms.
1971
1972
19732012-07-12: Version 3.12.11
1974
1975        Renamed "mips" arch to "mipsel" in the GYP build.
1976
1977        Fixed computation of call targets on prototypes in Crankshaft.
1978        (Chromium issue 125148)
1979
1980        Removed use of __lookupGetter__ when generating stack trace.
1981        (issue 1591)
1982
1983        Turned on ES 5.2 globals semantics by default.
1984        (issue 1991, Chromium issue 80591)
1985
1986        Synced preparser and parser wrt syntax error in switch..case.
1987        (issue 2210)
1988
1989        Fixed reporting of octal literals in strict mode when preparsing.
1990        (issue 2220)
1991
1992        Fixed inline constructors for Harmony Proxy prototypes.
1993        (issue 2225)
1994
1995        Performance and stability improvements on all platforms.
1996
1997
19982012-07-10: Version 3.12.10
1999
2000        Re-enabled and fixed issue with array bounds check elimination
2001        (Chromium issue 132114).
2002
2003        Fixed Debug::Break crash. (Chromium issue 131642)
2004
2005        Added optimizing compiler support for JavaScript getters.
2006
2007        Performance and stability improvements on all platforms.
2008
2009
20102012-07-06: Version 3.12.9
2011
2012        Correctly advance the scanner when scanning unicode regexp flag.
2013        (Chromium issue 136084)
2014
2015        Fixed unhandlified code calling Harmony Proxy traps.
2016        (issue 2219)
2017
2018        Performance and stability improvements on all platforms.
2019
2020
20212012-07-05: Version 3.12.8
2022
2023        Implemented TypedArray.set and ArrayBuffer.slice in d8.
2024
2025        Performance and stability improvements on all platforms.
2026
2027
20282012-07-03: Version 3.12.7
2029
2030        Fixed lazy compilation for strict eval scopes.
2031        (Chromium issue 135066)
2032
2033        Made MACOSX_DEPLOYMENT_TARGET configurable in GYP.
2034        (issue 2151)
2035
2036        Report "hidden properties" in heap profiler for properties case.
2037        (issue 2212)
2038
2039        Activated optimization of packed arrays by default.
2040
2041        Performance and stability improvements on all platforms.
2042
2043
20442012-06-29: Version 3.12.6
2045
2046        Cleaned up hardfp ABI detection for ARM (V8 issue 2140).
2047
2048        Extended TypedArray support in d8.
2049
2050
20512012-06-28: Version 3.12.5
2052
2053        Fixed lazy parsing heuristics to respect outer scope.
2054        (Chromium issue 135008)
2055
2056        Allow using test-wrapper-gypbuild.py on Windows when no python
2057        interpreter is registered.
2058
2059        Performance and stability improvements on all platforms.
2060
2061
20622012-06-27: Version 3.12.4
2063
2064        Removed -fomit-frame-pointer flag from Release builds to make
2065        the stack walkable by TCMalloc (Chromium issue 133723).
2066
2067        Ported r7868 (constant masking) to x64 (issue 1374).
2068
2069        Expose more detailed memory statistics (issue 2201).
2070
2071        Fixed Harmony Maps and WeakMaps for undefined values
2072        (Chromium issue 132744).
2073
2074        Correctly throw reference error in strict mode with ICs disabled
2075        (issue 2119).
2076
2077        Performance and stability improvements on all platforms.
2078
2079
20802012-06-25: Version 3.12.3
2081
2082        Reverted r11835 'Unify promotion and allocation limit computation' due
2083        to V8 Splay performance regression on Mac.  (Chromium issue 134183)
2084
2085        Fixed sharing of literal boilerplates for optimized code.  (issue 2193)
2086
2087        Performance and stability improvements on all platforms.
2088
2089
20902012-06-22: Version 3.12.2
2091
2092        Made near-jump check more strict in LoadNamedFieldPolymorphic on
2093        ia32/x64. (Chromium issue 134055)
2094
2095        Fixed lazy sweeping heuristics to prevent old-space expansion.
2096        (issue 2194)
2097
2098        Performance and stability improvements on all platforms.
2099
2100
21012012-06-21: Version 3.12.1
2102
2103        Performance and stability improvements on all platforms.
2104
2105
21062012-06-20: Version 3.12.0
2107
2108        Fixed Chromium issues:
2109        115100, 129628, 131994, 132727, 132741, 132742, 133211
2110
2111        Fixed V8 issues:
2112        915, 1914, 2034, 2087, 2094, 2134, 2156, 2166, 2172, 2177, 2179, 2185
2113
2114        Added --extra-code flag to mksnapshot to load JS code into the VM
2115        before creating the snapshot.
2116
2117        Support 'restart call frame' command in the debugger.
2118
2119        Performance and stability improvements on all platforms.
2120
2121
21222012-06-13: Version 3.11.10
2123
2124        Implemented heap profiler memory usage reporting.
2125
2126        Preserved error message during finally block in try..finally.
2127        (Chromium issue 129171)
2128
2129        Fixed EnsureCanContainElements to properly handle double values.
2130        (issue 2170)
2131
2132        Improved heuristics to keep objects in fast mode with inherited
2133        constructors.
2134
2135        Performance and stability improvements on all platforms.
2136
2137
21382012-06-06: Version 3.11.9
2139
2140        Implemented ES5-conformant semantics for inherited setters and read-only
2141        properties. Currently behind --es5_readonly flag, because it breaks
2142        WebKit bindings.
2143
2144        Exposed last seen heap object id via v8 public api.
2145
2146        Performance and stability improvements on all platforms.
2147
2148
21492012-05-31: Version 3.11.8
2150
2151        Avoid overdeep recursion in regexp where a guarded expression with a
2152        minimum repetition count is inside another quantifier.
2153        (Chromium issue 129926)
2154
2155        Fixed missing write barrier in store field stub.
2156        (issues 2143, 1465, Chromium issue 129355)
2157
2158        Proxies: Fixed receiver for setters inherited from proxies.
2159        Proxies: Fixed ToStringArray function so that it does not reject some
2160        keys.
2161        (issue 1543)
2162
2163        Performance and stability improvements on all platforms.
2164
2165
21662012-05-29: Version 3.11.7
2167
2168        Get better function names in stack traces.
2169
2170        Performance and stability improvements on all platforms.
2171
2172
21732012-05-24: Version 3.11.6
2174
2175        Fixed RegExp.prototype.toString for incompatible receivers
2176        (issue 1981).
2177
2178        Performance and stability improvements on all platforms.
2179
2180
21812012-05-23: Version 3.11.5
2182
2183        Performance and stability improvements on all platforms.
2184
2185
21862012-05-22: Version 3.11.4
2187
2188        Some cleanup to common.gypi. This fixes some host/target combinations
2189        that weren't working in the Make build on Mac.
2190
2191        Handle EINTR in socket functions and continue incomplete sends.
2192        (issue 2098)
2193
2194        Fixed python deprecations.  (issue 1391)
2195
2196        Made socket send and receive more robust and return 0 on failure.
2197        (Chromium issue 15719)
2198
2199        Fixed GCC 4.7 (C++11) compilation.  (issue 2136)
2200
2201        Set '-m32' option for host and target platforms
2202
2203        Performance and stability improvements on all platforms.
2204
2205
22062012-05-18: Version 3.11.3
2207
2208        Disable optimization for functions that have scopes that cannot be
2209        reconstructed from the context chain. (issue 2071)
2210
2211        Define V8_EXPORT to nothing for clients of v8. (Chromium issue 90078)
2212
2213        Correctly check for native error objects.  (Chromium issue 2138)
2214
2215        Performance and stability improvements on all platforms.
2216
2217
22182012-05-16: Version 3.11.2
2219
2220        Revert r11496. (Chromium issue 128146)
2221
2222        Implement map collection for incremental marking. (issue 1465)
2223
2224        Add toString method to CallSite (which describes a frame of the
2225        stack trace).
2226
2227
22282012-05-15: Version 3.11.1
2229
2230        Added a readbuffer function to d8 that reads a file into an ArrayBuffer.
2231
2232        Fix freebsd build. (V8 issue 2126)
2233
2234        Performance and stability improvements on all platforms.
2235
2236
22372012-05-11: Version 3.11.0
2238
2239        Fixed compose-discard crasher from r11524 (issue 2123).
2240
2241        Activated new global semantics by default. Global variables can
2242        now shadow properties of the global object (ES5.1 erratum).
2243
2244        Properly set ElementsKind of empty FAST_DOUBLE_ELEMENTS arrays when
2245        transitioning (Chromium issue 117409).
2246
2247        Made Error.prototype.name writable again, as required by the spec and
2248        the web (Chromium issue 69187).
2249
2250        Implemented map collection with incremental marking (issue 1465).
2251
2252        Regexp: Fixed overflow in min-match-length calculation
2253        (Chromium issue 126412).
2254
2255        MIPS: Fixed illegal instruction use on Loongson in code for
2256        Math.random() (issue 2115).
2257
2258        Fixed crash bug in VisitChoice (Chromium issue 126272).
2259
2260        Fixed unsigned-Smi check in MappedArgumentsLookup
2261        (Chromium issue 126414).
2262
2263        Fixed LiveEdit for function with no locals (issue 825).
2264
2265        Fixed register clobbering in LoadIC for interceptors
2266        (Chromium issue 125988).
2267
2268        Implemented clearing of CompareICs (issue 2102).
2269
2270        Performance and stability improvements on all platforms.
2271
2272
22732012-05-03: Version 3.10.8
2274
2275        Enabled MIPS cross-compilation.
2276
2277        Ensured reload of elements pointer in StoreFastDoubleElement stub.
2278        (Chromium issue 125515)
2279
2280        Fixed corner cases in truncation behavior when storing to
2281        TypedArrays. (issue 2110)
2282
2283        Fixed failure to properly recognize and report out-of-memory
2284        conditions when allocating code space pages. (Chromium issue
2285        118625)
2286
2287        Fixed idle notifications to perform a round of incremental GCs
2288        after context disposal. (issue 2107)
2289
2290        Fixed preparser for try statement. (issue 2109)
2291
2292        Performance and stability improvements on all platforms.
2293
2294
22952012-04-30: Version 3.10.7
2296
2297        Performance and stability improvements on all platforms.
2298
2299
23002012-04-26: Version 3.10.6
2301
2302        Fixed some bugs in accessing details of the last regexp match.
2303
2304        Fixed source property of empty RegExp objects. (issue 1982)
2305
2306        Enabled inlining some V8 API functions.
2307
2308        Performance and stability improvements on all platforms.
2309
2310
23112012-04-23: Version 3.10.5
2312
2313        Put new global var semantics behind a flag until WebKit tests are
2314        cleaned up.
2315
2316        Enabled stepping into callback passed to builtins.
2317        (Chromium issue 109564)
2318
2319        Performance and stability improvements on all platforms.
2320
2321
23222012-04-19: Version 3.10.4
2323
2324        Fixed issues when stressing compaction with WeakMaps.
2325
2326        Fixed missing GVN flag for new-space promotion. (Chromium issue 123919)
2327
2328        Simplify invocation sequence at monomorphic function invocation sites.
2329        (issue 2079)
2330
2331        Performance and stability improvements on all platforms.
2332
2333
23342012-04-17: Version 3.10.3
2335
2336        Fixed several bugs in heap profiles (including issue 2078).
2337
2338        Throw syntax errors on illegal escape sequences.
2339
2340        Implemented rudimentary module linking (behind --harmony flag)
2341
2342        Implemented ES5 erratum: Global declarations should shadow
2343        inherited properties.
2344
2345        Made handling of const more consistent when combined with 'eval'
2346        and 'with'.
2347
2348        Fixed V8 on MinGW-x64 (issue 2026).
2349
2350        Performance and stability improvements on all platforms.
2351
2352
23532012-04-13: Version 3.10.2
2354
2355        Fixed native ARM build (issues 1744, 539)
2356
2357        Return LOOKUP variable instead of CONTEXT for non-context allocated
2358        outer scope parameters (Chromium issue 119609).
2359
2360        Fixed regular and ElementsKind transitions interfering with each other
2361        (Chromium issue 122271).
2362
2363        Improved performance of keyed loads/stores which have a HeapNumber
2364        index (issues 1388, 1295).
2365
2366        Fixed WeakMap processing for evacuation candidates (issue 2060).
2367
2368        Bailout on possible direct eval calls (Chromium issue 122681).
2369
2370        Do not assume that names of function expressions are context-allocated
2371        (issue 2051).
2372
2373        Performance and stability improvements on all platforms.
2374
2375
23762012-04-10: Version 3.10.1
2377
2378        Fixed bug with arguments object in inlined functions (issue 2045).
2379
2380        Fixed performance bug with lazy initialization (Chromium issue
2381        118686).
2382
2383        Added suppport for Mac OS X 64bit builds with GYP.
2384        (Patch contributed by Filipe David Manana <fdmanana@gmail.com>)
2385
2386        Fixed bug with hidden properties (issue 2034).
2387
2388        Fixed a performance bug when reloading pages (Chromium issue 117767,
2389        V8 issue 1902).
2390
2391        Fixed bug when optimizing throw in top-level code (issue 2054).
2392
2393        Fixed two bugs with array literals (issue 2055, Chromium issue 121407).
2394
2395        Fixed bug with Math.min/Math.max with NaN inputs (issue 2056).
2396
2397        Fixed a bug with the new runtime profiler (Chromium issue 121147).
2398
2399        Fixed compilation of V8 using uClibc.
2400
2401        Optimized boot-up memory use.
2402
2403        Optimized regular expressions.
2404
2405
24062012-03-30: Version 3.10.0
2407
2408        Fixed store IC writability check in strict mode
2409        (Chromium issue 120099).
2410
2411        Resynchronize timers if the Windows system time was changed.
2412        (Chromium issue 119815)
2413
2414        Removed "-mfloat-abi=hard" from host compiler cflags when building for
2415        hardfp ARM
2416        (https://code.google.com/p/chrome-os-partner/issues/detail?id=8539)
2417
2418        Fixed edge case for case independent regexp character classes
2419        (issue 2032).
2420
2421        Reset function info counters after context disposal.
2422        (Chromium issue 117767, V8 issue 1902)
2423
2424        Fixed missing write barrier in CopyObjectToObjectElements.
2425        (Chromium issue 119926)
2426
2427        Fixed missing bounds check in HasElementImpl.
2428        (Chromium issue 119925)
2429
2430        Performance and stability improvements on all platforms.
2431
2432
24332012-03-23: Version 3.9.24
2434
2435        Activated count-based profiler for ARM.
2436
2437        Fixed use of proxies as f.prototype properties. (issue 2021)
2438
2439        Enabled snapshots on MIPS.
2440
2441        Performance and stability improvements on all platforms.
2442
2443
24442012-03-21: Version 3.9.23
2445
2446        Use correct arguments adaptation environment when inlining function
2447        containing arguments. (Issue 2014)
2448
2449        Performance and stability improvements on all platforms.
2450
2451
24522012-03-20: Version 3.9.22
2453
2454        Enabled count-based profiler by default.
2455
2456        Implemented a hash based look-up to speed up address checks
2457        in large object space (issue 853).
2458
2459        Performance and stability improvements on all platforms.
2460
2461
24622012-03-19: Version 3.9.21
2463
2464        Fixed push-to-trunk script (and re-push).
2465
2466        Added API call that identifies strings that are guaranteed only to
2467        contain ASCII characters.
2468
2469
24702012-03-19: Version 3.9.20
2471
2472        Fixed declarations escaping global strict eval. (Issue 1624)
2473
2474        Fixed wrapping of receiver for non-strict callbacks. (Issue 1973)
2475
2476        Fixed function declarations overwriting read-only global properties.
2477        (Chromium issue 115452)
2478
2479        Fixed --use-strict flag in combination with --harmony[-scoping].
2480
2481        Debugger: naive implementation of "step into Function.prototype.bind".
2482
2483        Debugger: added ability to set script source from within OnBeforeCompile
2484
2485        Added flag to always call DebugBreak on abort.
2486
2487        Re-enabled constructor inlining and inline === comparison with boolean
2488        constants. (Issue 2009)
2489
2490        Don't use an explicit s0 in ClampDoubleToUint8. (Issue 2004)
2491
2492        Performance and stability improvements on all platforms.
2493
2494
24952012-03-14: Version 3.9.19
2496
2497        Ensure there is a smi check of the receiver for global load and call
2498        ICs (Chromium issue 117794).
2499
2500        Performance and stability improvements on all platforms.
2501
2502
25032012-03-13: Version 3.9.18
2504
2505        Ensure consistency of Math.sqrt on Intel platforms.
2506
2507        Remove static initializers in v8. (issue 1859)
2508
2509        Add explicit dependency on v8_base in the GYP-based build.
2510
2511        Performance and stability improvements on all platforms.
2512
2513
25142012-03-12: Version 3.9.17
2515
2516        Fixed VFP detection through compiler defines. (issue 1996)
2517
2518        Add Code-related fields to postmortem metadata.
2519
2520        Performance and stability improvements on all platforms.
2521
2522
25232012-03-09: Version 3.9.16
2524
2525        Added basic interface inference for modules (behind the --harmony flag).
2526
2527        Added Object.is, Number.isFinite, Number.isNaN.
2528
2529        Updated the Unicode tables to Unicode version 6.1.0.
2530
2531        Performance and stability improvements on all platforms.
2532
2533
25342012-03-06: Version 3.9.15
2535
2536        Fix the heap profiler crash caused by memory layout changes between
2537        passes.
2538
2539        Fix Error.prototype.toString to throw TypeError. (issue 1980)
2540
2541        Fix double-rounding in strtod for MinGW. (issue 1062)
2542
2543        Fix corrupted snapshot serializaton on ia32. (Chromium issue v8/1985)
2544
2545        Performance and stability improvements on all platforms.
2546
2547
25482012-03-01: Version 3.9.14
2549
2550        Performance and stability improvements on all platforms.
2551
2552
25532012-02-29: Version 3.9.13
2554
2555        Added code kind check before preparing for OSR. (issue 1900, 115073)
2556
2557        Fixed issue 1802: Pass zone explicitly to zone-allocation on x64 and
2558        ARM.
2559
2560        Ported string construct stub to x64. (issue 849)
2561
2562        Performance and stability improvements on all platforms.
2563
2564
25652012-02-28: Version 3.9.12
2566
2567        Fixed the negative lookup stub to handle deleted entries in a
2568        dictionary. (issue 1964)
2569
2570        Added a new API where the host can supply a callback function. The
2571        callback function can resolve the location of a return address on stack
2572        to the location where a return-address rewriting profiler stashed the
2573        original return address.
2574
2575        Fixed Chromium issue http://crbug.com/115646: When compiling for-in
2576        pass correct context value to the increment instruction.
2577
2578        Fixed issue 1853: Update breakpoints set with partial file name after
2579        compile.
2580
2581
25822012-02-27: Version 3.9.11
2583
2584        Made 'module' a context-sensitive keyword (V8 issue 1957).
2585
2586
25872012-02-24: Version 3.9.10
2588
2589        Fixed V8 issues 1322, 1772 and 1969.
2590
2591        Conformance improvements.
2592
2593        Performance and stability improvements on all platforms.
2594
2595
25962012-02-23: Version 3.9.9
2597
2598        Supported fast case for-in in Crankshaft.
2599
2600        Sped up heap snapshot serialization and dominators construction.
2601
2602        Randomized allocation addresses on windows. (Chromium issue 115151)
2603
2604        Fixed compilation with MinGW-w64. (issue 1943)
2605
2606        Fixed incorrect value of assignments to non-extensible properties.
2607
2608        Fixed a crash bug in generated code on ia32.
2609
2610        Performance and stability improvements on all platforms.
2611
2612
26132012-02-21: Version 3.9.8
2614
2615        Fixed memory leak and missing #include in StartupDataDecompressor
2616        (issue 1960).
2617
2618        Renamed static methods to avoid shadowing virtual methods and fix Clang
2619        C++11 compile error.
2620
2621        Fixed sequence of element access in array builtins (issue 1790).
2622
2623        Performance and stability improvements on all platforms.
2624
2625
26262012-02-16: Version 3.9.7
2627
2628        Fixed V8 issues 1322, 1878, 1942, 1945 and Chromium issue 113924.
2629
2630        Fixed GCC-4.7 warnings.
2631
2632        Added Navier-Stokes benchmark.
2633
2634        Performance and stability improvements on all platforms.
2635
2636
26372012-02-14: Version 3.9.6
2638
2639        Fixed template-related linker error. (issue 1936)
2640
2641        Allowed inlining of functions containing object literals.  (issue 1322)
2642
2643        Added --call-graph-size option to tickprocessor.  (issue 1937)
2644
2645        Heap Snapshot maximum size limit is too low for really big apps. At the
2646        moment the limit is 256MB.  (Chromium issue 113015)
2647
2648        Performance and stability improvements on all platforms.
2649
2650
26512012-02-09: Version 3.9.5
2652
2653        Removed unused command line flags.
2654
2655        Performance and stability improvements on all platforms.
2656
2657
26582012-02-08: Version 3.9.4
2659
2660        Properly initialize element-transitioning array literals on ARM.
2661        (issue 1930)
2662
2663        Bug fixes on all platforms.
2664
2665
26662012-02-07: Version 3.9.3
2667
2668        When rethrowing an exception, print the stack trace of its original
2669        site instead of rethrow site (Chromium issue 60240).
2670
2671        Increased size of small stacks from 32k to 64k to avoid hitting limits
2672        in Chromium (Chromium issue 112843).
2673
2674
26752012-02-06: Version 3.9.2
2676
2677        Added timestamp to --trace-gc output. (issue 1932)
2678
2679        Heap profiler reports implicit references.
2680
2681        Optionally export metadata with libv8 to enable debuggers to inspect V8
2682        state.
2683
2684
26852012-02-02: Version 3.9.1
2686
2687        Fixed memory leak in NativeObjectsExplorer::FindOrAddGroupInfo
2688        (Chromium issue 112315).
2689
2690        Fixed a crash in dev tools (Chromium issue 107996).
2691
2692        Added 'dependencies_traverse': 1 to v8 GYP target.
2693
2694        Performance and stability improvements on all platforms.
2695
2696
26972012-02-01: Version 3.9.0
2698
2699        Reduced memory use immediately after starting V8.
2700
2701        Stability fixes and performance improvements on all platforms.
2702
2703
27042012-01-26: Version 3.8.9
2705
2706        Flush number string cache on GC (issue 1605).
2707
2708        Provide access to function inferred name with
2709	v8::Function::GetInferredName in V8 public API.
2710
2711        Fix building with Clang (issue 1912).
2712
2713        Reduce the space used by the stack for the profiling thread.
2714
2715        Fix misleading documentation of v8::Locker (issue 542).
2716
2717        Introduce readbinary function in d8 to read binary files.
2718
2719        Performance and stability improvements on all platforms.
2720
2721
27222012-01-23: Version 3.8.8
2723
2724        Limited number of loop iterations in Heap::ReserveSpace
2725        (Chromium issue 99027).
2726
2727        Fixed solaris build (VirtualMemory) (issue 1761).
2728
2729        Fixed strict vs. non-strict handling of function proxies in
2730        higher-order array and string methods.
2731
2732        Enabled asynchronous remote debugging with d8 (issue 1691).
2733
2734        Stability and performance improvements on all platforms.
2735
2736
27372012-01-19: Version 3.8.7
2738
2739        Ensure that LRandom restores rsi after call to the C function on x64.
2740        (Chromium issue http://crbug.com/110509)
2741
2742        Fixing include issues on *bsd when building with scons.
2743        (issue 1897)
2744
2745        Provide a switch to specify -fno-strict-aliasing
2746        (issue 1887)
2747
2748        Move WIN32 define from standalone.gypi to common.gypi
2749        (issue 1760)
2750
2751        Fix corner-case in heap size estimation.
2752        (issue 1893)
2753
2754        Fix and enable NEW_NON_STRICT_FAST ArgumentsAccess stub on x64.
2755        (issue 1903)
2756
2757        Performance improvements and bug fixes.
2758
2759
27602012-01-16: Version 3.8.6
2761
2762        Add primitive WebGL array support to d8.
2763
2764        Improve heap size estimation (issue 1893).
2765
2766        Hash collision DOS workaround extended from string keys
2767        to numeric keys.
2768
2769        Provide an API for iterating through all external strings referenced
2770        from the JS heap.
2771
2772        Adjust position recorded for call expressions. http://crbug.com/109195
2773
2774        Fix GC crash related to instanceof. http://crbug.com/109448
2775
2776        Performance improvements and bug fixes.
2777
2778
27792012-01-05: Version 3.8.5
2780
2781        Fix broken test that assumes that no GC can clear the regexp cache (GC
2782        can happen at any time due to Crankshaft).
2783
2784        Fix handling of bogus receivers for Harmony collections. (issue 1884)
2785
2786        Add netbsd support to gyp build.
2787
2788        Determine page size at runtime on posix platforms.
2789
2790        Ensure that store buffer filtering hash sets are cleared after
2791        StoreBuffer::Filter.
2792
2793        Randomize the seed used for string hashing.  This helps guard against
2794        CPU-eating DOS attacks against node.js servers.  Based on code from
2795        Bert Belder.  This version only solves the issue for those that compile
2796        V8 themselves or those that do not use snapshots.  A snapshot-based
2797        precompiled V8 will still have predictable string hash codes.
2798
2799        Implement callback when script finishes running in V8 API.
2800
2801        Improve performance of Math.min and Math.max for the case of two
2802        arguments. (issue 1325)
2803
2804
28052012-01-02: Version 3.8.4
2806
2807        Performance improvements for large Smi-only arrays.
2808
2809        Fixed InternalArrays construction. (issue 1878)
2810
2811
28122011-12-27: Version 3.8.3
2813
2814        Avoid embedding new space objects into code objects in the lithium gap
2815        resolver. (chromium:108296)
2816
2817        Bug fixes and performance optimizations on all platforms.
2818
2819
28202011-12-21: Version 3.8.2
2821
2822        Add max optimization flag to v8 gyp build to ensure V8 is always built
2823        fully optimized in Chrome.
2824
2825        MIPS: Bring MIPS to parity with other platforms.
2826
2827        Optimizations and stability improvements on all platforms.
2828
2829
28302011-12-19: Version 3.8.1
2831
2832        Fixed GCC 4.7 warnings. Patch from Tobias Burnus.
2833
2834        Stability improvements on all platforms.
2835
2836
28372011-12-13: Version 3.8.0
2838
2839        Fixed handling of arrays in DefineOwnProperty. (issue 1756)
2840
2841        Sync parser and preparser on do-while and return statements.
2842        (issue 1856)
2843
2844        Fixed another corner case for DefineOwnProperty on arrays (issue 1756).
2845
2846        Stability and performance improvements on all platforms.
2847
2848
28492011-12-01: Version 3.7.12
2850
2851        Increase tick interval for the android platform.
2852
2853        Fix a bug in the register allocator. (chromium:105112)
2854
2855        Fix handling of recompiling code. (chromium:105375, v8:1782)
2856
2857        Start incremental marking on idle notification. (v8:1458)
2858
2859        Build fixes for various platforms.
2860
2861        Various performance improvements.
2862
2863
28642011-11-29: Version 3.7.11
2865
2866        Fixed bug when generating padding to ensure space for lazy
2867        deoptimization.
2868        (issue 1846)
2869
2870        Further reduced pause times due to GC.
2871
2872        Stability and performance improvements on all platforms.
2873
2874
28752011-11-23: Version 3.7.10
2876
2877        Set maximum length of FixedArray in terms of elements instead an
2878        absolute number of bytes.
2879        (Chromium issue 103103)
2880
2881        Stability and performance improvements on all platforms.
2882
2883
28842011-11-21: Version 3.7.9
2885
2886        Removed exit-time destructors.
2887
2888        Stability and performance improvements on all platforms.
2889
2890
28912011-11-17: Version 3.7.8
2892
2893        Removed hidden prototype from builtins, i.e., deleting an overridden
2894        function on builtins will not make the original function reappear.
2895
2896        Added NetBSD support for scons build.
2897
2898        Performance improvements on all platforms.
2899
2900
29012011-11-14: Version 3.7.7
2902
2903        Fix missing fast property accessors in heap snapshots.
2904        (issue 1818)
2905
2906
29072011-11-11: Version 3.7.6
2908
2909        Fixed filtering of store buffer for large object pages.
2910        (issue 1817)
2911
2912        Fixed generated hash function on all platforms.
2913        (issue 1808)
2914
2915        Fixed Heap::Shrink to ensure that it does not free pages that are
2916        still in use.
2917        (Chromium issue 100414)
2918
2919        Stability and performance improvements on all platforms.
2920
2921
29222011-11-10: Version 3.7.5
2923
2924        Added initial gyp infrastructure for MIPS.
2925
2926        Implemented performance improvements to the incremental garbage
2927        collector.
2928
2929        Added optimizations and stability improvements on all platforms.
2930
2931
29322011-11-07: Version 3.7.4
2933
2934        Proper "libv8.so.3.7.4" SONAME for Linux shared library (issue 1786).
2935
2936        Fix Harmony sets and maps to allow null and undefined as keys
2937        (still hidden behind --harmony flag) (issue 1622).
2938
2939        Implement VirtualMemory on FreeBSD to fix build (issue 1807).
2940
2941        Enable VFP instructions for Android.
2942
2943        Fix error handling in Date.prototype.toISOString (issue 1792).
2944
2945        Bug fixes and performance improvements for all platforms.
2946
2947        Not officially supported but noteworthy: Crankshaft for MIPS :-)
2948
2949
29502011-10-28: Version 3.7.3
2951
2952        Slight deoptimization as a workaround for issue with jslint: Issue
2953        1789.
2954
2955
29562011-10-27: Version 3.7.2
2957
2958        Fix bug in deoptimization.  Known issue with jslint: Issue 1789.
2959
2960
29612011-10-26: Version 3.7.1
2962
2963        Achieved 33% speedup in debug-mode tests.
2964
2965        Removed special casing of calls to RegExp test and exec methods with no
2966        argument.  Now matches new JSC behaviour.  crbug.com/75740.
2967
2968        Return the empty string on cyclic references in toString (ES5
2969        conformance).
2970
2971        Fixed bug triggered by JSBeautifier.  crbug.com/100409.
2972
2973        Made Math.random state per-context instead of per-process (issue 864).
2974
2975        Fixed stack traces to skip native functions.
2976
2977        Make snapshots (new contexts) smaller and faster.
2978
2979        Fixed handling of Function.apply for non-array arguments.
2980
2981        Fixed evaluation order in defineProperties to match FireFox.
2982
2983        Fixed handling of non-object receivers for array builtins,
2984        crbug.com/100702.
2985
2986        Multiple fixes to improve compliance with test262.
2987
2988        Fixed compatibility with older Android releases.
2989
2990        Fixed compilation with gcc-4.5.3.
2991
2992        Improved performance of WriteUtf8, issue 1665.
2993
2994        Made native syntax an early error in the preparser.
2995
2996        Fixed issues 793 and 893 relating to Function.prototype.bind.
2997
2998        Improved let, const, Set and Map support and other Harmony features
2999        (behind the --harmony flag).
3000
3001        Changed evaluation order for > and <= to match ES5 instead of ES3.
3002
3003        Bug fixes and performance improvements on all platforms.
3004
3005
30062011-10-13: Version 3.7.0
3007
3008        Fixed array handling for Object.defineOwnProperty (ES5 conformance).
3009
3010        Fixed issue 1757 (string slices of external strings).
3011
3012        Fixed issue 1759 (ARM).
3013
3014        Added flag --noclever-optimizations to disable some things that
3015        caused trouble in the past.
3016
3017        Added flag --stress-compaction for testing.
3018
3019        Added flag --harmony to activate all experimental Harmony features.
3020
3021
30222011-10-10: Version 3.6.6
3023
3024        Added a GC pause visualization tool.
3025
3026        Added presubmit=no and werror=no flags to Makefile.
3027
3028        ES5/Test262 conformance improvements.
3029
3030        Fixed compilation issues with GCC 4.5.x (issue 1743).
3031
3032        Bug fixes and performance improvements on all platforms.
3033
3034
30352011-10-05: Version 3.6.5
3036
3037        New incremental garbage collector.
3038
3039        Removed the hard heap size limit (soft heap size limit is still
3040        700/1400Mbytes by default).
3041
3042        Implemented ES5 generic Array.prototype.toString (Issue 1361).
3043
3044        V8 now allows surrogate pair codes in decodeURIComponent (Issue 1415).
3045
3046        Fixed x64 RegExp start-of-string bug (Issues 1746, 1748).
3047
3048        Fixed propertyIsEnumerable for numeric properties (Issue 1692).
3049
3050        Fixed the MinGW and Windows 2000 builds.
3051
3052        Fixed "Prototype chain is not searched if named property handler does
3053        not set a property" (Issue 1636).
3054
3055        Made the RegExp.prototype object be a RegExp object (Issue 1217).
3056
3057        Disallowed future reserved words as labels in strict mode.
3058
3059        Fixed string split to correctly coerce the separator to a string
3060        (Issue 1711).
3061
3062        API: Added an optional source length field to the Extension
3063        constructor.
3064
3065        API: Added Debug::DisableAgent to match existing Debug::EnableAgent
3066        (Issue 1573).
3067
3068        Added "native" target to Makefile for the benefit of Linux distros.
3069
3070        Fixed: debugger stops stepping outside evaluate (Issue 1639).
3071
3072        More work on ES-Harmony proxies.  Still hidden behind a flag.
3073
3074        Bug fixes and performance improvements on all platforms.
3075
3076
30772011-09-15: Version 3.6.4
3078
3079        Fixed d8's broken readline history.
3080
3081        Removed the need for code delete events in CPU profiler (Issue 1466).
3082
3083        Fixed debugger stepping next with trycatch recursion (Issue 1639).
3084
3085        Fixing parallel execution in d8 (with -p) and some memory leaks.
3086
3087        Support for precise stepping in functions compiled before debugging was
3088        started (step 1).
3089
3090
30912011-09-13: Version 3.6.3
3092
3093        Implemented better support of typed arrays in the d8 shell.
3094
3095        Bug fixes and performance improvements on all platforms.
3096
3097
30982011-09-08: Version 3.6.2
3099
3100        Added "dependencies" target to top-level Makefile.
3101
3102        Added ability to turn profiler on/off in d8.
3103
3104        Added "soname_version" parameter to common.gypi, v8.gyp, and Makefile.
3105
3106        Fixed several crash bugs.
3107
3108
31092011-09-07: Version 3.6.1
3110
3111        Fixed a bug in abrupt exit from with or catch inside finally.
3112
3113        Fixed possible crash in FixedDoubleArray::Initialize() (Chromium
3114        issue 95113).
3115
3116        Fixed a bug in Page::GetRegionMaskForSpan (Chromium issue 94425).
3117
3118        Fixed a few clang warnings (which -Werror treated as errors).
3119
3120        Performance improvements on all platforms.
3121
3122
31232011-09-05: Version 3.6.0
3124
3125        Fixed a bug when optimizing named function expression (issue 1647).
3126
3127        Fixed a bug when optimizing f.call.apply (issue 1650).
3128
3129        Made arguments and caller always be null on native functions
3130        (issues 1548 and 1643).
3131
3132        Fixed issue 1648 (cross-compiling x64 targeting ia32).
3133
3134        Fixed issue 371 (d8 printing of strings containing \0).
3135
3136        Fixed order of evaluation in arguments to parseInt (issue 1649).
3137
3138        Fixed a problem with large heap snapshots in Chrome DevTools
3139        (issue 1658, chromium issue 89268).
3140
3141        Upped default maximum heap size from 512M to 700M.
3142
3143
31442011-08-31: Version 3.5.10
3145
3146        Added dependency of v8_base on WinSocket2 Windows library in
3147        the GYP-build.
3148
3149        Various bugfixes.
3150
3151
31522011-08-29: Version 3.5.9
3153
3154        Made FromPropertyDescriptor not trigger inherited setters.
3155
3156        Fixed .gyp files to work on the ARM simulator.
3157
3158        Fixed shared library build warnings for MSVS.
3159
3160
31612011-08-24: Version 3.5.8
3162
3163        Added V8EXPORT attributes for v8::Array::CheckCast and
3164        v8::Number::CheckCast.
3165
3166        Made a slight API change enabling opting out from null termination
3167        in String::Write*().
3168
3169        Fixed arm build for gcc-4.6.
3170
3171
31722011-08-22: Version 3.5.7
3173
3174        Make scanner handle invalid unicode escapes in identifiers correctly.
3175
3176        Make regexp flag parsing stricter.
3177
3178        Fix several memory leaks.
3179
3180
31812011-08-17: Version 3.5.6
3182
3183        Fixed issue that could cause crashes when running with --heap-stats.
3184
3185        Fixed compilation on Linux 2.6.9 and older.
3186
3187        Fixed live-object-list to work with isolates.
3188
3189        Fixed memory leaks in zones and isolates.
3190
3191        Fixed a performance regression for TypedArrays on x64.
3192
3193        Stability improvements on all platforms.
3194
3195
31962011-08-15: Version 3.5.5
3197
3198        Fixed bugs involving negative zero and the optimizing compiler.
3199
3200        Fixed optimized version of Function.apply(x, arguments). (issue 1592)
3201
3202        Eliminated uses of deprecated ARM instructions.
3203
3204        Sped up Math.floor by using SSE 4.1 roundsd instruction on ia32.
3205
3206        Removed restriction on the size of disassembled code that is printed.
3207
3208
32092011-08-10: Version 3.5.4
3210
3211        Added a preliminary implementation of ES Harmony weak maps.  Weak
3212        maps can be enabled by the flag --harmony-weakmaps.
3213
3214        Introduced a toplevel Makefile to support GYP-based building.  GYP
3215        can be obtained from http://gyp.googlecode.com.
3216
3217        Fixed a bug in the length property of functions created by
3218        Function.prototype.bind.
3219
3220        Reduced malloc heap allocation on process startup.
3221
3222        Several important code generation bug fixes.
3223
3224        Performance improvements on all platforms.
3225
3226
32272011-08-03: Version 3.5.3
3228
3229        MIPS: Port of fix to ClassOf check from ARM.
3230        Patch from Paul Lind <plind44@gmail.com>.
3231
3232        Stopped using mprotect on Cygwin.
3233        Avoided uninitialized member warning on gcc 4.3.4
3234        Both patches by Bert Belder.
3235
3236        Bug fixes and performance improvements on all platforms.
3237
3238
32392011-08-01: Version 3.5.2
3240
3241        Performance improvements on all platforms.
3242
3243
32442011-07-28: Version 3.5.1
3245
3246        Fixed setting the readonly flag on the prototype property using the
3247        API call FunctionTemplate::SetPrototypeAttributes (issue 1539).
3248
3249        Changed the tools/test.py script to use d8 instead of shell for
3250        testing.
3251
3252        Fixed crash in ToBooleanStub when GC happens during invocation.
3253
3254        Enabled automatic unboxing of double arrays.
3255
3256        Performance improvements on all platforms.
3257
3258
32592011-07-25: Version 3.5.0
3260
3261        Implemented Object.prototype.{hasOwnProperty, propertyIsEnumerable} for
3262        proxies.
3263
3264        Removed logging to memory support.
3265
3266        Bugfixes and performance work.
3267
3268
32692011-07-20: Version 3.4.14
3270
3271        Fix the debugger for strict-mode functions. (Chromium issue 89236)
3272
3273        Add GetPropertyAttribute method for Object in the API. (Patch by
3274        Peter Varga)
3275
3276        Fix -Wunused-but-set-variable for gcc-4.6 on x64. (Issue 1291)
3277
3278
32792011-07-18: Version 3.4.13
3280
3281        Improved debugger support to allow inspection of optimized frames (issue
3282        1140).
3283
3284        Fixed a bug in prototype transitions cache clearing introduced by r8165.
3285
3286        Fixed shortcutting bug in HInferRepresentation. Patch by Andy Wingo.
3287
3288        Fixed a memory leak in sample/shell.cc (dispose semaphores).
3289
3290        Simplified HClampToUint8. Patch by Andy Wingo.
3291
3292        Exposed APIs for detecting boxed primitives, native errors. Patch by
3293        Luke Zarko.
3294
3295        Added map check for COW elements to crankshaft array handling code
3296        (issue 1560).
3297
3298        Sample shell and (a light version of) D8 links against a shared library
3299        now.
3300
3301        Fixed bug in array filter and reduce functions (issue 1559).
3302
3303        Avoid TLS load in AstNode constructor.
3304
3305        Introduced a random entropy source which can optionally be provided at
3306        initialization. (Chromium issue 89462).
3307
3308
33092011-07-13: Version 3.4.12
3310
3311        Added --prof profiling option to d8 shell.
3312
3313        Fixed a bug where reading a directory in d8 shell hangs (issue 1533).
3314
3315        Fixed a potential assertion failure in const declarations.
3316
3317        Fixed an assertion failure in descriptor arrays (issue 1526).
3318
3319        Enabled fast thread-local storage by default on supported platforms.
3320
3321        Improved reporting of source position for global variable loads
3322        (issue 1527).
3323
3324
33252011-07-11: Version 3.4.11
3326
3327        Fixed MinGW32 build.
3328
3329        Fixed a GC bug with RegExp code flushing.
3330
3331        Implemented Object.defineProperty for proxies.
3332
3333        Fixed a bug in for/in iteration of arguments objects (issue 1531).
3334
3335        Added debugger support for inspecting optimized frames (issue 1140).
3336
3337        Allowed JSObject::PreventExtensions to work for arguments objects.
3338
3339        Bugfixes and performance work.
3340
3341
33422011-07-06: Version 3.4.10
3343
3344        Fixed debugger not breaking on certain "if" statements (issue 1523).
3345
3346        Fixed assertion failure in runtime profiler when running on IA32
3347        without snapshot (issue 1522).
3348
3349        Fixed ABI for API calls on IA32 (for clang compatibility).
3350
3351        Introduced code flushing of RegExp code to free memory used by
3352        RegExps sooner.
3353
3354        Fixed linux-tick-processor built wrong version of v8 (issue 1532).
3355
3356        Fixed assertion failure in v8::TryCache::StackTrace (issue 1529).
3357
3358        Performance improvements on all platforms.
3359
3360
33612011-07-04: Version 3.4.9
3362
3363        Added support for debugger inspection of locals in optimized frames
3364        (issue 1140).
3365
3366        Fixed SConstruct to pass correct defines to samples/preparser when
3367        building with library=shared.
3368
3369        Made date parser handle ES5 Date Time Strings correctly (issue 1498).
3370
3371        Fixed a bug in Object.defineProperty on the arguments object.
3372
3373        Performance improvements on all platforms.
3374
3375
33762011-06-29: Version 3.4.8
3377
3378        Ensure 16-byte stack alignment on Solaris (issue 1505).
3379
3380        Fix "illegal access" when calling parseInt with a radix
3381        that is not a smi. (issue 1246).
3382
3383
33842011-06-27: Version 3.4.7
3385
3386        Fixed 64-bit build on FreeBSD.
3387
3388        Added API to set the property attributes for the prototype
3389        property on functions created from FunctionTemplates.
3390
3391        Bugfixes and performance work.
3392
3393
33942011-06-22: Version 3.4.6
3395
3396        Lowered limit on code space for systems with low memory supply.
3397
3398        Allowed compiling v8_shell with the 'host' toolset (issue 82437).
3399
3400        Extended setBreakpoint API to accept partial script name (issue 1418).
3401
3402        Made multi-line comments not count when deciding whether the '-->'
3403        comment starter is first on a line. This matches Safari.
3404
3405        Made handling of non-array recievers in Array length setter correct
3406        (issue 1491).
3407
3408        Added ability to heap profiler to iterate over snapshot's node
3409        (issue 1481).
3410
3411
34122011-06-20: Version 3.4.5
3413
3414        Fixed issues 794, 1097, 1215(partial), 1417, 1435, 1472, 1473,
3415        1476, and 1477.
3416
3417        Improved code generation for !0 and !1.
3418
3419        Reduced memory usage for regular expressions with nested qualifiers.
3420        (issue 1472)
3421
3422        Fixed V8 to count line terminators in multi-line comments.
3423        (Chromium issue 86431)
3424
3425        Fixed disassembler=on option for release-mode builds. (issue 1473)
3426
3427        Performance improvements on all platforms.
3428
3429
34302011-06-15: Version 3.4.4
3431
3432        Added snapshot compression support and --stress-opt flag to d8.
3433
3434        Improved performance of try/catch.
3435
3436        Several GYP-related changes: Added support for building Xcode project
3437        files. Make the ARM simulator build with GYP again. Generate Makefiles
3438        for all architectures on Linux.
3439
3440        Fixed Array.prototype.{reduce,reduceRight} to pass undefined as the
3441        receiver for strict mode callbacks. (issue 1436)
3442
3443        Fixed a bug where an array load was incorrectly hoisted by GVN.
3444
3445        Handle 'undefined' correctly when === has been specialized for doubles.
3446        (issue 1434)
3447
3448        Corrected the limit of local variables in an optimized function from 64
3449        to 63.
3450
3451        Correctly set ReadOnly flag on indexed properties when using the API Set
3452        method. (issue 1470)
3453
3454        Give the correct error message when Object.isExtensible is called on a
3455        non-object. (issue 1452)
3456
3457        Added GetOwnPropertyNames method for Object in the API. Patch by Peter
3458        Varga.
3459
3460        Do not redefine properties unneccesarily in seal and freeze. (issue
3461        1447)
3462
3463        IsExecutionTerminating has an Isolate parameter now.
3464
3465        Distinguish keyed loads with a symbol key from fast elements loads,
3466        avoiding some useless deoptimizations. (issue 1471)
3467
3468
34692011-06-08: Version 3.4.3
3470
3471        Clear the global thread table when an isolate is disposed
3472        (issue 1433).
3473
3474        Converted time zone name to UTF8 on Windows (issue 1290).
3475
3476        Limited the number of arguments in a function call to 32766
3477        (issue 1413).
3478
3479        Compress sources of JS libraries in addition to the snapshot.
3480
3481        Fixed a bug in Lithium environment iteration.
3482
3483        Performance improvements on all platforms.
3484
3485
34862011-06-06: Version 3.4.2
3487
3488        More work on ES-Harmony proxies.  Still hidden behind a flag.
3489
3490        Fixed some crash bugs and improved performance.
3491
3492        Fixed building with gdb debugging support.
3493
3494        Do not install SIGPROF handler until it is needed.
3495
3496        Added DateTimeFormat to i18n API.
3497
3498        Fixed compilation on OpenBSD.
3499
3500        Take the ulimit into account when sizing the heap.  OpenBSD users
3501        may still have to increase the default ulimit to run heavy pages in
3502        the browser.
3503
3504
35052011-06-01: Version 3.4.1
3506
3507        Fixed JSON stringify issue with arrays.
3508
3509        Changed calls to JS builtins to be passed undefined when called with
3510        implicit receiver.
3511
3512        Implemented the set trap for Harmony proxies. Proxies still need to
3513        be enabled with the --harmony-proxies flag.
3514
3515
35162011-05-30: Version 3.4.0
3517
3518        Changed calls to undefined property setters to not throw (issue 1355).
3519
3520        Made RegExp objects not callable.
3521
3522        Fixed issues on special case large JSON strings in new json parser
3523        (issues http://crbug.com/83877 and http://crbug.com/84186).
3524
3525        Performance improvements on all platforms.
3526
3527
35282011-05-25: Version 3.3.10
3529
3530        Fixed calls of strict mode function with an implicit receiver.
3531
3532        Fixed fast handling of arrays to properly deal with changes to the
3533        Object prototype (issue 1403).
3534
3535        Changed strict mode poison pill to be the same type error function
3536        (issue 1387).
3537
3538        Fixed a debug crash in arguments object handling (issue 1227).
3539
3540        Fixed a bug in deoptimization on x64 (issue 1404).
3541
3542        Performance improvements and bug fixes on all platforms.
3543
3544
35452011-05-23: Version 3.3.9
3546
3547        Added DateTimeFormat class to experimental i18n API.
3548
3549        Extended preparser to give early errors for some strict mode
3550        restrictions.
3551
3552        Removed legacy execScript function from V8.
3553
3554        Extended isolate API with the ability to add embedder-specific
3555        data to an isolate.
3556
3557        Added basic support for polymorphic loads from JS and external
3558        arrays.
3559
3560        Fixed bug in handling of switch statements in the optimizing
3561        compiler.
3562
3563
35642011-05-18: Version 3.3.8
3565
3566        Added MarkIndependent to the persistent handle API.  Independent
3567        handles are independent of all other persistent handles and can be
3568        garbage collected more frequently.
3569
3570        Implemented the get trap for Harmony proxies.  Proxies are enabled
3571        with the --harmony-proxies flag.
3572
3573        Performance improvements and bug fixes on all platforms.
3574
3575
35762011-05-16: Version 3.3.7
3577
3578        Updated MIPS infrastructure files.
3579
3580        Performance improvements and bug fixes on all platforms.
3581
3582
35832011-05-11: Version 3.3.6
3584
3585        Updated MIPS infrastructure files.
3586
3587        Added method IsCallable for Object to the API.
3588        Patch by Peter Varga.
3589
3590
35912011-05-09: Version 3.3.5
3592
3593        Fixed build on FreeBSD. Patch by Akinori MUSHA.
3594
3595        Added check that receiver is JSObject on API calls.
3596
3597        Implemented CallAsConstructor method for Object in the API (Issue 1348).
3598        Patch by Peter Varga.
3599
3600        Added CallAsFunction method to the Object class in the API (Issue 1336).
3601        Patch by Peter Varga.
3602
3603        Added per-isolate locking and unlocking.
3604
3605        Fixed bug in x64 >>> operator (Issue 1359).
3606
3607
36082011-05-04: Version 3.3.4
3609
3610        Implemented API to disallow code generation from strings for a context
3611        (issue 1258).
3612
3613        Fixed bug with whitespaces in parseInt (issue 955).
3614
3615        Fixed bug with == comparison of Date objects (issue 1356).
3616
3617        Added GYP variables for ARM code generation:
3618        v8_can_use_vfp_instructions, v8_can_use_unaligned_accesses
3619        and v8_use_arm_eabi_hardfloat.
3620
3621
36222011-05-02: Version 3.3.3
3623
3624        Added support for generating Visual Studio solution and project files
3625        using GYP.
3626
3627        Implemented support for ARM EABI calling convention variation where
3628        floating-point arguments are passed in registers (hardfloat).
3629
3630        Added Object::HasOwnProperty() to the API.
3631
3632        Added support for compressing startup data to reduce binary size. This
3633        includes build time support and an API for the embedder to decompress
3634        the startup data before initializing V8.
3635
3636        Reduced the profiling hooks overhead from >400% to 25% when using
3637        ll_prof.
3638
3639        Performance improvements and bug fixes on all platforms.
3640
3641
36422011-04-27: Version 3.3.2
3643
3644        Fixed crash bug on ARM with no VFP3 hardware.
3645
3646        Fixed compilation of V8 without debugger support.
3647
3648        Improved performance on JSLint.
3649
3650        Added support Float64 WebGL arrays.
3651
3652        Fixed crash bug in regexp replace.
3653
3654
36552011-04-20: Version 3.3.1
3656
3657        Reduced V8 binary size by removing virtual functions from hydrogen.
3658
3659        Fixed crash bug on x64.
3660
3661        Performance improvements on ARM and IA32.
3662
3663
36642011-04-18: Version 3.3.0
3665
3666        Fixed bug in floating point rounding in Crankshaft on ARM
3667        (issue 958)
3668
3669        Fixed a number of issues with running without VFPv3 support on ARM
3670        (issue 1315)
3671
3672        Introduced v8Locale.Collator, a partial implementation of Collator
3673        per last ECMAScript meeting + mailing list.
3674
3675        Minor performance improvements and bug fixes.
3676
3677
36782011-04-13: Version 3.2.10
3679
3680        Fixed bug in external float arrays on ARM (issue 1323).
3681
3682        Minor performance improvements and bug fixes.
3683
3684
36852011-04-11: Version 3.2.9
3686
3687        Removed support for ABI prior to EABI on ARM.
3688
3689        Fixed multiple crash bugs.
3690
3691        Added GCMole to the repository, a simple static analysis tool that
3692        searches for GC-unsafe evaluation order dependent callsites.
3693
3694        Made preparser API be exported in shared libraries.
3695
3696        Fixed multiple issues in EcmaScript 5 strict mode implementation.
3697
3698        Fixed mutable __proto__ property if object is not extensible
3699        (Issue 1309).
3700
3701        Fixed auto suspension of the sampler thread.
3702
3703
37042011-04-06: Version 3.2.8
3705
3706        Exposed WebGL typed array constructors in the shell sample.
3707
3708        Performance improvements on all platforms.
3709
3710
37112011-04-04: Version 3.2.7
3712
3713        Disabled the original 'classic' V8 code generator.  Crankshaft is
3714        now the default on all platforms.
3715
3716        Changed the heap profiler to use more descriptive names.
3717
3718        Performance and stability improvements to isolates on all platforms.
3719
3720
37212011-03-30: Version 3.2.6
3722
3723        Fixed xcode build warning in shell.cc (out of order initialization).
3724
3725        Fixed null-pointer dereference in the compiler when running without
3726        SSE3 support (Chromium issue 77654).
3727
3728        Fixed x64 compilation error due to some dead code. (Issue 1286)
3729
3730        Introduced scons target to build the preparser stand-alone example.
3731
3732        Made FreeBSD build and pass all tests.
3733
3734
37352011-03-28: Version 3.2.5
3736
3737        Fixed build with Irregexp interpreter (issue 1266).
3738
3739        Added Crankshaft support for external arrays.
3740
3741        Fixed two potential crash bugs.
3742
3743
37442011-03-23: Version 3.2.4
3745
3746        Added isolates which allows several V8 instances in the same process.
3747        This is controlled through the new Isolate class in the API.
3748
3749        Implemented more of EcmaScript 5 strict mode.
3750
3751        Reduced the time it takes to make detailed heap snapshot.
3752
3753        Added a number of commands to the ARM simulator and enhanced the ARM
3754        disassembler.
3755
3756
37572011-03-17: Version 3.2.3
3758
3759        Fixed a number of crash bugs.
3760
3761        Fixed Array::New(length) to return an array with a length (issue 1256).
3762
3763        Fixed FreeBSD build.
3764
3765        Changed __defineGetter__ to not throw (matching the behavior of Safari).
3766
3767        Implemented more of EcmaScript 5 strict mode.
3768
3769        Improved Crankshaft performance on all platforms.
3770
3771
37722011-03-14: Version 3.2.2
3773
3774        Fixed a number of crash and correctness bugs.
3775
3776        Improved Crankshaft performance on all platforms.
3777
3778        Fixed Crankshaft on Solaris/Illumos.
3779
3780
37812011-03-10: Version 3.2.1
3782
3783        Fixed a number of crash bugs.
3784
3785        Improved Crankshaft for x64 and ARM.
3786
3787        Implemented more of EcmaScript 5 strict mode.
3788
3789
37902011-03-07: Version 3.2.0
3791
3792        Fixed a number of crash bugs.
3793
3794        Turned on Crankshaft by default on x64 and ARM.
3795
3796        Improved Crankshaft for x64 and ARM.
3797
3798        Implemented more of EcmaScript 5 strict mode.
3799
3800
38012011-03-02: Version 3.1.8
3802
3803        Fixed a number of crash bugs.
3804
3805        Improved Crankshaft for x64 and ARM.
3806
3807        Implemented more of EcmaScript 5 strict mode.
3808
3809        Fixed issue with unaligned reads and writes on ARM.
3810
3811        Improved heap profiler support.
3812
3813
38142011-02-28: Version 3.1.7
3815
3816        Fixed a number of crash bugs.
3817
3818        Improved Crankshaft for x64 and ARM.
3819
3820        Fixed implementation of indexOf/lastIndexOf for sparse
3821        arrays (http://crbug.com/73940).
3822
3823        Fixed bug in map space compaction (http://crbug.com/59688).
3824
3825        Added support for direct getter accessors calls on ARM.
3826
3827
38282011-02-24: Version 3.1.6
3829
3830        Fixed a number of crash bugs.
3831
3832        Added support for Cygwin (issue 64).
3833
3834        Improved Crankshaft for x64 and ARM.
3835
3836        Added Crankshaft support for stores to pixel arrays.
3837
3838        Fixed issue in CPU profiler with Crankshaft.
3839
3840
38412011-02-16: Version 3.1.5
3842
3843        Change RegExp parsing to disallow /(*)/.
3844
3845        Added GDB JIT support for ARM.
3846
3847        Fixed several crash bugs.
3848
3849        Performance improvements on the IA32 platform.
3850
3851
38522011-02-14: Version 3.1.4
3853
3854        Fixed incorrect compare of prototypes of the global object (issue
3855        1082).
3856
3857        Fixed a bug in optimizing calls to global functions (issue 1106).
3858
3859        Made optimized Function.prototype.apply safe for non-JSObject first
3860        arguments (issue 1128).
3861
3862        Fixed an error related to element accessors on Object.prototype and
3863        parser errors (issue 1130).
3864
3865        Fixed a bug in sorting an array with large array indices (issue 1131).
3866
3867        Properly treat exceptions thrown while compiling (issue 1132).
3868
3869        Fixed bug in register requirements for function.apply (issue 1133).
3870
3871        Fixed a representation change bug in the Hydrogen graph construction
3872        (issue 1134).
3873
3874        Fixed the semantics of delete on parameters (issue 1136).
3875
3876        Fixed a optimizer bug related to moving instructions with side effects
3877        (issue 1138).
3878
3879        Added support for the global object in Object.keys (issue 1150).
3880
3881        Fixed incorrect value for Math.LOG10E
3882        (issue http://code.google.com/p/chromium/issues/detail?id=72555)
3883
3884        Performance improvements on the IA32 platform.
3885
3886        Implement assignment to undefined reference in ES5 Strict Mode.
3887
3888
38892011-02-09: Version 3.1.3
3890
3891        Fixed a bug triggered by functions with huge numbers of declared
3892        arguments.
3893
3894        Fixed zap value aliasing a real object - debug mode only (issue 866).
3895
3896        Fixed issue where Array.prototype.__proto__ had been set to null
3897        (issue 1121).
3898
3899        Fixed stability bugs in Crankshaft for x86.
3900
3901
39022011-02-07: Version 3.1.2
3903
3904        Added better security checks when accessing properties via
3905        Object.getOwnPropertyDescriptor.
3906
3907        Fixed bug in Object.defineProperty and related access bugs (issues
3908        992, 1083 and 1092).
3909
3910        Added LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to ease
3911        copyright notice generation for embedders.
3912
3913
39142011-02-02: Version 3.1.1
3915
3916        Perform security checks before fetching the value in
3917        Object.getOwnPropertyDescriptor.
3918
3919        Fixed a bug in Array.prototype.splice triggered by passing no
3920        arguments.
3921
3922        Fixed bugs in -0 in arithmetic and in Math.pow.
3923
3924        Fixed bugs in the register allocator and in switching from optimized
3925        to unoptimized code.
3926
3927
39282011-01-31: Version 3.1.0
3929
3930        Performance improvements on all platforms.
3931
3932
39332011-01-28: Version 3.0.12
3934
3935        Added support for strict mode parameter and object property
3936        validation.
3937
3938        Fixed a couple of crash bugs.
3939
3940
39412011-01-25: Version 3.0.11
3942
3943        Fixed a bug in deletion of lookup slots that could cause global
3944        variables to be accidentally deleted (http://crbug.com/70066).
3945
3946        Added support for strict mode octal literal verification.
3947
3948        Fixed a couple of crash bugs (issues 1070 and 1071).
3949
3950
39512011-01-24: Version 3.0.10
3952
3953        Fixed External::Wrap for 64-bit addresses (issue 1037).
3954
3955        Fixed incorrect .arguments variable proxy handling in the full
3956        code generator (issue 1060).
3957
3958        Introduced partial strict mode support.
3959
3960        Changed formatting of recursive error messages to match Firefox and
3961        Safari (issue http://crbug.com/70334).
3962
3963        Fixed incorrect rounding for float-to-integer conversions for external
3964        array types, which implement the Typed Array spec
3965        (issue http://crbug.com/50972).
3966
3967        Performance improvements on the IA32 platform.
3968
3969
39702011-01-19: Version 3.0.9
3971
3972        Added basic GDB JIT Interface integration.
3973
3974        Make invalid break/continue statements a syntax error instead of a
3975        runtime error.
3976
3977
39782011-01-17: Version 3.0.8
3979
3980        Exposed heap size limit to the heap statistics gathered by
3981        the GetHeapStatistics API.
3982
3983        Wrapped external pointers more carefully (issue 1037).
3984
3985        Hardened the implementation of error objects to avoid setters
3986        intercepting the properties set then throwing an error.
3987
3988        Avoided trashing the FPSCR when calculating Math.floor on ARM.
3989
3990        Performance improvements on the IA32 platform.
3991
3992
39932011-01-10: Version 3.0.7
3994
3995        Stopped calling inherited setters when creating object literals
3996        (issue 1015).
3997
3998        Changed interpretation of malformed \c? escapes in RegExp to match
3999        JSC.
4000
4001        Enhanced the command-line debugger interface and fixed some minor
4002        bugs in the debugger.
4003
4004        Performance improvements on the IA32 platform.
4005
4006
40072011-01-05: Version 3.0.6
4008
4009        Allowed getters and setters on JSArray elements (issue 900).
4010
4011        Stopped JSON objects from hitting inherited setters (part of
4012        issue 1015).
4013
4014        Allowed numbers and strings as names of getters/setters in object
4015        initializer (issue 820).
4016
4017        Added use_system_v8 option to gyp (off by default), to make it easier
4018        for Linux distributions to ship with system-provided V8 library.
4019
4020        Exported external array data accessors (issue 1016).
4021
4022        Added labelled thread names to help with debugging (on Linux).
4023
4024
40252011-01-03: Version 3.0.5
4026
4027        Fixed a couple of cast errors for gcc-3.4.3.
4028
4029        Performance improvements in GC and IA32 code generator.
4030
4031
40322010-12-21: Version 3.0.4
4033
4034        Added Date::ResetCache() to the API so that the cached values in the
4035        Date object can be reset to allow live DST / timezone changes.
4036
4037        Extended existing support for printing (while debugging) the contents
4038        of objects.  Added support for printing objects from release builds.
4039
4040        Fixed V8 issues 989, 1006, and 1007.
4041
4042
40432010-12-17: Version 3.0.3
4044
4045        Reapplied all changes for version 3.0.1.
4046
4047        Improved debugger protocol for remote debugging.
4048
4049        Added experimental support for using gyp to generate build files
4050        for V8.
4051
4052        Fixed implementation of String::Write in the API (issue 975).
4053
4054
40552010-12-15: Version 3.0.2
4056
4057        Revert version 3.0.1 and patch 3.0.1.1.
4058
4059
40602010-12-13: Version 3.0.1
4061
4062        Added support for an experimental internationalization API as an
4063        extension.  This extension is disabled by default but can be enabled
4064        when building V8.  The ECMAScript internationalization strawman is
4065        at http://wiki.ecmascript.org/doku.php?id=strawman:i18n_api.
4066
4067        Made RegExp character class parsing stricter.  This mirrors a change
4068        to RegExp parsing in WebKit.
4069
4070        Fixed a bug in Object.defineProperty when used to change attributes
4071        of an existing property.  It incorrectly set the property value to
4072        undefined (issue 965).
4073
4074        Fixed several different compilation failures on various platforms
4075        caused by the 3.0.0 release.
4076
4077        Optimized Math.pow so it can work on unboxed doubles.
4078
4079        Sped up quoting of JSON strings by removing one traversal of the
4080        string.
4081
4082
40832010-12-07: Version 3.0.0
4084
4085        Improved performance by (partially) addressing issue 957 on
4086        IA-32. Still needs more work for the other architectures.
4087
4088
40892010-11-29: Version 2.5.9
4090
4091        Fixed crashes during GC caused by partially initialize heap
4092        objects.
4093
4094        Fixed bug in process sample that caused memory leaks.
4095
4096        Improved performance on ARM by implementing missing stubs and
4097        inlining.
4098
4099        Improved heap profiler support.
4100
4101        Added separate seeding on Windows of the random number generator
4102        used internally by the compiler (issue 936).
4103
4104        Exposed API for getting the name of the function used to construct
4105        an object.
4106
4107        Fixed date parser to handle one and two digit millisecond
4108        values (issue 944).
4109
4110        Fixed number parsing to disallow space between sign and
4111        digits (issue 946).
4112
4113
41142010-11-23: Version 2.5.8
4115
4116        Removed dependency on Gay's dtoa.
4117
4118        Improved heap profiler precision and speed.
4119
4120        Reduced overhead of callback invocations on ARM.
4121
4122
41232010-11-18: Version 2.5.7
4124
4125        Fixed obscure evaluation order bug (issue 931).
4126
4127        Split the random number state between JavaScript and the private API.
4128
4129        Fixed performance bug causing GCs when generating stack traces on
4130        code from very large scripts.
4131
4132        Fixed bug in parser that allowed (foo):42 as a labelled statement
4133        (issue 918).
4134
4135        Provide more accurate results about used heap size via
4136        GetHeapStatistics.
4137
4138        Allow build-time customization of the max semispace size.
4139
4140        Made String.prototype.split honor limit when separator is empty
4141        (issue 929).
4142
4143        Added missing failure check after expecting an identifier in
4144        preparser (Chromium issue 62639).
4145
4146
41472010-11-10: Version 2.5.6
4148
4149        Added support for VFP rounding modes to the ARM simulator.
4150
4151        Fixed multiplication overflow bug (issue 927).
4152
4153        Added a limit for the amount of executable memory (issue 925).
4154
4155
41562010-11-08: Version 2.5.5
4157
4158        Added more aggressive GC of external objects in near out-of-memory
4159        situations.
4160
4161        Fixed a bug that gave the incorrect result for String.split called
4162        on the empty string (issue 924).
4163
4164
41652010-11-03: Version 2.5.4
4166
4167        Improved V8 VFPv3 runtime detection to address issue 914.
4168
4169
41702010-11-01: Version 2.5.3
4171
4172        Fixed a bug that prevents constants from overwriting function values
4173        in object literals (issue 907).
4174
4175        Fixed a bug with reporting of impossible nested calls of DOM functions
4176        (issue http://crbug.com/60753).
4177
4178
41792010-10-27: Version 2.5.2
4180
4181        Improved sampler resolution on Linux.
4182
4183        Allowed forcing the use of a simulator from the build script
4184        independently of the host architecture.
4185
4186        Fixed FreeBSD port (issue 912).
4187
4188        Made windows-tick-processor respect D8_PATH.
4189
4190        Implemented --noinline-new flag fully on IA32, X64 and ARM platforms.
4191
4192
41932010-10-20: Version 2.5.1
4194
4195        Fixed bug causing spurious out of memory exceptions
4196        (issue http://crbug.com/54580).
4197
4198        Fixed compilation error on Solaris platform (issue 901).
4199
4200        Fixed error in strtod (string to floating point number conversion)
4201        due to glibc's use of 80-bit floats in the FPU on 32-bit linux.
4202
4203        Adjusted randomized allocations of executable memory to have 64k
4204        granularity (issue http://crbug.com/56036).
4205
4206        Supported profiling using kernel perf_events on linux.  Added ll_prof
4207        script to tools and --ll-prof flag to V8.
4208
4209
42102010-10-18: Version 2.5.0
4211
4212        Fixed bug in cache handling of lastIndex on global regexps
4213        (issue http://crbug.com/58740).
4214
4215        Added USE_SIMULATOR macro that explicitly indicates that we wish to use
4216        the simulator as the execution engine (by Mark Lam <mark.lam@palm.com>
4217        from Hewlett-Packard Development Company, LP).
4218
4219        Fixed compilation error on ARM with gcc 4.4 (issue 894).
4220
4221
42222010-10-13: Version 2.4.9
4223
4224        Fixed a bug in the handling of conditional expressions in test
4225        contexts in compiler for top-level code.
4226
4227        Added "//@ sourceURL" information to the StackTrace API.
4228
4229        Exposed RegExp construction through the API.
4230
4231
42322010-10-04: Version 2.4.8
4233
4234        Fixed a bug in ResumeProfilerEx causing it to not always write out the
4235        whole snapshot (issue 868).
4236
4237        Performance improvements on all platforms.
4238
4239
42402010-09-30: Version 2.4.7
4241
4242        Changed the command-line flag --max-new-space-size to be in kB and the
4243        flag --max-old-space-size to be in MB (previously they were in bytes).
4244
4245        Added Debug::CancelDebugBreak to the debugger API.
4246
4247        Fixed a bug in getters for negative numeric property names
4248        (https://bugs.webkit.org/show_bug.cgi?id=46689).
4249
4250        Performance improvements on all platforms.
4251
4252
42532010-09-27: Version 2.4.6
4254
4255        Fixed assertion failure related to copy-on-write arrays (issue 876).
4256
4257        Fixed build failure of 64-bit V8 on Windows.
4258
4259        Fixed a bug in RegExp (issue http://crbug.com/52801).
4260
4261        Improved the profiler's coverage to cover more functions (issue 858).
4262
4263        Fixed error in shift operators on 64-bit V8
4264        (issue http://crbug.com/54521).
4265
4266
42672010-09-22: Version 2.4.5
4268
4269        Changed the RegExp benchmark to exercise the regexp engine on different
4270        inputs by scrambling the input strings.
4271
4272        Fixed a bug in keyed loads on strings.
4273
4274        Fixed a bug with loading global function prototypes.
4275
4276        Fixed a bug with profiling RegExp calls (issue http://crbug.com/55999).
4277
4278        Performance improvements on all platforms.
4279
4280
42812010-09-15: Version 2.4.4
4282
4283        Fixed bug with hangs on very large sparse arrays.
4284
4285        Now tries harder to free up memory when running out of space.
4286
4287        Added heap snapshots to JSON format to API.
4288
4289        Recalibrated benchmarks.
4290
4291
42922010-09-13: Version 2.4.3
4293
4294        Made Date.parse properly handle TZ offsets (issue 857).
4295
4296        Performance improvements on all platforms.
4297
4298
42992010-09-08: Version 2.4.2
4300
4301        Fixed GC crash bug.
4302
4303        Fixed stack corruption bug.
4304
4305        Fixed compilation for newer C++ compilers that found Operand(0)
4306        ambiguous.
4307
4308
43092010-09-06: Version 2.4.1
4310
4311        Added the ability for an embedding application to receive a callback
4312        when V8 allocates (V8::AddMemoryAllocationCallback) or deallocates
4313        (V8::RemoveMemoryAllocationCallback) from the OS.
4314
4315        Fixed several JSON bugs (including issue 855).
4316
4317        Fixed memory overrun crash bug triggered during V8's tick-based
4318        profiling.
4319
4320        Performance improvements on all platforms.
4321
4322
43232010-09-01: Version 2.4.0
4324
4325        Fixed bug in Object.freeze and Object.seal when Array.prototype or
4326        Object.prototype are changed (issue 842).
4327
4328        Updated Array.splice to follow Safari and Firefox when called
4329        with zero arguments.
4330
4331        Fixed a missing live register when breaking at keyed loads on ARM.
4332
4333        Performance improvements on all platforms.
4334
4335
43362010-08-25: Version 2.3.11
4337
4338        Fixed bug in RegExp related to copy-on-write arrays.
4339
4340        Refactored tools/test.py script, including the introduction of
4341        VARIANT_FLAGS that allows specification of sets of flags with which
4342        all tests should be run.
4343
4344        Fixed a bug in the handling of debug breaks in CallIC.
4345
4346        Performance improvements on all platforms.
4347
4348
43492010-08-23: Version 2.3.10
4350
4351        Fixed bug in bitops on ARM.
4352
4353        Build fixes for unusual compilers.
4354
4355        Track high water mark for RWX memory.
4356
4357        Performance improvements on all platforms.
4358
4359
43602010-08-18: Version 2.3.9
4361
4362        Fixed compilation for ARMv4 on OpenBSD/FreeBSD.
4363
4364        Removed specialized handling of GCC 4.4 (issue 830).
4365
4366        Fixed DST cache to take into account the suspension of DST in
4367        Egypt during the 2010 Ramadan (issue http://crbug.com/51855).
4368
4369        Performance improvements on all platforms.
4370
4371
43722010-08-16: Version 2.3.8
4373
4374        Fixed build with strict aliasing on GCC 4.4 (issue 463).
4375
4376        Fixed issue with incorrect handling of custom valueOf methods on
4377        string wrappers (issue 760).
4378
4379        Fixed compilation for ARMv4 (issue 590).
4380
4381        Improved performance.
4382
4383
43842010-08-11: Version 2.3.7
4385
4386        Reduced size of heap snapshots produced by heap profiler (issue 783).
4387
4388        Introduced v8::Value::IsRegExp method.
4389
4390        Fixed CPU profiler crash in start / stop sequence when non-existent
4391        name is passed (issue http://crbug.com/51594).
4392
4393        Introduced new indexed property query callbacks API (issue 816). This
4394        API is guarded by USE_NEW_QUERY_CALLBACK define and is disabled
4395        by default.
4396
4397        Removed support for object literal get/set with number/string
4398        property name.
4399
4400        Fixed handling of JSObject::elements in CalculateNetworkSize
4401        (issue 822).
4402
4403        Allowed compiling with strict aliasing enabled on GCC 4.4 (issue 463).
4404
4405
44062010-08-09: Version 2.3.6
4407
4408        RegExp literals create a new object every time they are evaluated
4409        (issue 704).
4410
4411        Object.seal and Object.freeze return the modified object (issue 809).
4412
4413        Fixed building using GCC 4.4.4.
4414
4415
44162010-08-04: Version 2.3.5
4417
4418        Added support for ES5 property names. Object initialisers and
4419        dot-notation property access now allows keywords. Also allowed
4420        non-identifiers after "get" or "set" in an object initialiser.
4421
4422        Randomized the addresses of allocated executable memory on Windows.
4423
4424
44252010-08-02: Version 2.3.4
4426
4427        Fixed problems in implementation of ES5 function.prototype.bind.
4428
4429        Fixed error when using apply with arguments object on ARM (issue 784).
4430
4431        Added setting of global flags to debugger protocol.
4432
4433        Fixed an error affecting cached results of sin and cos (issue 792).
4434
4435        Removed memory leak from a boundary case where V8 is not initialized.
4436
4437        Fixed issue where debugger could set breakpoints outside the body
4438        of a function.
4439
4440        Fixed issue in debugger when using both live edit and step in features.
4441
4442        Added Number-letter (Nl) category to Unicode tables.  These characters
4443        can now be used in identifiers.
4444
4445        Fixed an assert failure on X64 (issue 806).
4446
4447        Performance improvements on all platforms.
4448
4449
44502010-07-26: Version 2.3.3
4451
4452        Fixed error when building the d8 shell in a fresh checkout.
4453
4454        Implemented Function.prototype.bind (ES5 15.3.4.5).
4455
4456        Fixed an error in inlined stores on ia32.
4457
4458        Fixed an error when setting a breakpoint at the end of a function
4459        that does not end with a newline character.
4460
4461        Performance improvements on all platforms.
4462
4463
44642010-07-21: Version 2.3.2
4465
4466        Fixed compiler warnings when building with LLVM.
4467
4468        Fixed a bug with for-in applied to strings (issue 785).
4469
4470        Performance improvements on all platforms.
4471
4472
44732010-07-19: Version 2.3.1
4474
4475        Fixed compilation and linking with V8_INTERPRETED_REGEXP flag.
4476
4477        Fixed bug related to code flushing while compiling a lazy
4478        compilable function (issue http://crbug.com/49099).
4479
4480        Performance improvements on all platforms.
4481
4482
44832010-07-15: Version 2.3.0
4484
4485        Added ES5 Object.seal and Object.isSealed.
4486
4487        Added debugger API for scheduling debugger commands from a
4488        separate thread.
4489
4490
44912010-07-14: Version 2.2.24
4492
4493        Added API for capturing stack traces for uncaught exceptions.
4494
4495        Fixed crash bug when preparsing from a non-external V8 string
4496        (issue 775).
4497
4498        Fixed JSON.parse bug causing input not to be converted to string
4499        (issue 764).
4500
4501        Added ES5 Object.freeze and Object.isFrozen.
4502
4503        Performance improvements on all platforms.
4504
4505
45062010-07-07: Version 2.2.23
4507
4508        API change: Convert Unicode code points outside the basic multilingual
4509        plane to the replacement character.  Previous behavior was to silently
4510        truncate the value to 16 bits.
4511
4512        Fixed crash: handle all flat string types in regexp replace.
4513
4514        Prevent invalid pre-parsing data passed in through the API from
4515        crashing V8.
4516
4517        Performance improvements on all platforms.
4518
4519
45202010-07-05: Version 2.2.22
4521
4522        Added ES5 Object.isExtensible and Object.preventExtensions.
4523
4524        Enabled building V8 as a DLL.
4525
4526        Fixed a bug in date code where -0 was not interpreted as 0
4527        (issue 736).
4528
4529        Performance improvements on all platforms.
4530
4531
45322010-06-30: Version 2.2.21
4533
4534        Fixed bug in externalizing some ASCII strings (Chromium issue 47824).
4535
4536        Updated JSON.stringify to floor the space parameter (issue 753).
4537
4538        Updated the Mozilla test expectations to the newest version.
4539
4540        Updated the ES5 Conformance Test expectations to the latest version.
4541
4542        Updated the V8 benchmark suite.
4543
4544        Provide actual breakpoints locations in response to setBreakpoint
4545        and listBreakpoints requests.
4546
4547
45482010-06-28: Version 2.2.20
4549
4550        Fixed bug with for-in on x64 platform (issue 748).
4551
4552        Fixed crash bug on x64 platform (issue 756).
4553
4554        Fixed bug in Object.getOwnPropertyNames. (chromium issue 41243).
4555
4556        Fixed a bug on ARM that caused the result of 1 << x to be
4557        miscalculated for some inputs.
4558
4559        Performance improvements on all platforms.
4560
4561
45622010-06-23: Version 2.2.19
4563
4564        Fixed bug that causes the build to break when profillingsupport=off
4565        (issue 738).
4566
4567        Added expose-externalize-string flag for testing extensions.
4568
4569        Resolve linker issues with using V8 as a DLL causing a number of
4570        problems with unresolved symbols.
4571
4572        Fixed build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
4573        defined.
4574
4575        Performance improvements on all platforms.
4576
4577
45782010-06-16: Version 2.2.18
4579
4580        Added API functions to retrieve information on indexed properties
4581        managed by the embedding layer.  Fixes bug 737.
4582
4583        Made ES5 Object.defineProperty support array elements.  Fixes bug 619.
4584
4585        Added heap profiling to the API.
4586
4587        Removed old named property query from the API.
4588
4589        Incremental performance improvements.
4590
4591
45922010-06-14: Version 2.2.17
4593
4594        Improved debugger support for stepping out of functions.
4595
4596        Incremental performance improvements.
4597
4598
45992010-06-09: Version 2.2.16
4600
4601        Removed the SetExternalStringDiposeCallback API. Changed the
4602        disposal of external string resources to call a virtual Dispose
4603        method on the resource.
4604
4605        Added support for more precise break points when debugging and
4606        stepping.
4607
4608        Memory usage improvements on all platforms.
4609
4610
46112010-06-07: Version 2.2.15
4612
4613        Added an API to control the disposal of external string resources.
4614
4615        Added missing initialization of a couple of variables which makes
4616        some compilers complaint when compiling with -Werror.
4617
4618        Improved performance on all platforms.
4619
4620
46212010-06-02: Version 2.2.14
4622
4623        Fixed a crash in code generated for String.charCodeAt.
4624
4625        Fixed a compilation issue with some GCC versions (issue 727).
4626
4627        Performance optimizations on x64 and ARM platforms.
4628
4629
46302010-05-31: Version 2.2.13
4631
4632        Implemented Object.getOwnPropertyDescriptor for element indices and
4633        strings (issue 599).
4634
4635        Fixed bug for windows 64 bit C calls from generated code.
4636
4637        Added new scons flag unalignedaccesses for arm builds.
4638
4639        Performance improvements on all platforms.
4640
4641
46422010-05-26: Version 2.2.12
4643
4644        Allowed accessors to be defined on objects rather than just object
4645        templates.
4646
4647        Changed the ScriptData API.
4648
4649
46502010-05-21: Version 2.2.11
4651
4652        Fixed crash bug in liveedit on 64 bit.
4653
4654        Use 'full compiler' when debugging is active.  This should increase
4655        the density of possible break points, making single step more fine
4656        grained.  This will only take effect for functions compiled after
4657        debugging has been started, so recompilation of all functions is
4658        required to get the full effect.  IA32 and x64 only for now.
4659
4660        Misc. fixes to the Solaris build.
4661
4662        Added new flags --print-cumulative-gc-stat and --trace-gc-nvp.
4663
4664        Added filtering of CPU profiles by security context.
4665
4666        Fixed crash bug on ARM when running without VFP2 or VFP3.
4667
4668        Incremental performance improvements in all backends.
4669
4670
46712010-05-17: Version 2.2.10
4672
4673        Performance improvements in the x64 and ARM backends.
4674
4675
46762010-05-10: Version 2.2.9
4677
4678        Allowed Object.create to be called with a function (issue 697).
4679
4680        Fixed bug with Date.parse returning a non-NaN value when called on a
4681        non date string (issue 696).
4682
4683        Allowed unaligned memory accesses on ARM targets that support it (by
4684        Subrato K De of CodeAurora <subratokde@codeaurora.org>).
4685
4686        C++ API for retrieving JavaScript stack trace information.
4687
4688
46892010-05-05: Version 2.2.8
4690
4691        Performance improvements in the x64 and ARM backends.
4692
4693
46942010-05-03: Version 2.2.7
4695
4696        Added support for ES5 date time string format to Date.parse.
4697
4698        Performance improvements in the x64 backend.
4699
4700
47012010-04-28: Version 2.2.6
4702
4703        Added "amd64" as recognized architecture in scons build script
4704        (by Ryan Dahl <coldredlemur@gmail.com>).
4705
4706        Fixed bug in String search and replace with very simple RegExps.
4707
4708        Fixed bug in RegExp containing "\b^".
4709
4710        Performance improvements on all platforms.
4711
4712
47132010-04-26: Version 2.2.5
4714
4715        Various performance improvements (especially for ARM and x64)
4716
4717        Fixed bug in CPU profiling (http://crbug.com/42137)
4718
4719        Fixed a bug with the natives cache.
4720
4721        Fixed two bugs in the ARM code generator that can cause
4722        wrong calculations.
4723
4724        Fixed a bug that may cause a wrong result for shift operations.
4725
4726
47272010-04-21: Version 2.2.4
4728
4729        Fixed warnings on arm on newer GCC versions.
4730
4731        Fixed a number of minor bugs.
4732
4733        Performance improvements on all platforms.
4734
4735
47362010-04-14: Version 2.2.3
4737
4738        Added stack command and mem command to ARM simulator debugger.
4739
4740        Fixed scons snapshot and ARM build, and Windows X64 build issues.
4741
4742        Performance improvements on all platforms.
4743
4744
47452010-04-12: Version 2.2.2
4746
4747        Introduced new profiler API.
4748
4749        Fixed random number generator to produce full 32 random bits.
4750
4751
47522010-04-06: Version 2.2.1
4753
4754        Debugger improvements.
4755
4756        Fixed minor bugs.
4757
4758
47592010-03-29: Version 2.2.0
4760
4761        Fixed a few minor bugs.
4762
4763        Performance improvements for string operations.
4764
4765
47662010-03-26: Version 2.1.10
4767
4768        Fixed scons build issues.
4769
4770        Fixed a couple of minor bugs.
4771
4772
47732010-03-25: Version 2.1.9
4774
4775        Added API support for reattaching a global object to a context.
4776
4777        Extended debugger API with access to the internal debugger context.
4778
4779        Fixed Chromium crashes (issues http://crbug.com/39128 and
4780        http://crbug.com/39160)
4781
4782
47832010-03-24: Version 2.1.8
4784
4785        Added fine-grained garbage collection callbacks to the API.
4786
4787        Performance improvements on all platforms.
4788
4789
47902010-03-22: Version 2.1.7
4791
4792        Fixed issue 650.
4793
4794        Fixed a bug where __proto__ was sometimes enumerated (issue 646).
4795
4796        Performance improvements for arithmetic operations.
4797
4798        Performance improvements for string operations.
4799
4800        Print script name and line number information in stack trace.
4801
4802
48032010-03-17: Version 2.1.6
4804
4805        Performance improvements for arithmetic operations.
4806
4807        Performance improvements for string operations.
4808
4809
48102010-03-10: Version 2.1.4
4811
4812        Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).
4813
4814        Performance improvements on all platforms.
4815
4816
48172010-03-10: Version 2.1.3
4818
4819        Added API method for context-disposal notifications.
4820
4821        Added API method for accessing elements by integer index.
4822
4823        Added missing implementation of Uint32::Value and Value::IsUint32
4824        API methods.
4825
4826        Added IsExecutionTerminating API method.
4827
4828        Disabled strict aliasing for GCC 4.4.
4829
4830        Fixed string-concatenation bug (issue 636).
4831
4832        Performance improvements on all platforms.
4833
4834
48352010-02-23: Version 2.1.2
4836
4837        Fixed a crash bug caused by wrong assert.
4838
4839        Fixed a bug with register names on 64-bit V8 (issue 615).
4840
4841        Performance improvements on all platforms.
4842
4843
48442010-02-19: Version 2.1.1
4845
4846        [ES5] Implemented Object.defineProperty.
4847
4848        Improved profiler support.
4849
4850        Added SetPrototype method in the public V8 API.
4851
4852        Added GetScriptOrigin and GetScriptLineNumber methods to Function
4853        objects in the API.
4854
4855        Performance improvements on all platforms.
4856
4857
48582010-02-03: Version 2.1.0
4859
4860        Values are now always wrapped in objects when used as a receiver.
4861        (issue 223).
4862
4863        [ES5] Implemented Object.getOwnPropertyNames.
4864
4865        [ES5] Restrict JSON.parse to only accept strings that conforms to the
4866        JSON grammar.
4867
4868        Improvement of debugger agent (issue 549 and 554).
4869
4870        Fixed problem with skipped stack frame in profiles (issue 553).
4871
4872        Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
4873        <ry@tinyclouds.org>.
4874
4875        Fixed a bug that Math.round() returns incorrect results for huge
4876        integers.
4877
4878        Fixed enumeration order for objects created from some constructor
4879        functions (isue http://crbug.com/3867).
4880
4881        Fixed arithmetic on some integer constants (issue 580).
4882
4883        Numerous performance improvements including porting of previous IA-32
4884        optimizations to x64 and ARM architectures.
4885
4886
48872010-01-14: Version 2.0.6
4888
4889        Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,
4890        GetOwnProperty, FromPropertyDescriptor.
4891
4892        Fixed Mac x64 build errors.
4893
4894        Improved performance of some math and string operations.
4895
4896        Improved performance of some regexp operations.
4897
4898        Improved performance of context creation.
4899
4900        Improved performance of hash tables.
4901
4902
49032009-12-18: Version 2.0.5
4904
4905        Extended to upper limit of map space to allow for 7 times as many map
4906        to be allocated (issue 524).
4907
4908        Improved performance of code using closures.
4909
4910        Improved performance of some binary operations involving doubles.
4911
4912
49132009-12-16: Version 2.0.4
4914
4915        Added ECMAScript 5 Object.create.
4916
4917        Improved performance of Math.max and Math.min.
4918
4919        Optimized adding of strings on 64-bit platforms.
4920
4921        Improved handling of external strings by using a separate table
4922        instead of weak handles.  This improves garbage collection
4923        performance and uses less memory.
4924
4925        Changed code generation for object and array literals in toplevel
4926        code to be more compact by doing more work in the runtime.
4927
4928        Fixed a crash bug triggered when garbage collection happened during
4929        generation of a callback load inline cache stub.
4930
4931        Fixed crash bug sometimes triggered when local variables shadowed
4932        parameters in functions that used the arguments object.
4933
4934
49352009-12-03: Version 2.0.3
4936
4937        Optimized handling and adding of strings, for-in and Array.join.
4938
4939        Heap serialization is now non-destructive.
4940
4941        Improved profiler support with information on time spend in C++
4942        callbacks registered through the API.
4943
4944        Added commands to the debugger protocol for starting/stopping
4945        profiling.
4946
4947        Enabled the non-optimizing compiler for top-level code.
4948
4949        Changed the API to only allow strings to be set as data objects on
4950        Contexts and scripts to avoid potentially keeping global objects
4951        around for too long (issue 528).
4952
4953        OpenBSD support patch by Peter Valchev <pvalchev@gmail.com>.
4954
4955        Fixed bugs.
4956
4957
49582009-11-24: Version 2.0.2
4959
4960        Improved profiler support.
4961
4962        Fixed bug that broke compilation of d8 with readline support.
4963
4964
49652009-11-20: Version 2.0.1
4966
4967        Fixed crash bug in String.prototype.replace.
4968
4969        Reverted a change which caused Chromium interactive ui test
4970        failures.
4971
4972
49732009-11-18: Version 2.0.0
4974
4975        Added support for VFP on ARM.
4976
4977        Added TryCatch::ReThrow method to the API.
4978
4979        Reduced the size of snapshots and improved the snapshot load time.
4980
4981        Improved heap profiler support.
4982
4983        64-bit version now supported on Windows.
4984
4985        Fixed a number of debugger issues.
4986
4987        Fixed bugs.
4988
4989
49902009-10-29: Version 1.3.18
4991
4992        Reverted a change which caused crashes in RegExp replace.
4993
4994        Reverted a change which caused Chromium ui_tests failure.
4995
4996
49972009-10-28: Version 1.3.17
4998
4999        Added API method to get simple heap statistics.
5000
5001        Improved heap profiler support.
5002
5003        Fixed the implementation of the resource constraint API so it
5004        works when using snapshots.
5005
5006        Fixed a number of issues in the Windows 64-bit version.
5007
5008        Optimized calls to API getters.
5009
5010        Added valgrind notification on code modification to the 64-bit version.
5011
5012        Fixed issue where we logged shared library addresses on Windows at
5013        startup and never used them.
5014
5015
50162009-10-16: Version 1.3.16
5017
5018        X64: Convert smis to holding 32 bits of payload.
5019
5020        Introduced v8::Integer::NewFromUnsigned method.
5021
5022        Added missing null check in Context::GetCurrent.
5023
5024        Added trim, trimLeft and trimRight methods to String
5025        Patch by Jan de Mooij <jandemooij@gmail.com>
5026
5027        Implement ES5 Array.isArray
5028        Patch by Jan de Mooij <jandemooij@gmail.com>
5029
5030        Skip access checks for hidden properties.
5031
5032        Added String::Concat(Handle<String> left, Handle<String> right) to the
5033        V8 API.
5034
5035        Fixed GYP-based builds of V8.
5036
5037
50382009-10-07: Version 1.3.15
5039
5040        Expanded the maximum size of the code space to 512MB for 64-bit mode.
5041
5042        Fixed a crash bug happening when starting profiling (issue
5043        http://crbug.com/23768).
5044
5045
50462009-10-07: Version 1.3.14
5047
5048        Added GetRealNamedProperty to the API to lookup real properties
5049        located on the object or in the prototype chain skipping any
5050        interceptors.
5051
5052        Fixed the stack limits setting API to work correctly with threads. The
5053        stack limit now needs to be set to each thread thich is used with V8.
5054
5055        Removed the high-priority flag from IdleNotification()
5056
5057        Ensure V8 is initialized before locking and unlocking threads.
5058
5059        Implemented a new JavaScript minifier for compressing the source of
5060        the built-in JavaScript. This removes non-Open Source code from Douglas
5061        Crockford from the project.
5062
5063        Added a missing optimization in StringCharAt.
5064
5065        Fixed some flaky socket tests.
5066
5067        Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
5068        in 64-bit mode.
5069
5070        Fixed memory leaks in the thread management code.
5071
5072        Fixed the result of assignment to a pixel array. The assigned value
5073        is now the result.
5074
5075        Error reporting for invalid left-hand sides in for-in statements, pre-
5076        and postfix count expressions, and assignments now matches the JSC
5077        behavior in Safari 4.
5078
5079        Follow the spec in disallowing function declarations without a name.
5080
5081        Always allocate code objects within a 2 GB range. On x64 architecture
5082        this is used to use near calls (32-bit displacement) in Code objects.
5083
5084        Optimized array construction ported to x64 and ARM architectures.
5085
5086        [ES5] Changed Object.keys to return strings for element indices.
5087
5088
50892009-09-23: Version 1.3.13
5090
5091        Fixed uninitialized memory problem.
5092
5093        Improved heap profiler support.
5094
5095
50962009-09-22: Version 1.3.12
5097
5098        Changed behavior of |function|.toString() on built-in functions to
5099        be compatible with other implementations.  Patch by Jan de Mooij.
5100
5101        Added Object::IsDirty in the API.
5102
5103        Optimized array construction; it is now handled purely in native
5104        code.
5105
5106        [ES5] Made properties of the arguments array enumerable.
5107
5108        [ES5] Added test suite adapter for the es5conform test suite.
5109
5110        [ES5] Added Object.keys function.
5111
5112
51132009-09-15: Version 1.3.11
5114
5115        Fixed crash in error reporting during bootstrapping.
5116
5117        Optimized generated IA32 math code by using SSE2 instructions when
5118        available.
5119
5120        Implemented missing pieces of debugger infrastructure on ARM.  The
5121        debugger is now fully functional on ARM.
5122
5123        Made 'hidden' the default visibility for gcc.
5124
5125
51262009-09-09: Version 1.3.10
5127
5128        Fixed profiler on Mac in 64-bit mode.
5129
5130        Optimized creation of objects from simple constructor functions on
5131        ARM.
5132
5133        Fixed a number of debugger issues.
5134
5135        Reduced the amount of memory consumed by V8.
5136
5137
51382009-09-02: Version 1.3.9
5139
5140        Optimized stack guard checks on ARM.
5141
5142        Optimized API operations by inlining more in the API.
5143
5144        Optimized creation of objects from simple constructor functions.
5145
5146        Enabled a number of missing optimizations in the 64-bit port.
5147
5148        Implemented native-code support for regular expressions on ARM.
5149
5150        Stopped using the 'sahf' instruction on 64-bit machines that do
5151        not support it.
5152
5153        Fixed a bug in the support for forceful termination of JavaScript
5154        execution.
5155
5156
51572009-08-26: Version 1.3.8
5158
5159        Changed the handling of idle notifications to allow idle
5160        notifications when V8 has not yet been initialized.
5161
5162        Fixed ARM simulator compilation problem on Windows.
5163
5164
51652009-08-25: Version 1.3.7
5166
5167        Reduced the size of generated code on ARM platforms by reducing
5168        the size of constant pools.
5169
5170        Changed build files to not include the 'ENV' user environment
5171        variable in the build environment.
5172
5173        Changed the handling of idle notifications.
5174
5175
51762009-08-21: Version 1.3.6
5177
5178        Added support for forceful termination of JavaScript execution.
5179
5180        Added low memory notification to the API. The embedding host can signal
5181        a low memory situation to V8.
5182
5183        Changed the handling of global handles (persistent handles in the API
5184        sense) to avoid issues regarding allocation of new global handles
5185        during weak handle callbacks.
5186
5187        Changed the growth policy of the young space.
5188
5189        Fixed a GC issue introduced in version 1.3.5.
5190
5191
51922009-08-19: Version 1.3.5
5193
5194        Optimized initialization of some arrays in the builtins.
5195
5196        Fixed mac-nm script to support filenames with spaces.
5197
5198        Support for using the V8 profiler when V8 is embedded in a Windows DLL.
5199
5200        Changed typeof RegExp from 'object' to 'function' for compatibility.
5201        Fixed bug where regexps were not callable across contexts.
5202
5203        Added context independent script compilation to the API.
5204
5205        Added API call to get the stack trace for an exception.
5206
5207        Added API for getting object mirrors.
5208
5209        Made sure that SSE3 instructions are used whenever possible even when
5210        running off a snapshot generated without using SSE3 instructions.
5211
5212        Tweaked the handling of the initial size and growth policy of the heap.
5213
5214        Added native code generation for RegExp to 64-bit version.
5215
5216        Added JavaScript debugger support to 64-bit version.
5217
5218
52192009-08-13: Version 1.3.4
5220
5221        Added a readline() command to the d8 shell.
5222
5223        Fixed bug in json parsing.
5224
5225        Added idle notification to the API and reduced memory on idle
5226        notifications.
5227
5228
52292009-08-12: Version 1.3.3
5230
5231        Fixed issue 417: incorrect %t placeholder expansion.
5232
5233        Added .gitignore file similar to Chromium's one.
5234
5235        Fixed SConstruct file to build with new logging code for Android.
5236
5237        API: added function to find instance of template in prototype
5238        chain.  Inlined Object::IsInstanceOf.
5239
5240        Land change to notify valgrind when we modify code on x86.
5241
5242        Added api call to determine whether a string can be externalized.
5243
5244        Added a write() command to d8.
5245
5246
52472009-08-05: Version 1.3.2
5248
5249        Started new compiler infrastructure for two-pass compilation using a
5250        control flow graph constructed from the AST.
5251
5252        Profiler stack sampling for X64.
5253
5254        Safe handling of NaN to Posix platform-dependent time functions.
5255
5256        Added a new profiler control API to unify controlling various aspects
5257        of profiling.
5258
5259        Fixed issue 392.
5260
5261
52622009-07-30: Version 1.3.1
5263
5264        Speed improvements to accessors and interceptors.
5265
5266        Added support for capturing stack information on custom errors.
5267
5268        Added support for morphing an object into a pixel array where its
5269        indexed properties are stored in an external byte array. Values written
5270        are always clamped to the 0..255 interval.
5271
5272        Profiler on x64 now handles C/C++ functions from shared libraries.
5273
5274        Changed the debugger to avoid stepping into function.call/apply if the
5275        function is a built-in.
5276
5277        Initial implementation of constructor heap profile for JS objects.
5278
5279        More fine grained control of profiling aspects through the API.
5280
5281        Optimized the called as constructor check for API calls.
5282
5283
52842009-07-27: Version 1.3.0
5285
5286        Allowed RegExp objects to be called as functions (issue 132).
5287
5288        Fixed issue where global property cells would escape after
5289        detaching the global object; see http://crbug.com/16276.
5290
5291        Added support for stepping into setters and getters in the
5292        debugger.
5293
5294        Changed the debugger to avoid stopping in its own JavaScript code
5295        and in the code of built-in functions.
5296
5297        Fixed issue 345 by avoiding duplicate escaping labels.
5298
5299        Fixed ARM code generator crash in short-circuited boolean
5300        expressions and added regression tests.
5301
5302        Added an external allocation limit to avoid issues where small V8
5303        objects would hold on to large amounts of external memory without
5304        causing garbage collections.
5305
5306        Finished more of the inline caching stubs for x64 targets.
5307
5308
53092009-07-13: Version 1.2.14
5310
5311        Added separate paged heap space for global property cells and
5312        avoid updating the write barrier when storing into them.
5313
5314        Improved peep-hole optimization on ARM platforms by not emitting
5315        unnecessary debug information.
5316
5317        Re-enabled ICs for loads and calls that skip a global object
5318        during lookup through the prototype chain.
5319
5320        Allowed access through global proxies to use ICs.
5321
5322        Fixed issue 401.
5323
5324
53252009-07-09: Version 1.2.13
5326
5327        Fixed issue 397, issue 398, and issue 399.
5328
5329        Added support for breakpoint groups.
5330
5331        Fixed bugs introduced with the new global object representation.
5332
5333        Fixed a few bugs in the ARM code generator.
5334
5335
53362009-07-06: Version 1.2.12
5337
5338        Added stack traces collection to Error objects accessible through
5339        the e.stack property.
5340
5341        Changed RegExp parser to use a recursive data structure instead of
5342        stack-based recursion.
5343
5344        Optimized Date object construction and string concatenation.
5345
5346        Improved performance of div, mod, and mul on ARM platforms.
5347
5348
53492009-07-02: Version 1.2.11
5350
5351        Improved performance on IA-32 and ARM.
5352
5353        Fixed profiler sampler implementation on Mac OS X.
5354
5355        Changed the representation of global objects to improve
5356        performance of adding a lot of new properties.
5357
5358
53592009-06-29: Version 1.2.10
5360
5361        Improved debugger support.
5362
5363        Fixed bug in exception message reporting (issue 390).
5364
5365        Improved overall performance.
5366
5367
53682009-06-23: Version 1.2.9
5369
5370        Improved math performance on ARM.
5371
5372        Fixed profiler name-inference bug.
5373
5374        Fixed handling of shared libraries in the profiler tick processor
5375        scripts.
5376
5377        Fixed handling of tests that time out in the test scripts.
5378
5379        Fixed compilation on MacOS X version 10.4.
5380
5381        Fixed two bugs in the regular expression engine.
5382
5383        Fixed a bug in the string type inference.
5384
5385        Fixed a bug in the handling of 'constant function' properties.
5386
5387        Improved overall performance.
5388
5389
53902009-06-16: Version 1.2.8
5391
5392        Optimized math on ARM platforms.
5393
5394        Fixed two crash bugs in the handling of getters and setters.
5395
5396        Improved the debugger support by adding scope chain information.
5397
5398        Improved the profiler support by compressing log data transmitted
5399        to clients.
5400
5401        Improved overall performance.
5402
5403
54042009-06-08: Version 1.2.7
5405
5406        Improved debugger and profiler support.
5407
5408        Reduced compilation time by improving the handling of deferred
5409        code.
5410
5411        Optimized interceptor accesses where the property is on the object
5412        on which the interceptors is attached.
5413
5414        Fixed compilation problem on GCC 4.4 by changing the stack
5415        alignment to 16 bytes.
5416
5417        Fixed handle creation to follow stric aliasing rules.
5418
5419        Fixed compilation on FreeBSD.
5420
5421        Introduced API for forcing the deletion of a property ignoring
5422        interceptors and attributes.
5423
5424
54252009-05-29: Version 1.2.6
5426
5427        Added a histogram recording hit rates at different levels of the
5428        compilation cache.
5429
5430        Added stack overflow check for the RegExp analysis phase. Previously a
5431        very long regexp graph could overflow the stack with recursive calls.
5432
5433        Use a dynamic buffer when collecting log events in memory.
5434
5435        Added start/stop events to the profiler log.
5436
5437        Fixed infinite loop which could happen when setting a debug break while
5438        executing a RegExp compiled to native code.
5439
5440        Fixed handling of lastIndexOf called with negative index (issue 351).
5441
5442        Fixed irregular crash in profiler test (issue 358).
5443
5444        Fixed compilation issues with some versions of gcc.
5445
5446
54472009-05-26: Version 1.2.5
5448
5449        Fixed bug in initial boundary check for Boyer-Moore text
5450        search (issue 349).
5451
5452        Fixed compilation issues with MinGW and gcc 4.3+ and added support
5453        for armv7 and cortex-a8 architectures.  Patches by Lei Zhang and
5454        Craig Schlenter.
5455
5456        Added a script cache to the debugger.
5457
5458        Optimized compilation performance by improving internal data
5459        structures and avoiding expensive property load optimizations for
5460        code that's infrequently executed.
5461
5462        Exposed the calling JavaScript context through the static API
5463        function Context::GetCalling().
5464
5465
54662009-05-18: Version 1.2.4
5467
5468        Improved performance of floating point number allocation for ARM
5469        platforms.
5470
5471        Fixed crash when using the instanceof operator on functions with
5472        number values in their prototype chain (issue 341).
5473
5474        Optimized virtual frame operations in the code generator to speed
5475        up compilation time and allocated the frames in the zone.
5476
5477        Made the representation of virtual frames and jump targets in the
5478        code generator much more compact.
5479
5480        Avoided linear search for non-locals in scope code when resolving
5481        variables inside with and eval scopes.
5482
5483        Optimized lexical scanner by dealing with whitespace as part of
5484        the token scanning instead of as a separate step before it.
5485
5486        Changed the scavenging collector so that promoted objects do not
5487        reside in the old generation while their remembered set is being
5488        swept for pointers into the young generation.
5489
5490        Fixed numeric overflow handling when compiling count operations.
5491
5492
54932009-05-11: Version 1.2.3
5494
5495        Fixed bug in reporting of out-of-memory situations.
5496
5497        Introduced hidden prototypes on certain builtin prototype objects
5498        such as String.prototype to emulate JSC's behavior of restoring
5499        the original function when deleting functions from those prototype
5500        objects.
5501
5502        Fixed crash bug in the register allocator.
5503
5504
55052009-05-04: Version 1.2.2
5506
5507        Fixed bug in array sorting for sparse arrays (issue 326).
5508
5509        Added support for adding a soname when building a shared library
5510        on Linux (issue 151).
5511
5512        Fixed bug caused by morphing internal ASCII strings to external
5513        two-byte strings.  Slices over ASCII strings have to forward ASCII
5514        checks to the underlying buffer string.
5515
5516        Allowed API call-as-function handlers to be called as
5517        constructors.
5518
5519        Fixed a crash bug where an external string was disposed but a
5520        slice of the external string survived as a symbol.
5521
5522
55232009-04-27: Version 1.2.1
5524
5525        Added EcmaScript 5 JSON object.
5526
5527        Fixed bug in preemption support on ARM.
5528
5529
55302009-04-23: Version 1.2.0
5531
5532        Optimized floating-point operations on ARM.
5533
5534        Added a number of extensions to the debugger API.
5535
5536        Changed the enumeration order for unsigned integer keys to always
5537        be numerical order.
5538
5539        Added a "read" extension to the shell sample.
5540
5541        Added support for Array.prototype.reduce and
5542        Array.prototype.reduceRight.
5543
5544        Added an option to the SCons build to control Microsoft Visual C++
5545        link-time code generation.
5546
5547        Fixed a number of bugs (in particular issue 315, issue 316,
5548        issue 317 and issue 318).
5549
5550
55512009-04-15: Version 1.1.10
5552
5553        Fixed crash bug that occurred when loading a const variable in the
5554        presence of eval.
5555
5556        Allowed using with and eval in registered extensions in debug mode
5557        by fixing bogus assert.
5558
5559        Fixed the source position for function returns to enable the
5560        debugger to break there.
5561
5562
55632009-04-14: Version 1.1.9
5564
5565        Made the stack traversal code in the profiler robust by avoiding
5566        to look into the heap.
5567
5568        Added name inferencing for anonymous functions to facilitate
5569        debugging and profiling.
5570
5571        Re-enabled stats timers in the developer shell (d8).
5572
5573        Fixed issue 303 by avoiding to shortcut cons-symbols.
5574
5575
55762009-04-11: Version 1.1.8
5577
5578        Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).
5579
5580        Fixed step-in handling for Function.prototype.apply and call in
5581        the debugger (issue 269).
5582
5583        Fixed v8::Object::DeleteHiddenValue to not bail out when there
5584        are no hidden properties.
5585
5586        Added workaround for crash bug, where external symbol table
5587        entries with deleted resources would lead to NPEs when looking
5588        up in the symbol table.
5589
5590
55912009-04-07: Version 1.1.7
5592
5593        Added support for easily importing additional environment
5594        variables into the SCons build.
5595
5596        Optimized strict equality checks.
5597
5598        Fixed crash in indexed setters on objects without a corresponding
5599        getter (issue 298).
5600
5601        Re-enabled script compilation cache.
5602
5603
56042009-04-01: Version 1.1.6
5605
5606        Reverted an unsafe code generator change.
5607
5608
56092009-04-01: Version 1.1.5
5610
5611        Fixed bug that caused function literals to not be optimized as
5612        much as other functions.
5613
5614        Improved profiler support.
5615
5616        Fixed a crash bug in connection with debugger unloading.
5617
5618        Fixed a crash bug in the code generator caused by losing the
5619        information that a frame element was copied.
5620
5621        Fixed an exception propagation bug that could cause non-null
5622        return values when exceptions were thrown.
5623
5624
56252009-03-30: Version 1.1.4
5626
5627        Optimized String.prototype.match.
5628
5629        Improved the stack information in profiles.
5630
5631        Fixed bug in ARM port making it possible to compile the runtime
5632        system for thumb mode again.
5633
5634        Implemented a number of optimizations in the code generator.
5635
5636        Fixed a number of memory leaks in tests.
5637
5638        Fixed crash bug in connection with script source code and external
5639        strings.
5640
5641
56422009-03-24: Version 1.1.3
5643
5644        Fixed assertion failures in compilation of loop conditions.
5645
5646        Removed STL dependency from developer shell (d8).
5647
5648        Added infrastructure for protecting the V8 heap from corruption
5649        caused by memory modifications from the outside.
5650
5651
56522009-03-24: Version 1.1.2
5653
5654        Improved frame merge code generated by the code generator.
5655
5656        Optimized String.prototype.replace.
5657
5658        Implemented __defineGetter__ and __defineSetter__ for properties
5659        with integer keys on non-array objects.
5660
5661        Improved debugger and profiler support.
5662
5663        Fixed a number of portability issues to allow compilation for
5664        smaller ARM devices.
5665
5666        Exposed object cloning through the API.
5667
5668        Implemented hidden properties.  This is used to expose an identity
5669        hash for objects through the API.
5670
5671        Implemented restarting of regular expressions if their input
5672        string changes representation during preemption.
5673
5674        Fixed a code generator bug that could cause assignments in loops
5675        to be ignored if using continue to break out of the loop (issue
5676        284).
5677
5678
56792009-03-12: Version 1.1.1
5680
5681        Fixed an assertion in the new compiler to take stack overflow
5682        exceptions into account.
5683
5684        Removed exception propagation code that could cause crashes.
5685
5686        Fixed minor bug in debugger line number computations.
5687
5688        8-byte align the C stack on Linux and Windows to speed up floating
5689        point computations.
5690
5691
56922009-03-12: Version 1.1.0
5693
5694        Improved code generation infrastructure by doing simple register
5695        allocation and constant folding and propagation.
5696
5697        Optimized regular expression matching by avoiding to create
5698        intermediate string arrays and by flattening nested array
5699        representations of RegExp data.
5700
5701        Traverse a few stack frames when recording profiler samples to
5702        include partial call graphs in the profiling output.
5703
5704        Added support for using OProfile to profile generated code.
5705
5706        Added remote debugging support to the D8 developer shell.
5707
5708        Optimized creation of nested literals like JSON objects.
5709
5710        Fixed a bug in garbage collecting unused maps and turned it on by
5711        default (--collect-maps).
5712
5713        Added support for running tests under Valgrind.
5714
5715
57162009-02-27: Version 1.0.3
5717
5718        Optimized double-to-integer conversions in bit operations by using
5719        SSE3 instructions if available.
5720
5721        Optimized initialization sequences that store to multiple
5722        properties of the same object.
5723
5724        Changed the D8 debugger frontend to use JSON messages.
5725
5726        Force garbage collections when disposing contexts.
5727
5728        Align code objects at 32-byte boundaries.
5729
5730
57312009-02-25: Version 1.0.2
5732
5733        Improved profiling support by performing simple call stack
5734        sampling for ticks and by fixing a bug in the logging of code
5735        addresses.
5736
5737        Fixed a number of debugger issues.
5738
5739        Optimized code that uses eval.
5740
5741        Fixed a couple of bugs in the regular expression engine.
5742
5743        Reduced the size of generated code for certain regular expressions.
5744
5745        Removed JSCRE completely.
5746
5747        Fixed issue where test could not be run if there was a dot in the
5748        checkout path.
5749
5750
57512009-02-13: Version 1.0.1
5752
5753        Fixed two crash-bugs in irregexp (issue 231 and 233).
5754
5755        Fixed a number of minor bugs (issue 87, 227 and 228).
5756
5757        Added support for morphing strings to external strings on demand
5758        to avoid having to create copies in the embedding code.
5759
5760        Removed experimental support for external symbol callbacks.
5761
5762
57632009-02-09: Version 1.0.0
5764
5765        Fixed crash-bug in the code generation for case independent 16 bit
5766        backreferences.
5767
5768        Made shells more robust in the presence of string conversion
5769        failures (issue 224).
5770
5771        Fixed a potential infinite loop when attempting to resolve
5772        eval (issue 221).
5773
5774        Miscellaneous fixes to the new regular expression engine.
5775
5776        Reduced binary by stripping unneeded text from JavaScript library and
5777        minifying some JavaScript files.
5778
5779
57802009-01-27: Version 0.4.9
5781
5782        Enabled new regular expression engine.
5783
5784        Made a number of changes to the debugger protocol.
5785
5786        Fixed a number of bugs in the preemption support.
5787
5788        Added -p option to the developer shell to run files in parallel
5789        using preemption.
5790
5791        Fixed a number of minor bugs (including issues 176, 187, 189, 192,
5792        193, 198 and 201).
5793
5794        Fixed a number of bugs in the serialization/deserialization
5795        support for the ARM platform.
5796
5797
57982009-01-19: Version 0.4.8.1
5799
5800        Minor patch to debugger support.
5801
5802
58032009-01-16: Version 0.4.8
5804
5805        Fixed string length bug on ARM (issue 171).
5806
5807        Made most methods in the API const.
5808
5809        Optimized object literals by improving data locality.
5810
5811        Fixed bug that caused incomplete functions to be cached in case of
5812        stack overflow exceptions.
5813
5814        Fixed bugs that caused catch variables and variables introduced by
5815        eval to behave incorrectly when using accessors (issues 186, 190
5816        and 191).
5817
5818
58192009-01-06: Version 0.4.7
5820
5821        Minor bugfixes and optimizations.
5822
5823        Added command line debugger to D8 shell.
5824
5825        Fixed subtle bug that caused the wrong 'this' to be used when
5826        calling a caught function in a catch clause.
5827
5828        Inline array loads within loops directly in the code instead of
5829        always calling a stub.
5830
5831
58322008-12-11: Version 0.4.6
5833
5834        Fixed exception reporting bug where certain exceptions were
5835        incorrectly reported as uncaught.
5836
5837        Improved the memory allocation strategy used during compilation to
5838        make running out of memory when compiling huge scripts less
5839        likely.
5840
5841        Optimized String.replace by avoiding the construction of certain
5842        sub strings.
5843
5844        Fixed bug in code generation for large switch statements on ARM.
5845
5846        Fixed bug that caused V8 to change the global object template
5847        passed in by the user.
5848
5849        Changed the API for creating object groups used during garbage
5850        collection.  Entire object groups are now passed to V8 instead of
5851        individual members of the groups.
5852
5853
58542008-12-03: Version 0.4.5
5855
5856        Added experimental API support for allocating V8 symbols as
5857        external strings.
5858
5859        Fixed bugs in debugging support on ARM.
5860
5861        Changed eval implementation to correctly detect whether or not a
5862        call to eval is aliased.
5863
5864        Fixed bug caused by a combination of the compilation cache and
5865        dictionary probing in native code.  The bug caused us to sometimes
5866        call functions that had not yet been compiled.
5867
5868        Added platform support for FreeBSD.
5869
5870        Added support for building V8 on Windows with either the shared or
5871        static version of MSVCRT
5872
5873        Added the v8::jscre namespace around the jscre functions to avoid
5874        link errors (duplicate symbols) when building Google Chrome.
5875
5876        Added support for calling a JavaScript function with the current
5877        debugger execution context as its argument to the debugger
5878        interface.
5879
5880        Changed the type of names of counters from wchar_t to char.
5881
5882        Changed the Windows system call used to compute daylight savings
5883        time.  The system call that we used to use became four times
5884        slower on WinXP SP3.
5885
5886        Added support in the d8 developer shell for memory-mapped counters
5887        and added a stats-viewer tool.
5888
5889        Fixed bug in upper/lower case mappings (issue 149).
5890
5891
58922008-11-17: Version 0.4.4
5893
5894        Reduced code size by using shorter instruction encoding when
5895        possible.
5896
5897        Added a --help option to the shell sample and to the d8 shell.
5898
5899        Added visual studio project files for building the ARM simulator.
5900
5901        Fixed a number of ARM simulator issues.
5902
5903        Fixed bug in out-of-memory handling on ARM.
5904
5905        Implemented shell support for passing arguments to a script from
5906        the command line.
5907
5908        Fixed bug in date code that made certain date functions return -0
5909        instead of 0 for dates before the epoch.
5910
5911        Restricted applications of eval so it can only be used in the
5912        context of the associated global object.
5913
5914        Treat byte-order marks as whitespace characters.
5915
5916
59172008-11-04: Version 0.4.3
5918
5919        Added support for API accessors that prohibit overwriting by
5920        accessors defined in JavaScript code by using __defineGetter__ and
5921        __defineSetter__.
5922
5923        Improved handling of conditionals in test status files.
5924
5925        Introduced access control in propertyIsEnumerable.
5926
5927        Improved performance of some string operations by caching
5928        information about the type of the string between operations.
5929
5930        Fixed bug in fast-case code for switch statements that only have
5931        integer labels.
5932
5933
59342008-10-30: Version 0.4.2
5935
5936        Improved performance of Array.prototype.concat by moving the
5937        implementation to C++ (issue 123).
5938
5939        Fixed heap growth policy to avoid growing old space to its maximum
5940        capacity before doing a garbage collection and fixed issue that
5941        would lead to artificial out of memory situations (issue 129).
5942
5943        Fixed Date.prototype.toLocaleDateString to return the date in the
5944        same format as WebKit.
5945
5946        Added missing initialization checks to debugger API.
5947
5948        Added removing of unused maps during GC.
5949
5950
59512008-10-28: Version 0.4.1
5952
5953        Added caching of RegExp data in compilation cache.
5954
5955        Added Visual Studio project file for d8 shell.
5956
5957        Fixed function call performance regression introduced in version
5958        0.4.0 when splitting the global object in two parts (issue 120).
5959
5960        Fixed issue 131 by checking for empty handles before throwing and
5961        reporting exceptions.
5962
5963
59642008-10-23: Version 0.4.0
5965
5966        Split the global object into two parts: The state holding global
5967        object and the global object proxy.
5968
5969        Fixed bug that affected the value of an assignment to an element
5970        in certain cases (issue 116).
5971
5972        Added GetPropertyNames functionality (issue 33) and extra Date
5973        functions (issue 77) to the API.
5974
5975        Changed WeakReferenceCallback to take a Persistent<Value> instead
5976        of a Persistent<Object> (issue 101).
5977
5978        Fixed issues with message reporting for exceptions in try-finally
5979        blocks (issues 73 and 75).
5980
5981        Optimized flattening of strings and string equality checking.
5982
5983        Improved Boyer-Moore implementation for faster indexOf operations.
5984
5985        Added development shell (d8) which includes counters and
5986        completion support.
5987
5988        Fixed problem with the receiver passed to functions called from
5989        eval (issue 124).
5990
5991
59922008-10-16: Version 0.3.5
5993
5994        Improved string hash-code distribution by excluding bit-field bits
5995        from the hash-code.
5996
5997        Changed string search algorithm used in indexOf from KMP to
5998        Boyer-Moore.
5999
6000        Improved the generated code for the instanceof operator.
6001
6002        Improved performance of slow-case string equality checks by
6003        specializing the code based on the string representation.
6004
6005        Improve the handling of out-of-memory situations (issue 70).
6006
6007        Improved performance of strict equality checks.
6008
6009        Improved profiler output to make it easier to see anonymous
6010        functions.
6011
6012        Improved performance of slow-case keyed loads.
6013
6014        Improved property access performance by allocating a number of
6015        properties in the front object.
6016
6017        Changed the toString behavior on the built-in object constructors
6018        to print [native code] instead of the actual source.  Some web
6019        applications do not like constructors with complex toString
6020        results.
6021
6022
60232008-10-06: Version 0.3.4
6024
6025        Changed Array.prototype.sort to use quick sort.
6026
6027        Fixed code generation issue where leaving a finally block with
6028        break or continue would accumulate elements on the expression
6029        stack (issue 86).
6030
6031        Made sure that the name accessor on functions returns the expected
6032        names for builtin JavaScript functions and C++ callback functions.
6033
6034        Added fast case code for extending the property storage array of
6035        JavaScript objects.
6036
6037        Ported switch statement optimizations introduced in version 0.3.3
6038        to the ARM code generator.
6039
6040        Allowed GCC to use strict-aliasing rules when compiling.
6041
6042        Improved performance of arguments object allocation by taking care
6043        of arguments adaptor frames in the generated code.
6044
6045        Updated the V8 benchmark suite to version 2.
6046
6047
60482008-09-25: Version 0.3.3
6049
6050        Improved handling of relocation information to enable more
6051        peep-hole optimizations.
6052
6053        Optimized switch statements where all labels are constant small
6054        integers.
6055
6056        Optimized String.prototype.indexOf for common cases.
6057
6058        Fixed more build issues (issue 80).
6059
6060        Fixed a couple of profiler issues.
6061
6062        Fixed bug where the body of a function created using the Function
6063        constructor was not allowed to end with a single-line comment
6064        (issue 85).
6065
6066        Improved handling of object literals by canonicalizing object
6067        literal maps.  This will allow JSON objects with the same set of
6068        properties to share the same map making inline caching work better
6069        for JSON objects.
6070
6071
60722008-09-17: Version 0.3.2
6073
6074        Generalized the EvalCache into a CompilationCache and enabled it
6075        for scripts too.  The current strategy is to retire all entries
6076        whenever a mark-sweep collection is started.
6077
6078        Fixed bug where switch statements containing only a default case
6079        would lead to an unbalanced stack (issue 69).
6080
6081        Fixed bug that made access to the function in a named function
6082        expression impossible in certain situations (issue 24).
6083
6084        Fixed even more build issues.
6085
6086        Optimized calling conventions on ARM.  The conventions on ARM and
6087        IA-32 now match.
6088
6089        Removed static initializers for flags and counters.
6090
6091        Improved inline caching behavior for uncommon cases where lazily
6092        loading Date and RegExp code could force certain code paths go
6093        megamorphic.
6094
6095        Removed arguments adaption for builtins written in C++.  This
6096        makes Array.prototype.push and Array.prototype.pop slightly
6097        faster.
6098
6099
61002008-09-11: Version 0.3.1
6101
6102        Fixed a number of build issues.
6103
6104        Fixed problem with missing I-cache flusing on ARM.
6105
6106        Changed space layout in memory management by splitting up
6107        code space into old data space and code space.
6108
6109        Added utf-8 conversion support to the API (issue 57).
6110
6111        Optimized repeated calls to eval with the same strings.  These
6112        repeated calls are common in web applications.
6113
6114        Added Xcode project file.
6115
6116        Optimized a couple of Array operation.
6117
6118        Fixed parser bug by checking for end-of-string when parsing break
6119        and continue (issue 35).
6120
6121        Fixed problem where asian characters were not categorized as
6122        letters.
6123
6124        Fixed bug that disallowed calling functions fetched from an array
6125        using a string as an array index (issue 32).
6126
6127        Fixed bug where the internal field count on object templates were
6128        sometimes ignored (issue 54).
6129
6130        Added -f option to the shell sample for compatibility with other
6131        engines (issue 18).
6132
6133        Added source info to TryCatches in the API.
6134
6135        Fixed problem where the seed for the random number generator was
6136        clipped in a double to unsigned int conversion.
6137
6138        Fixed bug where cons string symbols were sometimes converted to
6139        non-symbol flat strings during GC.
6140
6141        Fixed bug in error reporting when attempting to convert null to an
6142        object.
6143
6144
61452008-09-04: Version 0.3.0
6146
6147        Added support for running tests on the ARM simulator.
6148
6149        Fixed bug in the 'in' operator where negative indices were not
6150        treated correctly.
6151
6152        Fixed build issues on gcc-4.3.1.
6153
6154        Changed Date.prototype.toLocaleTimeString to not print the
6155        timezone part of the time.
6156
6157        Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
6158        with user code.
6159
6160
61612008-09-02: Version 0.2.5
6162
6163        Renamed the top level directory 'public' to 'include'.
6164
6165        Added 'env' option to the SCons build scripts to support
6166        overriding the ENV part of the build environment.  This is mostly
6167        to support Windows builds in cases where SCons cannot find the
6168        correct paths to the Windows SDK, as these paths cannot be passed
6169        through shell environment variables.
6170
6171        Enabled "Buffer Security Check" on for the Windows SCons build and
6172        added the linker option /OPT:ICF as an optimization.
6173
6174        Added the V8 benchmark suite to the repository.
6175
6176
61772008-09-01: Version 0.2.4
6178
6179        Included mjsunit JavaScript test suite and C++ unit tests.
6180
6181        Changed the shell sample to not print the result of executing a
6182        script provided on the command line.
6183
6184        Fixed issue when building samples on Windows using a shared V8
6185        library.  Added visibility option on Linux build which makes the
6186        generated library 18% smaller.
6187
6188        Changed build system to accept multiple build modes in one build
6189        and generate separate objects, libraries and executables for each
6190        mode.
6191
6192        Removed deferred negation optimization (a * -b => -(a * b)) since
6193        this visibly changes operand conversion order.
6194
6195        Improved parsing performance by introducing stack guard in
6196        preparsing.  Without a stack guard preparsing always bails out
6197        with stack overflow.
6198
6199        Changed shell sample to take flags directly from the command-line.
6200        Added API call that implements this.
6201
6202        Added load, quit and version functions to the shell sample so it's
6203        easier to run benchmarks and tests.
6204
6205        Fixed issue with building samples and cctests on 64-bit machines.
6206
6207        Fixed bug in the runtime system where the prototype chain was not
6208        always searched for a setter when setting a property that does not
6209        exist locally.
6210
6211
62122008-08-14: Version 0.2.3
6213
6214        Improved performance of garbage collection by moving the
6215        function that updates pointers during compacting collection
6216        into the updating visitor.  This gives the compiler a better
6217        chance to inline and avoid a function call per (potential)
6218        pointer.
6219
6220        Extended the shell sample with a --runtime-flags option.
6221
6222        Added Visual Studio project files for the shell.cc and
6223        process.cc samples.
6224
6225
62262008-08-13: Version 0.2.2
6227
6228        Improved performance of garbage collection by changing the way
6229        we use the marking stack in the event of stack overflow during
6230        full garbage collection and by changing the way we mark roots.
6231
6232        Cleaned up ARM version by removing top of stack caching and by
6233        introducing push/pop elimination.
6234
6235        Cleaned up the way runtime functions are called to allow
6236        runtime calls with no arguments.
6237
6238        Changed Windows build options to make sure that exceptions are
6239        disabled and that optimization flags are enabled.
6240
6241        Added first version of Visual Studio project files.
6242
6243
62442008-08-06: Version 0.2.1
6245
6246        Improved performance of unary addition by avoiding runtime calls.
6247
6248        Fixed the handling of '>' and '<=' to use right-to-left conversion
6249        and left-to-right evaluation as specified by ECMA-262.
6250
6251        Fixed a branch elimination bug on the ARM platform where incorrect
6252        code was generated because of overly aggressive branch
6253        elimination.
6254
6255        Improved performance of code that repeatedly assigns the same
6256        function to the same property of different objects with the same
6257        map.
6258
6259        Untangled DEBUG and ENABLE_DISASSEMBLER defines.  The disassembler
6260        no longer expects DEBUG to be defined.
6261
6262        Added platform-nullos.cc to serve as the basis for new platform
6263        implementations.
6264
6265
62662008-07-30: Version 0.2.0
6267
6268        Changed all text files to have native svn:eol-style.
6269
6270        Added a few samples and support for building them. The samples
6271        include a simple shell that can be used to benchmark and test V8.
6272
6273        Changed V8::GetVersion to return the version as a string.
6274
6275        Added source for lazily loaded scripts to snapshots and made
6276        serialization non-destructive.
6277
6278        Improved ARM support by fixing the write barrier code to use
6279        aligned loads and stores and by removing premature locals
6280        optimization that relied on broken support for callee-saved
6281        registers (removed).
6282
6283        Refactored the code for marking live objects during garbage
6284        collection and the code for allocating objects in paged
6285        spaces. Introduced an abstraction for the map word of a heap-
6286        allocated object and changed the memory allocator to allocate
6287        executable memory only for spaces that may contain code objects.
6288
6289        Moved StringBuilder to utils.h and ScopedLock to platform.h, where
6290        they can be used by debugging and logging modules. Added
6291        thread-safe message queues for dealing with debugger events.
6292
6293        Fixed the source code reported by toString for certain builtin
6294        empty functions and made sure that the prototype property of a
6295        function is enumerable.
6296
6297        Improved performance of converting values to condition flags in
6298        generated code.
6299
6300        Merged disassembler-{arch} files.
6301
6302
63032008-07-28: Version 0.1.4
6304
6305        Added support for storing JavaScript stack traces in a stack
6306        allocated buffer to make it visible in shallow core dumps.
6307        Controlled by the --preallocate-message-memory flag which is
6308        disabled by default.
6309
6310
63112008-07-25: Version 0.1.3
6312
6313        Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
6314        map transitions would count as properties.
6315
6316        Allowed aliased eval invocations by treating them as evals in the
6317        global context. This may change in the future.
6318
6319        Added support for accessing the last entered context through the
6320        API and renamed Context::Current to Context::GetCurrent and
6321        Context::GetSecurityContext to Context::GetCurrentSecurityContext.
6322
6323        Fixed bug in the debugger that would cause the debugger scripts to
6324        be recursively loaded and changed all disabling of interrupts to
6325        be block-structured.
6326
6327        Made snapshot data read-only to allow it to be more easily shared
6328        across multiple users of V8 when linked as a shared library.
6329
6330
63312008-07-16: Version 0.1.2
6332
6333        Fixed building on Mac OS X by recognizing i386 and friends as
6334        IA-32 platforms.
6335
6336        Added propagation of stack overflow exceptions that occur while
6337        compiling nested functions.
6338
6339        Improved debugger with support for recursive break points and
6340        handling of exceptions that occur in the debugger JavaScript code.
6341
6342        Renamed GetInternal to GetInternalField and SetInternal to
6343        SetInternalField in the API and moved InternalFieldCount and
6344        SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
6345
6346
63472008-07-09: Version 0.1.1
6348
6349        Fixed bug in stack overflow check code for IA-32 targets where a
6350        non-tagged value in register eax was pushed to the stack.
6351
6352        Fixed potential quadratic behavior when converting strings to
6353        numbers.
6354
6355        Fixed bug where the return value from Object::SetProperty could
6356        end up being the property holder instead of the written value.
6357
6358        Improved debugger support by allowing nested break points and by
6359        dealing with stack-overflows when compiling functions before
6360        setting break points in them.
6361
6362
63632008-07-03: Version 0.1.0
6364
6365        Initial export.
6366
6367# Local Variables:
6368# mode:text
6369# End:
6370