1. 07 Sep, 2018 1 commit
  2. 06 Sep, 2018 4 commits
  3. 05 Sep, 2018 6 commits
    • Simon Zünd's avatar
      [array] Use CallCFunction3 for SmiLexicographicCompare · c433112c
      Simon Zünd authored
      This CL changes the call-site of SmiLexicographicCompare to a fast
      c call instead of a runtime call. The runtime function is not deleted
      as it is still used in InnerArraySort.
      
      The test is also moved from mjsunit to cctest, to make removal of the
      runtime function easier in the future.
      
      R=cbruni@chromium.org, jgruber@chromium.org
      
      Bug: v8:7382
      Change-Id: Ie961eeb094c13018e9ec28b68f7c444d7f889036
      Reviewed-on: https://chromium-review.googlesource.com/1201587
      Commit-Queue: Simon Zünd <szuend@google.com>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55642}
      c433112c
    • Hai Dang's avatar
      Reland "[interpreter] Add bytecode for leading array spreads." · 5f8a4272
      Hai Dang authored
      This is a reland of 1c48d52b.
      
      It turned out that IterableToList doesn't always behave according to
      the ES operation with the same name. Specifically, it allows holey arrays
      to take its fast path, which produces an output array with holes where
      actually "undefined" elements should appear.
      
      This CL changes the version of IterableToList that is used for spreads
      (IterableToListWithSymbolLookup) such that holey arrays take the slow path.
      It also includes tests for such situations.
      
      Original change's description:
      > [interpreter] Add bytecode for leading array spreads.
      >
      > This CL improves the performance of creating [...a, b] or [...a].
      > If the array literal has a leading spread, this CL emits the bytecode
      > [CreateArrayFromIterable] to create the literal. CreateArrayFromIterable
      > is implemented by [IterableToListDefault] builtin to create the initial
      > array for the leading spread. IterableToListDefault has a fast path to
      > clone efficiently if the spread is an actual array.
      >
      > The bytecode generated is now shorter. Bytecode generation is refactored
      > into to BuildCreateArrayLiteral, which allows VisitCallSuper to benefit
      > from this optimization also.
      > For now, turbofan also lowers the bytecode to the builtin.
      >
      > The idiomatic use of [...a] to clone the array a now performs better
      > than a simple for-loop, but still does not match the performance of slice.
      >
      > Bug: v8:7980
      >
      > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      > Change-Id: Ibde659c82d3c7aa1b1777a3d2f6426ac8cc15e35
      > Reviewed-on: https://chromium-review.googlesource.com/1181024
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Commit-Queue: Hai Dang <dhai@google.com>
      > Cr-Commit-Position: refs/heads/master@{#55520}
      
      Bug: v8:7980
      Change-Id: I0b5603a12d2b588327658bf0a9b214bd0f22e237
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/1201882
      Commit-Queue: Hai Dang <dhai@google.com>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55639}
      5f8a4272
    • Camillo Bruni's avatar
      [scanner] Reduce branches for IsIdentifier and IsContextualKeyword · 1e0f101a
      Camillo Bruni authored
      Bug: v8:7926
      Change-Id: I1c3b831bb19c70e1e7c99f45ae50dbd1351ce2a7
      Reviewed-on: https://chromium-review.googlesource.com/1202105
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55637}
      1e0f101a
    • Clemens Hammacher's avatar
      [arm64] Remove dead variables · 48dfc5f8
      Clemens Hammacher authored
      GCC complained about these.
      
      R=mstarzinger@chromium.org
      
      Change-Id: I36d69b4191b63ae4373a9b96893cf98650acd7e9
      Reviewed-on: https://chromium-review.googlesource.com/1206291Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55634}
      48dfc5f8
    • andrew-cc-chen's avatar
      s390: Edited Generate_CEntry to correctly return buffer when built with clang · 84121f5a
      andrew-cc-chen authored
      Corrected register calling syntax in assembler-s390.cc and
      test-platform.cc.
      
      Generate_CEntry in builtins-s390.cc expects return buffer to be
      preserved in r2, but when built with clang r2 isn't preserved, which breaks
      300+ tests. It is fixed by writing r2's value into r8 (preserved)
      and loading the value back to r2 after the operation.
      
      Change-Id: I184f0111944b6ad8c0ccc8b97407d702dd97d9d8
      Reviewed-on: https://chromium-review.googlesource.com/1204530Reviewed-by: 's avatarJunliang Yan <jyan@ca.ibm.com>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55631}
      84121f5a
    • Michaël Zasso's avatar
      [api] Add tests for Integer type · 69fabd05
      Michaël Zasso authored
      Since there is no `Value::IsInteger` method in the API, we in the
      Node.js project are going to rely on what looks like an implementation
      detail of the Integer class. It is currently possible to to call
      `Integer::Value` on any Number and the value is cast to an integer.
      This commit adds tests for this behavior.
      
      Change-Id: I4de09e7c6e0beac7909e5477f7bfe2ed4c9415b9
      Reviewed-on: https://chromium-review.googlesource.com/1200983
      Commit-Queue: Michaël Zasso <mic.besace@gmail.com>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55629}
      69fabd05
  4. 04 Sep, 2018 3 commits
  5. 03 Sep, 2018 2 commits
  6. 31 Aug, 2018 2 commits
    • Georg Neis's avatar
      Revert "[interpreter] Add bytecode for leading array spreads." · ef569028
      Georg Neis authored
      This reverts commit 1c48d52b.
      
      Reason for revert: Clusterfuzz found something.
      
      Original change's description:
      > [interpreter] Add bytecode for leading array spreads.
      > 
      > This CL improves the performance of creating [...a, b] or [...a].
      > If the array literal has a leading spread, this CL emits the bytecode
      > [CreateArrayFromIterable] to create the literal. CreateArrayFromIterable
      > is implemented by [IterableToListDefault] builtin to create the initial
      > array for the leading spread. IterableToListDefault has a fast path to
      > clone efficiently if the spread is an actual array.
      > 
      > The bytecode generated is now shorter. Bytecode generation is refactored
      > into to BuildCreateArrayLiteral, which allows VisitCallSuper to benefit
      > from this optimization also.
      > For now, turbofan also lowers the bytecode to the builtin.
      > 
      > The idiomatic use of [...a] to clone the array a now performs better
      > than a simple for-loop, but still does not match the performance of slice.
      > 
      > Bug: v8:7980
      > 
      > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      > Change-Id: Ibde659c82d3c7aa1b1777a3d2f6426ac8cc15e35
      > Reviewed-on: https://chromium-review.googlesource.com/1181024
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Commit-Queue: Hai Dang <dhai@google.com>
      > Cr-Commit-Position: refs/heads/master@{#55520}
      
      TBR=rmcilroy@chromium.org,neis@chromium.org,sigurds@chromium.org,gsathya@chromium.org,jgruber@chromium.org,dhai@google.com
      
      Change-Id: I1c86ddcc24274da9f5a8dd3d8bf8d869cbb55cb6
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7980
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/1199303Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Georg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55544}
      ef569028
    • Benedikt Meurer's avatar
      [runtime] Remove unused %GetPrototype. · 33f2012e
      Benedikt Meurer authored
      The %GetPrototype runtime function is not used anymore. Also remove the
      cctests that were introduced to guard the Crankshaft optimizations for
      the %_GetPrototype intrinsic.
      
      Bug: v8:8015
      Change-Id: I4b848f2c8d67209dae002d260a26867299d6b4a5
      Reviewed-on: https://chromium-review.googlesource.com/1199106Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55541}
      33f2012e
  7. 30 Aug, 2018 3 commits
    • Peter Marshall's avatar
      [tools] Add an API that exposes the location of builtins. · 2d620678
      Peter Marshall authored
      We have an API (GetCodeRange) which gives the location of V8 code on the
      heap, but builtin code no longer lives on the heap.
      
      The upcoming work on the V8 stack unwinder requires the embedder to
      provide the code ranges for both the heap and builtins, so this API will
      be used there.
      
      Bug: v8:8116
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Change-Id: I15e900716e68256b9732be0ea1a5cda24878eccf
      Reviewed-on: https://chromium-review.googlesource.com/1196551Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55532}
      2d620678
    • Michael Lippautz's avatar
      Revert GC scheduling for external backing stores · 82061873
      Michael Lippautz authored
      Revert "Reland "[heap] Attempt to incorporate backing store counters into heap sizing and GC trigger stragery.""
      
      This reverts commit eb164dbd.
      
      Revert "[d8] Fixed external gc test (limit multiplied by number of isolates)."
      
      This reverts commit 38cbc26a.
      
      Revert "[heap] Fixed typo in method name."
      
      This reverts commit 263174af.
      
      Bug: chromium:845409, chromium:879045
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Change-Id: I555bcff2ad04ae23368c7b3999a237083010f9c6
      Reviewed-on: https://chromium-review.googlesource.com/1196550Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55529}
      82061873
    • Hai Dang's avatar
      [interpreter] Add bytecode for leading array spreads. · 1c48d52b
      Hai Dang authored
      This CL improves the performance of creating [...a, b] or [...a].
      If the array literal has a leading spread, this CL emits the bytecode
      [CreateArrayFromIterable] to create the literal. CreateArrayFromIterable
      is implemented by [IterableToListDefault] builtin to create the initial
      array for the leading spread. IterableToListDefault has a fast path to
      clone efficiently if the spread is an actual array.
      
      The bytecode generated is now shorter. Bytecode generation is refactored
      into to BuildCreateArrayLiteral, which allows VisitCallSuper to benefit
      from this optimization also.
      For now, turbofan also lowers the bytecode to the builtin.
      
      The idiomatic use of [...a] to clone the array a now performs better
      than a simple for-loop, but still does not match the performance of slice.
      
      Bug: v8:7980
      
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Change-Id: Ibde659c82d3c7aa1b1777a3d2f6426ac8cc15e35
      Reviewed-on: https://chromium-review.googlesource.com/1181024Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Georg Neis <neis@chromium.org>
      Commit-Queue: Hai Dang <dhai@google.com>
      Cr-Commit-Position: refs/heads/master@{#55520}
      1c48d52b
  8. 29 Aug, 2018 6 commits
  9. 28 Aug, 2018 5 commits
  10. 27 Aug, 2018 3 commits
  11. 25 Aug, 2018 1 commit
  12. 24 Aug, 2018 4 commits