< prev index next >

src/hotspot/share/opto/parse1.cpp

Print this page

        

@@ -611,21 +611,11 @@
   for (uint i = 0; i < (uint)arg_size_sig; i++) {
     Node* parm = map()->in(i);
     const Type* t = _gvn.type(parm);
     if (t->is_valuetypeptr()) {
       // Create ValueTypeNode from the oop and replace the parameter
-      Node* null_ctl = top();
-      Node* not_null_obj = null_check_common(parm, T_VALUETYPE, false, &null_ctl, false);
-      if (null_ctl != top()) {
-        // TODO For now, we just deoptimize if value type is NULL
-        PreserveJVMState pjvms(this);
-        set_control(null_ctl);
-        replace_in_map(parm, null());
-        uncommon_trap(Deoptimization::Reason_null_check, Deoptimization::Action_none);
-      }
-      // Value type oop may point to the TLVB
-      Node* vt = ValueTypeNode::make_from_oop(this, not_null_obj, t->value_klass(), /* null_check */ false, /* buffer_check */ true);
+      Node* vt = ValueTypeNode::make_from_oop(this, parm, t->value_klass(), /* null_check */ false, /* buffer_check */ true);
       map()->replace_edge(parm, vt);
     }
   }
 
   entry_map = map();  // capture any changes performed by method setup code
< prev index next >