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

Public Member Functions

 InterpreterCompilationJob (ParseInfo *parse_info, FunctionLiteral *literal, Handle< Script > script, AccountingAllocator *allocator, std::vector< FunctionLiteral * > *eager_inner_literals, LocalIsolate *local_isolate)
 
 InterpreterCompilationJob (const InterpreterCompilationJob &)=delete
 
InterpreterCompilationJoboperator= (const InterpreterCompilationJob &)=delete
 
- Public Member Functions inherited from v8::internal::UnoptimizedCompilationJob
 UnoptimizedCompilationJob (uintptr_t stack_limit, ParseInfo *parse_info, UnoptimizedCompilationInfo *compilation_info)
 
V8_WARN_UNUSED_RESULT Status ExecuteJob ()
 
V8_WARN_UNUSED_RESULT Status FinalizeJob (DirectHandle< SharedFunctionInfo > shared_info, Isolate *isolate)
 
V8_WARN_UNUSED_RESULT Status FinalizeJob (DirectHandle< SharedFunctionInfo > shared_info, LocalIsolate *isolate)
 
void RecordCompilationStats (Isolate *isolate) const
 
void RecordFunctionCompilation (LogEventListener::CodeTag code_type, Handle< SharedFunctionInfo > shared, Isolate *isolate) const
 
ParseInfoparse_info () const
 
UnoptimizedCompilationInfocompilation_info () const
 
uintptr_t stack_limit () const
 
base::TimeDelta time_taken_to_execute () const
 
base::TimeDelta time_taken_to_finalize () const
 
void ClearParseInfo ()
 
- Public Member Functions inherited from v8::internal::CompilationJob
 CompilationJob (State initial_state)
 
virtual ~CompilationJob ()=default
 
State state () const
 

Protected Member Functions

Status ExecuteJobImpl () final
 
Status FinalizeJobImpl (DirectHandle< SharedFunctionInfo > shared_info, Isolate *isolate) final
 
Status FinalizeJobImpl (DirectHandle< SharedFunctionInfo > shared_info, LocalIsolate *isolate) final
 
- Protected Member Functions inherited from v8::internal::UnoptimizedCompilationJob
- Protected Member Functions inherited from v8::internal::CompilationJob
V8_WARN_UNUSED_RESULT Status UpdateState (Status status, State next_state)
 

Private Member Functions

BytecodeGeneratorgenerator ()
 
template<typename IsolateT >
void CheckAndPrintBytecodeMismatch (IsolateT *isolate, Handle< Script > script, DirectHandle< BytecodeArray > bytecode)
 
template<typename IsolateT >
Status DoFinalizeJobImpl (DirectHandle< SharedFunctionInfo > shared_info, IsolateT *isolate)
 

Private Attributes

Zone zone_
 
UnoptimizedCompilationInfo compilation_info_
 
LocalIsolatelocal_isolate_
 
BytecodeGenerator generator_
 

Additional Inherited Members

- Public Types inherited from v8::internal::CompilationJob
enum  Status { SUCCEEDED , FAILED , RETRY_ON_MAIN_THREAD }
 
enum class  State {
  kReadyToPrepare , kReadyToExecute , kReadyToFinalize , kSucceeded ,
  kFailed
}
 

Detailed Description

Definition at line 31 of file interpreter.cc.

Constructor & Destructor Documentation

◆ InterpreterCompilationJob() [1/2]

v8::internal::interpreter::InterpreterCompilationJob::InterpreterCompilationJob ( ParseInfo * parse_info,
FunctionLiteral * literal,
Handle< Script > script,
AccountingAllocator * allocator,
std::vector< FunctionLiteral * > * eager_inner_literals,
LocalIsolate * local_isolate )

Definition at line 170 of file interpreter.cc.

◆ InterpreterCompilationJob() [2/2]

v8::internal::interpreter::InterpreterCompilationJob::InterpreterCompilationJob ( const InterpreterCompilationJob & )
delete

Member Function Documentation

◆ CheckAndPrintBytecodeMismatch()

template<typename IsolateT >
void v8::internal::interpreter::InterpreterCompilationJob::CheckAndPrintBytecodeMismatch ( IsolateT * isolate,
Handle< Script > script,
DirectHandle< BytecodeArray > bytecode )
private
Here is the caller graph for this function:

◆ DoFinalizeJobImpl()

template<typename IsolateT >
InterpreterCompilationJob::Status v8::internal::interpreter::InterpreterCompilationJob::DoFinalizeJobImpl ( DirectHandle< SharedFunctionInfo > shared_info,
IsolateT * isolate )
private

Definition at line 266 of file interpreter.cc.

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

◆ ExecuteJobImpl()

InterpreterCompilationJob::Status v8::internal::interpreter::InterpreterCompilationJob::ExecuteJobImpl ( )
finalprotectedvirtual

Implements v8::internal::UnoptimizedCompilationJob.

Definition at line 184 of file interpreter.cc.

Here is the call graph for this function:

◆ FinalizeJobImpl() [1/2]

InterpreterCompilationJob::Status v8::internal::interpreter::InterpreterCompilationJob::FinalizeJobImpl ( DirectHandle< SharedFunctionInfo > shared_info,
Isolate * isolate )
finalprotectedvirtual

Implements v8::internal::UnoptimizedCompilationJob.

Definition at line 247 of file interpreter.cc.

Here is the call graph for this function:

◆ FinalizeJobImpl() [2/2]

InterpreterCompilationJob::Status v8::internal::interpreter::InterpreterCompilationJob::FinalizeJobImpl ( DirectHandle< SharedFunctionInfo > shared_info,
LocalIsolate * isolate )
finalprotectedvirtual

Implements v8::internal::UnoptimizedCompilationJob.

Definition at line 256 of file interpreter.cc.

Here is the call graph for this function:

◆ generator()

BytecodeGenerator * v8::internal::interpreter::InterpreterCompilationJob::generator ( )
inlineprivate

Definition at line 50 of file interpreter.cc.

Here is the caller graph for this function:

◆ operator=()

InterpreterCompilationJob & v8::internal::interpreter::InterpreterCompilationJob::operator= ( const InterpreterCompilationJob & )
delete

Member Data Documentation

◆ compilation_info_

UnoptimizedCompilationInfo v8::internal::interpreter::InterpreterCompilationJob::compilation_info_
private

Definition at line 60 of file interpreter.cc.

◆ generator_

BytecodeGenerator v8::internal::interpreter::InterpreterCompilationJob::generator_
private

Definition at line 62 of file interpreter.cc.

◆ local_isolate_

LocalIsolate* v8::internal::interpreter::InterpreterCompilationJob::local_isolate_
private

Definition at line 61 of file interpreter.cc.

◆ zone_

Zone v8::internal::interpreter::InterpreterCompilationJob::zone_
private

Definition at line 59 of file interpreter.cc.


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