hotspot/src/share/vm/opto/graphKit.hpp
changeset 24945 6df48e563632
parent 24923 9631f7d691dc
child 24946 24b68ccf3fc4
equal deleted inserted replaced
24944:5b01505efb7a 24945:6df48e563632
   805     RC_LEAF = 0                 // null value:  no flags set
   805     RC_LEAF = 0                 // null value:  no flags set
   806   };
   806   };
   807 
   807 
   808   // merge in all memory slices from new_mem, along the given path
   808   // merge in all memory slices from new_mem, along the given path
   809   void merge_memory(Node* new_mem, Node* region, int new_path);
   809   void merge_memory(Node* new_mem, Node* region, int new_path);
   810   void make_slow_call_ex(Node* call, ciInstanceKlass* ex_klass, bool separate_io_proj);
   810   void make_slow_call_ex(Node* call, ciInstanceKlass* ex_klass, bool separate_io_proj, bool deoptimize = false);
   811 
   811 
   812   // Helper functions to build synchronizations
   812   // Helper functions to build synchronizations
   813   int next_monitor();
   813   int next_monitor();
   814   Node* insert_mem_bar(int opcode, Node* precedent = NULL);
   814   Node* insert_mem_bar(int opcode, Node* precedent = NULL);
   815   Node* insert_mem_bar_volatile(int opcode, int alias_idx, Node* precedent = NULL);
   815   Node* insert_mem_bar_volatile(int opcode, int alias_idx, Node* precedent = NULL);
   847   Node* type_check_receiver(Node* receiver, ciKlass* klass, float prob,
   847   Node* type_check_receiver(Node* receiver, ciKlass* klass, float prob,
   848                             Node* *casted_receiver);
   848                             Node* *casted_receiver);
   849 
   849 
   850   // implementation of object creation
   850   // implementation of object creation
   851   Node* set_output_for_allocation(AllocateNode* alloc,
   851   Node* set_output_for_allocation(AllocateNode* alloc,
   852                                   const TypeOopPtr* oop_type);
   852                                   const TypeOopPtr* oop_type,
       
   853                                   bool deoptimize_on_exception=false);
   853   Node* get_layout_helper(Node* klass_node, jint& constant_value);
   854   Node* get_layout_helper(Node* klass_node, jint& constant_value);
   854   Node* new_instance(Node* klass_node,
   855   Node* new_instance(Node* klass_node,
   855                      Node* slow_test = NULL,
   856                      Node* slow_test = NULL,
   856                      Node* *return_size_val = NULL);
   857                      Node* *return_size_val = NULL,
       
   858                      bool deoptimize_on_exception = false);
   857   Node* new_array(Node* klass_node, Node* count_val, int nargs,
   859   Node* new_array(Node* klass_node, Node* count_val, int nargs,
   858                   Node* *return_size_val = NULL);
   860                   Node* *return_size_val = NULL,
       
   861                   bool deoptimize_on_exception = false);
   859 
   862 
   860   // java.lang.String helpers
   863   // java.lang.String helpers
   861   Node* load_String_offset(Node* ctrl, Node* str);
   864   Node* load_String_offset(Node* ctrl, Node* str);
   862   Node* load_String_length(Node* ctrl, Node* str);
   865   Node* load_String_length(Node* ctrl, Node* str);
   863   Node* load_String_value(Node* ctrl, Node* str);
   866   Node* load_String_value(Node* ctrl, Node* str);