remove comment, nullability for ref arrays

This commit is contained in:
Marc Chevalier 2026-07-16 10:47:52 +02:00
parent 05049b0bbd
commit 4531d8b201
2 changed files with 16 additions and 9 deletions

View File

@ -903,18 +903,23 @@ void StaticFieldPrinter::do_field_helper(fieldDescriptor* fd, oop mirror, bool i
FlatArrayKlass* klass = ((flatArrayOop)oa)->klass();
LayoutKind lk = klass->layout_kind();
_out->print(" flat");
if (LayoutKindHelper::is_atomic_flat(lk)) {
_out->print(" atomic");
} else {
_out->print(" non-atomic");
}
if (LayoutKindHelper::is_nullable_flat(lk)) {
_out->print(" nullable");
} else {
_out->print(" null-free");
}
if (LayoutKindHelper::is_atomic_flat(lk)) {
_out->print(" atomic");
} else {
_out->print(" non-atomic");
}
} else {
_out->print(" ref");
if (oa->klass()->is_null_free_array_klass()) {
_out->print(" nullable");
} else {
_out->print(" null-free");
}
}
const char* klass_name = value->klass()->name()->as_quoted_ascii();
_out->print(" %s", klass_name);

View File

@ -514,7 +514,6 @@ class CompileReplay : public StackObj {
return k;
}
obj = ciReplay::obj_field(obj, field);
// TODO 8350865 I think we need to handle null-free/flat arrays here
if (obj != nullptr && obj->is_objArray()) {
objArrayOop arr = oop_cast<objArrayOop>(obj);
int index = parse_int("index");
@ -1141,14 +1140,17 @@ class CompileReplay : public StackObj {
field_signature[1] == JVM_SIGNATURE_CLASS) {
const char* flatness = parse_string();
if (strcmp(flatness, "ref") == 0) {
const char* nullability = parse_string();
bool null_restricted = (strcmp(nullability, "null-free") == 0);
Klass* actual_array_klass = parse_klass(CHECK_(true));
Klass* kelem = ObjArrayKlass::cast(actual_array_klass)->element_klass();
value = oopFactory::new_refArray(kelem, length, CHECK_(true));
ArrayProperties props = ArrayProperties::Default().with_non_atomic(false).with_null_restricted(null_restricted);
value = oopFactory::new_refArray(kelem, length, props, CHECK_(true));
} else if (strcmp(flatness, "flat") == 0) {
const char* atomicity = parse_string();
const char* nullability = parse_string();
bool non_atomic = (strcmp(atomicity, "non-atomic") == 0);
const char* atomicity = parse_string();
bool null_restricted = (strcmp(nullability, "null-free") == 0);
bool non_atomic = (strcmp(atomicity, "non-atomic") == 0);
Klass* actual_array_klass = parse_klass(CHECK_(true));
Klass* kelem = ObjArrayKlass::cast(actual_array_klass)->element_klass();
ArrayProperties props = ArrayProperties::Default().with_non_atomic(non_atomic).with_null_restricted(null_restricted);