#ifndef V8_SANDBOX_CODE_POINTER_TABLE_INL_H_
#define V8_SANDBOX_CODE_POINTER_TABLE_INL_H_
#include "src/common/code-memory-access-inl.h"
#include "src/sandbox/code-pointer-table.h"
#include "src/sandbox/external-entity-table-inl.h"
#ifdef V8_COMPRESS_POINTERS
namespace v8 {
namespace internal {
void CodePointerTableEntry::MakeCodePointerEntry(Address code,
Address entrypoint,
CodeEntrypointTag tag,
bool mark_as_alive) { … }
Address CodePointerTableEntry::GetEntrypoint(CodeEntrypointTag tag) const { … }
void CodePointerTableEntry::SetEntrypoint(Address value,
CodeEntrypointTag tag) { … }
Address CodePointerTableEntry::GetCodeObject() const { … }
void CodePointerTableEntry::SetCodeObject(Address new_value) { … }
void CodePointerTableEntry::MakeFreelistEntry(uint32_t next_entry_index) { … }
bool CodePointerTableEntry::IsFreelistEntry() const { … }
uint32_t CodePointerTableEntry::GetNextFreelistEntryIndex() const { … }
void CodePointerTableEntry::Mark() { … }
void CodePointerTableEntry::Unmark() { … }
bool CodePointerTableEntry::IsMarked() const { … }
Address CodePointerTable::GetEntrypoint(CodePointerHandle handle,
CodeEntrypointTag tag) const { … }
Address CodePointerTable::GetCodeObject(CodePointerHandle handle) const { … }
void CodePointerTable::SetEntrypoint(CodePointerHandle handle, Address value,
CodeEntrypointTag tag) { … }
void CodePointerTable::SetCodeObject(CodePointerHandle handle, Address value) { … }
CodePointerHandle CodePointerTable::AllocateAndInitializeEntry(
Space* space, Address code, Address entrypoint, CodeEntrypointTag tag) { … }
void CodePointerTable::Mark(Space* space, CodePointerHandle handle) { … }
template <typename Callback>
void CodePointerTable::IterateActiveEntriesIn(Space* space, Callback callback) { … }
uint32_t CodePointerTable::HandleToIndex(CodePointerHandle handle) const { … }
CodePointerHandle CodePointerTable::IndexToHandle(uint32_t index) const { … }
}
}
#endif
#endif