1. 26 Apr, 2022 1 commit
  2. 07 Mar, 2022 1 commit
  3. 16 Feb, 2022 2 commits
  4. 04 Jan, 2022 1 commit
    • Samuel Groß's avatar
      [base] Add VirtualAddressSpace::AllocateGuardRegion · 406d65d3
      Samuel Groß authored
      Previously, guard regions were created by allocating pages with
      PROT_NONE and relying on an allocation hint. This could fail however,
      for example on Fuchsia (where it would allocate a VMO to back the guard
      region) and possibly on Windows (where a placeholder mapping was
      replaced by a "real" mapping).
      
      Introducing an explicit VirtualAddressSpace::AllocateGuardRegion routine
      now makes this operation more efficient and effectively guarantees that
      it cannot fail if used correctly: in a regular subspace, there is no
      need to allocate anything when creating guard regions since the address
      space reservation backing the subspace is guaranteed to be inaccessible
      when no pages are allocated in it.
      
      Bug: chromium:1218005
      Change-Id: I6945f17616b6b8dad47241af96d4cb1f660e8858
      Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3366237Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Samuel Groß <saelo@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#78480}
      406d65d3
  5. 04 Dec, 2021 1 commit
    • Samuel Groß's avatar
      Introduce VirtualAddressSpace interface · a7cb30b0
      Samuel Groß authored
      This interface is meant to eventually replace the existing
      v8::PageAllocator interface. Beyond general refactoring of the
      PageAllocator APIs, the new interface now supports the concept of
      (contiguous) address space reservations, which previously had to be
      implemented through page allocations. These reservations now make better
      use of provided OS primitives on Fuchsia (VMARs) and Windows
      (placeholder mappings) and can be used to back many of the cages and
      virtual memory regions that V8 creates.
      
      The new interface is not yet stable and may change at any time without
      deprecating the old version first.
      
      Bug: chromium:1218005
      Change-Id: I295253c42e04cf311393c5dab9f8c06bd7451ce3
      Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3301475
      Commit-Queue: Samuel Groß <saelo@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#78235}
      a7cb30b0