mirror of
https://github.com/openjdk/jdk.git
synced 2026-05-12 22:50:08 +00:00
8350649: Class unloading accesses/resurrects dead Java mirror after JDK-8346567
Reviewed-by: coleenp, egahlin
This commit is contained in:
parent
9477c705c0
commit
ec6624b54e
@ -347,7 +347,7 @@ static void do_write_klass(JfrCheckpointWriter* writer, CldPtr cld, KlassPtr kla
|
||||
writer->write(cld != nullptr ? cld_id(cld, leakp) : 0);
|
||||
writer->write(mark_symbol(klass, leakp));
|
||||
writer->write(package_id(klass, leakp));
|
||||
writer->write(klass->modifier_flags());
|
||||
writer->write(klass->compute_modifier_flags());
|
||||
writer->write<bool>(klass->is_hidden());
|
||||
if (leakp) {
|
||||
assert(IS_LEAKP(klass), "invariant");
|
||||
|
||||
@ -749,9 +749,14 @@ public:
|
||||
virtual void release_C_heap_structures(bool release_constant_pool = true);
|
||||
|
||||
public:
|
||||
virtual u2 compute_modifier_flags() const = 0;
|
||||
// Get modifier flags from Java mirror cache.
|
||||
int modifier_flags() const;
|
||||
|
||||
// Compute modifier flags from the original data. This also allows
|
||||
// accessing flags when Java mirror is already dead, e.g. during class
|
||||
// unloading.
|
||||
virtual u2 compute_modifier_flags() const = 0;
|
||||
|
||||
// JVMTI support
|
||||
virtual jint jvmti_class_status() const;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user