Lines Matching defs:control
125 // Helpers to create new control nodes.
140 Node* NewPhi(int count, Node* input, Node* control);
141 Node* NewEffectPhi(int count, Node* input, Node* control);
143 // Helpers for merging control, effect or value dependencies.
144 Node* MergeControl(Node* control, Node* other);
145 Node* MergeEffect(Node* effect, Node* other_effect, Node* control);
146 Node* MergeValue(Node* value, Node* other_value, Node* control);
149 // and control dependencies depending on the operator.
338 // Simulates control flow by forward-propagating environments.
343 // Simulates control flow that exits the function body.
470 // control flow merges. This models a forward data flow propagation of all
498 // control-flow is not effect-dominated by another checkpoint already. All
528 // split and merge points in the control flow.
790 // Create a merge of the control dependencies of both environments and update
791 // the current environment's control dependency accordingly.
792 Node* control = builder()->MergeControl(GetControlDependency(),
794 UpdateControlDependency(control);
799 other->GetEffectDependency(), control);
804 context_ = builder()->MergeValue(context_, other->context_, control);
806 values_[i] = builder()->MergeValue(values_[i], other->values_[i], control);
825 builder()->MergeValue(values_[index], other->values_[index], control);
840 other->values_[accumulator_base()], control);
848 other->generator_state_, control);
855 // Create a control node for the loop header.
856 Node* control = builder()->NewLoop();
859 Node* effect = builder()->NewEffectPhi(1, GetEffectDependency(), control);
864 context_ = builder()->NewPhi(1, context_, control);
867 values_[i] = builder()->NewPhi(1, values_[i], control);
874 values_[index] = builder()->NewPhi(1, values_[index], control);
881 generator_state_ = builder()->NewPhi(1, generator_state_, control);
886 builder()->common()->Terminate(), effect, control);
925 Node* control = GetControlDependency();
928 Node* loop_exit = graph()->NewNode(common()->LoopExit(), control, loop);
2628 Node* control = NewNode(common()->Throw());
2629 MergeControlToLeaveFunction(control);
2761 Node* control = NewNode(common()->Throw());
2762 MergeControlToLeaveFunction(control);
2771 Node* control = NewNode(common()->Throw());
2772 MergeControlToLeaveFunction(control);
2780 Node* control = NewNode(common()->Throw());
2781 MergeControlToLeaveFunction(control);
2805 Node* control = NewNode(common()->Throw());
2806 MergeControlToLeaveFunction(control);
2853 Node* control = NewNode(common()->Throw());
2854 MergeControlToLeaveFunction(control);
3528 Node* control =
3530 MergeControlToLeaveFunction(control);
3752 Node* control = NewNode(common()->Throw());
3753 MergeControlToLeaveFunction(control);
4033 Node* control = environment()->GetControlDependency();
4035 type_hint_lowering().ReduceUnaryOperation(op, operand, effect, control,
4046 Node* control = environment()->GetControlDependency();
4049 control, slot);
4060 Node* control = environment()->GetControlDependency();
4063 receiver, cache_array, cache_type, index, effect, control, slot);
4072 Node* control = environment()->GetControlDependency();
4075 control, slot);
4084 Node* control = environment()->GetControlDependency();
4086 type_hint_lowering().ReduceToNumberOperation(value, effect, control,
4095 Node* control = environment()->GetControlDependency();
4098 control, slot);
4109 Node* control = environment()->GetControlDependency();
4112 control, slot);
4123 Node* control = environment()->GetControlDependency();
4126 op, receiver, effect, control, load_slot, call_slot);
4135 Node* control = environment()->GetControlDependency();
4137 type_hint_lowering().ReduceLoadNamedOperation(op, effect, control, slot);
4147 Node* control = environment()->GetControlDependency();
4150 control, slot);
4160 Node* control = environment()->GetControlDependency();
4163 effect, control, slot);
4174 Node* control = environment()->GetControlDependency();
4177 effect, control, slot);
4185 MergeControlToLeaveFunction(reduction.control());
4188 environment()->UpdateControlDependency(reduction.control());
4284 // Update the current control dependency for control-producing nodes.
4325 Node* BytecodeGraphBuilder::NewPhi(int count, Node* input, Node* control) {
4329 buffer[count] = control;
4334 Node* control) {
4338 buffer[count] = control;
4343 Node* BytecodeGraphBuilder::MergeControl(Node* control, Node* other) {
4344 int inputs = control->op()->ControlInputCount() + 1;
4345 if (control->opcode() == IrOpcode::kLoop) {
4348 control->AppendInput(graph_zone(), other);
4349 NodeProperties::ChangeOp(control, op);
4350 } else if (control->opcode() == IrOpcode::kMerge) {
4353 control->AppendInput(graph_zone(), other);
4354 NodeProperties::ChangeOp(control, op);
4358 Node* merge_inputs[] = {control, other};
4359 control = graph()->NewNode(op, arraysize(merge_inputs), merge_inputs, true);
4361 return control;
4365 Node* control) {
4366 int inputs = control->op()->ControlInputCount();
4368 NodeProperties::GetControlInput(value) == control) {
4374 value = NewEffectPhi(inputs, value, control);
4381 Node* control) {
4382 int inputs = control->op()->ControlInputCount();
4384 NodeProperties::GetControlInput(value) == control) {
4391 value = NewPhi(inputs, value, control);