src/share/vm/opto/movenode.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/movenode.cpp	Thu May 15 17:09:30 2014
--- new/src/share/vm/opto/movenode.cpp	Thu May 15 17:09:30 2014

*** 158,174 **** --- 158,174 ---- //------------------------------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 (C) CMoveINode( bol, left, right, t->is_int() ); - case T_FLOAT: return new (C) CMoveFNode( bol, left, right, t ); - case T_DOUBLE: return new (C) CMoveDNode( bol, left, right, t ); - case T_LONG: return new (C) CMoveLNode( bol, left, right, t->is_long() ); - case T_OBJECT: return new (C) CMovePNode( c, bol, left, right, t->is_oopptr() ); - case T_ADDRESS: return new (C) CMovePNode( c, bol, left, right, t->is_ptr() ); - case T_NARROWOOP: return new (C) CMoveNNode( c, bol, left, right, t ); default: ShouldNotReachHere(); return NULL; } }
*** 231,243 **** --- 231,243 ---- // Convert to a bool (flipped) // Build int->bool conversion #ifndef PRODUCT if( PrintOpto ) tty->print_cr("CMOV to I2B"); #endif - Node *n = new (phase->C) Conv2BNode( cmp->in(1) ); if( flip ) - n = new (phase->C) XorINode( phase->transform(n), phase->intcon(1) ); return n; } //=============================================================================
*** 287,299 **** --- 287,299 ---- // Allow only SubF(0,X) and fail out for all others; NegF is not OK if( sub->Opcode() != Op_SubF || sub->in(2) != X || phase->type(sub->in(1)) != TypeF::ZERO ) return NULL; - Node *abs = new (phase->C) AbsFNode( X ); if( flip ) - abs = new (phase->C) SubFNode(sub->in(1), phase->transform(abs)); return abs; } //=============================================================================
*** 343,355 **** --- 343,355 ---- // Allow only SubD(0,X) and fail out for all others; NegD is not OK if( sub->Opcode() != Op_SubD || sub->in(2) != X || phase->type(sub->in(1)) != TypeD::ZERO ) return NULL; - Node *abs = new (phase->C) AbsDNode( X ); if( flip ) - abs = new (phase->C) SubDNode(sub->in(1), phase->transform(abs)); return abs; } //------------------------------Value------------------------------------------

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