comparison src/share/vm/opto/memnode.cpp @ 1062:dcdcc8c16e20

6896352: CTW fails hotspot/src/share/vm/opto/escape.cpp:1155 Summary: Always call C->get_alias_index(phase->type(address)) during parsing. Reviewed-by: never
author kvn
date Wed, 04 Nov 2009 14:43:50 -0800
parents 62001a362ce9
children 7c57aead6d3e
comparison
equal deleted inserted replaced
1061:09572fede9d1 1062:dcdcc8c16e20
251 (igvn->_worklist.member(address) || phase->type(address) != adr_type()) ) { 251 (igvn->_worklist.member(address) || phase->type(address) != adr_type()) ) {
252 // The address's base and type may change when the address is processed. 252 // The address's base and type may change when the address is processed.
253 // Delay this mem node transformation until the address is processed. 253 // Delay this mem node transformation until the address is processed.
254 phase->is_IterGVN()->_worklist.push(this); 254 phase->is_IterGVN()->_worklist.push(this);
255 return NodeSentinel; // caller will return NULL 255 return NodeSentinel; // caller will return NULL
256 }
257
258 // Do NOT remove or optimize the next lines: ensure a new alias index
259 // is allocated for an oop pointer type before Escape Analysis.
260 // Note: C++ will not remove it since the call has side effect.
261 if ( t_adr->isa_oopptr() ) {
262 int alias_idx = phase->C->get_alias_index(t_adr->is_ptr());
256 } 263 }
257 264
258 #ifdef ASSERT 265 #ifdef ASSERT
259 Node* base = NULL; 266 Node* base = NULL;
260 if (address->is_AddP()) 267 if (address->is_AddP())