5#ifndef V8_OBJECTS_EMBEDDER_DATA_SLOT_H_
6#define V8_OBJECTS_EMBEDDER_DATA_SLOT_H_
21class EmbedderDataArray;
34 :
public SlotBase<EmbedderDataSlot, Address, kTaggedSize> {
36#ifdef V8_ENABLE_SANDBOX
49 static constexpr int kRawPayloadOffset =
kTaggedSize;
51#elif defined(V8_COMPRESS_POINTERS) && defined(V8_TARGET_BIG_ENDIAN)
65 static constexpr int kRawPayloadOffset = 0;
67#elif defined(V8_COMPRESS_POINTERS) && defined(V8_TARGET_LITTLE_ENDIAN)
78 static constexpr int kRawPayloadOffset =
kTaggedSize;
111 int embedder_field_index,
122 void** out_result)
const;
V8_INLINE void store_raw(IsolateForSandbox isolate, RawData data, const DisallowGarbageCollection &no_gc)
V8_INLINE void store_smi(Tagged< Smi > value)
V8_INLINE Tagged< Object > load_tagged() const
V8_INLINE V8_WARN_UNUSED_RESULT bool store_aligned_pointer(IsolateForSandbox isolate, Tagged< HeapObject > host, void *ptr)
static constexpr int kTaggedPayloadOffset
static constexpr int kRequiredPtrAlignment
V8_INLINE bool ToAlignedPointer(IsolateForSandbox isolate, void **out_result) const
V8_INLINE void gc_safe_store(IsolateForSandbox isolate, Address value)
static constexpr int kExternalPointerOffset
V8_INLINE bool MustClearDuringSerialization(const DisallowGarbageCollection &no_gc)
static V8_INLINE void store_tagged(Tagged< EmbedderDataArray > array, int entry_index, Tagged< Object > value)
V8_INLINE void Initialize(Tagged< Object > initial_value)
V8_INLINE RawData load_raw(IsolateForSandbox isolate, const DisallowGarbageCollection &no_gc) const
constexpr int kTaggedSize
static constexpr Address kNullAddress
#define V8_WARN_UNUSED_RESULT