[V8] Introduce a QML compilation mode
[profile/ivi/qtjsbackend.git] / src / 3rdparty / v8 / ChangeLog
1 2012-05-22: Version 3.11.4
2
3         Some cleanup to common.gypi. This fixes some host/target combinations
4         that weren't working in the Make build on Mac.
5
6         Handle EINTR in socket functions and continue incomplete sends.
7         (issue 2098)
8
9         Fixed python deprecations.  (issue 1391)
10
11         Made socket send and receive more robust and return 0 on failure.
12         (Chromium issue 15719)
13
14         Fixed GCC 4.7 (C++11) compilation.  (issue 2136)
15
16         Set '-m32' option for host and target platforms
17
18         Performance and stability improvements on all platforms.
19
20
21 2012-05-18: Version 3.11.3
22
23         Disable optimization for functions that have scopes that cannot be
24         reconstructed from the context chain. (issue 2071)
25
26         Define V8_EXPORT to nothing for clients of v8. (Chromium issue 90078)
27
28         Correctly check for native error objects.  (Chromium issue 2138)
29
30         Performance and stability improvements on all platforms.
31
32
33 2012-05-16: Version 3.11.2
34
35         Revert r11496. (Chromium issue 128146)
36
37         Implement map collection for incremental marking. (issue 1465)
38
39         Add toString method to CallSite (which describes a frame of the
40         stack trace).
41
42
43 2012-05-15: Version 3.11.1
44
45         Added a readbuffer function to d8 that reads a file into an ArrayBuffer.
46
47         Fix freebsd build. (V8 issue 2126)
48
49         Performance and stability improvements on all platforms.
50
51
52 2012-05-11: Version 3.11.0
53
54         Fixed compose-discard crasher from r11524 (issue 2123).
55
56         Activated new global semantics by default. Global variables can
57         now shadow properties of the global object (ES5.1 erratum).
58
59         Properly set ElementsKind of empty FAST_DOUBLE_ELEMENTS arrays when
60         transitioning (Chromium issue 117409).
61
62         Made Error.prototype.name writable again, as required by the spec and
63         the web (Chromium issue 69187).
64
65         Implemented map collection with incremental marking (issue 1465).
66
67         Regexp: Fixed overflow in min-match-length calculation
68         (Chromium issue 126412).
69
70         MIPS: Fixed illegal instruction use on Loongson in code for
71         Math.random() (issue 2115).
72
73         Fixed crash bug in VisitChoice (Chromium issue 126272).
74
75         Fixed unsigned-Smi check in MappedArgumentsLookup
76         (Chromium issue 126414).
77
78         Fixed LiveEdit for function with no locals (issue 825).
79
80         Fixed register clobbering in LoadIC for interceptors
81         (Chromium issue 125988).
82
83         Implemented clearing of CompareICs (issue 2102).
84
85         Performance and stability improvements on all platforms.
86
87
88 2012-05-03: Version 3.10.8
89
90         Enabled MIPS cross-compilation.
91
92         Ensured reload of elements pointer in StoreFastDoubleElement stub.
93         (Chromium issue 125515)
94
95         Fixed corner cases in truncation behavior when storing to
96         TypedArrays. (issue 2110)
97
98         Fixed failure to properly recognize and report out-of-memory
99         conditions when allocating code space pages. (Chromium issue
100         118625)
101
102         Fixed idle notifications to perform a round of incremental GCs
103         after context disposal. (issue 2107)
104
105         Fixed preparser for try statement. (issue 2109)
106
107         Performance and stability improvements on all platforms.
108
109
110 2012-04-30: Version 3.10.7
111
112         Performance and stability improvements on all platforms.
113
114
115 2012-04-26: Version 3.10.6
116
117         Fixed some bugs in accessing details of the last regexp match.
118
119         Fixed source property of empty RegExp objects. (issue 1982)
120
121         Enabled inlining some V8 API functions.
122
123         Performance and stability improvements on all platforms.
124
125
126 2012-04-23: Version 3.10.5
127
128         Put new global var semantics behind a flag until WebKit tests are
129         cleaned up.
130
131         Enabled stepping into callback passed to builtins.
132         (Chromium issue 109564)
133
134         Performance and stability improvements on all platforms.
135
136
137 2012-04-19: Version 3.10.4
138
139         Fixed issues when stressing compaction with WeakMaps.
140
141         Fixed missing GVN flag for new-space promotion. (Chromium issue 123919)
142
143         Simplify invocation sequence at monomorphic function invocation sites.
144         (issue 2079)
145
146         Performance and stability improvements on all platforms.
147
148
149 2012-04-17: Version 3.10.3
150
151         Fixed several bugs in heap profiles (including issue 2078).
152
153         Throw syntax errors on illegal escape sequences.
154
155         Implemented rudimentary module linking (behind --harmony flag)
156
157         Implemented ES5 erratum: Global declarations should shadow
158         inherited properties.
159
160         Made handling of const more consistent when combined with 'eval'
161         and 'with'.
162
163         Fixed V8 on MinGW-x64 (issue 2026).
164
165         Performance and stability improvements on all platforms.
166
167
168 2012-04-13: Version 3.10.2
169
170         Fixed native ARM build (issues 1744, 539)
171
172         Return LOOKUP variable instead of CONTEXT for non-context allocated
173         outer scope parameters (Chromium issue 119609).
174
175         Fixed regular and ElementsKind transitions interfering with each other
176         (Chromium issue 122271).
177
178         Improved performance of keyed loads/stores which have a HeapNumber
179         index (issues 1388, 1295).
180
181         Fixed WeakMap processing for evacuation candidates (issue 2060).
182
183         Bailout on possible direct eval calls (Chromium issue 122681).
184
185         Do not assume that names of function expressions are context-allocated
186         (issue 2051).
187
188         Performance and stability improvements on all platforms.
189
190
191 2012-04-10: Version 3.10.1
192
193         Fixed bug with arguments object in inlined functions (issue 2045).
194
195         Fixed performance bug with lazy initialization (Chromium issue
196         118686).
197
198         Added suppport for Mac OS X 64bit builds with GYP.
199         (Patch contributed by Filipe David Manana <fdmanana@gmail.com>)
200
201         Fixed bug with hidden properties (issue 2034).
202
203         Fixed a performance bug when reloading pages (Chromium issue 117767,
204         V8 issue 1902).
205
206         Fixed bug when optimizing throw in top-level code (issue 2054).
207
208         Fixed two bugs with array literals (issue 2055, Chromium issue 121407).
209
210         Fixed bug with Math.min/Math.max with NaN inputs (issue 2056).
211
212         Fixed a bug with the new runtime profiler (Chromium issue 121147).
213
214         Fixed compilation of V8 using uClibc.
215
216         Optimized boot-up memory use.
217
218         Optimized regular expressions.
219
220
221 2012-03-30: Version 3.10.0
222
223         Fixed store IC writability check in strict mode
224         (Chromium issue 120099).
225
226         Resynchronize timers if the Windows system time was changed.
227         (Chromium issue 119815)
228
229         Removed "-mfloat-abi=hard" from host compiler cflags when building for
230         hardfp ARM
231         (https://code.google.com/p/chrome-os-partner/issues/detail?id=8539)
232
233         Fixed edge case for case independent regexp character classes
234         (issue 2032).
235
236         Reset function info counters after context disposal.
237         (Chromium issue 117767, V8 issue 1902)
238
239         Fixed missing write barrier in CopyObjectToObjectElements.
240         (Chromium issue 119926)
241
242         Fixed missing bounds check in HasElementImpl.
243         (Chromium issue 119925)
244
245         Performance and stability improvements on all platforms.
246
247
248 2012-03-23: Version 3.9.24
249
250         Activated count-based profiler for ARM.
251
252         Fixed use of proxies as f.prototype properties. (issue 2021)
253
254         Enabled snapshots on MIPS.
255
256         Performance and stability improvements on all platforms.
257
258
259 2012-03-21: Version 3.9.23
260
261         Use correct arguments adaptation environment when inlining function
262         containing arguments. (Issue 2014)
263
264         Performance and stability improvements on all platforms.
265
266
267 2012-03-20: Version 3.9.22
268
269         Enabled count-based profiler by default.
270
271         Implemented a hash based look-up to speed up address checks
272         in large object space (issue 853).
273
274         Performance and stability improvements on all platforms.
275
276
277 2012-03-19: Version 3.9.21
278
279         Fixed push-to-trunk script (and re-push).
280
281         Added API call that identifies strings that are guaranteed only to
282         contain ASCII characters.
283
284
285 2012-03-19: Version 3.9.20
286
287         Fixed declarations escaping global strict eval. (Issue 1624)
288
289         Fixed wrapping of receiver for non-strict callbacks. (Issue 1973)
290
291         Fixed function declarations overwriting read-only global properties.
292         (Chromium issue 115452)
293
294         Fixed --use-strict flag in combination with --harmony[-scoping].
295
296         Debugger: naive implementation of "step into Function.prototype.bind".
297
298         Debugger: added ability to set script source from within OnBeforeCompile
299
300         Added flag to always call DebugBreak on abort.
301
302         Re-enabled constructor inlining and inline === comparison with boolean
303         constants. (Issue 2009)
304
305         Don't use an explicit s0 in ClampDoubleToUint8. (Issue 2004)
306
307         Performance and stability improvements on all platforms.
308
309
310 2012-03-14: Version 3.9.19
311
312         Ensure there is a smi check of the receiver for global load and call
313         ICs (Chromium issue 117794).
314
315         Performance and stability improvements on all platforms.
316
317
318 2012-03-13: Version 3.9.18
319
320         Ensure consistency of Math.sqrt on Intel platforms.
321
322         Remove static initializers in v8. (issue 1859)
323
324         Add explicit dependency on v8_base in the GYP-based build.
325
326         Performance and stability improvements on all platforms.
327
328
329 2012-03-12: Version 3.9.17
330
331         Fixed VFP detection through compiler defines. (issue 1996)
332
333         Add Code-related fields to postmortem metadata.
334
335         Performance and stability improvements on all platforms.
336
337
338 2012-03-09: Version 3.9.16
339
340         Added basic interface inference for modules (behind the --harmony flag).
341
342         Added Object.is, Number.isFinite, Number.isNaN.
343
344         Updated the Unicode tables to Unicode version 6.1.0.
345
346         Performance and stability improvements on all platforms.
347
348
349 2012-03-06: Version 3.9.15
350
351         Fix the heap profiler crash caused by memory layout changes between
352         passes.
353
354         Fix Error.prototype.toString to throw TypeError. (issue 1980)
355
356         Fix double-rounding in strtod for MinGW. (issue 1062)
357
358         Fix corrupted snapshot serializaton on ia32. (Chromium issue v8/1985)
359
360         Performance and stability improvements on all platforms.
361
362
363 2012-03-01: Version 3.9.14
364
365         Performance and stability improvements on all platforms.
366
367
368 2012-02-29: Version 3.9.13
369
370         Added code kind check before preparing for OSR. (issue 1900, 115073)
371
372         Fixed issue 1802: Pass zone explicitly to zone-allocation on x64 and
373         ARM.
374
375         Ported string construct stub to x64. (issue 849)
376
377         Performance and stability improvements on all platforms.
378
379
380 2012-02-28: Version 3.9.12
381
382         Fixed the negative lookup stub to handle deleted entries in a
383         dictionary. (issue 1964)
384
385         Added a new API where the host can supply a callback function. The
386         callback function can resolve the location of a return address on stack
387         to the location where a return-address rewriting profiler stashed the
388         original return address.
389
390         Fixed Chromium issue http://crbug.com/115646: When compiling for-in
391         pass correct context value to the increment instruction.
392
393         Fixed issue 1853: Update breakpoints set with partial file name after
394         compile.
395
396
397 2012-02-27: Version 3.9.11
398
399         Made 'module' a context-sensitive keyword (V8 issue 1957).
400
401
402 2012-02-24: Version 3.9.10
403
404         Fixed V8 issues 1322, 1772 and 1969.
405
406         Conformance improvements.
407
408         Performance and stability improvements on all platforms.
409
410
411 2012-02-23: Version 3.9.9
412
413         Supported fast case for-in in Crankshaft.
414
415         Sped up heap snapshot serialization and dominators construction.
416
417         Randomized allocation addresses on windows. (Chromium issue 115151)
418
419         Fixed compilation with MinGW-w64. (issue 1943)
420
421         Fixed incorrect value of assignments to non-extensible properties.
422
423         Fixed a crash bug in generated code on ia32.
424
425         Performance and stability improvements on all platforms.
426
427
428 2012-02-21: Version 3.9.8
429
430         Fixed memory leak and missing #include in StartupDataDecompressor
431         (issue 1960).
432
433         Renamed static methods to avoid shadowing virtual methods and fix Clang
434         C++11 compile error.
435
436         Fixed sequence of element access in array builtins (issue 1790).
437
438         Performance and stability improvements on all platforms.
439
440
441 2012-02-16: Version 3.9.7
442
443         Fixed V8 issues 1322, 1878, 1942, 1945 and Chromium issue 113924.
444
445         Fixed GCC-4.7 warnings.
446
447         Added Navier-Stokes benchmark.
448
449         Performance and stability improvements on all platforms.
450
451
452 2012-02-14: Version 3.9.6
453
454         Fixed template-related linker error. (issue 1936)
455
456         Allowed inlining of functions containing object literals.  (issue 1322)
457
458         Added --call-graph-size option to tickprocessor.  (issue 1937)
459
460         Heap Snapshot maximum size limit is too low for really big apps. At the
461         moment the limit is 256MB.  (Chromium issue 113015)
462
463         Performance and stability improvements on all platforms.
464
465
466 2012-02-09: Version 3.9.5
467
468         Removed unused command line flags.
469
470         Performance and stability improvements on all platforms.
471
472
473 2012-02-08: Version 3.9.4
474
475         Properly initialize element-transitioning array literals on ARM.
476         (issue 1930)
477
478         Bug fixes on all platforms.
479
480
481 2012-02-07: Version 3.9.3
482
483         When rethrowing an exception, print the stack trace of its original
484         site instead of rethrow site (Chromium issue 60240).
485
486         Increased size of small stacks from 32k to 64k to avoid hitting limits
487         in Chromium (Chromium issue 112843).
488
489
490 2012-02-06: Version 3.9.2
491
492         Added timestamp to --trace-gc output. (issue 1932)
493
494         Heap profiler reports implicit references.
495
496         Optionally export metadata with libv8 to enable debuggers to inspect V8
497         state.
498
499
500 2012-02-02: Version 3.9.1
501
502         Fixed memory leak in NativeObjectsExplorer::FindOrAddGroupInfo
503         (Chromium issue 112315).
504
505         Fixed a crash in dev tools (Chromium issue 107996).
506
507         Added 'dependencies_traverse': 1 to v8 GYP target.
508
509         Performance and stability improvements on all platforms.
510
511
512 2012-02-01: Version 3.9.0
513
514         Reduced memory use immediately after starting V8.
515
516         Stability fixes and performance improvements on all platforms.
517
518
519 2012-01-26: Version 3.8.9
520
521         Flush number string cache on GC (issue 1605).
522
523         Provide access to function inferred name with
524         v8::Function::GetInferredName in V8 public API.
525
526         Fix building with Clang (issue 1912).
527
528         Reduce the space used by the stack for the profiling thread.
529
530         Fix misleading documentation of v8::Locker (issue 542).
531
532         Introduce readbinary function in d8 to read binary files.
533
534         Performance and stability improvements on all platforms.
535
536
537 2012-01-23: Version 3.8.8
538
539         Limited number of loop iterations in Heap::ReserveSpace
540         (Chromium issue 99027).
541
542         Fixed solaris build (VirtualMemory) (issue 1761).
543
544         Fixed strict vs. non-strict handling of function proxies in
545         higher-order array and string methods.
546
547         Enabled asynchronous remote debugging with d8 (issue 1691).
548
549         Stability and performance improvements on all platforms.
550
551
552 2012-01-19: Version 3.8.7
553
554         Ensure that LRandom restores rsi after call to the C function on x64.
555         (Chromium issue http://crbug.com/110509)
556
557         Fixing include issues on *bsd when building with scons.
558         (issue 1897)
559
560         Provide a switch to specify -fno-strict-aliasing
561         (issue 1887)
562
563         Move WIN32 define from standalone.gypi to common.gypi
564         (issue 1760)
565
566         Fix corner-case in heap size estimation.
567         (issue 1893)
568
569         Fix and enable NEW_NON_STRICT_FAST ArgumentsAccess stub on x64.
570         (issue 1903)
571
572         Performance improvements and bug fixes.
573
574
575 2012-01-16: Version 3.8.6
576
577         Add primitive WebGL array support to d8.
578
579         Improve heap size estimation (issue 1893).
580
581         Hash collision DOS workaround extended from string keys
582         to numeric keys.
583
584         Provide an API for iterating through all external strings referenced
585         from the JS heap.
586
587         Adjust position recorded for call expressions. http://crbug.com/109195
588
589         Fix GC crash related to instanceof. http://crbug.com/109448
590
591         Performance improvements and bug fixes.
592
593
594 2012-01-05: Version 3.8.5
595
596         Fix broken test that assumes that no GC can clear the regexp cache (GC
597         can happen at any time due to Crankshaft).
598
599         Fix handling of bogus receivers for Harmony collections. (issue 1884)
600
601         Add netbsd support to gyp build.
602
603         Determine page size at runtime on posix platforms.
604
605         Ensure that store buffer filtering hash sets are cleared after
606         StoreBuffer::Filter.
607
608         Randomize the seed used for string hashing.  This helps guard against
609         CPU-eating DOS attacks against node.js servers.  Based on code from
610         Bert Belder.  This version only solves the issue for those that compile
611         V8 themselves or those that do not use snapshots.  A snapshot-based
612         precompiled V8 will still have predictable string hash codes.
613
614         Implement callback when script finishes running in V8 API.
615
616         Improve performance of Math.min and Math.max for the case of two
617         arguments. (issue 1325)
618
619
620 2012-01-02: Version 3.8.4
621
622         Performance improvements for large Smi-only arrays.
623
624         Fixed InternalArrays construction. (issue 1878)
625
626
627 2011-12-27: Version 3.8.3
628
629         Avoid embedding new space objects into code objects in the lithium gap
630         resolver. (chromium:108296)
631
632         Bug fixes and performance optimizations on all platforms.
633
634
635 2011-12-21: Version 3.8.2
636
637         Add max optimization flag to v8 gyp build to ensure V8 is always built 
638         fully optimized in Chrome.
639
640         MIPS: Bring MIPS to parity with other platforms.
641
642         Optimizations and stability improvements on all platforms.
643
644
645 2011-12-19: Version 3.8.1
646
647         Fixed GCC 4.7 warnings. Patch from Tobias Burnus.
648
649         Stability improvements on all platforms.
650
651
652 2011-12-13: Version 3.8.0
653
654         Fixed handling of arrays in DefineOwnProperty. (issue 1756)
655
656         Sync parser and preparser on do-while and return statements. 
657         (issue 1856)
658
659         Fixed another corner case for DefineOwnProperty on arrays (issue 1756).
660
661         Stability and performance improvements on all platforms.
662
663
664 2011-12-01: Version 3.7.12
665
666         Increase tick interval for the android platform.
667
668         Fix a bug in the register allocator. (chromium:105112)
669
670         Fix handling of recompiling code. (chromium:105375, v8:1782)
671
672         Start incremental marking on idle notification. (v8:1458)
673
674         Build fixes for various platforms.
675
676         Various performance improvements.
677
678
679 2011-11-29: Version 3.7.11
680
681         Fixed bug when generating padding to ensure space for lazy
682         deoptimization.
683         (issue 1846)
684
685         Further reduced pause times due to GC.
686
687         Stability and performance improvements on all platforms.
688
689
690 2011-11-23: Version 3.7.10
691
692         Set maximum length of FixedArray in terms of elements instead an
693         absolute number of bytes.
694         (Chromium issue 103103)
695
696         Stability and performance improvements on all platforms.
697
698
699 2011-11-21: Version 3.7.9
700
701         Removed exit-time destructors.
702
703         Stability and performance improvements on all platforms.
704
705
706 2011-11-17: Version 3.7.8
707
708         Removed hidden prototype from builtins, i.e., deleting an overridden
709         function on builtins will not make the original function reappear.
710
711         Added NetBSD support for scons build.
712
713         Performance improvements on all platforms.
714
715
716 2011-11-14: Version 3.7.7
717
718         Fix missing fast property accessors in heap snapshots.
719         (issue 1818)
720
721
722 2011-11-11: Version 3.7.6
723
724         Fixed filtering of store buffer for large object pages.
725         (issue 1817)
726
727         Fixed generated hash function on all platforms.
728         (issue 1808)
729
730         Fixed Heap::Shrink to ensure that it does not free pages that are
731         still in use.
732         (Chromium issue 100414)
733
734         Stability and performance improvements on all platforms.
735
736
737 2011-11-10: Version 3.7.5
738
739         Added initial gyp infrastructure for MIPS.
740
741         Implemented performance improvements to the incremental garbage
742         collector.
743
744         Added optimizations and stability improvements on all platforms.
745
746
747 2011-11-07: Version 3.7.4
748
749         Proper "libv8.so.3.7.4" SONAME for Linux shared library (issue 1786).
750
751         Fix Harmony sets and maps to allow null and undefined as keys
752         (still hidden behind --harmony flag) (issue 1622).
753
754         Implement VirtualMemory on FreeBSD to fix build (issue 1807).
755
756         Enable VFP instructions for Android.
757
758         Fix error handling in Date.prototype.toISOString (issue 1792).
759
760         Bug fixes and performance improvements for all platforms.
761
762         Not officially supported but noteworthy: Crankshaft for MIPS :-)
763
764
765 2011-10-28: Version 3.7.3
766
767         Slight deoptimization as a workaround for issue with jslint: Issue
768         1789.
769
770
771 2011-10-27: Version 3.7.2
772
773         Fix bug in deoptimization.  Known issue with jslint: Issue 1789.
774
775
776 2011-10-26: Version 3.7.1
777
778         Achieved 33% speedup in debug-mode tests.
779
780         Removed special casing of calls to RegExp test and exec methods with no
781         argument.  Now matches new JSC behaviour.  crbug.com/75740.
782
783         Return the empty string on cyclic references in toString (ES5
784         conformance).
785
786         Fixed bug triggered by JSBeautifier.  crbug.com/100409.
787
788         Made Math.random state per-context instead of per-process (issue 864).
789
790         Fixed stack traces to skip native functions.
791
792         Make snapshots (new contexts) smaller and faster.
793
794         Fixed handling of Function.apply for non-array arguments.
795
796         Fixed evaluation order in defineProperties to match FireFox.
797
798         Fixed handling of non-object receivers for array builtins,
799         crbug.com/100702.
800
801         Multiple fixes to improve compliance with test262.
802
803         Fixed compatibility with older Android releases.
804
805         Fixed compilation with gcc-4.5.3.
806
807         Improved performance of WriteUtf8, issue 1665.
808
809         Made native syntax an early error in the preparser.
810
811         Fixed issues 793 and 893 relating to Function.prototype.bind.
812
813         Improved let, const, Set and Map support and other Harmony features
814         (behind the --harmony flag).
815
816         Changed evaluation order for > and <= to match ES5 instead of ES3.
817
818         Bug fixes and performance improvements on all platforms.
819
820
821 2011-10-13: Version 3.7.0
822
823         Fixed array handling for Object.defineOwnProperty (ES5 conformance).
824
825         Fixed issue 1757 (string slices of external strings).
826
827         Fixed issue 1759 (ARM).
828
829         Added flag --noclever-optimizations to disable some things that
830         caused trouble in the past.
831
832         Added flag --stress-compaction for testing.
833
834         Added flag --harmony to activate all experimental Harmony features.
835
836
837 2011-10-10: Version 3.6.6
838
839         Added a GC pause visualization tool.
840
841         Added presubmit=no and werror=no flags to Makefile.
842
843         ES5/Test262 conformance improvements.
844
845         Fixed compilation issues with GCC 4.5.x (issue 1743).
846
847         Bug fixes and performance improvements on all platforms.
848
849
850 2011-10-05: Version 3.6.5
851
852         New incremental garbage collector.
853
854         Removed the hard heap size limit (soft heap size limit is still
855         700/1400Mbytes by default).
856
857         Implemented ES5 generic Array.prototype.toString (Issue 1361).
858
859         V8 now allows surrogate pair codes in decodeURIComponent (Issue 1415).
860
861         Fixed x64 RegExp start-of-string bug (Issues 1746, 1748).
862
863         Fixed propertyIsEnumerable for numeric properties (Issue 1692).
864
865         Fixed the MinGW and Windows 2000 builds.
866
867         Fixed "Prototype chain is not searched if named property handler does
868         not set a property" (Issue 1636).
869
870         Made the RegExp.prototype object be a RegExp object (Issue 1217).
871
872         Disallowed future reserved words as labels in strict mode.
873
874         Fixed string split to correctly coerce the separator to a string
875         (Issue 1711).
876
877         API: Added an optional source length field to the Extension
878         constructor.
879
880         API: Added Debug::DisableAgent to match existing Debug::EnableAgent
881         (Issue 1573).
882
883         Added "native" target to Makefile for the benefit of Linux distros.
884
885         Fixed: debugger stops stepping outside evaluate (Issue 1639).
886
887         More work on ES-Harmony proxies.  Still hidden behind a flag.
888
889         Bug fixes and performance improvements on all platforms.
890
891
892 2011-09-15: Version 3.6.4
893
894         Fixed d8's broken readline history.
895
896         Removed the need for code delete events in CPU profiler (Issue 1466).
897
898         Fixed debugger stepping next with trycatch recursion (Issue 1639).
899
900         Fixing parallel execution in d8 (with -p) and some memory leaks.
901
902         Support for precise stepping in functions compiled before debugging was
903         started (step 1).
904
905
906 2011-09-13: Version 3.6.3
907
908         Implemented better support of typed arrays in the d8 shell.
909
910         Bug fixes and performance improvements on all platforms.
911
912
913 2011-09-08: Version 3.6.2
914
915         Added "dependencies" target to top-level Makefile.
916
917         Added ability to turn profiler on/off in d8.
918
919         Added "soname_version" parameter to common.gypi, v8.gyp, and Makefile.
920
921         Fixed several crash bugs.
922
923
924 2011-09-07: Version 3.6.1
925
926         Fixed a bug in abrupt exit from with or catch inside finally.
927
928         Fixed possible crash in FixedDoubleArray::Initialize() (Chromium
929         issue 95113).
930
931         Fixed a bug in Page::GetRegionMaskForSpan (Chromium issue 94425).
932
933         Fixed a few clang warnings (which -Werror treated as errors).
934
935         Performance improvements on all platforms.
936
937
938 2011-09-05: Version 3.6.0
939
940         Fixed a bug when optimizing named function expression (issue 1647).
941
942         Fixed a bug when optimizing f.call.apply (issue 1650).
943
944         Made arguments and caller always be null on native functions
945         (issues 1548 and 1643).
946
947         Fixed issue 1648 (cross-compiling x64 targeting ia32).
948
949         Fixed issue 371 (d8 printing of strings containing \0).
950
951         Fixed order of evaluation in arguments to parseInt (issue 1649).
952
953         Fixed a problem with large heap snapshots in Chrome DevTools
954         (issue 1658, chromium issue 89268).
955
956         Upped default maximum heap size from 512M to 700M.
957
958
959 2011-08-31: Version 3.5.10
960
961         Added dependency of v8_base on WinSocket2 Windows library in
962         the GYP-build.
963
964         Various bugfixes.
965
966
967 2011-08-29: Version 3.5.9
968
969         Made FromPropertyDescriptor not trigger inherited setters.
970
971         Fixed .gyp files to work on the ARM simulator.
972
973         Fixed shared library build warnings for MSVS.
974
975
976 2011-08-24: Version 3.5.8
977
978         Added V8EXPORT attributes for v8::Array::CheckCast and
979         v8::Number::CheckCast.
980
981         Made a slight API change enabling opting out from null termination
982         in String::Write*().
983
984         Fixed arm build for gcc-4.6.
985
986
987 2011-08-22: Version 3.5.7
988
989         Make scanner handle invalid unicode escapes in identifiers correctly.
990
991         Make regexp flag parsing stricter.
992
993         Fix several memory leaks.
994
995
996 2011-08-17: Version 3.5.6
997
998         Fixed issue that could cause crashes when running with --heap-stats.
999
1000         Fixed compilation on Linux 2.6.9 and older.
1001
1002         Fixed live-object-list to work with isolates.
1003
1004         Fixed memory leaks in zones and isolates.
1005
1006         Fixed a performance regression for TypedArrays on x64.
1007
1008         Stability improvements on all platforms.
1009
1010
1011 2011-08-15: Version 3.5.5
1012
1013         Fixed bugs involving negative zero and the optimizing compiler.
1014
1015         Fixed optimized version of Function.apply(x, arguments). (issue 1592)
1016
1017         Eliminated uses of deprecated ARM instructions.
1018
1019         Sped up Math.floor by using SSE 4.1 roundsd instruction on ia32.
1020
1021         Removed restriction on the size of disassembled code that is printed.
1022
1023
1024 2011-08-10: Version 3.5.4
1025
1026         Added a preliminary implementation of ES Harmony weak maps.  Weak
1027         maps can be enabled by the flag --harmony-weakmaps.
1028
1029         Introduced a toplevel Makefile to support GYP-based building.  GYP
1030         can be obtained from http://gyp.googlecode.com.
1031
1032         Fixed a bug in the length property of functions created by
1033         Function.prototype.bind.
1034
1035         Reduced malloc heap allocation on process startup.
1036
1037         Several important code generation bug fixes.
1038
1039         Performance improvements on all platforms.
1040
1041
1042 2011-08-03: Version 3.5.3
1043
1044         MIPS: Port of fix to ClassOf check from ARM.
1045         Patch from Paul Lind <plind44@gmail.com>.
1046
1047         Stopped using mprotect on Cygwin.
1048         Avoided uninitialized member warning on gcc 4.3.4
1049         Both patches by Bert Belder.
1050
1051         Bug fixes and performance improvements on all platforms.
1052
1053
1054 2011-08-01: Version 3.5.2
1055
1056         Performance improvements on all platforms.
1057
1058
1059 2011-07-28: Version 3.5.1
1060
1061         Fixed setting the readonly flag on the prototype property using the
1062         API call FunctionTemplate::SetPrototypeAttributes (issue 1539).
1063
1064         Changed the tools/test.py script to use d8 instead of shell for
1065         testing.
1066
1067         Fixed crash in ToBooleanStub when GC happens during invocation.
1068
1069         Enabled automatic unboxing of double arrays.
1070
1071         Performance improvements on all platforms.
1072
1073
1074 2011-07-25: Version 3.5.0
1075
1076         Implemented Object.prototype.{hasOwnProperty, propertyIsEnumerable} for
1077         proxies.
1078
1079         Removed logging to memory support.
1080
1081         Bugfixes and performance work.
1082
1083
1084 2011-07-20: Version 3.4.14
1085
1086         Fix the debugger for strict-mode functions. (Chromium issue 89236)
1087
1088         Add GetPropertyAttribute method for Object in the API. (Patch by
1089         Peter Varga)
1090
1091         Fix -Wunused-but-set-variable for gcc-4.6 on x64. (Issue 1291)
1092
1093
1094 2011-07-18: Version 3.4.13
1095
1096         Improved debugger support to allow inspection of optimized frames (issue
1097         1140).
1098
1099         Fixed a bug in prototype transitions cache clearing introduced by r8165.
1100
1101         Fixed shortcutting bug in HInferRepresentation. Patch by Andy Wingo.
1102
1103         Fixed a memory leak in sample/shell.cc (dispose semaphores).
1104
1105         Simplified HClampToUint8. Patch by Andy Wingo.
1106
1107         Exposed APIs for detecting boxed primitives, native errors. Patch by
1108         Luke Zarko.
1109
1110         Added map check for COW elements to crankshaft array handling code
1111         (issue 1560).
1112
1113         Sample shell and (a light version of) D8 links against a shared library
1114         now.
1115
1116         Fixed bug in array filter and reduce functions (issue 1559).
1117
1118         Avoid TLS load in AstNode constructor.
1119
1120         Introduced a random entropy source which can optionally be provided at
1121         initialization. (Chromium issue 89462).
1122
1123
1124 2011-07-13: Version 3.4.12
1125
1126         Added --prof profiling option to d8 shell.
1127
1128         Fixed a bug where reading a directory in d8 shell hangs (issue 1533).
1129
1130         Fixed a potential assertion failure in const declarations.
1131
1132         Fixed an assertion failure in descriptor arrays (issue 1526).
1133
1134         Enabled fast thread-local storage by default on supported platforms.
1135
1136         Improved reporting of source position for global variable loads
1137         (issue 1527).
1138
1139
1140 2011-07-11: Version 3.4.11
1141
1142         Fixed MinGW32 build.
1143
1144         Fixed a GC bug with RegExp code flushing.
1145
1146         Implemented Object.defineProperty for proxies.
1147
1148         Fixed a bug in for/in iteration of arguments objects (issue 1531).
1149
1150         Added debugger support for inspecting optimized frames (issue 1140).
1151
1152         Allowed JSObject::PreventExtensions to work for arguments objects.
1153
1154         Bugfixes and performance work.
1155
1156
1157 2011-07-06: Version 3.4.10
1158
1159         Fixed debugger not breaking on certain "if" statements (issue 1523).
1160
1161         Fixed assertion failure in runtime profiler when running on IA32
1162         without snapshot (issue 1522).
1163
1164         Fixed ABI for API calls on IA32 (for clang compatibility).
1165
1166         Introduced code flushing of RegExp code to free memory used by
1167         RegExps sooner.
1168
1169         Fixed linux-tick-processor built wrong version of v8 (issue 1532).
1170
1171         Fixed assertion failure in v8::TryCache::StackTrace (issue 1529).
1172
1173         Performance improvements on all platforms.
1174
1175
1176 2011-07-04: Version 3.4.9
1177
1178         Added support for debugger inspection of locals in optimized frames
1179         (issue 1140).
1180
1181         Fixed SConstruct to pass correct defines to samples/preparser when
1182         building with library=shared.
1183
1184         Made date parser handle ES5 Date Time Strings correctly (issue 1498).
1185
1186         Fixed a bug in Object.defineProperty on the arguments object.
1187
1188         Performance improvements on all platforms.
1189
1190
1191 2011-06-29: Version 3.4.8
1192
1193         Ensure 16-byte stack alignment on Solaris (issue 1505).
1194
1195         Fix "illegal access" when calling parseInt with a radix
1196         that is not a smi. (issue 1246).
1197
1198
1199 2011-06-27: Version 3.4.7
1200
1201         Fixed 64-bit build on FreeBSD.
1202
1203         Added API to set the property attributes for the prototype
1204         property on functions created from FunctionTemplates.
1205
1206         Bugfixes and performance work.
1207
1208
1209 2011-06-22: Version 3.4.6
1210
1211         Lowered limit on code space for systems with low memory supply.
1212
1213         Allowed compiling v8_shell with the 'host' toolset (issue 82437).
1214
1215         Extended setBreakpoint API to accept partial script name (issue 1418).
1216
1217         Made multi-line comments not count when deciding whether the '-->'
1218         comment starter is first on a line. This matches Safari.
1219
1220         Made handling of non-array recievers in Array length setter correct
1221         (issue 1491).
1222
1223         Added ability to heap profiler to iterate over snapshot's node
1224         (issue 1481).
1225
1226
1227 2011-06-20: Version 3.4.5
1228
1229         Fixed issues 794, 1097, 1215(partial), 1417, 1435, 1472, 1473,
1230         1476, and 1477.
1231
1232         Improved code generation for !0 and !1.
1233
1234         Reduced memory usage for regular expressions with nested qualifiers.
1235         (issue 1472)
1236
1237         Fixed V8 to count line terminators in multi-line comments.
1238         (Chromium issue 86431)
1239
1240         Fixed disassembler=on option for release-mode builds. (issue 1473)
1241
1242         Performance improvements on all platforms.
1243
1244
1245 2011-06-15: Version 3.4.4
1246
1247         Added snapshot compression support and --stress-opt flag to d8.
1248
1249         Improved performance of try/catch.
1250
1251         Several GYP-related changes: Added support for building Xcode project
1252         files. Make the ARM simulator build with GYP again. Generate Makefiles
1253         for all architectures on Linux.
1254
1255         Fixed Array.prototype.{reduce,reduceRight} to pass undefined as the
1256         receiver for strict mode callbacks. (issue 1436)
1257
1258         Fixed a bug where an array load was incorrectly hoisted by GVN.
1259
1260         Handle 'undefined' correctly when === has been specialized for doubles.
1261         (issue 1434)
1262
1263         Corrected the limit of local variables in an optimized function from 64
1264         to 63.
1265
1266         Correctly set ReadOnly flag on indexed properties when using the API Set
1267         method. (issue 1470)
1268
1269         Give the correct error message when Object.isExtensible is called on a
1270         non-object. (issue 1452)
1271
1272         Added GetOwnPropertyNames method for Object in the API. Patch by Peter
1273         Varga.
1274
1275         Do not redefine properties unneccesarily in seal and freeze. (issue
1276         1447)
1277
1278         IsExecutionTerminating has an Isolate parameter now.
1279
1280         Distinguish keyed loads with a symbol key from fast elements loads,
1281         avoiding some useless deoptimizations. (issue 1471)
1282
1283
1284 2011-06-08: Version 3.4.3
1285
1286         Clear the global thread table when an isolate is disposed
1287         (issue 1433).
1288
1289         Converted time zone name to UTF8 on Windows (issue 1290).
1290
1291         Limited the number of arguments in a function call to 32766
1292         (issue 1413).
1293
1294         Compress sources of JS libraries in addition to the snapshot.
1295
1296         Fixed a bug in Lithium environment iteration.
1297
1298         Performance improvements on all platforms.
1299
1300
1301 2011-06-06: Version 3.4.2
1302
1303         More work on ES-Harmony proxies.  Still hidden behind a flag.
1304
1305         Fixed some crash bugs and improved performance.
1306
1307         Fixed building with gdb debugging support.
1308
1309         Do not install SIGPROF handler until it is needed.
1310
1311         Added DateTimeFormat to i18n API.
1312
1313         Fixed compilation on OpenBSD.
1314
1315         Take the ulimit into account when sizing the heap.  OpenBSD users
1316         may still have to increase the default ulimit to run heavy pages in
1317         the browser.
1318
1319
1320 2011-06-01: Version 3.4.1
1321
1322         Fixed JSON stringify issue with arrays.
1323
1324         Changed calls to JS builtins to be passed undefined when called with
1325         implicit receiver.
1326
1327         Implemented the set trap for Harmony proxies. Proxies still need to
1328         be enabled with the --harmony-proxies flag.
1329
1330
1331 2011-05-30: Version 3.4.0
1332
1333         Changed calls to undefined property setters to not throw (issue 1355).
1334
1335         Made RegExp objects not callable.
1336
1337         Fixed issues on special case large JSON strings in new json parser
1338         (issues http://crbug.com/83877 and http://crbug.com/84186).
1339
1340         Performance improvements on all platforms.
1341
1342
1343 2011-05-25: Version 3.3.10
1344
1345         Fixed calls of strict mode function with an implicit receiver.
1346
1347         Fixed fast handling of arrays to properly deal with changes to the
1348         Object prototype (issue 1403).
1349
1350         Changed strict mode poison pill to be the same type error function
1351         (issue 1387).
1352
1353         Fixed a debug crash in arguments object handling (issue 1227).
1354
1355         Fixed a bug in deoptimization on x64 (issue 1404).
1356
1357         Performance improvements and bug fixes on all platforms.
1358
1359
1360 2011-05-23: Version 3.3.9
1361
1362         Added DateTimeFormat class to experimental i18n API.
1363
1364         Extended preparser to give early errors for some strict mode
1365         restrictions.
1366
1367         Removed legacy execScript function from V8.
1368
1369         Extended isolate API with the ability to add embedder-specific
1370         data to an isolate.
1371
1372         Added basic support for polymorphic loads from JS and external
1373         arrays.
1374
1375         Fixed bug in handling of switch statements in the optimizing
1376         compiler.
1377
1378
1379 2011-05-18: Version 3.3.8
1380
1381         Added MarkIndependent to the persistent handle API.  Independent
1382         handles are independent of all other persistent handles and can be
1383         garbage collected more frequently.
1384
1385         Implemented the get trap for Harmony proxies.  Proxies are enabled
1386         with the --harmony-proxies flag.
1387
1388         Performance improvements and bug fixes on all platforms.
1389
1390
1391 2011-05-16: Version 3.3.7
1392
1393         Updated MIPS infrastructure files.
1394
1395         Performance improvements and bug fixes on all platforms.
1396
1397
1398 2011-05-11: Version 3.3.6
1399
1400         Updated MIPS infrastructure files.
1401
1402         Added method IsCallable for Object to the API.
1403         Patch by Peter Varga.
1404
1405
1406 2011-05-09: Version 3.3.5
1407
1408         Fixed build on FreeBSD. Patch by Akinori MUSHA.
1409
1410         Added check that receiver is JSObject on API calls.
1411
1412         Implemented CallAsConstructor method for Object in the API (Issue 1348).
1413         Patch by Peter Varga.
1414
1415         Added CallAsFunction method to the Object class in the API (Issue 1336).
1416         Patch by Peter Varga.
1417
1418         Added per-isolate locking and unlocking.
1419
1420         Fixed bug in x64 >>> operator (Issue 1359).
1421
1422
1423 2011-05-04: Version 3.3.4
1424
1425         Implemented API to disallow code generation from strings for a context
1426         (issue 1258).
1427
1428         Fixed bug with whitespaces in parseInt (issue 955).
1429
1430         Fixed bug with == comparison of Date objects (issue 1356).
1431
1432         Added GYP variables for ARM code generation:
1433         v8_can_use_vfp_instructions, v8_can_use_unaligned_accesses
1434         and v8_use_arm_eabi_hardfloat.
1435
1436
1437 2011-05-02: Version 3.3.3
1438
1439         Added support for generating Visual Studio solution and project files
1440         using GYP.
1441
1442         Implemented support for ARM EABI calling convention variation where
1443         floating-point arguments are passed in registers (hardfloat).
1444
1445         Added Object::HasOwnProperty() to the API.
1446
1447         Added support for compressing startup data to reduce binary size. This
1448         includes build time support and an API for the embedder to decompress
1449         the startup data before initializing V8.
1450
1451         Reduced the profiling hooks overhead from >400% to 25% when using
1452         ll_prof.
1453
1454         Performance improvements and bug fixes on all platforms.
1455
1456
1457 2011-04-27: Version 3.3.2
1458
1459         Fixed crash bug on ARM with no VFP3 hardware.
1460
1461         Fixed compilation of V8 without debugger support.
1462
1463         Improved performance on JSLint.
1464
1465         Added support Float64 WebGL arrays.
1466
1467         Fixed crash bug in regexp replace.
1468
1469
1470 2011-04-20: Version 3.3.1
1471
1472         Reduced V8 binary size by removing virtual functions from hydrogen.
1473
1474         Fixed crash bug on x64.
1475
1476         Performance improvements on ARM and IA32.
1477
1478
1479 2011-04-18: Version 3.3.0
1480
1481         Fixed bug in floating point rounding in Crankshaft on ARM
1482         (issue 958)
1483
1484         Fixed a number of issues with running without VFPv3 support on ARM
1485         (issue 1315)
1486
1487         Introduced v8Locale.Collator, a partial implementation of Collator
1488         per last ECMAScript meeting + mailing list.
1489
1490         Minor performance improvements and bug fixes.
1491
1492
1493 2011-04-13: Version 3.2.10
1494
1495         Fixed bug in external float arrays on ARM (issue 1323).
1496
1497         Minor performance improvements and bug fixes.
1498
1499
1500 2011-04-11: Version 3.2.9
1501
1502         Removed support for ABI prior to EABI on ARM.
1503
1504         Fixed multiple crash bugs.
1505
1506         Added GCMole to the repository, a simple static analysis tool that
1507         searches for GC-unsafe evaluation order dependent callsites.
1508
1509         Made preparser API be exported in shared libraries.
1510
1511         Fixed multiple issues in EcmaScript 5 strict mode implementation.
1512
1513         Fixed mutable __proto__ property if object is not extensible
1514         (Issue 1309).
1515
1516         Fixed auto suspension of the sampler thread.
1517
1518
1519 2011-04-06: Version 3.2.8
1520
1521         Exposed WebGL typed array constructors in the shell sample.
1522
1523         Performance improvements on all platforms.
1524
1525
1526 2011-04-04: Version 3.2.7
1527
1528         Disabled the original 'classic' V8 code generator.  Crankshaft is
1529         now the default on all platforms.
1530
1531         Changed the heap profiler to use more descriptive names.
1532
1533         Performance and stability improvements to isolates on all platforms.
1534
1535
1536 2011-03-30: Version 3.2.6
1537
1538         Fixed xcode build warning in shell.cc (out of order initialization).
1539
1540         Fixed null-pointer dereference in the compiler when running without
1541         SSE3 support (Chromium issue 77654).
1542
1543         Fixed x64 compilation error due to some dead code. (Issue 1286)
1544
1545         Introduced scons target to build the preparser stand-alone example.
1546
1547         Made FreeBSD build and pass all tests.
1548
1549
1550 2011-03-28: Version 3.2.5
1551
1552         Fixed build with Irregexp interpreter (issue 1266).
1553
1554         Added Crankshaft support for external arrays.
1555
1556         Fixed two potential crash bugs.
1557
1558
1559 2011-03-23: Version 3.2.4
1560
1561         Added isolates which allows several V8 instances in the same process.
1562         This is controlled through the new Isolate class in the API.
1563
1564         Implemented more of EcmaScript 5 strict mode.
1565
1566         Reduced the time it takes to make detailed heap snapshot.
1567
1568         Added a number of commands to the ARM simulator and enhanced the ARM
1569         disassembler.
1570
1571
1572 2011-03-17: Version 3.2.3
1573
1574         Fixed a number of crash bugs.
1575
1576         Fixed Array::New(length) to return an array with a length (issue 1256).
1577
1578         Fixed FreeBSD build.
1579
1580         Changed __defineGetter__ to not throw (matching the behavior of Safari).
1581
1582         Implemented more of EcmaScript 5 strict mode.
1583
1584         Improved Crankshaft performance on all platforms.
1585
1586
1587 2011-03-14: Version 3.2.2
1588
1589         Fixed a number of crash and correctness bugs.
1590
1591         Improved Crankshaft performance on all platforms.
1592
1593         Fixed Crankshaft on Solaris/Illumos.
1594
1595
1596 2011-03-10: Version 3.2.1
1597
1598         Fixed a number of crash bugs.
1599
1600         Improved Crankshaft for x64 and ARM.
1601
1602         Implemented more of EcmaScript 5 strict mode.
1603
1604
1605 2011-03-07: Version 3.2.0
1606
1607         Fixed a number of crash bugs.
1608
1609         Turned on Crankshaft by default on x64 and ARM.
1610
1611         Improved Crankshaft for x64 and ARM.
1612
1613         Implemented more of EcmaScript 5 strict mode.
1614
1615
1616 2011-03-02: Version 3.1.8
1617
1618         Fixed a number of crash bugs.
1619
1620         Improved Crankshaft for x64 and ARM.
1621
1622         Implemented more of EcmaScript 5 strict mode.
1623
1624         Fixed issue with unaligned reads and writes on ARM.
1625
1626         Improved heap profiler support.
1627
1628
1629 2011-02-28: Version 3.1.7
1630
1631         Fixed a number of crash bugs.
1632
1633         Improved Crankshaft for x64 and ARM.
1634
1635         Fixed implementation of indexOf/lastIndexOf for sparse
1636         arrays (http://crbug.com/73940).
1637
1638         Fixed bug in map space compaction (http://crbug.com/59688).
1639
1640         Added support for direct getter accessors calls on ARM.
1641
1642
1643 2011-02-24: Version 3.1.6
1644
1645         Fixed a number of crash bugs.
1646
1647         Added support for Cygwin (issue 64).
1648
1649         Improved Crankshaft for x64 and ARM.
1650
1651         Added Crankshaft support for stores to pixel arrays.
1652
1653         Fixed issue in CPU profiler with Crankshaft.
1654
1655
1656 2011-02-16: Version 3.1.5
1657
1658         Change RegExp parsing to disallow /(*)/.
1659
1660         Added GDB JIT support for ARM.
1661
1662         Fixed several crash bugs.
1663
1664         Performance improvements on the IA32 platform.
1665
1666
1667 2011-02-14: Version 3.1.4
1668
1669         Fixed incorrect compare of prototypes of the global object (issue
1670         1082).
1671
1672         Fixed a bug in optimizing calls to global functions (issue 1106).
1673
1674         Made optimized Function.prototype.apply safe for non-JSObject first
1675         arguments (issue 1128).
1676
1677         Fixed an error related to element accessors on Object.prototype and
1678         parser errors (issue 1130).
1679
1680         Fixed a bug in sorting an array with large array indices (issue 1131).
1681
1682         Properly treat exceptions thrown while compiling (issue 1132).
1683
1684         Fixed bug in register requirements for function.apply (issue 1133).
1685
1686         Fixed a representation change bug in the Hydrogen graph construction
1687         (issue 1134).
1688
1689         Fixed the semantics of delete on parameters (issue 1136).
1690
1691         Fixed a optimizer bug related to moving instructions with side effects
1692         (issue 1138).
1693
1694         Added support for the global object in Object.keys (issue 1150).
1695
1696         Fixed incorrect value for Math.LOG10E
1697         (issue http://code.google.com/p/chromium/issues/detail?id=72555)
1698
1699         Performance improvements on the IA32 platform.
1700
1701         Implement assignment to undefined reference in ES5 Strict Mode.
1702
1703
1704 2011-02-09: Version 3.1.3
1705
1706         Fixed a bug triggered by functions with huge numbers of declared
1707         arguments.
1708
1709         Fixed zap value aliasing a real object - debug mode only (issue 866).
1710
1711         Fixed issue where Array.prototype.__proto__ had been set to null
1712         (issue 1121).
1713
1714         Fixed stability bugs in Crankshaft for x86.
1715
1716
1717 2011-02-07: Version 3.1.2
1718
1719         Added better security checks when accessing properties via
1720         Object.getOwnPropertyDescriptor.
1721
1722         Fixed bug in Object.defineProperty and related access bugs (issues
1723         992, 1083 and 1092).
1724
1725         Added LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to ease
1726         copyright notice generation for embedders.
1727
1728
1729 2011-02-02: Version 3.1.1
1730
1731         Perform security checks before fetching the value in
1732         Object.getOwnPropertyDescriptor.
1733
1734         Fixed a bug in Array.prototype.splice triggered by passing no
1735         arguments.
1736
1737         Fixed bugs in -0 in arithmetic and in Math.pow.
1738
1739         Fixed bugs in the register allocator and in switching from optimized
1740         to unoptimized code.
1741
1742
1743 2011-01-31: Version 3.1.0
1744
1745         Performance improvements on all platforms.
1746
1747
1748 2011-01-28: Version 3.0.12
1749
1750         Added support for strict mode parameter and object property
1751         validation.
1752
1753         Fixed a couple of crash bugs.
1754
1755
1756 2011-01-25: Version 3.0.11
1757
1758         Fixed a bug in deletion of lookup slots that could cause global
1759         variables to be accidentally deleted (http://crbug.com/70066).
1760
1761         Added support for strict mode octal literal verification.
1762
1763         Fixed a couple of crash bugs (issues 1070 and 1071).
1764
1765
1766 2011-01-24: Version 3.0.10
1767
1768         Fixed External::Wrap for 64-bit addresses (issue 1037).
1769
1770         Fixed incorrect .arguments variable proxy handling in the full
1771         code generator (issue 1060).
1772
1773         Introduced partial strict mode support.
1774
1775         Changed formatting of recursive error messages to match Firefox and
1776         Safari (issue http://crbug.com/70334).
1777
1778         Fixed incorrect rounding for float-to-integer conversions for external
1779         array types, which implement the Typed Array spec
1780         (issue http://crbug.com/50972).
1781
1782         Performance improvements on the IA32 platform.
1783
1784
1785 2011-01-19: Version 3.0.9
1786
1787         Added basic GDB JIT Interface integration.
1788
1789         Make invalid break/continue statements a syntax error instead of a
1790         runtime error.
1791
1792
1793 2011-01-17: Version 3.0.8
1794
1795         Exposed heap size limit to the heap statistics gathered by
1796         the GetHeapStatistics API.
1797
1798         Wrapped external pointers more carefully (issue 1037).
1799
1800         Hardened the implementation of error objects to avoid setters
1801         intercepting the properties set then throwing an error.
1802
1803         Avoided trashing the FPSCR when calculating Math.floor on ARM.
1804
1805         Performance improvements on the IA32 platform.
1806
1807
1808 2011-01-10: Version 3.0.7
1809
1810         Stopped calling inherited setters when creating object literals
1811         (issue 1015).
1812
1813         Changed interpretation of malformed \c? escapes in RegExp to match
1814         JSC.
1815
1816         Enhanced the command-line debugger interface and fixed some minor
1817         bugs in the debugger.
1818
1819         Performance improvements on the IA32 platform.
1820
1821
1822 2011-01-05: Version 3.0.6
1823
1824         Allowed getters and setters on JSArray elements (issue 900).
1825
1826         Stopped JSON objects from hitting inherited setters (part of
1827         issue 1015).
1828
1829         Allowed numbers and strings as names of getters/setters in object
1830         initializer (issue 820).
1831
1832         Added use_system_v8 option to gyp (off by default), to make it easier
1833         for Linux distributions to ship with system-provided V8 library.
1834
1835         Exported external array data accessors (issue 1016).
1836
1837         Added labelled thread names to help with debugging (on Linux).
1838
1839
1840 2011-01-03: Version 3.0.5
1841
1842         Fixed a couple of cast errors for gcc-3.4.3.
1843
1844         Performance improvements in GC and IA32 code generator.
1845
1846
1847 2010-12-21: Version 3.0.4
1848
1849         Added Date::ResetCache() to the API so that the cached values in the
1850         Date object can be reset to allow live DST / timezone changes.
1851
1852         Extended existing support for printing (while debugging) the contents
1853         of objects.  Added support for printing objects from release builds.
1854
1855         Fixed V8 issues 989, 1006, and 1007.
1856
1857
1858 2010-12-17: Version 3.0.3
1859
1860         Reapplied all changes for version 3.0.1.
1861
1862         Improved debugger protocol for remote debugging.
1863
1864         Added experimental support for using gyp to generate build files
1865         for V8.
1866
1867         Fixed implementation of String::Write in the API (issue 975).
1868
1869
1870 2010-12-15: Version 3.0.2
1871
1872         Revert version 3.0.1 and patch 3.0.1.1.
1873
1874
1875 2010-12-13: Version 3.0.1
1876
1877         Added support for an experimental internationalization API as an
1878         extension.  This extension is disabled by default but can be enabled
1879         when building V8.  The ECMAScript internationalization strawman is
1880         at http://wiki.ecmascript.org/doku.php?id=strawman:i18n_api.
1881
1882         Made RegExp character class parsing stricter.  This mirrors a change
1883         to RegExp parsing in WebKit.
1884
1885         Fixed a bug in Object.defineProperty when used to change attributes
1886         of an existing property.  It incorrectly set the property value to
1887         undefined (issue 965).
1888
1889         Fixed several different compilation failures on various platforms
1890         caused by the 3.0.0 release.
1891
1892         Optimized Math.pow so it can work on unboxed doubles.
1893
1894         Sped up quoting of JSON strings by removing one traversal of the
1895         string.
1896
1897
1898 2010-12-07: Version 3.0.0
1899
1900         Improved performance by (partially) addressing issue 957 on
1901         IA-32. Still needs more work for the other architectures.
1902
1903
1904 2010-11-29: Version 2.5.9
1905
1906         Fixed crashes during GC caused by partially initialize heap
1907         objects.
1908
1909         Fixed bug in process sample that caused memory leaks.
1910
1911         Improved performance on ARM by implementing missing stubs and
1912         inlining.
1913
1914         Improved heap profiler support.
1915
1916         Added separate seeding on Windows of the random number generator
1917         used internally by the compiler (issue 936).
1918
1919         Exposed API for getting the name of the function used to construct
1920         an object.
1921
1922         Fixed date parser to handle one and two digit millisecond
1923         values (issue 944).
1924
1925         Fixed number parsing to disallow space between sign and
1926         digits (issue 946).
1927
1928
1929 2010-11-23: Version 2.5.8
1930
1931         Removed dependency on Gay's dtoa.
1932
1933         Improved heap profiler precision and speed.
1934
1935         Reduced overhead of callback invocations on ARM.
1936
1937
1938 2010-11-18: Version 2.5.7
1939
1940         Fixed obscure evaluation order bug (issue 931).
1941
1942         Split the random number state between JavaScript and the private API.
1943
1944         Fixed performance bug causing GCs when generating stack traces on
1945         code from very large scripts.
1946
1947         Fixed bug in parser that allowed (foo):42 as a labelled statement
1948         (issue 918).
1949
1950         Provide more accurate results about used heap size via
1951         GetHeapStatistics.
1952
1953         Allow build-time customization of the max semispace size.
1954
1955         Made String.prototype.split honor limit when separator is empty
1956         (issue 929).
1957
1958         Added missing failure check after expecting an identifier in
1959         preparser (Chromium issue 62639).
1960
1961
1962 2010-11-10: Version 2.5.6
1963
1964         Added support for VFP rounding modes to the ARM simulator.
1965
1966         Fixed multiplication overflow bug (issue 927).
1967
1968         Added a limit for the amount of executable memory (issue 925).
1969
1970
1971 2010-11-08: Version 2.5.5
1972
1973         Added more aggressive GC of external objects in near out-of-memory
1974         situations.
1975
1976         Fixed a bug that gave the incorrect result for String.split called
1977         on the empty string (issue 924).
1978
1979
1980 2010-11-03: Version 2.5.4
1981
1982         Improved V8 VFPv3 runtime detection to address issue 914.
1983
1984
1985 2010-11-01: Version 2.5.3
1986
1987         Fixed a bug that prevents constants from overwriting function values
1988         in object literals (issue 907).
1989
1990         Fixed a bug with reporting of impossible nested calls of DOM functions
1991         (issue http://crbug.com/60753).
1992
1993
1994 2010-10-27: Version 2.5.2
1995
1996         Improved sampler resolution on Linux.
1997
1998         Allowed forcing the use of a simulator from the build script
1999         independently of the host architecture.
2000
2001         Fixed FreeBSD port (issue 912).
2002
2003         Made windows-tick-processor respect D8_PATH.
2004
2005         Implemented --noinline-new flag fully on IA32, X64 and ARM platforms.
2006
2007
2008 2010-10-20: Version 2.5.1
2009
2010         Fixed bug causing spurious out of memory exceptions
2011         (issue http://crbug.com/54580).
2012
2013         Fixed compilation error on Solaris platform (issue 901).
2014
2015         Fixed error in strtod (string to floating point number conversion)
2016         due to glibc's use of 80-bit floats in the FPU on 32-bit linux.
2017
2018         Adjusted randomized allocations of executable memory to have 64k
2019         granularity (issue http://crbug.com/56036).
2020
2021         Supported profiling using kernel perf_events on linux.  Added ll_prof
2022         script to tools and --ll-prof flag to V8.
2023
2024
2025 2010-10-18: Version 2.5.0
2026
2027         Fixed bug in cache handling of lastIndex on global regexps
2028         (issue http://crbug.com/58740).
2029
2030         Added USE_SIMULATOR macro that explicitly indicates that we wish to use
2031         the simulator as the execution engine (by Mark Lam <mark.lam@palm.com>
2032         from Hewlett-Packard Development Company, LP).
2033
2034         Fixed compilation error on ARM with gcc 4.4 (issue 894).
2035
2036
2037 2010-10-13: Version 2.4.9
2038
2039         Fixed a bug in the handling of conditional expressions in test
2040         contexts in compiler for top-level code.
2041
2042         Added "//@ sourceURL" information to the StackTrace API.
2043
2044         Exposed RegExp construction through the API.
2045
2046
2047 2010-10-04: Version 2.4.8
2048
2049         Fixed a bug in ResumeProfilerEx causing it to not always write out the
2050         whole snapshot (issue 868).
2051
2052         Performance improvements on all platforms.
2053
2054
2055 2010-09-30: Version 2.4.7
2056
2057         Changed the command-line flag --max-new-space-size to be in kB and the
2058         flag --max-old-space-size to be in MB (previously they were in bytes).
2059
2060         Added Debug::CancelDebugBreak to the debugger API.
2061
2062         Fixed a bug in getters for negative numeric property names
2063         (https://bugs.webkit.org/show_bug.cgi?id=46689).
2064
2065         Performance improvements on all platforms.
2066
2067
2068 2010-09-27: Version 2.4.6
2069
2070         Fixed assertion failure related to copy-on-write arrays (issue 876).
2071
2072         Fixed build failure of 64-bit V8 on Windows.
2073
2074         Fixed a bug in RegExp (issue http://crbug.com/52801).
2075
2076         Improved the profiler's coverage to cover more functions (issue 858).
2077
2078         Fixed error in shift operators on 64-bit V8
2079         (issue http://crbug.com/54521).
2080
2081
2082 2010-09-22: Version 2.4.5
2083
2084         Changed the RegExp benchmark to exercise the regexp engine on different
2085         inputs by scrambling the input strings.
2086
2087         Fixed a bug in keyed loads on strings.
2088
2089         Fixed a bug with loading global function prototypes.
2090
2091         Fixed a bug with profiling RegExp calls (issue http://crbug.com/55999).
2092
2093         Performance improvements on all platforms.
2094
2095
2096 2010-09-15: Version 2.4.4
2097
2098         Fixed bug with hangs on very large sparse arrays.
2099
2100         Now tries harder to free up memory when running out of space.
2101
2102         Added heap snapshots to JSON format to API.
2103
2104         Recalibrated benchmarks.
2105
2106
2107 2010-09-13: Version 2.4.3
2108
2109         Made Date.parse properly handle TZ offsets (issue 857).
2110
2111         Performance improvements on all platforms.
2112
2113
2114 2010-09-08: Version 2.4.2
2115
2116         Fixed GC crash bug.
2117
2118         Fixed stack corruption bug.
2119
2120         Fixed compilation for newer C++ compilers that found Operand(0)
2121         ambiguous.
2122
2123
2124 2010-09-06: Version 2.4.1
2125
2126         Added the ability for an embedding application to receive a callback
2127         when V8 allocates (V8::AddMemoryAllocationCallback) or deallocates
2128         (V8::RemoveMemoryAllocationCallback) from the OS.
2129
2130         Fixed several JSON bugs (including issue 855).
2131
2132         Fixed memory overrun crash bug triggered during V8's tick-based
2133         profiling.
2134
2135         Performance improvements on all platforms.
2136
2137
2138 2010-09-01: Version 2.4.0
2139
2140         Fixed bug in Object.freeze and Object.seal when Array.prototype or
2141         Object.prototype are changed (issue 842).
2142
2143         Updated Array.splice to follow Safari and Firefox when called
2144         with zero arguments.
2145
2146         Fixed a missing live register when breaking at keyed loads on ARM.
2147
2148         Performance improvements on all platforms.
2149
2150
2151 2010-08-25: Version 2.3.11
2152
2153         Fixed bug in RegExp related to copy-on-write arrays.
2154
2155         Refactored tools/test.py script, including the introduction of
2156         VARIANT_FLAGS that allows specification of sets of flags with which
2157         all tests should be run.
2158
2159         Fixed a bug in the handling of debug breaks in CallIC.
2160
2161         Performance improvements on all platforms.
2162
2163
2164 2010-08-23: Version 2.3.10
2165
2166         Fixed bug in bitops on ARM.
2167
2168         Build fixes for unusual compilers.
2169
2170         Track high water mark for RWX memory.
2171
2172         Performance improvements on all platforms.
2173
2174
2175 2010-08-18: Version 2.3.9
2176
2177         Fixed compilation for ARMv4 on OpenBSD/FreeBSD.
2178
2179         Removed specialized handling of GCC 4.4 (issue 830).
2180
2181         Fixed DST cache to take into account the suspension of DST in
2182         Egypt during the 2010 Ramadan (issue http://crbug.com/51855).
2183
2184         Performance improvements on all platforms.
2185
2186
2187 2010-08-16: Version 2.3.8
2188
2189         Fixed build with strict aliasing on GCC 4.4 (issue 463).
2190
2191         Fixed issue with incorrect handling of custom valueOf methods on
2192         string wrappers (issue 760).
2193
2194         Fixed compilation for ARMv4 (issue 590).
2195
2196         Improved performance.
2197
2198
2199 2010-08-11: Version 2.3.7
2200
2201         Reduced size of heap snapshots produced by heap profiler (issue 783).
2202
2203         Introduced v8::Value::IsRegExp method.
2204
2205         Fixed CPU profiler crash in start / stop sequence when non-existent
2206         name is passed (issue http://crbug.com/51594).
2207
2208         Introduced new indexed property query callbacks API (issue 816). This
2209         API is guarded by USE_NEW_QUERY_CALLBACK define and is disabled
2210         by default.
2211
2212         Removed support for object literal get/set with number/string
2213         property name.
2214
2215         Fixed handling of JSObject::elements in CalculateNetworkSize
2216         (issue 822).
2217
2218         Allowed compiling with strict aliasing enabled on GCC 4.4 (issue 463).
2219
2220
2221 2010-08-09: Version 2.3.6
2222
2223         RegExp literals create a new object every time they are evaluated
2224         (issue 704).
2225
2226         Object.seal and Object.freeze return the modified object (issue 809).
2227
2228         Fixed building using GCC 4.4.4.
2229
2230
2231 2010-08-04: Version 2.3.5
2232
2233         Added support for ES5 property names. Object initialisers and
2234         dot-notation property access now allows keywords. Also allowed
2235         non-identifiers after "get" or "set" in an object initialiser.
2236
2237         Randomized the addresses of allocated executable memory on Windows.
2238
2239
2240 2010-08-02: Version 2.3.4
2241
2242         Fixed problems in implementation of ES5 function.prototype.bind.
2243
2244         Fixed error when using apply with arguments object on ARM (issue 784).
2245
2246         Added setting of global flags to debugger protocol.
2247
2248         Fixed an error affecting cached results of sin and cos (issue 792).
2249
2250         Removed memory leak from a boundary case where V8 is not initialized.
2251
2252         Fixed issue where debugger could set breakpoints outside the body
2253         of a function.
2254
2255         Fixed issue in debugger when using both live edit and step in features.
2256
2257         Added Number-letter (Nl) category to Unicode tables.  These characters
2258         can now be used in identifiers.
2259
2260         Fixed an assert failure on X64 (issue 806).
2261
2262         Performance improvements on all platforms.
2263
2264
2265 2010-07-26: Version 2.3.3
2266
2267         Fixed error when building the d8 shell in a fresh checkout.
2268
2269         Implemented Function.prototype.bind (ES5 15.3.4.5).
2270
2271         Fixed an error in inlined stores on ia32.
2272
2273         Fixed an error when setting a breakpoint at the end of a function
2274         that does not end with a newline character.
2275
2276         Performance improvements on all platforms.
2277
2278
2279 2010-07-21: Version 2.3.2
2280
2281         Fixed compiler warnings when building with LLVM.
2282
2283         Fixed a bug with for-in applied to strings (issue 785).
2284
2285         Performance improvements on all platforms.
2286
2287
2288 2010-07-19: Version 2.3.1
2289
2290         Fixed compilation and linking with V8_INTERPRETED_REGEXP flag.
2291
2292         Fixed bug related to code flushing while compiling a lazy
2293         compilable function (issue http://crbug.com/49099).
2294
2295         Performance improvements on all platforms.
2296
2297
2298 2010-07-15: Version 2.3.0
2299
2300         Added ES5 Object.seal and Object.isSealed.
2301
2302         Added debugger API for scheduling debugger commands from a
2303         separate thread.
2304
2305
2306 2010-07-14: Version 2.2.24
2307
2308         Added API for capturing stack traces for uncaught exceptions.
2309
2310         Fixed crash bug when preparsing from a non-external V8 string
2311         (issue 775).
2312
2313         Fixed JSON.parse bug causing input not to be converted to string
2314         (issue 764).
2315
2316         Added ES5 Object.freeze and Object.isFrozen.
2317
2318         Performance improvements on all platforms.
2319
2320
2321 2010-07-07: Version 2.2.23
2322
2323         API change: Convert Unicode code points outside the basic multilingual
2324         plane to the replacement character.  Previous behavior was to silently
2325         truncate the value to 16 bits.
2326
2327         Fixed crash: handle all flat string types in regexp replace.
2328
2329         Prevent invalid pre-parsing data passed in through the API from
2330         crashing V8.
2331
2332         Performance improvements on all platforms.
2333
2334
2335 2010-07-05: Version 2.2.22
2336
2337         Added ES5 Object.isExtensible and Object.preventExtensions.
2338
2339         Enabled building V8 as a DLL.
2340
2341         Fixed a bug in date code where -0 was not interpreted as 0
2342         (issue 736).
2343
2344         Performance improvements on all platforms.
2345
2346
2347 2010-06-30: Version 2.2.21
2348
2349         Fixed bug in externalizing some ASCII strings (Chromium issue 47824).
2350
2351         Updated JSON.stringify to floor the space parameter (issue 753).
2352
2353         Updated the Mozilla test expectations to the newest version.
2354
2355         Updated the ES5 Conformance Test expectations to the latest version.
2356
2357         Updated the V8 benchmark suite.
2358
2359         Provide actual breakpoints locations in response to setBreakpoint
2360         and listBreakpoints requests.
2361
2362
2363 2010-06-28: Version 2.2.20
2364
2365         Fixed bug with for-in on x64 platform (issue 748).
2366
2367         Fixed crash bug on x64 platform (issue 756).
2368
2369         Fixed bug in Object.getOwnPropertyNames. (chromium issue 41243).
2370
2371         Fixed a bug on ARM that caused the result of 1 << x to be
2372         miscalculated for some inputs.
2373
2374         Performance improvements on all platforms.
2375
2376
2377 2010-06-23: Version 2.2.19
2378
2379         Fixed bug that causes the build to break when profillingsupport=off
2380         (issue 738).
2381
2382         Added expose-externalize-string flag for testing extensions.
2383
2384         Resolve linker issues with using V8 as a DLL causing a number of
2385         problems with unresolved symbols.
2386
2387         Fixed build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
2388         defined.
2389
2390         Performance improvements on all platforms.
2391
2392
2393 2010-06-16: Version 2.2.18
2394
2395         Added API functions to retrieve information on indexed properties
2396         managed by the embedding layer.  Fixes bug 737.
2397
2398         Made ES5 Object.defineProperty support array elements.  Fixes bug 619.
2399
2400         Added heap profiling to the API.
2401
2402         Removed old named property query from the API.
2403
2404         Incremental performance improvements.
2405
2406
2407 2010-06-14: Version 2.2.17
2408
2409         Improved debugger support for stepping out of functions.
2410
2411         Incremental performance improvements.
2412
2413
2414 2010-06-09: Version 2.2.16
2415
2416         Removed the SetExternalStringDiposeCallback API. Changed the
2417         disposal of external string resources to call a virtual Dispose
2418         method on the resource.
2419
2420         Added support for more precise break points when debugging and
2421         stepping.
2422
2423         Memory usage improvements on all platforms.
2424
2425
2426 2010-06-07: Version 2.2.15
2427
2428         Added an API to control the disposal of external string resources.
2429
2430         Added missing initialization of a couple of variables which makes
2431         some compilers complaint when compiling with -Werror.
2432
2433         Improved performance on all platforms.
2434
2435
2436 2010-06-02: Version 2.2.14
2437
2438         Fixed a crash in code generated for String.charCodeAt.
2439
2440         Fixed a compilation issue with some GCC versions (issue 727).
2441
2442         Performance optimizations on x64 and ARM platforms.
2443
2444
2445 2010-05-31: Version 2.2.13
2446
2447         Implemented Object.getOwnPropertyDescriptor for element indices and
2448         strings (issue 599).
2449
2450         Fixed bug for windows 64 bit C calls from generated code.
2451
2452         Added new scons flag unalignedaccesses for arm builds.
2453
2454         Performance improvements on all platforms.
2455
2456
2457 2010-05-26: Version 2.2.12
2458
2459         Allowed accessors to be defined on objects rather than just object
2460         templates.
2461
2462         Changed the ScriptData API.
2463
2464
2465 2010-05-21: Version 2.2.11
2466
2467         Fixed crash bug in liveedit on 64 bit.
2468
2469         Use 'full compiler' when debugging is active.  This should increase
2470         the density of possible break points, making single step more fine
2471         grained.  This will only take effect for functions compiled after
2472         debugging has been started, so recompilation of all functions is
2473         required to get the full effect.  IA32 and x64 only for now.
2474
2475         Misc. fixes to the Solaris build.
2476
2477         Added new flags --print-cumulative-gc-stat and --trace-gc-nvp.
2478
2479         Added filtering of CPU profiles by security context.
2480
2481         Fixed crash bug on ARM when running without VFP2 or VFP3.
2482
2483         Incremental performance improvements in all backends.
2484
2485
2486 2010-05-17: Version 2.2.10
2487
2488         Performance improvements in the x64 and ARM backends.
2489
2490
2491 2010-05-10: Version 2.2.9
2492
2493         Allowed Object.create to be called with a function (issue 697).
2494
2495         Fixed bug with Date.parse returning a non-NaN value when called on a
2496         non date string (issue 696).
2497
2498         Allowed unaligned memory accesses on ARM targets that support it (by
2499         Subrato K De of CodeAurora <subratokde@codeaurora.org>).
2500
2501         C++ API for retrieving JavaScript stack trace information.
2502
2503
2504 2010-05-05: Version 2.2.8
2505
2506         Performance improvements in the x64 and ARM backends.
2507
2508
2509 2010-05-03: Version 2.2.7
2510
2511         Added support for ES5 date time string format to Date.parse.
2512
2513         Performance improvements in the x64 backend.
2514
2515
2516 2010-04-28: Version 2.2.6
2517
2518         Added "amd64" as recognized architecture in scons build script
2519         (by Ryan Dahl <coldredlemur@gmail.com>).
2520
2521         Fixed bug in String search and replace with very simple RegExps.
2522
2523         Fixed bug in RegExp containing "\b^".
2524
2525         Performance improvements on all platforms.
2526
2527
2528 2010-04-26: Version 2.2.5
2529
2530         Various performance improvements (especially for ARM and x64)
2531
2532         Fixed bug in CPU profiling (http://crbug.com/42137)
2533
2534         Fixed a bug with the natives cache.
2535
2536         Fixed two bugs in the ARM code generator that can cause
2537         wrong calculations.
2538
2539         Fixed a bug that may cause a wrong result for shift operations.
2540
2541
2542 2010-04-21: Version 2.2.4
2543
2544         Fixed warnings on arm on newer GCC versions.
2545
2546         Fixed a number of minor bugs.
2547
2548         Performance improvements on all platforms.
2549
2550
2551 2010-04-14: Version 2.2.3
2552
2553         Added stack command and mem command to ARM simulator debugger.
2554
2555         Fixed scons snapshot and ARM build, and Windows X64 build issues.
2556
2557         Performance improvements on all platforms.
2558
2559
2560 2010-04-12: Version 2.2.2
2561
2562         Introduced new profiler API.
2563
2564         Fixed random number generator to produce full 32 random bits.
2565
2566
2567 2010-04-06: Version 2.2.1
2568
2569         Debugger improvements.
2570
2571         Fixed minor bugs.
2572
2573
2574 2010-03-29: Version 2.2.0
2575
2576         Fixed a few minor bugs.
2577
2578         Performance improvements for string operations.
2579
2580
2581 2010-03-26: Version 2.1.10
2582
2583         Fixed scons build issues.
2584
2585         Fixed a couple of minor bugs.
2586
2587
2588 2010-03-25: Version 2.1.9
2589
2590         Added API support for reattaching a global object to a context.
2591
2592         Extended debugger API with access to the internal debugger context.
2593
2594         Fixed Chromium crashes (issues http://crbug.com/39128 and
2595         http://crbug.com/39160)
2596
2597
2598 2010-03-24: Version 2.1.8
2599
2600         Added fine-grained garbage collection callbacks to the API.
2601
2602         Performance improvements on all platforms.
2603
2604
2605 2010-03-22: Version 2.1.7
2606
2607         Fixed issue 650.
2608
2609         Fixed a bug where __proto__ was sometimes enumerated (issue 646).
2610
2611         Performance improvements for arithmetic operations.
2612
2613         Performance improvements for string operations.
2614
2615         Print script name and line number information in stack trace.
2616
2617
2618 2010-03-17: Version 2.1.6
2619
2620         Performance improvements for arithmetic operations.
2621
2622         Performance improvements for string operations.
2623
2624
2625 2010-03-10: Version 2.1.4
2626
2627         Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).
2628
2629         Performance improvements on all platforms.
2630
2631
2632 2010-03-10: Version 2.1.3
2633
2634         Added API method for context-disposal notifications.
2635
2636         Added API method for accessing elements by integer index.
2637
2638         Added missing implementation of Uint32::Value and Value::IsUint32
2639         API methods.
2640
2641         Added IsExecutionTerminating API method.
2642
2643         Disabled strict aliasing for GCC 4.4.
2644
2645         Fixed string-concatenation bug (issue 636).
2646
2647         Performance improvements on all platforms.
2648
2649
2650 2010-02-23: Version 2.1.2
2651
2652         Fixed a crash bug caused by wrong assert.
2653
2654         Fixed a bug with register names on 64-bit V8 (issue 615).
2655
2656         Performance improvements on all platforms.
2657
2658
2659 2010-02-19: Version 2.1.1
2660
2661         [ES5] Implemented Object.defineProperty.
2662
2663         Improved profiler support.
2664
2665         Added SetPrototype method in the public V8 API.
2666
2667         Added GetScriptOrigin and GetScriptLineNumber methods to Function
2668         objects in the API.
2669
2670         Performance improvements on all platforms.
2671
2672
2673 2010-02-03: Version 2.1.0
2674
2675         Values are now always wrapped in objects when used as a receiver.
2676         (issue 223).
2677
2678         [ES5] Implemented Object.getOwnPropertyNames.
2679
2680         [ES5] Restrict JSON.parse to only accept strings that conforms to the
2681         JSON grammar.
2682
2683         Improvement of debugger agent (issue 549 and 554).
2684
2685         Fixed problem with skipped stack frame in profiles (issue 553).
2686
2687         Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
2688         <ry@tinyclouds.org>.
2689
2690         Fixed a bug that Math.round() returns incorrect results for huge
2691         integers.
2692
2693         Fixed enumeration order for objects created from some constructor
2694         functions (isue http://crbug.com/3867).
2695
2696         Fixed arithmetic on some integer constants (issue 580).
2697
2698         Numerous performance improvements including porting of previous IA-32
2699         optimizations to x64 and ARM architectures.
2700
2701
2702 2010-01-14: Version 2.0.6
2703
2704         Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,
2705         GetOwnProperty, FromPropertyDescriptor.
2706
2707         Fixed Mac x64 build errors.
2708
2709         Improved performance of some math and string operations.
2710
2711         Improved performance of some regexp operations.
2712
2713         Improved performance of context creation.
2714
2715         Improved performance of hash tables.
2716
2717
2718 2009-12-18: Version 2.0.5
2719
2720         Extended to upper limit of map space to allow for 7 times as many map
2721         to be allocated (issue 524).
2722
2723         Improved performance of code using closures.
2724
2725         Improved performance of some binary operations involving doubles.
2726
2727
2728 2009-12-16: Version 2.0.4
2729
2730         Added ECMAScript 5 Object.create.
2731
2732         Improved performance of Math.max and Math.min.
2733
2734         Optimized adding of strings on 64-bit platforms.
2735
2736         Improved handling of external strings by using a separate table
2737         instead of weak handles.  This improves garbage collection
2738         performance and uses less memory.
2739
2740         Changed code generation for object and array literals in toplevel
2741         code to be more compact by doing more work in the runtime.
2742
2743         Fixed a crash bug triggered when garbage collection happened during
2744         generation of a callback load inline cache stub.
2745
2746         Fixed crash bug sometimes triggered when local variables shadowed
2747         parameters in functions that used the arguments object.
2748
2749
2750 2009-12-03: Version 2.0.3
2751
2752         Optimized handling and adding of strings, for-in and Array.join.
2753
2754         Heap serialization is now non-destructive.
2755
2756         Improved profiler support with information on time spend in C++
2757         callbacks registered through the API.
2758
2759         Added commands to the debugger protocol for starting/stopping
2760         profiling.
2761
2762         Enabled the non-optimizing compiler for top-level code.
2763
2764         Changed the API to only allow strings to be set as data objects on
2765         Contexts and scripts to avoid potentially keeping global objects
2766         around for too long (issue 528).
2767
2768         OpenBSD support patch by Peter Valchev <pvalchev@gmail.com>.
2769
2770         Fixed bugs.
2771
2772
2773 2009-11-24: Version 2.0.2
2774
2775         Improved profiler support.
2776
2777         Fixed bug that broke compilation of d8 with readline support.
2778
2779
2780 2009-11-20: Version 2.0.1
2781
2782         Fixed crash bug in String.prototype.replace.
2783
2784         Reverted a change which caused Chromium interactive ui test
2785         failures.
2786
2787
2788 2009-11-18: Version 2.0.0
2789
2790         Added support for VFP on ARM.
2791
2792         Added TryCatch::ReThrow method to the API.
2793
2794         Reduced the size of snapshots and improved the snapshot load time.
2795
2796         Improved heap profiler support.
2797
2798         64-bit version now supported on Windows.
2799
2800         Fixed a number of debugger issues.
2801
2802         Fixed bugs.
2803
2804
2805 2009-10-29: Version 1.3.18
2806
2807         Reverted a change which caused crashes in RegExp replace.
2808
2809         Reverted a change which caused Chromium ui_tests failure.
2810
2811
2812 2009-10-28: Version 1.3.17
2813
2814         Added API method to get simple heap statistics.
2815
2816         Improved heap profiler support.
2817
2818         Fixed the implementation of the resource constraint API so it
2819         works when using snapshots.
2820
2821         Fixed a number of issues in the Windows 64-bit version.
2822
2823         Optimized calls to API getters.
2824
2825         Added valgrind notification on code modification to the 64-bit version.
2826
2827         Fixed issue where we logged shared library addresses on Windows at
2828         startup and never used them.
2829
2830
2831 2009-10-16: Version 1.3.16
2832
2833         X64: Convert smis to holding 32 bits of payload.
2834
2835         Introduced v8::Integer::NewFromUnsigned method.
2836
2837         Added missing null check in Context::GetCurrent.
2838
2839         Added trim, trimLeft and trimRight methods to String
2840         Patch by Jan de Mooij <jandemooij@gmail.com>
2841
2842         Implement ES5 Array.isArray
2843         Patch by Jan de Mooij <jandemooij@gmail.com>
2844
2845         Skip access checks for hidden properties.
2846
2847         Added String::Concat(Handle<String> left, Handle<String> right) to the
2848         V8 API.
2849
2850         Fixed GYP-based builds of V8.
2851
2852
2853 2009-10-07: Version 1.3.15
2854
2855         Expanded the maximum size of the code space to 512MB for 64-bit mode.
2856
2857         Fixed a crash bug happening when starting profiling (issue
2858         http://crbug.com/23768).
2859
2860
2861 2009-10-07: Version 1.3.14
2862
2863         Added GetRealNamedProperty to the API to lookup real properties
2864         located on the object or in the prototype chain skipping any
2865         interceptors.
2866
2867         Fixed the stack limits setting API to work correctly with threads. The
2868         stack limit now needs to be set to each thread thich is used with V8.
2869
2870         Removed the high-priority flag from IdleNotification()
2871
2872         Ensure V8 is initialized before locking and unlocking threads.
2873
2874         Implemented a new JavaScript minifier for compressing the source of
2875         the built-in JavaScript. This removes non-Open Source code from Douglas
2876         Crockford from the project.
2877
2878         Added a missing optimization in StringCharAt.
2879
2880         Fixed some flaky socket tests.
2881
2882         Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
2883         in 64-bit mode.
2884
2885         Fixed memory leaks in the thread management code.
2886
2887         Fixed the result of assignment to a pixel array. The assigned value
2888         is now the result.
2889
2890         Error reporting for invalid left-hand sides in for-in statements, pre-
2891         and postfix count expressions, and assignments now matches the JSC
2892         behavior in Safari 4.
2893
2894         Follow the spec in disallowing function declarations without a name.
2895
2896         Always allocate code objects within a 2 GB range. On x64 architecture
2897         this is used to use near calls (32-bit displacement) in Code objects.
2898
2899         Optimized array construction ported to x64 and ARM architectures.
2900
2901         [ES5] Changed Object.keys to return strings for element indices.
2902
2903
2904 2009-09-23: Version 1.3.13
2905
2906         Fixed uninitialized memory problem.
2907
2908         Improved heap profiler support.
2909
2910
2911 2009-09-22: Version 1.3.12
2912
2913         Changed behavior of |function|.toString() on built-in functions to
2914         be compatible with other implementations.  Patch by Jan de Mooij.
2915
2916         Added Object::IsDirty in the API.
2917
2918         Optimized array construction; it is now handled purely in native
2919         code.
2920
2921         [ES5] Made properties of the arguments array enumerable.
2922
2923         [ES5] Added test suite adapter for the es5conform test suite.
2924
2925         [ES5] Added Object.keys function.
2926
2927
2928 2009-09-15: Version 1.3.11
2929
2930         Fixed crash in error reporting during bootstrapping.
2931
2932         Optimized generated IA32 math code by using SSE2 instructions when
2933         available.
2934
2935         Implemented missing pieces of debugger infrastructure on ARM.  The
2936         debugger is now fully functional on ARM.
2937
2938         Made 'hidden' the default visibility for gcc.
2939
2940
2941 2009-09-09: Version 1.3.10
2942
2943         Fixed profiler on Mac in 64-bit mode.
2944
2945         Optimized creation of objects from simple constructor functions on
2946         ARM.
2947
2948         Fixed a number of debugger issues.
2949
2950         Reduced the amount of memory consumed by V8.
2951
2952
2953 2009-09-02: Version 1.3.9
2954
2955         Optimized stack guard checks on ARM.
2956
2957         Optimized API operations by inlining more in the API.
2958
2959         Optimized creation of objects from simple constructor functions.
2960
2961         Enabled a number of missing optimizations in the 64-bit port.
2962
2963         Implemented native-code support for regular expressions on ARM.
2964
2965         Stopped using the 'sahf' instruction on 64-bit machines that do
2966         not support it.
2967
2968         Fixed a bug in the support for forceful termination of JavaScript
2969         execution.
2970
2971
2972 2009-08-26: Version 1.3.8
2973
2974         Changed the handling of idle notifications to allow idle
2975         notifications when V8 has not yet been initialized.
2976
2977         Fixed ARM simulator compilation problem on Windows.
2978
2979
2980 2009-08-25: Version 1.3.7
2981
2982         Reduced the size of generated code on ARM platforms by reducing
2983         the size of constant pools.
2984
2985         Changed build files to not include the 'ENV' user environment
2986         variable in the build environment.
2987
2988         Changed the handling of idle notifications.
2989
2990
2991 2009-08-21: Version 1.3.6
2992
2993         Added support for forceful termination of JavaScript execution.
2994
2995         Added low memory notification to the API. The embedding host can signal
2996         a low memory situation to V8.
2997
2998         Changed the handling of global handles (persistent handles in the API
2999         sense) to avoid issues regarding allocation of new global handles
3000         during weak handle callbacks.
3001
3002         Changed the growth policy of the young space.
3003
3004         Fixed a GC issue introduced in version 1.3.5.
3005
3006
3007 2009-08-19: Version 1.3.5
3008
3009         Optimized initialization of some arrays in the builtins.
3010
3011         Fixed mac-nm script to support filenames with spaces.
3012
3013         Support for using the V8 profiler when V8 is embedded in a Windows DLL.
3014
3015         Changed typeof RegExp from 'object' to 'function' for compatibility.
3016         Fixed bug where regexps were not callable across contexts.
3017
3018         Added context independent script compilation to the API.
3019
3020         Added API call to get the stack trace for an exception.
3021
3022         Added API for getting object mirrors.
3023
3024         Made sure that SSE3 instructions are used whenever possible even when
3025         running off a snapshot generated without using SSE3 instructions.
3026
3027         Tweaked the handling of the initial size and growth policy of the heap.
3028
3029         Added native code generation for RegExp to 64-bit version.
3030
3031         Added JavaScript debugger support to 64-bit version.
3032
3033
3034 2009-08-13: Version 1.3.4
3035
3036         Added a readline() command to the d8 shell.
3037
3038         Fixed bug in json parsing.
3039
3040         Added idle notification to the API and reduced memory on idle
3041         notifications.
3042
3043
3044 2009-08-12: Version 1.3.3
3045
3046         Fixed issue 417: incorrect %t placeholder expansion.
3047
3048         Added .gitignore file similar to Chromium's one.
3049
3050         Fixed SConstruct file to build with new logging code for Android.
3051
3052         API: added function to find instance of template in prototype
3053         chain.  Inlined Object::IsInstanceOf.
3054
3055         Land change to notify valgrind when we modify code on x86.
3056
3057         Added api call to determine whether a string can be externalized.
3058
3059         Added a write() command to d8.
3060
3061
3062 2009-08-05: Version 1.3.2
3063
3064         Started new compiler infrastructure for two-pass compilation using a
3065         control flow graph constructed from the AST.
3066
3067         Profiler stack sampling for X64.
3068
3069         Safe handling of NaN to Posix platform-dependent time functions.
3070
3071         Added a new profiler control API to unify controlling various aspects
3072         of profiling.
3073
3074         Fixed issue 392.
3075
3076
3077 2009-07-30: Version 1.3.1
3078
3079         Speed improvements to accessors and interceptors.
3080
3081         Added support for capturing stack information on custom errors.
3082
3083         Added support for morphing an object into a pixel array where its
3084         indexed properties are stored in an external byte array. Values written
3085         are always clamped to the 0..255 interval.
3086
3087         Profiler on x64 now handles C/C++ functions from shared libraries.
3088
3089         Changed the debugger to avoid stepping into function.call/apply if the
3090         function is a built-in.
3091
3092         Initial implementation of constructor heap profile for JS objects.
3093
3094         More fine grained control of profiling aspects through the API.
3095
3096         Optimized the called as constructor check for API calls.
3097
3098
3099 2009-07-27: Version 1.3.0
3100
3101         Allowed RegExp objects to be called as functions (issue 132).
3102
3103         Fixed issue where global property cells would escape after
3104         detaching the global object; see http://crbug.com/16276.
3105
3106         Added support for stepping into setters and getters in the
3107         debugger.
3108
3109         Changed the debugger to avoid stopping in its own JavaScript code
3110         and in the code of built-in functions.
3111
3112         Fixed issue 345 by avoiding duplicate escaping labels.
3113
3114         Fixed ARM code generator crash in short-circuited boolean
3115         expressions and added regression tests.
3116
3117         Added an external allocation limit to avoid issues where small V8
3118         objects would hold on to large amounts of external memory without
3119         causing garbage collections.
3120
3121         Finished more of the inline caching stubs for x64 targets.
3122
3123
3124 2009-07-13: Version 1.2.14
3125
3126         Added separate paged heap space for global property cells and
3127         avoid updating the write barrier when storing into them.
3128
3129         Improved peep-hole optimization on ARM platforms by not emitting
3130         unnecessary debug information.
3131
3132         Re-enabled ICs for loads and calls that skip a global object
3133         during lookup through the prototype chain.
3134
3135         Allowed access through global proxies to use ICs.
3136
3137         Fixed issue 401.
3138
3139
3140 2009-07-09: Version 1.2.13
3141
3142         Fixed issue 397, issue 398, and issue 399.
3143
3144         Added support for breakpoint groups.
3145
3146         Fixed bugs introduced with the new global object representation.
3147
3148         Fixed a few bugs in the ARM code generator.
3149
3150
3151 2009-07-06: Version 1.2.12
3152
3153         Added stack traces collection to Error objects accessible through
3154         the e.stack property.
3155
3156         Changed RegExp parser to use a recursive data structure instead of
3157         stack-based recursion.
3158
3159         Optimized Date object construction and string concatenation.
3160
3161         Improved performance of div, mod, and mul on ARM platforms.
3162
3163
3164 2009-07-02: Version 1.2.11
3165
3166         Improved performance on IA-32 and ARM.
3167
3168         Fixed profiler sampler implementation on Mac OS X.
3169
3170         Changed the representation of global objects to improve
3171         performance of adding a lot of new properties.
3172
3173
3174 2009-06-29: Version 1.2.10
3175
3176         Improved debugger support.
3177
3178         Fixed bug in exception message reporting (issue 390).
3179
3180         Improved overall performance.
3181
3182
3183 2009-06-23: Version 1.2.9
3184
3185         Improved math performance on ARM.
3186
3187         Fixed profiler name-inference bug.
3188
3189         Fixed handling of shared libraries in the profiler tick processor
3190         scripts.
3191
3192         Fixed handling of tests that time out in the test scripts.
3193
3194         Fixed compilation on MacOS X version 10.4.
3195
3196         Fixed two bugs in the regular expression engine.
3197
3198         Fixed a bug in the string type inference.
3199
3200         Fixed a bug in the handling of 'constant function' properties.
3201
3202         Improved overall performance.
3203
3204
3205 2009-06-16: Version 1.2.8
3206
3207         Optimized math on ARM platforms.
3208
3209         Fixed two crash bugs in the handling of getters and setters.
3210
3211         Improved the debugger support by adding scope chain information.
3212
3213         Improved the profiler support by compressing log data transmitted
3214         to clients.
3215
3216         Improved overall performance.
3217
3218
3219 2009-06-08: Version 1.2.7
3220
3221         Improved debugger and profiler support.
3222
3223         Reduced compilation time by improving the handling of deferred
3224         code.
3225
3226         Optimized interceptor accesses where the property is on the object
3227         on which the interceptors is attached.
3228
3229         Fixed compilation problem on GCC 4.4 by changing the stack
3230         alignment to 16 bytes.
3231
3232         Fixed handle creation to follow stric aliasing rules.
3233
3234         Fixed compilation on FreeBSD.
3235
3236         Introduced API for forcing the deletion of a property ignoring
3237         interceptors and attributes.
3238
3239
3240 2009-05-29: Version 1.2.6
3241
3242         Added a histogram recording hit rates at different levels of the
3243         compilation cache.
3244
3245         Added stack overflow check for the RegExp analysis phase. Previously a
3246         very long regexp graph could overflow the stack with recursive calls.
3247
3248         Use a dynamic buffer when collecting log events in memory.
3249
3250         Added start/stop events to the profiler log.
3251
3252         Fixed infinite loop which could happen when setting a debug break while
3253         executing a RegExp compiled to native code.
3254
3255         Fixed handling of lastIndexOf called with negative index (issue 351).
3256
3257         Fixed irregular crash in profiler test (issue 358).
3258
3259         Fixed compilation issues with some versions of gcc.
3260
3261
3262 2009-05-26: Version 1.2.5
3263
3264         Fixed bug in initial boundary check for Boyer-Moore text
3265         search (issue 349).
3266
3267         Fixed compilation issues with MinGW and gcc 4.3+ and added support
3268         for armv7 and cortex-a8 architectures.  Patches by Lei Zhang and
3269         Craig Schlenter.
3270
3271         Added a script cache to the debugger.
3272
3273         Optimized compilation performance by improving internal data
3274         structures and avoiding expensive property load optimizations for
3275         code that's infrequently executed.
3276
3277         Exposed the calling JavaScript context through the static API
3278         function Context::GetCalling().
3279
3280
3281 2009-05-18: Version 1.2.4
3282
3283         Improved performance of floating point number allocation for ARM
3284         platforms.
3285
3286         Fixed crash when using the instanceof operator on functions with
3287         number values in their prototype chain (issue 341).
3288
3289         Optimized virtual frame operations in the code generator to speed
3290         up compilation time and allocated the frames in the zone.
3291
3292         Made the representation of virtual frames and jump targets in the
3293         code generator much more compact.
3294
3295         Avoided linear search for non-locals in scope code when resolving
3296         variables inside with and eval scopes.
3297
3298         Optimized lexical scanner by dealing with whitespace as part of
3299         the token scanning instead of as a separate step before it.
3300
3301         Changed the scavenging collector so that promoted objects do not
3302         reside in the old generation while their remembered set is being
3303         swept for pointers into the young generation.
3304
3305         Fixed numeric overflow handling when compiling count operations.
3306
3307
3308 2009-05-11: Version 1.2.3
3309
3310         Fixed bug in reporting of out-of-memory situations.
3311
3312         Introduced hidden prototypes on certain builtin prototype objects
3313         such as String.prototype to emulate JSC's behavior of restoring
3314         the original function when deleting functions from those prototype
3315         objects.
3316
3317         Fixed crash bug in the register allocator.
3318
3319
3320 2009-05-04: Version 1.2.2
3321
3322         Fixed bug in array sorting for sparse arrays (issue 326).
3323
3324         Added support for adding a soname when building a shared library
3325         on Linux (issue 151).
3326
3327         Fixed bug caused by morphing internal ASCII strings to external
3328         two-byte strings.  Slices over ASCII strings have to forward ASCII
3329         checks to the underlying buffer string.
3330
3331         Allowed API call-as-function handlers to be called as
3332         constructors.
3333
3334         Fixed a crash bug where an external string was disposed but a
3335         slice of the external string survived as a symbol.
3336
3337
3338 2009-04-27: Version 1.2.1
3339
3340         Added EcmaScript 5 JSON object.
3341
3342         Fixed bug in preemption support on ARM.
3343
3344
3345 2009-04-23: Version 1.2.0
3346
3347         Optimized floating-point operations on ARM.
3348
3349         Added a number of extensions to the debugger API.
3350
3351         Changed the enumeration order for unsigned integer keys to always
3352         be numerical order.
3353
3354         Added a "read" extension to the shell sample.
3355
3356         Added support for Array.prototype.reduce and
3357         Array.prototype.reduceRight.
3358
3359         Added an option to the SCons build to control Microsoft Visual C++
3360         link-time code generation.
3361
3362         Fixed a number of bugs (in particular issue 315, issue 316,
3363         issue 317 and issue 318).
3364
3365
3366 2009-04-15: Version 1.1.10
3367
3368         Fixed crash bug that occurred when loading a const variable in the
3369         presence of eval.
3370
3371         Allowed using with and eval in registered extensions in debug mode
3372         by fixing bogus assert.
3373
3374         Fixed the source position for function returns to enable the
3375         debugger to break there.
3376
3377
3378 2009-04-14: Version 1.1.9
3379
3380         Made the stack traversal code in the profiler robust by avoiding
3381         to look into the heap.
3382
3383         Added name inferencing for anonymous functions to facilitate
3384         debugging and profiling.
3385
3386         Re-enabled stats timers in the developer shell (d8).
3387
3388         Fixed issue 303 by avoiding to shortcut cons-symbols.
3389
3390
3391 2009-04-11: Version 1.1.8
3392
3393         Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).
3394
3395         Fixed step-in handling for Function.prototype.apply and call in
3396         the debugger (issue 269).
3397
3398         Fixed v8::Object::DeleteHiddenValue to not bail out when there
3399         are no hidden properties.
3400
3401         Added workaround for crash bug, where external symbol table
3402         entries with deleted resources would lead to NPEs when looking
3403         up in the symbol table.
3404
3405
3406 2009-04-07: Version 1.1.7
3407
3408         Added support for easily importing additional environment
3409         variables into the SCons build.
3410
3411         Optimized strict equality checks.
3412
3413         Fixed crash in indexed setters on objects without a corresponding
3414         getter (issue 298).
3415
3416         Re-enabled script compilation cache.
3417
3418
3419 2009-04-01: Version 1.1.6
3420
3421         Reverted an unsafe code generator change.
3422
3423
3424 2009-04-01: Version 1.1.5
3425
3426         Fixed bug that caused function literals to not be optimized as
3427         much as other functions.
3428
3429         Improved profiler support.
3430
3431         Fixed a crash bug in connection with debugger unloading.
3432
3433         Fixed a crash bug in the code generator caused by losing the
3434         information that a frame element was copied.
3435
3436         Fixed an exception propagation bug that could cause non-null
3437         return values when exceptions were thrown.
3438
3439
3440 2009-03-30: Version 1.1.4
3441
3442         Optimized String.prototype.match.
3443
3444         Improved the stack information in profiles.
3445
3446         Fixed bug in ARM port making it possible to compile the runtime
3447         system for thumb mode again.
3448
3449         Implemented a number of optimizations in the code generator.
3450
3451         Fixed a number of memory leaks in tests.
3452
3453         Fixed crash bug in connection with script source code and external
3454         strings.
3455
3456
3457 2009-03-24: Version 1.1.3
3458
3459         Fixed assertion failures in compilation of loop conditions.
3460
3461         Removed STL dependency from developer shell (d8).
3462
3463         Added infrastructure for protecting the V8 heap from corruption
3464         caused by memory modifications from the outside.
3465
3466
3467 2009-03-24: Version 1.1.2
3468
3469         Improved frame merge code generated by the code generator.
3470
3471         Optimized String.prototype.replace.
3472
3473         Implemented __defineGetter__ and __defineSetter__ for properties
3474         with integer keys on non-array objects.
3475
3476         Improved debugger and profiler support.
3477
3478         Fixed a number of portability issues to allow compilation for
3479         smaller ARM devices.
3480
3481         Exposed object cloning through the API.
3482
3483         Implemented hidden properties.  This is used to expose an identity
3484         hash for objects through the API.
3485
3486         Implemented restarting of regular expressions if their input
3487         string changes representation during preemption.
3488
3489         Fixed a code generator bug that could cause assignments in loops
3490         to be ignored if using continue to break out of the loop (issue
3491         284).
3492
3493
3494 2009-03-12: Version 1.1.1
3495
3496         Fixed an assertion in the new compiler to take stack overflow
3497         exceptions into account.
3498
3499         Removed exception propagation code that could cause crashes.
3500
3501         Fixed minor bug in debugger line number computations.
3502
3503         8-byte align the C stack on Linux and Windows to speed up floating
3504         point computations.
3505
3506
3507 2009-03-12: Version 1.1.0
3508
3509         Improved code generation infrastructure by doing simple register
3510         allocation and constant folding and propagation.
3511
3512         Optimized regular expression matching by avoiding to create
3513         intermediate string arrays and by flattening nested array
3514         representations of RegExp data.
3515
3516         Traverse a few stack frames when recording profiler samples to
3517         include partial call graphs in the profiling output.
3518
3519         Added support for using OProfile to profile generated code.
3520
3521         Added remote debugging support to the D8 developer shell.
3522
3523         Optimized creation of nested literals like JSON objects.
3524
3525         Fixed a bug in garbage collecting unused maps and turned it on by
3526         default (--collect-maps).
3527
3528         Added support for running tests under Valgrind.
3529
3530
3531 2009-02-27: Version 1.0.3
3532
3533         Optimized double-to-integer conversions in bit operations by using
3534         SSE3 instructions if available.
3535
3536         Optimized initialization sequences that store to multiple
3537         properties of the same object.
3538
3539         Changed the D8 debugger frontend to use JSON messages.
3540
3541         Force garbage collections when disposing contexts.
3542
3543         Align code objects at 32-byte boundaries.
3544
3545
3546 2009-02-25: Version 1.0.2
3547
3548         Improved profiling support by performing simple call stack
3549         sampling for ticks and by fixing a bug in the logging of code
3550         addresses.
3551
3552         Fixed a number of debugger issues.
3553
3554         Optimized code that uses eval.
3555
3556         Fixed a couple of bugs in the regular expression engine.
3557
3558         Reduced the size of generated code for certain regular expressions.
3559
3560         Removed JSCRE completely.
3561
3562         Fixed issue where test could not be run if there was a dot in the
3563         checkout path.
3564
3565
3566 2009-02-13: Version 1.0.1
3567
3568         Fixed two crash-bugs in irregexp (issue 231 and 233).
3569
3570         Fixed a number of minor bugs (issue 87, 227 and 228).
3571
3572         Added support for morphing strings to external strings on demand
3573         to avoid having to create copies in the embedding code.
3574
3575         Removed experimental support for external symbol callbacks.
3576
3577
3578 2009-02-09: Version 1.0.0
3579
3580         Fixed crash-bug in the code generation for case independent 16 bit
3581         backreferences.
3582
3583         Made shells more robust in the presence of string conversion
3584         failures (issue 224).
3585
3586         Fixed a potential infinite loop when attempting to resolve
3587         eval (issue 221).
3588
3589         Miscellaneous fixes to the new regular expression engine.
3590
3591         Reduced binary by stripping unneeded text from JavaScript library and
3592         minifying some JavaScript files.
3593
3594
3595 2009-01-27: Version 0.4.9
3596
3597         Enabled new regular expression engine.
3598
3599         Made a number of changes to the debugger protocol.
3600
3601         Fixed a number of bugs in the preemption support.
3602
3603         Added -p option to the developer shell to run files in parallel
3604         using preemption.
3605
3606         Fixed a number of minor bugs (including issues 176, 187, 189, 192,
3607         193, 198 and 201).
3608
3609         Fixed a number of bugs in the serialization/deserialization
3610         support for the ARM platform.
3611
3612
3613 2009-01-19: Version 0.4.8.1
3614
3615         Minor patch to debugger support.
3616
3617
3618 2009-01-16: Version 0.4.8
3619
3620         Fixed string length bug on ARM (issue 171).
3621
3622         Made most methods in the API const.
3623
3624         Optimized object literals by improving data locality.
3625
3626         Fixed bug that caused incomplete functions to be cached in case of
3627         stack overflow exceptions.
3628
3629         Fixed bugs that caused catch variables and variables introduced by
3630         eval to behave incorrectly when using accessors (issues 186, 190
3631         and 191).
3632
3633
3634 2009-01-06: Version 0.4.7
3635
3636         Minor bugfixes and optimizations.
3637
3638         Added command line debugger to D8 shell.
3639
3640         Fixed subtle bug that caused the wrong 'this' to be used when
3641         calling a caught function in a catch clause.
3642
3643         Inline array loads within loops directly in the code instead of
3644         always calling a stub.
3645
3646
3647 2008-12-11: Version 0.4.6
3648
3649         Fixed exception reporting bug where certain exceptions were
3650         incorrectly reported as uncaught.
3651
3652         Improved the memory allocation strategy used during compilation to
3653         make running out of memory when compiling huge scripts less
3654         likely.
3655
3656         Optimized String.replace by avoiding the construction of certain
3657         sub strings.
3658
3659         Fixed bug in code generation for large switch statements on ARM.
3660
3661         Fixed bug that caused V8 to change the global object template
3662         passed in by the user.
3663
3664         Changed the API for creating object groups used during garbage
3665         collection.  Entire object groups are now passed to V8 instead of
3666         individual members of the groups.
3667
3668
3669 2008-12-03: Version 0.4.5
3670
3671         Added experimental API support for allocating V8 symbols as
3672         external strings.
3673
3674         Fixed bugs in debugging support on ARM.
3675
3676         Changed eval implementation to correctly detect whether or not a
3677         call to eval is aliased.
3678
3679         Fixed bug caused by a combination of the compilation cache and
3680         dictionary probing in native code.  The bug caused us to sometimes
3681         call functions that had not yet been compiled.
3682
3683         Added platform support for FreeBSD.
3684
3685         Added support for building V8 on Windows with either the shared or
3686         static version of MSVCRT
3687
3688         Added the v8::jscre namespace around the jscre functions to avoid
3689         link errors (duplicate symbols) when building Google Chrome.
3690
3691         Added support for calling a JavaScript function with the current
3692         debugger execution context as its argument to the debugger
3693         interface.
3694
3695         Changed the type of names of counters from wchar_t to char.
3696
3697         Changed the Windows system call used to compute daylight savings
3698         time.  The system call that we used to use became four times
3699         slower on WinXP SP3.
3700
3701         Added support in the d8 developer shell for memory-mapped counters
3702         and added a stats-viewer tool.
3703
3704         Fixed bug in upper/lower case mappings (issue 149).
3705
3706
3707 2008-11-17: Version 0.4.4
3708
3709         Reduced code size by using shorter instruction encoding when
3710         possible.
3711
3712         Added a --help option to the shell sample and to the d8 shell.
3713
3714         Added visual studio project files for building the ARM simulator.
3715
3716         Fixed a number of ARM simulator issues.
3717
3718         Fixed bug in out-of-memory handling on ARM.
3719
3720         Implemented shell support for passing arguments to a script from
3721         the command line.
3722
3723         Fixed bug in date code that made certain date functions return -0
3724         instead of 0 for dates before the epoch.
3725
3726         Restricted applications of eval so it can only be used in the
3727         context of the associated global object.
3728
3729         Treat byte-order marks as whitespace characters.
3730
3731
3732 2008-11-04: Version 0.4.3
3733
3734         Added support for API accessors that prohibit overwriting by
3735         accessors defined in JavaScript code by using __defineGetter__ and
3736         __defineSetter__.
3737
3738         Improved handling of conditionals in test status files.
3739
3740         Introduced access control in propertyIsEnumerable.
3741
3742         Improved performance of some string operations by caching
3743         information about the type of the string between operations.
3744
3745         Fixed bug in fast-case code for switch statements that only have
3746         integer labels.
3747
3748
3749 2008-10-30: Version 0.4.2
3750
3751         Improved performance of Array.prototype.concat by moving the
3752         implementation to C++ (issue 123).
3753
3754         Fixed heap growth policy to avoid growing old space to its maximum
3755         capacity before doing a garbage collection and fixed issue that
3756         would lead to artificial out of memory situations (issue 129).
3757
3758         Fixed Date.prototype.toLocaleDateString to return the date in the
3759         same format as WebKit.
3760
3761         Added missing initialization checks to debugger API.
3762
3763         Added removing of unused maps during GC.
3764
3765
3766 2008-10-28: Version 0.4.1
3767
3768         Added caching of RegExp data in compilation cache.
3769
3770         Added Visual Studio project file for d8 shell.
3771
3772         Fixed function call performance regression introduced in version
3773         0.4.0 when splitting the global object in two parts (issue 120).
3774
3775         Fixed issue 131 by checking for empty handles before throwing and
3776         reporting exceptions.
3777
3778
3779 2008-10-23: Version 0.4.0
3780
3781         Split the global object into two parts: The state holding global
3782         object and the global object proxy.
3783
3784         Fixed bug that affected the value of an assignment to an element
3785         in certain cases (issue 116).
3786
3787         Added GetPropertyNames functionality (issue 33) and extra Date
3788         functions (issue 77) to the API.
3789
3790         Changed WeakReferenceCallback to take a Persistent<Value> instead
3791         of a Persistent<Object> (issue 101).
3792
3793         Fixed issues with message reporting for exceptions in try-finally
3794         blocks (issues 73 and 75).
3795
3796         Optimized flattening of strings and string equality checking.
3797
3798         Improved Boyer-Moore implementation for faster indexOf operations.
3799
3800         Added development shell (d8) which includes counters and
3801         completion support.
3802
3803         Fixed problem with the receiver passed to functions called from
3804         eval (issue 124).
3805
3806
3807 2008-10-16: Version 0.3.5
3808
3809         Improved string hash-code distribution by excluding bit-field bits
3810         from the hash-code.
3811
3812         Changed string search algorithm used in indexOf from KMP to
3813         Boyer-Moore.
3814
3815         Improved the generated code for the instanceof operator.
3816
3817         Improved performance of slow-case string equality checks by
3818         specializing the code based on the string representation.
3819
3820         Improve the handling of out-of-memory situations (issue 70).
3821
3822         Improved performance of strict equality checks.
3823
3824         Improved profiler output to make it easier to see anonymous
3825         functions.
3826
3827         Improved performance of slow-case keyed loads.
3828
3829         Improved property access performance by allocating a number of
3830         properties in the front object.
3831
3832         Changed the toString behavior on the built-in object constructors
3833         to print [native code] instead of the actual source.  Some web
3834         applications do not like constructors with complex toString
3835         results.
3836
3837
3838 2008-10-06: Version 0.3.4
3839
3840         Changed Array.prototype.sort to use quick sort.
3841
3842         Fixed code generation issue where leaving a finally block with
3843         break or continue would accumulate elements on the expression
3844         stack (issue 86).
3845
3846         Made sure that the name accessor on functions returns the expected
3847         names for builtin JavaScript functions and C++ callback functions.
3848
3849         Added fast case code for extending the property storage array of
3850         JavaScript objects.
3851
3852         Ported switch statement optimizations introduced in version 0.3.3
3853         to the ARM code generator.
3854
3855         Allowed GCC to use strict-aliasing rules when compiling.
3856
3857         Improved performance of arguments object allocation by taking care
3858         of arguments adaptor frames in the generated code.
3859
3860         Updated the V8 benchmark suite to version 2.
3861
3862
3863 2008-09-25: Version 0.3.3
3864
3865         Improved handling of relocation information to enable more
3866         peep-hole optimizations.
3867
3868         Optimized switch statements where all labels are constant small
3869         integers.
3870
3871         Optimized String.prototype.indexOf for common cases.
3872
3873         Fixed more build issues (issue 80).
3874
3875         Fixed a couple of profiler issues.
3876
3877         Fixed bug where the body of a function created using the Function
3878         constructor was not allowed to end with a single-line comment
3879         (issue 85).
3880
3881         Improved handling of object literals by canonicalizing object
3882         literal maps.  This will allow JSON objects with the same set of
3883         properties to share the same map making inline caching work better
3884         for JSON objects.
3885
3886
3887 2008-09-17: Version 0.3.2
3888
3889         Generalized the EvalCache into a CompilationCache and enabled it
3890         for scripts too.  The current strategy is to retire all entries
3891         whenever a mark-sweep collection is started.
3892
3893         Fixed bug where switch statements containing only a default case
3894         would lead to an unbalanced stack (issue 69).
3895
3896         Fixed bug that made access to the function in a named function
3897         expression impossible in certain situations (issue 24).
3898
3899         Fixed even more build issues.
3900
3901         Optimized calling conventions on ARM.  The conventions on ARM and
3902         IA-32 now match.
3903
3904         Removed static initializers for flags and counters.
3905
3906         Improved inline caching behavior for uncommon cases where lazily
3907         loading Date and RegExp code could force certain code paths go
3908         megamorphic.
3909
3910         Removed arguments adaption for builtins written in C++.  This
3911         makes Array.prototype.push and Array.prototype.pop slightly
3912         faster.
3913
3914
3915 2008-09-11: Version 0.3.1
3916
3917         Fixed a number of build issues.
3918
3919         Fixed problem with missing I-cache flusing on ARM.
3920
3921         Changed space layout in memory management by splitting up
3922         code space into old data space and code space.
3923
3924         Added utf-8 conversion support to the API (issue 57).
3925
3926         Optimized repeated calls to eval with the same strings.  These
3927         repeated calls are common in web applications.
3928
3929         Added Xcode project file.
3930
3931         Optimized a couple of Array operation.
3932
3933         Fixed parser bug by checking for end-of-string when parsing break
3934         and continue (issue 35).
3935
3936         Fixed problem where asian characters were not categorized as
3937         letters.
3938
3939         Fixed bug that disallowed calling functions fetched from an array
3940         using a string as an array index (issue 32).
3941
3942         Fixed bug where the internal field count on object templates were
3943         sometimes ignored (issue 54).
3944
3945         Added -f option to the shell sample for compatibility with other
3946         engines (issue 18).
3947
3948         Added source info to TryCatches in the API.
3949
3950         Fixed problem where the seed for the random number generator was
3951         clipped in a double to unsigned int conversion.
3952
3953         Fixed bug where cons string symbols were sometimes converted to
3954         non-symbol flat strings during GC.
3955
3956         Fixed bug in error reporting when attempting to convert null to an
3957         object.
3958
3959
3960 2008-09-04: Version 0.3.0
3961
3962         Added support for running tests on the ARM simulator.
3963
3964         Fixed bug in the 'in' operator where negative indices were not
3965         treated correctly.
3966
3967         Fixed build issues on gcc-4.3.1.
3968
3969         Changed Date.prototype.toLocaleTimeString to not print the
3970         timezone part of the time.
3971
3972         Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
3973         with user code.
3974
3975
3976 2008-09-02: Version 0.2.5
3977
3978         Renamed the top level directory 'public' to 'include'.
3979
3980         Added 'env' option to the SCons build scripts to support
3981         overriding the ENV part of the build environment.  This is mostly
3982         to support Windows builds in cases where SCons cannot find the
3983         correct paths to the Windows SDK, as these paths cannot be passed
3984         through shell environment variables.
3985
3986         Enabled "Buffer Security Check" on for the Windows SCons build and
3987         added the linker option /OPT:ICF as an optimization.
3988
3989         Added the V8 benchmark suite to the repository.
3990
3991
3992 2008-09-01: Version 0.2.4
3993
3994         Included mjsunit JavaScript test suite and C++ unit tests.
3995
3996         Changed the shell sample to not print the result of executing a
3997         script provided on the command line.
3998
3999         Fixed issue when building samples on Windows using a shared V8
4000         library.  Added visibility option on Linux build which makes the
4001         generated library 18% smaller.
4002
4003         Changed build system to accept multiple build modes in one build
4004         and generate separate objects, libraries and executables for each
4005         mode.
4006
4007         Removed deferred negation optimization (a * -b => -(a * b)) since
4008         this visibly changes operand conversion order.
4009
4010         Improved parsing performance by introducing stack guard in
4011         preparsing.  Without a stack guard preparsing always bails out
4012         with stack overflow.
4013
4014         Changed shell sample to take flags directly from the command-line.
4015         Added API call that implements this.
4016
4017         Added load, quit and version functions to the shell sample so it's
4018         easier to run benchmarks and tests.
4019
4020         Fixed issue with building samples and cctests on 64-bit machines.
4021
4022         Fixed bug in the runtime system where the prototype chain was not
4023         always searched for a setter when setting a property that does not
4024         exist locally.
4025
4026
4027 2008-08-14: Version 0.2.3
4028
4029         Improved performance of garbage collection by moving the
4030         function that updates pointers during compacting collection
4031         into the updating visitor.  This gives the compiler a better
4032         chance to inline and avoid a function call per (potential)
4033         pointer.
4034
4035         Extended the shell sample with a --runtime-flags option.
4036
4037         Added Visual Studio project files for the shell.cc and
4038         process.cc samples.
4039
4040
4041 2008-08-13: Version 0.2.2
4042
4043         Improved performance of garbage collection by changing the way
4044         we use the marking stack in the event of stack overflow during
4045         full garbage collection and by changing the way we mark roots.
4046
4047         Cleaned up ARM version by removing top of stack caching and by
4048         introducing push/pop elimination.
4049
4050         Cleaned up the way runtime functions are called to allow
4051         runtime calls with no arguments.
4052
4053         Changed Windows build options to make sure that exceptions are
4054         disabled and that optimization flags are enabled.
4055
4056         Added first version of Visual Studio project files.
4057
4058
4059 2008-08-06: Version 0.2.1
4060
4061         Improved performance of unary addition by avoiding runtime calls.
4062
4063         Fixed the handling of '>' and '<=' to use right-to-left conversion
4064         and left-to-right evaluation as specified by ECMA-262.
4065
4066         Fixed a branch elimination bug on the ARM platform where incorrect
4067         code was generated because of overly aggressive branch
4068         elimination.
4069
4070         Improved performance of code that repeatedly assigns the same
4071         function to the same property of different objects with the same
4072         map.
4073
4074         Untangled DEBUG and ENABLE_DISASSEMBLER defines.  The disassembler
4075         no longer expects DEBUG to be defined.
4076
4077         Added platform-nullos.cc to serve as the basis for new platform
4078         implementations.
4079
4080
4081 2008-07-30: Version 0.2.0
4082
4083         Changed all text files to have native svn:eol-style.
4084
4085         Added a few samples and support for building them. The samples
4086         include a simple shell that can be used to benchmark and test V8.
4087
4088         Changed V8::GetVersion to return the version as a string.
4089
4090         Added source for lazily loaded scripts to snapshots and made
4091         serialization non-destructive.
4092
4093         Improved ARM support by fixing the write barrier code to use
4094         aligned loads and stores and by removing premature locals
4095         optimization that relied on broken support for callee-saved
4096         registers (removed).
4097
4098         Refactored the code for marking live objects during garbage
4099         collection and the code for allocating objects in paged
4100         spaces. Introduced an abstraction for the map word of a heap-
4101         allocated object and changed the memory allocator to allocate
4102         executable memory only for spaces that may contain code objects.
4103
4104         Moved StringBuilder to utils.h and ScopedLock to platform.h, where
4105         they can be used by debugging and logging modules. Added
4106         thread-safe message queues for dealing with debugger events.
4107
4108         Fixed the source code reported by toString for certain builtin
4109         empty functions and made sure that the prototype property of a
4110         function is enumerable.
4111
4112         Improved performance of converting values to condition flags in
4113         generated code.
4114
4115         Merged disassembler-{arch} files.
4116
4117
4118 2008-07-28: Version 0.1.4
4119
4120         Added support for storing JavaScript stack traces in a stack
4121         allocated buffer to make it visible in shallow core dumps.
4122         Controlled by the --preallocate-message-memory flag which is
4123         disabled by default.
4124
4125
4126 2008-07-25: Version 0.1.3
4127
4128         Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
4129         map transitions would count as properties.
4130
4131         Allowed aliased eval invocations by treating them as evals in the
4132         global context. This may change in the future.
4133
4134         Added support for accessing the last entered context through the
4135         API and renamed Context::Current to Context::GetCurrent and
4136         Context::GetSecurityContext to Context::GetCurrentSecurityContext.
4137
4138         Fixed bug in the debugger that would cause the debugger scripts to
4139         be recursively loaded and changed all disabling of interrupts to
4140         be block-structured.
4141
4142         Made snapshot data read-only to allow it to be more easily shared
4143         across multiple users of V8 when linked as a shared library.
4144
4145
4146 2008-07-16: Version 0.1.2
4147
4148         Fixed building on Mac OS X by recognizing i386 and friends as
4149         IA-32 platforms.
4150
4151         Added propagation of stack overflow exceptions that occur while
4152         compiling nested functions.
4153
4154         Improved debugger with support for recursive break points and
4155         handling of exceptions that occur in the debugger JavaScript code.
4156
4157         Renamed GetInternal to GetInternalField and SetInternal to
4158         SetInternalField in the API and moved InternalFieldCount and
4159         SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
4160
4161
4162 2008-07-09: Version 0.1.1
4163
4164         Fixed bug in stack overflow check code for IA-32 targets where a
4165         non-tagged value in register eax was pushed to the stack.
4166
4167         Fixed potential quadratic behavior when converting strings to
4168         numbers.
4169
4170         Fixed bug where the return value from Object::SetProperty could
4171         end up being the property holder instead of the written value.
4172
4173         Improved debugger support by allowing nested break points and by
4174         dealing with stack-overflows when compiling functions before
4175         setting break points in them.
4176
4177
4178 2008-07-03: Version 0.1.0
4179
4180         Initial export.
4181
4182 # Local Variables:
4183 # mode:text
4184 # End: