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

Public Member Functions

 HalfState (Zone *zone)
 
bool Equals (HalfState const *that) const
 
void IntersectWith (HalfState const *that)
 
HalfState const * KillField (Node *object, Node *offset, MachineRepresentation repr) const
 
HalfState const * AddField (Node *object, Node *offset, Node *value, MachineRepresentation repr) const
 
FieldInfo Lookup (Node *object, Node *offset) 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
 

Private Types

using InnerMap = PersistentMap<Node*, FieldInfo>
 
template<typename OuterKey >
using OuterMap = PersistentMap<OuterKey, InnerMap>
 
using ConstantOffsetInfos = OuterMap<uint32_t>
 
using UnknownOffsetInfos = OuterMap<Node*>
 

Private Member Functions

void KillOffsetInFresh (Node *object, uint32_t offset, MachineRepresentation repr)
 

Static Private Member Functions

template<typename OuterKey >
static void Update (OuterMap< OuterKey > &map, OuterKey outer_key, Node *inner_key, FieldInfo info)
 
static void KillOffset (ConstantOffsetInfos &infos, uint32_t offset, MachineRepresentation repr, Zone *zone)
 
template<typename OuterKey >
static void IntersectWith (OuterMap< OuterKey > &to, const OuterMap< OuterKey > &from)
 
static void Print (const ConstantOffsetInfos &infos)
 
static void Print (const UnknownOffsetInfos &infos)
 

Private Attributes

Zonezone_
 
ConstantOffsetInfos fresh_entries_
 
ConstantOffsetInfos constant_entries_
 
ConstantOffsetInfos arbitrary_entries_
 
UnknownOffsetInfos fresh_unknown_entries_
 
UnknownOffsetInfos constant_unknown_entries_
 
UnknownOffsetInfos arbitrary_unknown_entries_
 

Detailed Description

Definition at line 62 of file csa-load-elimination.h.

Member Typedef Documentation

◆ ConstantOffsetInfos

◆ InnerMap

◆ OuterMap

template<typename OuterKey >
using v8::internal::compiler::CsaLoadElimination::HalfState::OuterMap = PersistentMap<OuterKey, InnerMap>
private

Definition at line 92 of file csa-load-elimination.h.

◆ UnknownOffsetInfos

Constructor & Destructor Documentation

◆ HalfState()

v8::internal::compiler::CsaLoadElimination::HalfState::HalfState ( Zone * zone)
inlineexplicit

Definition at line 64 of file csa-load-elimination.h.

Member Function Documentation

◆ AddField()

CsaLoadElimination::HalfState const * v8::internal::compiler::CsaLoadElimination::HalfState::AddField ( Node * object,
Node * offset,
Node * value,
MachineRepresentation repr ) const

Definition at line 189 of file csa-load-elimination.cc.

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

◆ Equals()

bool v8::internal::compiler::CsaLoadElimination::HalfState::Equals ( HalfState const * that) const
inline

Definition at line 73 of file csa-load-elimination.h.

◆ IntersectWith() [1/2]

void v8::internal::compiler::CsaLoadElimination::HalfState::IntersectWith ( HalfState const * that)

Definition at line 113 of file csa-load-elimination.cc.

◆ IntersectWith() [2/2]

template<typename OuterKey >
void v8::internal::compiler::CsaLoadElimination::HalfState::IntersectWith ( OuterMap< OuterKey > & to,
const OuterMap< OuterKey > & from )
staticprivate

Definition at line 97 of file csa-load-elimination.cc.

Here is the call graph for this function:

◆ KillField()

CsaLoadElimination::HalfState const * v8::internal::compiler::CsaLoadElimination::HalfState::KillField ( Node * object,
Node * offset,
MachineRepresentation repr ) const

Definition at line 122 of file csa-load-elimination.cc.

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

◆ KillOffset()

void v8::internal::compiler::CsaLoadElimination::HalfState::KillOffset ( ConstantOffsetInfos & infos,
uint32_t offset,
MachineRepresentation repr,
Zone * zone )
staticprivate

Definition at line 237 of file csa-load-elimination.cc.

Here is the call graph for this function:

◆ KillOffsetInFresh()

void v8::internal::compiler::CsaLoadElimination::HalfState::KillOffsetInFresh ( Node * object,
uint32_t offset,
MachineRepresentation repr )
private

Definition at line 271 of file csa-load-elimination.cc.

Here is the call graph for this function:

◆ Lookup()

CsaLoadElimination::FieldInfo v8::internal::compiler::CsaLoadElimination::HalfState::Lookup ( Node * object,
Node * offset ) const

Definition at line 213 of file csa-load-elimination.cc.

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

◆ Print() [1/3]

void v8::internal::compiler::CsaLoadElimination::HalfState::Print ( ) const

Definition at line 321 of file csa-load-elimination.cc.

Here is the call graph for this function:

◆ Print() [2/3]

void v8::internal::compiler::CsaLoadElimination::HalfState::Print ( const ConstantOffsetInfos & infos)
staticprivate

Definition at line 290 of file csa-load-elimination.cc.

Here is the call graph for this function:

◆ Print() [3/3]

void v8::internal::compiler::CsaLoadElimination::HalfState::Print ( const UnknownOffsetInfos & infos)
staticprivate

Definition at line 306 of file csa-load-elimination.cc.

Here is the call graph for this function:

◆ Update()

template<typename OuterKey >
static void v8::internal::compiler::CsaLoadElimination::HalfState::Update ( OuterMap< OuterKey > & map,
OuterKey outer_key,
Node * inner_key,
FieldInfo info )
inlinestaticprivate

Definition at line 100 of file csa-load-elimination.h.

Here is the call graph for this function:

Member Data Documentation

◆ arbitrary_entries_

ConstantOffsetInfos v8::internal::compiler::CsaLoadElimination::HalfState::arbitrary_entries_
private

Definition at line 121 of file csa-load-elimination.h.

◆ arbitrary_unknown_entries_

UnknownOffsetInfos v8::internal::compiler::CsaLoadElimination::HalfState::arbitrary_unknown_entries_
private

Definition at line 124 of file csa-load-elimination.h.

◆ constant_entries_

ConstantOffsetInfos v8::internal::compiler::CsaLoadElimination::HalfState::constant_entries_
private

Definition at line 120 of file csa-load-elimination.h.

◆ constant_unknown_entries_

UnknownOffsetInfos v8::internal::compiler::CsaLoadElimination::HalfState::constant_unknown_entries_
private

Definition at line 123 of file csa-load-elimination.h.

◆ fresh_entries_

ConstantOffsetInfos v8::internal::compiler::CsaLoadElimination::HalfState::fresh_entries_
private

Definition at line 119 of file csa-load-elimination.h.

◆ fresh_unknown_entries_

UnknownOffsetInfos v8::internal::compiler::CsaLoadElimination::HalfState::fresh_unknown_entries_
private

Definition at line 122 of file csa-load-elimination.h.

◆ zone_

Zone* v8::internal::compiler::CsaLoadElimination::HalfState::zone_
private

Definition at line 118 of file csa-load-elimination.h.


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