< prev index next >

src/hotspot/share/opto/loopPredicate.cpp

Print this page

        

*** 383,393 **** // Search original predicates Node* entry = old_entry; ProjNode* limit_check_proj = NULL; limit_check_proj = find_predicate_insertion_point(entry, Deoptimization::Reason_loop_limit_check); if (limit_check_proj != NULL) { ! entry = entry->in(0)->in(0); } ProjNode* profile_predicate_proj = NULL; ProjNode* predicate_proj = NULL; if (UseProfiledLoopPredicate) { profile_predicate_proj = find_predicate_insertion_point(entry, Deoptimization::Reason_profile_predicate); --- 383,393 ---- // Search original predicates Node* entry = old_entry; ProjNode* limit_check_proj = NULL; limit_check_proj = find_predicate_insertion_point(entry, Deoptimization::Reason_loop_limit_check); if (limit_check_proj != NULL) { ! entry = skip_loop_predicates(entry); } ProjNode* profile_predicate_proj = NULL; ProjNode* predicate_proj = NULL; if (UseProfiledLoopPredicate) { profile_predicate_proj = find_predicate_insertion_point(entry, Deoptimization::Reason_profile_predicate);
*** 465,475 **** Node* PhaseIdealLoop::skip_all_loop_predicates(Node* entry) { Node* predicate = NULL; predicate = find_predicate_insertion_point(entry, Deoptimization::Reason_loop_limit_check); if (predicate != NULL) { ! entry = entry->in(0)->in(0); } if (UseProfiledLoopPredicate) { predicate = find_predicate_insertion_point(entry, Deoptimization::Reason_profile_predicate); if (predicate != NULL) { // right pattern that can be used by loop predication entry = skip_loop_predicates(entry); --- 465,475 ---- Node* PhaseIdealLoop::skip_all_loop_predicates(Node* entry) { Node* predicate = NULL; predicate = find_predicate_insertion_point(entry, Deoptimization::Reason_loop_limit_check); if (predicate != NULL) { ! entry = skip_loop_predicates(entry); } if (UseProfiledLoopPredicate) { predicate = find_predicate_insertion_point(entry, Deoptimization::Reason_profile_predicate); if (predicate != NULL) { // right pattern that can be used by loop predication entry = skip_loop_predicates(entry);
*** 1352,1362 **** ProjNode *predicate_proj = NULL; ProjNode *profile_predicate_proj = NULL; // Loop limit check predicate should be near the loop. loop_limit_proj = find_predicate_insertion_point(entry, Deoptimization::Reason_loop_limit_check); if (loop_limit_proj != NULL) { ! entry = loop_limit_proj->in(0)->in(0); } bool has_profile_predicates = false; profile_predicate_proj = find_predicate_insertion_point(entry, Deoptimization::Reason_profile_predicate); if (profile_predicate_proj != NULL) { Node* n = skip_loop_predicates(entry); --- 1352,1362 ---- ProjNode *predicate_proj = NULL; ProjNode *profile_predicate_proj = NULL; // Loop limit check predicate should be near the loop. loop_limit_proj = find_predicate_insertion_point(entry, Deoptimization::Reason_loop_limit_check); if (loop_limit_proj != NULL) { ! entry = skip_loop_predicates(loop_limit_proj); } bool has_profile_predicates = false; profile_predicate_proj = find_predicate_insertion_point(entry, Deoptimization::Reason_profile_predicate); if (profile_predicate_proj != NULL) { Node* n = skip_loop_predicates(entry);
< prev index next >