equal
deleted
inserted
replaced
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 |