Add resetJitCounters

Used to avoid Jit counters from class preloading being recorded in the
boot profiles.


Bug: 139883463
Bug: 142564450
Test: test/run-test 2230-profile-save-hotness
Change-Id: I127d2930f2714574f7aced63330ce13da37231c0
diff --git a/libart/src/main/java/dalvik/system/VMRuntime.java b/libart/src/main/java/dalvik/system/VMRuntime.java
index 6f89b99..2b36652 100644
--- a/libart/src/main/java/dalvik/system/VMRuntime.java
+++ b/libart/src/main/java/dalvik/system/VMRuntime.java
@@ -658,6 +658,14 @@
     public static native void bootCompleted();
 
     /**
+     * Used to notify the runtime to reset Jit counters. This is done for the boot image
+     * profiling configuration to avoid samples during class preloading. This helps avoid
+     * the regression from disabling class profiling.
+     */
+    @libcore.api.CorePlatformApi
+    public static native void resetJitCounters();
+
+    /**
      * Returns the instruction set of the current runtime.
      */
     @UnsupportedAppUsage
diff --git a/mmodules/core_platform_api/api/platform/current-api.txt b/mmodules/core_platform_api/api/platform/current-api.txt
index 53c14c2..767ac08 100644
--- a/mmodules/core_platform_api/api/platform/current-api.txt
+++ b/mmodules/core_platform_api/api/platform/current-api.txt
@@ -717,6 +717,7 @@
     method @Deprecated @dalvik.annotation.compat.UnsupportedAppUsage public void registerNativeFree(int);
     method public static void registerSensitiveThread();
     method public void requestConcurrentGC();
+    method public static void resetJitCounters();
     method public static void setDedupeHiddenApiWarnings(boolean);
     method public void setHiddenApiAccessLogSamplingRate(int);
     method public void setHiddenApiExemptions(String[]);