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

#include <maglev-safepoint-table.h>

Collaboration diagram for v8::internal::MaglevSafepointTable:

Public Member Functions

 MaglevSafepointTable (Isolate *isolate, Address pc, Tagged< Code > code)
 
 MaglevSafepointTable (const MaglevSafepointTable &)=delete
 
MaglevSafepointTableoperator= (const MaglevSafepointTable &)=delete
 
int length () const
 
int byte_size () const
 
int find_return_pc (int pc_offset)
 
uint32_t stack_slots ()
 
MaglevSafepointEntry GetEntry (int index) const
 
MaglevSafepointEntry FindEntry (Address pc) const
 
void Print (std::ostream &) const
 

Static Public Member Functions

static MaglevSafepointEntry 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>
 

Private Member Functions

 MaglevSafepointTable (Isolate *isolate, Address pc, Tagged< GcSafeCode > code)
 
 MaglevSafepointTable (Address instruction_start, Address safepoint_table_address)
 
int entry_size () 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)
 
static uint8_t read_byte (Address *ptr)
 

Private Attributes

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

Friends

class MaglevSafepointTableBuilder
 
class MaglevSafepointEntry
 

Detailed Description

Definition at line 60 of file maglev-safepoint-table.h.

Member Typedef Documentation

◆ DeoptIndexSizeField

◆ HasDeoptDataField

◆ PcSizeField

◆ RegisterIndexesSizeField

Constructor & Destructor Documentation

◆ MaglevSafepointTable() [1/4]

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

Definition at line 15 of file maglev-safepoint-table.cc.

◆ MaglevSafepointTable() [2/4]

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

◆ MaglevSafepointTable() [3/4]

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

Definition at line 22 of file maglev-safepoint-table.cc.

◆ MaglevSafepointTable() [4/4]

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

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

Member Function Documentation

◆ byte_size()

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

Definition at line 71 of file maglev-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::MaglevSafepointTable::deopt_index_size ( ) const
inlineprivate

Definition at line 149 of file maglev-safepoint-table.h.

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

◆ entry_size()

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

Definition at line 138 of file maglev-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::MaglevSafepointTable::find_return_pc ( int pc_offset)

Definition at line 41 of file maglev-safepoint-table.cc.

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

◆ FindEntry() [1/2]

MaglevSafepointEntry v8::internal::MaglevSafepointTable::FindEntry ( Address pc) const

Definition at line 51 of file maglev-safepoint-table.cc.

Here is the call graph for this function:

◆ FindEntry() [2/2]

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

Definition at line 85 of file maglev-safepoint-table.cc.

◆ GetEntry()

MaglevSafepointEntry v8::internal::MaglevSafepointTable::GetEntry ( int index) const
inline

Definition at line 77 of file maglev-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::MaglevSafepointTable::has_deopt_data ( ) const
inlineprivate

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

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

◆ length()

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

Definition at line 69 of file maglev-safepoint-table.h.

Here is the caller graph for this function:

◆ operator=()

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

◆ pc_size()

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

Definition at line 148 of file maglev-safepoint-table.h.

Here is the caller graph for this function:

◆ Print()

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

Definition at line 92 of file maglev-safepoint-table.cc.

Here is the call graph for this function:

◆ read_byte()

static uint8_t v8::internal::MaglevSafepointTable::read_byte ( Address * ptr)
inlinestaticprivate

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

Here is the caller graph for this function:

◆ read_bytes()

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

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

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

◆ register_indexes_size()

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

Definition at line 152 of file maglev-safepoint-table.h.

Here is the caller graph for this function:

◆ stack_slots()

uint32_t v8::internal::MaglevSafepointTable::stack_slots ( )
inline

Definition at line 75 of file maglev-safepoint-table.h.

Friends And Related Symbol Documentation

◆ MaglevSafepointEntry

friend class MaglevSafepointEntry
friend

Definition at line 182 of file maglev-safepoint-table.h.

◆ MaglevSafepointTableBuilder

friend class MaglevSafepointTableBuilder
friend

Definition at line 181 of file maglev-safepoint-table.h.

Member Data Documentation

◆ entry_configuration_

const uint32_t v8::internal::MaglevSafepointTable::entry_configuration_
private

Definition at line 178 of file maglev-safepoint-table.h.

◆ instruction_start_

const Address v8::internal::MaglevSafepointTable::instruction_start_
private

Definition at line 172 of file maglev-safepoint-table.h.

◆ length_

const int v8::internal::MaglevSafepointTable::length_
private

Definition at line 177 of file maglev-safepoint-table.h.

◆ num_tagged_slots_

const uint32_t v8::internal::MaglevSafepointTable::num_tagged_slots_
private

Definition at line 179 of file maglev-safepoint-table.h.

◆ safepoint_table_address_

const Address v8::internal::MaglevSafepointTable::safepoint_table_address_
private

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

◆ stack_slots_

const SafepointTableStackSlotsField_t v8::internal::MaglevSafepointTable::stack_slots_
private

Definition at line 176 of file maglev-safepoint-table.h.


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