< prev index next > src/hotspot/share/opto/node.cpp
Print this page
// Scalar replacement and macro expansion might modify the JVMState.
// Clone it to make sure it's not shared between SafePointNodes.
n->as_SafePoint()->clone_jvms(C);
n->as_SafePoint()->clone_replaced_nodes();
}
+ if (n->is_InlineTypeBase()) {
+ C->add_inline_type(n);
+ }
return n; // Return the clone
}
//---------------------------setup_is_top--------------------------------------
// Call this when changing the top node, to reassert the invariants
compile->remove_skeleton_predicate_opaq(this);
}
if (for_post_loop_opts_igvn()) {
compile->remove_from_post_loop_opts_igvn(this);
}
+ if (is_InlineTypeBase()) {
+ compile->remove_inline_type(this);
+ }
if (is_SafePoint()) {
as_SafePoint()->delete_replaced_nodes();
}
BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
for( j = 0; j < len(); j++ ) {
if( in(j) == n ) cnt--;
}
assert( cnt == 0,"Mismatched edge count.");
} else if (n == NULL) {
- assert(i >= req() || i == 0 || is_Region() || is_Phi() || is_ArrayCopy() || (is_Unlock() && i == req()-1)
+ assert(i >= req() || i == 0 || is_Region() || is_Phi() || is_ArrayCopy() ||
+ (is_Allocate() && i >= AllocateNode::InlineTypeNode) ||
+ (is_Unlock() && i == req()-1)
|| (is_MemBar() && i == 5), // the precedence edge to a membar can be removed during macro node expansion
- "only region, phi, arraycopy, unlock or membar nodes have null data edges");
+ "only region, phi, arraycopy, allocate or unlock nodes have null data edges");
} else {
assert(n->is_top(), "sanity");
// Nothing to check.
}
}
< prev index next >