diff options
author | kvn <none@none> | 2011-05-04 13:12:42 -0700 |
---|---|---|
committer | kvn <none@none> | 2011-05-04 13:12:42 -0700 |
commit | 8e4328589a700f8cadab8f9b7d73ab75ae54b7f3 (patch) | |
tree | 4b85e785d497487fbf8f4bad6403f55b2cd164af /src/share/vm/opto/graphKit.cpp | |
parent | 2823a5be160d9d71d9d8672d2eddf04348661112 (diff) |
5091921: Sign flip issues in loop optimizer
Summary: Fix integer overflow problem in the code generated by loop optimizer.
Reviewed-by: never
Diffstat (limited to 'src/share/vm/opto/graphKit.cpp')
-rw-r--r-- | src/share/vm/opto/graphKit.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/share/vm/opto/graphKit.cpp b/src/share/vm/opto/graphKit.cpp index b1ed1edbc..db6125896 100644 --- a/src/share/vm/opto/graphKit.cpp +++ b/src/share/vm/opto/graphKit.cpp @@ -3378,6 +3378,10 @@ void GraphKit::add_predicate(int nargs) { 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 ---------------------------- |