1. 07 Feb, 2019 1 commit
    • Ulan Degenbaev's avatar
      [heap] Rework incremental marking scheduling · 4c65986a
      Ulan Degenbaev authored
      The new scheduling reduces the main thread marking performed in
      tasks and on allocation. It is based on two counters:
      - bytes_marked,
      - scheduled_bytes_to_mark.
      
      The bytes_marked accounts marking done both the main thread and
      the concurrent threads. The scheduled_bytes_to_mark increases based
      on allocated bytes and also based on time passed since the start
      of marking. The main thread steps are allowed to mark the minimal
      amount if bytes_marked is greater than scheduled_bytes_to_mark.
      
      This also changes tasks posted for marking. Before only normal
      tasks were posted. Now delayed tasks are posted if the marker is
      ahead of schedule.
      
      Bug: 926189
      
      Change-Id: I5bc9c33a5ecfc9f8d09f78d08ae277d16a2779ca
      Reviewed-on: https://chromium-review.googlesource.com/c/1443056
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59433}
      4c65986a
  2. 26 Nov, 2018 1 commit
    • Marja Hölttä's avatar
      [iwyu] Include heap-inl.h less. · 0453d418
      Marja Hölttä authored
      - Remove heap-inl.h includes from places where it looked unnecessary. (This is a
        non-scientific approach, because it's probably pulled in indirectly anyway.)
      
      - Annotate places which include heap-inl.h because they need heap/ internals.
      
      - ACCESSORS legitimately needs heap-inl.h because of Heap::FromWritableHeapObject.
      
      - Add includes to heap/heap-write-barrier(-inl).h
      
      - A bunch of IWYU fixes discovered when working on this CL (includes which were
        missing because heap-inl.h pulls them in indirectly).
      
      BUG=v8:7490,v8:8238,v8:8499
      
      Change-Id: I00f9a74d430f13d7c080dca77a92b03bcca7ef96
      Reviewed-on: https://chromium-review.googlesource.com/c/1349241Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57814}
      0453d418
  3. 29 May, 2018 1 commit
  4. 08 May, 2018 1 commit
  5. 15 Mar, 2018 1 commit
  6. 12 Mar, 2018 1 commit
  7. 12 Oct, 2017 1 commit
  8. 25 Sep, 2017 1 commit
  9. 22 May, 2017 1 commit
  10. 05 May, 2017 1 commit
  11. 18 Nov, 2016 1 commit
  12. 08 Nov, 2016 1 commit
  13. 04 Nov, 2016 1 commit
  14. 03 Nov, 2016 1 commit
    • ulan's avatar
      Revert of [heap] Add a guard for restarting the memory reducer after... · 3c96c5e2
      ulan authored
      Revert of [heap] Add a guard for restarting the memory reducer after mark-compact. (patchset #1 id:1 of https://chromiumcodereview.appspot.com/2433933005/ )
      
      Reason for revert:
      Speculative revert to see impact on crbug.com/659531
      
      Original issue's description:
      > [heap] Add a guard for restarting the memory reducer after mark-compact.
      >
      > Currently it is possible to get into a cycle of
      > mark-compact -> memory reducer -> mark-compact -> memory reducer ...
      > where the memory reducer does not free memory.
      >
      > This patch ensures that the memory reducer restarts only if the
      > committed memory increased by sufficient amount after the last run.
      >
      > BUG=
      
      TBR=hpayer@chromium.org,davidroutier17@gmail.com
      # Not skipping CQ checks because original CL landed more than 1 days ago.
      BUG=
      
      Review-Url: https://codereview.chromium.org/2472053003
      Cr-Commit-Position: refs/heads/master@{#40737}
      3c96c5e2
  15. 20 Oct, 2016 1 commit
  16. 12 Sep, 2016 1 commit
  17. 07 Sep, 2016 1 commit
  18. 06 Sep, 2016 1 commit
    • ulan's avatar
      [heap] Refactor incremental marking step. · eca8a5eb
      ulan authored
      This patch
      - extracts the logic of keeping track of allocated bytes
        from the actual incremental marking step.
      - replaces OldSpaceStep with a check for incremental marking start.
      - removes the force_marking parameter of AdvanceIncrementalMarking.
      
      BUG=chromium:616434
      LOG=NO
      
      Review-Url: https://codereview.chromium.org/2304123003
      Cr-Commit-Position: refs/heads/master@{#39213}
      eca8a5eb
  19. 04 Apr, 2016 1 commit
  20. 22 Feb, 2016 1 commit
  21. 12 Feb, 2016 1 commit
  22. 25 Nov, 2015 1 commit
    • jochen's avatar
      Double the API call rate threshold for the memory reducer to kick in · 9ec240d0
      jochen authored
      Moving Blink from hidden values to private symbols almost doubled the
      rate of API calls, as the private symbols API increases the call-depth
      scope while the hidden values one didn't.
      
      I manually checked that this fixes the regression on the long running
      gmail benchmark but doesn't add new memory reducer GCs on the infinite
      scrolling benchmark
      
      BUG=chromium:561325
      R=ulan@chromium.org
      LOG=n
      
      Review URL: https://codereview.chromium.org/1472193003
      
      Cr-Commit-Position: refs/heads/master@{#32279}
      9ec240d0
  23. 06 Nov, 2015 1 commit
  24. 29 Oct, 2015 1 commit
  25. 27 Oct, 2015 1 commit
  26. 22 Oct, 2015 1 commit
  27. 05 Oct, 2015 1 commit
  28. 02 Oct, 2015 1 commit
  29. 30 Sep, 2015 1 commit
  30. 29 Sep, 2015 1 commit
  31. 03 Sep, 2015 1 commit
  32. 01 Sep, 2015 1 commit
  33. 31 Aug, 2015 2 commits
    • hablich's avatar
      Revert of [heap] More flag cleanup. (patchset #8 id:140001 of... · 6eb83769
      hablich authored
      Revert of [heap] More flag cleanup. (patchset #8 id:140001 of https://codereview.chromium.org/1314863003/ )
      
      Reason for revert:
      Breaks http://build.chromium.org/p/client.v8/builders/V8%20Arm%20-%20debug%20-%202/builds/2372
      
      Original issue's description:
      > [heap] GC flag cleanup/restructuring.
      >
      > * GC's flags are now proper flags and not int.
      > * Callback flags are not threaded through but only set once like gc flags
      > * Callers of methods that trigger GCs need to pass a reason when not using
      >   the default parameters.
      >
      > Furthermore, each GC invocation can be passed the GC and GCCallback flags. We
      > usually override the currently set flags upon finishing a GC cylce, but are able
      > to restore the previously set if desired. This is useful for explicitely
      > triggered scavenges or external requests that interrupt the current behaviour.
      >
      > BUG=
      >
      > Committed: https://crrev.com/f4f3b431b9ce0778d926acf03c0d36dae5c0cba4
      > Cr-Commit-Position: refs/heads/master@{#30457}
      
      TBR=hpayer@chromium.org,yangguo@chromium.org,mlippautz@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=
      
      Review URL: https://codereview.chromium.org/1303393004
      
      Cr-Commit-Position: refs/heads/master@{#30463}
      6eb83769
    • mlippautz's avatar
      [heap] GC flag cleanup/restructuring. · f4f3b431
      mlippautz authored
      * GC's flags are now proper flags and not int.
      * Callback flags are not threaded through but only set once like gc flags
      * Callers of methods that trigger GCs need to pass a reason when not using
        the default parameters.
      
      Furthermore, each GC invocation can be passed the GC and GCCallback flags. We
      usually override the currently set flags upon finishing a GC cylce, but are able
      to restore the previously set if desired. This is useful for explicitely
      triggered scavenges or external requests that interrupt the current behaviour.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1314863003
      
      Cr-Commit-Position: refs/heads/master@{#30457}
      f4f3b431
  34. 24 Aug, 2015 1 commit
  35. 20 Aug, 2015 2 commits
  36. 07 Aug, 2015 2 commits
  37. 04 Aug, 2015 1 commit