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

Public Member Functions

bool Equals (AbstractState const *that) const
 
void Merge (AbstractState const *that, Zone *zone)
 
AbstractState const * SetMaps (Node *object, ZoneRefSet< Map > maps, Zone *zone) const
 
AbstractState const * KillMaps (Node *object, Zone *zone) const
 
AbstractState const * KillMaps (const AliasStateInfo &alias_info, Zone *zone) const
 
bool LookupMaps (Node *object, ZoneRefSet< Map > *object_maps) const
 
AbstractState const * AddField (Node *object, IndexRange index, FieldInfo info, Zone *zone) const
 
AbstractState const * KillConstField (Node *object, IndexRange index_range, Zone *zone) const
 
AbstractState const * KillField (const AliasStateInfo &alias_info, IndexRange index, MaybeHandle< Name > name, Zone *zone) const
 
AbstractState const * KillField (Node *object, IndexRange index, MaybeHandle< Name > name, Zone *zone) const
 
AbstractState const * KillFields (Node *object, MaybeHandle< Name > name, Zone *zone) const
 
AbstractState const * KillAll (Zone *zone) const
 
FieldInfo const * LookupField (Node *object, IndexRange index, ConstFieldInfo const_field_info) const
 
AbstractState const * AddElement (Node *object, Node *index, Node *value, MachineRepresentation representation, Zone *zone) const
 
AbstractState const * KillElement (Node *object, Node *index, Zone *zone) const
 
NodeLookupElement (Node *object, Node *index, MachineRepresentation representation) const
 
void Print () const
 
- Public Member Functions inherited from v8::internal::ZoneObject
void * operator new (size_t, Zone *)=delete
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)=delete
 

Static Public Member Functions

static AbstractState const * empty_state ()
 

Private Types

using AbstractFields
 

Private Member Functions

bool FieldsEquals (AbstractFields const &this_fields, AbstractFields const &that_fields) const
 
void FieldsMerge (AbstractFields *this_fields, AbstractFields const &that_fields, Zone *zone)
 

Private Attributes

AbstractElements const * elements_ = nullptr
 
AbstractFields fields_ {}
 
AbstractFields const_fields_ {}
 
AbstractMaps const * maps_ = nullptr
 
int const_fields_count_ = 0
 
int fields_count_ = 0
 

Static Private Attributes

static AbstractState const empty_state_
 

Detailed Description

Definition at line 246 of file load-elimination.h.

Member Typedef Documentation

◆ AbstractFields

Initial value:
std::array<AbstractField const*, kMaxTrackedFieldsPerObject>

Definition at line 288 of file load-elimination.h.

Member Function Documentation

◆ AddElement()

LoadElimination::AbstractState const * v8::internal::compiler::LoadElimination::AbstractState::AddElement ( Node * object,
Node * index,
Node * value,
MachineRepresentation representation,
Zone * zone ) const

Definition at line 532 of file load-elimination.cc.

Here is the call graph for this function:

◆ AddField()

LoadElimination::AbstractState const * v8::internal::compiler::LoadElimination::AbstractState::AddField ( Node * object,
IndexRange index,
LoadElimination::FieldInfo info,
Zone * zone ) const

Definition at line 562 of file load-elimination.cc.

Here is the call graph for this function:

◆ empty_state()

static AbstractState const * v8::internal::compiler::LoadElimination::AbstractState::empty_state ( )
inlinestatic

Definition at line 283 of file load-elimination.h.

◆ Equals()

bool v8::internal::compiler::LoadElimination::AbstractState::Equals ( AbstractState const * that) const

Definition at line 430 of file load-elimination.cc.

Here is the caller graph for this function:

◆ FieldsEquals()

bool v8::internal::compiler::LoadElimination::AbstractState::FieldsEquals ( AbstractFields const & this_fields,
AbstractFields const & that_fields ) const
private

Definition at line 415 of file load-elimination.cc.

Here is the call graph for this function:

◆ FieldsMerge()

void v8::internal::compiler::LoadElimination::AbstractState::FieldsMerge ( AbstractFields * this_fields,
AbstractFields const & that_fields,
Zone * zone )
private

Definition at line 452 of file load-elimination.cc.

Here is the call graph for this function:

◆ KillAll()

LoadElimination::AbstractState const * v8::internal::compiler::LoadElimination::AbstractState::KillAll ( Zone * zone) const

Definition at line 658 of file load-elimination.cc.

Here is the call graph for this function:

◆ KillConstField()

LoadElimination::AbstractState const * v8::internal::compiler::LoadElimination::AbstractState::KillConstField ( Node * object,
IndexRange index_range,
Zone * zone ) const

