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