#ifndef V8_OBJECTS_EMBEDDER_DATA_SLOT_INL_H_
#define V8_OBJECTS_EMBEDDER_DATA_SLOT_INL_H_
#include "src/base/memory.h"
#include "src/common/globals.h"
#include "src/heap/heap-write-barrier-inl.h"
#include "src/objects/embedder-data-array.h"
#include "src/objects/embedder-data-slot.h"
#include "src/objects/js-objects-inl.h"
#include "src/objects/objects-inl.h"
#include "src/sandbox/external-pointer-inl.h"
#include "src/objects/object-macros.h"
namespace v8 {
namespace internal {
EmbedderDataSlot::EmbedderDataSlot(Tagged<EmbedderDataArray> array,
int entry_index)
: … { … }
EmbedderDataSlot::EmbedderDataSlot(Tagged<JSObject> object,
int embedder_field_index)
: … { … }
void EmbedderDataSlot::Initialize(Tagged<Object> initial_value) { … }
Tagged<Object> EmbedderDataSlot::load_tagged() const { … }
void EmbedderDataSlot::store_smi(Tagged<Smi> value) { … }
void EmbedderDataSlot::store_tagged(Tagged<EmbedderDataArray> array,
int entry_index, Tagged<Object> value) { … }
void EmbedderDataSlot::store_tagged(Tagged<JSObject> object,
int embedder_field_index,
Tagged<Object> value) { … }
bool EmbedderDataSlot::ToAlignedPointer(Isolate* isolate,
void** out_pointer) const { … }
bool EmbedderDataSlot::store_aligned_pointer(Isolate* isolate,
Tagged<HeapObject> host,
void* ptr) { … }
EmbedderDataSlot::RawData EmbedderDataSlot::load_raw(
Isolate* isolate, const DisallowGarbageCollection& no_gc) const { … }
void EmbedderDataSlot::store_raw(Isolate* isolate,
EmbedderDataSlot::RawData data,
const DisallowGarbageCollection& no_gc) { … }
void EmbedderDataSlot::gc_safe_store(Isolate* isolate, Address value) { … }
bool EmbedderDataSlot::MustClearDuringSerialization(
const DisallowGarbageCollection& no_gc) { … }
}
}
#include "src/objects/object-macros-undef.h"
#endif