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

7029509: nightly failures after static fields in Class

Reviewed-by: kvn
上级 cc82bb5e
...@@ -3350,11 +3350,12 @@ void VM_RedefineClasses::increment_class_counter(instanceKlass *ik, TRAPS) { ...@@ -3350,11 +3350,12 @@ void VM_RedefineClasses::increment_class_counter(instanceKlass *ik, TRAPS) {
for (Klass *subk = ik->subklass(); subk != NULL; for (Klass *subk = ik->subklass(); subk != NULL;
subk = subk->next_sibling()) { subk = subk->next_sibling()) {
klassOop sub = subk->as_klassOop(); if (subk->oop_is_instance()) {
instanceKlass *subik = (instanceKlass *)sub->klass_part(); // Only update instanceKlasses
instanceKlass *subik = (instanceKlass*)subk;
// recursively do subclasses of the current subclass // recursively do subclasses of the current subclass
increment_class_counter(subik, THREAD); increment_class_counter(subik, THREAD);
}
} }
} }
......
...@@ -2955,7 +2955,7 @@ inline bool VM_HeapWalkOperation::iterate_over_class(klassOop k) { ...@@ -2955,7 +2955,7 @@ inline bool VM_HeapWalkOperation::iterate_over_class(klassOop k) {
} }
} else { } else {
if (is_reporting_primitive_fields()) { if (is_reporting_primitive_fields()) {
address addr = (address)k + field->field_offset(); address addr = (address)mirror + field->field_offset();
int slot = field->field_index(); int slot = field->field_index();
if (!CallbackInvoker::report_primitive_static_field(mirror, slot, addr, type)) { if (!CallbackInvoker::report_primitive_static_field(mirror, slot, addr, type)) {
delete field_map; delete field_map;
......
...@@ -832,7 +832,7 @@ void DumperSupport::dump_static_fields(DumpWriter* writer, klassOop k) { ...@@ -832,7 +832,7 @@ void DumperSupport::dump_static_fields(DumpWriter* writer, klassOop k) {
// value // value
int offset = fld.offset(); 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); 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.
先完成此消息的编辑!
想要评论请 注册