summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libart/src/main/java/dalvik/system/VMRuntime.java15
-rw-r--r--mmodules/core_platform_api/api/platform/current-api.txt1
2 files changed, 16 insertions, 0 deletions
diff --git a/libart/src/main/java/dalvik/system/VMRuntime.java b/libart/src/main/java/dalvik/system/VMRuntime.java
index 99bc678dc8..0f2f75dc60 100644
--- a/libart/src/main/java/dalvik/system/VMRuntime.java
+++ b/libart/src/main/java/dalvik/system/VMRuntime.java
@@ -151,6 +151,8 @@ public final class VMRuntime {
// Allocations since last call to native layer. See notifyNativeAllocation().
private final AtomicInteger allocationCount = new AtomicInteger(0);
+ private long[] disabledCompatChanges = new long[0];
+
/**
* Prevents this class from being instantiated.
*/
@@ -283,6 +285,18 @@ public final class VMRuntime {
setTargetSdkVersionNative(this.targetSdkVersion);
}
+
+ /**
+ * Sets the disabled compat changes. Should only be called before the
+ * app starts to run, because it may change the VM's behavior in
+ * dangerous ways. Defaults to empty.
+ */
+ @libcore.api.CorePlatformApi
+ public synchronized void setDisabledCompatChanges(long[] disabledCompatChanges) {
+ this.disabledCompatChanges = disabledCompatChanges;
+ setDisabledCompatChangesNative(this.disabledCompatChanges);
+ }
+
/**
* Gets the target SDK version. See {@link #setTargetSdkVersion} for
* special values.
@@ -293,6 +307,7 @@ public final class VMRuntime {
}
private native void setTargetSdkVersionNative(int targetSdkVersion);
+ private native void setDisabledCompatChangesNative(long[] disabledCompatChanges);
/**
* This method exists for binary compatibility. It was part of a
diff --git a/mmodules/core_platform_api/api/platform/current-api.txt b/mmodules/core_platform_api/api/platform/current-api.txt
index a6431fb23e..d39b6980a5 100644
--- a/mmodules/core_platform_api/api/platform/current-api.txt
+++ b/mmodules/core_platform_api/api/platform/current-api.txt
@@ -719,6 +719,7 @@ package dalvik.system {
method public void requestConcurrentGC();
method public static void resetJitCounters();
method public static void setDedupeHiddenApiWarnings(boolean);
+ method public void setDisabledCompatChanges(long[]);
method public void setHiddenApiAccessLogSamplingRate(int);
method public void setHiddenApiExemptions(String[]);
method public static void setHiddenApiUsageLogger(dalvik.system.VMRuntime.HiddenApiUsageLogger);