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
- Previous message: RFR: 8035746: Add missing Klass::oop_is_instanceClassLoader() function
- Next message: RFR: 8035746: Add missing Klass::oop_is_instanceClassLoader() function
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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:
- 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.
- 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
- Previous message: RFR: 8035746: Add missing Klass::oop_is_instanceClassLoader() function
- Next message: RFR: 8035746: Add missing Klass::oop_is_instanceClassLoader() function
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]