< prev index next >

src/hotspot/share/opto/graphKit.hpp

Print this page
rev 53705 : 8217383: Obsolete UseImplicitStableValues
Reviewed-by: vlivanov


 867     IfNode* iff = new IfNode(ctrl, tst, prob, cnt);// New IfNode's
 868     _gvn.set_type(iff, iff->Value(&_gvn)); // Value may be known at parse-time
 869     // Place 'if' on worklist if it will be in graph
 870     if (!tst->is_Con())  record_for_igvn(iff);     // Range-check and Null-check removal is later
 871     return iff;
 872   }
 873 
 874   IfNode* create_and_xform_if(Node* ctrl, Node* tst, float prob, float cnt) {
 875     IfNode* iff = new IfNode(ctrl, tst, prob, cnt);// New IfNode's
 876     _gvn.transform(iff);                           // Value may be known at parse-time
 877     // Place 'if' on worklist if it will be in graph
 878     if (!tst->is_Con())  record_for_igvn(iff);     // Range-check and Null-check removal is later
 879     return iff;
 880   }
 881 
 882   // Insert a loop predicate into the graph
 883   void add_predicate(int nargs = 0);
 884   void add_predicate_impl(Deoptimization::DeoptReason reason, int nargs);
 885 
 886   Node* make_constant_from_field(ciField* field, Node* obj);
 887 
 888   // Produce new array node of stable type
 889   Node* cast_array_to_stable(Node* ary, const TypeAryPtr* ary_type);
 890 };
 891 
 892 // Helper class to support building of control flow branches. Upon
 893 // creation the map and sp at bci are cloned and restored upon de-
 894 // struction. Typical use:
 895 //
 896 // { PreserveJVMState pjvms(this);
 897 //   // code of new branch
 898 // }
 899 // // here the JVM state at bci is established
 900 
 901 class PreserveJVMState: public StackObj {
 902  protected:
 903   GraphKit*      _kit;
 904 #ifdef ASSERT
 905   int            _block;  // PO of current block, if a Parse
 906   int            _bci;
 907 #endif
 908   SafePointNode* _map;
 909   uint           _sp;




 867     IfNode* iff = new IfNode(ctrl, tst, prob, cnt);// New IfNode's
 868     _gvn.set_type(iff, iff->Value(&_gvn)); // Value may be known at parse-time
 869     // Place 'if' on worklist if it will be in graph
 870     if (!tst->is_Con())  record_for_igvn(iff);     // Range-check and Null-check removal is later
 871     return iff;
 872   }
 873 
 874   IfNode* create_and_xform_if(Node* ctrl, Node* tst, float prob, float cnt) {
 875     IfNode* iff = new IfNode(ctrl, tst, prob, cnt);// New IfNode's
 876     _gvn.transform(iff);                           // Value may be known at parse-time
 877     // Place 'if' on worklist if it will be in graph
 878     if (!tst->is_Con())  record_for_igvn(iff);     // Range-check and Null-check removal is later
 879     return iff;
 880   }
 881 
 882   // Insert a loop predicate into the graph
 883   void add_predicate(int nargs = 0);
 884   void add_predicate_impl(Deoptimization::DeoptReason reason, int nargs);
 885 
 886   Node* make_constant_from_field(ciField* field, Node* obj);



 887 };
 888 
 889 // Helper class to support building of control flow branches. Upon
 890 // creation the map and sp at bci are cloned and restored upon de-
 891 // struction. Typical use:
 892 //
 893 // { PreserveJVMState pjvms(this);
 894 //   // code of new branch
 895 // }
 896 // // here the JVM state at bci is established
 897 
 898 class PreserveJVMState: public StackObj {
 899  protected:
 900   GraphKit*      _kit;
 901 #ifdef ASSERT
 902   int            _block;  // PO of current block, if a Parse
 903   int            _bci;
 904 #endif
 905   SafePointNode* _map;
 906   uint           _sp;


< prev index next >