1. 17 Aug, 2016 2 commits
  2. 15 Aug, 2016 1 commit
  3. 09 Aug, 2016 1 commit
  4. 03 Aug, 2016 1 commit
  5. 02 Aug, 2016 1 commit
  6. 01 Aug, 2016 1 commit
  7. 02 Jul, 2016 1 commit
  8. 30 Jun, 2016 1 commit
    • hablich's avatar
      Revert of Amend DataView, ArrayBuffer, and TypedArray methods to use ToIndex.... · b1f7f1f4
      hablich authored
      Revert of Amend DataView, ArrayBuffer, and TypedArray methods to use ToIndex. (patchset #8 id:140001 of https://codereview.chromium.org/2090353003/ )
      
      Reason for revert:
      Speculative revert to unblock roll: https://codereview.chromium.org/2107223003/
      
      Original issue's description:
      > Amend DataView, ArrayBuffer, and TypedArray methods to use ToIndex.
      >
      > The spec was modified to relax some requirements which implementors had not been
      > enforcing. Part of this process involved introducing a new abstract operation
      > ToIndex, which had partial overlap with our existing semantics as well as some
      > differences (most notably treating undefined as 0). Test262 tests were introduced to
      > check for the new semantics, some of which we were failing. This patch amends the
      > parts of our implementation corresponding to specification algorithms which use
      > ToIndex to follow its semantics precisely.
      >
      > BUG=v8:4784,v8:5120
      >
      > Committed: https://crrev.com/09720349ea058d178521ec58d0a5676443a5a132
      > Cr-Commit-Position: refs/heads/master@{#37406}
      
      TBR=littledan@chromium.org,adamk@chromium.org,bakkot@google.com
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4784,v8:5120
      
      Review-Url: https://codereview.chromium.org/2113593002
      Cr-Commit-Position: refs/heads/master@{#37417}
      b1f7f1f4
  9. 29 Jun, 2016 2 commits
  10. 24 Jun, 2016 3 commits
  11. 23 Jun, 2016 1 commit
  12. 08 Jun, 2016 1 commit
    • gsathya's avatar
      Revert "Revert of [builtins] Properly optimize TypedArray/DataView accessors.... · 3c927e07
      gsathya authored
      Revert "Revert of [builtins] Properly optimize TypedArray/DataView accessors. (patchset #3 id:40001 of https://codereview.chromium.org/2042013003/ )"
      
      This reverts commit d3a43e47.
      
      This patch also adds typed_array_fun and typed_array_protoype to the
      native context. These are used in InstallTypedArray to set up the
      prototype chain correctly for each typed array sub class. This removes
      the need to later monkey patch them prototype chain in typedarray.js.
      This mechanism is also used to get hold of the TypedArray in
      typedarray.js, removing the need for a global TypedArray.
      
      This patch updates CallRuntime.golden to account for the two extra
      native runtime calls. This patch also fixes some formatting issues (by
      running git cl format).
      
      BUG=chromium:579905, chromium:593634, v8:4085, v8:5073
      
      Review-Url: https://codereview.chromium.org/2046333002
      Cr-Commit-Position: refs/heads/master@{#36811}
      3c927e07
  13. 07 Jun, 2016 2 commits
    • machenbach's avatar
      Revert of [builtins] Properly optimize TypedArray/DataView accessors.... · d3a43e47
      machenbach authored
      Revert of [builtins] Properly optimize TypedArray/DataView accessors. (patchset #3 id:40001 of https://codereview.chromium.org/2042013003/ )
      
      Reason for revert:
      Blink:
      https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/7296
      
      Original issue's description:
      > [builtins] Properly optimize TypedArray/DataView accessors.
      >
      > The following getters were moved to the TypedArray/DataView prototype
      > chain with ES2015, and hence need different treatment now:
      >
      > - DataView.prototype.buffer
      > - DataView.prototype.byteLength
      > - DataView.prototype.byteOffset
      > - TypedArray.prototype.buffer
      > - TypedArray.prototype.byteLength
      > - TypedArray.prototype.byteOffset
      > - TypedArray.prototype.length
      >
      > Instead of having special magic on the LoadIC in the IC system and the
      > optimizing compilers, as we used to do before (and which we got rid of
      > already), we just treat those as normal accessors and make them
      > recognizable via the BuiltinFunctionId mechanism. This allows us to
      > remove some of the additional magic from the IC subsystem, and just
      > extend the BuiltinFunctionId mechanism in Crankshaft slightly to cover
      > these cases too (TurboFan doesn't yet support accessors, but that will
      > be fixed soonish anyways).
      >
      > This addresses most of the 15-20% regression we saw on the Octane
      > GameBoy emulator benchmark.
      >
      > BUG=chromium:579905,chromium:593634,v8:4085,v8:5073
      > R=yangguo@chromium.org
      >
      > Committed: https://crrev.com/1ef737026565ea2becc84f30cfd432e581d50c6b
      > Cr-Commit-Position: refs/heads/master@{#36782}
      
      TBR=yangguo@chromium.org,bmeurer@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=chromium:579905,chromium:593634,v8:4085,v8:5073
      
      Review-Url: https://codereview.chromium.org/2039093005
      Cr-Commit-Position: refs/heads/master@{#36783}
      d3a43e47
    • bmeurer's avatar
      [builtins] Properly optimize TypedArray/DataView accessors. · 1ef73702
      bmeurer authored
      The following getters were moved to the TypedArray/DataView prototype
      chain with ES2015, and hence need different treatment now:
      
      - DataView.prototype.buffer
      - DataView.prototype.byteLength
      - DataView.prototype.byteOffset
      - TypedArray.prototype.buffer
      - TypedArray.prototype.byteLength
      - TypedArray.prototype.byteOffset
      - TypedArray.prototype.length
      
      Instead of having special magic on the LoadIC in the IC system and the
      optimizing compilers, as we used to do before (and which we got rid of
      already), we just treat those as normal accessors and make them
      recognizable via the BuiltinFunctionId mechanism. This allows us to
      remove some of the additional magic from the IC subsystem, and just
      extend the BuiltinFunctionId mechanism in Crankshaft slightly to cover
      these cases too (TurboFan doesn't yet support accessors, but that will
      be fixed soonish anyways).
      
      This addresses most of the 15-20% regression we saw on the Octane
      GameBoy emulator benchmark.
      
      BUG=chromium:579905,chromium:593634,v8:4085,v8:5073
      R=yangguo@chromium.org
      
      Review-Url: https://codereview.chromium.org/2042013003
      Cr-Commit-Position: refs/heads/master@{#36782}
      1ef73702
  14. 25 May, 2016 1 commit
  15. 13 May, 2016 1 commit
  16. 09 May, 2016 1 commit
    • gsathya's avatar
      Fix TypedArray Property optimizations · 41d571df
      gsathya authored
      This patch installs %TypedArray% and its prototype on the native
      context, and wires them up to each TypedArray subclass. This is later
      used to check the holder of length, byteLength and byteOffset is
      %Typedarray% and apply the appropriate optimizations.
      
      BUG=chromium:593634
      LOG=Y
      
      Review-Url: https://codereview.chromium.org/1949863002
      Cr-Commit-Position: refs/heads/master@{#36116}
      41d571df
  17. 02 May, 2016 1 commit
    • littledan's avatar
      Use InternalArrays from certain Intl code · 4f374bbc
      littledan authored
      The ECMA 402 implementation previously pushed directly to real
      Arrays, which risks having observably incorrect behavior in the
      presence of monkey patching. This patch uses InternalArrays instead
      to avoid that hazard.
      
      R=jshin@chromium.org,yangguo@chromium.org
      BUG=chromium:604299
      LOG=N
      
      Review-Url: https://codereview.chromium.org/1923803002
      Cr-Commit-Position: refs/heads/master@{#35949}
      4f374bbc
  18. 14 Apr, 2016 1 commit
  19. 18 Mar, 2016 1 commit
  20. 10 Mar, 2016 2 commits
  21. 08 Mar, 2016 1 commit
  22. 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
  23. 01 Mar, 2016 1 commit
    • littledan's avatar
      Make %TypedArray%.from spec-compliant · 2765a060
      littledan authored
      This patch fixes %TypedArray%.from to follow the ES2016 draft spec
      more precisely. Specifically, the input is first converted to an
      ArrayLike, and then afterwards, the mapping function is run and the
      results written into the TypedArray. This fixes a test262 test.
      
      R=adamk
      LOG=Y
      BUG=v8:4782
      
      Review URL: https://codereview.chromium.org/1743463004
      
      Cr-Commit-Position: refs/heads/master@{#34373}
      2765a060
  24. 26 Feb, 2016 4 commits
  25. 19 Feb, 2016 1 commit
  26. 11 Feb, 2016 1 commit
  27. 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
  28. 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
  29. 26 Jan, 2016 1 commit
    • littledan's avatar
      Fix length of DataView and TypedArray get/set functions · 3f37c446
      littledan authored
      Functions like DataView.prototype.getUint8 should have length 1,
      and DataView.prototype.setUint8 should have length 2, as their
      endianness arguments are optional. Additionally,
      TypedArray.prototype.set.length should be 2. This follows the ES2015
      specification, and a new test262 test tests for it. This patch
      fixes the functions' lengths.
      
      R=adamk
      
      Review URL: https://codereview.chromium.org/1636953003
      
      Cr-Commit-Position: refs/heads/master@{#33531}
      3f37c446