V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
v8::internal::RelocInfo Class Reference

Public Types

enum  Mode : int8_t {
  CODE_TARGET, RELATIVE_CODE_TARGET, EMBEDDED_OBJECT, WASM_CALL,
  WASM_STUB_CALL, RUNTIME_ENTRY, COMMENT, EXTERNAL_REFERENCE,
  INTERNAL_REFERENCE, INTERNAL_REFERENCE_ENCODED, OFF_HEAP_TARGET, CONST_POOL,
  VENEER_POOL, DEOPT_SCRIPT_OFFSET, DEOPT_INLINING_ID, DEOPT_REASON,
  DEOPT_ID, PC_JUMP, NUMBER_OF_MODES, NONE,
  LAST_CODE_TARGET_MODE = RELATIVE_CODE_TARGET, FIRST_REAL_RELOC_MODE = CODE_TARGET, LAST_REAL_RELOC_MODE = VENEER_POOL, LAST_GCED_ENUM = EMBEDDED_OBJECT,
  FIRST_SHAREABLE_RELOC_MODE = WASM_CALL
}
 

Public Member Functions

 STATIC_ASSERT (NUMBER_OF_MODES<=kBitsPerInt)
 
 RelocInfo (Address pc, Mode rmode, intptr_t data, Code host, Address constant_pool=kNullAddress)
 
Address pc () const
 
Mode rmode () const
 
intptr_t data () const
 
Code host () const
 
Address constant_pool () const
 
V8_INLINE void apply (intptr_t delta)
 
bool IsCodedSpecially ()
 
bool IsInConstantPool ()
 
int GetDeoptimizationId (Isolate *isolate, DeoptimizeKind kind)
 
Address wasm_call_address () const
 
Address wasm_stub_call_address () const
 
uint32_t wasm_call_tag () const
 
void set_wasm_call_address (Address, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
void set_wasm_stub_call_address (Address, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
void set_target_address (Address target, WriteBarrierMode write_barrier_mode=UPDATE_WRITE_BARRIER, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
V8_INLINE Address target_address ()
 
V8_INLINE HeapObjecttarget_object ()
 
V8_INLINE Handle< HeapObjecttarget_object_handle (Assembler *origin)
 
V8_INLINE void set_target_object (Heap *heap, HeapObject *target, WriteBarrierMode write_barrier_mode=UPDATE_WRITE_BARRIER, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
V8_INLINE Address target_runtime_entry (Assembler *origin)
 
V8_INLINE void set_target_runtime_entry (Address target, WriteBarrierMode write_barrier_mode=UPDATE_WRITE_BARRIER, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
V8_INLINE Address target_off_heap_target ()
 
V8_INLINE Celltarget_cell ()
 
V8_INLINE Handle< Celltarget_cell_handle ()
 
V8_INLINE void set_target_cell (Cell *cell, WriteBarrierMode write_barrier_mode=UPDATE_WRITE_BARRIER, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
V8_INLINE void set_target_external_reference (Address, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
V8_INLINE Address constant_pool_entry_address ()
 
V8_INLINE Address target_address_address ()
 
V8_INLINE int target_address_size ()
 
V8_INLINE Address target_external_reference ()
 
V8_INLINE Address target_internal_reference ()
 
V8_INLINE Address target_internal_reference_address ()
 
V8_INLINE void WipeOut ()
 
template<typename ObjectVisitor >
void Visit (ObjectVisitor *v)
 

Static Public Member Functions

static constexpr bool IsRealRelocMode (Mode mode)
 
static constexpr bool IsGCRelocMode (Mode mode)
 
static constexpr bool IsShareableRelocMode (Mode mode)
 
static constexpr bool IsCodeTarget (Mode mode)
 
static constexpr bool IsCodeTargetMode (Mode mode)
 
static constexpr bool IsRelativeCodeTarget (Mode mode)
 
static constexpr bool IsEmbeddedObject (Mode mode)
 
static constexpr bool IsRuntimeEntry (Mode mode)
 
static constexpr bool IsWasmCall (Mode mode)
 
static constexpr bool IsWasmReference (Mode mode)
 
static constexpr bool IsWasmStubCall (Mode mode)
 
static constexpr bool IsComment (Mode mode)
 
static constexpr bool IsConstPool (Mode mode)
 
static constexpr bool IsVeneerPool (Mode mode)
 
static constexpr bool IsDeoptPosition (Mode mode)
 
static constexpr bool IsDeoptReason (Mode mode)
 
static constexpr bool IsDeoptId (Mode mode)
 
static constexpr bool IsExternalReference (Mode mode)
 
static constexpr bool IsInternalReference (Mode mode)
 
static constexpr bool IsInternalReferenceEncoded (Mode mode)
 
static constexpr bool IsOffHeapTarget (Mode mode)
 
static constexpr bool IsNone (Mode mode)
 
static bool IsOnlyForSerializer (Mode mode)
 
static constexpr int ModeMask (Mode mode)
 
static bool OffHeapTargetIsCodedSpecially ()
 
static bool RequiresRelocationAfterCodegen (const CodeDesc &desc)
 
static bool RequiresRelocation (Code code)
 
static int PostCodegenRelocationMask ()
 

Static Public Attributes

static const char *const kFillerCommentString = "DEOPTIMIZATION PADDING"
 
static const int kMinRelocCommentSize = 2 + kPointerSize
 
static const int kMaxCallSize = 6
 
static const int kMaxSmallPCDelta = kSmallPCDeltaMask
 
static const int kApplyMask
 

Friends

class RelocIterator
 

Detailed Description

Definition at line 35 of file reloc-info.h.


The documentation for this class was generated from the following files: