1. 31 Dec, 2015 3 commits
  2. 30 Dec, 2015 9 commits
    • littledan's avatar
      Fix 'illegal access' in Date constructor edge case · a9c79100
      littledan authored
      In a rare edge case, a difference in checks between C++ and
      JavaScript lead to an 'illegal access' being thrown by the Date
      constructor. This patch harmonizes the checks from both sides.
      It's possible that slightly larger dates could be permitted,
      as the ECMAScript 2015 specification indicates that +287396-10-12
      would be a permissible date in the note in
      http://tc39.github.io/ecma262/#sec-extended-years
      This patch does not revisit the limit, only clears up the
      inconsistency.
      
      BUG=v8:4640
      R=cbruni
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1545883003
      
      Cr-Commit-Position: refs/heads/master@{#33068}
      a9c79100
    • littledan's avatar
      Reland of Use ES2015-style TypedArray prototype chain (patchset #1 id:1 of... · e549c7a3
      littledan authored
      Reland of Use ES2015-style TypedArray prototype chain (patchset #1 id:1 of https://codereview.chromium.org/1554523002/ )
      
      Reason for revert:
      Should be fixed again with this Blink change to add NeedsManualRebaseline
      
      Original issue's description:
      > Revert of Use ES2015-style TypedArray prototype chain (patchset #5 id:80001 of https://codereview.chromium.org/1541233002/ )
      >
      > Reason for revert:
      > [Sheriff] Changes layout tests. Please fix upstream first if intended.
      >
      > https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3689
      >
      > Original issue's description:
      > > Use ES2015-style TypedArray prototype chain
      > >
      > > This patch switches TypedArrays to use the prototype chain described
      > > in the ES2015 specification, which adds a %TypedArray% superclass above
      > > all individual TypedArray types. Most methods are defined on the
      > > superclass rather than the subclasses.
      > >
      > > In order to prevent a performance regression, a few methods are
      > > marked as inline. Inlining might prevent code which was previously
      > > monomorphic from becoming polymorphic, and it was specifically
      > > applied in places where methods became more polymorphic than before.
      > > Tests with realistic workloads would be nice to do before this
      > > ships in stable.
      > >
      > > This patch does not bring TypedArrays up to full spec compliance. In
      > > particular, @@species is not yet supported.
      > >
      > > R=cbruni
      > > BUG=v8:4085
      > > LOG=Y
      > >
      > > Committed: https://crrev.com/07c91dccbe55c7be3ec75857dee5ad59873330b7
      > > Cr-Commit-Position: refs/heads/master@{#33050}
      >
      > TBR=caitpotter88@gmail.com,cbruni@chromium.org,littledan@chromium.org
      > NOPRESUBMIT=true
      > NOTREECHECKS=true
      > NOTRY=true
      > BUG=v8:4085
      >
      > Committed: https://crrev.com/28b55ffd1e32e09aaf42b8bbb407944d4808e07c
      > Cr-Commit-Position: refs/heads/master@{#33053}
      
      TBR=caitpotter88@gmail.com,cbruni@chromium.org,machenbach@chromium.org
      BUG=v8:4085
      LOG=Y
      
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1558663002
      
      Cr-Commit-Position: refs/heads/master@{#33067}
      e549c7a3
    • cbruni's avatar
      [runtime] TailCallRuntime and CallRuntime should use default argument · b889d79d
      cbruni authored
      counts specified in runtime.h.
      
      In the vast majority of the cases when we call into the runtime we use
      the default number of arguments. Hence, there is not need to specify it
      again. This CL also removes TailCallExternalReference as there were no
      users.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1553703002
      
      Cr-Commit-Position: refs/heads/master@{#33066}
      b889d79d
    • littledan's avatar
      Reland "Clean up promises and fix an edge case bug (patchset #4 id:60001 of... · 797d1090
      littledan authored
      Reland "Clean up promises and fix an edge case bug (patchset #4 id:60001 of https://codereview.chromium.org/1488783002/ )"
      
      This patch relands a change to ES2015 Promises which brings us closer to
      spec compliance. In this new version, a bug which would lose async callstack
      data was fixed.
      
      R=adamk
      CC=rossberg,caitp
      LOG=Y
      BUG=v8:3641
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1538663002
      
      Cr-Commit-Position: refs/heads/master@{#33065}
      797d1090
    • mbrandy's avatar
      PPC: [runtime] Introduce dedicated JSBoundFunction to represent bound functions. · 974e50ba
      mbrandy authored
      Port 97def807
      
      Original commit message:
          According to the ES2015 specification, bound functions are exotic
          objects, and thus don't need to be implemented as JSFunctions. So
          we introduce a new JSBoundFunction type to represent bound functions
          and make them optimizable. This already improves the performance of
          calling or constructing bound functions by 10-100x depending on the
          use case because we avoid the crazy dance between JavaScript and C++
          that was implemented in v8natives.js previously.
      
          There's still room for improvement in the performance of actually
          creating bound functions, which is also relevant in practice, but
          we already have a plan how to accomplish that later.
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=chromium:535408, chromium:571299, v8:4629
      LOG=n
      
      Review URL: https://codereview.chromium.org/1559473002
      
      Cr-Commit-Position: refs/heads/master@{#33064}
      974e50ba
    • mbrandy's avatar
      PPC: [turbofan] Add Int64(Add|Sub)WithOverflow support. · a9f69934
      mbrandy authored
      Port bafb568b
      
      R=jarin@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1552783002
      
      Cr-Commit-Position: refs/heads/master@{#33063}
      a9f69934
    • mbrandy's avatar
      PPC: Refine "[ic] Fixed receiver_map register trashing in KeyedStoreIC megamorphic." · 49e25ff4
      mbrandy authored
      Do not abstract r0 as a general scratch register -- usage is valid
      only in short, localized sequences (since its value may be altered
      implicitly by some macro operations).
      
      R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=chromium:571370
      LOG=N
      
      Review URL: https://codereview.chromium.org/1556643002
      
      Cr-Commit-Position: refs/heads/master@{#33062}
      49e25ff4
    • bmeurer's avatar
      [runtime] Migrate Object.create to C++. · 6a51d311
      bmeurer authored
      There's no point in keeping the ObjectCreate JavaScript wrapper
      function, which even does allocation site pretenuring for the
      instances created via Object.create (where ObjectCreate itself is
      the AllocationSite), and does not offer any sane way forward.
      
      Instead introduce a new ObjectCreate C++ builtin, which currently
      serves as a baseline implementation, on top of which we can think
      about ways to optimize Object.create for the common case (i.e.
      frameworks such as Ember.js make heavy use of Object.create).
      
      R=cbruni@chromium.org
      TBR=hpayer@chromium.org
      
      Review URL: https://codereview.chromium.org/1558433002
      
      Cr-Commit-Position: refs/heads/master@{#33061}
      6a51d311
    • v8-autoroll's avatar
      Update V8 DEPS. · 5a49eb01
      v8-autoroll authored
      Rolling v8/tools/clang to d1e1de24f0e66c2f5a8b865c8ffb4042793286e9
      
      TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
      
      Review URL: https://codereview.chromium.org/1551053002
      
      Cr-Commit-Position: refs/heads/master@{#33060}
      5a49eb01
  3. 29 Dec, 2015 8 commits
  4. 28 Dec, 2015 7 commits
  5. 27 Dec, 2015 2 commits
    • bmeurer's avatar
      [runtime] Introduce dedicated JSBoundFunction to represent bound functions. · 97def807
      bmeurer authored
      According to the ES2015 specification, bound functions are exotic
      objects, and thus don't need to be implemented as JSFunctions. So
      we introduce a new JSBoundFunction type to represent bound functions
      and make them optimizable. This already improves the performance of
      calling or constructing bound functions by 10-100x depending on the
      use case because we avoid the crazy dance between JavaScript and C++
      that was implemented in v8natives.js previously.
      
      There's still room for improvement in the performance of actually
      creating bound functions, which is also relevant in practice, but
      we already have a plan how to accomplish that later.
      
      The mips/mips64 ports were contributed by akos.palfi@imgtec.com.
      
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      BUG=chromium:535408, chromium:571299, v8:4629
      LOG=n
      
      Committed: https://crrev.com/ca8623eaa468cba65a5adafcdfb4615966f43ce2
      Cr-Commit-Position: refs/heads/master@{#33042}
      
      Review URL: https://codereview.chromium.org/1542963002
      
      Cr-Commit-Position: refs/heads/master@{#33044}
      97def807
    • bmeurer's avatar
      Revert of [runtime] Introduce dedicated JSBoundFunction to represent bound... · 1cf8b105
      bmeurer authored
      Revert of [runtime] Introduce dedicated JSBoundFunction to represent bound functions. (patchset #14 id:260001 of https://codereview.chromium.org/1542963002/ )
      
      Reason for revert:
      Breaks arm64 sim nosnap: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug/builds/805/steps/Check/logs/function-bind
      
      Original issue's description:
      > [runtime] Introduce dedicated JSBoundFunction to represent bound functions.
      >
      > According to the ES2015 specification, bound functions are exotic
      > objects, and thus don't need to be implemented as JSFunctions. So
      > we introduce a new JSBoundFunction type to represent bound functions
      > and make them optimizable. This already improves the performance of
      > calling or constructing bound functions by 10-100x depending on the
      > use case because we avoid the crazy dance between JavaScript and C++
      > that was implemented in v8natives.js previously.
      >
      > There's still room for improvement in the performance of actually
      > creating bound functions, which is also relevant in practice, but
      > we already have a plan how to accomplish that later.
      >
      > The mips/mips64 ports were contributed by akos.palfi@imgtec.com.
      >
      > CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      > BUG=chromium:535408, chromium:571299, v8:4629
      > LOG=n
      >
      > Committed: https://crrev.com/ca8623eaa468cba65a5adafcdfb4615966f43ce2
      > Cr-Commit-Position: refs/heads/master@{#33042}
      
      TBR=cbruni@chromium.org,hpayer@chromium.org,yangguo@chromium.org,akos.palfi@imgtec.com
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=chromium:535408, chromium:571299, v8:4629
      
      Review URL: https://codereview.chromium.org/1552473002
      
      Cr-Commit-Position: refs/heads/master@{#33043}
      1cf8b105
  6. 26 Dec, 2015 2 commits
    • bmeurer's avatar
      [runtime] Introduce dedicated JSBoundFunction to represent bound functions. · ca8623ea
      bmeurer authored
      According to the ES2015 specification, bound functions are exotic
      objects, and thus don't need to be implemented as JSFunctions. So
      we introduce a new JSBoundFunction type to represent bound functions
      and make them optimizable. This already improves the performance of
      calling or constructing bound functions by 10-100x depending on the
      use case because we avoid the crazy dance between JavaScript and C++
      that was implemented in v8natives.js previously.
      
      There's still room for improvement in the performance of actually
      creating bound functions, which is also relevant in practice, but
      we already have a plan how to accomplish that later.
      
      The mips/mips64 ports were contributed by akos.palfi@imgtec.com.
      
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      BUG=chromium:535408, chromium:571299, v8:4629
      LOG=n
      
      Review URL: https://codereview.chromium.org/1542963002
      
      Cr-Commit-Position: refs/heads/master@{#33042}
      ca8623ea
    • v8-autoroll's avatar
      Update V8 DEPS. · 61b31128
      v8-autoroll authored
      Rolling v8/tools/clang to 48322a540c208cda85790c2a6df4c4d335b191e1
      
      TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
      
      Review URL: https://codereview.chromium.org/1552433002
      
      Cr-Commit-Position: refs/heads/master@{#33041}
      61b31128
  7. 25 Dec, 2015 1 commit
  8. 24 Dec, 2015 6 commits
  9. 23 Dec, 2015 2 commits