Definition at line 584 of file load-elimination.cc.

Here is the call graph for this function:

◆ KillElement()

LoadElimination::AbstractState const * v8::internal::compiler::LoadElimination::AbstractState::KillElement ( Node * object,
Node * index,
Zone * zone ) const

Definition at line 548 of file load-elimination.cc.

Here is the call graph for this function:

◆ KillField() [1/2]

LoadElimination::AbstractState const * v8::internal::compiler::LoadElimination::AbstractState::KillField ( const AliasStateInfo & alias_info,
IndexRange index,
MaybeHandle< Name > name,
Zone * zone ) const

Definition at line 612 of file load-elimination.cc.

Here is the call graph for this function:

◆ KillField() [2/2]

LoadElimination::AbstractState const * v8::internal::compiler::LoadElimination::AbstractState::KillField ( Node * object,
IndexRange index,
MaybeHandle< Name > name,
Zone * zone ) const

Definition at line 605 of file load-elimination.cc.

Here is the call graph for this function:

◆ KillFields()

LoadElimination::AbstractState const * v8::internal::compiler::LoadElimination::AbstractState::KillFields ( Node * object,
MaybeHandle< Name > name,
Zone * zone ) const

Definition at line 632 of file load-elimination.cc.

Here is the call graph for this function:

◆ KillMaps() [1/2]

LoadElimination::AbstractState const * v8::internal::compiler::LoadElimination::AbstractState::KillMaps ( const AliasStateInfo & alias_info,
Zone * zone ) const

Definition at line 504 of file load-elimination.cc.

Here is the call graph for this function:

◆ KillMaps() [2/2]

LoadElimination::AbstractState const * v8::internal::compiler::LoadElimination::AbstractState::KillMaps ( Node * object,
Zone * zone ) const

Definition at line 517 of file load-elimination.cc.

Here is the call graph for this function:

◆ LookupElement()

Node * v8::internal::compiler::LoadElimination::AbstractState::LookupElement ( Node * object,
Node * index,
MachineRepresentation representation ) const

Definition at line 523 of file load-elimination.cc.

◆ LookupField()

LoadElimination::FieldInfo const * v8::internal::compiler::LoadElimination::AbstractState::LookupField ( Node * object,
IndexRange index,
ConstFieldInfo const_field_info ) const

Definition at line 673 of file load-elimination.cc.

Here is the call graph for this function:

◆ LookupMaps()

bool v8::internal::compiler::LoadElimination::AbstractState::LookupMaps ( Node * object,
ZoneRefSet< Map > * object_maps ) const

Definition at line 488 of file load-elimination.cc.

Here is the caller graph for this function:

◆ Merge()

void v8::internal::compiler::LoadElimination::AbstractState::Merge ( AbstractState const * that,
Zone * zone )

Definition at line 467 of file load-elimination.cc.

Here is the call graph for this function:

◆ Print()

void v8::internal::compiler::LoadElimination::AbstractState::Print ( ) const

Definition at line 730 of file load-elimination.cc.

Here is the call graph for this function:

◆ SetMaps()

LoadElimination::AbstractState const * v8::internal::compiler::LoadElimination::AbstractState::SetMaps ( Node * object,
ZoneRefSet< Map > maps,
Zone * zone ) const

Definition at line 493 of file load-elimination.cc.

Here is the call graph for this function:

Member Data Documentation

◆ const_fields_

AbstractFields v8::internal::compiler::LoadElimination::AbstractState::const_fields_ {}
private

Definition at line 298 of file load-elimination.h.

◆ const_fields_count_

int v8::internal::compiler::LoadElimination::AbstractState::const_fields_count_ = 0
private

Definition at line 300 of file load-elimination.h.

◆ elements_

AbstractElements const* v8::internal::compiler::LoadElimination::AbstractState::elements_ = nullptr
private

Definition at line 296 of file load-elimination.h.

◆ empty_state_

LoadElimination::AbstractState const v8::internal::compiler::LoadElimination::AbstractState::empty_state_
staticprivate

Definition at line 286 of file load-elimination.h.

◆ fields_

AbstractFields v8::internal::compiler::LoadElimination::AbstractState::fields_ {}
private

Definition at line 297 of file load-elimination.h.

◆ fields_count_

int v8::internal::compiler::LoadElimination::AbstractState::fields_count_ = 0
private

Definition at line 304 of file load-elimination.h.

◆ maps_

AbstractMaps const* v8::internal::compiler::LoadElimination::AbstractState::maps_ = nullptr
private

Definition at line 299 of file load-elimination.h.


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