#ifndef V8_SANDBOX_EXTERNAL_POINTER_TABLE_INL_H_
#define V8_SANDBOX_EXTERNAL_POINTER_TABLE_INL_H_
#include "src/sandbox/compactible-external-entity-table-inl.h"
#include "src/sandbox/external-pointer-table.h"
#include "src/sandbox/external-pointer.h"
#ifdef V8_COMPRESS_POINTERS
namespace v8 {
namespace internal {
void ExternalPointerTableEntry::MakeExternalPointerEntry(
Address value, ExternalPointerTag tag) { … }
Address ExternalPointerTableEntry::GetExternalPointer(
ExternalPointerTag tag) const { … }
void ExternalPointerTableEntry::SetExternalPointer(Address value,
ExternalPointerTag tag) { … }
bool ExternalPointerTableEntry::HasExternalPointer(
ExternalPointerTag tag) const { … }
Address ExternalPointerTableEntry::ExchangeExternalPointer(
Address value, ExternalPointerTag tag) { … }
ExternalPointerTag ExternalPointerTableEntry::GetExternalPointerTag() const { … }
Address ExternalPointerTableEntry::ExtractManagedResourceOrNull() const { … }
void ExternalPointerTableEntry::MakeZappedEntry() { … }
void ExternalPointerTableEntry::MakeFreelistEntry(uint32_t next_entry_index) { … }
uint32_t ExternalPointerTableEntry::GetNextFreelistEntryIndex() const { … }
void ExternalPointerTableEntry::Mark() { … }
void ExternalPointerTableEntry::MakeEvacuationEntry(Address handle_location) { … }
bool ExternalPointerTableEntry::HasEvacuationEntry() const { … }
void ExternalPointerTableEntry::Evacuate(ExternalPointerTableEntry& dest,
EvacuateMarkMode mode) { … }
Address ExternalPointerTable::Get(ExternalPointerHandle handle,
ExternalPointerTag tag) const { … }
void ExternalPointerTable::Set(ExternalPointerHandle handle, Address value,
ExternalPointerTag tag) { … }
Address ExternalPointerTable::Exchange(ExternalPointerHandle handle,
Address value, ExternalPointerTag tag) { … }
ExternalPointerTag ExternalPointerTable::GetTag(
ExternalPointerHandle handle) const { … }
void ExternalPointerTable::Zap(ExternalPointerHandle handle) { … }
ExternalPointerHandle ExternalPointerTable::AllocateAndInitializeEntry(
Space* space, Address initial_value, ExternalPointerTag tag) { … }
void ExternalPointerTable::Mark(Space* space, ExternalPointerHandle handle,
Address handle_location) { … }
void ExternalPointerTable::Evacuate(Space* from_space, Space* to_space,
ExternalPointerHandle handle,
Address handle_location,
EvacuateMarkMode mode) { … }
bool ExternalPointerTable::IsValidHandle(ExternalPointerHandle handle) { … }
uint32_t ExternalPointerTable::HandleToIndex(ExternalPointerHandle handle) { … }
ExternalPointerHandle ExternalPointerTable::IndexToHandle(uint32_t index) { … }
bool ExternalPointerTable::Contains(Space* space,
ExternalPointerHandle handle) const { … }
void ExternalPointerTable::Space::NotifyExternalPointerFieldInvalidated(
Address field_address, ExternalPointerTag tag) { … }
void ExternalPointerTable::ManagedResource::ZapExternalPointerTableEntry() { … }
void ExternalPointerTable::TakeOwnershipOfManagedResourceIfNecessary(
Address value, ExternalPointerHandle handle, ExternalPointerTag tag) { … }
void ExternalPointerTable::FreeManagedResourceIfPresent(uint32_t entry_index) { … }
}
}
#endif
#endif