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

#include <store-store-elimination-reducer-inl.h>

Inheritance diagram for v8::internal::compiler::turboshaft::MaybeRedundantStoresTable:
Collaboration diagram for v8::internal::compiler::turboshaft::MaybeRedundantStoresTable:

Classes

struct  GetActiveKeysIndex
 

Public Member Functions

 MaybeRedundantStoresTable (const Graph &graph, Zone *zone)
 
void OnNewKey (Key key, StoreObservability value)
 
void OnValueChange (Key key, StoreObservability old_value, StoreObservability new_value)
 
void BeginBlock (const Block *block)
 
StoreObservability GetObservability (OpIndex base, int32_t offset, uint8_t size)
 
void MarkStoreAsUnobservable (OpIndex base, int32_t offset, uint8_t size)
 
void MarkPotentiallyAliasingStoresAsObservable (OpIndex base, int32_t offset)
 
void MarkAllStoresAsObservable ()
 
void MarkAllStoresAsGCObservable ()
 
void Seal (bool *snapshot_has_changed=nullptr)
 
void Print (std::ostream &os, const char *sep="\n") const
 
- Public Member Functions inherited from v8::internal::compiler::turboshaft::ChangeTrackingSnapshotTable< MaybeRedundantStoresTable, StoreObservability, MaybeRedundantStoresKeyData >
void StartNewSnapshot (base::Vector< const Snapshot > predecessors)
 
void StartNewSnapshot (std::initializer_list< Snapshot > predecessors={})
 
void StartNewSnapshot (Snapshot parent)
 
void StartNewSnapshot (base::Vector< const Snapshot > predecessors, const MergeFun &merge_fun)
 
void StartNewSnapshot (std::initializer_list< Snapshot > predecessors, const MergeFun &merge_fun)
 
void Set (Key key, StoreObservability new_value)
 
void SetNoNotify (Key key, StoreObservability new_value)
 
Key NewKey (MaybeRedundantStoresKeyData data, StoreObservability initial_value=StoreObservability{})
 
Key NewKey (StoreObservability initial_value=StoreObservability{})
 
- Public Member Functions inherited from v8::internal::compiler::turboshaft::SnapshotTable< StoreObservability, MaybeRedundantStoresKeyData >
void StartNewSnapshot (base::Vector< const Snapshot > predecessors, const ChangeCallback &change_callback={})
 
void StartNewSnapshot (std::initializer_list< Snapshot > predecessors={}, const ChangeCallback &change_callback={})
 
void StartNewSnapshot (Snapshot parent, const ChangeCallback &change_callback={})
 
void StartNewSnapshot (base::Vector< const Snapshot > predecessors, const MergeFun &merge_fun, const ChangeCallback &change_callback={})
 
void StartNewSnapshot (std::initializer_list< Snapshot > predecessors, const MergeFun &merge_fun, const ChangeCallback &change_callback={})
 
Snapshot Seal ()
 
const StoreObservabilityGet (Key key) const
 
const StoreObservabilityGetPredecessorValue (Key key, int predecessor_index)
 
bool Set (Key key, StoreObservability new_value)
 
 SnapshotTable (Zone *zone)
 
Key NewKey (MaybeRedundantStoresKeyData data, StoreObservability initial_value=StoreObservability{})
 
Key NewKey (StoreObservability initial_value=StoreObservability{})
 
bool IsSealed ()
 

Private Types

using super
 

Private Member Functions

Key map_to_key (OpIndex base, int32_t offset, uint8_t size)
 

Private Attributes

const Graphgraph_
 
GrowingBlockSidetable< std::optional< Snapshot > > block_to_snapshot_mapping_
 
ZoneAbslFlatHashMap< std::pair< OpIndex, int32_t >, Keykey_mapping_
 
ZoneIntrusiveSet< Key, GetActiveKeysIndexactive_keys_
 
const Blockcurrent_block_ = nullptr
 
ZoneVector< Snapshot > successor_snapshots_
 

Additional Inherited Members

- Public Types inherited from v8::internal::compiler::turboshaft::ChangeTrackingSnapshotTable< MaybeRedundantStoresTable, StoreObservability, MaybeRedundantStoresKeyData >
using Super
 
using Key
 
- Public Types inherited from v8::internal::compiler::turboshaft::SnapshotTable< StoreObservability, MaybeRedundantStoresKeyData >
using TableEntry
 
using Key
 

Detailed Description

Definition at line 103 of file store-store-elimination-reducer-inl.h.

Member Typedef Documentation

◆ super

Constructor & Destructor Documentation

◆ MaybeRedundantStoresTable()

