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); |