v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::interpreter::BytecodeGenerator::ControlScope Class Referenceabstract
Inheritance diagram for v8::internal::interpreter::BytecodeGenerator::ControlScope:
Collaboration diagram for v8::internal::interpreter::BytecodeGenerator::ControlScope:

Classes

class  DeferredCommands
 

Public Member Functions

 ControlScope (BytecodeGenerator *generator)
 
 ~ControlScope ()
 
 ControlScope (const ControlScope &)=delete
 
ControlScopeoperator= (const ControlScope &)=delete
 
void Break (Statement *stmt)
 
void Continue (Statement *stmt)
 
void ReturnAccumulator (int source_position)
 
void AsyncReturnAccumulator (int source_position)
 

Protected Types

enum  Command {
  CMD_BREAK , CMD_CONTINUE , CMD_RETURN , CMD_ASYNC_RETURN ,
  CMD_RETHROW
}
 

Protected Member Functions

void PerformCommand (Command command, Statement *statement, int source_position)
 
virtual bool Execute (Command command, Statement *statement, int source_position)=0
 
void PopContextToExpectedDepth ()
 
BytecodeGeneratorgenerator () const
 
ControlScopeouter () const
 
ContextScopecontext () const
 

Static Protected Member Functions

static constexpr bool CommandUsesAccumulator (Command command)
 

Private Attributes

BytecodeGeneratorgenerator_
 
ControlScopeouter_
 
ContextScopecontext_
 

Detailed Description

Definition at line 120 of file bytecode-generator.cc.

Member Enumeration Documentation

◆ Command

Enumerator
CMD_BREAK 
CMD_CONTINUE 
CMD_RETURN 
CMD_ASYNC_RETURN 
CMD_RETHROW 

Definition at line 148 of file bytecode-generator.cc.

Constructor & Destructor Documentation

◆ ControlScope() [1/2]

v8::internal::interpreter::BytecodeGenerator::ControlScope::ControlScope ( BytecodeGenerator * generator)
inlineexplicit

Definition at line 122 of file bytecode-generator.cc.

◆ ~ControlScope()

v8::internal::interpreter::BytecodeGenerator::ControlScope::~ControlScope ( )
inline

Definition at line 128 of file bytecode-generator.cc.

◆ ControlScope() [2/2]

v8::internal::interpreter::BytecodeGenerator::ControlScope::ControlScope ( const ControlScope & )
delete

Member Function Documentation

◆ AsyncReturnAccumulator()

void v8::internal::interpreter::BytecodeGenerator::ControlScope::AsyncReturnAccumulator ( int source_position)
inline

Definition at line 141 of file bytecode-generator.cc.

Here is the caller graph for this function:

◆ Break()

void v8::internal::interpreter::BytecodeGenerator::ControlScope::Break ( Statement * stmt)
inline

Definition at line 132 of file bytecode-generator.cc.

◆ CommandUsesAccumulator()

static constexpr bool v8::internal::interpreter::BytecodeGenerator::ControlScope::CommandUsesAccumulator ( Command command)
inlinestaticconstexprprotected

Definition at line 155 of file bytecode-generator.cc.

◆ context()

ContextScope * v8::internal::interpreter::BytecodeGenerator::ControlScope::context ( ) const
inlineprotected

Definition at line 171 of file bytecode-generator.cc.

◆ Continue()

void v8::internal::interpreter::BytecodeGenerator::ControlScope::Continue ( Statement * stmt)
inline

Definition at line 135 of file bytecode-generator.cc.

◆ Execute()

◆ generator()

BytecodeGenerator * v8::internal::interpreter::BytecodeGenerator::ControlScope::generator ( ) const
inlineprotected

Definition at line 169 of file bytecode-generator.cc.

Here is the caller graph for this function:

◆ operator=()

ControlScope & v8::internal::interpreter::BytecodeGenerator::ControlScope::operator= ( const ControlScope & )
delete

◆ outer()

ControlScope * v8::internal::interpreter::BytecodeGenerator::ControlScope::outer ( ) const
inlineprotected

Definition at line 170 of file bytecode-generator.cc.

◆ PerformCommand()

void v8::internal::interpreter::BytecodeGenerator::ControlScope::PerformCommand ( Command command,
Statement * statement,
int source_position )
protected

Definition at line 631 of file bytecode-generator.cc.

Here is the call graph for this function:

◆ PopContextToExpectedDepth()

void v8::internal::interpreter::BytecodeGenerator::ControlScope::PopContextToExpectedDepth ( )
protected

Definition at line 644 of file bytecode-generator.cc.

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

◆ ReturnAccumulator()

void v8::internal::interpreter::BytecodeGenerator::ControlScope::ReturnAccumulator ( int source_position)
inline

Definition at line 138 of file bytecode-generator.cc.

Here is the caller graph for this function:

Member Data Documentation

◆ context_

ContextScope* v8::internal::interpreter::BytecodeGenerator::ControlScope::context_
private

Definition at line 176 of file bytecode-generator.cc.

◆ generator_

BytecodeGenerator* v8::internal::interpreter::BytecodeGenerator::ControlScope::generator_
private

Definition at line 174 of file bytecode-generator.cc.

◆ outer_

ControlScope* v8::internal::interpreter::BytecodeGenerator::ControlScope::outer_
private

Definition at line 175 of file bytecode-generator.cc.


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