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

#include <bytecode-node.h>

Collaboration diagram for v8::internal::interpreter::BytecodeNode:

Public Member Functions

V8_INLINE BytecodeNode (Bytecode bytecode, BytecodeSourceInfo source_info=BytecodeSourceInfo())
 
V8_INLINE BytecodeNode (Bytecode bytecode, uint32_t operand0, BytecodeSourceInfo source_info=BytecodeSourceInfo())
 
V8_INLINE BytecodeNode (Bytecode bytecode, uint32_t operand0, uint32_t operand1, BytecodeSourceInfo source_info=BytecodeSourceInfo())
 
V8_INLINE BytecodeNode (Bytecode bytecode, uint32_t operand0, uint32_t operand1, uint32_t operand2, BytecodeSourceInfo source_info=BytecodeSourceInfo())
 
V8_INLINE BytecodeNode (Bytecode bytecode, uint32_t operand0, uint32_t operand1, uint32_t operand2, uint32_t operand3, BytecodeSourceInfo source_info=BytecodeSourceInfo())
 
V8_INLINE BytecodeNode (Bytecode bytecode, uint32_t operand0, uint32_t operand1, uint32_t operand2, uint32_t operand3, uint32_t operand4, BytecodeSourceInfo source_info=BytecodeSourceInfo())
 
void Print (std::ostream &os) const
 
Bytecode bytecode () const
 
uint32_t operand (int i) const
 
const uint32_t * operands () const
 
void update_operand0 (uint32_t operand0)
 
int operand_count () const
 
OperandScale operand_scale () const
 
const BytecodeSourceInfosource_info () const
 
void set_source_info (BytecodeSourceInfo source_info)
 
bool operator== (const BytecodeNode &other) const
 
bool operator!= (const BytecodeNode &other) const
 

Private Member Functions

V8_INLINE BytecodeNode (Bytecode bytecode, int operand_count, OperandScale operand_scale, BytecodeSourceInfo source_info, uint32_t operand0=0, uint32_t operand1=0, uint32_t operand2=0, uint32_t operand3=0, uint32_t operand4=0)
 
V8_INLINE void UpdateScaleForOperand (int operand_index, uint32_t operand)
 
V8_INLINE void SetOperand (int operand_index, uint32_t operand)
 

Static Private Member Functions

template<Bytecode bytecode, ImplicitRegisterUse accum_use>
static V8_INLINE BytecodeNode Create (BytecodeSourceInfo source_info)
 
template<Bytecode bytecode, ImplicitRegisterUse accum_use, OperandType operand0_type>
static V8_INLINE BytecodeNode Create (BytecodeSourceInfo source_info, uint32_t operand0)
 
template<Bytecode bytecode, ImplicitRegisterUse accum_use, OperandType operand0_type, OperandType operand1_type>
static V8_INLINE BytecodeNode Create (BytecodeSourceInfo source_info, uint32_t operand0, uint32_t operand1)
 
template<Bytecode bytecode, ImplicitRegisterUse accum_use, OperandType operand0_type, OperandType operand1_type, OperandType operand2_type>
static V8_INLINE BytecodeNode Create (BytecodeSourceInfo source_info, uint32_t operand0, uint32_t operand1, uint32_t operand2)
 
template<Bytecode bytecode, ImplicitRegisterUse accum_use, OperandType operand0_type, OperandType operand1_type, OperandType operand2_type, OperandType operand3_type>
static V8_INLINE BytecodeNode Create (BytecodeSourceInfo source_info, uint32_t operand0, uint32_t operand1, uint32_t operand2, uint32_t operand3)
 
template<Bytecode bytecode, ImplicitRegisterUse accum_use, OperandType operand0_type, OperandType operand1_type, OperandType operand2_type, OperandType operand3_type, OperandType operand4_type>
static V8_INLINE BytecodeNode Create (BytecodeSourceInfo source_info, uint32_t operand0, uint32_t operand1, uint32_t operand2, uint32_t operand3, uint32_t operand4)
 
template<OperandType operand_type>
static V8_INLINE OperandScale ScaleForOperand (uint32_t operand)
 

Private Attributes

Bytecode bytecode_
 
uint32_t operands_ [Bytecodes::kMaxOperands]
 
int operand_count_
 
OperandScale operand_scale_
 
BytecodeSourceInfo source_info_
 

Friends

template<Bytecode bytecode, ImplicitRegisterUse implicit_register_use, OperandType... operand_types>
class BytecodeNodeBuilder
 

Detailed Description

Definition at line 18 of file bytecode-node.h.

Constructor & Destructor Documentation

◆ BytecodeNode() [1/7]

V8_INLINE v8::internal::interpreter::BytecodeNode::BytecodeNode ( Bytecode bytecode,
BytecodeSourceInfo source_info = BytecodeSourceInfo() )
inline

Definition at line 20 of file bytecode-node.h.

◆ BytecodeNode() [2/7]

V8_INLINE v8::internal::interpreter::BytecodeNode::BytecodeNode ( Bytecode bytecode,
uint32_t operand0,
BytecodeSourceInfo source_info = BytecodeSourceInfo() )
inline

Definition at line 29 of file bytecode-node.h.

◆ BytecodeNode() [3/7]

V8_INLINE v8::internal::interpreter::BytecodeNode::BytecodeNode ( Bytecode bytecode,
uint32_t operand0,
uint32_t operand1,
BytecodeSourceInfo source_info = BytecodeSourceInfo() )
inline

Definition at line 39 of file bytecode-node.h.

◆ BytecodeNode() [4/7]

V8_INLINE v8::internal::interpreter::BytecodeNode::BytecodeNode ( Bytecode bytecode,
uint32_t operand0,
uint32_t operand1,
uint32_t operand2,
BytecodeSourceInfo source_info = BytecodeSourceInfo() )
inline

Definition at line 51 of file bytecode-node.h.

◆ BytecodeNode() [5/7]

V8_INLINE v8::internal::interpreter::BytecodeNode::BytecodeNode ( Bytecode bytecode,
uint32_t operand0,
uint32_t operand1,
uint32_t operand2,
uint32_t operand3,
BytecodeSourceInfo source_info = BytecodeSourceInfo() )
inline

Definition at line 64 of file bytecode-node.h.

◆ BytecodeNode() [6/7]

V8_INLINE v8::internal::interpreter::BytecodeNode::BytecodeNode ( Bytecode bytecode,
uint32_t operand0,
uint32_t operand1,
uint32_t operand2,
uint32_t operand3,
uint32_t operand4,
BytecodeSourceInfo source_info = BytecodeSourceInfo() )
inline

Definition at line 79 of file bytecode-node.h.

◆ BytecodeNode() [7/7]

V8_INLINE v8::internal::interpreter::BytecodeNode::BytecodeNode ( Bytecode bytecode,
int operand_count,
OperandScale operand_scale,
BytecodeSourceInfo source_info,
uint32_t operand0 = 0,
uint32_t operand1 = 0,
uint32_t operand2 = 0,
uint32_t operand3 = 0,
uint32_t operand4 = 0 )
inlineprivate

Definition at line 133 of file bytecode-node.h.

Member Function Documentation

◆ bytecode()

Bytecode v8::internal::interpreter::BytecodeNode::bytecode ( ) const
inline

Definition at line 107 of file bytecode-node.h.

Here is the caller graph for this function:

◆ Create() [1/6]

template<Bytecode bytecode, ImplicitRegisterUse accum_use>
static V8_INLINE BytecodeNode v8::internal::interpreter::BytecodeNode::Create ( BytecodeSourceInfo source_info)
inlinestaticprivate

Definition at line 151 of file bytecode-node.h.

Here is the caller graph for this function:

◆ Create() [2/6]

template<Bytecode bytecode, ImplicitRegisterUse accum_use, OperandType operand0_type>
static V8_INLINE BytecodeNode v8::internal::interpreter::BytecodeNode::Create ( BytecodeSourceInfo source_info,
uint32_t operand0 )
inlinestaticprivate

Definition at line 157 of file bytecode-node.h.

◆ Create() [3/6]

template<Bytecode bytecode, ImplicitRegisterUse accum_use, OperandType operand0_type, OperandType operand1_type>
static V8_INLINE BytecodeNode v8::internal::interpreter::BytecodeNode::Create ( BytecodeSourceInfo source_info,
uint32_t operand0,
uint32_t operand1 )
inlinestaticprivate

Definition at line 167 of file bytecode-node.h.

◆ Create() [4/6]

template<Bytecode bytecode, ImplicitRegisterUse accum_use, OperandType operand0_type, OperandType operand1_type, OperandType operand2_type>
static V8_INLINE BytecodeNode v8::internal::interpreter::BytecodeNode::Create ( BytecodeSourceInfo source_info,
uint32_t operand0,
uint32_t operand1,
uint32_t operand2 )
inlinestaticprivate

Definition at line 180 of file bytecode-node.h.

◆ Create() [5/6]

