RFR: 8035746: Add missing Klass::oop_is_instanceClassLoader() function (original) (raw)

Stefan Karlsson stefan.karlsson at oracle.com
Wed Feb 26 12:32:07 PST 2014


On 2014-02-26 20:38, Coleen Phillimore wrote:

On 2/25/2014 12:50 PM, Stefan Karlsson wrote:

On 2014-02-25 15:15, Mikael Gerdin wrote:

Hi Stefan,

On Tuesday 25 February 2014 14.43.49 Stefan Karlsson wrote: Hi all,

Please, review this small patch to add Klass::oopisinstanceClassLoader(). Webrev: http://cr.openjdk.java.net/~stefank/8035746/webrev.00 Code change looks good. Thanks. There are a couple of places where we check whether or not a Klass is a ClassLoader, something like: if (klass->issubclassof(SystemDictionary::ClassLoaderklass())) These places could now be changed to klass->oopisClassLoader(), saving a possibly expensive subtype check. Should we file an RFE to change these or do you want to change them straight away? I'd prefer a separate RFE. This change looks good.

Thanks.

I assume this is actually for G1 class unloading.

Yes.

Too bad though I wish you'd change it all in one pass.

I just wanted to bring over this small change from the G1 Class Unloading repository and not have to argue whether changing the usages is_subclass_of to oop_is_instanceClassLoader was worth it or not.

I did a quick search for this and found these three usages:

  1. src//share/vm/classfile/javaClasses.hpp- static bool is_subclass(Klass* klass) { src//share/vm/classfile/javaClasses.hpp: return klass->is_subclass_of(SystemDictionary::ClassLoader_klass()); src//share/vm/classfile/javaClasses.hpp- }

which is unused, AFAICT.

  1. src//share/vm/prims/jvm.cpp: if (!vfst.method()->method_holder()->is_subclass_of(SystemDictionary::ClassLoader_klass())&& src//share/vm/prims/jvm.cpp- !vfst.method()->method_holder()->is_subclass_of(access_controller_klass) && src//share/vm/prims/jvm.cpp- !vfst.method()->method_holder()->is_subclass_of(privileged_action_klass)) {

I don't think this helps the readability of the code if we change it. I don't know if this is performance critical.

thanks, StefanK

Thanks, Coleen

thanks, StefanK

/Mikael RFE: https://bugs.openjdk.java.net/browse/JDK-8035746 thanks, StefanK



More information about the hotspot-dev mailing list