Lines Matching defs:effect

5 #include "src/compiler/effect-control-linearizer.h"
354 Node* current_effect = nullptr; // New effect.
389 // Update all inputs to an effect phi with the effects from the given
390 // block->effect map.
399 Node* effect = block_effect.current_effect;
400 if (input != effect) {
401 node->ReplaceInput(i, effect);
439 // the effect uses to the effect input.
649 // Iterate over the phis and update the effect phis.
654 // Only go through the phis and effect phis.
656 // There should be at most one effect phi in a block.
658 // IfException blocks should not have effect phis.
675 // In case of loops, we do not update the effect phi immediately
677 // record the effect phi for later processing.
684 Node* effect = effect_phi;
685 if (effect == nullptr) {
686 // There was no effect phi.
688 // Start block => effect is start.
690 effect = graph()->start();
692 // End block is just a dummy, no effect needed.
695 effect = nullptr;
697 // If all the predecessors have the same effect, we can use it as our
698 // current effect.
702 if (!effect) effect = data.current_effect;
703 if (data.current_effect != effect) {
704 effect = nullptr;
708 if (effect == nullptr) {
710 // The input blocks do not have the same effect. We have
711 // to create an effect phi node.
715 effect = graph()->NewNode(
718 gasm()->AddNode(effect);
719 // For loops, we update the effect phi node later to break cycles.
721 pending_effect_phis.push_back(PendingEffectPhi(effect, block));
723 UpdateEffectPhi(effect, block, &block_effects);
726 // The IfException is connected into the effect chain, so we need
727 // to update the effect here.
728 NodeProperties::ReplaceEffectInput(control, effect);
729 effect = control;
736 NodeProperties::ReplaceEffectInput(terminate, effect);
744 // If all the predecessors have the same effect, we can use it
745 // as our current effect.
758 gasm()->InitializeEffectControl(effect, control);
789 // Store the effect, control and frame state for later use.
793 data->current_effect = gasm()->effect();
805 // Update the incoming edges of the effect phis that could not be processed
816 // If the node takes an effect, replace with the current one.
819 NodeProperties::ReplaceEffectInput(node, gasm()->effect());
821 // New effect chain is only started with a Start or ValueEffect node.
837 // If basic block is unreachable after this point, update the node's effect
839 if (gasm()->effect() == jsgraph()->Dead()) {
844 // If the node needs to be wired into the effect/control chain, do this
850 // If the node has a visible effect, then there must be a checkpoint in the
851 // effect chain before we are allowed to place another eager deoptimization
866 // the effect uses to the effect input.
877 // the effect uses to the effect input.
886 // Unlink the check point; effect uses will be updated to the incoming
887 // effect that is passed. The frame state is preserved for lowering.
910 // Break the effect chain on {Unreachable} and reconnect to the graph end.
1393 NodeProperties::ReplaceUses(node, result, gasm()->effect(),
5112 // Update effect and control
5115 inputs[c_arg_count + 2] = __ effect();
5118 inputs[c_arg_count + 1] = __ effect();
5154 slow_inputs[index] = __ effect();
5269 // [fast callee, receiver, ... C arguments, [optional Options], effect,