5#ifndef V8_CODEGEN_RELOC_INFO_INL_H_
6#define V8_CODEGEN_RELOC_INFO_INL_H_
17template <
typename ObjectVisitor>
31#ifdef V8_ENABLE_LEAPTIERING
34 static_assert(!JSDispatchTable::kSupportsCompaction);
47 if (!
v8_flags.disable_write_barriers) {
52template <
typename RelocInfoT>
57 :
pos_(
pos),
end_(
end), rinfo_(reloc_info), mode_mask_(mode_mask) {
virtual void VisitEmbeddedPointer(Tagged< InstructionStream > host, RelocInfo *rinfo)
virtual void VisitExternalReference(Tagged< InstructionStream > host, RelocInfo *rinfo)
virtual void VisitCodeTarget(Tagged< InstructionStream > host, RelocInfo *rinfo)
virtual void VisitOffHeapTarget(Tagged< InstructionStream > host, RelocInfo *rinfo)
virtual void VisitJSDispatchTableEntry(Tagged< HeapObject > host, JSDispatchHandle handle)
virtual void VisitInternalReference(Tagged< InstructionStream > host, RelocInfo *rinfo)
static constexpr bool IsInternalReference(Mode mode)
static constexpr bool IsCodeTargetMode(Mode mode)
void Visit(Tagged< InstructionStream > host, ObjectVisitor *visitor)
static constexpr bool IsInternalReferenceEncoded(Mode mode)
static constexpr bool IsJSDispatchHandle(Mode mode)
static constexpr bool IsEmbeddedObjectMode(Mode mode)
static constexpr bool IsExternalReference(Mode mode)
V8_INLINE JSDispatchHandle js_dispatch_handle()
static constexpr bool IsBuiltinEntryMode(Mode mode)
const uint8_t *const end_
RelocIteratorBase(RelocIteratorBase &&) V8_NOEXCEPT=default
V8_INLINE void set_target_object(Tagged< InstructionStream > host, Tagged< HeapObject > target, WriteBarrierMode write_barrier_mode=UPDATE_WRITE_BARRIER, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
static void ForRelocInfo(Tagged< InstructionStream > host, RelocInfo *rinfo, Tagged< HeapObject > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
const v8::base::TimeTicks end_
V8_EXPORT_PRIVATE FlagValues v8_flags
#define DCHECK_GE(v1, v2)
#define DCHECK_EQ(v1, v2)