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

#include <memory-optimization-reducer.h>

Collaboration diagram for v8::internal::compiler::turboshaft::MemoryAnalyzer:

Classes

struct  BlockState
 

Public Types

enum class  AllocationFolding { kDoAllocationFolding , kDontAllocationFolding }
 

Public Member Functions

 MemoryAnalyzer (PipelineData *data, Zone *phase_zone, const Graph &input_graph, AllocationFolding allocation_folding, bool is_wasm)
 
bool IsPartOfLastAllocation (const Operation *op)
 
bool SkipWriteBarrier (const StoreOp &store)
 
bool IsFoldedAllocation (V< AnyOrNone > op)
 
std::optional< uint32_t > ReservedSize (V< AnyOrNone > alloc)
 
void Run ()
 
void Process (const Operation &op)
 
void ProcessBlockTerminator (const Operation &op)
 
void ProcessAllocation (const AllocateOp &alloc)
 
void ProcessStore (const StoreOp &store)
 
void MergeCurrentStateIntoSuccessor (const Block *successor)
 

Public Attributes

PipelineDatadata
 
Zonephase_zone
 
const Graphinput_graph
 
Isolateisolate_ = data->isolate()
 
AllocationFolding allocation_folding
 
bool is_wasm
 
FixedBlockSidetable< std::optional< BlockState > > block_states
 
ZoneAbslFlatHashMap< const AllocateOp *, const AllocateOp * > folded_into
 
ZoneAbslFlatHashSet< V< None > > skipped_write_barriers {phase_zone}
 
ZoneAbslFlatHashMap< const AllocateOp *, uint32_t > reserved_size {phase_zone}
 
BlockIndex current_block = BlockIndex(0)
 
BlockState state
 
TurboshaftPipelineKind pipeline_kind = data->pipeline_kind()
 

Detailed Description

Definition at line 86 of file memory-optimization-reducer.h.

Member Enumeration Documentation

◆ AllocationFolding

Enumerator
kDoAllocationFolding 
kDontAllocationFolding 

Definition at line 87 of file memory-optimization-reducer.h.

Constructor & Destructor Documentation

◆ MemoryAnalyzer()

v8::internal::compiler::turboshaft::MemoryAnalyzer::MemoryAnalyzer ( PipelineData * data,
Zone * phase_zone,
const Graph & input_graph,
AllocationFolding allocation_folding,
bool is_wasm )
inline

Definition at line 95 of file memory-optimization-reducer.h.

Member Function Documentation

◆ IsFoldedAllocation()

bool v8::internal::compiler::turboshaft::MemoryAnalyzer::IsFoldedAllocation ( V< AnyOrNone > op)
inline

Definition at line 156 of file memory-optimization-reducer.h.

Here is the call graph for this function:

◆ IsPartOfLastAllocation()

bool v8::internal::compiler::turboshaft::MemoryAnalyzer::IsPartOfLastAllocation ( const Operation * op)
inline

Definition at line 122 of file memory-optimization-reducer.h.

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

◆ MergeCurrentStateIntoSuccessor()

void v8::internal::compiler::turboshaft::MemoryAnalyzer::MergeCurrentStateIntoSuccessor ( const Block * successor)

Definition at line 149 of file memory-optimization-reducer.cc.

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

◆ Process()

void v8::internal::compiler::turboshaft::MemoryAnalyzer::Process ( const Operation & op)

Definition at line 43 of file memory-optimization-reducer.cc.

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

◆ ProcessAllocation()

void v8::internal::compiler::turboshaft::MemoryAnalyzer::ProcessAllocation ( const AllocateOp & alloc)

Definition at line 104 of file memory-optimization-reducer.cc.

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

◆ ProcessBlockTerminator()

void v8::internal::compiler::turboshaft::MemoryAnalyzer::ProcessBlockTerminator ( const Operation & op)

Definition at line 67 of file memory-optimization-reducer.cc.

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

◆ ProcessStore()

void v8::internal::compiler::turboshaft::MemoryAnalyzer::ProcessStore ( const StoreOp & store)

Definition at line 137 of file memory-optimization-reducer.cc.

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

◆ ReservedSize()

std::optional< uint32_t > v8::internal::compiler::turboshaft::MemoryAnalyzer::ReservedSize ( V< AnyOrNone > alloc)
inline

Definition at line 161 of file memory-optimization-reducer.h.

Here is the call graph for this function:

◆ Run()

void v8::internal::compiler::turboshaft::MemoryAnalyzer::Run ( )

Definition at line 27 of file memory-optimization-reducer.cc.

Here is the call graph for this function:

◆ SkipWriteBarrier()

bool v8::internal::compiler::turboshaft::MemoryAnalyzer::SkipWriteBarrier ( const StoreOp & store)
inline

Definition at line 133 of file memory-optimization-reducer.h.

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

Member Data Documentation

◆ allocation_folding

AllocationFolding v8::internal::compiler::turboshaft::MemoryAnalyzer::allocation_folding

Definition at line 93 of file memory-optimization-reducer.h.

◆ block_states

FixedBlockSidetable<std::optional<BlockState> > v8::internal::compiler::turboshaft::MemoryAnalyzer::block_states

◆ current_block

BlockIndex v8::internal::compiler::turboshaft::MemoryAnalyzer::current_block = BlockIndex(0)

Definition at line 118 of file memory-optimization-reducer.h.

◆ data

PipelineData* v8::internal::compiler::turboshaft::MemoryAnalyzer::data

Definition at line 89 of file memory-optimization-reducer.h.

◆ folded_into

ZoneAbslFlatHashMap<const AllocateOp*, const AllocateOp*> v8::internal::compiler::turboshaft::MemoryAnalyzer::folded_into
Initial value:

Definition at line 114 of file memory-optimization-reducer.h.

◆ input_graph

const Graph& v8::internal::compiler::turboshaft::MemoryAnalyzer::input_graph

Definition at line 91 of file memory-optimization-reducer.h.

◆ is_wasm

bool v8::internal::compiler::turboshaft::MemoryAnalyzer::is_wasm

Definition at line 94 of file memory-optimization-reducer.h.

◆ isolate_

Isolate* v8::internal::compiler::turboshaft::MemoryAnalyzer::isolate_ = data->isolate()

Definition at line 92 of file memory-optimization-reducer.h.

◆ phase_zone

Zone* v8::internal::compiler::turboshaft::MemoryAnalyzer::phase_zone

Definition at line 90 of file memory-optimization-reducer.h.

◆ pipeline_kind

TurboshaftPipelineKind v8::internal::compiler::turboshaft::MemoryAnalyzer::pipeline_kind = data->pipeline_kind()

Definition at line 120 of file memory-optimization-reducer.h.

◆ reserved_size

ZoneAbslFlatHashMap<const AllocateOp*, uint32_t> v8::internal::compiler::turboshaft::MemoryAnalyzer::reserved_size {phase_zone}

Definition at line 117 of file memory-optimization-reducer.h.

◆ skipped_write_barriers

ZoneAbslFlatHashSet<V<None> > v8::internal::compiler::turboshaft::MemoryAnalyzer::skipped_write_barriers {phase_zone}

Definition at line 116 of file memory-optimization-reducer.h.

◆ state

BlockState v8::internal::compiler::turboshaft::MemoryAnalyzer::state

Definition at line 119 of file memory-optimization-reducer.h.


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