diff src/share/vm/opto/multnode.hpp @ 126:72f4a668df19

6625997: CastPP, CheckCastPP and Proj nodes are not dead loop safe Summary: EA and initialization optimizations could bypass these nodes. Reviewed-by: rasbold, never
author kvn
date Wed, 23 Apr 2008 19:09:16 -0700
parents a61af66fc99e
children d1605aabd0a1
line wrap: on
line diff
--- a/src/share/vm/opto/multnode.hpp	Wed Apr 23 13:57:14 2008 -0700
+++ b/src/share/vm/opto/multnode.hpp	Wed Apr 23 19:09:16 2008 -0700
@@ -61,6 +61,9 @@
     : Node( src ), _con(con), _is_io_use(io_use)
   {
     init_class_id(Class_Proj);
+    // Optimistic setting. Need additional checks in Node::is_dead_loop_safe().
+    if (con != TypeFunc::Memory || src->is_Start())
+      init_flags(Flag_is_dead_loop_safe);
     debug_only(check_con());
   }
   const uint _con;              // The field in the tuple we are projecting