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

#include <code-assembler.h>

Collaboration diagram for v8::internal::compiler::CodeAssemblerState:

Public Member Functions

 CodeAssemblerState (Isolate *isolate, Zone *zone, const CallInterfaceDescriptor &descriptor, CodeKind kind, const char *name, Builtin builtin=Builtin::kNoBuiltinId)
 
 ~CodeAssemblerState ()
 
 CodeAssemblerState (const CodeAssemblerState &)=delete
 
CodeAssemblerStateoperator= (const CodeAssemblerState &)=delete
 
const char * name () const
 
int parameter_count () const
 
bool InsideBlock ()
 
void SetInitialDebugInformation (const char *msg, const char *file, int line)
 

Private Types

using VariableId = uint32_t
 

Private Member Functions

 CodeAssemblerState (Isolate *isolate, Zone *zone, CallDescriptor *call_descriptor, CodeKind kind, const char *name, Builtin builtin)
 
void PushExceptionHandler (CodeAssemblerExceptionHandlerLabel *label)
 
void PopExceptionHandler ()
 
VariableId NextVariableId ()
 

Private Attributes

std::unique_ptr< RawMachineAssemblerraw_assembler_
 
CodeKind kind_
 
const char * name_
 
Builtin builtin_
 
bool code_generated_
 
ZoneSet< CodeAssemblerVariable::Impl *, CodeAssemblerVariable::ImplComparatorvariables_
 
CodeAssemblerCallback call_prologue_
 
CodeAssemblerCallback call_epilogue_
 
std::vector< CodeAssemblerExceptionHandlerLabel * > exception_handler_labels_
 
VariableId next_variable_id_ = 0
 
JSGraphjsgraph_
 
std::vector< FileAndLinemacro_call_stack_
 

Friends

class CodeAssembler
 
class CodeAssemblerLabel
 
class CodeAssemblerVariable
 
class CodeAssemblerTester
 
class CodeAssemblerParameterizedLabelBase
 
class CodeAssemblerCompilationJob
 
class ScopedExceptionHandler
 

Detailed Description

Definition at line 1852 of file code-assembler.h.

Member Typedef Documentation

◆ VariableId

Definition at line 1901 of file code-assembler.h.

Constructor & Destructor Documentation

◆ CodeAssemblerState() [1/3]

v8::internal::compiler::CodeAssemblerState::CodeAssemblerState ( Isolate * isolate,
Zone * zone,
const CallInterfaceDescriptor & descriptor,
CodeKind kind,
const char * name,
Builtin builtin = Builtin::kNoBuiltinId )

Definition at line 51 of file code-assembler.cc.

◆ ~CodeAssemblerState()

v8::internal::compiler::CodeAssemblerState::~CodeAssemblerState ( )
default

◆ CodeAssemblerState() [2/3]

v8::internal::compiler::CodeAssemblerState::CodeAssemblerState ( const CodeAssemblerState & )
delete

◆ CodeAssemblerState() [3/3]

v8::internal::compiler::CodeAssemblerState::CodeAssemblerState ( Isolate * isolate,
Zone * zone,
CallDescriptor * call_descriptor,
CodeKind kind,
const char * name,
Builtin builtin )
private

Definition at line 63 of file code-assembler.cc.

Member Function Documentation

◆ InsideBlock()

bool v8::internal::compiler::CodeAssemblerState::InsideBlock ( )

Definition at line 96 of file code-assembler.cc.

Here is the caller graph for this function:

◆ name()

const char * v8::internal::compiler::CodeAssemblerState::name ( ) const
inline

Definition at line 1866 of file code-assembler.h.

Here is the caller graph for this function:

◆ NextVariableId()

VariableId v8::internal::compiler::CodeAssemblerState::NextVariableId ( )
inlineprivate

Definition at line 1908 of file code-assembler.h.

◆ operator=()

CodeAssemblerState & v8::internal::compiler::CodeAssemblerState::operator= ( const CodeAssemblerState & )
delete

