< prev index next >
src/share/vm/runtime/fieldDescriptor.cpp
Print this page
*** 197,207 ****
st->print(" ");
NOT_LP64(as_int = obj->int_field(offset()));
obj->obj_field(offset())->print_value_on(st);
break;
case T_VALUETYPE:
! {
// Resolve klass of flattened value type field
Thread* THREAD = Thread::current();
ResourceMark rm(THREAD);
SignatureStream ss(signature(), false);
Klass* k = ss.as_klass(Handle(THREAD, field_holder()->class_loader()),
--- 197,207 ----
st->print(" ");
NOT_LP64(as_int = obj->int_field(offset()));
obj->obj_field(offset())->print_value_on(st);
break;
case T_VALUETYPE:
! if (is_flatten()) {
// Resolve klass of flattened value type field
Thread* THREAD = Thread::current();
ResourceMark rm(THREAD);
SignatureStream ss(signature(), false);
Klass* k = ss.as_klass(Handle(THREAD, field_holder()->class_loader()),
*** 214,225 ****
// Print flattened fields of the value type field
st->print_cr("Flattened value type '%s':", vk->name()->as_C_string());
FieldPrinter print_field(st, obj);
vk->do_nonstatic_fields(&print_field);
return; // Do not print underlying representation
! break;
}
default:
ShouldNotReachHere();
break;
}
// Print a hint as to the underlying integer representation. This can be wrong for
--- 214,229 ----
// Print flattened fields of the value type field
st->print_cr("Flattened value type '%s':", vk->name()->as_C_string());
FieldPrinter print_field(st, obj);
vk->do_nonstatic_fields(&print_field);
return; // Do not print underlying representation
! } else {
! st->print(" ");
! NOT_LP64(as_int = obj->int_field(offset()));
! obj->obj_field(offset())->print_value_on(st);
}
+ break;
default:
ShouldNotReachHere();
break;
}
// Print a hint as to the underlying integer representation. This can be wrong for
< prev index next >