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