diff src/share/vm/opto/graphKit.cpp @ 3345:bad7ecd0b6ed

5091921: Sign flip issues in loop optimizer Summary: Fix integer overflow problem in the code generated by loop optimizer. Reviewed-by: never
author kvn
date Wed, 04 May 2011 13:12:42 -0700
parents 286c498ae0d4
children f1c12354c3f7
line wrap: on
line diff
--- a/src/share/vm/opto/graphKit.cpp	Wed May 04 03:42:58 2011 -0700
+++ b/src/share/vm/opto/graphKit.cpp	Wed May 04 13:12:42 2011 -0700
@@ -3378,6 +3378,10 @@
   if (UseLoopPredicate) {
     add_predicate_impl(Deoptimization::Reason_predicate, nargs);
   }
+  // loop's limit check predicate should be near the loop.
+  if (LoopLimitCheck) {
+    add_predicate_impl(Deoptimization::Reason_loop_limit_check, nargs);
+  }
 }
 
 //----------------------------- store barriers ----------------------------