< prev index next >

src/hotspot/share/classfile/javaClasses.hpp

Print this page

        

@@ -81,10 +81,11 @@
   f(java_lang_StackTraceElement) \
   f(java_lang_StackFrameInfo) \
   f(java_lang_LiveStackFrameInfo) \
   f(java_util_concurrent_locks_AbstractOwnableSynchronizer) \
   f(jdk_internal_misc_UnsafeConstants) \
+  f(jdk_internal_vm_jni_SubElementSelector) \
   //end
 
 #define BASIC_JAVA_CLASSES_DO(f) \
         BASIC_JAVA_CLASSES_DO_PART1(f) \
         BASIC_JAVA_CLASSES_DO_PART2(f)

@@ -1637,10 +1638,34 @@
   static void compute_offsets(InstanceKlass* k);
   static objArrayOop  cache(InstanceKlass *k);
   static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
 };
 
+class jdk_internal_vm_jni_SubElementSelector : AllStatic {
+ private:
+  static int _arrayElementType_offset;
+  static int _subElementType_offset;
+  static int _offset_offset;
+  static int _isFlattened_offset;
+  static int _isFlattenable_offset;
+ public:
+  static Symbol* symbol();
+  static void compute_offsets();
+  static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN;
+
+  static oop getArrayElementType(oop obj);
+  static void setArrayElementType(oop obj, oop type);
+  static oop getSubElementType(oop obj);
+  static void setSubElementType(oop obj, oop type);
+  static int getOffset(oop obj);
+  static void setOffset(oop obj, int offset);
+  static bool getIsFlattened(oop obj);
+  static void setIsFlattened(oop obj, bool b);
+  static bool getIsFlattenable(oop obj);
+  static void setIsFlattenable(oop obj, bool b);
+};
+
 // Use to declare fields that need to be injected into Java classes
 // for the JVM to use.  The name_index and signature_index are
 // declared in vmSymbols.  The may_be_java flag is used to declare
 // fields that might already exist in Java but should be injected if
 // they don't.  Otherwise the field is unconditionally injected and
< prev index next >