src/share/vm/opto/movenode.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8054033 Cdiff src/share/vm/opto/movenode.cpp

src/share/vm/opto/movenode.cpp

Print this page

        

*** 86,96 **** if( in(IfFalse)->is_Con() && !in(IfTrue)->is_Con() ) { if( in(Condition)->is_Bool() ) { BoolNode* b = in(Condition)->as_Bool(); BoolNode* b2 = b->negate(phase); ! return make( phase->C, in(Control), phase->transform(b2), in(IfTrue), in(IfFalse), _type ); } } return NULL; } --- 86,96 ---- if( in(IfFalse)->is_Con() && !in(IfTrue)->is_Con() ) { if( in(Condition)->is_Bool() ) { BoolNode* b = in(Condition)->as_Bool(); BoolNode* b2 = b->negate(phase); ! return make(in(Control), phase->transform(b2), in(IfTrue), in(IfFalse), _type); } } return NULL; }
*** 156,166 **** } //------------------------------make------------------------------------------- // Make a correctly-flavored CMove. Since _type is directly determined // from the inputs we do not need to specify it here. ! CMoveNode *CMoveNode::make( Compile *C, Node *c, Node *bol, Node *left, Node *right, const Type *t ) { switch( t->basic_type() ) { case T_INT: return new CMoveINode( bol, left, right, t->is_int() ); case T_FLOAT: return new CMoveFNode( bol, left, right, t ); case T_DOUBLE: return new CMoveDNode( bol, left, right, t ); case T_LONG: return new CMoveLNode( bol, left, right, t->is_long() ); --- 156,166 ---- } //------------------------------make------------------------------------------- // Make a correctly-flavored CMove. Since _type is directly determined // from the inputs we do not need to specify it here. ! CMoveNode *CMoveNode::make(Node *c, Node *bol, Node *left, Node *right, const Type *t) { switch( t->basic_type() ) { case T_INT: return new CMoveINode( bol, left, right, t->is_int() ); case T_FLOAT: return new CMoveFNode( bol, left, right, t ); case T_DOUBLE: return new CMoveDNode( bol, left, right, t ); case T_LONG: return new CMoveLNode( bol, left, right, t->is_long() );
*** 194,204 **** // 13-bit set-lo and conditionally move G0. See bug 4677505. if( phase->type(in(IfFalse)) == TypeInt::ZERO && !(phase->type(in(IfTrue)) == TypeInt::ZERO) ) { if( in(Condition)->is_Bool() ) { BoolNode* b = in(Condition)->as_Bool(); BoolNode* b2 = b->negate(phase); ! return make( phase->C, in(Control), phase->transform(b2), in(IfTrue), in(IfFalse), _type ); } } // Now check for booleans int flip = 0; --- 194,204 ---- // 13-bit set-lo and conditionally move G0. See bug 4677505. if( phase->type(in(IfFalse)) == TypeInt::ZERO && !(phase->type(in(IfTrue)) == TypeInt::ZERO) ) { if( in(Condition)->is_Bool() ) { BoolNode* b = in(Condition)->as_Bool(); BoolNode* b2 = b->negate(phase); ! return make(in(Control), phase->transform(b2), in(IfTrue), in(IfFalse), _type); } } // Now check for booleans int flip = 0;
src/share/vm/opto/movenode.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File