Lines Matching defs:new_state

740 bool BlockBegin::try_merge(ValueStack* new_state) {
757 new_state = new_state->copy(ValueStack::BlockBeginState, bci());
760 MethodLivenessResult liveness = new_state->scope()->method()->liveness_at_bci(bci());
762 assert((int)liveness.size() == new_state->locals_size(), "error in use of liveness");
764 for_each_local_value(new_state, index, new_value) {
766 new_state->invalidate_local(index);
775 for_each_stack_value(new_state, index, new_value) {
776 new_state->setup_phi_for_stack(this, index);
777 TRACE_PHI(tty->print_cr("creating phi-function %c%d for stack %d", new_state->stack_at(index)->type()->tchar(), new_state->stack_at(index)->id(), index));
780 BitMap requires_phi_function = new_state->scope()->requires_phi_function();
782 for_each_local_value(new_state, index, new_value) {
785 new_state->setup_phi_for_local(this, index);
786 TRACE_PHI(tty->print_cr("creating phi-function %c%d for local %d", new_state->local_at(index)->type()->tchar(), new_state->local_at(index)->id(), index));
792 set_state(new_state);
794 } else if (existing_state->is_same(new_state)) {
797 assert(existing_state->scope() == new_state->scope(), "not matching");
798 assert(existing_state->locals_size() == new_state->locals_size(), "not matching");
799 assert(existing_state->stack_size() == new_state->stack_size(), "not matching");
810 Value new_value = new_state->local_at(index);
824 assert(existing_value == new_state->local_at(index) || (existing_value->as_Phi() != NULL && existing_value->as_Phi()->as_Phi()->block() == this), "phi function required");
833 Value new_value = new_state->stack_at(index);
844 Value new_value = new_state->local_at(index);
857 assert(existing_state->caller_state() == new_state->caller_state(), "caller states must be equal");