903 // Find a predicate |
903 // Find a predicate |
904 static Node* find_predicate(Node* entry); |
904 static Node* find_predicate(Node* entry); |
905 // Construct a range check for a predicate if |
905 // Construct a range check for a predicate if |
906 BoolNode* rc_predicate(IdealLoopTree *loop, Node* ctrl, |
906 BoolNode* rc_predicate(IdealLoopTree *loop, Node* ctrl, |
907 int scale, Node* offset, |
907 int scale, Node* offset, |
908 Node* init, Node* limit, Node* stride, |
908 Node* init, Node* limit, jint stride, |
909 Node* range, bool upper); |
909 Node* range, bool upper, bool &overflow); |
910 |
910 |
911 // Implementation of the loop predication to promote checks outside the loop |
911 // Implementation of the loop predication to promote checks outside the loop |
912 bool loop_predication_impl(IdealLoopTree *loop); |
912 bool loop_predication_impl(IdealLoopTree *loop); |
913 |
913 |
914 // Helper function to collect predicate for eliminating the useless ones |
914 // Helper function to collect predicate for eliminating the useless ones |