< prev index next >

src/hotspot/share/classfile/javaClasses.hpp

Print this page
rev 52849 : [mq]: q-mirror-reflection


 223 
 224 class java_lang_Class : AllStatic {
 225   friend class VMStructs;
 226   friend class JVMCIVMStructs;
 227 
 228  private:
 229   // The fake offsets are added by the class loader when java.lang.Class is loaded
 230 
 231   static int _klass_offset;
 232   static int _array_klass_offset;
 233 
 234   static int _oop_size_offset;
 235   static int _static_oop_field_count_offset;
 236 
 237   static int _protection_domain_offset;
 238   static int _init_lock_offset;
 239   static int _signers_offset;
 240   static int _class_loader_offset;
 241   static int _module_offset;
 242   static int _component_mirror_offset;


 243 
 244   static bool offsets_computed;
 245   static int classRedefinedCount_offset;
 246 
 247   static GrowableArray<Klass*>* _fixup_mirror_list;
 248   static GrowableArray<Klass*>* _fixup_module_field_list;
 249 
 250   static void set_init_lock(oop java_class, oop init_lock);
 251   static void set_protection_domain(oop java_class, oop protection_domain);
 252   static void set_class_loader(oop java_class, oop class_loader);
 253   static void set_component_mirror(oop java_class, oop comp_mirror);
 254   static void initialize_mirror_fields(Klass* k, Handle mirror, Handle protection_domain, TRAPS);
 255   static void set_mirror_module_field(Klass* K, Handle mirror, Handle module, TRAPS);
 256  public:
 257   static void allocate_fixup_lists();
 258   static void compute_offsets();
 259 
 260   // Instance creation
 261   static void create_mirror(Klass* k, Handle class_loader, Handle module,
 262                             Handle protection_domain, TRAPS);
 263   static void fixup_mirror(Klass* k, TRAPS);
 264   static oop  create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS);

 265 
 266   // Archiving
 267   static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
 268   static void archive_basic_type_mirrors(TRAPS) NOT_CDS_JAVA_HEAP_RETURN;
 269   static oop  archive_mirror(Klass* k, TRAPS) NOT_CDS_JAVA_HEAP_RETURN_(NULL);
 270   static oop  process_archived_mirror(Klass* k, oop mirror, oop archived_mirror, Thread *THREAD)
 271                                       NOT_CDS_JAVA_HEAP_RETURN_(NULL);
 272   static bool restore_archived_mirror(Klass *k, Handle class_loader, Handle module,
 273                                       Handle protection_domain,
 274                                       TRAPS) NOT_CDS_JAVA_HEAP_RETURN_(false);
 275 
 276   static void fixup_module_field(Klass* k, Handle module);
 277 
 278   // Conversion
 279   static Klass* as_Klass(oop java_class);
 280   static Klass* as_Klass_raw(oop java_class);
 281   static void set_klass(oop java_class, Klass* klass);
 282   static BasicType as_BasicType(oop java_class, Klass** reference_klass = NULL);
 283   static Symbol* as_signature(oop java_class, bool intern_if_not_found, TRAPS);
 284   static void print_signature(oop java_class, outputStream *st);


 293   static Klass* array_klass_acquire(oop java_class);
 294   static void release_set_array_klass(oop java_class, Klass* klass);
 295   // compiler support for class operations
 296   static int klass_offset_in_bytes()                { return _klass_offset; }
 297   static int array_klass_offset_in_bytes()          { return _array_klass_offset; }
 298   // Support for classRedefinedCount field
 299   static int classRedefinedCount(oop the_class_mirror);
 300   static void set_classRedefinedCount(oop the_class_mirror, int value);
 301 
 302   // Support for embedded per-class oops
 303   static oop  protection_domain(oop java_class);
 304   static oop  init_lock(oop java_class);
 305   static oop  component_mirror(oop java_class);
 306   static objArrayOop  signers(oop java_class);
 307   static void set_signers(oop java_class, objArrayOop signers);
 308 
 309   static oop class_loader(oop java_class);
 310   static void set_module(oop java_class, oop module);
 311   static oop module(oop java_class);
 312 





 313   static int oop_size(oop java_class);
 314   static int oop_size_raw(oop java_class);
 315   static void set_oop_size(HeapWord* java_class, int size);
 316   static int static_oop_field_count(oop java_class);
 317   static int static_oop_field_count_raw(oop java_class);
 318   static void set_static_oop_field_count(oop java_class, int size);
 319 
 320   static GrowableArray<Klass*>* fixup_mirror_list() {
 321     return _fixup_mirror_list;
 322   }
 323   static void set_fixup_mirror_list(GrowableArray<Klass*>* v) {
 324     _fixup_mirror_list = v;
 325   }
 326 
 327   static GrowableArray<Klass*>* fixup_module_field_list() {
 328     return _fixup_module_field_list;
 329   }
 330   static void set_fixup_module_field_list(GrowableArray<Klass*>* v) {
 331     _fixup_module_field_list = v;
 332   }




 223 
 224 class java_lang_Class : AllStatic {
 225   friend class VMStructs;
 226   friend class JVMCIVMStructs;
 227 
 228  private:
 229   // The fake offsets are added by the class loader when java.lang.Class is loaded
 230 
 231   static int _klass_offset;
 232   static int _array_klass_offset;
 233 
 234   static int _oop_size_offset;
 235   static int _static_oop_field_count_offset;
 236 
 237   static int _protection_domain_offset;
 238   static int _init_lock_offset;
 239   static int _signers_offset;
 240   static int _class_loader_offset;
 241   static int _module_offset;
 242   static int _component_mirror_offset;
 243   static int _box_mirror_offset;
 244   static int _value_mirror_offset;
 245 
 246   static bool offsets_computed;
 247   static int classRedefinedCount_offset;
 248 
 249   static GrowableArray<Klass*>* _fixup_mirror_list;
 250   static GrowableArray<Klass*>* _fixup_module_field_list;
 251 
 252   static void set_init_lock(oop java_class, oop init_lock);
 253   static void set_protection_domain(oop java_class, oop protection_domain);
 254   static void set_class_loader(oop java_class, oop class_loader);
 255   static void set_component_mirror(oop java_class, oop comp_mirror);
 256   static void initialize_mirror_fields(Klass* k, Handle mirror, Handle protection_domain, TRAPS);
 257   static void set_mirror_module_field(Klass* K, Handle mirror, Handle module, TRAPS);
 258  public:
 259   static void allocate_fixup_lists();
 260   static void compute_offsets();
 261 
 262   // Instance creation
 263   static void create_mirror(Klass* k, Handle class_loader, Handle module,
 264                             Handle protection_domain, TRAPS);
 265   static void fixup_mirror(Klass* k, TRAPS);
 266   static oop  create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS);
 267   static oop  create_value_mirror(Klass* k, Handle mirror, TRAPS);
 268 
 269   // Archiving
 270   static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
 271   static void archive_basic_type_mirrors(TRAPS) NOT_CDS_JAVA_HEAP_RETURN;
 272   static oop  archive_mirror(Klass* k, TRAPS) NOT_CDS_JAVA_HEAP_RETURN_(NULL);
 273   static oop  process_archived_mirror(Klass* k, oop mirror, oop archived_mirror, Thread *THREAD)
 274                                       NOT_CDS_JAVA_HEAP_RETURN_(NULL);
 275   static bool restore_archived_mirror(Klass *k, Handle class_loader, Handle module,
 276                                       Handle protection_domain,
 277                                       TRAPS) NOT_CDS_JAVA_HEAP_RETURN_(false);
 278 
 279   static void fixup_module_field(Klass* k, Handle module);
 280 
 281   // Conversion
 282   static Klass* as_Klass(oop java_class);
 283   static Klass* as_Klass_raw(oop java_class);
 284   static void set_klass(oop java_class, Klass* klass);
 285   static BasicType as_BasicType(oop java_class, Klass** reference_klass = NULL);
 286   static Symbol* as_signature(oop java_class, bool intern_if_not_found, TRAPS);
 287   static void print_signature(oop java_class, outputStream *st);


 296   static Klass* array_klass_acquire(oop java_class);
 297   static void release_set_array_klass(oop java_class, Klass* klass);
 298   // compiler support for class operations
 299   static int klass_offset_in_bytes()                { return _klass_offset; }
 300   static int array_klass_offset_in_bytes()          { return _array_klass_offset; }
 301   // Support for classRedefinedCount field
 302   static int classRedefinedCount(oop the_class_mirror);
 303   static void set_classRedefinedCount(oop the_class_mirror, int value);
 304 
 305   // Support for embedded per-class oops
 306   static oop  protection_domain(oop java_class);
 307   static oop  init_lock(oop java_class);
 308   static oop  component_mirror(oop java_class);
 309   static objArrayOop  signers(oop java_class);
 310   static void set_signers(oop java_class, objArrayOop signers);
 311 
 312   static oop class_loader(oop java_class);
 313   static void set_module(oop java_class, oop module);
 314   static oop module(oop java_class);
 315 
 316   static void set_box_mirror(oop java_class, oop mirror);
 317   static oop box_mirror(oop java_class);
 318   static void set_value_mirror(oop java_class, oop mirror);
 319   static oop value_mirror(oop java_class);
 320 
 321   static int oop_size(oop java_class);
 322   static int oop_size_raw(oop java_class);
 323   static void set_oop_size(HeapWord* java_class, int size);
 324   static int static_oop_field_count(oop java_class);
 325   static int static_oop_field_count_raw(oop java_class);
 326   static void set_static_oop_field_count(oop java_class, int size);
 327 
 328   static GrowableArray<Klass*>* fixup_mirror_list() {
 329     return _fixup_mirror_list;
 330   }
 331   static void set_fixup_mirror_list(GrowableArray<Klass*>* v) {
 332     _fixup_mirror_list = v;
 333   }
 334 
 335   static GrowableArray<Klass*>* fixup_module_field_list() {
 336     return _fixup_module_field_list;
 337   }
 338   static void set_fixup_module_field_list(GrowableArray<Klass*>* v) {
 339     _fixup_module_field_list = v;
 340   }


< prev index next >