1. 20 Jul, 2015 13 commits
  2. 19 Jul, 2015 1 commit
  3. 18 Jul, 2015 1 commit
  4. 17 Jul, 2015 21 commits
  5. 16 Jul, 2015 4 commits
    • littledan's avatar
      Array.prototype.reverse should call [[HasProperty]] on elements before [[Get]] · f76dfee9
      littledan authored
      This is a change from ES5 to ES6: When reversing an array, first it is checked
      whether the element exists, before the element is looked up. The order in ES6
      is
      
      [[HasElement]] lower
      [[Get]] lower (if present)
      [[HasElement]] upper
      [[Get]] upper (if present)
      
      In ES5, on the other hand, the order was
      
      [[Get]] lower
      [[Get]] upper
      [[HasElement]] lower
      [[HasElement]] upper
      
      To mitigate the performance impact, this patch implements a new, third copy
      of reversing arrays if %_HasPackedElements. This allows us to skip all
      membership tests, and a quick and dirty benchmark shows that the new version
      is faster:
      
      Over 4 runs, the slowest for the new version:
      d8> var start = Date.now(); for (var i = 0; i < 100000000; i++) [1, 2, 3, 4, 5].reverse(); Date.now() - start
      4658
      
      Over 3 runs, the fastest for the old version:
      d8> var start = Date.now(); for (var i = 0; i < 100000000; i++) [1, 2, 3, 4, 5].reverse(); Date.now() - start
      5176
      
      BUG=v8:4223
      R=adamk
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1238593003
      
      Cr-Commit-Position: refs/heads/master@{#29716}
      f76dfee9
    • littledan's avatar
      In RegExp, lastIndex is read with ToLength, not ToInteger · 1f61ac50
      littledan authored
      ES2015 made a change vs ES5, where the "lastIndex" property of a
      RegExp (which can be modified by a user to start the next search at
      a different location) is cast to an integer with ToLength rather
      than ToInteger. The main difference is on negative numbers, and
      this is tested by test262. This patch implements that change on
      RegExps and enables the test262 test now that it passes.
      
      R=adamk
      LOG=Y
      BUG=v8:4244
      
      Review URL: https://codereview.chromium.org/1241713004
      
      Cr-Commit-Position: refs/heads/master@{#29715}
      1f61ac50
    • adamk's avatar
      Stage --harmony-new-target · 5906ce33
      adamk authored
      BUG=v8:3887
      LOG=y
      
      Review URL: https://codereview.chromium.org/1238693004
      
      Cr-Commit-Position: refs/heads/master@{#29714}
      5906ce33
    • adamk's avatar
      Re-ship harmony spread calls and spread arrays · bd389ec0
      adamk authored
      The issue with spread arrays which caused us to turn it off was fixed in
      https://chromium.googlesource.com/v8/v8/+/24e98281
      
      BUG=v8:3018
      LOG=y
      
      Review URL: https://codereview.chromium.org/1239873002
      
      Cr-Commit-Position: refs/heads/master@{#29713}
      bd389ec0