7029509: nightly failures after static fields in Class
Reviewed-by: kvn
This commit is contained in:
parent
6e8a263a06
commit
31ac558f3d
@ -3350,11 +3350,12 @@ void VM_RedefineClasses::increment_class_counter(instanceKlass *ik, TRAPS) {
|
||||
|
||||
for (Klass *subk = ik->subklass(); subk != NULL;
|
||||
subk = subk->next_sibling()) {
|
||||
klassOop sub = subk->as_klassOop();
|
||||
instanceKlass *subik = (instanceKlass *)sub->klass_part();
|
||||
|
||||
// recursively do subclasses of the current subclass
|
||||
increment_class_counter(subik, THREAD);
|
||||
if (subk->oop_is_instance()) {
|
||||
// Only update instanceKlasses
|
||||
instanceKlass *subik = (instanceKlass*)subk;
|
||||
// recursively do subclasses of the current subclass
|
||||
increment_class_counter(subik, THREAD);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2955,7 +2955,7 @@ inline bool VM_HeapWalkOperation::iterate_over_class(klassOop k) {
|
||||
}
|
||||
} else {
|
||||
if (is_reporting_primitive_fields()) {
|
||||
address addr = (address)k + field->field_offset();
|
||||
address addr = (address)mirror + field->field_offset();
|
||||
int slot = field->field_index();
|
||||
if (!CallbackInvoker::report_primitive_static_field(mirror, slot, addr, type)) {
|
||||
delete field_map;
|
||||
|
@ -832,7 +832,7 @@ void DumperSupport::dump_static_fields(DumpWriter* writer, klassOop k) {
|
||||
|
||||
// value
|
||||
int offset = fld.offset();
|
||||
address addr = (address)k + offset;
|
||||
address addr = (address)ikh->java_mirror() + offset;
|
||||
|
||||
dump_field_value(writer, sig->byte_at(0), addr);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user