1260 // Following code moves loads connected to upper_insert_pt below aliased stores. |
1260 // Following code moves loads connected to upper_insert_pt below aliased stores. |
1261 // Collect such loads here and reconnect them back to upper_insert_pt later. |
1261 // Collect such loads here and reconnect them back to upper_insert_pt later. |
1262 memops.clear(); |
1262 memops.clear(); |
1263 for (DUIterator i = upper_insert_pt->outs(); upper_insert_pt->has_out(i); i++) { |
1263 for (DUIterator i = upper_insert_pt->outs(); upper_insert_pt->has_out(i); i++) { |
1264 Node* use = upper_insert_pt->out(i); |
1264 Node* use = upper_insert_pt->out(i); |
1265 if (!use->is_Store()) |
1265 if (use->is_Mem() && !use->is_Store()) { |
1266 memops.push(use); |
1266 memops.push(use); |
|
1267 } |
1267 } |
1268 } |
1268 |
1269 |
1269 MemNode* lower_insert_pt = last; |
1270 MemNode* lower_insert_pt = last; |
1270 previous = last; //previous store in pk |
1271 previous = last; //previous store in pk |
1271 current = last->in(MemNode::Memory)->as_Mem(); |
1272 current = last->in(MemNode::Memory)->as_Mem(); |