< prev index next >

src/hotspot/share/opto/type.cpp

Print this page

        

*** 2033,2049 **** // 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; --- 2033,2044 ----
*** 2076,2088 **** 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); } break; } default: ShouldNotReachHere(); --- 2071,2081 ---- 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); } break; } default: ShouldNotReachHere();
< prev index next >