v8::internal::compiler::turboshaft::MaybeRedundantStoresTable::MaybeRedundantStoresTable ( const Graph & graph,
Zone * zone )
inlineexplicit

Definition at line 112 of file store-store-elimination-reducer-inl.h.

Member Function Documentation

◆ BeginBlock()

void v8::internal::compiler::turboshaft::MaybeRedundantStoresTable::BeginBlock ( const Block * block)
inline

Definition at line 135 of file store-store-elimination-reducer-inl.h.

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

◆ GetObservability()

StoreObservability v8::internal::compiler::turboshaft::MaybeRedundantStoresTable::GetObservability ( OpIndex base,
int32_t offset,
uint8_t size )
inline

Definition at line 172 of file store-store-elimination-reducer-inl.h.

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

◆ map_to_key()

Key v8::internal::compiler::turboshaft::MaybeRedundantStoresTable::map_to_key ( OpIndex base,
int32_t offset,
uint8_t size )
inlineprivate

Definition at line 252 of file store-store-elimination-reducer-inl.h.

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

◆ MarkAllStoresAsGCObservable()

void v8::internal::compiler::turboshaft::MaybeRedundantStoresTable::MarkAllStoresAsGCObservable ( )
inline

Definition at line 206 of file store-store-elimination-reducer-inl.h.

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

◆ MarkAllStoresAsObservable()

void v8::internal::compiler::turboshaft::MaybeRedundantStoresTable::MarkAllStoresAsObservable ( )
inline

Definition at line 200 of file store-store-elimination-reducer-inl.h.

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

◆ MarkPotentiallyAliasingStoresAsObservable()

void v8::internal::compiler::turboshaft::MaybeRedundantStoresTable::MarkPotentiallyAliasingStoresAsObservable ( OpIndex base,
int32_t offset )
inline

Definition at line 190 of file store-store-elimination-reducer-inl.h.

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

◆ MarkStoreAsUnobservable()

void v8::internal::compiler::turboshaft::MaybeRedundantStoresTable::MarkStoreAsUnobservable ( OpIndex base,
int32_t offset,
uint8_t size )
inline

Definition at line 179 of file store-store-elimination-reducer-inl.h.

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

◆ OnNewKey()

void v8::internal::compiler::turboshaft::MaybeRedundantStoresTable::OnNewKey ( Key key,
StoreObservability value )
inline

Definition at line 120 of file store-store-elimination-reducer-inl.h.

◆ OnValueChange()

void v8::internal::compiler::turboshaft::MaybeRedundantStoresTable::OnValueChange ( Key key,
StoreObservability old_value,
StoreObservability new_value )
inline

Definition at line 125 of file store-store-elimination-reducer-inl.h.

◆ Print()

void v8::internal::compiler::turboshaft::MaybeRedundantStoresTable::Print ( std::ostream & os,
const char * sep = "\n" ) const
inline

Definition at line 242 of file store-store-elimination-reducer-inl.h.

Here is the call graph for this function:

◆ Seal()

void v8::internal::compiler::turboshaft::MaybeRedundantStoresTable::Seal ( bool * snapshot_has_changed = nullptr)
inline

Definition at line 216 of file store-store-elimination-reducer-inl.h.

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

Member Data Documentation

◆ active_keys_

ZoneIntrusiveSet<Key, GetActiveKeysIndex> v8::internal::compiler::turboshaft::MaybeRedundantStoresTable::active_keys_
private

Definition at line 273 of file store-store-elimination-reducer-inl.h.

◆ block_to_snapshot_mapping_

GrowingBlockSidetable<std::optional<Snapshot> > v8::internal::compiler::turboshaft::MaybeRedundantStoresTable::block_to_snapshot_mapping_
private

Definition at line 268 of file store-store-elimination-reducer-inl.h.

◆ current_block_

const Block* v8::internal::compiler::turboshaft::MaybeRedundantStoresTable::current_block_ = nullptr
private

Definition at line 274 of file store-store-elimination-reducer-inl.h.

◆ graph_

const Graph& v8::internal::compiler::turboshaft::MaybeRedundantStoresTable::graph_
private

Definition at line 267 of file store-store-elimination-reducer-inl.h.

◆ key_mapping_

ZoneAbslFlatHashMap<std::pair<OpIndex, int32_t>, Key> v8::internal::compiler::turboshaft::MaybeRedundantStoresTable::key_mapping_
private

Definition at line 269 of file store-store-elimination-reducer-inl.h.

◆ successor_snapshots_

ZoneVector<Snapshot> v8::internal::compiler::turboshaft::MaybeRedundantStoresTable::successor_snapshots_
private

Definition at line 277 of file store-store-elimination-reducer-inl.h.


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