comparison src/share/vm/classfile/javaClasses.hpp @ 20415:47e3110c47e8

6642881: Improve performance of Class.getClassLoader() Summary: Add classLoader to java/lang/Class instance for fast access Reviewed-by: alanb, lfoltan, rriggs, vlivanov, twisti, jfranck
author coleenp
date Fri, 05 Sep 2014 16:01:29 -0400
parents 27188ae8bbbb
children fe34c5ab0b35
comparison
equal deleted inserted replaced
20407:9be4ca335650 20415:47e3110c47e8
237 static int _static_oop_field_count_offset; 237 static int _static_oop_field_count_offset;
238 238
239 static int _protection_domain_offset; 239 static int _protection_domain_offset;
240 static int _init_lock_offset; 240 static int _init_lock_offset;
241 static int _signers_offset; 241 static int _signers_offset;
242 static int _class_loader_offset;
242 243
243 static bool offsets_computed; 244 static bool offsets_computed;
244 static int classRedefinedCount_offset; 245 static int classRedefinedCount_offset;
246
245 static GrowableArray<Klass*>* _fixup_mirror_list; 247 static GrowableArray<Klass*>* _fixup_mirror_list;
246 248
247 static void set_init_lock(oop java_class, oop init_lock); 249 static void set_init_lock(oop java_class, oop init_lock);
248 static void set_protection_domain(oop java_class, oop protection_domain); 250 static void set_protection_domain(oop java_class, oop protection_domain);
251 static void set_class_loader(oop java_class, oop class_loader);
249 static void initialize_mirror_fields(KlassHandle k, Handle mirror, Handle protection_domain, TRAPS); 252 static void initialize_mirror_fields(KlassHandle k, Handle mirror, Handle protection_domain, TRAPS);
250 public: 253 public:
251 static void compute_offsets(); 254 static void compute_offsets();
252 255
253 // Instance creation 256 // Instance creation
254 static void create_mirror(KlassHandle k, Handle protection_domain, TRAPS); 257 static void create_mirror(KlassHandle k, Handle class_loader,
258 Handle protection_domain, TRAPS);
255 static void fixup_mirror(KlassHandle k, TRAPS); 259 static void fixup_mirror(KlassHandle k, TRAPS);
256 static oop create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS); 260 static oop create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS);
257 // Conversion 261 // Conversion
258 static Klass* as_Klass(oop java_class); 262 static Klass* as_Klass(oop java_class);
259 static void set_klass(oop java_class, Klass* klass); 263 static void set_klass(oop java_class, Klass* klass);
286 // Support for embedded per-class oops 290 // Support for embedded per-class oops
287 static oop protection_domain(oop java_class); 291 static oop protection_domain(oop java_class);
288 static oop init_lock(oop java_class); 292 static oop init_lock(oop java_class);
289 static objArrayOop signers(oop java_class); 293 static objArrayOop signers(oop java_class);
290 static void set_signers(oop java_class, objArrayOop signers); 294 static void set_signers(oop java_class, objArrayOop signers);
295
296 static oop class_loader(oop java_class);
291 297
292 static int oop_size(oop java_class); 298 static int oop_size(oop java_class);
293 static void set_oop_size(oop java_class, int size); 299 static void set_oop_size(oop java_class, int size);
294 static int static_oop_field_count(oop java_class); 300 static int static_oop_field_count(oop java_class);
295 static void set_static_oop_field_count(oop java_class, int size); 301 static void set_static_oop_field_count(oop java_class, int size);