hotspot/src/share/vm/opto/library_call.cpp
changeset 24344 9cd6465ec36c
parent 24314 b66e3734cb3f
child 24456 8c7933fa5a1f
equal deleted inserted replaced
24343:c562519603d1 24344:9cd6465ec36c
  1731 #endif
  1731 #endif
  1732 
  1732 
  1733       result_region->init_req(2, control());
  1733       result_region->init_req(2, control());
  1734       result_val->init_req(2, value);
  1734       result_val->init_req(2, value);
  1735       set_control(_gvn.transform(result_region));
  1735       set_control(_gvn.transform(result_region));
  1736       return result_val;
  1736       return _gvn.transform(result_val);
  1737     } else {
  1737     } else {
  1738       return result;
  1738       return result;
  1739     }
  1739     }
  1740   }
  1740   }
  1741 }
  1741 }
  1926   result = finish_pow_exp(result, x, y, OptoRuntime::Math_DD_D_Type(), CAST_FROM_FN_PTR(address, SharedRuntime::dpow), "POW");
  1926   result = finish_pow_exp(result, x, y, OptoRuntime::Math_DD_D_Type(), CAST_FROM_FN_PTR(address, SharedRuntime::dpow), "POW");
  1927 
  1927 
  1928   // control from finish_pow_exp is now input to the region node
  1928   // control from finish_pow_exp is now input to the region node
  1929   region_node->set_req(2, control());
  1929   region_node->set_req(2, control());
  1930   // the result from finish_pow_exp is now input to the phi node
  1930   // the result from finish_pow_exp is now input to the phi node
  1931   phi_node->init_req(2, _gvn.transform(result));
  1931   phi_node->init_req(2, result);
  1932   set_control(_gvn.transform(region_node));
  1932   set_control(_gvn.transform(region_node));
  1933   record_for_igvn(region_node);
  1933   record_for_igvn(region_node);
  1934   set_result(_gvn.transform(phi_node));
  1934   set_result(_gvn.transform(phi_node));
  1935 
  1935 
  1936   C->set_has_split_ifs(true); // Has chance for split-if optimization
  1936   C->set_has_split_ifs(true); // Has chance for split-if optimization