#include <string-builder-optimizer.h>
|
Status | GetStatus (Node *node) const |
|
void | SetStatus (Node *node, State state, int id=kInvalidId) |
|
void | UpdateStatus (Node *node, State state) |
|
bool | IsLoopPhi (Node *node) const |
|
bool | LoopContains (Node *loop_phi, Node *node) |
|
int | GetStringBuilderIdForConcat (Node *node) |
|
void | ReplaceConcatInputIfNeeded (Node *node, int input_idx) |
|
bool | CheckNodeUses (Node *node, Node *concat_child, Status status) |
|
bool | CheckPreviousNodeUses (Node *child, Status status, int input_if_loop_phi=0) |
|
int | GetPhiPredecessorsCommonId (Node *node) |
|
void | FinalizeStringBuilders () |
|
void | VisitNode (Node *node, BasicBlock *block) |
|
void | VisitGraph () |
|
Definition at line 214 of file string-builder-optimizer.h.
◆ State
Enumerator |
---|
kUnvisited | |
kBeginStringBuilder | |
kInStringBuilder | |
kPendingPhi | |
kConfirmedInStringBuilder | |
kEndStringBuilder | |
kEndStringBuilderLoopPhi | |
kInvalid | |
kNumberOfState | |
Definition at line 268 of file string-builder-optimizer.h.
◆ StringBuilderOptimizer()
◆ BlockShouldFinalizeStringBuilders()
bool v8::internal::compiler::StringBuilderOptimizer::BlockShouldFinalizeStringBuilders |
( |
BasicBlock * | block | ) |
|
◆ broker()
JSHeapBroker * v8::internal::compiler::StringBuilderOptimizer::broker |
( |
| ) |
const |
|
inline |
◆ CheckNodeUses()
bool v8::internal::compiler::StringBuilderOptimizer::CheckNodeUses |
( |
Node * | node, |
|
|
Node * | concat_child, |
|
|
Status | status ) |
|
private |
◆ CheckPreviousNodeUses()
bool v8::internal::compiler::StringBuilderOptimizer::CheckPreviousNodeUses |
( |
Node * | child, |
|
|
Status | status, |
|
|
int | input_if_loop_phi = 0 ) |
|
private |
◆ ConcatIsInStringBuilder()
bool v8::internal::compiler::StringBuilderOptimizer::ConcatIsInStringBuilder |
( |
Node * | node | ) |
|
◆ FinalizeStringBuilders()
void v8::internal::compiler::StringBuilderOptimizer::FinalizeStringBuilders |
( |
| ) |
|
|
private |
◆ GetOneOrTwoByte()
◆ GetPhiPredecessorsCommonId()
int v8::internal::compiler::StringBuilderOptimizer::GetPhiPredecessorsCommonId |
( |
Node * | node | ) |
|
|
private |
◆ GetStatus()
Status v8::internal::compiler::StringBuilderOptimizer::GetStatus |
( |
Node * | node | ) |
const |
|
inlineprivate |
◆ GetStringBuilderIdForConcat()
int v8::internal::compiler::StringBuilderOptimizer::GetStringBuilderIdForConcat |
( |
Node * | node | ) |
|
|
private |
◆ GetStringBuildersToFinalize()
◆ graph()
TFGraph * v8::internal::compiler::StringBuilderOptimizer::graph |
( |
| ) |
const |
|
inline |
◆ IsFirstConcatInStringBuilder()
bool v8::internal::compiler::StringBuilderOptimizer::IsFirstConcatInStringBuilder |
( |
Node * | node | ) |
|
◆ IsLoopPhi()
bool v8::internal::compiler::StringBuilderOptimizer::IsLoopPhi |
( |
Node * | node | ) |
const |
|
inlineprivate |
◆ IsNonLoopPhiStringBuilderEnd()
bool v8::internal::compiler::StringBuilderOptimizer::IsNonLoopPhiStringBuilderEnd |
( |
Node * | node | ) |
|
◆ IsStringBuilderConcatInput()
bool v8::internal::compiler::StringBuilderOptimizer::IsStringBuilderConcatInput |
( |
Node * | node | ) |
|
◆ IsStringBuilderEnd()
bool v8::internal::compiler::StringBuilderOptimizer::IsStringBuilderEnd |
( |
Node * | node | ) |
|
◆ jsgraph()
JSGraph * v8::internal::compiler::StringBuilderOptimizer::jsgraph |
( |
| ) |
const |
|
inline |
◆ LoopContains()
bool v8::internal::compiler::StringBuilderOptimizer::LoopContains |
( |
Node * | loop_phi, |
|
|
Node * | node ) |
|
inlineprivate |
◆ ReplaceConcatInputIfNeeded()
void v8::internal::compiler::StringBuilderOptimizer::ReplaceConcatInputIfNeeded |
( |
Node * | node, |
|
|
int | input_idx ) |
|
private |
◆ Run()
void v8::internal::compiler::StringBuilderOptimizer::Run |
( |
| ) |
|
◆ schedule()
Schedule * v8::internal::compiler::StringBuilderOptimizer::schedule |
( |
| ) |
const |
|
inline |
◆ SetStatus()
void v8::internal::compiler::StringBuilderOptimizer::SetStatus |
( |
Node * | node, |
|
|
State | state, |
|
|
int | id = kInvalidId ) |
|
inlineprivate |
◆ temp_zone()
Zone * v8::internal::compiler::StringBuilderOptimizer::temp_zone |
( |
| ) |
const |
|
inline |
◆ UpdateStatus()
void v8::internal::compiler::StringBuilderOptimizer::UpdateStatus |
( |
Node * | node, |
|
|
State | state ) |
|
inlineprivate |
◆ VisitGraph()
void v8::internal::compiler::StringBuilderOptimizer::VisitGraph |
( |
| ) |
|
|
private |
◆ VisitNode()
void v8::internal::compiler::StringBuilderOptimizer::VisitNode |
( |
Node * | node, |
|
|
BasicBlock * | block ) |
|
private |
◆ blocks_to_trimmings_map_
◆ broker_
JSHeapBroker* v8::internal::compiler::StringBuilderOptimizer::broker_ |
|
private |
◆ jsgraph_
JSGraph* v8::internal::compiler::StringBuilderOptimizer::jsgraph_ |
|
private |
◆ kAllowAnyStringOnTheRhs
bool v8::internal::compiler::StringBuilderOptimizer::kAllowAnyStringOnTheRhs = false |
|
staticconstexprprivate |
◆ kInvalidId
int v8::internal::compiler::StringBuilderOptimizer::kInvalidId = -1 |
|
staticconstexprprivate |
◆ kInvalidStringBuilder
const StringBuilder v8::internal::compiler::StringBuilderOptimizer::kInvalidStringBuilder |
|
private |
◆ loop_headers_
◆ schedule_
Schedule* v8::internal::compiler::StringBuilderOptimizer::schedule_ |
|
private |
◆ status_
◆ string_builder_count_
unsigned int v8::internal::compiler::StringBuilderOptimizer::string_builder_count_ = 0 |
|
private |
◆ string_builders_
◆ temp_zone_
Zone* v8::internal::compiler::StringBuilderOptimizer::temp_zone_ |
|
private |
The documentation for this class was generated from the following files: