< prev index next >

src/hotspot/share/opto/parse.hpp

Print this page




 515 
 516   // Helper functions for type checking bytecodes:
 517   void  do_checkcast();
 518   void  do_instanceof();
 519 
 520   // Helper functions for shifting & arithmetic
 521   void modf();
 522   void modd();
 523   void l2f();
 524 
 525   void do_irem();
 526 
 527   // implementation of _get* and _put* bytecodes
 528   void do_getstatic() { do_field_access(true,  false); }
 529   void do_getfield () { do_field_access(true,  true); }
 530   void do_putstatic() { do_field_access(false, false); }
 531   void do_putfield () { do_field_access(false, true); }
 532 
 533   // common code for making initial checks and forming addresses
 534   void do_field_access(bool is_get, bool is_field);
 535   bool static_field_ok_in_clinit(ciField *field, ciMethod *method);
 536 
 537   // common code for actually performing the load or store
 538   void do_get_xxx(Node* obj, ciField* field, bool is_field);
 539   void do_put_xxx(Node* obj, ciField* field, bool is_field);
 540 
 541   // implementation of object creation bytecodes
 542   void emit_guard_for_new(ciInstanceKlass* klass);
 543   void do_new();
 544   void do_newarray(BasicType elemtype);
 545   void do_anewarray();
 546   void do_multianewarray();
 547   Node* expand_multianewarray(ciArrayKlass* array_klass, Node* *lengths, int ndimensions, int nargs);
 548 
 549   // implementation of jsr/ret
 550   void do_jsr();
 551   void do_ret();
 552 
 553   float   dynamic_branch_prediction(float &cnt, BoolTest::mask btest, Node* test);
 554   float   branch_prediction(float &cnt, BoolTest::mask btest, int target_bci, Node* test);
 555   bool    seems_never_taken(float prob) const;
 556   bool    path_is_suitable_for_uncommon_trap(float prob) const;
 557   bool    seems_stable_comparison() const;
 558 
 559   void    do_ifnull(BoolTest::mask btest, Node* c);
 560   void    do_if(BoolTest::mask btest, Node* c);
 561   int     repush_if_args();
 562   void    adjust_map_after_if(BoolTest::mask btest, Node* c, float prob,




 515 
 516   // Helper functions for type checking bytecodes:
 517   void  do_checkcast();
 518   void  do_instanceof();
 519 
 520   // Helper functions for shifting & arithmetic
 521   void modf();
 522   void modd();
 523   void l2f();
 524 
 525   void do_irem();
 526 
 527   // implementation of _get* and _put* bytecodes
 528   void do_getstatic() { do_field_access(true,  false); }
 529   void do_getfield () { do_field_access(true,  true); }
 530   void do_putstatic() { do_field_access(false, false); }
 531   void do_putfield () { do_field_access(false, true); }
 532 
 533   // common code for making initial checks and forming addresses
 534   void do_field_access(bool is_get, bool is_field);

 535 
 536   // common code for actually performing the load or store
 537   void do_get_xxx(Node* obj, ciField* field, bool is_field);
 538   void do_put_xxx(Node* obj, ciField* field, bool is_field);
 539 
 540   // implementation of object creation bytecodes

 541   void do_new();
 542   void do_newarray(BasicType elemtype);
 543   void do_anewarray();
 544   void do_multianewarray();
 545   Node* expand_multianewarray(ciArrayKlass* array_klass, Node* *lengths, int ndimensions, int nargs);
 546 
 547   // implementation of jsr/ret
 548   void do_jsr();
 549   void do_ret();
 550 
 551   float   dynamic_branch_prediction(float &cnt, BoolTest::mask btest, Node* test);
 552   float   branch_prediction(float &cnt, BoolTest::mask btest, int target_bci, Node* test);
 553   bool    seems_never_taken(float prob) const;
 554   bool    path_is_suitable_for_uncommon_trap(float prob) const;
 555   bool    seems_stable_comparison() const;
 556 
 557   void    do_ifnull(BoolTest::mask btest, Node* c);
 558   void    do_if(BoolTest::mask btest, Node* c);
 559   int     repush_if_args();
 560   void    adjust_map_after_if(BoolTest::mask btest, Node* c, float prob,


< prev index next >