< prev index next >

src/share/vm/opto/graphKit.hpp

Print this page




 864 
 865   // implementation of object creation
 866   Node* set_output_for_allocation(AllocateNode* alloc,
 867                                   const TypeOopPtr* oop_type,
 868                                   bool deoptimize_on_exception=false);
 869   Node* get_layout_helper(Node* klass_node, jint& constant_value);
 870   Node* new_instance(Node* klass_node,
 871                      Node* slow_test = NULL,
 872                      Node* *return_size_val = NULL,
 873                      bool deoptimize_on_exception = false);
 874   Node* new_array(Node* klass_node, Node* count_val, int nargs,
 875                   Node* *return_size_val = NULL,
 876                   bool deoptimize_on_exception = false);
 877 
 878   // java.lang.String helpers
 879   Node* load_String_length(Node* ctrl, Node* str);
 880   Node* load_String_value(Node* ctrl, Node* str);
 881   Node* load_String_coder(Node* ctrl, Node* str);
 882   void store_String_value(Node* ctrl, Node* str, Node* value);
 883   void store_String_coder(Node* ctrl, Node* str, Node* value);
 884   Node* compress_string(Node* src, Node* dst, Node* count);
 885   void inflate_string(Node* src, Node* dst, Node* count);
 886   void inflate_string_slow(Node* src, Node* dst, Node* start, Node* count);
 887 
 888   // Handy for making control flow
 889   IfNode* create_and_map_if(Node* ctrl, Node* tst, float prob, float cnt) {
 890     IfNode* iff = new IfNode(ctrl, tst, prob, cnt);// New IfNode's
 891     _gvn.set_type(iff, iff->Value(&_gvn)); // Value may be known at parse-time
 892     // Place 'if' on worklist if it will be in graph
 893     if (!tst->is_Con())  record_for_igvn(iff);     // Range-check and Null-check removal is later
 894     return iff;
 895   }
 896 
 897   IfNode* create_and_xform_if(Node* ctrl, Node* tst, float prob, float cnt) {
 898     IfNode* iff = new IfNode(ctrl, tst, prob, cnt);// New IfNode's
 899     _gvn.transform(iff);                           // Value may be known at parse-time
 900     // Place 'if' on worklist if it will be in graph
 901     if (!tst->is_Con())  record_for_igvn(iff);     // Range-check and Null-check removal is later
 902     return iff;
 903   }
 904 
 905   // Insert a loop predicate into the graph




 864 
 865   // implementation of object creation
 866   Node* set_output_for_allocation(AllocateNode* alloc,
 867                                   const TypeOopPtr* oop_type,
 868                                   bool deoptimize_on_exception=false);
 869   Node* get_layout_helper(Node* klass_node, jint& constant_value);
 870   Node* new_instance(Node* klass_node,
 871                      Node* slow_test = NULL,
 872                      Node* *return_size_val = NULL,
 873                      bool deoptimize_on_exception = false);
 874   Node* new_array(Node* klass_node, Node* count_val, int nargs,
 875                   Node* *return_size_val = NULL,
 876                   bool deoptimize_on_exception = false);
 877 
 878   // java.lang.String helpers
 879   Node* load_String_length(Node* ctrl, Node* str);
 880   Node* load_String_value(Node* ctrl, Node* str);
 881   Node* load_String_coder(Node* ctrl, Node* str);
 882   void store_String_value(Node* ctrl, Node* str, Node* value);
 883   void store_String_coder(Node* ctrl, Node* str, Node* value);
 884   Node* compress_string(Node* src, const TypeAryPtr* src_type, Node* dst, Node* count);
 885   void inflate_string(Node* src, Node* dst, const TypeAryPtr* dst_type, Node* count);
 886   void inflate_string_slow(Node* src, Node* dst, Node* start, Node* count);
 887 
 888   // Handy for making control flow
 889   IfNode* create_and_map_if(Node* ctrl, Node* tst, float prob, float cnt) {
 890     IfNode* iff = new IfNode(ctrl, tst, prob, cnt);// New IfNode's
 891     _gvn.set_type(iff, iff->Value(&_gvn)); // Value may be known at parse-time
 892     // Place 'if' on worklist if it will be in graph
 893     if (!tst->is_Con())  record_for_igvn(iff);     // Range-check and Null-check removal is later
 894     return iff;
 895   }
 896 
 897   IfNode* create_and_xform_if(Node* ctrl, Node* tst, float prob, float cnt) {
 898     IfNode* iff = new IfNode(ctrl, tst, prob, cnt);// New IfNode's
 899     _gvn.transform(iff);                           // Value may be known at parse-time
 900     // Place 'if' on worklist if it will be in graph
 901     if (!tst->is_Con())  record_for_igvn(iff);     // Range-check and Null-check removal is later
 902     return iff;
 903   }
 904 
 905   // Insert a loop predicate into the graph


< prev index next >