Mercurial > hg > truffle
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()) |