< prev index next > src/hotspot/share/oops/klass.hpp
Access_GetLoadedClasses
}
}
// java mirror
oop java_mirror() const;
+ // Load the java_mirror as a phantom. This is useful when a weak Klass
+ // pointer has been "peeked" and then must be kept alive before it may
+ // be used safely. The Klass will be kept alive and not be unloaded due
+ // to concurrent marking.
+ virtual oop java_mirror_phantom();
void set_java_mirror(Handle m);
// Temporary mirror switch used by RedefineClasses
// Both mirrors are on the ClassLoaderData::_handles list already so no
// barriers are needed.
virtual oop protection_domain() const = 0;
oop class_loader() const;
virtual oop klass_holder() const { return class_loader(); }
+ // Load the klass_holder as a phantom. This is useful when a weak Klass
+ // pointer has been "peeked" and then must be kept alive before it may
+ // be used safely. The Klass will be kept alive and not be unloaded due
+ // to concurrent marking.
+ virtual oop klass_holder_phantom();
protected:
virtual Klass* array_klass_impl(bool or_null, int rank, TRAPS);
virtual Klass* array_klass_impl(bool or_null, TRAPS);
< prev index next >