< prev index next >

src/hotspot/share/classfile/javaClasses.hpp

Print this page




 229   friend class VMStructs;
 230   friend class JVMCIVMStructs;
 231 
 232  private:
 233   // The fake offsets are added by the class loader when java.lang.Class is loaded
 234 
 235   static int _klass_offset;
 236   static int _array_klass_offset;
 237 
 238   static int _oop_size_offset;
 239   static int _static_oop_field_count_offset;
 240 
 241   static int _protection_domain_offset;
 242   static int _init_lock_offset;
 243   static int _signers_offset;
 244   static int _class_loader_offset;
 245   static int _module_offset;
 246   static int _component_mirror_offset;
 247   static int _name_offset;
 248   static int _source_file_offset;


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

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


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





 318 
 319   static oop name(Handle java_class, TRAPS);
 320 
 321   static oop source_file(oop java_class);
 322   static void set_source_file(oop java_class, oop source_file);
 323 
 324   static int oop_size(oop java_class);
 325   static int oop_size_raw(oop java_class);
 326   static void set_oop_size(HeapWord* java_class, int size);
 327   static int static_oop_field_count(oop java_class);
 328   static int static_oop_field_count_raw(oop java_class);
 329   static void set_static_oop_field_count(oop java_class, int size);
 330 
 331   static GrowableArray<Klass*>* fixup_mirror_list() {
 332     return _fixup_mirror_list;
 333   }
 334   static void set_fixup_mirror_list(GrowableArray<Klass*>* v) {
 335     _fixup_mirror_list = v;
 336   }
 337 




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


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


< prev index next >