5#ifndef V8_BASE_VIRTUAL_ADDRESS_SPACE_H_
6#define V8_BASE_VIRTUAL_ADDRESS_SPACE_H_
56 void SetRandomSeed(int64_t seed)
override;
58 Address RandomPageAddress()
override;
63 void FreePages(
Address address,
size_t size)
override;
65 bool SetPagePermissions(
Address address,
size_t size,
68 bool AllocateGuardRegion(
Address address,
size_t size)
override;
70 void FreeGuardRegion(
Address address,
size_t size)
override;
77 void FreeSharedPages(
Address address,
size_t size)
override;
79 bool CanAllocateSubspaces()
override;
81 std::unique_ptr<v8::VirtualAddressSpace> AllocateSubspace(
82 Address hint,
size_t size,
size_t alignment,
85 bool RecommitPages(
Address address,
size_t size,
88 bool DiscardSystemPages(
Address address,
size_t size)
override;
90 bool DecommitPages(
Address address,
size_t size)
override;
104 void SetRandomSeed(int64_t seed)
override;
106 Address RandomPageAddress()
override;
108 Address AllocatePages(
Address hint,
size_t size,
size_t alignment,
111 void FreePages(
Address address,
size_t size)
override;
113 bool SetPagePermissions(
Address address,
size_t size,
116 bool AllocateGuardRegion(
Address address,
size_t size)
override;
118 void FreeGuardRegion(
Address address,
size_t size)
override;
123 uint64_t
offset)
override;
125 void FreeSharedPages(
Address address,
size_t size)
override;
129 std::unique_ptr<v8::VirtualAddressSpace> AllocateSubspace(
130 Address hint,
size_t size,
size_t alignment,
133 bool RecommitPages(
Address address,
size_t size,
136 bool DiscardSystemPages(
Address address,
size_t size)
override;
138 bool DecommitPages(
Address address,
size_t size)
override;
virtual void FreeSubspace(VirtualAddressSubspace *subspace)=0
friend VirtualAddressSubspace
~VirtualAddressSpace() override=default
RandomNumberGenerator rng_
RegionAllocator region_allocator_
VirtualAddressSpaceBase * parent_space_
bool CanAllocateSubspaces() override
AddressSpaceReservation reservation_
bool IsSubset(PagePermissions lhs, PagePermissions rhs)
constexpr Address kNullAddress
intptr_t PlatformSharedMemoryHandle
#define NON_EXPORTED_BASE(code)