comparison src/share/vm/opto/node.cpp @ 8116:6931f425c517

8007294: ReduceFieldZeroing doesn't check for dependent load and can lead to incorrect execution Summary: InitializeNode::can_capture_store() must check that the captured store doesn't overwrite a memory location that is loaded before the store. Reviewed-by: kvn
author roland
date Mon, 25 Feb 2013 14:13:04 +0100
parents 8b3da8d14c93
children 6f3fd5150b67
comparison
equal deleted inserted replaced
8097:be1fbee20765 8116:6931f425c517
1259 igvn->C->remove_macro_node(dead); 1259 igvn->C->remove_macro_node(dead);
1260 } 1260 }
1261 if (dead->is_expensive()) { 1261 if (dead->is_expensive()) {
1262 igvn->C->remove_expensive_node(dead); 1262 igvn->C->remove_expensive_node(dead);
1263 } 1263 }
1264 igvn->C->record_dead_node(dead->_idx);
1264 // Kill all inputs to the dead guy 1265 // Kill all inputs to the dead guy
1265 for (uint i=0; i < dead->req(); i++) { 1266 for (uint i=0; i < dead->req(); i++) {
1266 Node *n = dead->in(i); // Get input to dead guy 1267 Node *n = dead->in(i); // Get input to dead guy
1267 if (n != NULL && !n->is_top()) { // Input is valid? 1268 if (n != NULL && !n->is_top()) { // Input is valid?
1268 dead->set_req(i, top); // Smash input away 1269 dead->set_req(i, top); // Smash input away