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

#include <string-escape-analysis-reducer.h>

Inheritance diagram for v8::internal::compiler::turboshaft::StringEscapeAnalysisReducer< Next >:
Collaboration diagram for v8::internal::compiler::turboshaft::StringEscapeAnalysisReducer< Next >:

Classes

class  Deduplicator
 
struct  ElidedStringPart
 

Public Member Functions

void Analyze ()
 
V< String > REDUCE_INPUT_GRAPH StringConcat (V< String > ig_index, const StringConcatOp &op)
 
V< FrameState > REDUCE_INPUT_GRAPH FrameState (V< FrameState > ig_index, const FrameStateOp &frame_state)
 
V< Word32 > REDUCE_INPUT_GRAPH StringLength (V< Word32 > ig_index, const StringLengthOp &op)
 

Private Member Functions

V< FrameStateBuildFrameState (const FrameStateOp &input_frame_state, OpIndex ig_index)
 
void BuildFrameStateInput (FrameStateData::Builder *builder, FrameStateData::Iterator *it, Deduplicator *deduplicator)
 
void BuildMaybeElidedString (FrameStateData::Builder *builder, ElidedStringPart maybe_elided, Deduplicator *deduplicator)
 
ElidedStringPart GetElidedStringInput (V< String > ig_index)
 

Private Attributes

StringEscapeAnalyzer analyzer_ {Asm().input_graph(), Asm().phase_zone()}
 
ZoneAbslFlatHashMap< V< String >, std::pair< ElidedStringPart, ElidedStringPart > > elided_strings_ {Asm().phase_zone()}
 
SparseOpIndexSideTable< Deduplicator * > deduplicators_
 

Detailed Description

template<class Next>
class v8::internal::compiler::turboshaft::StringEscapeAnalysisReducer< Next >

Definition at line 105 of file string-escape-analysis-reducer.h.

Member Function Documentation

◆ Analyze()

template<class Next >
void v8::internal::compiler::turboshaft::StringEscapeAnalysisReducer< Next >::Analyze ( )
inline

Definition at line 157 of file string-escape-analysis-reducer.h.

Here is the call graph for this function:

◆ BuildFrameState()

template<class Next >
V< FrameState > v8::internal::compiler::turboshaft::StringEscapeAnalysisReducer< Next >::BuildFrameState ( const FrameStateOp & input_frame_state,
OpIndex ig_index )
inlineprivate

Definition at line 245 of file string-escape-analysis-reducer.h.

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

◆ BuildFrameStateInput()

template<class Next >
void v8::internal::compiler::turboshaft::StringEscapeAnalysisReducer< Next >::BuildFrameStateInput ( FrameStateData::Builder * builder,
FrameStateData::Iterator * it,
Deduplicator * deduplicator )
inlineprivate

Definition at line 298 of file string-escape-analysis-reducer.h.

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

◆ BuildMaybeElidedString()

template<class Next >
void v8::internal::compiler::turboshaft::StringEscapeAnalysisReducer< Next >::BuildMaybeElidedString ( FrameStateData::Builder * builder,
ElidedStringPart maybe_elided,
Deduplicator * deduplicator )
inlineprivate

Definition at line 357 of file string-escape-analysis-reducer.h.

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

◆ FrameState()

template<class Next >
V< FrameState > REDUCE_INPUT_GRAPH v8::internal::compiler::turboshaft::StringEscapeAnalysisReducer< Next >::FrameState ( V< FrameState > ig_index,
const FrameStateOp & frame_state )
inline

Definition at line 179 of file string-escape-analysis-reducer.h.

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

◆ GetElidedStringInput()

template<class Next >
ElidedStringPart v8::internal::compiler::turboshaft::StringEscapeAnalysisReducer< Next >::GetElidedStringInput ( V< String > ig_index)
inlineprivate

Definition at line 380 of file string-escape-analysis-reducer.h.

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

◆ StringConcat()

template<class Next >
V< String > REDUCE_INPUT_GRAPH v8::internal::compiler::turboshaft::StringEscapeAnalysisReducer< Next >::StringConcat ( V< String > ig_index,
const StringConcatOp & op )
inline

Definition at line 164 of file string-escape-analysis-reducer.h.

Here is the call graph for this function:

◆ StringLength()

template<class Next >
V< Word32 > REDUCE_INPUT_GRAPH v8::internal::compiler::turboshaft::StringEscapeAnalysisReducer< Next >::StringLength ( V< Word32 > ig_index,
const StringLengthOp & op )
inline

Definition at line 191 of file string-escape-analysis-reducer.h.

Here is the call graph for this function:

Member Data Documentation

◆ analyzer_

template<class Next >
StringEscapeAnalyzer v8::internal::compiler::turboshaft::StringEscapeAnalysisReducer< Next >::analyzer_ {Asm().input_graph(), Asm().phase_zone()}
private

Definition at line 388 of file string-escape-analysis-reducer.h.

◆ deduplicators_

Initial value:
{Asm().phase_zone(),
&Asm().input_graph()}

Definition at line 395 of file string-escape-analysis-reducer.h.

◆ elided_strings_

template<class Next >
ZoneAbslFlatHashMap<V<String>, std::pair<ElidedStringPart, ElidedStringPart> > v8::internal::compiler::turboshaft::StringEscapeAnalysisReducer< Next >::elided_strings_ {Asm().phase_zone()}
private

Definition at line 392 of file string-escape-analysis-reducer.h.


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