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

#include <state-values-utils.h>

Collaboration diagram for v8::internal::compiler::StateValuesCache:

Classes

struct  NodeKey
 
struct  StateValuesKey
 

Public Member Functions

 StateValuesCache (JSGraph *js_graph)
 
NodeGetNodeForValues (Node **values, size_t count, const BytecodeLivenessState *liveness=nullptr)
 

Private Types

using WorkingBuffer = std::array<Node*, kMaxInputCount>
 

Private Member Functions

SparseInputMask::BitMaskType FillBufferWithValues (WorkingBuffer *node_buffer, size_t *node_count, size_t *values_idx, Node **values, size_t count, const BytecodeLivenessState *liveness)
 
NodeBuildTree (size_t *values_idx, Node **values, size_t count, const BytecodeLivenessState *liveness, size_t level)
 
WorkingBufferGetWorkingSpace (size_t level)
 
NodeGetEmptyStateValues ()
 
NodeGetValuesNodeFromCache (Node **nodes, size_t count, SparseInputMask mask)
 
TFGraphgraph ()
 
CommonOperatorBuildercommon ()
 
Zonezone ()
 

Static Private Member Functions

static bool AreKeysEqual (void *key1, void *key2)
 
static bool IsKeysEqualToNode (StateValuesKey *key, Node *node)
 
static bool AreValueKeysEqual (StateValuesKey *key1, StateValuesKey *key2)
 

Private Attributes

JSGraphjs_graph_
 
CustomMatcherZoneHashMap hash_map_
 
ZoneVector< WorkingBufferworking_space_
 
Nodeempty_state_values_
 

Static Private Attributes

static const size_t kMaxInputCount = 8
 

Detailed Description

Definition at line 24 of file state-values-utils.h.

Member Typedef Documentation

◆ WorkingBuffer

Definition at line 33 of file state-values-utils.h.

Constructor & Destructor Documentation

◆ StateValuesCache()

v8::internal::compiler::StateValuesCache::StateValuesCache ( JSGraph * js_graph)
explicit

Definition at line 14 of file state-values-utils.cc.

Member Function Documentation

◆ AreKeysEqual()

bool v8::internal::compiler::StateValuesCache::AreKeysEqual ( void * key1,
void * key2 )
staticprivate

Definition at line 23 of file state-values-utils.cc.

Here is the call graph for this function:

◆ AreValueKeysEqual()

bool v8::internal::compiler::StateValuesCache::AreValueKeysEqual ( StateValuesKey * key1,
StateValuesKey * key2 )
staticprivate

Definition at line 73 of file state-values-utils.cc.

Here is the caller graph for this function:

◆ BuildTree()

Node * v8::internal::compiler::StateValuesCache::BuildTree ( size_t * values_idx,
Node ** values,
size_t count,
const BytecodeLivenessState * liveness,
size_t level )
private

Definition at line 170 of file state-values-utils.cc.

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

◆ common()

CommonOperatorBuilder * v8::internal::compiler::StateValuesCache::common ( )
inlineprivate

Definition at line 72 of file state-values-utils.h.

Here is the caller graph for this function:

◆ FillBufferWithValues()

SparseInputMask::BitMaskType v8::internal::compiler::StateValuesCache::FillBufferWithValues ( WorkingBuffer * node_buffer,
size_t * node_count,
size_t * values_idx,
Node ** values,
size_t count,
const BytecodeLivenessState * liveness )
private

Definition at line 138 of file state-values-utils.cc.

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

◆ GetEmptyStateValues()

Node * v8::internal::compiler::StateValuesCache::GetEmptyStateValues ( )
private

Definition at line 90 of file state-values-utils.cc.

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

◆ GetNodeForValues()

Node * v8::internal::compiler::StateValuesCache::GetNodeForValues ( Node ** values,
size_t count,
const BytecodeLivenessState * liveness = nullptr )

Definition at line 253 of file state-values-utils.cc.

Here is the call graph for this function:

◆ GetValuesNodeFromCache()

Node * v8::internal::compiler::StateValuesCache::GetValuesNodeFromCache ( Node ** nodes,
size_t count,
SparseInputMask mask )
private

Definition at line 118 of file state-values-utils.cc.

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

◆ GetWorkingSpace()

StateValuesCache::WorkingBuffer * v8::internal::compiler::StateValuesCache::GetWorkingSpace ( size_t level)
private

Definition at line 98 of file state-values-utils.cc.

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

◆ graph()

TFGraph * v8::internal::compiler::StateValuesCache::graph ( )
inlineprivate

Definition at line 71 of file state-values-utils.h.

Here is the caller graph for this function:

◆ IsKeysEqualToNode()

bool v8::internal::compiler::StateValuesCache::IsKeysEqualToNode ( StateValuesKey * key,
Node * node )
staticprivate

Definition at line 49 of file state-values-utils.cc.

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

◆ zone()

Zone * v8::internal::compiler::StateValuesCache::zone ( )
inlineprivate

Definition at line 74 of file state-values-utils.h.

Here is the caller graph for this function:

Member Data Documentation

◆ empty_state_values_

Node* v8::internal::compiler::StateValuesCache::empty_state_values_
private

Definition at line 79 of file state-values-utils.h.

◆ hash_map_

CustomMatcherZoneHashMap v8::internal::compiler::StateValuesCache::hash_map_
private

Definition at line 77 of file state-values-utils.h.

◆ js_graph_

JSGraph* v8::internal::compiler::StateValuesCache::js_graph_
private

Definition at line 76 of file state-values-utils.h.

◆ kMaxInputCount

const size_t v8::internal::compiler::StateValuesCache::kMaxInputCount = 8
staticprivate

Definition at line 32 of file state-values-utils.h.

◆ working_space_

ZoneVector<WorkingBuffer> v8::internal::compiler::StateValuesCache::working_space_
private

Definition at line 78 of file state-values-utils.h.


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