chromium/v8/src/sandbox/js-dispatch-table-inl.h

// Copyright 2024 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_JS_DISPATCH_TABLE_INL_H_
#define V8_SANDBOX_JS_DISPATCH_TABLE_INL_H_

#include "src/common/code-memory-access-inl.h"
#include "src/objects/objects-inl.h"
#include "src/sandbox/external-entity-table-inl.h"
#include "src/sandbox/js-dispatch-table.h"

#ifdef V8_ENABLE_SANDBOX

namespace v8 {
namespace internal {

void JSDispatchEntry::MakeJSDispatchEntry(Address object, Address entrypoint,
                                          uint16_t parameter_count,
                                          bool mark_as_alive) {}

Address JSDispatchEntry::GetEntrypoint() const {}

Address JSDispatchEntry::GetCodePointer() const {}

uint16_t JSDispatchEntry::GetParameterCount() const {}

Tagged<Code> JSDispatchTable::GetCode(JSDispatchHandle handle) {}

void JSDispatchTable::SetCode(JSDispatchHandle handle, Tagged<Code> new_code) {}

bool JSDispatchTable::HasCode(JSDispatchHandle handle) {}

JSDispatchHandle JSDispatchTable::AllocateAndInitializeEntry(
    Space* space, uint16_t parameter_count) {}

JSDispatchHandle JSDispatchTable::AllocateAndInitializeEntry(
    Space* space, uint16_t parameter_count, Tagged<Code> new_code,
    Address new_entrypoint) {}

void JSDispatchEntry::SetCodeAndEntrypointPointer(Address new_object,
                                                  Address new_entrypoint) {}

void JSDispatchEntry::MakeFreelistEntry(uint32_t next_entry_index) {}

bool JSDispatchEntry::IsFreelistEntry() const {}

uint32_t JSDispatchEntry::GetNextFreelistEntryIndex() const {}

void JSDispatchEntry::Mark() {}

void JSDispatchEntry::Unmark() {}

bool JSDispatchEntry::IsMarked() const {}

Address JSDispatchTable::GetEntrypoint(JSDispatchHandle handle) {}

Address JSDispatchTable::GetCodeAddress(JSDispatchHandle handle) {}

uint16_t JSDispatchTable::GetParameterCount(JSDispatchHandle handle) {}

void JSDispatchTable::Mark(JSDispatchHandle handle) {}

#ifdef DEBUG
void JSDispatchTable::VerifyEntry(JSDispatchHandle handle, Space* space,
                                  Space* ro_space) {}
#endif  // DEBUG

template <typename Callback>
void JSDispatchTable::IterateActiveEntriesIn(Space* space, Callback callback) {}

template <typename Callback>
void JSDispatchTable::IterateMarkedEntriesIn(Space* space, Callback callback) {}

}  // namespace internal
}  // namespace v8

#endif  // V8_ENABLE_SANDBOX

#endif  // V8_SANDBOX_JS_DISPATCH_TABLE_INL_H_