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

#include <safepoint-table.h>

Collaboration diagram for v8::internal::SafepointTable:

Public Member Functions

 SafepointTable (Isolate *isolate, Address pc, Tagged< InstructionStream > code)
 
 SafepointTable (Isolate *isolate, Address pc, Tagged< Code > code)
 
 SafepointTable (const SafepointTable &)=delete
 
SafepointTableoperator= (const SafepointTable &)=delete
 
int stack_slots () const
 
int length () const
 
int byte_size () const
 
int find_return_pc (int pc_offset)
 
SafepointEntry GetEntry (int index) const
 
SafepointEntry FindEntry (Address pc) const
 
SafepointEntry TryFindEntry (Address pc) const
 
void Print (std::ostream &) const
 

Static Public Member Functions

static SafepointEntry FindEntry (Isolate *isolate, Tagged< GcSafeCode > code, Address pc)
 

Private Types

using HasDeoptDataField = base::BitField<bool, 0, 1>
 
using RegisterIndexesSizeField = HasDeoptDataField::Next<int, 3>
 
using PcSizeField = RegisterIndexesSizeField::Next<int, 3>
 
using DeoptIndexSizeField = PcSizeField::Next<int, 3>
 
using TaggedSlotsBytesField = DeoptIndexSizeField::Next<int, 22>
 

Private Member Functions

 SafepointTable (Isolate *isolate, Address pc, Tagged< GcSafeCode > code)
 
 SafepointTable (Address instruction_start, Address safepoint_table_address)
 
int entry_size () const
 
int tagged_slots_bytes () const
 
bool has_deopt_data () const
 
int pc_size () const
 
int deopt_index_size () const
 
int register_indexes_size () const
 

Static Private Member Functions

static int read_bytes (Address *ptr, int bytes)
 

Private Attributes

const Address instruction_start_
 
const Address safepoint_table_address_
 
const SafepointTableStackSlotsField_t stack_slots_
 
const int length_
 
const uint32_t entry_configuration_
 

Friends

class SafepointTableBuilder
 
class SafepointEntry
 

Detailed Description

Definition at line 62 of file safepoint-table.h.

Member Typedef Documentation

◆ DeoptIndexSizeField

◆ HasDeoptDataField

Definition at line 145 of file safepoint-table.h.

◆ PcSizeField

◆ RegisterIndexesSizeField

◆ TaggedSlotsBytesField

Constructor & Destructor Documentation

◆ SafepointTable() [1/5]

v8::internal::SafepointTable::SafepointTable ( Isolate * isolate,
Address pc,
Tagged< InstructionStream > code )
explicit

◆ SafepointTable() [2/5]

v8::internal::SafepointTable::SafepointTable ( Isolate * isolate,
Address pc,
Tagged< Code > code )
explicit

Definition at line 23 of file safepoint-table.cc.

◆ SafepointTable() [3/5]

v8::internal::SafepointTable::SafepointTable ( const SafepointTable & )
delete

◆ SafepointTable() [4/5]

v8::internal::SafepointTable::SafepointTable ( Isolate * isolate,
Address pc,
Tagged< GcSafeCode > code )
private

Definition at line 29 of file safepoint-table.cc.

◆ SafepointTable() [5/5]

v8::internal::SafepointTable::SafepointTable ( Address instruction_start,
Address safepoint_table_address )
private

Definition at line 43 of file safepoint-table.cc.

Member Function Documentation

◆ byte_size()

int v8::internal::SafepointTable::byte_size ( ) const
inline

Definition at line 80 of file safepoint-table.h.

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

◆ deopt_index_size()

int v8::internal::SafepointTable::deopt_index_size ( ) const
inlineprivate

Definition at line 168 of file safepoint-table.h.

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

◆ entry_size()

int v8::internal::SafepointTable::entry_size ( ) const
inlineprivate

Definition at line 156 of file safepoint-table.h.

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

◆ find_return_pc()

int v8::internal::SafepointTable::find_return_pc ( int pc_offset)

Definition at line 53 of file safepoint-table.cc.

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

◆ FindEntry() [1/2]

SafepointEntry v8::internal::SafepointTable::FindEntry ( Address pc) const

Definition at line 87 of file safepoint-table.cc.

Here is the call graph for this function:

◆ FindEntry() [2/2]

SafepointEntry v8::internal::SafepointTable::FindEntry ( Isolate * isolate,
Tagged< GcSafeCode > code,
Address pc )
static

Definition at line 94 of file safepoint-table.cc.

◆ GetEntry()

SafepointEntry v8::internal::SafepointTable::GetEntry ( int index) const
inline

Definition at line 86 of file safepoint-table.h.

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

◆ has_deopt_data()

bool v8::internal::SafepointTable::has_deopt_data ( ) const
inlineprivate

Definition at line 164 of file safepoint-table.h.

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

◆ length()

int v8::internal::SafepointTable::length ( ) const
inline

Definition at line 78 of file safepoint-table.h.

Here is the caller graph for this function:

◆ operator=()

SafepointTable & v8::internal::SafepointTable::operator= ( const SafepointTable & )
delete

◆ pc_size()

int v8::internal::SafepointTable::pc_size ( ) const
inlineprivate

Definition at line 167 of file safepoint-table.h.

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

◆ Print()

void v8::internal::SafepointTable::Print ( std::ostream & os) const

Definition at line 100 of file safepoint-table.cc.

Here is the call graph for this function:

◆ read_bytes()

static int v8::internal::SafepointTable::read_bytes ( Address * ptr,
int bytes )
inlinestaticprivate

Definition at line 175 of file safepoint-table.h.

Here is the caller graph for this function:

◆ register_indexes_size()

int v8::internal::SafepointTable::register_indexes_size ( ) const
inlineprivate

Definition at line 171 of file safepoint-table.h.

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

◆ stack_slots()

int v8::internal::SafepointTable::stack_slots ( ) const
inline

Definition at line 76 of file safepoint-table.h.

◆ tagged_slots_bytes()

int v8::internal::SafepointTable::tagged_slots_bytes ( ) const
inlineprivate

Definition at line 161 of file safepoint-table.h.

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

◆ TryFindEntry()

SafepointEntry v8::internal::SafepointTable::TryFindEntry ( Address pc) const

Definition at line 63 of file safepoint-table.cc.

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

Friends And Related Symbol Documentation

◆ SafepointEntry

friend class SafepointEntry
friend

Definition at line 194 of file safepoint-table.h.

◆ SafepointTableBuilder

friend class SafepointTableBuilder
friend

Definition at line 193 of file safepoint-table.h.

Member Data Documentation

◆ entry_configuration_

const uint32_t v8::internal::SafepointTable::entry_configuration_
private

Definition at line 191 of file safepoint-table.h.

◆ instruction_start_

const Address v8::internal::SafepointTable::instruction_start_
private

Definition at line 185 of file safepoint-table.h.

◆ length_

const int v8::internal::SafepointTable::length_
private

Definition at line 190 of file safepoint-table.h.

◆ safepoint_table_address_

const Address v8::internal::SafepointTable::safepoint_table_address_
private

Definition at line 188 of file safepoint-table.h.

◆ stack_slots_

const SafepointTableStackSlotsField_t v8::internal::SafepointTable::stack_slots_
private

Definition at line 189 of file safepoint-table.h.


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