diff options
-rw-r--r-- | runtime/native/dalvik_system_VMRuntime.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/runtime/native/dalvik_system_VMRuntime.cc b/runtime/native/dalvik_system_VMRuntime.cc index 69b05f41c4..d9c9b5937d 100644 --- a/runtime/native/dalvik_system_VMRuntime.cc +++ b/runtime/native/dalvik_system_VMRuntime.cc @@ -155,6 +155,21 @@ static jstring VMRuntime_vmLibrary(JNIEnv* env, jobject) { return env->NewStringUTF(kIsDebugBuild ? "libartd.so" : "libart.so"); } +static jstring VMRuntime_vmInstructionSet(JNIEnv* env, jobject) { + InstructionSet isa = Runtime::Current()->GetInstructionSet(); + const char* isa_string = GetInstructionSetString(isa); + return env->NewStringUTF(isa_string); +} + +static jboolean VMRuntime_is64Bit(JNIEnv* env, jobject) { + bool is64BitMode = (sizeof(void*) == sizeof(uint64_t)); + return is64BitMode ? JNI_TRUE : JNI_FALSE; +} + +static jboolean VMRuntime_isCheckJniEnabled(JNIEnv* env, jobject) { + return Runtime::Current()->GetJavaVM()->check_jni ? JNI_TRUE : JNI_FALSE; +} + static void VMRuntime_setTargetSdkVersionNative(JNIEnv* env, jobject, jint targetSdkVersion) { // This is the target SDK version of the app we're about to run. It is intended that this a place // where workarounds can be enabled. @@ -529,6 +544,9 @@ static JNINativeMethod gMethods[] = { NATIVE_METHOD(VMRuntime, trimHeap, "()V"), NATIVE_METHOD(VMRuntime, vmVersion, "()Ljava/lang/String;"), NATIVE_METHOD(VMRuntime, vmLibrary, "()Ljava/lang/String;"), + NATIVE_METHOD(VMRuntime, vmInstructionSet, "()Ljava/lang/String;"), + NATIVE_METHOD(VMRuntime, is64Bit, "!()Z"), + NATIVE_METHOD(VMRuntime, isCheckJniEnabled, "!()Z"), NATIVE_METHOD(VMRuntime, preloadDexCaches, "()V"), NATIVE_METHOD(VMRuntime, registerAppInfo, "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"), }; |