1. 11 Feb, 2016 2 commits
  2. 10 Feb, 2016 4 commits
  3. 09 Feb, 2016 3 commits
    • bmeurer's avatar
      Revert of [builtins] Remove bunch of uses of %_Arguments and... · dca275ba
      bmeurer authored
      Revert of [builtins] Remove bunch of uses of %_Arguments and %_ArgumentsLength. (patchset #1 id:1 of https://codereview.chromium.org/1678953004/ )
      
      Reason for revert:
      Breaks tree
      
      Original issue's description:
      > [builtins] Remove bunch of uses of %_Arguments and %_ArgumentsLength.
      >
      > There are a bunch of places in our builtins where we use %_Arguments and
      > %_ArgumentsLength for no good reason, as arguments object and/or rest
      > parameter is as good and performant in these cases. Now the only uses
      > of %_Arguments and %_ArgumentsLength left are in string.js, which
      > requires dedicated investigation.
      >
      > R=yangguo@chromium.org
      >
      > Committed: https://crrev.com/2160429fd458e3c095475e718c97f77ac90d906f
      > Cr-Commit-Position: refs/heads/master@{#33834}
      
      TBR=yangguo@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      
      Review URL: https://codereview.chromium.org/1677063005
      
      Cr-Commit-Position: refs/heads/master@{#33835}
      dca275ba
    • bmeurer's avatar
      [builtins] Remove bunch of uses of %_Arguments and %_ArgumentsLength. · 2160429f
      bmeurer authored
      There are a bunch of places in our builtins where we use %_Arguments and
      %_ArgumentsLength for no good reason, as arguments object and/or rest
      parameter is as good and performant in these cases. Now the only uses
      of %_Arguments and %_ArgumentsLength left are in string.js, which
      requires dedicated investigation.
      
      R=yangguo@chromium.org
      
      Review URL: https://codereview.chromium.org/1678953004
      
      Cr-Commit-Position: refs/heads/master@{#33834}
      2160429f
    • bmeurer's avatar
      [intrinsics] Kill the %_IsMinusZero intrinsic. · 00f7d1f5
      bmeurer authored
      By now only the default %TypedArray%.prototype.sort compare function
      and the JS implementation of SameValueZero were still using the odd
      %_IsMinusZero intrinsic, whose semantics both included a number check
      (actually HeapNumber test) plus testing if the heap number stores the
      special -0 value. In both cases we already know that we deal with
      number so we can reduce it to a simple number test for -0, which can
      be expressed via dividing 1 by that value and checking the sign of
      the result. In case of the compare function, we can be even smarter
      and work with the reciprocal values in case x and y are equal to 0
      (although long term we should probably rewrite the fast case for
      the typed array sorting function in C++ anyway, which will be way,
      way faster than our handwritten callback-style, type-feedback
      polluted JS implementation).
      
      R=yangguo@chromium.org
      
      Review URL: https://codereview.chromium.org/1680783002
      
      Cr-Commit-Position: refs/heads/master@{#33833}
      00f7d1f5
  4. 08 Feb, 2016 1 commit
    • littledan's avatar
      Extend subarray web compatibility fix to --harmony-species · e1de522a
      littledan authored
      ES2016 TypedArray subclassing semantics break the Node.js Buffer module,
      also used on the web. I wrote a pull request against the web and Node
      versions to fix the issue, but the pull request has not yet been granted,
      and this is blocking shipping the change. For now, this patch extends the
      web compatibility workaround to the --harmony-species flag, so that
      Symbol.species and associated subclassing semantics can ship independently.
      
      R=cbruni
      BUG=v8:4665
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1678123002
      
      Cr-Commit-Position: refs/heads/master@{#33826}
      e1de522a
  5. 05 Feb, 2016 1 commit
  6. 04 Feb, 2016 3 commits
  7. 03 Feb, 2016 3 commits
  8. 02 Feb, 2016 1 commit
  9. 28 Jan, 2016 1 commit
    • bmeurer's avatar
      [builtins] Make Math.max and Math.min fast by default. · cb9b8010
      bmeurer authored
      The previous versions of Math.max and Math.min made it difficult to
      optimize those (that's why we already have custom code in Crankshaft),
      and due to lack of ideas what to do about the variable number of
      arguments, we will probably need to stick in special code in TurboFan
      as well; so inlining those builtins is off the table, hence there's no
      real advantage in having them around as "not quite JS" with extra work
      necessary in the optimizing compilers to still make those builtins
      somewhat fast in cases where we cannot inline them (also there's a
      tricky deopt loop in Crankshaft related to Math.min and Math.max, but
      that will be dealt with later).
      
      So to sum up: Instead of trying to make Math.max and Math.min semi-fast
      in the optimizing compilers with weird work-arounds support %_Arguments
      %_ArgumentsLength, we do provide the optimal code as native builtins
      instead and call it a day (which gives a nice performance boost on some
      benchmarks).
      
      R=jarin@chromium.org
      
      Review URL: https://codereview.chromium.org/1641083003
      
      Cr-Commit-Position: refs/heads/master@{#33582}
      cb9b8010
  10. 27 Jan, 2016 1 commit
  11. 26 Jan, 2016 2 commits
  12. 25 Jan, 2016 1 commit
  13. 20 Jan, 2016 3 commits
  14. 19 Jan, 2016 4 commits
  15. 18 Jan, 2016 1 commit
  16. 15 Jan, 2016 1 commit
  17. 14 Jan, 2016 1 commit
    • littledan's avatar
      Construct instances of base class from TypedArray.prototype.subarray · e13f2ff4
      littledan authored
      Previous changes with subclassable builtins and @@species were a bit
      aggressive in making TypedArray.prototype.subarray act like the
      ES2016 specification in terms of returning an instance of the
      subclass as a result. It turns out that Node.js, and extracted
      libraries for the web, subclass TypedArrays but don't expect the
      subclass constructor to be called by subarray. @@species will provide
      an escape hatch, but it has not shipped yet, and will take some time
      for uptake by libraries.
      
      For now, this patch makes TypedArray.prototype.subarray fall back to
      constructing an instance of the parent TypedArray class, such as
      Uint8Array.
      
      R=adamk
      LOG=Y
      BUG=v8:4665
      
      Review URL: https://codereview.chromium.org/1583773005
      
      Cr-Commit-Position: refs/heads/master@{#33312}
      e13f2ff4
  18. 13 Jan, 2016 2 commits
  19. 12 Jan, 2016 5 commits