1. 02 Mar, 2018 1 commit
  2. 27 Feb, 2018 1 commit
  3. 23 Feb, 2018 1 commit
  4. 19 Feb, 2018 1 commit
  5. 17 Feb, 2018 2 commits
  6. 26 Jan, 2018 1 commit
    • Georg Neis's avatar
      Reland "[ic] Improve performance of KeyedStoreIC on literal-based arrays." · 024d3499
      Georg Neis authored
      This is a reland of 181ac2b0 that fixes
      the issue with load elimination.
      
      Original change's description:
      > [ic] Improve performance of KeyedStoreIC on literal-based arrays.
      >
      > In mode STORE_AND_GROW_NO_TRANSITION, the handler for elements stores
      > used to bail out when seeing a COW array, even if the store that
      > installed the handler had been operating on the very same array.
      >
      > This CL adds support for COW arrays to the mode (and renames it to
      > STORE_AND_GROW_NO_TRANSITION_HANDLE_COW).
      >
      > Bug: v8:7334
      > Change-Id: I6a15e8c1ff8d4ad4d5b8fc447745dce5d146c67c
      > Reviewed-on: https://chromium-review.googlesource.com/876014
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#50840}
      
      TBR=bmeurer@chromium.org
      
      Bug: v8:7334, chromium:805768
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I3d9c1b08583e08d68a1d30242a25e4a2190c8c55
      Reviewed-on: https://chromium-review.googlesource.com/886261
      Commit-Queue: Georg Neis <neis@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50885}
      024d3499
  7. 25 Jan, 2018 2 commits
    • Yang Guo's avatar
      Introduce SimpleNumberDictionary. · 3857b44e
      Yang Guo authored
      This is somewhat of a revival of what used to be
      UnseededNumberDictionary. The difference to NumberDictionary is that
      each entry only has two fields (no field for property details) and there
      is no header field for a bitfield.
      
      The reason for this change is memory regression introduced when we
      removed UnseededNumberDictionary (6e1c57ea). We now use
      SimpleNumberDictionary for
      - slow template instantiation cache
      - code stubs table
      - value serializer map
      - stack frame cache
      - type profile source positions
      
      R=ishell@chromium.org, ulan@chromium.org
      
      Bug: chromium:783695
      Change-Id: I3cd32e485060bb379fb2279eeefbbbded7455f0e
      Reviewed-on: https://chromium-review.googlesource.com/885811Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50869}
      3857b44e
    • Georg Neis's avatar
      Revert "[ic] Improve performance of KeyedStoreIC on literal-based arrays." · 0eb64190
      Georg Neis authored
      This reverts commit 181ac2b0.
      
      Reason for revert: TF changes break load elimination.
      
      Original change's description:
      > [ic] Improve performance of KeyedStoreIC on literal-based arrays.
      > 
      > In mode STORE_AND_GROW_NO_TRANSITION, the handler for elements stores
      > used to bail out when seeing a COW array, even if the store that
      > installed the handler had been operating on the very same array.
      > 
      > This CL adds support for COW arrays to the mode (and renames it to
      > STORE_AND_GROW_NO_TRANSITION_HANDLE_COW).
      > 
      > Bug: v8:7334
      > Change-Id: I6a15e8c1ff8d4ad4d5b8fc447745dce5d146c67c
      > Reviewed-on: https://chromium-review.googlesource.com/876014
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#50840}
      
      TBR=neis@chromium.org,ishell@chromium.org,bmeurer@chromium.org
      
      Change-Id: Id841d91b12d199045e0a9c4ddae2c2ead20b5e21
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7334
      Reviewed-on: https://chromium-review.googlesource.com/885814Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Georg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50860}
      0eb64190
  8. 24 Jan, 2018 1 commit
  9. 04 Jan, 2018 1 commit
  10. 20 Dec, 2017 1 commit
  11. 18 Dec, 2017 1 commit
  12. 20 Nov, 2017 2 commits
  13. 16 Nov, 2017 1 commit
  14. 09 Nov, 2017 1 commit
  15. 07 Nov, 2017 1 commit
  16. 26 Oct, 2017 1 commit
  17. 20 Oct, 2017 1 commit
  18. 19 Oct, 2017 1 commit
  19. 18 Oct, 2017 3 commits
  20. 13 Oct, 2017 1 commit
  21. 29 Sep, 2017 5 commits
  22. 28 Sep, 2017 1 commit
  23. 13 Sep, 2017 1 commit
  24. 08 Sep, 2017 1 commit
  25. 28 Aug, 2017 1 commit
    • Jakob Gruber's avatar
      Revert "[csa] Refactor large-object handling in string allocation" · 3168a963
      Jakob Gruber authored
      This reverts commit f6d73509.
      
      Reason for revert: Perf regressions https://crbug.com/758126
      
      Original change's description:
      > [csa] Refactor large-object handling in string allocation
      > 
      > CSA::AllocateSeq{One,Two}ByteString used its own home-grown handling to
      > allocate very large strings. This CL refactors both methods to use
      > AllocationFlags::kAllowLargeObjectAllocation instead. Callers now need
      > to specify explicitly if large-object allocation is possible or not.
      > 
      > Bug: chromium:636391
      > Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng
      > Change-Id: I0b7ffb0b083f4e977cea42c500f8f2ee1c60519f
      > Reviewed-on: https://chromium-review.googlesource.com/625738
      > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47504}
      
      TBR=cbruni@chromium.org,jgruber@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: chromium:636391
      Change-Id: Iab88ce400f489a677df821d4053bd3678289ae2e
      Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/637392Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47639}
      3168a963
  26. 23 Aug, 2017 1 commit
  27. 22 Aug, 2017 1 commit
    • jgruber's avatar
      [csa] Refactor large-object handling in string allocation · f6d73509
      jgruber authored
      CSA::AllocateSeq{One,Two}ByteString used its own home-grown handling to
      allocate very large strings. This CL refactors both methods to use
      AllocationFlags::kAllowLargeObjectAllocation instead. Callers now need
      to specify explicitly if large-object allocation is possible or not.
      
      Bug: chromium:636391
      Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng
      Change-Id: I0b7ffb0b083f4e977cea42c500f8f2ee1c60519f
      Reviewed-on: https://chromium-review.googlesource.com/625738Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47504}
      f6d73509
  28. 07 Aug, 2017 3 commits
    • Benedikt Meurer's avatar
      [ic] Properly integrate the CallIC into Ignition. · ee350c31
      Benedikt Meurer authored
      Drop the deprecated CallConstructStub and remove the use of CallICStub
      from fullcodegen, since that feedback is unused completely every since
      Crankshaft got removed, thus we can safely unlink all the CallIC stuff
      from fullcodegen nowadays, and completely nuke the CallICStub and the
      CallICTrampolineStub now (we can also transitively nuke the unused
      CreateAllocationSiteStub and CreateWeakCellStub).
      
      Instead the CallIC logic is integrated into Ignition now, and part of
      the bytecode handlers for [[Call]] and [[Construct]]. There's still some
      follow-up cleanup with the way the Array constructor feedback is
      integrated, but that's way easier now.
      
      Bug: v8:5517, v8:6399, v8:6409, v8:6679
      Change-Id: I0a6c6046faceca9b1606577bc9e63d9295e44619
      Reviewed-on: https://chromium-review.googlesource.com/603609
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47196}
      ee350c31
    • Michael Achenbach's avatar
      Revert "[ic] Properly integrate the CallIC into Ignition." · 018128a4
      Michael Achenbach authored
      This reverts commit 6c541561.
      
      Reason for revert:
      https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/17240
      
      Original change's description:
      > [ic] Properly integrate the CallIC into Ignition.
      > 
      > Drop the deprecated CallConstructStub and remove the use of CallICStub
      > from fullcodegen, since that feedback is unused completely every since
      > Crankshaft got removed, thus we can safely unlink all the CallIC stuff
      > from fullcodegen nowadays, and completely nuke the CallICStub and the
      > CallICTrampolineStub now (we can also transitively nuke the unused
      > CreateAllocationSiteStub and CreateWeakCellStub).
      > 
      > Instead the CallIC logic is integrated into Ignition now, and part of
      > the bytecode handlers for [[Call]] and [[Construct]]. There's still some
      > follow-up cleanup with the way the Array constructor feedback is
      > integrated, but that's way easier now.
      > 
      > Bug: v8:5517, v8:6399, v8:6409, v8:6679
      > Change-Id: Ia0efc6145ee64633757a6c3fd1879d4906ea2835
      > Reviewed-on: https://chromium-review.googlesource.com/602134
      > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47192}
      
      TBR=rmcilroy@chromium.org,yangguo@chromium.org,bmeurer@chromium.org
      
      Change-Id: I416ce6646f62ceb4127b3acee43912ee0d701c23
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:5517, v8:6399, v8:6409, v8:6679
      Reviewed-on: https://chromium-review.googlesource.com/603647Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47193}
      018128a4
    • Benedikt Meurer's avatar
      [ic] Properly integrate the CallIC into Ignition. · 6c541561
      Benedikt Meurer authored
      Drop the deprecated CallConstructStub and remove the use of CallICStub
      from fullcodegen, since that feedback is unused completely every since
      Crankshaft got removed, thus we can safely unlink all the CallIC stuff
      from fullcodegen nowadays, and completely nuke the CallICStub and the
      CallICTrampolineStub now (we can also transitively nuke the unused
      CreateAllocationSiteStub and CreateWeakCellStub).
      
      Instead the CallIC logic is integrated into Ignition now, and part of
      the bytecode handlers for [[Call]] and [[Construct]]. There's still some
      follow-up cleanup with the way the Array constructor feedback is
      integrated, but that's way easier now.
      
      Bug: v8:5517, v8:6399, v8:6409, v8:6679
      Change-Id: Ia0efc6145ee64633757a6c3fd1879d4906ea2835
      Reviewed-on: https://chromium-review.googlesource.com/602134
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47192}
      6c541561
  29. 04 Aug, 2017 1 commit