< prev index next >
src/share/vm/opto/ifnode.cpp
Print this page
*** 43,53 ****
extern int explicit_null_checks_elided;
//=============================================================================
//------------------------------Value------------------------------------------
// Return a tuple for whichever arm of the IF is reachable
! const Type *IfNode::Value( PhaseTransform *phase ) const {
if( !in(0) ) return Type::TOP;
if( phase->type(in(0)) == Type::TOP )
return Type::TOP;
const Type *t = phase->type(in(1));
if( t == Type::TOP ) // data is undefined
--- 43,53 ----
extern int explicit_null_checks_elided;
//=============================================================================
//------------------------------Value------------------------------------------
// Return a tuple for whichever arm of the IF is reachable
! const Type* IfNode::Value(PhaseGVN* phase) const {
if( !in(0) ) return Type::TOP;
if( phase->type(in(0)) == Type::TOP )
return Type::TOP;
const Type *t = phase->type(in(1));
if( t == Type::TOP ) // data is undefined
*** 1525,1535 ****
return prev_dom;
}
//------------------------------Identity---------------------------------------
// If the test is constant & we match, then we are the input Control
! Node *IfProjNode::Identity(PhaseTransform *phase) {
// Can only optimize if cannot go the other way
const TypeTuple *t = phase->type(in(0))->is_tuple();
if (t == TypeTuple::IFNEITHER ||
// kill dead branch first otherwise the IfNode's control will
// have 2 control uses (the IfNode that doesn't go away because
--- 1525,1535 ----
return prev_dom;
}
//------------------------------Identity---------------------------------------
// If the test is constant & we match, then we are the input Control
! Node* IfProjNode::Identity(PhaseGVN* phase) {
// Can only optimize if cannot go the other way
const TypeTuple *t = phase->type(in(0))->is_tuple();
if (t == TypeTuple::IFNEITHER ||
// kill dead branch first otherwise the IfNode's control will
// have 2 control uses (the IfNode that doesn't go away because
< prev index next >