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

#include <ast.h>

Inheritance diagram for v8::internal::LiteralBoilerplateBuilder:
Collaboration diagram for v8::internal::LiteralBoilerplateBuilder:

Public Types

enum  DepthKind { kUninitialized , kShallow , kNotShallow }
 

Public Member Functions

bool is_initialized () const
 
DepthKind depth () const
 
bool is_shallow () const
 
bool needs_initial_allocation_site () const
 
int ComputeFlags (bool disable_mementos=false) const
 
bool is_simple () const
 
ElementsKind boilerplate_descriptor_kind () const
 

Static Public Member Functions

template<typename IsolateT >
static DirectHandle< ObjectGetBoilerplateValue (Expression *expression, IsolateT *isolate)
 

Static Public Attributes

static constexpr int kDepthKindBits = 2
 

Protected Types

template<class T , int size>
using NextBitField = BoilerplateDescriptorKindField::Next<T, size>
 

Protected Member Functions

 LiteralBoilerplateBuilder ()
 
void set_is_simple (bool is_simple)
 
void set_boilerplate_descriptor_kind (ElementsKind kind)
 
void set_depth (DepthKind depth)
 
void set_needs_initial_allocation_site (bool required)
 
template<typename IsolateT >
void BuildConstants (IsolateT *isolate, MaterializedLiteral *expr)
 

Static Protected Member Functions

static void InitDepthAndFlags (MaterializedLiteral *expr)
 

Protected Attributes

uint32_t bit_field_
 

Private Types

using DepthField = base::BitField<DepthKind, 0, kDepthKindBits>
 
using NeedsInitialAllocationSiteField = DepthField::Next<bool, 1>
 
using IsSimpleField = NeedsInitialAllocationSiteField::Next<bool, 1>
 
using BoilerplateDescriptorKindField
 

Detailed Description

Definition at line 1147 of file ast.h.

Member Typedef Documentation

◆ BoilerplateDescriptorKindField

Initial value:

Definition at line 1201 of file ast.h.

◆ DepthField

◆ IsSimpleField

◆ NeedsInitialAllocationSiteField

◆ NextBitField

Definition at line 1241 of file ast.h.

Member Enumeration Documentation

◆ DepthKind

Enumerator
kUninitialized 
kShallow 
kNotShallow 

Definition at line 1149 of file ast.h.

Constructor & Destructor Documentation

◆ LiteralBoilerplateBuilder()

v8::internal::LiteralBoilerplateBuilder::LiteralBoilerplateBuilder ( )
inlineprotected

Definition at line 1207 of file ast.h.

Here is the call graph for this function:

Member Function Documentation

◆ boilerplate_descriptor_kind()

ElementsKind v8::internal::LiteralBoilerplateBuilder::boilerplate_descriptor_kind ( ) const
inline

Definition at line 1189 of file ast.h.

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

◆ BuildConstants()

template<typename IsolateT >
void v8::internal::LiteralBoilerplateBuilder::BuildConstants ( IsolateT * isolate,
MaterializedLiteral * expr )
protected

Definition at line 791 of file ast.cc.

Here is the caller graph for this function:

◆ ComputeFlags()

int v8::internal::LiteralBoilerplateBuilder::ComputeFlags ( bool disable_mementos = false) const
inline

Definition at line 1176 of file ast.h.

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

◆ depth()

DepthKind v8::internal::LiteralBoilerplateBuilder::depth ( ) const
inline

Definition at line 1157 of file ast.h.

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

◆ GetBoilerplateValue()

template<typename IsolateT >
DirectHandle< Object > v8::internal::LiteralBoilerplateBuilder::GetBoilerplateValue ( Expression * expression,
IsolateT * isolate )
static

Definition at line 555 of file ast.cc.

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

◆ InitDepthAndFlags()

void v8::internal::LiteralBoilerplateBuilder::InitDepthAndFlags ( MaterializedLiteral * expr)
staticprotected

Definition at line 767 of file ast.cc.

Here is the caller graph for this function:

◆ is_initialized()

bool v8::internal::LiteralBoilerplateBuilder::is_initialized ( ) const
inline

Definition at line 1154 of file ast.h.

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

◆ is_shallow()

bool v8::internal::LiteralBoilerplateBuilder::is_shallow ( ) const
inline

Definition at line 1171 of file ast.h.

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

◆ is_simple()

bool v8::internal::LiteralBoilerplateBuilder::is_simple ( ) const
inline

Definition at line 1187 of file ast.h.

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

◆ needs_initial_allocation_site()

bool v8::internal::LiteralBoilerplateBuilder::needs_initial_allocation_site ( ) const
inline

Definition at line 1172 of file ast.h.

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

◆ set_boilerplate_descriptor_kind()

void v8::internal::LiteralBoilerplateBuilder::set_boilerplate_descriptor_kind ( ElementsKind kind)
inlineprotected

Definition at line 1219 of file ast.h.

Here is the call graph for this function:

◆ set_depth()

void v8::internal::LiteralBoilerplateBuilder::set_depth ( DepthKind depth)
inlineprotected

Definition at line 1224 of file ast.h.

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

◆ set_is_simple()

void v8::internal::LiteralBoilerplateBuilder::set_is_simple ( bool is_simple)
inlineprotected

Definition at line 1215 of file ast.h.

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

◆ set_needs_initial_allocation_site()

void v8::internal::LiteralBoilerplateBuilder::set_needs_initial_allocation_site ( bool required)
inlineprotected

Definition at line 1229 of file ast.h.

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

Member Data Documentation

◆ bit_field_

uint32_t v8::internal::LiteralBoilerplateBuilder::bit_field_
protected

Definition at line 1205 of file ast.h.

◆ kDepthKindBits

int v8::internal::LiteralBoilerplateBuilder::kDepthKindBits = 2
staticconstexpr

Definition at line 1151 of file ast.h.


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