--- old/src/hotspot/share/ci/ciInstance.cpp 2019-03-11 14:25:21.370355775 +0100 +++ new/src/hotspot/share/ci/ciInstance.cpp 2019-03-11 14:25:21.158355777 +0100 @@ -70,6 +70,7 @@ case T_FLOAT: return ciConstant(obj->float_field(offset)); case T_DOUBLE: return ciConstant(obj->double_field(offset)); case T_LONG: return ciConstant(obj->long_field(offset)); + case T_VALUETYPE: // fall through case T_OBJECT: // fall through case T_ARRAY: { oop o = obj->obj_field(offset); @@ -100,7 +101,8 @@ ciConstant ciInstance::field_value(ciField* field) { assert(is_loaded(), "invalid access - must be loaded"); assert(field->holder()->is_loaded(), "invalid access - holder must be loaded"); - assert(field->is_static() || klass()->is_subclass_of(field->holder()), "invalid access - must be subclass"); + assert(field->is_static() || field->holder()->is_valuetype() || klass()->is_subclass_of(field->holder()), + "invalid access - must be subclass"); GUARDED_VM_ENTRY(return field_value_impl(field->type()->basic_type(), field->offset());) }