We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent a97dca5 commit bf0debcCopy full SHA for bf0debc
src/hotspot/share/cds/runTimeClassInfo.cpp
@@ -76,10 +76,13 @@ void RunTimeClassInfo::init(DumpTimeClassInfo& info) {
76
}
77
78
InstanceKlass* RunTimeClassInfo::klass() const {
79
- if (ArchiveBuilder::is_active() && ArchiveBuilder::current()->is_in_buffer_space((address)this)) {
80
- return ArchiveBuilder::current()->offset_to_buffered<InstanceKlass*>(_klass_offset);
81
- } else {
+ if (MetaspaceShared::is_in_shared_metaspace(this)) {
+ // <this> is inside a mmaped CDS archive.
82
return ArchiveUtils::offset_to_archived_address<InstanceKlass*>(_klass_offset);
+ } else {
83
+ // <this> is a temporary copy of a RunTimeClassInfo that's being initialized
84
+ // by the ArchiveBuilder.
85
+ return ArchiveBuilder::current()->offset_to_buffered<InstanceKlass*>(_klass_offset);
86
87
88
0 commit comments