< prev index next >
src/share/vm/runtime/deoptimization.cpp
Print this page
*** 959,969 ****
field._offset = fs.offset();
field._type = FieldType::basic_type(fs.signature());
if (field._type == T_VALUETYPE) {
// Resolve klass of flattened value type field
SignatureStream ss(fs.signature(), false);
! Klass* vk = ss.as_klass(Handle(klass->class_loader()), Handle(klass->protection_domain()), SignatureStream::NCDFError, CHECK_0);
assert(vk->is_value(), "must be a ValueKlass");
field._klass = InstanceKlass::cast(vk);
}
fields->append(field);
}
--- 959,970 ----
field._offset = fs.offset();
field._type = FieldType::basic_type(fs.signature());
if (field._type == T_VALUETYPE) {
// Resolve klass of flattened value type field
SignatureStream ss(fs.signature(), false);
! Klass* vk = ss.as_klass(Handle(klass->class_loader()), Handle(klass->protection_domain()), SignatureStream::NCDFError, THREAD);
! guarantee(!HAS_PENDING_EXCEPTION, "Should not have any exceptions pending");
assert(vk->is_value(), "must be a ValueKlass");
field._klass = InstanceKlass::cast(vk);
}
fields->append(field);
}
< prev index next >