hotspot/src/share/vm/opto/node.hpp
changeset 375 6969999e4e7b
parent 369 640d1cdd140f
parent 373 427fb4ca6a1e
child 594 9f4474e5dbaf
equal deleted inserted replaced
369:640d1cdd140f 375:6969999e4e7b
   739 
   739 
   740   bool is_Con () const { return (_flags & Flag_is_Con) != 0; }
   740   bool is_Con () const { return (_flags & Flag_is_Con) != 0; }
   741   bool is_Goto() const { return (_flags & Flag_is_Goto) != 0; }
   741   bool is_Goto() const { return (_flags & Flag_is_Goto) != 0; }
   742   // The data node which is safe to leave in dead loop during IGVN optimization.
   742   // The data node which is safe to leave in dead loop during IGVN optimization.
   743   bool is_dead_loop_safe() const {
   743   bool is_dead_loop_safe() const {
   744     return is_Phi() || is_Proj() ||
   744     return is_Phi() || (is_Proj() && in(0) == NULL) ||
   745            (_flags & (Flag_is_dead_loop_safe | Flag_is_Con)) != 0;
   745            ((_flags & (Flag_is_dead_loop_safe | Flag_is_Con)) != 0 &&
       
   746             (!is_Proj() || !in(0)->is_Allocate()));
   746   }
   747   }
   747 
   748 
   748   // is_Copy() returns copied edge index (0 or 1)
   749   // is_Copy() returns copied edge index (0 or 1)
   749   uint is_Copy() const { return (_flags & Flag_is_Copy); }
   750   uint is_Copy() const { return (_flags & Flag_is_Copy); }
   750 
   751