Lines Matching defs:state

32         if (AbstractState const* const state = node_states_.Get(effect)) {
33 PrintF(" state[%i]: #%d:%s\n", i, effect->id(),
35 state->mutable_state.Print();
36 state->immutable_state.Print();
38 PrintF(" no state[%i]: #%d:%s\n", i, effect->id(),
182 // May alias with anything. Clear the state.
338 AbstractState const* state = node_states_.Get(effect);
339 if (state == nullptr) return NoChange();
341 // We should never find a field in the wrong half-state.
342 DCHECK((is_mutable ? &state->immutable_state : &state->mutable_state)
346 is_mutable ? &state->mutable_state : &state->immutable_state;
369 ? zone()->New<AbstractState>(*half_state, state->immutable_state)
370 : zone()->New<AbstractState>(state->mutable_state, *half_state);
383 AbstractState const* state = node_states_.Get(effect);
384 if (state == nullptr) return NoChange();
387 // We should not find the field in the wrong half-state.
388 DCHECK(state->immutable_state.Lookup(object, offset).IsEmpty());
390 state->mutable_state.KillField(object, offset, repr);
393 zone()->New<AbstractState>(*mutable_state, state->immutable_state);
396 // We should not find the field in the wrong half-state.
397 DCHECK(state->mutable_state.Lookup(object, offset).IsEmpty());
399 DCHECK(state->immutable_state.Lookup(object, offset).IsEmpty());
401 state->immutable_state.AddField(object, offset, value, repr);
403 zone()->New<AbstractState>(state->mutable_state, *immutable_state);
416 // the state from the first input, and compute the loop state based on it.
417 AbstractState const* state = ComputeLoopState(node, state0);
418 return UpdateState(node, state);
429 // Make a copy of the first input's state and intersect it with the state
432 // state.
433 AbstractState* state = zone()->New<AbstractState>(*state0);
436 state->IntersectWith(node_states_.Get(input));
438 return UpdateState(node, state);
458 AbstractState const* state = node_states_.Get(effect);
462 if (state == nullptr) return NoChange();
463 // If this {node} has some uncontrolled side effects, set its state to
464 // the immutable half-state of its input state, otherwise to its input
465 // state.
468 ? state
470 state->immutable_state));
477 AbstractState const* state) {
479 // Only signal that the {node} has Changed, if the information about {state}
481 if (state != original) {
482 if (original == nullptr || !state->Equals(original)) {
483 node_states_.Set(node, state);
492 AbstractState const* state = node_states_.Get(effect);
493 if (state == nullptr) return NoChange();
494 return UpdateState(node, state);
498 Node* node, AbstractState const* state) const {
516 state->mutable_state.KillField(object, offset, repr);
517 state = zone()->New<AbstractState>(*new_mutable_state,
518 state->immutable_state);
524 CHECK(state->immutable_state.Lookup(object, offset).IsEmpty());
528 state->immutable_state);
535 return state;