#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 DUMP_TO_SANDBOX 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