1. 22 Feb, 2021 1 commit
  2. 17 Feb, 2021 1 commit
    • Omer Katz's avatar
      cppgc: Implement process-global state accessors. · c174643b
      Omer Katz authored
      Process global accessors for total physical size and used size are
      needed for blink. These are implemented via an allocation observer that
      atomically updates static counters.
      
      The public api only provides getters for the counters. An internal class
      is in charge of updating the counters as needed. A similar split is also
      applied to IsAnyIncrementalOrConcurrentMarking().
      
      Drive-by: ProcessHeap is merged into cppgc::internal::WriteBarrier.
      
      Bug: chromium:1056170
      Change-Id: Iaedebd1ac9d49238ce6bdd52ffa5d1ef4d28203d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2695394
      Commit-Queue: Omer Katz <omerkatz@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#72832}
      c174643b
  3. 11 Feb, 2021 2 commits
  4. 09 Feb, 2021 1 commit
  5. 05 Feb, 2021 1 commit
    • Michael Lippautz's avatar
      cppgc: Fix low-level write barriers · 65893d84
      Michael Lippautz authored
      Some types of supported low-level write barrier only requires passing
      a slot, which may not be even part of a heap object but stack.
      
      This complicates the situation, as even with caged heap, there's no
      way to distinguish a stack and heap slot.
      
      Solve this by passing an optional callback that can lazy be used to
      get the heap. This can be used by the embedder to retrieve the heap
      from e.g. TLS if needed.  This aligns the barrier with Oilpan in
      Blink.
      
      Bug: chromium:1056170
      Change-Id: I1e5d022ab17a2614a67b6ef39ed12691bcbd0ac6
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2675924Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#72550}
      65893d84
  6. 21 Jan, 2021 1 commit
  7. 19 Jan, 2021 1 commit
  8. 01 Dec, 2020 1 commit
  9. 24 Nov, 2020 1 commit
    • Michael Lippautz's avatar
      cppgc: Expose write barriers · 3b82f4c6
      Michael Lippautz authored
      Exposes an opaque handle for uniformly (cppgc and V8) referring to an
      instance of a heap.
      
      Exposes a set of raw write barriers for advances embedders through
      subtle::HeapConsistency which is a mirror into write barrier internals.
      The following barriers are exposed:
      - DijkstraWriteBarrier: Regular Dijkstra-style write barrier (add to
        wavefront);
      - DijkstraWriteBarrierRange: Same as DijkstraWriteBarrier but
        operating on a range of slots that are composite (inlined) objects;
      - SteeleWriteBarrier: Regular Steele-style write barrier (retreating
        wavefront);
      
      Change-Id: Ib5ac280204686bf887690f72df1cdb506ea6ef70
      Bug: chromium:1056170
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2554601Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
      Reviewed-by: 's avatarAnton Bikineev <bikineev@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71381}
      3b82f4c6
  10. 17 Nov, 2020 1 commit
  11. 27 Oct, 2020 1 commit
  12. 23 Oct, 2020 1 commit
  13. 15 Oct, 2020 1 commit
  14. 09 Oct, 2020 1 commit
  15. 05 Oct, 2020 1 commit
  16. 23 Jul, 2020 1 commit
  17. 10 Jul, 2020 1 commit
  18. 07 Jul, 2020 1 commit