src/share/vm/opto/parse.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/opto

src/share/vm/opto/parse.hpp

Print this page
rev 7387 : 8063137: Never-taken branches should be pruned when GWT LambdaForms are shared
Reviewed-by: ?


 538   // common code for actually performing the load or store
 539   void do_get_xxx(Node* obj, ciField* field, bool is_field);
 540   void do_put_xxx(Node* obj, ciField* field, bool is_field);
 541 
 542   // loading from a constant field or the constant pool
 543   // returns false if push failed (non-perm field constants only, not ldcs)
 544   bool push_constant(ciConstant con, bool require_constant = false, bool is_autobox_cache = false, const Type* basic_type = NULL);
 545 
 546   // implementation of object creation bytecodes
 547   void emit_guard_for_new(ciInstanceKlass* klass);
 548   void do_new();
 549   void do_newarray(BasicType elemtype);
 550   void do_anewarray();
 551   void do_multianewarray();
 552   Node* expand_multianewarray(ciArrayKlass* array_klass, Node* *lengths, int ndimensions, int nargs);
 553 
 554   // implementation of jsr/ret
 555   void do_jsr();
 556   void do_ret();
 557 
 558   float   dynamic_branch_prediction(float &cnt);
 559   float   branch_prediction(float &cnt, BoolTest::mask btest, int target_bci);
 560   bool    seems_never_taken(float prob) const;
 561   bool    path_is_suitable_for_uncommon_trap(float prob) const;
 562   bool    seems_stable_comparison() const;
 563 
 564   void    do_ifnull(BoolTest::mask btest, Node* c);
 565   void    do_if(BoolTest::mask btest, Node* c);
 566   int     repush_if_args();
 567   void    adjust_map_after_if(BoolTest::mask btest, Node* c, float prob,
 568                               Block* path, Block* other_path);
 569   void    sharpen_type_after_if(BoolTest::mask btest,
 570                                 Node* con, const Type* tcon,
 571                                 Node* val, const Type* tval);
 572   IfNode* jump_if_fork_int(Node* a, Node* b, BoolTest::mask mask);
 573   Node*   jump_if_join(Node* iffalse, Node* iftrue);
 574   void    jump_if_true_fork(IfNode *ifNode, int dest_bci_if_true, int prof_table_index);
 575   void    jump_if_false_fork(IfNode *ifNode, int dest_bci_if_false, int prof_table_index);
 576   void    jump_if_always_fork(int dest_bci_if_true, int prof_table_index);
 577 
 578   friend class SwitchRange;
 579   void    do_tableswitch();




 538   // common code for actually performing the load or store
 539   void do_get_xxx(Node* obj, ciField* field, bool is_field);
 540   void do_put_xxx(Node* obj, ciField* field, bool is_field);
 541 
 542   // loading from a constant field or the constant pool
 543   // returns false if push failed (non-perm field constants only, not ldcs)
 544   bool push_constant(ciConstant con, bool require_constant = false, bool is_autobox_cache = false, const Type* basic_type = NULL);
 545 
 546   // implementation of object creation bytecodes
 547   void emit_guard_for_new(ciInstanceKlass* klass);
 548   void do_new();
 549   void do_newarray(BasicType elemtype);
 550   void do_anewarray();
 551   void do_multianewarray();
 552   Node* expand_multianewarray(ciArrayKlass* array_klass, Node* *lengths, int ndimensions, int nargs);
 553 
 554   // implementation of jsr/ret
 555   void do_jsr();
 556   void do_ret();
 557 
 558   float   dynamic_branch_prediction(float &cnt, BoolTest::mask btest, Node* test);
 559   float   branch_prediction(float &cnt, BoolTest::mask btest, int target_bci, Node* test);
 560   bool    seems_never_taken(float prob) const;
 561   bool    path_is_suitable_for_uncommon_trap(float prob) const;
 562   bool    seems_stable_comparison() const;
 563 
 564   void    do_ifnull(BoolTest::mask btest, Node* c);
 565   void    do_if(BoolTest::mask btest, Node* c);
 566   int     repush_if_args();
 567   void    adjust_map_after_if(BoolTest::mask btest, Node* c, float prob,
 568                               Block* path, Block* other_path);
 569   void    sharpen_type_after_if(BoolTest::mask btest,
 570                                 Node* con, const Type* tcon,
 571                                 Node* val, const Type* tval);
 572   IfNode* jump_if_fork_int(Node* a, Node* b, BoolTest::mask mask);
 573   Node*   jump_if_join(Node* iffalse, Node* iftrue);
 574   void    jump_if_true_fork(IfNode *ifNode, int dest_bci_if_true, int prof_table_index);
 575   void    jump_if_false_fork(IfNode *ifNode, int dest_bci_if_false, int prof_table_index);
 576   void    jump_if_always_fork(int dest_bci_if_true, int prof_table_index);
 577 
 578   friend class SwitchRange;
 579   void    do_tableswitch();


src/share/vm/opto/parse.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File