• Home
  • Raw
  • Download

Lines Matching full:use

4  * you may not use this file except in compliance with the License.
92 GateRef use = *it; in FindInBuilder() local
96 VisitGateUse(use); in FindInBuilder()
101 void StringBuilderOptimizer::VisitGateUse(GateRef use) in VisitGateUse() argument
103 Status useStatus = GetStatus(use); in VisitGateUse()
108 auto useOpCode = acc_.GetOpCode(use); in VisitGateUse()
109 if (useOpCode == OpCode::VALUE_SELECTOR && IsLoopHeader(use)) { in VisitGateUse()
114 UpdateStatus(use, State::IN_STRING_BUILDER); in VisitGateUse()
115 toVisit_.push_back(use); in VisitGateUse()
118 // if this use is string-add in VisitGateUse()
119 // we need to determine whether to set the current use to IN_STRING_BUILDER in VisitGateUse()
122 GateRef left = acc_.GetValueIn(use, 0); in VisitGateUse()
125 UpdateStatus(use, State::IN_STRING_BUILDER); in VisitGateUse()
126 toVisit_.push_back(use); in VisitGateUse()
128 curStringAddId_ = acc_.GetId(use); in VisitGateUse()
130 UpdateStatus(use, State::IN_STRING_BUILDER); in VisitGateUse()
131 toVisit_.push_back(use); in VisitGateUse()
133 SetStatus(use, State::INVALID_OPT); in VisitGateUse()
136 SetStatus(use, State::INVALID_OPT); in VisitGateUse()
167 GateRef use = *it; in FinalizeStringBuilders() local
171 auto useStatus = GetStatus(use); in FinalizeStringBuilders()
175 toVisit_.push_back(use); in FinalizeStringBuilders()
177 if (currIsLoopHeader && !LoopContains(curr, use)) { in FinalizeStringBuilders()
219 GateRef use = *it; in HasConcatOrPhiUse() local
223 auto op = acc_.GetOpCode(use); in HasConcatOrPhiUse()
224 if ((op == OpCode::STRING_ADD && HasConcatOrPhiUse(use)) || op == OpCode::VALUE_SELECTOR) { in HasConcatOrPhiUse()
237 GateRef use = *it; in CheckStringAddUses() local
241 auto useOp = acc_.GetOpCode(use); in CheckStringAddUses()
244 // or this gate has an invalid use in CheckStringAddUses()
246 if (curStringAddId_ != acc_.GetId(use) || IsInvalidGate(use)) { in CheckStringAddUses()
252 // this gate has a phi use, then check the phi use gate in CheckStringAddUses()
253 if (useOp == OpCode::VALUE_SELECTOR && !CheckStringAddUses(use)) { in CheckStringAddUses()
257 … if (useOp == OpCode::ECMA_STRING_CHECK || acc_.IsFrameValues(use) || acc_.IsValueSelector(use)) { in CheckStringAddUses()