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

#include <control-flow-builders.h>

Inheritance diagram for v8::internal::interpreter::BreakableControlFlowBuilder:
Collaboration diagram for v8::internal::interpreter::BreakableControlFlowBuilder:

Public Member Functions

 BreakableControlFlowBuilder (BytecodeArrayBuilder *builder, BlockCoverageBuilder *block_coverage_builder, AstNode *node)
 
 ~BreakableControlFlowBuilder () override
 
void Break ()
 
void BreakIfTrue (BytecodeArrayBuilder::ToBooleanMode mode)
 
void BreakIfForInDone (Register index, Register cache_length)
 
BytecodeLabelsbreak_labels ()
 
- Public Member Functions inherited from v8::internal::interpreter::ControlFlowBuilder
 ControlFlowBuilder (BytecodeArrayBuilder *builder)
 
 ControlFlowBuilder (const ControlFlowBuilder &)=delete
 
ControlFlowBuilderoperator= (const ControlFlowBuilder &)=delete
 
virtual ~ControlFlowBuilder ()=default
 

Protected Member Functions

void EmitJump (BytecodeLabels *labels)
 
void EmitJumpIfTrue (BytecodeArrayBuilder::ToBooleanMode mode, BytecodeLabels *labels)
 
void EmitJumpIfFalse (BytecodeArrayBuilder::ToBooleanMode mode, BytecodeLabels *labels)
 
void EmitJumpIfUndefined (BytecodeLabels *labels)
 
void EmitJumpIfForInDone (BytecodeLabels *labels, Register index, Register cache_length)
 
void BindBreakTarget ()
 
- Protected Member Functions inherited from v8::internal::interpreter::ControlFlowBuilder
BytecodeArrayBuilderbuilder () const
 

Protected Attributes

BytecodeLabels break_labels_
 
AstNodenode_
 
BlockCoverageBuilderblock_coverage_builder_
 

Detailed Description

Definition at line 37 of file control-flow-builders.h.

Constructor & Destructor Documentation

◆ BreakableControlFlowBuilder()

v8::internal::interpreter::BreakableControlFlowBuilder::BreakableControlFlowBuilder ( BytecodeArrayBuilder * builder,
BlockCoverageBuilder * block_coverage_builder,
AstNode * node )
inline

Definition at line 40 of file control-flow-builders.h.

◆ ~BreakableControlFlowBuilder()

v8::internal::interpreter::BreakableControlFlowBuilder::~BreakableControlFlowBuilder ( )
override

Definition at line 13 of file control-flow-builders.cc.

Here is the call graph for this function:

Member Function Documentation

◆ BindBreakTarget()

void v8::internal::interpreter::BreakableControlFlowBuilder::BindBreakTarget ( )
protected

Definition at line 22 of file control-flow-builders.cc.

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

◆ Break()

void v8::internal::interpreter::BreakableControlFlowBuilder::Break ( )
inline

Definition at line 52 of file control-flow-builders.h.

Here is the caller graph for this function:

◆ break_labels()

BytecodeLabels * v8::internal::interpreter::BreakableControlFlowBuilder::break_labels ( )
inline

Definition at line 60 of file control-flow-builders.h.

◆ BreakIfForInDone()

void v8::internal::interpreter::BreakableControlFlowBuilder::BreakIfForInDone ( Register index,
Register cache_length )
inline

Definition at line 56 of file control-flow-builders.h.

◆ BreakIfTrue()

void v8::internal::interpreter::BreakableControlFlowBuilder::BreakIfTrue ( BytecodeArrayBuilder::ToBooleanMode mode)
inline

Definition at line 53 of file control-flow-builders.h.

Here is the caller graph for this function:

◆ EmitJump()

void v8::internal::interpreter::BreakableControlFlowBuilder::EmitJump ( BytecodeLabels * labels)
protected

Definition at line 26 of file control-flow-builders.cc.

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

◆ EmitJumpIfFalse()

void v8::internal::interpreter::BreakableControlFlowBuilder::EmitJumpIfFalse ( BytecodeArrayBuilder::ToBooleanMode mode,
BytecodeLabels * labels )
protected

Definition at line 35 of file control-flow-builders.cc.

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

◆ EmitJumpIfForInDone()

void v8::internal::interpreter::BreakableControlFlowBuilder::EmitJumpIfForInDone ( BytecodeLabels * labels,
Register index,
Register cache_length )
protected

Definition at line 44 of file control-flow-builders.cc.

Here is the call graph for this function:

◆ EmitJumpIfTrue()

void v8::internal::interpreter::BreakableControlFlowBuilder::EmitJumpIfTrue ( BytecodeArrayBuilder::ToBooleanMode mode,
BytecodeLabels * labels )
protected

Definition at line 30 of file control-flow-builders.cc.

Here is the call graph for this function:

◆ EmitJumpIfUndefined()

void v8::internal::interpreter::BreakableControlFlowBuilder::EmitJumpIfUndefined ( BytecodeLabels * labels)
protected

Definition at line 40 of file control-flow-builders.cc.

Here is the call graph for this function:

Member Data Documentation

◆ block_coverage_builder_

BlockCoverageBuilder* v8::internal::interpreter::BreakableControlFlowBuilder::block_coverage_builder_
protected

Definition at line 81 of file control-flow-builders.h.

◆ break_labels_

BytecodeLabels v8::internal::interpreter::BreakableControlFlowBuilder::break_labels_
protected

Definition at line 76 of file control-flow-builders.h.

◆ node_

AstNode* v8::internal::interpreter::BreakableControlFlowBuilder::node_
protected

Definition at line 80 of file control-flow-builders.h.


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