< prev index next >

src/hotspot/share/classfile/javaClasses.hpp

Print this page
*** 228,10 ***
--- 228,13 ---
    static int _protection_domain_offset;
    static int _signers_offset;
    static int _class_loader_offset;
    static int _module_offset;
    static int _component_mirror_offset;
+   static int _primary_mirror_offset;
+   static int _secondary_mirror_offset;
+ 
    static int _name_offset;
    static int _source_file_offset;
    static int _classData_offset;
    static int _classRedefinedCount_offset;
  

*** 241,10 ***
--- 244,13 ---
    static GrowableArray<Klass*>* _fixup_module_field_list;
  
    static void set_protection_domain(oop java_class, oop protection_domain);
    static void set_class_loader(oop java_class, oop class_loader);
    static void set_component_mirror(oop java_class, oop comp_mirror);
+   static void set_primary_mirror(oop java_class, oop comp_mirror);
+   static void set_secondary_mirror(oop java_class, oop comp_mirror);
+ 
    static void initialize_mirror_fields(Klass* k, Handle mirror, Handle protection_domain,
                                         Handle classData, TRAPS);
    static void set_mirror_module_field(JavaThread* current, Klass* K, Handle mirror, Handle module);
   public:
    static void allocate_fixup_lists();

*** 255,10 ***
--- 261,11 ---
                                Handle& mirror, Handle& comp_mirror, TRAPS); // returns mirror and comp_mirror
    static void create_mirror(Klass* k, Handle class_loader, Handle module,
                              Handle protection_domain, Handle classData, TRAPS);
    static void fixup_mirror(Klass* k, TRAPS);
    static oop  create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS);
