Mercurial > hg > graal-jvmci-8
comparison src/share/vm/opto/parse1.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 | 1d1603768966 |
children | 069ab3f976d3 |
comparison
equal
deleted
inserted
replaced
3344:0139aac70fb5 | 3345:bad7ecd0b6ed |
---|---|
636 // Not all preds have been parsed. We must build phis everywhere. | 636 // Not all preds have been parsed. We must build phis everywhere. |
637 // (Note that dead locals do not get phis built, ever.) | 637 // (Note that dead locals do not get phis built, ever.) |
638 ensure_phis_everywhere(); | 638 ensure_phis_everywhere(); |
639 | 639 |
640 if (block->is_SEL_head() && | 640 if (block->is_SEL_head() && |
641 UseLoopPredicate) { | 641 (UseLoopPredicate || LoopLimitCheck)) { |
642 // Add predicate to single entry (not irreducible) loop head. | 642 // Add predicate to single entry (not irreducible) loop head. |
643 assert(!block->has_merged_backedge(), "only entry paths should be merged for now"); | 643 assert(!block->has_merged_backedge(), "only entry paths should be merged for now"); |
644 // Need correct bci for predicate. | 644 // Need correct bci for predicate. |
645 // It is fine to set it here since do_one_block() will set it anyway. | 645 // It is fine to set it here since do_one_block() will set it anyway. |
646 set_parse_bci(block->start()); | 646 set_parse_bci(block->start()); |