hotspot/src/share/vm/opto/memnode.cpp
changeset 6752 9a3b09fd5745
parent 6741 d4e6d10d7bdf
child 7397 5b173b4ca846
--- a/hotspot/src/share/vm/opto/memnode.cpp	Wed Sep 29 16:53:42 2010 -0700
+++ b/hotspot/src/share/vm/opto/memnode.cpp	Thu Sep 30 18:31:45 2010 -0700
@@ -256,7 +256,8 @@
   if( t_adr == Type::TOP )              return NodeSentinel; // caller will return NULL
 
   if( can_reshape && igvn != NULL &&
-      (igvn->_worklist.member(address) || phase->type(address) != adr_type()) ) {
+      (igvn->_worklist.member(address) ||
+       igvn->_worklist.size() > 0 && (phase->type(address) != adr_type())) ) {
     // The address's base and type may change when the address is processed.
     // Delay this mem node transformation until the address is processed.
     phase->is_IterGVN()->_worklist.push(this);