diff options
-rw-r--r-- | libart/src/main/java/dalvik/system/VMRuntime.java | 15 | ||||
-rw-r--r-- | mmodules/core_platform_api/api/platform/current-api.txt | 1 |
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); |