1. 18 Nov, 2016 1 commit
  2. 10 Nov, 2016 1 commit
  3. 03 Nov, 2016 1 commit
  4. 13 Oct, 2016 1 commit
  5. 12 Sep, 2016 1 commit
  6. 07 Sep, 2016 1 commit
  7. 06 Sep, 2016 2 commits
    • 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
    • mlippautz's avatar
      [heap,snapshot] Replace first page size from snapshots with page trimming · ed8791ea
      mlippautz authored
      Replace first page size in the snapshots with a heap logic that trims pages
      after deserialization. The snapshot provided page sizes was just an
      approximation, while the heap knows exactly where to trim.
      
      Furthermore, trim the pages directly after deserialization, leaving no wiggle
      room for further objects. This avoids pollution of the immortal immovable pages
      with regular objects, e.g. Contexts. The downside is that we potentially require
      expanding the space with a new page.
      
      BUG=chromium:636331
      
      Review-Url: https://codereview.chromium.org/2311963002
      Cr-Commit-Position: refs/heads/master@{#39200}
      ed8791ea
  8. 28 Aug, 2016 1 commit
  9. 25 Aug, 2016 1 commit
  10. 12 Aug, 2016 2 commits
  11. 23 Jun, 2016 1 commit
    • mlippautz's avatar
      [heap] Modernize all *Page iterators to be proper C++ iterators · 4244b989
      mlippautz authored
      As part of the page type unification also unify page iterators. Iterating
      over a space works the same for all spaces now (new, old, lo).
      
      Iterating over pages of a space follows now the regular C++ iterator pattern:
      - for (auto it = space->begin(); it != space->end(); ++it) {}
      - for (Page* p : *space) {}
      
      GC only: Loop supporting unlinking/freeing of a Page on the fly:
        for (auto it = space->begin(); != space->end();) {
          Page* p = *(it++);
          p->Unlink();
        }
      
      For iteration of a range of new space pages use NewSpacePageRange which
      also verifies that the range is actually a proper new space page range.
      
      BUG=chromium:581412
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2088223002
      Cr-Commit-Position: refs/heads/master@{#37210}
      4244b989
  12. 07 Jun, 2016 1 commit
    • mlippautz's avatar
      Track based on JSArrayBuffer addresses on pages instead of the attached · 839f3fd4
      mlippautz authored
      backing store.
      
      Details of tracking:
      - Scavenge: New space pages are processes in bulk on the main thread
      - MC: Unswept pages are processed in bulk in parallel. All other pages
        are processed by the sweeper concurrently.
      
      BUG=chromium:611688
      LOG=N
      TEST=cctest/test-array-buffer-tracker/*
      CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_tsan_rel,v8_mac64_asan_rel
      
      Review-Url: https://codereview.chromium.org/2036643002
      Cr-Commit-Position: refs/heads/master@{#36798}
      839f3fd4
  13. 06 Jun, 2016 2 commits
  14. 02 Jun, 2016 1 commit
  15. 01 Jun, 2016 3 commits
  16. 31 May, 2016 2 commits
  17. 30 May, 2016 2 commits
  18. 25 May, 2016 6 commits
  19. 24 May, 2016 1 commit
    • mlippautz's avatar
      Revert of [heap] Fine-grained JSArrayBuffer tracking (patchset #19 id:770001... · d2dff032
      mlippautz authored
      Revert of [heap] Fine-grained JSArrayBuffer tracking (patchset #19 id:770001 of https://codereview.chromium.org/1964023002/ )
      
      Reason for revert:
      Revert it.
      
      Original issue's description:
      > [heap] Fine-grained JSArrayBuffer tracking
      >
      > Track based on JSArrayBuffer addresses instead of the attached backing store.
      > This way we can later on iterate buffers on a single page. The reland also
      > switches to a page-based implementation where a page contains the set of its
      > contained (live and dead) buffers.
      >
      > Details of tracking:
      > - Scavenge: New space pages are processes in bulk on the main thread
      > - MC: Unswept pages are processed in bulk in parallel. All other pages
      >   are processed by the sweeper concurrently.
      >
      > BUG=chromium:611688
      > LOG=N
      > CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_tsan_rel,v8_mac64_asan_rel
      >
      > Committed: https://crrev.com/b2d8bfc7931eef49d527605ba485950dea41cde3
      > Cr-Commit-Position: refs/heads/master@{#36437}
      
      TBR=hpayer@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=chromium:611688
      
      Review-Url: https://codereview.chromium.org/2006183003
      Cr-Commit-Position: refs/heads/master@{#36461}
      d2dff032
  20. 23 May, 2016 1 commit
    • mlippautz's avatar
      [heap] Fine-grained JSArrayBuffer tracking · b2d8bfc7
      mlippautz authored
      Track based on JSArrayBuffer addresses instead of the attached backing store.
      This way we can later on iterate buffers on a single page. The reland also
      switches to a page-based implementation where a page contains the set of its
      contained (live and dead) buffers.
      
      Details of tracking:
      - Scavenge: New space pages are processes in bulk on the main thread
      - MC: Unswept pages are processed in bulk in parallel. All other pages
        are processed by the sweeper concurrently.
      
      BUG=chromium:611688
      LOG=N
      CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_tsan_rel,v8_mac64_asan_rel
      
      Review-Url: https://codereview.chromium.org/1964023002
      Cr-Commit-Position: refs/heads/master@{#36437}
      b2d8bfc7
  21. 20 May, 2016 1 commit
    • mlippautz's avatar
      [heap] Harden heap-related cctests · fdd9f6b9
      mlippautz authored
      - Move usable functions into proper heap-utils.h/.cc files and remove
        utils-inl.h file
      - Fix assumptions accross the board relying on certain behavior that is not
        invariant
      
      This is a requirement for modifying page size.
      
      BUG=chromium:581412
      LOG=N
      R=ulan@chromium.org
      
      Review-Url: https://codereview.chromium.org/1999753002
      Cr-Commit-Position: refs/heads/master@{#36410}
      fdd9f6b9
  22. 10 May, 2016 2 commits
  23. 20 Apr, 2016 1 commit
  24. 19 Apr, 2016 2 commits
  25. 25 Feb, 2016 1 commit
  26. 16 Dec, 2015 1 commit
    • mlippautz's avatar
      Reland of "[cctest] Add tests for aborting compaction of pages" · 2bb51df9
      mlippautz authored
      Tests for
      * aborting a full page.
      * partially aborting a page.
      * partially aborting a page with pointers between aborted pages.
      * partially aborting a page with store buffer entries.
      
      Also introduces force_oom() which prohibits a old space to
      expand
      
      BUG=chromium:524425
      LOG=N
      
      CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_nosnap_rel,v8_linux_nosnap_dbg,v8_win_nosnap_shared_rel,v8_win_nosnap_shared_compile_rel
      
      Review URL: https://codereview.chromium.org/1518803005
      
      Cr-Commit-Position: refs/heads/master@{#32899}
      2bb51df9