1. 26 Apr, 2022 1 commit
  2. 07 Mar, 2022 1 commit
  3. 16 Feb, 2022 2 commits
  4. 18 Jan, 2022 1 commit
    • Samuel Groß's avatar
      [base] Add VirtualAddressSpace unittests · c992a256
      Samuel Groß authored
      These tests cover the basic VirtualAddressSpace functionality for the
      three different types of address spaces currently available: the root
      space, subspaces, and emulated subspaces.
      
      This CL also includes minor bugfixes in VirtualAddressSpace
      implementations and removes RandomizedVirtualAlloc in platform-win32.cc
      which doesn't seem to do anything useful anymore but prevents page
      allocation hints from working correctly.
      
      Bug: v8:10391
      Change-Id: Ifa260d18fd366516b5a41ab42ce2f1785c57d061
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3386801Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Samuel Groß <saelo@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#78666}
      c992a256
  5. 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
  6. 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