summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/native/dalvik_system_VMRuntime.cc112
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) {