< prev index next >

src/hotspot/share/opto/parse.hpp

Print this page




 512 
 513   void do_irem();
 514 
 515   // implementation of _get* and _put* bytecodes
 516   void do_getstatic() { do_field_access(true,  false); }
 517   void do_getfield () { do_field_access(true,  true); }
 518   void do_putstatic() { do_field_access(false, false); }
 519   void do_putfield () { do_field_access(false, true); }
 520 
 521   // common code for making initial checks and forming addresses
 522   void do_field_access(bool is_get, bool is_field);
 523   bool static_field_ok_in_clinit(ciField *field, ciMethod *method);
 524 
 525   // common code for actually performing the load or store
 526   void do_get_xxx(Node* obj, ciField* field, bool is_field);
 527   void do_put_xxx(Node* obj, ciField* field, bool is_field);
 528 
 529   // implementation of object creation bytecodes
 530   void emit_guard_for_new(ciInstanceKlass* klass);
 531   void do_new();
 532   void do_vdefault();
 533   void do_vwithfield();
 534   void do_newarray(BasicType elemtype);
 535   void do_newarray();
 536   void do_multianewarray();
 537   Node* expand_multianewarray(ciArrayKlass* array_klass, Node* *lengths, int ndimensions, int nargs);
 538 
 539   void do_vbox();
 540   void do_vunbox();
 541 
 542   // implementation of jsr/ret
 543   void do_jsr();
 544   void do_ret();
 545 
 546   float   dynamic_branch_prediction(float &cnt, BoolTest::mask btest, Node* test);
 547   float   branch_prediction(float &cnt, BoolTest::mask btest, int target_bci, Node* test);
 548   bool    seems_never_taken(float prob) const;
 549   bool    path_is_suitable_for_uncommon_trap(float prob) const;
 550   bool    seems_stable_comparison() const;
 551 
 552   void    do_ifnull(BoolTest::mask btest, Node* c);
 553   void    do_if(BoolTest::mask btest, Node* c);
 554   int     repush_if_args();
 555   void    adjust_map_after_if(BoolTest::mask btest, Node* c, float prob,
 556                               Block* path, Block* other_path);
 557   void    sharpen_type_after_if(BoolTest::mask btest,
 558                                 Node* con, const Type* tcon,
 559                                 Node* val, const Type* tval);
 560   IfNode* jump_if_fork_int(Node* a, Node* b, BoolTest::mask mask);
 561   Node*   jump_if_join(Node* iffalse, Node* iftrue);




 512 
 513   void do_irem();
 514 
 515   // implementation of _get* and _put* bytecodes
 516   void do_getstatic() { do_field_access(true,  false); }
 517   void do_getfield () { do_field_access(true,  true); }
 518   void do_putstatic() { do_field_access(false, false); }
 519   void do_putfield () { do_field_access(false, true); }
 520 
 521   // common code for making initial checks and forming addresses
 522   void do_field_access(bool is_get, bool is_field);
 523   bool static_field_ok_in_clinit(ciField *field, ciMethod *method);
 524 
 525   // common code for actually performing the load or store
 526   void do_get_xxx(Node* obj, ciField* field, bool is_field);
 527   void do_put_xxx(Node* obj, ciField* field, bool is_field);
 528 
 529   // implementation of object creation bytecodes
 530   void emit_guard_for_new(ciInstanceKlass* klass);
 531   void do_new();
 532   void do_defaultvalue();
 533   void do_withfield();
 534   void do_newarray(BasicType elemtype);
 535   void do_newarray();
 536   void do_multianewarray();
 537   Node* expand_multianewarray(ciArrayKlass* array_klass, Node* *lengths, int ndimensions, int nargs);
 538 



 539   // implementation of jsr/ret
 540   void do_jsr();
 541   void do_ret();
 542 
 543   float   dynamic_branch_prediction(float &cnt, BoolTest::mask btest, Node* test);
 544   float   branch_prediction(float &cnt, BoolTest::mask btest, int target_bci, Node* test);
 545   bool    seems_never_taken(float prob) const;
 546   bool    path_is_suitable_for_uncommon_trap(float prob) const;
 547   bool    seems_stable_comparison() const;
 548 
 549   void    do_ifnull(BoolTest::mask btest, Node* c);
 550   void    do_if(BoolTest::mask btest, Node* c);
 551   int     repush_if_args();
 552   void    adjust_map_after_if(BoolTest::mask btest, Node* c, float prob,
 553                               Block* path, Block* other_path);
 554   void    sharpen_type_after_if(BoolTest::mask btest,
 555                                 Node* con, const Type* tcon,
 556                                 Node* val, const Type* tval);
 557   IfNode* jump_if_fork_int(Node* a, Node* b, BoolTest::mask mask);
 558   Node*   jump_if_join(Node* iffalse, Node* iftrue);


< prev index next >