< prev index next >

src/hotspot/share/opto/graphKit.hpp

Print this page




 813 
 814   // Generate a check-cast idiom.  Used by both the check-cast bytecode
 815   // and the array-store bytecode
 816   Node* gen_checkcast( Node *subobj, Node* superkls,
 817                        Node* *failure_control = NULL );
 818 
 819   Node* gen_subtype_check(Node* subklass, Node* superklass) {
 820     MergeMemNode* mem = merged_memory();
 821     Node* ctrl = control();
 822     Node* n = Phase::gen_subtype_check(subklass, superklass, &ctrl, mem, &_gvn);
 823     set_control(ctrl);
 824     return n;
 825   }
 826 
 827   // Exact type check used for predicted calls and casts.
 828   // Rewrites (*casted_receiver) to be casted to the stronger type.
 829   // (Caller is responsible for doing replace_in_map.)
 830   Node* type_check_receiver(Node* receiver, ciKlass* klass, float prob,
 831                             Node* *casted_receiver);
 832 




 833   // implementation of object creation
 834   Node* set_output_for_allocation(AllocateNode* alloc,
 835                                   const TypeOopPtr* oop_type,
 836                                   bool deoptimize_on_exception=false);
 837   Node* get_layout_helper(Node* klass_node, jint& constant_value);
 838   Node* new_instance(Node* klass_node,
 839                      Node* slow_test = NULL,
 840                      Node* *return_size_val = NULL,
 841                      bool deoptimize_on_exception = false);
 842   Node* new_array(Node* klass_node, Node* count_val, int nargs,
 843                   Node* *return_size_val = NULL,
 844                   bool deoptimize_on_exception = false);
 845 
 846   // java.lang.String helpers
 847   Node* load_String_length(Node* str, bool set_ctrl);
 848   Node* load_String_value(Node* str, bool set_ctrl);
 849   Node* load_String_coder(Node* str, bool set_ctrl);
 850   void store_String_value(Node* str, Node* value);
 851   void store_String_coder(Node* str, Node* value);
 852   Node* capture_memory(const TypePtr* src_type, const TypePtr* dst_type);




 813 
 814   // Generate a check-cast idiom.  Used by both the check-cast bytecode
 815   // and the array-store bytecode
 816   Node* gen_checkcast( Node *subobj, Node* superkls,
 817                        Node* *failure_control = NULL );
 818 
 819   Node* gen_subtype_check(Node* subklass, Node* superklass) {
 820     MergeMemNode* mem = merged_memory();
 821     Node* ctrl = control();
 822     Node* n = Phase::gen_subtype_check(subklass, superklass, &ctrl, mem, &_gvn);
 823     set_control(ctrl);
 824     return n;
 825   }
 826 
 827   // Exact type check used for predicted calls and casts.
 828   // Rewrites (*casted_receiver) to be casted to the stronger type.
 829   // (Caller is responsible for doing replace_in_map.)
 830   Node* type_check_receiver(Node* receiver, ciKlass* klass, float prob,
 831                             Node* *casted_receiver);
 832 
 833   // Inexact type check used for predicted calls.
 834   Node* subtype_check_receiver(Node* receiver, ciKlass* klass,
 835                                Node** casted_receiver);
 836 
 837   // implementation of object creation
 838   Node* set_output_for_allocation(AllocateNode* alloc,
 839                                   const TypeOopPtr* oop_type,
 840                                   bool deoptimize_on_exception=false);
 841   Node* get_layout_helper(Node* klass_node, jint& constant_value);
 842   Node* new_instance(Node* klass_node,
 843                      Node* slow_test = NULL,
 844                      Node* *return_size_val = NULL,
 845                      bool deoptimize_on_exception = false);
 846   Node* new_array(Node* klass_node, Node* count_val, int nargs,
 847                   Node* *return_size_val = NULL,
 848                   bool deoptimize_on_exception = false);
 849 
 850   // java.lang.String helpers
 851   Node* load_String_length(Node* str, bool set_ctrl);
 852   Node* load_String_value(Node* str, bool set_ctrl);
 853   Node* load_String_coder(Node* str, bool set_ctrl);
 854   void store_String_value(Node* str, Node* value);
 855   void store_String_coder(Node* str, Node* value);
 856   Node* capture_memory(const TypePtr* src_type, const TypePtr* dst_type);


< prev index next >