![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <snapshot-table.h>
Classes | |
| struct | LogEntry |
| class | MaybeSnapshot |
| class | Snapshot |
| struct | SnapshotData |
Public Types | |
| using | TableEntry = SnapshotTableEntry<Value, KeyData> |
| using | Key = SnapshotTableKey<Value, KeyData> |
Public Member Functions | |
| template<class ChangeCallback = NoChangeCallback> requires (std::is_invocable_v<ChangeCallback, Key, Value, Value>) | |
| void | StartNewSnapshot (base::Vector< const Snapshot > predecessors, const ChangeCallback &change_callback={}) |
| template<class ChangeCallback = NoChangeCallback> requires (std::is_invocable_v<ChangeCallback, Key, Value, Value>) | |
| void | StartNewSnapshot (std::initializer_list< Snapshot > predecessors={}, const ChangeCallback &change_callback={}) |
| template<class ChangeCallback = NoChangeCallback> requires (std::is_invocable_v<ChangeCallback, Key, Value, Value>) | |
| void | StartNewSnapshot (Snapshot parent, const ChangeCallback &change_callback={}) |
| template<class MergeFun , class ChangeCallback = NoChangeCallback> requires (std::is_invocable_v<MergeFun, Key, base::Vector<const Value>> && std::is_invocable_v<ChangeCallback, Key, Value, Value>) | |
| void | StartNewSnapshot (base::Vector< const Snapshot > predecessors, const MergeFun &merge_fun, const ChangeCallback &change_callback={}) |
| template<class MergeFun , class ChangeCallback = NoChangeCallback> requires (std::is_invocable_v<MergeFun, Key, base::Vector<const Value>> && std::is_invocable_v<ChangeCallback, Key, Value, Value>) | |
| void | StartNewSnapshot (std::initializer_list< Snapshot > predecessors, const MergeFun &merge_fun, const ChangeCallback &change_callback={}) |
| Snapshot | Seal () |
| const Value & | Get (Key key) const |
| const Value & | GetPredecessorValue (Key key, int predecessor_index) |
| bool | Set (Key key, Value new_value) |
| SnapshotTable (Zone *zone) | |
| Key | NewKey (KeyData data, Value initial_value=Value{}) |
| Key | NewKey (Value initial_value=Value{}) |
| bool | IsSealed () |
Private Member Functions | |
| SnapshotData & | NewSnapshot (SnapshotData *parent) |
| base::Vector< LogEntry > | LogEntries (SnapshotData *s) |
| template<class ChangeCallback = NoChangeCallback> | |
| void | RevertCurrentSnapshot (ChangeCallback &change_callback) |
| template<class ChangeCallback = NoChangeCallback> | |
| void | ReplaySnapshot (SnapshotData *snapshot, ChangeCallback &change_callback) |
| void | RecordMergeValue (TableEntry &entry, const Value &value, uint32_t predecessor_index, uint32_t predecessor_count) |
| template<class ChangeCallback > | |
| SnapshotData & | MoveToNewSnapshot (base::Vector< const Snapshot > predecessors, const ChangeCallback &change_callback) |
| template<class MergeFun , class ChangeCallback > | |
| void | MergePredecessors (base::Vector< const Snapshot > predecessors, const MergeFun &merge_fun, const ChangeCallback &change_callback) |
Private Attributes | |
| Zone * | zone_ |
| ZoneDeque< TableEntry > | table_ {zone_} |
| ZoneDeque< SnapshotData > | snapshots_ {zone_} |
| ZoneVector< LogEntry > | log_ {zone_} |
| SnapshotData * | root_snapshot_ |
| SnapshotData * | current_snapshot_ |
| ZoneVector< TableEntry * > | merging_entries_ {zone_} |
| ZoneVector< Value > | merge_values_ {zone_} |
| ZoneVector< SnapshotData * > | path_ {zone_} |
Static Private Attributes | |
| static constexpr uint32_t | kNoMergeOffset |
| static constexpr uint32_t | kNoMergedPredecessor |
Definition at line 92 of file snapshot-table.h.
| using v8::internal::compiler::turboshaft::SnapshotTable< Value, KeyData >::Key = SnapshotTableKey<Value, KeyData> |
Definition at line 99 of file snapshot-table.h.
| using v8::internal::compiler::turboshaft::SnapshotTable< Value, KeyData >::TableEntry = SnapshotTableEntry<Value, KeyData> |
Definition at line 98 of file snapshot-table.h.
|
inlineexplicit |
|
inline |
|
inline |
Definition at line 231 of file snapshot-table.h.
|
inline |
Definition at line 266 of file snapshot-table.h.
|
inlineprivate |
Definition at line 295 of file snapshot-table.h.
|
private |
|
private |
|
inline |
Definition at line 261 of file snapshot-table.h.
|
inlineprivate |
|
private |
Definition at line 380 of file snapshot-table.h.
|
inlineprivate |
|
inlineprivate |
|
inline |
Definition at line 199 of file snapshot-table.h.
|
inline |
Definition at line 239 of file snapshot-table.h.
|
inline |
|
inline |
Definition at line 177 of file snapshot-table.h.
|
inline |
Definition at line 170 of file snapshot-table.h.
|
inline |
Definition at line 190 of file snapshot-table.h.
|
inline |
Definition at line 163 of file snapshot-table.h.
|
private |
Definition at line 277 of file snapshot-table.h.
|
staticconstexprprivate |
Definition at line 337 of file snapshot-table.h.
|
staticconstexprprivate |
Definition at line 335 of file snapshot-table.h.
|
private |
Definition at line 275 of file snapshot-table.h.
|
private |
Definition at line 284 of file snapshot-table.h.
|
private |
Definition at line 283 of file snapshot-table.h.
|
private |
Definition at line 285 of file snapshot-table.h.
|
private |
Definition at line 276 of file snapshot-table.h.
|
private |
Definition at line 271 of file snapshot-table.h.
|
private |
Definition at line 270 of file snapshot-table.h.
|
private |
Definition at line 269 of file snapshot-table.h.