8214362: C2: gc interface entry point for split if
Reviewed-by: rkennke, thartmann
This commit is contained in:
parent
8849b1c7b7
commit
cd0aafe76a
@ -60,8 +60,8 @@ class ConnectionGraph;
|
||||
class GraphKit;
|
||||
class IdealKit;
|
||||
class Node;
|
||||
class PhaseIdealLoop;
|
||||
class PhaseGVN;
|
||||
class PhaseIdealLoop;
|
||||
class PhaseMacroExpand;
|
||||
class Type;
|
||||
class TypePtr;
|
||||
@ -313,6 +313,7 @@ public:
|
||||
virtual void igvn_add_users_to_worklist(PhaseIterGVN* igvn, Node* use) const {}
|
||||
virtual void ccp_analyze(PhaseCCP* ccp, Unique_Node_List& worklist, Node* use) const {}
|
||||
|
||||
virtual Node* split_if_pre(PhaseIdealLoop* phase, Node* n) const { return NULL; }
|
||||
};
|
||||
|
||||
#endif // SHARE_GC_SHARED_C2_BARRIERSETC2_HPP
|
||||
|
@ -887,6 +887,11 @@ void PhaseIdealLoop::try_move_store_after_loop(Node* n) {
|
||||
// Do the real work in a non-recursive function. Data nodes want to be
|
||||
// cloned in the pre-order so they can feed each other nicely.
|
||||
Node *PhaseIdealLoop::split_if_with_blocks_pre( Node *n ) {
|
||||
BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
|
||||
Node* bs_res = bs->split_if_pre(this, n);
|
||||
if (bs_res != NULL) {
|
||||
return bs_res;
|
||||
}
|
||||
// Cloning these guys is unlikely to win
|
||||
int n_op = n->Opcode();
|
||||
if( n_op == Op_MergeMem ) return n;
|
||||
|
Loading…
Reference in New Issue
Block a user