![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <wasm-load-elimination-reducer.h>
Public Types | |
enum class | EntriesWithOffsets { kInvalidate , kKeep } |
using | MemoryAddress = WasmMemoryAddress |
![]() | |
using | Super |
using | Key |
![]() | |
using | TableEntry |
using | Key |
Public Member Functions | |
WasmMemoryContentTable (PipelineData *data, Zone *zone, SparseOpIndexSnapshotTable< bool > &non_aliasing_objects, FixedOpIndexSidetable< OpIndex > &replacements, Graph &graph) | |
void | OnNewKey (Key key, OpIndex value) |
void | OnValueChange (Key key, OpIndex old_value, OpIndex new_value) |
bool | TypesUnrelated (wasm::ModuleTypeIndex type1, wasm::ModuleTypeIndex type2) |
void | Invalidate (const StructSetOp &set) |
template<EntriesWithOffsets offsets = EntriesWithOffsets::kInvalidate> | |
void | InvalidateMaybeAliasing () |
int | field_offset (const wasm::StructType *type, int field_index) |
OpIndex | Find (const StructGetOp &get) |
bool | HasValueWithIncorrectMutability (const StructSetOp &set) |
OpIndex | FindLoadLike (OpIndex op_idx, int offset_sentinel) |
OpIndex | FindImpl (OpIndex object, int offset, wasm::ModuleTypeIndex type_index, uint8_t size, bool mutability, OptionalOpIndex index=OptionalOpIndex::Nullopt()) |
void | Insert (const StructSetOp &set) |
void | Insert (const StructGetOp &get, OpIndex get_idx) |
void | InsertLoadLike (OpIndex base_idx, int offset_sentinel, OpIndex value_idx) |
OpIndex | ResolveBase (OpIndex base) |
void | AddKeyInBaseOffsetMaps (Key key) |
void | RemoveKeyFromBaseOffsetMaps (Key key) |
![]() | |
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, OpIndex new_value) |
void | SetNoNotify (Key key, OpIndex new_value) |
Key | NewKey (KeyData data, OpIndex initial_value=OpIndex{}) |
Key | NewKey (OpIndex initial_value=OpIndex{}) |
![]() | |
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 OpIndex & | Get (Key key) const |
const OpIndex & | GetPredecessorValue (Key key, int predecessor_index) |
bool | Set (Key key, OpIndex new_value) |
SnapshotTable (Zone *zone) | |
Key | NewKey (KeyData data, OpIndex initial_value=OpIndex{}) |
Key | NewKey (OpIndex initial_value=OpIndex{}) |
bool | IsSealed () |
Public Attributes | |
SparseOpIndexSnapshotTable< bool > & | non_aliasing_objects_ |
FixedOpIndexSidetable< OpIndex > & | replacements_ |
PipelineData * | data_ |
Graph & | graph_ |
const wasm::WasmModule * | module_ = data_->wasm_module() |
ZoneUnorderedMap< WasmMemoryAddress, Key > | all_keys_ |
ZoneUnorderedMap< OpIndex, BaseData > | base_keys_ |
ZoneUnorderedMap< int, v8::base::DoublyThreadedList< Key, OffsetListTraits > > | offset_keys_ |
Private Member Functions | |
void | Insert (OpIndex base, int32_t offset, wasm::ModuleTypeIndex type_index, uint8_t size, bool mutability, OpIndex value) |
Definition at line 101 of file wasm-load-elimination-reducer.h.
using v8::internal::compiler::turboshaft::wle::WasmMemoryContentTable::MemoryAddress = WasmMemoryAddress |
Definition at line 105 of file wasm-load-elimination-reducer.h.
|
strong |
Enumerator | |
---|---|
kInvalidate | |
kKeep |
Definition at line 174 of file wasm-load-elimination-reducer.h.
|
inlineexplicit |
Definition at line 107 of file wasm-load-elimination-reducer.h.
|
inline |
Definition at line 323 of file wasm-load-elimination-reducer.h.
|
inline |
Definition at line 203 of file wasm-load-elimination-reducer.h.
|
inline |
Definition at line 207 of file wasm-load-elimination-reducer.h.
|
inline |
Definition at line 230 of file wasm-load-elimination-reducer.h.
|
inline |
Definition at line 224 of file wasm-load-elimination-reducer.h.
|
inline |
Definition at line 215 of file wasm-load-elimination-reducer.h.
|
inline |
Definition at line 247 of file wasm-load-elimination-reducer.h.
|
inline |
Definition at line 239 of file wasm-load-elimination-reducer.h.
|
inlineprivate |
Definition at line 276 of file wasm-load-elimination-reducer.h.
|
inline |
Definition at line 255 of file wasm-load-elimination-reducer.h.
|
inline |
Definition at line 143 of file wasm-load-elimination-reducer.h.
|
inline |
Definition at line 176 of file wasm-load-elimination-reducer.h.
|
inline |
Definition at line 120 of file wasm-load-elimination-reducer.h.
|
inline |
Definition at line 126 of file wasm-load-elimination-reducer.h.
|
inline |
Definition at line 347 of file wasm-load-elimination-reducer.h.
|
inline |
Definition at line 303 of file wasm-load-elimination-reducer.h.
|
inline |
Definition at line 137 of file wasm-load-elimination-reducer.h.
ZoneUnorderedMap<WasmMemoryAddress, Key> v8::internal::compiler::turboshaft::wle::WasmMemoryContentTable::all_keys_ |
Definition at line 366 of file wasm-load-elimination-reducer.h.
ZoneUnorderedMap<OpIndex, BaseData> v8::internal::compiler::turboshaft::wle::WasmMemoryContentTable::base_keys_ |
Definition at line 368 of file wasm-load-elimination-reducer.h.
PipelineData* v8::internal::compiler::turboshaft::wle::WasmMemoryContentTable::data_ |
Definition at line 356 of file wasm-load-elimination-reducer.h.
Graph& v8::internal::compiler::turboshaft::wle::WasmMemoryContentTable::graph_ |
Definition at line 357 of file wasm-load-elimination-reducer.h.
const wasm::WasmModule* v8::internal::compiler::turboshaft::wle::WasmMemoryContentTable::module_ = data_->wasm_module() |
Definition at line 359 of file wasm-load-elimination-reducer.h.
SparseOpIndexSnapshotTable<bool>& v8::internal::compiler::turboshaft::wle::WasmMemoryContentTable::non_aliasing_objects_ |
Definition at line 353 of file wasm-load-elimination-reducer.h.
ZoneUnorderedMap<int, v8::base::DoublyThreadedList<Key, OffsetListTraits> > v8::internal::compiler::turboshaft::wle::WasmMemoryContentTable::offset_keys_ |
Definition at line 371 of file wasm-load-elimination-reducer.h.
FixedOpIndexSidetable<OpIndex>& v8::internal::compiler::turboshaft::wle::WasmMemoryContentTable::replacements_ |
Definition at line 354 of file wasm-load-elimination-reducer.h.