comparison src/share/vm/opto/compile.cpp @ 12963:435c7b4577cd

8026959: assert(!n->pinned() || n->is_MachConstantBase()) failed: only pinned MachConstantBase node is expected here Reviewed-by: iveresov, roland
author rbackman
date Mon, 21 Oct 2013 15:31:16 +0200
parents 3213ba4d3dff
children b2ee5dc63353
comparison
equal deleted inserted replaced
12961:4748b3308cda 12963:435c7b4577cd
3004 3004
3005 Node* result = math->result_node(); 3005 Node* result = math->result_node();
3006 if (result != NULL) { 3006 if (result != NULL) {
3007 for (DUIterator_Fast jmax, j = result->fast_outs(jmax); j < jmax; j++) { 3007 for (DUIterator_Fast jmax, j = result->fast_outs(jmax); j < jmax; j++) {
3008 Node* out = result->fast_out(j); 3008 Node* out = result->fast_out(j);
3009 if (out->in(0) == NULL) { 3009 // Phi nodes shouldn't be moved. They would only match below if they
3010 out->set_req(0, non_throwing); 3010 // had the same control as the MathExactNode. The only time that
3011 } else if (out->in(0) == ctrl) { 3011 // would happen is if the Phi is also an input to the MathExact
3012 out->set_req(0, non_throwing); 3012 if (!out->is_Phi()) {
3013 if (out->in(0) == NULL) {
3014 out->set_req(0, non_throwing);
3015 } else if (out->in(0) == ctrl) {
3016 out->set_req(0, non_throwing);
3017 }
3013 } 3018 }
3014 } 3019 }
3015 } 3020 }
3016 } 3021 }
3017 break; 3022 break;