diff src/share/vm/opto/phaseX.cpp @ 23799:535618ab1c04

6675699: need comprehensive fix for unconstrained ConvI2L with narrowed type Summary: Emit CastII to make narrow ConvI2L dependent on the corresponding range check. Reviewed-by: kvn, roland
author thartmann
date Wed, 27 Jan 2016 09:02:51 +0100
parents 70649f10b88c
children a96cf90239c6
line wrap: on
line diff
--- a/src/share/vm/opto/phaseX.cpp	Mon Jan 25 08:46:19 2016 +0000
+++ b/src/share/vm/opto/phaseX.cpp	Wed Jan 27 09:02:51 2016 +0100
@@ -1339,6 +1339,10 @@
       if (dead->is_expensive()) {
         C->remove_expensive_node(dead);
       }
+      CastIINode* cast = dead->isa_CastII();
+      if (cast != NULL && cast->has_range_check()) {
+        C->remove_range_check_cast(cast);
+      }
     }
   } // while (_stack.is_nonempty())
 }