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

#include <ast.h>

Inheritance diagram for v8::internal::ObjectLiteralBoilerplateBuilder:
Collaboration diagram for v8::internal::ObjectLiteralBoilerplateBuilder:

Public Types

using Property = ObjectLiteralProperty
 
- Public Types inherited from v8::internal::LiteralBoilerplateBuilder
enum  DepthKind { kUninitialized , kShallow , kNotShallow }
 

Public Member Functions

 ObjectLiteralBoilerplateBuilder (ZoneList< Property * > *properties, uint32_t boilerplate_properties, bool has_rest_property)
 
DirectHandle< ObjectBoilerplateDescriptionboilerplate_description () const
 
bool IsFastCloningSupported () const
 
int properties_count () const
 
const ZonePtrList< Property > * properties () const
 
bool has_elements () const
 
bool has_rest_property () const
 
bool fast_elements () const
 
bool has_null_prototype () const
 
template<typename IsolateT >
void BuildBoilerplateDescription (IsolateT *isolate)
 
template<typename IsolateT >
Handle< ObjectBoilerplateDescriptionGetOrBuildBoilerplateDescription (IsolateT *isolate)
 
bool is_empty () const
 
int ComputeFlags (bool disable_mementos=false) const
 
bool IsEmptyObjectLiteral () const
 
int EncodeLiteralType ()
 
void InitDepthAndFlags ()
 
- Public Member Functions inherited from v8::internal::LiteralBoilerplateBuilder
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
 

Private Types

using HasElementsField = LiteralBoilerplateBuilder::NextBitField<bool, 1>
 
using HasRestPropertyField = HasElementsField::Next<bool, 1>
 
using FastElementsField = HasRestPropertyField::Next<bool, 1>
 
using HasNullPrototypeField = FastElementsField::Next<bool, 1>
 

Private Member Functions

void InitFlagsForPendingNullPrototype (int i)
 
void set_has_elements (bool has_elements)
 
void set_fast_elements (bool fast_elements)
 
void set_has_null_protoype (bool has_null_prototype)
 

Private Attributes

ZoneList< Property * > * properties_
 
uint32_t boilerplate_properties_
 
IndirectHandle< ObjectBoilerplateDescriptionboilerplate_description_
 

Additional Inherited Members

- Static Public Member Functions inherited from v8::internal::LiteralBoilerplateBuilder
template<typename IsolateT >
static DirectHandle< ObjectGetBoilerplateValue (Expression *expression, IsolateT *isolate)
 
- Static Public Attributes inherited from v8::internal::LiteralBoilerplateBuilder
static constexpr int kDepthKindBits = 2
 
- Protected Types inherited from v8::internal::LiteralBoilerplateBuilder
template<class T , int size>
using NextBitField = BoilerplateDescriptorKindField::Next<T, size>
 
- Protected Member Functions inherited from v8::internal::LiteralBoilerplateBuilder
 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 inherited from v8::internal::LiteralBoilerplateBuilder
static void InitDepthAndFlags (MaterializedLiteral *expr)
 
- Protected Attributes inherited from v8::internal::LiteralBoilerplateBuilder
uint32_t bit_field_
 

Detailed Description

Definition at line 1304 of file ast.h.

Member Typedef Documentation

◆ FastElementsField

◆ HasElementsField

◆ HasNullPrototypeField

◆ HasRestPropertyField

◆ Property

Constructor & Destructor Documentation

◆ ObjectLiteralBoilerplateBuilder()

v8::internal::ObjectLiteralBoilerplateBuilder::ObjectLiteralBoilerplateBuilder ( ZoneList< Property * > * properties,
uint32_t boilerplate_properties,
bool has_rest_property )
inline

Definition at line 1308 of file ast.h.

Here is the call graph for this function:

Member Function Documentation

◆ boilerplate_description()

DirectHandle< ObjectBoilerplateDescription > v8::internal::ObjectLiteralBoilerplateBuilder::boilerplate_description ( ) const
inline

Definition at line 1318 of file ast.h.

Here is the caller graph for this function:

◆ BuildBoilerplateDescription()