template<Bytecode bytecode, ImplicitRegisterUse accum_use, OperandType operand0_type, OperandType operand1_type, OperandType operand2_type, OperandType operand3_type>
static V8_INLINE BytecodeNode v8::internal::interpreter::BytecodeNode::Create ( BytecodeSourceInfo source_info,
uint32_t operand0,
uint32_t operand1,
uint32_t operand2,
uint32_t operand3 )
inlinestaticprivate

Definition at line 197 of file bytecode-node.h.

◆ Create() [6/6]

template<Bytecode bytecode, ImplicitRegisterUse accum_use, OperandType operand0_type, OperandType operand1_type, OperandType operand2_type, OperandType operand3_type, OperandType operand4_type>
static V8_INLINE BytecodeNode v8::internal::interpreter::BytecodeNode::Create ( BytecodeSourceInfo source_info,
uint32_t operand0,
uint32_t operand1,
uint32_t operand2,
uint32_t operand3,
uint32_t operand4 )
inlinestaticprivate

Definition at line 217 of file bytecode-node.h.

◆ operand()

uint32_t v8::internal::interpreter::BytecodeNode::operand ( int i) const
inline

Definition at line 109 of file bytecode-node.h.

Here is the caller graph for this function:

◆ operand_count()

int v8::internal::interpreter::BytecodeNode::operand_count ( ) const
inline

Definition at line 117 of file bytecode-node.h.

Here is the caller graph for this function:

◆ operand_scale()

OperandScale v8::internal::interpreter::BytecodeNode::operand_scale ( ) const
inline

Definition at line 118 of file bytecode-node.h.

◆ operands()

const uint32_t * v8::internal::interpreter::BytecodeNode::operands ( ) const
inline

Definition at line 113 of file bytecode-node.h.

◆ operator!=()

bool v8::internal::interpreter::BytecodeNode::operator!= ( const BytecodeNode & other) const
inline

Definition at line 126 of file bytecode-node.h.

◆ operator==()

bool v8::internal::interpreter::BytecodeNode::operator== ( const BytecodeNode & other) const

Definition at line 33 of file bytecode-node.cc.

Here is the call graph for this function:

◆ Print()

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

Definition at line 13 of file bytecode-node.cc.

Here is the call graph for this function:

◆ ScaleForOperand()

template<OperandType operand_type>
static V8_INLINE OperandScale v8::internal::interpreter::BytecodeNode::ScaleForOperand ( uint32_t operand)
inlinestaticprivate

Definition at line 237 of file bytecode-node.h.

◆ set_source_info()

void v8::internal::interpreter::BytecodeNode::set_source_info ( BytecodeSourceInfo source_info)
inline

Definition at line 121 of file bytecode-node.h.

◆ SetOperand()

V8_INLINE void v8::internal::interpreter::BytecodeNode::SetOperand ( int operand_index,
uint32_t operand )
inlineprivate

Definition at line 258 of file bytecode-node.h.

◆ source_info()

const BytecodeSourceInfo & v8::internal::interpreter::BytecodeNode::source_info ( ) const
inline

Definition at line 120 of file bytecode-node.h.

◆ update_operand0()

void v8::internal::interpreter::BytecodeNode::update_operand0 ( uint32_t operand0)
inline

Definition at line 115 of file bytecode-node.h.

◆ UpdateScaleForOperand()

V8_INLINE void v8::internal::interpreter::BytecodeNode::UpdateScaleForOperand ( int operand_index,
uint32_t operand )
inlineprivate

Definition at line 247 of file bytecode-node.h.

Friends And Related Symbol Documentation

◆ BytecodeNodeBuilder

template<Bytecode bytecode, ImplicitRegisterUse implicit_register_use, OperandType... operand_types>
friend class BytecodeNodeBuilder
friend

Definition at line 131 of file bytecode-node.h.

Member Data Documentation

◆ bytecode_

Bytecode v8::internal::interpreter::BytecodeNode::bytecode_
private

Definition at line 263 of file bytecode-node.h.

◆ operand_count_

int v8::internal::interpreter::BytecodeNode::operand_count_
private

Definition at line 265 of file bytecode-node.h.

◆ operand_scale_

OperandScale v8::internal::interpreter::BytecodeNode::operand_scale_
private

Definition at line 266 of file bytecode-node.h.

◆ operands_

uint32_t v8::internal::interpreter::BytecodeNode::operands_[Bytecodes::kMaxOperands]
private

Definition at line 264 of file bytecode-node.h.

◆ source_info_

BytecodeSourceInfo v8::internal::interpreter::BytecodeNode::source_info_
private

Definition at line 267 of file bytecode-node.h.


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