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

#include <control-flow-builders.h>

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

Public Member Functions

 LoopBuilder (BytecodeArrayBuilder *builder, BlockCoverageBuilder *block_coverage_builder, AstNode *node, FeedbackVectorSpec *feedback_vector_spec)
 
 ~LoopBuilder () override
 
void LoopHeader ()
 
void LoopBody ()
 
void JumpToHeader (int loop_depth, LoopBuilder *const parent_loop)
 
void BindContinueTarget ()
 
void Continue ()
 
void ContinueIfUndefined ()
 
- Public Member Functions inherited from v8::internal::interpreter::BreakableControlFlowBuilder
 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
 

Private Member Functions

void JumpToLoopEnd ()
 
void BindLoopEnd ()
 

Private Attributes

BytecodeLoopHeader loop_header_
 
BytecodeLabels continue_labels_
 
BytecodeLabels end_labels_
 
int block_coverage_body_slot_
 
int source_position_
 
FeedbackVectorSpec *const feedback_vector_spec_
 

Additional Inherited Members

- Protected Member Functions inherited from v8::internal::interpreter::BreakableControlFlowBuilder
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 inherited from v8::internal::interpreter::BreakableControlFlowBuilder
BytecodeLabels break_labels_
 
AstNodenode_
 
BlockCoverageBuilderblock_coverage_builder_
 

Detailed Description

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

Constructor & Destructor Documentation

◆ LoopBuilder()

v8::internal::interpreter::LoopBuilder::LoopBuilder ( BytecodeArrayBuilder * builder,
BlockCoverageBuilder * block_coverage_builder,
AstNode * node,
FeedbackVectorSpec * feedback_vector_spec )
inline

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

◆ ~LoopBuilder()

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

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

Here is the call graph for this function:

Member Function Documentation

◆ BindContinueTarget()

void v8::internal::interpreter::LoopBuilder::BindContinueTarget ( )

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

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

◆ BindLoopEnd()

void v8::internal::interpreter::LoopBuilder::BindLoopEnd ( )
private

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

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

◆ Continue()

void v8::internal::interpreter::LoopBuilder::Continue ( )
inline

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

Here is the caller graph for this function:

◆ ContinueIfUndefined()

void v8::internal::interpreter::LoopBuilder::ContinueIfUndefined ( )
inline

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

◆ JumpToHeader()

void v8::internal::interpreter::LoopBuilder::JumpToHeader ( int loop_depth,
LoopBuilder *const parent_loop )

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

Here is the call graph for this function:

◆ JumpToLoopEnd()

void v8::internal::interpreter::LoopBuilder::JumpToLoopEnd ( )
inlineprivate

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

Here is the caller graph for this function:

◆ LoopBody()

void v8::internal::interpreter::LoopBuilder::LoopBody ( )

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

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

◆ LoopHeader()

void v8::internal::interpreter::LoopBuilder::LoopHeader ( )

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

Here is the call graph for this function:

Member Data Documentation

◆ block_coverage_body_slot_

int v8::internal::interpreter::LoopBuilder::block_coverage_body_slot_
private

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

◆ continue_labels_

BytecodeLabels v8::internal::interpreter::LoopBuilder::continue_labels_
private

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

◆ end_labels_

BytecodeLabels v8::internal::interpreter::LoopBuilder::end_labels_
private

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

◆ feedback_vector_spec_

FeedbackVectorSpec* const v8::internal::interpreter::LoopBuilder::feedback_vector_spec_
private

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

◆ loop_header_

BytecodeLoopHeader v8::internal::interpreter::LoopBuilder::loop_header_
private

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

◆ source_position_

int v8::internal::interpreter::LoopBuilder::source_position_
private

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


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