1. 08 Mar, 2016 2 commits
  2. 07 Mar, 2016 1 commit
    • littledan's avatar
      Base the right RegExp brand checks on Symbol.match · e99d2929
      littledan authored
      The ES2015 specification requires that String.prototype.startsWith,
      String.prototype.endsWith and String.prototype.includes use the IsRegExp
      internal algorithm to determine whether to throw a TypeError to prevent
      a RegExp from being accidentally cast to a String for those methods.
      That internal algorithm checks the presence/truthiness of Symbol.match
      to make its determination. This patch switches the builtins to use
      this correct test, rather than checking for the [[RegExpMatcher]]
      internal slot as the builtins previously did.
      
      R=yangguo
      
      Review URL: https://codereview.chromium.org/1762183002
      
      Cr-Commit-Position: refs/heads/master@{#34547}
      e99d2929
  3. 02 Mar, 2016 1 commit
    • littledan's avatar
      Implement TypedArray(typedarray) constructor · 2fa1c884
      littledan authored
      The ES2016 draft spec defines a sort of fast path for constructing
      a TypedArray based on another TypedArray. This patch implements that
      alternative path in TypedArray construction. It is verified by
      test262 tests, which now pass. This patch also has a slight cleanup
      of TypedArray code by using a macro for TypedArray type checks, as
      is done for other types.
      
      This patch includes a minor spec violation: In the same-type case, the
      spec indicates that the underlying ArrayBuffer should be copied until
      the end, and this is fixed up by making the [[ArrayLength]] shorter.
      This is observable with the buffer getter. This patch just copies the
      used part of the underlying ArrayBuffer.
      
      R=adamk
      BUG=v8:4726
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1754593003
      
      Cr-Commit-Position: refs/heads/master@{#34443}
      2fa1c884
  4. 01 Mar, 2016 5 commits
  5. 29 Feb, 2016 1 commit
  6. 26 Feb, 2016 8 commits
  7. 25 Feb, 2016 2 commits
  8. 24 Feb, 2016 1 commit
    • littledan's avatar
      Intl: Use private symbols to memoize bound functions · a59f62fc
      littledan authored
      The Intl object used to keep around functions which are bound to the
      receiver and memoized in the object (as required by the ECMA-402 spec)
      in ordinary properties with names like __boundformat__. This patch
      instead stores those methods in private symbol properties, so they are
      not exposed to users. A search in GitHub didn't find any uses of
      __boundformat__ (whereas the same search found plenty of usages of
      other V8 Intl features), so I think this should be fine in terms of
      web compatibility.
      
      BUG=v8:3785
      R=adamk
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1728823002
      
      Cr-Commit-Position: refs/heads/master@{#34230}
      a59f62fc
  9. 23 Feb, 2016 2 commits
    • littledan's avatar
      Ensure Array.prototype.indexOf returns +0 rather than -0 · 8798ef2d
      littledan authored
      A recent ES2016 draft spec clarification indicates that, if -0 is
      passed into Array.prototype.indexOf or Array.prototype.lastIndexOf
      as the starting index, and the result is found at index 0, then +0
      rather than -0 should be returned. This patch ensures that V8 has
      that result, which is consistent with what some other browsers
      return. The patch allows a couple test262 tests to pass.
      
      R=adamk
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1729653002
      
      Cr-Commit-Position: refs/heads/master@{#34229}
      8798ef2d
    • littledan's avatar
      ES2015 web compat workaround: RegExp.prototype.flags => "" · b22b2588
      littledan authored
      It turns out that some old polyfill library uses
      RegExp.prototype.flags as a way of feature testing. It's not clear
      how widespread this is. For now, as a minimal workaround, we can
      return undefined from getters like RegExp.prototype.global when
      the receiver is RegExp.prototype. This patch implements that strategy
      but omits a UseCounter to make backports easier.
      
      R=adamk
      CC=yangguo@chromium.org
      BUG=chromium:581577
      LOG=Y
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1640803003
      
      Cr-Commit-Position: refs/heads/master@{#34201}
      b22b2588
  10. 22 Feb, 2016 2 commits
    • littledan's avatar
      Remove the Proxy enumerate trap · 579c0107
      littledan authored
      In ES2016, the Proxy enumerate trap is removed. This patch changes
      for-in iteration on Proxies to use the ownKeys trap. Due to the clean
      organization of that code, the patch basically consists of deletions.
      
      R=adamk
      LOG=Y
      BUG=v8:4768
      
      Review URL: https://codereview.chromium.org/1717893002
      
      Cr-Commit-Position: refs/heads/master@{#34200}
      579c0107
    • littledan's avatar
      Remove Reflect.enumerate · 0b53b7d3
      littledan authored
      The Proxy enumerate trap and Reflect.enumerate are removed from the
      ES2016 draft specification. This patch removes the Reflect.enumerate
      function, and a follow-on patch will be responsible for the Proxy
      trap changes.
      
      R=adamk
      LOG=Y
      BUG=v8:4768
      
      Review URL: https://codereview.chromium.org/1721453002
      
      Cr-Commit-Position: refs/heads/master@{#34196}
      0b53b7d3
  11. 20 Feb, 2016 2 commits
  12. 19 Feb, 2016 2 commits
  13. 18 Feb, 2016 2 commits
  14. 17 Feb, 2016 6 commits
  15. 16 Feb, 2016 1 commit
  16. 12 Feb, 2016 2 commits