< prev index next >
src/hotspot/share/runtime/signature.cpp
Print this page
rev 55127 : 8223351: [lworld] Primary mirror and nullable mirror for inline type
Reviewed-by: tbd
@@ -414,11 +414,17 @@
FailureMode failure_mode, TRAPS) {
if (!is_object())
return Universe::java_mirror(type());
Klass* klass = as_klass(class_loader, protection_domain, failure_mode, CHECK_NULL);
if (klass == NULL) return NULL;
- return _type == T_VALUETYPE ? ValueKlass::cast(InstanceKlass::cast(klass))->value_mirror() : klass->java_mirror();
+ if (klass->is_value()) {
+ ValueKlass* vk = ValueKlass::cast(InstanceKlass::cast(klass));
+ return _type == T_VALUETYPE ? vk->value_mirror() : vk->nullable_mirror();
+ } else {
+ assert(_type != T_VALUETYPE, "must not be value type");
+ return klass->java_mirror();
+ }
}
Symbol* SignatureStream::as_symbol_or_null() {
// Create a symbol from for string _begin _end
ResourceMark rm;
< prev index next >