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

#include <baseline-batch-compiler.h>

Collaboration diagram for v8::internal::baseline::BaselineBatchCompiler:

Public Member Functions

 BaselineBatchCompiler (Isolate *isolate)
 
 ~BaselineBatchCompiler ()
 
void EnqueueFunction (DirectHandle< JSFunction > function)
 
void EnqueueSFI (Tagged< SharedFunctionInfo > shared)
 
void set_enabled (bool enabled)
 
bool is_enabled ()
 
void InstallBatch ()
 

Static Public Attributes

static const int kInitialQueueSize = 32
 

Private Member Functions

bool concurrent () const
 
void EnsureQueueCapacity ()
 
void Enqueue (DirectHandle< SharedFunctionInfo > shared)
 
bool ShouldCompileBatch (Tagged< SharedFunctionInfo > shared)
 
void CompileBatch (DirectHandle< JSFunction > function)
 
void CompileBatchConcurrent (Tagged< SharedFunctionInfo > shared)
 
void ClearBatch ()
 
bool MaybeCompileFunction (Tagged< MaybeObject > maybe_sfi)
 

Private Attributes

Isolateisolate_
 
Handle< WeakFixedArraycompilation_queue_
 
int last_index_
 
int estimated_instruction_size_
 
bool enabled_
 
std::unique_ptr< ConcurrentBaselineCompilerconcurrent_compiler_
 

Detailed Description

Definition at line 20 of file baseline-batch-compiler.h.

Constructor & Destructor Documentation

◆ BaselineBatchCompiler()

v8::internal::baseline::BaselineBatchCompiler::BaselineBatchCompiler ( Isolate * isolate)
explicit

Definition at line 235 of file baseline-batch-compiler.cc.

◆ ~BaselineBatchCompiler()

v8::internal::baseline::BaselineBatchCompiler::~BaselineBatchCompiler ( )

Definition at line 247 of file baseline-batch-compiler.cc.

Here is the call graph for this function:

Member Function Documentation

◆ ClearBatch()

void v8::internal::baseline::BaselineBatchCompiler::ClearBatch ( )
private

Definition at line 391 of file baseline-batch-compiler.cc.

Here is the caller graph for this function:

◆ CompileBatch()

void v8::internal::baseline::BaselineBatchCompiler::CompileBatch ( DirectHandle< JSFunction > function)
private

Definition at line 315 of file baseline-batch-compiler.cc.

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

◆ CompileBatchConcurrent()

void v8::internal::baseline::BaselineBatchCompiler::CompileBatchConcurrent ( Tagged< SharedFunctionInfo > shared)
private

Definition at line 330 of file baseline-batch-compiler.cc.

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

◆ concurrent()

bool v8::internal::baseline::BaselineBatchCompiler::concurrent ( ) const
private

Definition at line 254 of file baseline-batch-compiler.cc.

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

◆ Enqueue()

void v8::internal::baseline::BaselineBatchCompiler::Enqueue ( DirectHandle< SharedFunctionInfo > shared)
private

Definition at line 289 of file baseline-batch-compiler.cc.

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

◆ EnqueueFunction()

void v8::internal::baseline::BaselineBatchCompiler::EnqueueFunction ( DirectHandle< JSFunction > function)

Definition at line 259 of file baseline-batch-compiler.cc.

Here is the call graph for this function:

◆ EnqueueSFI()

void v8::internal::baseline::BaselineBatchCompiler::EnqueueSFI ( Tagged< SharedFunctionInfo > shared)

Definition at line 280 of file baseline-batch-compiler.cc.

Here is the call graph for this function:

◆ EnsureQueueCapacity()

void v8::internal::baseline::BaselineBatchCompiler::EnsureQueueCapacity ( )
private

Definition at line 299 of file baseline-batch-compiler.cc.

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

◆ InstallBatch()

void v8::internal::baseline::BaselineBatchCompiler::InstallBatch ( )

Definition at line 294 of file baseline-batch-compiler.cc.

◆ is_enabled()

bool v8::internal::baseline::BaselineBatchCompiler::is_enabled ( )
inline

Definition at line 31 of file baseline-batch-compiler.h.

Here is the caller graph for this function:

◆ MaybeCompileFunction()

bool v8::internal::baseline::BaselineBatchCompiler::MaybeCompileFunction ( Tagged< MaybeObject > maybe_sfi)
private

Definition at line 376 of file baseline-batch-compiler.cc.

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

◆ set_enabled()

void v8::internal::baseline::BaselineBatchCompiler::set_enabled ( bool enabled)
inline

Definition at line 30 of file baseline-batch-compiler.h.

◆ ShouldCompileBatch()

bool v8::internal::baseline::BaselineBatchCompiler::ShouldCompileBatch ( Tagged< SharedFunctionInfo > shared)
private

Definition at line 337 of file baseline-batch-compiler.cc.

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

Member Data Documentation

◆ compilation_queue_

Handle<WeakFixedArray> v8::internal::baseline::BaselineBatchCompiler::compilation_queue_
private

Definition at line 66 of file baseline-batch-compiler.h.

◆ concurrent_compiler_

std::unique_ptr<ConcurrentBaselineCompiler> v8::internal::baseline::BaselineBatchCompiler::concurrent_compiler_
private

Definition at line 79 of file baseline-batch-compiler.h.

◆ enabled_

bool v8::internal::baseline::BaselineBatchCompiler::enabled_
private

Definition at line 76 of file baseline-batch-compiler.h.

◆ estimated_instruction_size_

int v8::internal::baseline::BaselineBatchCompiler::estimated_instruction_size_
private

Definition at line 72 of file baseline-batch-compiler.h.

◆ isolate_

Isolate* v8::internal::baseline::BaselineBatchCompiler::isolate_
private

Definition at line 62 of file baseline-batch-compiler.h.

◆ kInitialQueueSize

const int v8::internal::baseline::BaselineBatchCompiler::kInitialQueueSize = 32
static

Definition at line 22 of file baseline-batch-compiler.h.

◆ last_index_

int v8::internal::baseline::BaselineBatchCompiler::last_index_
private

Definition at line 69 of file baseline-batch-compiler.h.


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