template<typename IsolateT >
void v8::internal::ObjectLiteralBoilerplateBuilder::BuildBoilerplateDescription ( IsolateT * isolate)

Definition at line 478 of file ast.cc.

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

◆ ComputeFlags()

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

Definition at line 386 of file ast.cc.

Here is the call graph for this function:

◆ EncodeLiteralType()

int v8::internal::ObjectLiteralBoilerplateBuilder::EncodeLiteralType ( )

Definition at line 403 of file ast.cc.

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

◆ fast_elements()

bool v8::internal::ObjectLiteralBoilerplateBuilder::fast_elements ( ) const
inline

Definition at line 1331 of file ast.h.

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

◆ GetOrBuildBoilerplateDescription()

template<typename IsolateT >
Handle< ObjectBoilerplateDescription > v8::internal::ObjectLiteralBoilerplateBuilder::GetOrBuildBoilerplateDescription ( IsolateT * isolate)
inline

Definition at line 1342 of file ast.h.

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

◆ has_elements()

bool v8::internal::ObjectLiteralBoilerplateBuilder::has_elements ( ) const
inline

Definition at line 1327 of file ast.h.

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

◆ has_null_prototype()

bool v8::internal::ObjectLiteralBoilerplateBuilder::has_null_prototype ( ) const
inline

Definition at line 1332 of file ast.h.

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

◆ has_rest_property()

bool v8::internal::ObjectLiteralBoilerplateBuilder::has_rest_property ( ) const
inline

Definition at line 1328 of file ast.h.

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

◆ InitDepthAndFlags()

void v8::internal::ObjectLiteralBoilerplateBuilder::InitDepthAndFlags ( )

Definition at line 410 of file ast.cc.

Here is the call graph for this function:

◆ InitFlagsForPendingNullPrototype()

void v8::internal::ObjectLiteralBoilerplateBuilder::InitFlagsForPendingNullPrototype ( int i)
private

Definition at line 393 of file ast.cc.

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

◆ is_empty()

bool v8::internal::ObjectLiteralBoilerplateBuilder::is_empty ( ) const
inline

Definition at line 1350 of file ast.h.

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

◆ IsEmptyObjectLiteral()

bool v8::internal::ObjectLiteralBoilerplateBuilder::IsEmptyObjectLiteral ( ) const
inline

Definition at line 1358 of file ast.h.

Here is the call graph for this function:

◆ IsFastCloningSupported()

bool v8::internal::ObjectLiteralBoilerplateBuilder::IsFastCloningSupported ( ) const

◆ properties()

const ZonePtrList< Property > * v8::internal::ObjectLiteralBoilerplateBuilder::properties ( ) const
inline

Definition at line 1326 of file ast.h.

Here is the caller graph for this function:

◆ properties_count()

int v8::internal::ObjectLiteralBoilerplateBuilder::properties_count ( ) const
inline

Definition at line 1325 of file ast.h.

Here is the caller graph for this function:

◆ set_fast_elements()

void v8::internal::ObjectLiteralBoilerplateBuilder::set_fast_elements ( bool fast_elements)
inlineprivate

Definition at line 1373 of file ast.h.

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

◆ set_has_elements()

void v8::internal::ObjectLiteralBoilerplateBuilder::set_has_elements ( bool has_elements)
inlineprivate

Definition at line 1370 of file ast.h.

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

◆ set_has_null_protoype()

void v8::internal::ObjectLiteralBoilerplateBuilder::set_has_null_protoype ( bool has_null_prototype)
inlineprivate

Definition at line 1376 of file ast.h.

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

Member Data Documentation

◆ boilerplate_description_

IndirectHandle<ObjectBoilerplateDescription> v8::internal::ObjectLiteralBoilerplateBuilder::boilerplate_description_
private

Definition at line 1381 of file ast.h.

◆ boilerplate_properties_

uint32_t v8::internal::ObjectLiteralBoilerplateBuilder::boilerplate_properties_
private

Definition at line 1380 of file ast.h.

◆ properties_

ZoneList<Property*>* v8::internal::ObjectLiteralBoilerplateBuilder::properties_
private

Definition at line 1379 of file ast.h.


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