Lines Matching defs:effect

126 void NodeProperties::ReplaceEffectInput(Node* node, Node* effect, int index) {
129 return node->ReplaceInput(FirstEffectIndex(node) + index, effect);
178 void NodeProperties::ReplaceUses(Node* node, Node* value, Node* effect,
180 // Requires distinguishing between value, effect and control edges.
194 DCHECK_NOT_NULL(effect);
195 edge.UpdateTo(effect);
214 Node* effect = NodeProperties::GetEffectInput(node);
215 while (effect->opcode() != IrOpcode::kCheckpoint) {
216 if (effect->opcode() == IrOpcode::kDead ||
217 effect->opcode() == IrOpcode::kUnreachable) {
220 DCHECK(effect->op()->HasProperty(Operator::kNoWrite));
221 DCHECK_EQ(1, effect->op()->EffectInputCount());
222 effect = NodeProperties::GetEffectInput(effect);
224 Node* frame_state = GetFrameStateInput(effect);
372 JSHeapBroker* broker, Node* receiver, Effect effect,
396 switch (effect->opcode()) {
398 Node* const object = GetValueInput(effect, 0);
400 *maps_out = ToRefSet(broker, MapGuardMapsOf(effect->op()));
406 Node* const object = GetValueInput(effect, 0);
409 ToRefSet(broker, CheckMapsParametersOf(effect->op()).maps());
415 if (IsSame(receiver, effect)) {
424 result = kUnreliableMaps; // JSCreate can have side-effect.
428 if (IsSame(receiver, effect)) {
439 Node* const object = GetValueInput(effect, 0);
440 FieldAccess const& access = FieldAccessOf(effect->op());
444 Node* const value = GetValueInput(effect, 1);
467 // {receiver} matches the current {effect}.
468 if (IsSame(receiver, effect)) receiver = GetValueInput(effect, 0);
472 Node* control = GetControlInput(effect);
481 effect = GetEffectInput(effect, 0);
486 DCHECK_EQ(1, effect->op()->EffectOutputCount());
487 if (effect->op()->EffectInputCount() != 1) {
491 if (!effect->op()->HasProperty(Operator::kNoWrite)) {
493 // {effect} affects {receiver} or not.
500 // Stop walking the effect chain once we hit the definition of
501 // the {receiver} along the {effect}s.
502 if (IsSame(receiver, effect)) return kNoMaps;
504 // Continue with the next {effect}.
505 DCHECK_EQ(1, effect->op()->EffectInputCount());
506 effect = NodeProperties::GetEffectInput(effect);
511 bool NodeProperties::NoObservableSideEffectBetween(Node* effect,
513 while (effect != dominator) {
514 if (effect->op()->EffectInputCount() == 1 &&
515 effect->op()->properties() & Operator::kNoWrite) {
516 effect = NodeProperties::GetEffectInput(effect);
526 Effect effect) {
542 MapInference inference(broker, receiver, effect);
551 Effect effect) {
552 if (CanBePrimitive(broker, receiver, effect)) {