1. 29 Apr, 2020 1 commit
  2. 25 Feb, 2020 1 commit
    • Omer Katz's avatar
      Revert "[heap] Align v8 and oilpan worklists" · a2a50d7f
      Omer Katz authored
      This reverts commit 6cfba48b.
      
      Reason for revert: Removing dynamic parameter caused regressions for scavenger.
      
      Original change's description:
      > [heap] Align v8 and oilpan worklists
      >
      > This CL makes the following changes:
      > 1) Size of allocated buffer is set by a template parameter
      >    (with a default value instead of hardcoded size)
      > 2) Remove dynamic parameter for initializing number of
      >    tasks (see comment in scavenger.cc)
      >
      > This CL aligns the v8 and oilpan heaps so that they provide
      > the same interface and functionality.
      >
      > Change-Id: I77d63793f0a54ea29198ddd6bd298eae2c15cf42
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030920
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Commit-Queue: Omer Katz <omerkatz@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#66158}
      
      TBR=ulan@chromium.org,mlippautz@chromium.org,omerkatz@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Change-Id: Iab127d59882ded33d0df3897326031bfc2d2aaf2
      Bug: chromium:1052750
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2071862
      Commit-Queue: Omer Katz <omerkatz@chromium.org>
      Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66430}
      a2a50d7f
  3. 07 Feb, 2020 1 commit
  4. 06 Feb, 2020 1 commit
    • Omer Katz's avatar
      [heap] Align v8 and oilpan worklists · 6cfba48b
      Omer Katz authored
      This CL makes the following changes:
      1) Size of allocated buffer is set by a template parameter
         (with a default value instead of hardcoded size)
      2) Remove dynamic parameter for initializing number of
         tasks (see comment in scavenger.cc)
      
      This CL aligns the v8 and oilpan heaps so that they provide
      the same interface and functionality.
      
      Change-Id: I77d63793f0a54ea29198ddd6bd298eae2c15cf42
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2030920Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Omer Katz <omerkatz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66158}
      6cfba48b
  5. 07 Mar, 2019 1 commit
    • Sigurd Schneider's avatar
      [heap] Clean-up some weak map entries in scavenger · 4e6a1a75
      Sigurd Schneider authored
      This change enables clean-up of weak map entries in the
      scavenger of the weak map is in the young generation.
      With this change, the scavenger treats keys in ephemerons as
      weak instead of strong, but does not implement full ephemeron
      semantics: Values are treated always as strong, independently
      of whether the key is live or not.
      
      This approach ensures that no value is cleaned up accidentally.
      After scavenging, all entries with dead keys are removed from
      weak maps. After that, some values that are not referenced anywhere
      anymore might still be in the heap, and those can be cleaned up
      in the next scavenge.
      
      What the scavenger does, amounts to one iteration of the
      fixed-point algorithm required to implement ephemeron semantics.
      We hope that this is a reasonable trade-off between time spent
      tracing and cleaned-up entries.
      
      This change does not affect weak maps that reside in old space.
      
      Bug: v8:8557
      Change-Id: Ic5618b3b863ad8c314c87449571150e756fecbf0
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1467182
      Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#60101}
      4e6a1a75
  6. 24 Oct, 2018 1 commit
  7. 12 Oct, 2018 1 commit
  8. 03 Jul, 2018 1 commit
  9. 27 Jun, 2018 4 commits
    • Dominik Inführ's avatar
      Reland "Reland "[heap] Visit individual ephemerons instead of collections"" · 5cb08217
      Dominik Inführ authored
      This is a reland of 91f113e2
      
      Original change's description:
      > Reland "[heap] Visit individual ephemerons instead of collections"
      > 
      > This is a reland of 9aba0159
      > 
      > Original change's description:
      > > [heap] Visit individual ephemerons instead of collections
      > > 
      > > When marking ephemerons visit individual ephemerons with key and value
      > > unreachable instead of simply iterating all ephemerons in all weak
      > > collections. Also visit ephemerons at end of concurrent marking to do
      > > work we would otherwise need to do in the atomic pause.
      > > 
      > > Bug: chromium:844008
      > > Change-Id: I3400ad1f81c0cdc0fe6506a1f1146a6743a7fcd7
      > > Reviewed-on: https://chromium-review.googlesource.com/1113934
      > > Commit-Queue: Dominik Inführ <dinfuehr@google.com>
      > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#54039}
      > 
      > Bug: chromium:844008
      > Change-Id: I4c44e74c7cf5fe380ffa4ce9f106bebb57bc023d
      > Reviewed-on: https://chromium-review.googlesource.com/1116438
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Commit-Queue: Dominik Inführ <dinfuehr@google.com>
      > Cr-Commit-Position: refs/heads/master@{#54046}
      
      Bug: chromium:844008
      Change-Id: Ie9d606c51aacdfa9ffe77fe4cf780e30dd445d52
      Reviewed-on: https://chromium-review.googlesource.com/1116639Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Dominik Inführ <dinfuehr@google.com>
      Cr-Commit-Position: refs/heads/master@{#54053}
      5cb08217
    • Dominik Inführ's avatar
      Revert "Reland "[heap] Visit individual ephemerons instead of collections"" · 265d5c24
      Dominik Inführ authored
      This reverts commit 91f113e2.
      
      Reason for revert: still causes breakage on Chromium-integrated builds, failing here:
      
        CHECK_EQ(0, heap()->local_embedder_heap_tracer()->NumberOfWrappersToTrace());
      
      Original change's description:
      > Reland "[heap] Visit individual ephemerons instead of collections"
      >
      > This is a reland of 9aba0159
      >
      > Original change's description:
      > > [heap] Visit individual ephemerons instead of collections
      > >
      > > When marking ephemerons visit individual ephemerons with key and value
      > > unreachable instead of simply iterating all ephemerons in all weak
      > > collections. Also visit ephemerons at end of concurrent marking to do
      > > work we would otherwise need to do in the atomic pause.
      > >
      > > Bug: chromium:844008
      > > Change-Id: I3400ad1f81c0cdc0fe6506a1f1146a6743a7fcd7
      > > Reviewed-on: https://chromium-review.googlesource.com/1113934
      > > Commit-Queue: Dominik Inführ <dinfuehr@google.com>
      > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#54039}
      >
      > Bug: chromium:844008
      > Change-Id: I4c44e74c7cf5fe380ffa4ce9f106bebb57bc023d
      > Reviewed-on: https://chromium-review.googlesource.com/1116438
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Commit-Queue: Dominik Inführ <dinfuehr@google.com>
      > Cr-Commit-Position: refs/heads/master@{#54046}
      
      TBR=ulan@chromium.org,dinfuehr@google.com
      
      Change-Id: I4a059e86ba06e0b2562afc311b12d397cd78e857
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:844008
      Reviewed-on: https://chromium-review.googlesource.com/1116718Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54047}
      265d5c24
    • Dominik Inführ's avatar
      Reland "[heap] Visit individual ephemerons instead of collections" · 91f113e2
      Dominik Inführ authored
      This is a reland of 9aba0159
      
      Original change's description:
      > [heap] Visit individual ephemerons instead of collections
      > 
      > When marking ephemerons visit individual ephemerons with key and value
      > unreachable instead of simply iterating all ephemerons in all weak
      > collections. Also visit ephemerons at end of concurrent marking to do
      > work we would otherwise need to do in the atomic pause.
      > 
      > Bug: chromium:844008
      > Change-Id: I3400ad1f81c0cdc0fe6506a1f1146a6743a7fcd7
      > Reviewed-on: https://chromium-review.googlesource.com/1113934
      > Commit-Queue: Dominik Inführ <dinfuehr@google.com>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#54039}
      
      Bug: chromium:844008
      Change-Id: I4c44e74c7cf5fe380ffa4ce9f106bebb57bc023d
      Reviewed-on: https://chromium-review.googlesource.com/1116438Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Dominik Inführ <dinfuehr@google.com>
      Cr-Commit-Position: refs/heads/master@{#54046}
      91f113e2
    • Jakob Kummerow's avatar
      Revert "[heap] Visit individual ephemerons instead of collections" · 4b429b10
      Jakob Kummerow authored
      This reverts commit 9aba0159.
      
      Reason for revert: causes widespread breakage on Chromium-integrated builds, failing here:
      
        CHECK_EQ(0, heap()->local_embedder_heap_tracer()->NumberOfWrappersToTrace());
      
      in MarkCompactCollector::ProcessEphemeronMarking(). See e.g. https://logs.chromium.org/v/?s=chromium%2Fbb%2Fclient.v8.fyi%2FV8-Blink_Linux_64__dbg_%2F12321%2F%2B%2Frecipes%2Fsteps%2Fwebkit_unit_tests%2F0%2Fstdout and more on https://ci.chromium.org/p/v8/g/fyi/console
      
      Original change's description:
      > [heap] Visit individual ephemerons instead of collections
      > 
      > When marking ephemerons visit individual ephemerons with key and value
      > unreachable instead of simply iterating all ephemerons in all weak
      > collections. Also visit ephemerons at end of concurrent marking to do
      > work we would otherwise need to do in the atomic pause.
      > 
      > Bug: chromium:844008
      > Change-Id: I3400ad1f81c0cdc0fe6506a1f1146a6743a7fcd7
      > Reviewed-on: https://chromium-review.googlesource.com/1113934
      > Commit-Queue: Dominik Inführ <dinfuehr@google.com>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#54039}
      
      TBR=ulan@chromium.org,dinfuehr@google.com
      
      Change-Id: Ib44bfe8c49e8fc30c3d0f2beba03a2895530dfd6
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:844008
      Reviewed-on: https://chromium-review.googlesource.com/1116118Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54045}
      4b429b10
  10. 26 Jun, 2018 1 commit
  11. 08 Jun, 2018 1 commit
  12. 02 Feb, 2018 1 commit
  13. 10 Oct, 2017 1 commit
    • Michael Lippautz's avatar
      [heap] Introduce on-hold concurrent marking work list · b7e6eb92
      Michael Lippautz authored
      When hitting objects that are allocated in the most recent lienar
      allocation area, the concurrent marker currently has to bail out to the
      main thread.
      
      However, we only have to delay processing those objects until we are at
      a safepoint, e.g. IM::Step(). With this change we flush those
      on-hold-objects back to the shared queue upon performing an incremental
      marking step.
      
      Bug: chromium:694255
      Change-Id: I25647d0fc581a5c4de0346bc394dc51062f65f70
      Reviewed-on: https://chromium-review.googlesource.com/707315
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48424}
      b7e6eb92
  14. 25 Aug, 2017 1 commit
  15. 07 Aug, 2017 1 commit
  16. 24 Jul, 2017 1 commit
  17. 14 Jul, 2017 1 commit
  18. 12 Jul, 2017 2 commits
  19. 06 Jul, 2017 1 commit
  20. 05 Jul, 2017 2 commits
  21. 04 Jul, 2017 1 commit
  22. 26 Jun, 2017 2 commits
  23. 23 Jun, 2017 2 commits
  24. 22 Jun, 2017 1 commit