comparison src/share/vm/opto/library_call.cpp @ 17923:a062c3691003

8042052: assert(t != NULL) failed: must set before get Summary: Fixes a bug introduced by 8029302 Reviewed-by: kvn
author anoll
date Mon, 05 May 2014 15:10:43 +0200
parents 400709e275c1
children dbf0d88d867d
comparison
equal deleted inserted replaced
17922:400709e275c1 17923:a062c3691003
1723 #endif 1723 #endif
1724 1724
1725 result_region->init_req(2, control()); 1725 result_region->init_req(2, control());
1726 result_val->init_req(2, value); 1726 result_val->init_req(2, value);
1727 set_control(_gvn.transform(result_region)); 1727 set_control(_gvn.transform(result_region));
1728 return result_val; 1728 return _gvn.transform(result_val);
1729 } else { 1729 } else {
1730 return result; 1730 return result;
1731 } 1731 }
1732 } 1732 }
1733 } 1733 }
1918 result = finish_pow_exp(result, x, y, OptoRuntime::Math_DD_D_Type(), CAST_FROM_FN_PTR(address, SharedRuntime::dpow), "POW"); 1918 result = finish_pow_exp(result, x, y, OptoRuntime::Math_DD_D_Type(), CAST_FROM_FN_PTR(address, SharedRuntime::dpow), "POW");
1919 1919
1920 // control from finish_pow_exp is now input to the region node 1920 // control from finish_pow_exp is now input to the region node
1921 region_node->set_req(2, control()); 1921 region_node->set_req(2, control());
1922 // the result from finish_pow_exp is now input to the phi node 1922 // the result from finish_pow_exp is now input to the phi node
1923 phi_node->init_req(2, _gvn.transform(result)); 1923 phi_node->init_req(2, result);
1924 set_control(_gvn.transform(region_node)); 1924 set_control(_gvn.transform(region_node));
1925 record_for_igvn(region_node); 1925 record_for_igvn(region_node);
1926 set_result(_gvn.transform(phi_node)); 1926 set_result(_gvn.transform(phi_node));
1927 1927
1928 C->set_has_split_ifs(true); // Has chance for split-if optimization 1928 C->set_has_split_ifs(true); // Has chance for split-if optimization