+   static oop  create_secondary_mirror(Klass* k, Handle mirror, TRAPS);
  
    // Archiving
    static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
    static void create_scratch_mirror(Klass* k, TRAPS) NOT_CDS_JAVA_HEAP_RETURN;
    static bool restore_archived_mirror(Klass *k, Handle class_loader, Handle module,

*** 284,24 ***
    static Klass* array_klass_acquire(oop java_class);
    static void release_set_array_klass(oop java_class, Klass* klass);
    // compiler support for class operations
    static int klass_offset()                { CHECK_INIT(_klass_offset); }
    static int array_klass_offset()          { CHECK_INIT(_array_klass_offset); }
    // Support for classRedefinedCount field
    static int classRedefinedCount(oop the_class_mirror);
    static void set_classRedefinedCount(oop the_class_mirror, int value);
  
    // Support for embedded per-class oops
    static oop  protection_domain(oop java_class);
    static oop  component_mirror(oop java_class);
    static objArrayOop  signers(oop java_class);
    static void set_signers(oop java_class, objArrayOop signers);
    static oop  class_data(oop java_class);
    static void set_class_data(oop java_class, oop classData);
  
-   static int component_mirror_offset() { return _component_mirror_offset; }
- 
    static oop class_loader(oop java_class);
    static void set_module(oop java_class, oop module);
    static oop module(oop java_class);
  
    static oop name(Handle java_class, TRAPS);
--- 291,30 ---
    static Klass* array_klass_acquire(oop java_class);
    static void release_set_array_klass(oop java_class, Klass* klass);
    // compiler support for class operations
    static int klass_offset()                { CHECK_INIT(_klass_offset); }
    static int array_klass_offset()          { CHECK_INIT(_array_klass_offset); }
+   static int component_mirror_offset()     { CHECK_INIT(_component_mirror_offset); }
+   static int primary_mirror_offset()       { CHECK_INIT(_primary_mirror_offset); }
+   static int secondary_mirror_offset()     { CHECK_INIT(_secondary_mirror_offset); }
    // Support for classRedefinedCount field
    static int classRedefinedCount(oop the_class_mirror);
    static void set_classRedefinedCount(oop the_class_mirror, int value);
  
    // Support for embedded per-class oops
    static oop  protection_domain(oop java_class);
    static oop  component_mirror(oop java_class);
+   static oop  primary_mirror(oop java_class);
+   static oop  secondary_mirror(oop java_class);
+   static bool is_primary_mirror(oop java_class);
+   static bool is_secondary_mirror(oop java_class);
+ 
    static objArrayOop  signers(oop java_class);
    static void set_signers(oop java_class, objArrayOop signers);
    static oop  class_data(oop java_class);
    static void set_class_data(oop java_class, oop classData);
  
    static oop class_loader(oop java_class);
    static void set_module(oop java_class, oop module);
    static oop module(oop java_class);
  
    static oop name(Handle java_class, TRAPS);

*** 756,11 ***
    static int _clazz_offset;
    static int _name_offset;
    static int _type_offset;
    static int _slot_offset;
    static int _modifiers_offset;
!   static int _trusted_final_offset;
    static int _signature_offset;
    static int _annotations_offset;
  
    static void compute_offsets();
  
--- 769,11 ---
    static int _clazz_offset;
    static int _name_offset;
    static int _type_offset;
    static int _slot_offset;
    static int _modifiers_offset;
!   static int _flags_offset;
    static int _signature_offset;
    static int _annotations_offset;
  
    static void compute_offsets();
  

*** 784,11 ***
    static void set_slot(oop reflect, int value);
  
    static int modifiers(oop field);
    static void set_modifiers(oop field, int value);
  
!   static void set_trusted_final(oop field);
  
    static void set_signature(oop constructor, oop value);
    static void set_annotations(oop constructor, oop value);
  
    // Debugging
--- 797,11 ---
    static void set_slot(oop reflect, int value);
  
    static int modifiers(oop field);
    static void set_modifiers(oop field, int value);
  
!   static void set_flags(oop field, int value);
  
    static void set_signature(oop constructor, oop value);
    static void set_annotations(oop constructor, oop value);
  
    // Debugging

*** 1283,18 ***
    static bool is_method(oop obj);
  
    // Relevant integer codes (keep these in synch. with MethodHandleNatives.Constants):
    enum {
      MN_IS_METHOD             = 0x00010000, // method (not constructor)
!     MN_IS_CONSTRUCTOR        = 0x00020000, // constructor
      MN_IS_FIELD              = 0x00040000, // field
      MN_IS_TYPE               = 0x00080000, // nested type
      MN_CALLER_SENSITIVE      = 0x00100000, // @CallerSensitive annotation detected
      MN_TRUSTED_FINAL         = 0x00200000, // trusted final field
      MN_HIDDEN_MEMBER         = 0x00400000, // @Hidden annotation detected
!     MN_REFERENCE_KIND_SHIFT  = 24, // refKind
!     MN_REFERENCE_KIND_MASK   = 0x0F000000 >> MN_REFERENCE_KIND_SHIFT,
      MN_NESTMATE_CLASS        = 0x00000001,
      MN_HIDDEN_CLASS          = 0x00000002,
      MN_STRONG_LOADER_LINK    = 0x00000004,
      MN_ACCESS_VM_ANNOTATIONS = 0x00000008,
      // Lookup modes
--- 1296,20 ---
    static bool is_method(oop obj);
  
    // Relevant integer codes (keep these in synch. with MethodHandleNatives.Constants):
    enum {
      MN_IS_METHOD             = 0x00010000, // method (not constructor)
!     MN_IS_OBJECT_CONSTRUCTOR = 0x00020000, // constructor
      MN_IS_FIELD              = 0x00040000, // field
      MN_IS_TYPE               = 0x00080000, // nested type
      MN_CALLER_SENSITIVE      = 0x00100000, // @CallerSensitive annotation detected
      MN_TRUSTED_FINAL         = 0x00200000, // trusted final field
      MN_HIDDEN_MEMBER         = 0x00400000, // @Hidden annotation detected
!     MN_FLAT_FIELD            = 0x00800000, // flat field
!     MN_NULL_RESTRICTED_FIELD = 0x01000000, // null-restricted field
+     MN_REFERENCE_KIND_SHIFT  = 26, // refKind
+     MN_REFERENCE_KIND_MASK   = 0x3C000000 >> MN_REFERENCE_KIND_SHIFT,
      MN_NESTMATE_CLASS        = 0x00000001,
      MN_HIDDEN_CLASS          = 0x00000002,
      MN_STRONG_LOADER_LINK    = 0x00000004,
      MN_ACCESS_VM_ANNOTATIONS = 0x00000008,
      // Lookup modes

*** 1854,11 ***
    static void compute_offsets(InstanceKlass* k);
    static objArrayOop  cache(InstanceKlass *k);
    static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
  };
  
- 
  // Interface to java.lang.InternalError objects
  
  #define INTERNALERROR_INJECTED_FIELDS(macro)                      \
    macro(java_lang_InternalError, during_unsafe_access, bool_signature, false)
  
--- 1869,10 ---
< prev index next >