◆ parameter_count()

int v8::internal::compiler::CodeAssemblerState::parameter_count ( ) const

Definition at line 84 of file code-assembler.cc.

◆ PopExceptionHandler()

void v8::internal::compiler::CodeAssemblerState::PopExceptionHandler ( )
private

Definition at line 2013 of file code-assembler.cc.

Here is the caller graph for this function:

◆ PushExceptionHandler()

void v8::internal::compiler::CodeAssemblerState::PushExceptionHandler ( CodeAssemblerExceptionHandlerLabel * label)
private

Definition at line 2008 of file code-assembler.cc.

Here is the caller graph for this function:

◆ SetInitialDebugInformation()

void v8::internal::compiler::CodeAssemblerState::SetInitialDebugInformation ( const char * msg,
const char * file,
int line )

Definition at line 98 of file code-assembler.cc.

Friends And Related Symbol Documentation

◆ CodeAssembler

friend class CodeAssembler
friend

Definition at line 1876 of file code-assembler.h.

◆ CodeAssemblerCompilationJob

friend class CodeAssemblerCompilationJob
friend

Definition at line 1881 of file code-assembler.h.

◆ CodeAssemblerLabel

friend class CodeAssemblerLabel
friend

Definition at line 1877 of file code-assembler.h.

◆ CodeAssemblerParameterizedLabelBase

Definition at line 1880 of file code-assembler.h.

◆ CodeAssemblerTester

friend class CodeAssemblerTester
friend

Definition at line 1879 of file code-assembler.h.

◆ CodeAssemblerVariable

friend class CodeAssemblerVariable
friend

Definition at line 1878 of file code-assembler.h.

◆ ScopedExceptionHandler

friend class ScopedExceptionHandler
friend

Definition at line 1882 of file code-assembler.h.

Member Data Documentation

◆ builtin_

Builtin v8::internal::compiler::CodeAssemblerState::builtin_
private

Definition at line 1894 of file code-assembler.h.

◆ call_epilogue_

CodeAssemblerCallback v8::internal::compiler::CodeAssemblerState::call_epilogue_
private

Definition at line 1899 of file code-assembler.h.

◆ call_prologue_

CodeAssemblerCallback v8::internal::compiler::CodeAssemblerState::call_prologue_
private

Definition at line 1898 of file code-assembler.h.

◆ code_generated_

bool v8::internal::compiler::CodeAssemblerState::code_generated_
private

Definition at line 1895 of file code-assembler.h.

◆ exception_handler_labels_

std::vector<CodeAssemblerExceptionHandlerLabel*> v8::internal::compiler::CodeAssemblerState::exception_handler_labels_
private

Definition at line 1900 of file code-assembler.h.

◆ jsgraph_

JSGraph* v8::internal::compiler::CodeAssemblerState::jsgraph_
private

Definition at line 1903 of file code-assembler.h.

◆ kind_

CodeKind v8::internal::compiler::CodeAssemblerState::kind_
private

Definition at line 1892 of file code-assembler.h.

◆ macro_call_stack_

std::vector<FileAndLine> v8::internal::compiler::CodeAssemblerState::macro_call_stack_
private

Definition at line 1906 of file code-assembler.h.

◆ name_

const char* v8::internal::compiler::CodeAssemblerState::name_
private

Definition at line 1893 of file code-assembler.h.

◆ next_variable_id_

VariableId v8::internal::compiler::CodeAssemblerState::next_variable_id_ = 0
private

Definition at line 1902 of file code-assembler.h.

◆ raw_assembler_

std::unique_ptr<RawMachineAssembler> v8::internal::compiler::CodeAssemblerState::raw_assembler_
private

Definition at line 1891 of file code-assembler.h.

◆ variables_

ZoneSet<CodeAssemblerVariable::Impl*, CodeAssemblerVariable::ImplComparator> v8::internal::compiler::CodeAssemblerState::variables_
private

Definition at line 1897 of file code-assembler.h.


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