1. 29 Mar, 2019 1 commit
  2. 05 Feb, 2019 1 commit
  3. 18 Jan, 2019 1 commit
    • Ulan Degenbaev's avatar
      Reland "[heap] Remove bailout marking worklist." · 8b3fbe1d
      Ulan Degenbaev authored
      This reverts commit 13e07389.
      
      Original change's description:
      > [heap] Remove bailout marking worklist.
      >
      > The concurrent marker can now process all objects.
      > This patch also eagerly visits the objects that undergo layout
      > changes. This is because previously such objects were pushed
      > onto the bailout worklist, which is gone now.
      > To preserve the incremental step accounting, the patch introduces
      > a new GC tracer scope called MC_INCREMENTAL_LAYOUT_CHANGE.
      >
      > Bug: v8:8486
      > Change-Id: Ic1c2f0d4e2ac0602fc945f3258af9624247bd65f
      > Reviewed-on: https://chromium-review.googlesource.com/c/1386486
      > Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#58712}
      
      Change-Id: I85c99837819f6971c248198bd51ad40eebdb4fac
      Reviewed-on: https://chromium-review.googlesource.com/c/1417595Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58913}
      8b3fbe1d
  4. 14 Jan, 2019 1 commit
    • Ulan Degenbaev's avatar
      Revert "[heap] Remove bailout marking worklist." · 13e07389
      Ulan Degenbaev authored
      This reverts commit 68a8bdd8.
      
      Reason for revert: memory regression: crbug.com/921239
      
      Original change's description:
      > [heap] Remove bailout marking worklist.
      > 
      > The concurrent marker can now process all objects.
      > This patch also eagerly visits the objects that undergo layout
      > changes. This is because previously such objects were pushed
      > onto the bailout worklist, which is gone now.
      > To preserve the incremental step accounting, the patch introduces
      > a new GC tracer scope called MC_INCREMENTAL_LAYOUT_CHANGE.
      > 
      > Bug: v8:8486
      > Change-Id: Ic1c2f0d4e2ac0602fc945f3258af9624247bd65f
      > Reviewed-on: https://chromium-review.googlesource.com/c/1386486
      > Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#58712}
      
      TBR=ulan@chromium.org,mlippautz@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: v8:8486, chromium:921239
      Change-Id: I1f851b948f4ce403316e469999f0b16e8dfdb62d
      Reviewed-on: https://chromium-review.googlesource.com/c/1408990
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58787}
      13e07389
  5. 10 Jan, 2019 1 commit
    • Ulan Degenbaev's avatar
      [heap] Remove bailout marking worklist. · 68a8bdd8
      Ulan Degenbaev authored
      The concurrent marker can now process all objects.
      This patch also eagerly visits the objects that undergo layout
      changes. This is because previously such objects were pushed
      onto the bailout worklist, which is gone now.
      To preserve the incremental step accounting, the patch introduces
      a new GC tracer scope called MC_INCREMENTAL_LAYOUT_CHANGE.
      
      Bug: v8:8486
      Change-Id: Ic1c2f0d4e2ac0602fc945f3258af9624247bd65f
      Reviewed-on: https://chromium-review.googlesource.com/c/1386486
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58712}
      68a8bdd8
  6. 26 Oct, 2018 1 commit
  7. 17 Oct, 2018 1 commit
  8. 04 Sep, 2018 1 commit
  9. 08 Jun, 2018 1 commit
  10. 26 Mar, 2018 1 commit
  11. 14 Dec, 2017 1 commit
    • Ulan Degenbaev's avatar
      [heap] Emit trace event for background GC tasks. · 2031503a
      Ulan Degenbaev authored
      The following events in v8.gc category are emitted:
      - V8.GC_BACKGROUND_ARRAY_BUFFER_FREE
      - V8.GC_BACKGROUND_STORE_BUFFER
      - V8.GC_BACKGROUND_UNMAPPER
      - V8.GC_MC_BACKGROUND_EVACUATE_COPY
      - V8.GC_MC_BACKGROUND_EVACUATE_UPDATE_POINTERS
      - V8.GC_MC_BACKGROUND_MARKING
      - V8.GC_MC_BACKGROUND_SWEEPING
      - V8.GC_MINOR_MC_BACKGROUND_EVACUATE_COPY
      - V8.GC_MINOR_MC_BACKGROUND_EVACUATE_UPDATE_POINTERS
      - V8.GC_MINOR_MC_BACKGROUND_MARKING
      - V8.GC_SCAVENGER_BACKGROUND_SCAVENGE_PARALLEL
      
      Bug: chromium:758183
      Change-Id: I04368f75ac740cbc832a864609709e5a46f5baef
      Reviewed-on: https://chromium-review.googlesource.com/825203
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50107}
      2031503a
  12. 07 Dec, 2017 1 commit
  13. 06 Dec, 2017 1 commit
  14. 04 Dec, 2017 1 commit
  15. 30 Nov, 2017 1 commit
  16. 31 Aug, 2017 1 commit
  17. 01 Aug, 2017 1 commit
  18. 31 Jul, 2017 1 commit
  19. 23 Jun, 2017 1 commit
  20. 01 Jun, 2017 1 commit
  21. 31 May, 2017 2 commits
  22. 29 May, 2017 2 commits
  23. 22 May, 2017 2 commits
    • Michael Lippautz's avatar
      [heap] MinorMC: Identify unmodified global handles on the fly · 652c9522
      Michael Lippautz authored
      For the Scavenger we require a first pass over global handles for identifying
      unmodified nodes because the Scavenger might have already written forwarding
      pointers during scanning, making it hard to perform the proper checks.
      
      The minor MC does not mutate the object graph during marking and can thus merge
      this phase into the regular phase executed during marking roots.
      
      Furthermore, moves processing into the parallel marking phase of the minor MC
      collector.
      
      Bug: chromium:720477, chromium:651354
      Change-Id: Id33552124264e3ab0bdf34d22ac30c19c1522707
      Reviewed-on: https://chromium-review.googlesource.com/509550
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45461}
      652c9522
    • Ross McIlroy's avatar
      [Heap] Remove code flushing. · f5d0df35
      Ross McIlroy authored
      Only FullCodegen code ever gets flushed by code flushing. Since we are
      deprecating the old pipeline, the added complexity introduced by code
      flushing is no longer worth it. This CL removes it (but keeps code aging,
      which is used to unlink SFIs from the compilation cache).
      
      BUG=v8:6389,v8:6379,v8:6409
      
      Change-Id: I90de113a101f86dbeaaf0511c61a090ef12aa365
      Reviewed-on: https://chromium-review.googlesource.com/507388
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45446}
      f5d0df35
  24. 17 May, 2017 1 commit
  25. 11 May, 2017 1 commit
  26. 03 May, 2017 1 commit
    • mlippautz's avatar
      [heap] MinorMC: Evacuation for young generation · bf74d43d
      mlippautz authored
      In the spirit of the full MC, we evacuate and update pointers in parallel for
      the young generation.
      
      The collectors are connected during incremental marking when mark bits are
      transferred from the young generation bitmap to the old generation bitmap.
      
      The evacuation phase cannot (yet) move pages and relies completely on copying
      objects.
      
      BUG=chromium:651354
      
      Review-Url: https://codereview.chromium.org/2796233003
      Cr-Commit-Position: refs/heads/master@{#45074}
      bf74d43d
  27. 12 Apr, 2017 1 commit
  28. 21 Mar, 2017 1 commit
  29. 16 Mar, 2017 1 commit
  30. 02 Mar, 2017 1 commit
  31. 22 Feb, 2017 1 commit
  32. 20 Feb, 2017 3 commits
  33. 17 Feb, 2017 1 commit
    • Michael Lippautz's avatar
      [heap] GC-based fast promotion mode · a8e3925e
      Michael Lippautz authored
      A fast promotion mode that works solely on GC heuristics without
      requiring compiler or other profiler support by implementing zero-copy 
      evacuation for new space.
      
      - Once a threshold of survived bytes in the Scavenger is reached the
        mode is activated.
      - In fast promotion mode all pages are moved to old space instead of
        performing a Scavenge.
      - The inevitable upcoming full MC determines whether the decision
        whether the mode should stay on or be turned off based on the young
        generation survival rate.
      
      BUG=chromium:693413
      
      Change-Id: Ifdf296092a9bac609f9dcdfb47a24046f3093745
      Reviewed-on: https://chromium-review.googlesource.com/442560
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#43276}
      a8e3925e
  34. 15 Feb, 2017 1 commit
  35. 18 Nov, 2016 1 commit