100 void expand_unlock_node(UnlockNode *unlock);
101
102 int replace_input(Node *use, Node *oldref, Node *newref);
103 void copy_call_debug_info(CallNode *oldcall, CallNode * newcall);
104 Node* opt_bits_test(Node* ctrl, Node* region, int edge, Node* word, int mask, int bits, bool return_fast_path = false);
105 void copy_predefined_input_for_runtime_call(Node * ctrl, CallNode* oldcall, CallNode* call);
106 CallNode* make_slow_call(CallNode *oldcall, const TypeFunc* slow_call_type, address slow_call,
107 const char* leaf_name, Node* slow_path, Node* parm0, Node* parm1);
108 void extract_call_projections(CallNode *call);
109
110 Node* initialize_object(AllocateNode* alloc,
111 Node* control, Node* rawmem, Node* object,
112 Node* klass_node, Node* length,
113 Node* size_in_bytes);
114
115 Node* prefetch_allocation(Node* i_o,
116 Node*& needgc_false, Node*& contended_phi_rawmem,
117 Node* old_eden_top, Node* new_eden_top,
118 Node* length);
119
120 public:
121 PhaseMacroExpand(PhaseIterGVN &igvn) : Phase(Macro_Expand), _igvn(igvn) {
122 _igvn.set_delay_transform(true);
123 }
124 void eliminate_macro_nodes();
125 bool expand_macro_nodes();
126
127 };
128
129 #endif // SHARE_VM_OPTO_MACRO_HPP
|
100 void expand_unlock_node(UnlockNode *unlock);
101
102 int replace_input(Node *use, Node *oldref, Node *newref);
103 void copy_call_debug_info(CallNode *oldcall, CallNode * newcall);
104 Node* opt_bits_test(Node* ctrl, Node* region, int edge, Node* word, int mask, int bits, bool return_fast_path = false);
105 void copy_predefined_input_for_runtime_call(Node * ctrl, CallNode* oldcall, CallNode* call);
106 CallNode* make_slow_call(CallNode *oldcall, const TypeFunc* slow_call_type, address slow_call,
107 const char* leaf_name, Node* slow_path, Node* parm0, Node* parm1);
108 void extract_call_projections(CallNode *call);
109
110 Node* initialize_object(AllocateNode* alloc,
111 Node* control, Node* rawmem, Node* object,
112 Node* klass_node, Node* length,
113 Node* size_in_bytes);
114
115 Node* prefetch_allocation(Node* i_o,
116 Node*& needgc_false, Node*& contended_phi_rawmem,
117 Node* old_eden_top, Node* new_eden_top,
118 Node* length);
119
120 // Additional data collected during macro expansion
121 bool _has_locks;
122
123 public:
124 PhaseMacroExpand(PhaseIterGVN &igvn) : Phase(Macro_Expand), _igvn(igvn), _has_locks(false) {
125 _igvn.set_delay_transform(true);
126 }
127 void eliminate_macro_nodes();
128 bool expand_macro_nodes();
129
130 };
131
132 #endif // SHARE_VM_OPTO_MACRO_HPP
|