#ifndef V8_WASM_WASM_CODE_POINTER_TABLE_INL_H_
#define V8_WASM_WASM_CODE_POINTER_TABLE_INL_H_
#include "src/common/code-memory-access-inl.h"
#include "src/common/segmented-table-inl.h"
#include "src/wasm/wasm-code-pointer-table.h"
#if !V8_ENABLE_WEBASSEMBLY
#error This header should only be included if WebAssembly is enabled.
#endif
namespace v8::internal::wasm {
void WasmCodePointerTableEntry::MakeCodePointerEntry(Address entrypoint) { … }
Address WasmCodePointerTableEntry::GetEntrypoint() const { … }
void WasmCodePointerTableEntry::MakeFreelistEntry(uint32_t next_entry_index) { … }
uint32_t WasmCodePointerTableEntry::GetNextFreelistEntryIndex() const { … }
Address WasmCodePointerTable::GetEntrypoint(uint32_t index) const { … }
void WasmCodePointerTable::SetEntrypoint(uint32_t index, Address value) { … }
void WasmCodePointerTable::SetEntrypointWithWriteScope(
uint32_t index, Address value, WriteScope& write_scope) { … }
uint32_t WasmCodePointerTable::AllocateAndInitializeEntry(Address entrypoint) { … }
WasmCodePointerTable::FreelistHead WasmCodePointerTable::ReadFreelistHead() { … }
uint32_t WasmCodePointerTable::AllocateUninitializedEntry() { … }
bool WasmCodePointerTable::TryAllocateFromFreelist(uint32_t* index) { … }
uint32_t WasmCodePointerTable::AllocateEntryFromFreelistNonAtomic(
FreelistHead* freelist_head) { … }
void WasmCodePointerTable::FreeEntry(uint32_t entry) { … }
WasmCodePointerTable::FreelistHead WasmCodePointerTable::LinkFreelist(
FreelistHead freelist_to_link, uint32_t last_element) { … }
}
#endif