PhiNode::is_copy() performs some assertion checks and then always returns NULL:
Node* is_copy() const {
// The node is a real phi if _in[0] is a Region node.
DEBUG_ONLY(const Node* r = _in[Region];)
assert(r != NULL && r->is_Region(), "Not valid control");
return NULL; // not a copy!
}
This could be cleaned up and turned into complete debug code.
An example of such an occurrence in PhiNode::Ideal():
// The next should never happen after 6297035 fix.
if( is_copy() ) // Already degraded to a Copy ?
return NULL; // No change
Edit: It turns out that phis are not degraded to copies anymore [1], so PhiNode::is_copy() and the rest of code that handles "phi copies" can be simply removed.
[1] https://github.com/openjdk/jdk/pull/275#issuecomment-696369295