diff options
-rw-r--r-- | runtime/native/dalvik_system_VMRuntime.cc | 112 |
1 files changed, 61 insertions, 51 deletions
diff --git a/runtime/native/dalvik_system_VMRuntime.cc b/runtime/native/dalvik_system_VMRuntime.cc index 0e9660aaac..1b85cb7e6e 100644 --- a/runtime/native/dalvik_system_VMRuntime.cc +++ b/runtime/native/dalvik_system_VMRuntime.cc @@ -244,6 +244,14 @@ static jint VMRuntime_getSdkVersionNative([[maybe_unused]] JNIEnv* env, default_sdk_version); } +static jint VMRuntime_getIntSystemProperty([[maybe_unused]] JNIEnv* env, + [[maybe_unused]] jclass klass, + jstring attribute_name, + jint default_value) { + return android::base::GetIntProperty(std::string(ScopedUtfChars(env, attribute_name)), + default_value); +} + static void VMRuntime_setTargetSdkVersionNative(JNIEnv*, jobject, jint target_sdk_version) { // 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. @@ -542,57 +550,59 @@ static jlong VMRuntime_getFullGcCount([[maybe_unused]] JNIEnv* env, [[maybe_unus } static JNINativeMethod gMethods[] = { - FAST_NATIVE_METHOD(VMRuntime, addressOf, "(Ljava/lang/Object;)J"), - NATIVE_METHOD(VMRuntime, bootClassPath, "()Ljava/lang/String;"), - NATIVE_METHOD(VMRuntime, clampGrowthLimit, "()V"), - NATIVE_METHOD(VMRuntime, classPath, "()Ljava/lang/String;"), - NATIVE_METHOD(VMRuntime, clearGrowthLimit, "()V"), - NATIVE_METHOD(VMRuntime, setHiddenApiExemptions, "([Ljava/lang/String;)V"), - NATIVE_METHOD(VMRuntime, setHiddenApiAccessLogSamplingRate, "(I)V"), - NATIVE_METHOD(VMRuntime, getTargetHeapUtilization, "()F"), - FAST_NATIVE_METHOD(VMRuntime, isNativeDebuggable, "()Z"), - NATIVE_METHOD(VMRuntime, isJavaDebuggable, "()Z"), - NATIVE_METHOD(VMRuntime, nativeSetTargetHeapUtilization, "(F)V"), - FAST_NATIVE_METHOD(VMRuntime, newNonMovableArray, "(Ljava/lang/Class;I)Ljava/lang/Object;"), - FAST_NATIVE_METHOD(VMRuntime, newUnpaddedArray, "(Ljava/lang/Class;I)Ljava/lang/Object;"), - NATIVE_METHOD(VMRuntime, properties, "()[Ljava/lang/String;"), - NATIVE_METHOD(VMRuntime, getSdkVersionNative, "(I)I"), - NATIVE_METHOD(VMRuntime, setTargetSdkVersionNative, "(I)V"), - NATIVE_METHOD(VMRuntime, setDisabledCompatChangesNative, "([J)V"), - NATIVE_METHOD(VMRuntime, registerNativeAllocation, "(J)V"), - NATIVE_METHOD(VMRuntime, registerNativeFree, "(J)V"), - NATIVE_METHOD(VMRuntime, getNotifyNativeInterval, "()I"), - NATIVE_METHOD(VMRuntime, getFinalizerTimeoutMs, "()J"), - NATIVE_METHOD(VMRuntime, notifyNativeAllocationsInternal, "()V"), - NATIVE_METHOD(VMRuntime, notifyStartupCompleted, "()V"), - NATIVE_METHOD(VMRuntime, registerSensitiveThread, "()V"), - NATIVE_METHOD(VMRuntime, requestConcurrentGC, "()V"), - NATIVE_METHOD(VMRuntime, requestHeapTrim, "()V"), - NATIVE_METHOD(VMRuntime, runHeapTasks, "()V"), - NATIVE_METHOD(VMRuntime, updateProcessState, "(I)V"), - NATIVE_METHOD(VMRuntime, startHeapTaskProcessor, "()V"), - NATIVE_METHOD(VMRuntime, stopHeapTaskProcessor, "()V"), - 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;"), - FAST_NATIVE_METHOD(VMRuntime, is64Bit, "()Z"), - FAST_NATIVE_METHOD(VMRuntime, isCheckJniEnabled, "()Z"), - NATIVE_METHOD(VMRuntime, preloadDexCaches, "()V"), - NATIVE_METHOD(VMRuntime, registerAppInfo, - "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;I)V"), - NATIVE_METHOD(VMRuntime, isBootClassPathOnDisk, "(Ljava/lang/String;)Z"), - NATIVE_METHOD(VMRuntime, getCurrentInstructionSet, "()Ljava/lang/String;"), - NATIVE_METHOD(VMRuntime, setSystemDaemonThreadPriority, "()V"), - NATIVE_METHOD(VMRuntime, setDedupeHiddenApiWarnings, "(Z)V"), - NATIVE_METHOD(VMRuntime, setProcessPackageName, "(Ljava/lang/String;)V"), - NATIVE_METHOD(VMRuntime, setProcessDataDirectory, "(Ljava/lang/String;)V"), - NATIVE_METHOD(VMRuntime, bootCompleted, "()V"), - NATIVE_METHOD(VMRuntime, resetJitCounters, "()V"), - NATIVE_METHOD(VMRuntime, isValidClassLoaderContext, "(Ljava/lang/String;)Z"), - NATIVE_METHOD(VMRuntime, getBaseApkOptimizationInfo, - "()Ldalvik/system/DexFile$OptimizationInfo;"), - NATIVE_METHOD(VMRuntime, getFullGcCount, "()J"), + FAST_NATIVE_METHOD(VMRuntime, addressOf, "(Ljava/lang/Object;)J"), + NATIVE_METHOD(VMRuntime, bootClassPath, "()Ljava/lang/String;"), + NATIVE_METHOD(VMRuntime, clampGrowthLimit, "()V"), + NATIVE_METHOD(VMRuntime, classPath, "()Ljava/lang/String;"), + NATIVE_METHOD(VMRuntime, clearGrowthLimit, "()V"), + NATIVE_METHOD(VMRuntime, setHiddenApiExemptions, "([Ljava/lang/String;)V"), + NATIVE_METHOD(VMRuntime, setHiddenApiAccessLogSamplingRate, "(I)V"), + NATIVE_METHOD(VMRuntime, getTargetHeapUtilization, "()F"), + FAST_NATIVE_METHOD(VMRuntime, isNativeDebuggable, "()Z"), + NATIVE_METHOD(VMRuntime, isJavaDebuggable, "()Z"), + NATIVE_METHOD(VMRuntime, nativeSetTargetHeapUtilization, "(F)V"), + FAST_NATIVE_METHOD(VMRuntime, newNonMovableArray, "(Ljava/lang/Class;I)Ljava/lang/Object;"), + FAST_NATIVE_METHOD(VMRuntime, newUnpaddedArray, "(Ljava/lang/Class;I)Ljava/lang/Object;"), + NATIVE_METHOD(VMRuntime, properties, "()[Ljava/lang/String;"), + NATIVE_METHOD(VMRuntime, getSdkVersionNative, "(I)I"), + FAST_NATIVE_METHOD(VMRuntime, getIntSystemProperty, "(Ljava/lang/String;I)I"), + NATIVE_METHOD(VMRuntime, setTargetSdkVersionNative, "(I)V"), + NATIVE_METHOD(VMRuntime, setDisabledCompatChangesNative, "([J)V"), + NATIVE_METHOD(VMRuntime, registerNativeAllocation, "(J)V"), + NATIVE_METHOD(VMRuntime, registerNativeFree, "(J)V"), + NATIVE_METHOD(VMRuntime, getNotifyNativeInterval, "()I"), + NATIVE_METHOD(VMRuntime, getFinalizerTimeoutMs, "()J"), + NATIVE_METHOD(VMRuntime, notifyNativeAllocationsInternal, "()V"), + NATIVE_METHOD(VMRuntime, notifyStartupCompleted, "()V"), + NATIVE_METHOD(VMRuntime, registerSensitiveThread, "()V"), + NATIVE_METHOD(VMRuntime, requestConcurrentGC, "()V"), + NATIVE_METHOD(VMRuntime, requestHeapTrim, "()V"), + NATIVE_METHOD(VMRuntime, runHeapTasks, "()V"), + NATIVE_METHOD(VMRuntime, updateProcessState, "(I)V"), + NATIVE_METHOD(VMRuntime, startHeapTaskProcessor, "()V"), + NATIVE_METHOD(VMRuntime, stopHeapTaskProcessor, "()V"), + 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;"), + FAST_NATIVE_METHOD(VMRuntime, is64Bit, "()Z"), + FAST_NATIVE_METHOD(VMRuntime, isCheckJniEnabled, "()Z"), + NATIVE_METHOD(VMRuntime, preloadDexCaches, "()V"), + NATIVE_METHOD(VMRuntime, + registerAppInfo, + "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;I)V"), + NATIVE_METHOD(VMRuntime, isBootClassPathOnDisk, "(Ljava/lang/String;)Z"), + NATIVE_METHOD(VMRuntime, getCurrentInstructionSet, "()Ljava/lang/String;"), + NATIVE_METHOD(VMRuntime, setSystemDaemonThreadPriority, "()V"), + NATIVE_METHOD(VMRuntime, setDedupeHiddenApiWarnings, "(Z)V"), + NATIVE_METHOD(VMRuntime, setProcessPackageName, "(Ljava/lang/String;)V"), + NATIVE_METHOD(VMRuntime, setProcessDataDirectory, "(Ljava/lang/String;)V"), + NATIVE_METHOD(VMRuntime, bootCompleted, "()V"), + NATIVE_METHOD(VMRuntime, resetJitCounters, "()V"), + NATIVE_METHOD(VMRuntime, isValidClassLoaderContext, "(Ljava/lang/String;)Z"), + NATIVE_METHOD( + VMRuntime, getBaseApkOptimizationInfo, "()Ldalvik/system/DexFile$OptimizationInfo;"), + NATIVE_METHOD(VMRuntime, getFullGcCount, "()J"), }; void register_dalvik_system_VMRuntime(JNIEnv* env) { |