1. 28 Feb, 2017 1 commit
  2. 13 Feb, 2017 2 commits
  3. 06 Feb, 2017 1 commit
  4. 08 Dec, 2016 1 commit
  5. 29 Nov, 2016 3 commits
  6. 24 Nov, 2016 2 commits
  7. 18 Nov, 2016 1 commit
  8. 11 Nov, 2016 1 commit
  9. 28 Oct, 2016 2 commits
  10. 31 Mar, 2016 2 commits
  11. 16 Feb, 2016 1 commit
    • ulan's avatar
      Add a generic remembered set class. · 4fdc19ae
      ulan authored
      This new class provides a unified interface for recording and iterating slots in store and slots buffers:
      
      RememberedSet<OLD_TO_NEW>::Insert(page, slot);
      RememberedSet<OLD_TO_OLD>::Insert(page, slot);
      
      RememberedSet<OLD_TO_NEW>::Iterate(heap, callback);
      RememberedSet<OLD_TO_OLD>::Iterate(heap, callback);
      
      After this change the store buffer is responsible only for collecting slots from the generated code.
      
      Subsequent CLs will remove the slots buffer.
      
      BUG=chromium:578883
      LOG=NO
      
      Review URL: https://codereview.chromium.org/1683653002
      
      Cr-Commit-Position: refs/heads/master@{#34031}
      4fdc19ae
  12. 09 Feb, 2016 1 commit
  13. 08 Feb, 2016 1 commit
    • ulan's avatar
      New page local store buffer. · bb883395
      ulan authored
      This replaces the global remembered set with per-page remembered sets.
      
      Each page in the old space, map space, and large object space keeps track of
      the set of slots in the page pointing to the new space.
      
      The data structure for storing slot sets is a two-level bitmap, which allows
      us to remove the store buffer overflow and SCAN_ON_SCAVENGE logic.
      
      Design doc: https://goo.gl/sMKCf7
      
      BUG=chromium:578883
      LOG=NO
      
      Review URL: https://codereview.chromium.org/1608583002
      
      Cr-Commit-Position: refs/heads/master@{#33806}
      bb883395
  14. 25 Jan, 2016 1 commit
    • mlippautz's avatar
      [heap] Cleanup: Remove WAS_SWEPT flag. · 5eff5420
      mlippautz authored
      - Completely rely on the concurrent sweeping state for SweepingCompleted()
      - Rename the state accordingly.
      
      CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_asan_rel,v8_linux64_tsan_rel,v8_mac64_asan_rel
      R=hpayer@chromium.org
      
      Review URL: https://codereview.chromium.org/1614953002
      
      Cr-Commit-Position: refs/heads/master@{#33490}
      5eff5420
  15. 15 Jan, 2016 1 commit
  16. 09 Dec, 2015 1 commit
  17. 04 Dec, 2015 1 commit
    • mlippautz's avatar
      [heap] Clean up stale store buffer entries for aborted pages. · 26fcd830
      mlippautz authored
      Fix the missed store buffer entries for live objects on aborted pages. Marking
      the page as scan_on_scavenge takes care of rebuilding the entries. Note that
      this requires an additional case in the rebuilding logic as we cannot iterate an
      aborted pages using the object layout, but rather have to use mark bits for
      this.
      
      BUG=chromium:524425, chromium:564498
      LOG=N
      
      Review URL: https://codereview.chromium.org/1497883003
      
      Cr-Commit-Position: refs/heads/master@{#32610}
      26fcd830
  18. 13 Nov, 2015 2 commits
    • ishell's avatar
      Avoid manual object's body traversal in GC. · 5ba9ea18
      ishell authored
      This CL introduces the following visitors:
      1) RecordMigratedSlotVisitor which simplifies MarkCompactCollector::MigrateObject().
      2) IteratePointersToFromSpaceVisitor which simplifies Heap::IteratePointersToFromSpace().
      3) FindPointersToNewSpaceVisitor which simplifies StoreBuffer::IteratePointersToNewSpace().
      
      These changes make the object's body descriptors the one and only place that knows how to traverse the object.
      
      Review URL: https://codereview.chromium.org/1441453002
      
      Cr-Commit-Position: refs/heads/master@{#31992}
      5ba9ea18
    • ishell's avatar
      Object's body descriptors refactoring. · 138eb324
      ishell authored
      1) Body descriptors moved to their own header files.
      2) Missing body descriptors added.
      3) Template versions of HeapObject::Iterate*() methods added.
      4) Body descriptors support new kind of queries: IsValidSlot(offset) which can be used for invalid slots filtering.
      
      This is a first step towards virtual and static visitors unification and support in-object properties in built-in (sub-)classes.
      
      Review URL: https://codereview.chromium.org/1440243002
      
      Cr-Commit-Position: refs/heads/master@{#31980}
      138eb324
  19. 29 Sep, 2015 1 commit
  20. 16 Sep, 2015 1 commit
  21. 27 Aug, 2015 1 commit
    • rmcilroy's avatar
      [interpreter] Add constant_pool() to BytecodeArray. · 69ce0f4d
      rmcilroy authored
      Adds a (currently unused) constant_pool() field to BytecodeArray objects.
      This field points to a FixedArray object which will be used to hold constants.
      
      The BytecodeArray is now a mixed values object type, with the
      kConstantPoolOffset object holding a tagged pointer, but the remainder of the
      object holding raw bytes (which could look like tagged pointers but are not).
      Modify the BytecodeArray GC visitors to deal with this and test that the
      field is migrated properly when evacuated.
      
      BUG=v8:4280
      LOG=N
      
      Review URL: https://codereview.chromium.org/1314953004
      
      Cr-Commit-Position: refs/heads/master@{#30404}
      69ce0f4d
  22. 25 Aug, 2015 1 commit
  23. 21 Aug, 2015 1 commit
  24. 20 Aug, 2015 1 commit
  25. 17 Aug, 2015 2 commits
  26. 07 Aug, 2015 1 commit
  27. 03 Aug, 2015 3 commits
  28. 23 Jul, 2015 1 commit
  29. 20 Jul, 2015 2 commits