< prev index next >

src/hotspot/share/opto/type.cpp

Print this page

        

@@ -2033,17 +2033,12 @@
     // Use get_const_type here because it respects UseUniqueSubclasses:
     if (vt_fields_for_recv) {
       ciValueKlass* vk = (ciValueKlass*)recv;
       collect_value_fields(vk, field_array, pos);
     } else {
-      if (recv->is_valuetype()) {
-        // TODO For now, we just deoptimize if the value type receiver is null
-        field_array[pos++] = get_const_type(recv);
-      } else {
         field_array[pos++] = get_const_type(recv)->join_speculative(TypePtr::NOTNULL);
       }
-    }
   } else {
     field_array = fields(arg_cnt + vt_extra);
   }
 
   int i = 0;

@@ -2076,13 +2071,11 @@
       if (vt_fields_as_args) {
         ciValueKlass* vk = (ciValueKlass*)type;
         collect_value_fields(vk, field_array, pos);
       } else {
         // Value types arguments cannot be NULL
-        // field_array[pos++] = get_const_type(type)->join_speculative(TypePtr::NOTNULL);
-        // TODO they can be NULL in LWorld
-        field_array[pos++] = get_const_type(type);
+        field_array[pos++] = get_const_type(type)->join_speculative(TypePtr::NOTNULL);
       }
       break;
     }
     default:
       ShouldNotReachHere();
< prev index next >