src/share/vm/opto/library_call.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/library_call.cpp	Mon Aug  4 14:31:49 2014
--- new/src/share/vm/opto/library_call.cpp	Mon Aug  4 14:31:49 2014

*** 1903,1913 **** --- 1903,1913 ---- Node* yplus1 = _gvn.transform(new AddDNode(y, makecon(TypeD::make(1)))); Node *cmpyplus1= _gvn.transform(new CmpDNode(yplus1, y)); Node *bolyplus1 = _gvn.transform(new BoolNode( cmpyplus1, BoolTest::eq )); Node* correctedsign = NULL; if (ConditionalMoveLimit != 0) { ! correctedsign = _gvn.transform( CMoveNode::make(C, NULL, bolyplus1, signnode, longcon(0), TypeLong::LONG)); } else { IfNode *ifyplus1 = create_and_xform_if(ylong_path,bolyplus1, PROB_FAIR, COUNT_UNKNOWN); RegionNode *r = new RegionNode(3); Node *phi = new PhiNode(r, TypeLong::LONG); r->init_req(1, _gvn.transform(new IfFalseNode(ifyplus1)));
*** 1932,1942 **** --- 1932,1942 ---- // -abs(x)^y Node *negabsxpowy = _gvn.transform(new NegDNode (absxpowy)); // (1&(long)y)==1?-DPow(abs(x), y):DPow(abs(x), y) Node *signresult = NULL; if (ConditionalMoveLimit != 0) { ! signresult = _gvn.transform( CMoveNode::make(C, NULL, bol3, absxpowy, negabsxpowy, Type::DOUBLE)); } else { IfNode *ifyeven = create_and_xform_if(ylong_path,bol3, PROB_FAIR, COUNT_UNKNOWN); RegionNode *r = new RegionNode(3); Node *phi = new PhiNode(r, Type::DOUBLE); r->init_req(1, _gvn.transform(new IfFalseNode(ifyeven)));
*** 2266,2276 **** --- 2266,2276 ---- // Use a flow-free graph structure, to avoid creating excess control edges // which could hinder other optimizations. // Since Math.min/max is often used with arraycopy, we want // tightly_coupled_allocation to be able to see beyond min/max expressions. - Node* cmov = CMoveNode::make(C, NULL, best_bol, answer_if_false, answer_if_true, TypeInt::make(lo, hi, widen)); return _gvn.transform(cmov);

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