< prev index next >

src/java.base/share/native/include/jni.h

Print this page

        

@@ -773,10 +773,22 @@
 
     /* Module Features */
 
     jobject (JNICALL *GetModule)
        (JNIEnv* env, jclass clazz);
+
+    /* Flattened arrays Features */
+    void* (JNICALL *GetFlattenedArrayElements)
+      (JNIEnv* env, jarray array , jboolean *isCopy);
+    void (JNICALL *ReleaseFlattenedArrayElements)
+      (JNIEnv* env, jarray, void* elem, jint mode);
+    jclass (JNICALL *GetFlattenedArrayElementClass)
+      (JNIEnv* env, jarray array);
+    jsize (JNICALL *GetFlattenedArrayElementSize)
+      (JNIEnv* env, jarray array);
+    jsize (JNICALL *GetFieldOffsetInFlattenedLayout)
+      (JNIEnv* env, jclass clazz,  const char *name, const char *signature, jboolean* isFlattened);
 };
 
 /*
  * We use inlined functions for C++ so that programmers can write:
  *

@@ -1871,10 +1883,31 @@
 
     jobject GetModule(jclass clazz) {
         return functions->GetModule(this, clazz);
     }
 
+    /* Flattened arrays Features */
+    void* GetFlattenedArrayElements(jarray array , jboolean *isCopy) {
+      return functions->GetFlattenedArrayElements(this, array, isCopy);
+    }
+  
+    void ReleaseFlattenedArrayElements(jarray array, void* elem, jint mode) {
+        return functions->ReleaseFlattenedArrayElements(this, array, elem, mode);
+    }
+
+    jclass GetFlattenedArrayElementClass(jarray array) {
+      return functions->GetFlattenedArrayElementClass(this, array);
+    }
+  
+    jsize GetFlattenedArrayElementSize(jarray array) {
+        return functions->GetFlattenedArrayElementSize(this, array);
+    }
+    
+  jsize GetFieldOffsetInFlattenedLayout(jclass clazz,  const char *name, const char *signature, jboolean* isFlattened) {
+    return functions->GetFieldOffsetInFlattenedLayout(this, clazz, name, signature, isFlattened);
+    }
+
 #endif /* __cplusplus */
 };
 
 /*
  * optionString may be any option accepted by the JVM, or one of the
< prev index next >