291 virtual void barrier_insertion_phase(Compile* C, PhaseIterGVN &igvn) const { }
292
293 enum CompilePhase {
294 BeforeOptimize,
295 BeforeLateInsertion,
296 BeforeMacroExpand,
297 BeforeCodeGen
298 };
299
300 virtual bool flatten_gc_alias_type(const TypePtr*& adr_type) const { return false; }
301 #ifdef ASSERT
302 virtual bool verify_gc_alias_type(const TypePtr* adr_type, int offset) const { return false; }
303 virtual void verify_gc_barriers(Compile* compile, CompilePhase phase) const {}
304 #endif
305
306 virtual bool final_graph_reshaping(Compile* compile, Node* n, uint opcode) const { return false; }
307
308 virtual bool escape_add_to_con_graph(ConnectionGraph* conn_graph, PhaseGVN* gvn, Unique_Node_List* delayed_worklist, Node* n, uint opcode) const { return false; }
309 virtual bool escape_add_final_edges(ConnectionGraph* conn_graph, PhaseGVN* gvn, Node* n, uint opcode) const { return false; }
310 virtual bool escape_has_out_with_unsafe_object(Node* n) const { return false; }
311 virtual bool escape_is_barrier_node(Node* n) const { return false; }
312
313 virtual bool matcher_find_shared_visit(Matcher* matcher, Matcher::MStack& mstack, Node* n, uint opcode, bool& mem_op, int& mem_addr_idx) const { return false; };
314 virtual bool matcher_find_shared_post_visit(Matcher* matcher, Node* n, uint opcode) const { return false; };
315 virtual bool matcher_is_store_load_barrier(Node* x, uint xop) const { return false; }
316
317 virtual void igvn_add_users_to_worklist(PhaseIterGVN* igvn, Node* use) const { }
318 virtual void ccp_analyze(PhaseCCP* ccp, Unique_Node_List& worklist, Node* use) const { }
319
320 virtual Node* split_if_pre(PhaseIdealLoop* phase, Node* n) const { return NULL; }
321 virtual bool build_loop_late_post(PhaseIdealLoop* phase, Node* n) const { return false; }
322 virtual bool sink_node(PhaseIdealLoop* phase, Node* n, Node* x, Node* x_ctrl, Node* n_ctrl) const { return false; }
323 };
324
325 #endif // SHARE_GC_SHARED_C2_BARRIERSETC2_HPP
|
291 virtual void barrier_insertion_phase(Compile* C, PhaseIterGVN &igvn) const { }
292
293 enum CompilePhase {
294 BeforeOptimize,
295 BeforeLateInsertion,
296 BeforeMacroExpand,
297 BeforeCodeGen
298 };
299
300 virtual bool flatten_gc_alias_type(const TypePtr*& adr_type) const { return false; }
301 #ifdef ASSERT
302 virtual bool verify_gc_alias_type(const TypePtr* adr_type, int offset) const { return false; }
303 virtual void verify_gc_barriers(Compile* compile, CompilePhase phase) const {}
304 #endif
305
306 virtual bool final_graph_reshaping(Compile* compile, Node* n, uint opcode) const { return false; }
307
308 virtual bool escape_add_to_con_graph(ConnectionGraph* conn_graph, PhaseGVN* gvn, Unique_Node_List* delayed_worklist, Node* n, uint opcode) const { return false; }
309 virtual bool escape_add_final_edges(ConnectionGraph* conn_graph, PhaseGVN* gvn, Node* n, uint opcode) const { return false; }
310 virtual bool escape_has_out_with_unsafe_object(Node* n) const { return false; }
311
312 virtual bool matcher_find_shared_visit(Matcher* matcher, Matcher::MStack& mstack, Node* n, uint opcode, bool& mem_op, int& mem_addr_idx) const { return false; };
313 virtual bool matcher_find_shared_post_visit(Matcher* matcher, Node* n, uint opcode) const { return false; };
314 virtual bool matcher_is_store_load_barrier(Node* x, uint xop) const { return false; }
315
316 virtual void igvn_add_users_to_worklist(PhaseIterGVN* igvn, Node* use) const { }
317 virtual void ccp_analyze(PhaseCCP* ccp, Unique_Node_List& worklist, Node* use) const { }
318
319 virtual Node* split_if_pre(PhaseIdealLoop* phase, Node* n) const { return NULL; }
320 virtual bool build_loop_late_post(PhaseIdealLoop* phase, Node* n) const { return false; }
321 virtual bool sink_node(PhaseIdealLoop* phase, Node* n, Node* x, Node* x_ctrl, Node* n_ctrl) const { return false; }
322 };
323
324 #endif // SHARE_GC_SHARED_C2_BARRIERSETC2_HPP
|