changeset 440:b1d6a3e95810

6766316: assert(!nocreate,"Cannot build a phi for a block already parsed.") Summary: Don't use the invariant local information if there are irreducible loops. Reviewed-by: never
author kvn
date Tue, 18 Nov 2008 12:40:28 -0800
parents de78b80cedec
children 87559db65269
files src/share/vm/opto/parse.hpp
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/opto/parse.hpp	Tue Nov 18 12:31:53 2008 -0800
+++ b/src/share/vm/opto/parse.hpp	Tue Nov 18 12:40:28 2008 -0800
@@ -175,7 +175,7 @@
     bool is_SEL_backedge(Block* pred) const{ return is_SEL_head() && pred->rpo() >= rpo(); }
     bool is_invariant_local(uint i) const  {
       const JVMState* jvms = start_map()->jvms();
-      if (!jvms->is_loc(i)) return false;
+      if (!jvms->is_loc(i) || flow()->outer()->has_irreducible_entry()) return false;
       return flow()->is_invariant_local(i - jvms->locoff());
     }
     bool can_elide_SEL_phi(uint i) const  { assert(is_SEL_head(),""); return is_invariant_local(i); }