提交 86905dda 编写于 作者: N never

7029509: nightly failures after static fields in Class

Reviewed-by: kvn
上级 cc82bb5e
......@@ -3350,12 +3350,13 @@ 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();
if (subk->oop_is_instance()) {
// Only update instanceKlasses
instanceKlass *subik = (instanceKlass*)subk;
// recursively do subclasses of the current subclass
increment_class_counter(subik, THREAD);
}
}
}
#ifndef PRODUCT
......
......@@ -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);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册