< prev index next >
src/share/vm/opto/opaquenode.cpp
Print this page
*** 38,48 ****
// the opaque Node until no more loop ops can happen. Note the timing of
// _major_progress; it's set in the major loop optimizations THEN comes the
// call to IterGVN and any chance of hitting this code. Hence there's no
// phase-ordering problem with stripping Opaque1 in IGVN followed by some
// more loop optimizations that require it.
! Node *Opaque1Node::Identity( PhaseTransform *phase ) {
return phase->C->major_progress() ? this : in(1);
}
//=============================================================================
// A node to prevent unwanted optimizations. Allows constant folding. Stops
--- 38,48 ----
// the opaque Node until no more loop ops can happen. Note the timing of
// _major_progress; it's set in the major loop optimizations THEN comes the
// call to IterGVN and any chance of hitting this code. Hence there's no
// phase-ordering problem with stripping Opaque1 in IGVN followed by some
// more loop optimizations that require it.
! Node* Opaque1Node::Identity(PhaseGVN* phase) {
return phase->C->major_progress() ? this : in(1);
}
//=============================================================================
// A node to prevent unwanted optimizations. Allows constant folding. Stops
*** 74,84 ****
} else {
return NULL;
}
}
! Node *ProfileBooleanNode::Identity( PhaseTransform *phase ) {
if (_delay_removal) {
return this;
} else {
assert(_consumed, "profile should be consumed before elimination");
return in(1);
--- 74,84 ----
} else {
return NULL;
}
}
! Node* ProfileBooleanNode::Identity(PhaseGVN* phase) {
if (_delay_removal) {
return this;
} else {
assert(_consumed, "profile should be consumed before elimination");
return in(1);
< prev index next >