#ifndef JNI_COMMON_H #define JNI_COMMON_H #include #define ENABLE_ASSERTIONS 1 #define DO_PROFILING 1 //#define DEBUG 1 //#define DEBUG0_1 1 //#define DEBUG3 1 #define DIRECT_ACCESS_TO_JAVA_HEAP_MEMORY 1 #ifdef DIRECT_ACCESS_TO_JAVA_HEAP_MEMORY //Gets direct access to Java arrays #define GET_BYTE_ARRAY_ELEMENTS env->GetPrimitiveArrayCritical #define RELEASE_BYTE_ARRAY_ELEMENTS env->ReleasePrimitiveArrayCritical #define JNI_RO_RELEASE_MODE JNI_ABORT #define GET_DOUBLE_ARRAY_ELEMENTS env->GetPrimitiveArrayCritical #define RELEASE_DOUBLE_ARRAY_ELEMENTS env->ReleasePrimitiveArrayCritical #else //Likely makes copy of Java arrays to JNI C++ space #define GET_BYTE_ARRAY_ELEMENTS env->GetByteArrayElements #define RELEASE_BYTE_ARRAY_ELEMENTS env->ReleaseByteArrayElements #define JNI_RO_RELEASE_MODE JNI_ABORT #define GET_DOUBLE_ARRAY_ELEMENTS env->GetDoubleArrayElements #define RELEASE_DOUBLE_ARRAY_ELEMENTS env->ReleaseDoubleArrayElements #endif //ifdef DIRECT_ACCESS_TO_JAVA_HEAP_MEMORY #endif //ifndef JNI_COMMON_H