5#ifndef V8_BASE_EMULATED_VIRTUAL_ADDRESS_SUBSPACE_H_
6#define V8_BASE_EMULATED_VIRTUAL_ADDRESS_SUBSPACE_H_
44 void SetRandomSeed(int64_t seed)
override;
46 Address RandomPageAddress()
override;
51 void FreePages(
Address address,
size_t size)
override;
58 void FreeSharedPages(
Address address,
size_t size)
override;
60 bool SetPagePermissions(
Address address,
size_t size,
63 bool AllocateGuardRegion(
Address address,
size_t size)
override;
65 void FreeGuardRegion(
Address address,
size_t size)
override;
67 bool CanAllocateSubspaces()
override;
69 std::unique_ptr<v8::VirtualAddressSpace> AllocateSubspace(
70 Address hint,
size_t size,
size_t alignment,
73 bool RecommitPages(
Address address,
size_t size,
76 bool DiscardSystemPages(
Address address,
size_t size)
override;
78 bool DecommitPages(
Address address,
size_t size)
override;
88 size_t inner_size)
const {
89 return (inner_start >= outer_start) &&
90 ((inner_start + inner_size) <= (outer_start + outer_size));
94 return Contains(
base(),
size(), addr, length);
98 return Contains(mapped_base(), mapped_size(), addr, length);
102 return Contains(unmapped_base(), unmapped_size(), addr, length);
109 return size <= (unmapped_size() / 2);
size_t mapped_size() const
bool IsUsableSizeForUnmappedRegion(size_t size) const
size_t unmapped_size() const
Address mapped_base() const
bool Contains(Address addr, size_t length) const
RegionAllocator region_allocator_
bool Contains(Address outer_start, size_t outer_size, Address inner_start, size_t inner_size) const
Address unmapped_base() const
const size_t mapped_size_
v8::VirtualAddressSpace * parent_space_
bool UnmappedRegionContains(Address addr, size_t length) const
RandomNumberGenerator rng_
bool MappedRegionContains(Address addr, size_t length) const
intptr_t PlatformSharedMemoryHandle
#define NON_EXPORTED_BASE(code)