chromium/v8/src/sandbox/external-pointer-table-inl.h

// Copyright 2021 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#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) {}

// static
bool ExternalPointerTable::IsValidHandle(ExternalPointerHandle handle) {}

// static
uint32_t ExternalPointerTable::HandleToIndex(ExternalPointerHandle handle) {}

// static
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) {}

}  // namespace internal
}  // namespace v8

#endif  // V8_COMPRESS_POINTERS

#endif  // V8_SANDBOX_EXTERNAL_POINTER_TABLE_INL_H_