16 for (uint32_t processed =
graph_.block_count(); processed > 0; --processed) {
34 switch (it->current_instr()) {
39 it->ConsumeInput(&type, &input);
43 case Instr::kArgumentsElements:
44 case Instr::kArgumentsLength:
45 case Instr::kRestLength:
46 case Instr::kDematerializedObjectReference:
47 case Instr::kDematerializedObject:
48 case Instr::kDematerializedStringConcat:
49 case Instr::kDematerializedStringConcatReference:
50 case Instr::kUnusedRegister:
83 case Opcode::kFrameState:
86 case Opcode::kStringConcat:
95 case Opcode::kStringLength:
120 while (!to_mark.
empty()) {
135 constexpr uint32_t kMaxOpInputCount = std::numeric_limits<
136 decltype(std::declval<Operation>().input_count)>::max();
void pop_back(size_t count=1)
bool IsEscaping(OpIndex idx) const
ZoneVector< V< String > > maybe_non_escaping_string_concats_
void MarkNextFrameStateInputAsEscaping(FrameStateData::Iterator *it)
void MarkAllInputsAsEscaping(const Operation &op)
void ProcessFrameState(V< FrameState > index, const FrameStateOp &framestate)
void MarkAsEscaping(OpIndex index)
uint32_t max_frame_state_input_count_
void RecursiveMarkAsShouldReconstruct(V< FrameState > idx)
void RecursivelyMarkAllStringConcatInputsAsEscaping(const StringConcatOp *concat)
ZoneVector< V< FrameState > > maybe_to_reconstruct_frame_states_
void ProcessBlock(const Block &block)
void ReprocessStringConcats()
void ComputeFrameStatesToReconstruct()
const FrameStateData * data
base::Vector< const OpIndex > state_values() const
base::Vector< OpIndex > inputs()
const uint16_t input_count
base::Vector< const OpIndex > inputs() const
underlying_operation_t< Op > & Cast()