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

#include <instruction.h>

Inheritance diagram for v8::internal::compiler::InstructionBlock:
Collaboration diagram for v8::internal::compiler::InstructionBlock:

Public Types

using Predecessors = ZoneVector<RpoNumber>
 
using Successors = ZoneVector<RpoNumber>
 
using PhiInstructions = ZoneVector<PhiInstruction*>
 

Public Member Functions

 InstructionBlock (Zone *zone, RpoNumber rpo_number, RpoNumber loop_header, RpoNumber loop_end, RpoNumber dominator, bool deferred, bool handler)
 
int first_instruction_index () const
 
int last_instruction_index () const
 
int32_t code_start () const
 
void set_code_start (int32_t start)
 
int32_t code_end () const
 
void set_code_end (int32_t end)
 
bool IsDeferred () const
 
bool IsHandler () const
 
void MarkHandler ()
 
void UnmarkHandler ()
 
RpoNumber ao_number () const
 
RpoNumber rpo_number () const
 
RpoNumber loop_header () const
 
RpoNumber loop_end () const
 
bool IsLoopHeader () const
 
bool IsSwitchTarget () const
 
bool ShouldAlignCodeTarget () const
 
bool ShouldAlignLoopHeader () const
 
bool IsLoopHeaderInAssemblyOrder () const
 
bool omitted_by_jump_threading () const
 
void set_omitted_by_jump_threading ()
 
Predecessorspredecessors ()
 
const Predecessorspredecessors () const
 
size_t PredecessorCount () const
 
size_t PredecessorIndexOf (RpoNumber rpo_number) const
 
Successorssuccessors ()
 
const Successorssuccessors () const
 
size_t SuccessorCount () const
 
RpoNumber dominator () const
 
void set_dominator (RpoNumber dominator)
 
const PhiInstructionsphis () const
 
PhiInstructionPhiAt (size_t i) const
 
void AddPhi (PhiInstruction *phi)
 
void set_ao_number (RpoNumber ao_number)
 
void set_code_target_alignment (bool val)
 
void set_loop_header_alignment (bool val)
 
void set_switch_target (bool val)
 
bool needs_frame () const
 
void mark_needs_frame ()
 
bool must_construct_frame () const
 
void mark_must_construct_frame ()
 
bool must_deconstruct_frame () const
 
void mark_must_deconstruct_frame ()
 
void clear_must_deconstruct_frame ()
 

Private Attributes

Successors successors_
 
Predecessors predecessors_
 
PhiInstructions phis_
 
RpoNumber ao_number_
 
const RpoNumber rpo_number_
 
const RpoNumber loop_header_
 
const RpoNumber loop_end_
 
RpoNumber dominator_
 
int32_t code_start_
 
int32_t code_end_ = -1
 
const bool deferred_: 1
 
bool handler_: 1
 
bool switch_target_: 1
 
bool code_target_alignment_: 1
 
bool loop_header_alignment_: 1
 
bool needs_frame_: 1
 
bool must_construct_frame_: 1
 
bool must_deconstruct_frame_: 1
 
bool omitted_by_jump_threading_: 1
 

Detailed Description

Definition at line 1705 of file instruction.h.

Member Typedef Documentation

◆ PhiInstructions

◆ Predecessors

◆ Successors

Constructor & Destructor Documentation

◆ InstructionBlock()

v8::internal::compiler::InstructionBlock::InstructionBlock ( Zone * zone,
RpoNumber rpo_number,
RpoNumber loop_header,
RpoNumber loop_end,
RpoNumber dominator,
bool deferred,
bool handler )

Definition at line 662 of file instruction.cc.

Member Function Documentation

◆ AddPhi()

void v8::internal::compiler::InstructionBlock::AddPhi ( PhiInstruction * phi)
inline

Definition at line 1771 of file instruction.h.

Here is the caller graph for this function:

◆ ao_number()

RpoNumber v8::internal::compiler::InstructionBlock::ao_number ( ) const
inline

Definition at line 1737 of file instruction.h.

Here is the caller graph for this function:

◆ clear_must_deconstruct_frame()

void v8::internal::compiler::InstructionBlock::clear_must_deconstruct_frame ( )
inline

Definition at line 1788 of file instruction.h.

◆ code_end()

int32_t v8::internal::compiler::InstructionBlock::code_end ( ) const
inline

Definition at line 1729 of file instruction.h.

Here is the caller graph for this function:

◆ code_start()

int32_t v8::internal::compiler::InstructionBlock::code_start ( ) const
inline

Definition at line 1726 of file instruction.h.

Here is the caller graph for this function:

◆ dominator()

RpoNumber v8::internal::compiler::InstructionBlock::dominator ( ) const
inline

Definition at line 1765 of file instruction.h.

◆ first_instruction_index()

int v8::internal::compiler::InstructionBlock::first_instruction_index ( ) const
inline

Definition at line 1713 of file instruction.h.

Here is the caller graph for this function:

◆ IsDeferred()

bool v8::internal::compiler::InstructionBlock::IsDeferred ( ) const
inline

Definition at line 1732 of file instruction.h.

Here is the caller graph for this function:

◆ IsHandler()

bool v8::internal::compiler::InstructionBlock::IsHandler ( ) const
inline

Definition at line 1733 of file instruction.h.

◆ IsLoopHeader()

bool v8::internal::compiler::InstructionBlock::IsLoopHeader ( ) const
inline

Definition at line 1744 of file instruction.h.

Here is the caller graph for this function:

◆ IsLoopHeaderInAssemblyOrder()

bool v8::internal::compiler::InstructionBlock::IsLoopHeaderInAssemblyOrder ( ) const
inline

Definition at line 1748 of file instruction.h.

◆ IsSwitchTarget()

bool v8::internal::compiler::InstructionBlock::IsSwitchTarget ( ) const
inline

Definition at line 1745 of file instruction.h.

◆ last_instruction_index()

int v8::internal::compiler::InstructionBlock::last_instruction_index ( ) const
inline

Definition at line 1719 of file instruction.h.

Here is the caller graph for this function:

◆ loop_end()

RpoNumber v8::internal::compiler::InstructionBlock::loop_end ( ) const
inline

Definition at line 1740 of file instruction.h.

◆ loop_header()

RpoNumber v8::internal::compiler::InstructionBlock::loop_header ( ) const
inline

Definition at line 1739 of file instruction.h.

◆ mark_must_construct_frame()

void v8::internal::compiler::InstructionBlock::mark_must_construct_frame ( )
inline

Definition at line 1784 of file instruction.h.

Here is the caller graph for this function:

◆ mark_must_deconstruct_frame()

void v8::internal::compiler::InstructionBlock::mark_must_deconstruct_frame ( )
inline

Definition at line 1787 of file instruction.h.

◆ mark_needs_frame()

void v8::internal::compiler::InstructionBlock::mark_needs_frame ( )
inline

Definition at line 1781 of file instruction.h.

Here is the caller graph for this function:

◆ MarkHandler()

void v8::internal::compiler::InstructionBlock::MarkHandler ( )
inline

Definition at line 1734 of file instruction.h.

◆ must_construct_frame()

bool v8::internal::compiler::InstructionBlock::must_construct_frame ( ) const
inline

Definition at line 1783 of file instruction.h.

◆ must_deconstruct_frame()

bool v8::internal::compiler::InstructionBlock::must_deconstruct_frame ( ) const
inline

Definition at line 1786 of file instruction.h.

◆ needs_frame()

bool v8::internal::compiler::InstructionBlock::needs_frame ( ) const
inline

Definition at line 1780 of file instruction.h.

Here is the caller graph for this function:

◆ omitted_by_jump_threading()

bool v8::internal::compiler::InstructionBlock::omitted_by_jump_threading ( ) const
inline

Definition at line 1751 of file instruction.h.

◆ PhiAt()

PhiInstruction * v8::internal::compiler::InstructionBlock::PhiAt ( size_t i) const
inline

Definition at line 1770 of file instruction.h.

Here is the caller graph for this function:

◆ phis()

const PhiInstructions & v8::internal::compiler::InstructionBlock::phis ( ) const
inline

Definition at line 1769 of file instruction.h.

Here is the caller graph for this function:

◆ PredecessorCount()

size_t v8::internal::compiler::InstructionBlock::PredecessorCount ( ) const
inline

Definition at line 1757 of file instruction.h.

Here is the caller graph for this function:

◆ PredecessorIndexOf()

size_t v8::internal::compiler::InstructionBlock::PredecessorIndexOf ( RpoNumber rpo_number) const

Definition at line 684 of file instruction.cc.

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

◆ predecessors() [1/2]

Predecessors & v8::internal::compiler::InstructionBlock::predecessors ( )
inline

Definition at line 1755 of file instruction.h.

Here is the caller graph for this function:

◆ predecessors() [2/2]

const Predecessors & v8::internal::compiler::InstructionBlock::predecessors ( ) const
inline

Definition at line 1756 of file instruction.h.

◆ rpo_number()

RpoNumber v8::internal::compiler::InstructionBlock::rpo_number ( ) const
inline

Definition at line 1738 of file instruction.h.

Here is the caller graph for this function:

◆ set_ao_number()

void v8::internal::compiler::InstructionBlock::set_ao_number ( RpoNumber ao_number)
inline

Definition at line 1773 of file instruction.h.

Here is the caller graph for this function:

◆ set_code_end()

void v8::internal::compiler::InstructionBlock::set_code_end ( int32_t end)
inline

Definition at line 1730 of file instruction.h.

Here is the caller graph for this function:

◆ set_code_start()

void v8::internal::compiler::InstructionBlock::set_code_start ( int32_t start)
inline

Definition at line 1727 of file instruction.h.

