changeset 12258:d13e2c90fcef

Merge
author mgronlun
date Thu, 27 Oct 2016 12:18:36 +0200
parents 8cd9f7147af1 0b1e2f0e62b5
children 622d3fe587f2
files
diffstat 1 files changed, 9 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/opto/library_call.cpp	Thu Oct 27 11:41:53 2016 +0200
+++ b/src/share/vm/opto/library_call.cpp	Thu Oct 27 12:18:36 2016 +0200
@@ -3213,24 +3213,23 @@
   Node* test_jobj_eq_null  = _gvn.transform( new BoolNode(jobj_cmp_null, BoolTest::eq) );
 
   IfNode* iff_jobj_null =
-    create_and_map_if(control(), test_jobj_eq_null, PROB_NEVER, COUNT_UNKNOWN);
-
-   enum { _normal_path = 1,
-          _null_path = 2,
-          PATH_LIMIT };
+    create_and_map_if(control(), test_jobj_eq_null, PROB_MIN, COUNT_UNKNOWN);
+
+  enum { _normal_path = 1,
+         _null_path = 2,
+         PATH_LIMIT };
 
   RegionNode* result_rgn = new RegionNode(PATH_LIMIT);
   PhiNode*    result_val = new PhiNode(result_rgn, TypePtr::BOTTOM);
-  record_for_igvn(result_rgn);
-
-  Node* jobj_is_null = _gvn.transform( new IfTrueNode(iff_jobj_null) );
+
+  Node* jobj_is_null = _gvn.transform(new IfTrueNode(iff_jobj_null));
   result_rgn->init_req(_null_path, jobj_is_null);
   result_val->init_req(_null_path, null());
 
-  Node* jobj_is_not_null = _gvn.transform( new IfFalseNode(iff_jobj_null) );
+  Node* jobj_is_not_null = _gvn.transform(new IfFalseNode(iff_jobj_null));
   result_rgn->init_req(_normal_path, jobj_is_not_null);
 
-  Node* res = make_load(NULL, jobj, TypeInstPtr::BOTTOM, T_OBJECT, MemNode::unordered);
+  Node* res = make_load(jobj_is_not_null, jobj, TypeInstPtr::NOTNULL, T_OBJECT, MemNode::unordered);
   result_val->init_req(_normal_path, res);
 
   set_result(result_rgn, result_val);