v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::WritableRelocInfo Class Reference

#include <reloc-info.h>

Inheritance diagram for v8::internal::WritableRelocInfo:
Collaboration diagram for v8::internal::WritableRelocInfo:

Public Member Functions

 WritableRelocInfo (WritableJitAllocation &jit_allocation, Address pc, Mode rmode)
 
 WritableRelocInfo (WritableJitAllocation &jit_allocation, Address pc, Mode rmode, intptr_t data, Address constant_pool)
 
V8_INLINE void apply (intptr_t delta)
 
void set_wasm_call_address (Address)
 
void set_wasm_stub_call_address (Address)
 
void set_wasm_canonical_sig_id (uint32_t)
 
V8_INLINE void set_wasm_code_pointer_table_entry (WasmCodePointer, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
void set_target_address (Tagged< InstructionStream > host, Address target, WriteBarrierMode write_barrier_mode=UPDATE_WRITE_BARRIER, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
void set_target_address (Address target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
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)
 
V8_INLINE void set_target_object (Tagged< HeapObject > target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
V8_INLINE void set_target_external_reference (Address, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
void set_js_dispatch_handle (Tagged< InstructionStream > host, JSDispatchHandle handle, WriteBarrierMode write_barrier_mode=UPDATE_WRITE_BARRIER, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
V8_INLINE WritableJitAllocationjit_allocation ()
 
- Public Member Functions inherited from v8::internal::RelocInfo
 RelocInfo ()=default
 
 RelocInfo (Address pc, Mode rmode, intptr_t data, Address constant_pool=kNullAddress)
 
 RelocInfo (Address pc, Mode rmode)
 
Address pc () const
 
Mode rmode () const
 
Address constant_pool () const
 
intptr_t data () const
 
bool IsCodedSpecially ()
 
bool IsInConstantPool ()
 
Address wasm_call_address () const
 
Address wasm_stub_call_address () const
 
V8_EXPORT_PRIVATE uint32_t wasm_canonical_sig_id () const
 
V8_INLINE WasmCodePointer wasm_code_pointer_table_entry () const
 
uint32_t wasm_call_tag () const
 
void set_off_heap_target_address (Address target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
V8_INLINE Address target_address ()
 
V8_INLINE Tagged< HeapObjecttarget_object (PtrComprCageBase cage_base)
 
V8_INLINE DirectHandle< HeapObjecttarget_object_handle (Assembler *origin)
 
V8_INLINE Builtin target_builtin_at (Assembler *origin)
 
V8_INLINE Address target_off_heap_target ()
 
V8_INLINE Address constant_pool_entry_address ()
 
V8_INLINE Address target_address_address ()
 
bool HasTargetAddressAddress () const
 
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 JSDispatchHandle js_dispatch_handle ()
 
template<typename ObjectVisitor >
void Visit (Tagged< InstructionStream > host, ObjectVisitor *visitor)
 

Private Attributes

WritableJitAllocationjit_allocation_
 

Additional Inherited Members

- Public Types inherited from v8::internal::RelocInfo
enum  Mode : int8_t {
  NO_INFO , CODE_TARGET , RELATIVE_CODE_TARGET , COMPRESSED_EMBEDDED_OBJECT ,
  FULL_EMBEDDED_OBJECT , WASM_CALL , WASM_STUB_CALL , WASM_CODE_POINTER_TABLE_ENTRY ,
  WASM_CANONICAL_SIG_ID , EXTERNAL_REFERENCE , INTERNAL_REFERENCE , INTERNAL_REFERENCE_ENCODED ,
  JS_DISPATCH_HANDLE , OFF_HEAP_TARGET , NEAR_BUILTIN_ENTRY , CONST_POOL ,
  VENEER_POOL , DEOPT_SCRIPT_OFFSET , DEOPT_INLINING_ID , DEOPT_REASON ,
  DEOPT_ID , DEOPT_NODE_ID , PC_JUMP , NUMBER_OF_MODES ,
  LAST_CODE_TARGET_MODE = RELATIVE_CODE_TARGET , FIRST_REAL_RELOC_MODE = CODE_TARGET , LAST_REAL_RELOC_MODE = VENEER_POOL , FIRST_EMBEDDED_OBJECT_RELOC_MODE = COMPRESSED_EMBEDDED_OBJECT ,
  LAST_EMBEDDED_OBJECT_RELOC_MODE = FULL_EMBEDDED_OBJECT , LAST_GCED_ENUM = LAST_EMBEDDED_OBJECT_RELOC_MODE , FIRST_BUILTIN_ENTRY_MODE = OFF_HEAP_TARGET , LAST_BUILTIN_ENTRY_MODE = NEAR_BUILTIN_ENTRY ,
  FIRST_SHAREABLE_RELOC_MODE = WASM_CALL
}
 
- Static Public Member Functions inherited from v8::internal::RelocInfo
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 IsFullEmbeddedObject (Mode mode)
 
static constexpr bool IsCompressedEmbeddedObject (Mode mode)
 
static constexpr bool IsEmbeddedObjectMode (Mode mode)
 
static constexpr bool IsWasmCall (Mode mode)
 
static constexpr bool IsWasmStubCall (Mode mode)
 
static constexpr bool IsWasmCanonicalSigId (Mode mode)
 
static constexpr bool IsWasmCodePointerTableEntry (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 IsDeoptNodeId (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 IsNearBuiltinEntry (Mode mode)
 
static constexpr bool IsBuiltinEntryMode (Mode mode)
 
static constexpr bool IsJSDispatchHandle (Mode mode)
 
static constexpr bool IsNoInfo (Mode mode)
 
static bool IsOnlyForSerializer (Mode mode)
 
static constexpr int ModeMask (Mode mode)
 
static bool OffHeapTargetIsCodedSpecially ()
 
static constexpr int AllRealModesMask ()
 
static int EmbeddedObjectModeMask ()
 
static int JSDispatchHandleModeMask ()
 
static int PostCodegenRelocationMask ()
 
- Static Public Attributes inherited from v8::internal::RelocInfo
static constexpr int kMinRelocCommentSize = 2 + kSystemPointerSize
 
static constexpr int kMaxCallSize = 6
 
static constexpr int kMaxSmallPCDelta = detail::kSmallPCDeltaMask
 
static const int kApplyMask
 
- Protected Attributes inherited from v8::internal::RelocInfo
Address pc_
 
Mode rmode_
 
intptr_t data_ = 0
 
Address constant_pool_ = kNullAddress
 

Detailed Description

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

Constructor & Destructor Documentation

◆ WritableRelocInfo() [1/2]

v8::internal::WritableRelocInfo::WritableRelocInfo ( WritableJitAllocation & jit_allocation,
Address pc,
Mode rmode )
inline

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

◆ WritableRelocInfo() [2/2]

v8::internal::WritableRelocInfo::WritableRelocInfo ( WritableJitAllocation & jit_allocation,
Address pc,
Mode rmode,
intptr_t data,
Address constant_pool )
inline

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

Member Function Documentation

◆ apply()

void v8::internal::WritableRelocInfo::apply ( intptr_t delta)

Definition at line 58 of file assembler-arm-inl.h.

Here is the call graph for this function:

◆ jit_allocation()

V8_INLINE WritableJitAllocation & v8::internal::WritableRelocInfo::jit_allocation ( )
inline

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

◆ set_js_dispatch_handle()

void v8::internal::WritableRelocInfo::set_js_dispatch_handle ( Tagged< InstructionStream > host,
JSDispatchHandle handle,
WriteBarrierMode write_barrier_mode = UPDATE_WRITE_BARRIER,
ICacheFlushMode icache_flush_mode = FLUSH_ICACHE_IF_NEEDED )

Definition at line 306 of file reloc-info.cc.

Here is the call graph for this function:

◆ set_target_address() [1/2]

void v8::internal::WritableRelocInfo::set_target_address ( Address target,
ICacheFlushMode icache_flush_mode = FLUSH_ICACHE_IF_NEEDED )

Definition at line 286 of file reloc-info.cc.

Here is the call graph for this function:

◆ set_target_address() [2/2]

void v8::internal::WritableRelocInfo::set_target_address ( Tagged< InstructionStream > host,
Address target,
WriteBarrierMode write_barrier_mode = UPDATE_WRITE_BARRIER,
ICacheFlushMode icache_flush_mode = FLUSH_ICACHE_IF_NEEDED )

Definition at line 294 of file reloc-info.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_target_external_reference()

void v8::internal::WritableRelocInfo::set_target_external_reference ( Address target,
ICacheFlushMode icache_flush_mode = FLUSH_ICACHE_IF_NEEDED )

Definition at line 123 of file assembler-arm-inl.h.

Here is the call graph for this function:

◆ set_target_object() [1/2]

void v8::internal::WritableRelocInfo::set_target_object ( Tagged< HeapObject > target,
ICacheFlushMode icache_flush_mode = FLUSH_ICACHE_IF_NEEDED )

Definition at line 111 of file assembler-arm-inl.h.

Here is the call graph for this function:

◆ set_target_object() [2/2]

void v8::internal::WritableRelocInfo::set_target_object ( Tagged< InstructionStream > host,
Tagged< HeapObject > target,
WriteBarrierMode write_barrier_mode = UPDATE_WRITE_BARRIER,
ICacheFlushMode icache_flush_mode = FLUSH_ICACHE_IF_NEEDED )

Definition at line 42 of file reloc-info-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_wasm_call_address()

void v8::internal::WritableRelocInfo::set_wasm_call_address ( Address address)

Definition at line 258 of file reloc-info.cc.

Here is the call graph for this function:

◆ set_wasm_canonical_sig_id()

void v8::internal::WritableRelocInfo::set_wasm_canonical_sig_id ( uint32_t canonical_sig_id)

Definition at line 280 of file reloc-info.cc.

Here is the call graph for this function:

◆ set_wasm_code_pointer_table_entry()

void v8::internal::WritableRelocInfo::set_wasm_code_pointer_table_entry ( WasmCodePointer target,
ICacheFlushMode icache_flush_mode = FLUSH_ICACHE_IF_NEEDED )

Definition at line 135 of file assembler-arm-inl.h.

Here is the call graph for this function:

◆ set_wasm_stub_call_address()

void v8::internal::WritableRelocInfo::set_wasm_stub_call_address ( Address address)

Definition at line 269 of file reloc-info.cc.

Here is the call graph for this function:

Member Data Documentation

◆ jit_allocation_

WritableJitAllocation& v8::internal::WritableRelocInfo::jit_allocation_
private

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


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