--- a/src/hotspot/share/opto/parse.hpp Tue Apr 24 12:20:10 2018 -0700
+++ b/src/hotspot/share/opto/parse.hpp Tue Apr 24 15:07:20 2018 -0700
@@ -552,17 +552,18 @@
void sharpen_type_after_if(BoolTest::mask btest,
Node* con, const Type* tcon,
Node* val, const Type* tval);
- IfNode* jump_if_fork_int(Node* a, Node* b, BoolTest::mask mask);
+ IfNode* jump_if_fork_int(Node* a, Node* b, BoolTest::mask mask, float prob, float cnt);
Node* jump_if_join(Node* iffalse, Node* iftrue);
- void jump_if_true_fork(IfNode *ifNode, int dest_bci_if_true, int prof_table_index);
- void jump_if_false_fork(IfNode *ifNode, int dest_bci_if_false, int prof_table_index);
- void jump_if_always_fork(int dest_bci_if_true, int prof_table_index);
+ void jump_if_true_fork(IfNode *ifNode, int dest_bci_if_true, int prof_table_index, bool unc);
+ void jump_if_false_fork(IfNode *ifNode, int dest_bci_if_false, int prof_table_index, bool unc);
+ void jump_if_always_fork(int dest_bci_if_true, int prof_table_index, bool unc);
friend class SwitchRange;
void do_tableswitch();
void do_lookupswitch();
void jump_switch_ranges(Node* a, SwitchRange* lo, SwitchRange* hi, int depth = 0);
bool create_jump_tables(Node* a, SwitchRange* lo, SwitchRange* hi);
+ void linear_search_switch_ranges(Node* key_val, SwitchRange*& lo, SwitchRange*& hi);
void decrement_age();
// helper functions for methodData style profiling