Here is the caller graph for this function:

◆ set_code_target_alignment()

void v8::internal::compiler::InstructionBlock::set_code_target_alignment ( bool val)
inline

Definition at line 1775 of file instruction.h.

◆ set_dominator()

void v8::internal::compiler::InstructionBlock::set_dominator ( RpoNumber dominator)
inline

Definition at line 1766 of file instruction.h.

◆ set_loop_header_alignment()

void v8::internal::compiler::InstructionBlock::set_loop_header_alignment ( bool val)
inline

Definition at line 1776 of file instruction.h.

Here is the caller graph for this function:

◆ set_omitted_by_jump_threading()

void v8::internal::compiler::InstructionBlock::set_omitted_by_jump_threading ( )
inline

Definition at line 1752 of file instruction.h.

◆ set_switch_target()

void v8::internal::compiler::InstructionBlock::set_switch_target ( bool val)
inline

Definition at line 1778 of file instruction.h.

Here is the caller graph for this function:

◆ ShouldAlignCodeTarget()

bool v8::internal::compiler::InstructionBlock::ShouldAlignCodeTarget ( ) const
inline

Definition at line 1746 of file instruction.h.

◆ ShouldAlignLoopHeader()

bool v8::internal::compiler::InstructionBlock::ShouldAlignLoopHeader ( ) const
inline

Definition at line 1747 of file instruction.h.

◆ SuccessorCount()

size_t v8::internal::compiler::InstructionBlock::SuccessorCount ( ) const
inline

Definition at line 1763 of file instruction.h.

Here is the caller graph for this function:

◆ successors() [1/2]

Successors & v8::internal::compiler::InstructionBlock::successors ( )
inline

Definition at line 1761 of file instruction.h.

Here is the caller graph for this function:

◆ successors() [2/2]

const Successors & v8::internal::compiler::InstructionBlock::successors ( ) const
inline

Definition at line 1762 of file instruction.h.

◆ UnmarkHandler()

void v8::internal::compiler::InstructionBlock::UnmarkHandler ( )
inline

Definition at line 1735 of file instruction.h.

Member Data Documentation

◆ ao_number_

RpoNumber v8::internal::compiler::InstructionBlock::ao_number_
private

Definition at line 1794 of file instruction.h.

◆ code_end_

int32_t v8::internal::compiler::InstructionBlock::code_end_ = -1
private

Definition at line 1800 of file instruction.h.

◆ code_start_

int32_t v8::internal::compiler::InstructionBlock::code_start_
private

Definition at line 1799 of file instruction.h.

◆ code_target_alignment_

bool v8::internal::compiler::InstructionBlock::code_target_alignment_
private

Definition at line 1804 of file instruction.h.

◆ deferred_

const bool v8::internal::compiler::InstructionBlock::deferred_
private

Definition at line 1801 of file instruction.h.

◆ dominator_

RpoNumber v8::internal::compiler::InstructionBlock::dominator_
private

Definition at line 1798 of file instruction.h.

◆ handler_

bool v8::internal::compiler::InstructionBlock::handler_
private

Definition at line 1802 of file instruction.h.

◆ loop_end_

const RpoNumber v8::internal::compiler::InstructionBlock::loop_end_
private

Definition at line 1797 of file instruction.h.

◆ loop_header_

const RpoNumber v8::internal::compiler::InstructionBlock::loop_header_
private

Definition at line 1796 of file instruction.h.

◆ loop_header_alignment_

bool v8::internal::compiler::InstructionBlock::loop_header_alignment_
private

Definition at line 1806 of file instruction.h.

◆ must_construct_frame_

bool v8::internal::compiler::InstructionBlock::must_construct_frame_
private

Definition at line 1809 of file instruction.h.

◆ must_deconstruct_frame_

bool v8::internal::compiler::InstructionBlock::must_deconstruct_frame_
private

Definition at line 1810 of file instruction.h.

◆ needs_frame_

bool v8::internal::compiler::InstructionBlock::needs_frame_
private

Definition at line 1808 of file instruction.h.

◆ omitted_by_jump_threading_

bool v8::internal::compiler::InstructionBlock::omitted_by_jump_threading_
private

Definition at line 1811 of file instruction.h.

◆ phis_

PhiInstructions v8::internal::compiler::InstructionBlock::phis_
private

Definition at line 1793 of file instruction.h.

◆ predecessors_

Predecessors v8::internal::compiler::InstructionBlock::predecessors_
private

Definition at line 1792 of file instruction.h.

◆ rpo_number_

const RpoNumber v8::internal::compiler::InstructionBlock::rpo_number_
private

Definition at line 1795 of file instruction.h.

◆ successors_

Successors v8::internal::compiler::InstructionBlock::successors_
private

Definition at line 1791 of file instruction.h.

◆ switch_target_

bool v8::internal::compiler::InstructionBlock::switch_target_
private

Definition at line 1803 of file instruction.h.


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