34 lines
1.1 KiB
C
34 lines
1.1 KiB
C
#ifndef JNI_COMMON_H
|
|
#define JNI_COMMON_H
|
|
|
|
#include <jni.h>
|
|
/*#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
|