hotspot/src/share/vm/opto/parse.hpp
changeset 1554 59019800a87c
parent 1399 9648dfd4ce09
child 2131 98f9cef66a34
equal deleted inserted replaced
1553:fc10c169d15d 1554:59019800a87c
   173     bool is_loop_head() const              { return flow()->is_loop_head(); }
   173     bool is_loop_head() const              { return flow()->is_loop_head(); }
   174     bool is_SEL_head() const               { return flow()->is_single_entry_loop_head(); }
   174     bool is_SEL_head() const               { return flow()->is_single_entry_loop_head(); }
   175     bool is_SEL_backedge(Block* pred) const{ return is_SEL_head() && pred->rpo() >= rpo(); }
   175     bool is_SEL_backedge(Block* pred) const{ return is_SEL_head() && pred->rpo() >= rpo(); }
   176     bool is_invariant_local(uint i) const  {
   176     bool is_invariant_local(uint i) const  {
   177       const JVMState* jvms = start_map()->jvms();
   177       const JVMState* jvms = start_map()->jvms();
   178       if (!jvms->is_loc(i)) return false;
   178       if (!jvms->is_loc(i) || flow()->outer()->has_irreducible_entry()) return false;
   179       return flow()->is_invariant_local(i - jvms->locoff());
   179       return flow()->is_invariant_local(i - jvms->locoff());
   180     }
   180     }
   181     bool can_elide_SEL_phi(uint i) const  { assert(is_SEL_head(),""); return is_invariant_local(i); }
   181     bool can_elide_SEL_phi(uint i) const  { assert(is_SEL_head(),""); return is_invariant_local(i); }
   182 
   182 
   183     const Type* peek(int off=0) const      { return stack_type_at(start_sp() - (off+1)); }
   183     const Type* peek(int off=0) const      { return stack_type_at(start_sp() - (off+1)); }