summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
author Calin Juravle <calin@google.com> 2019-09-13 18:31:59 -0700
committer Calin Juravle <calin@google.com> 2019-09-17 19:21:03 +0000
commit973f8c48154526f1211d8be3f95855bce753f76c (patch)
tree2965072335ad22d5f2ee94abbefc4fd07d919600 /test
parent8d8a98c8cdff564962b49e6b4c297477d5fbfb30 (diff)
Create boot image profiles with the appropriate version
Bug: 139884006 Test: m test-art-host Change-Id: I89227d980121d548ed4b9b1e8f3c6e2c78b5ef97
Diffstat (limited to 'test')
-rw-r--r--test/595-profile-saving/expected.txt1
-rw-r--r--test/595-profile-saving/profile-saving.cc11
-rw-r--r--test/595-profile-saving/src/Main.java5
3 files changed, 16 insertions, 1 deletions
diff --git a/test/595-profile-saving/expected.txt b/test/595-profile-saving/expected.txt
index 6a5618ebc6..9e28e07261 100644
--- a/test/595-profile-saving/expected.txt
+++ b/test/595-profile-saving/expected.txt
@@ -1 +1,2 @@
JNI_OnLoad called
+IsForBootImage: true
diff --git a/test/595-profile-saving/profile-saving.cc b/test/595-profile-saving/profile-saving.cc
index b22d61e38d..d6ca447dc4 100644
--- a/test/595-profile-saving/profile-saving.cc
+++ b/test/595-profile-saving/profile-saving.cc
@@ -63,5 +63,16 @@ extern "C" JNIEXPORT jboolean JNICALL Java_Main_presentInProfile(JNIEnv* env,
art_method->GetDexMethodIndex()));
}
+extern "C" JNIEXPORT jboolean JNICALL Java_Main_isForBootImage(JNIEnv* env,
+ jclass,
+ jstring filename) {
+ ScopedUtfChars filename_chars(env, filename);
+ CHECK(filename_chars.c_str() != nullptr);
+
+ ProfileCompilationInfo info;
+ info.Load(std::string(filename_chars.c_str()), /*clear_if_invalid=*/ false);
+ return info.IsForBootImage();
+}
+
} // namespace
} // namespace art
diff --git a/test/595-profile-saving/src/Main.java b/test/595-profile-saving/src/Main.java
index 18c0598bef..e0952e1424 100644
--- a/test/595-profile-saving/src/Main.java
+++ b/test/595-profile-saving/src/Main.java
@@ -13,7 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Method;
@@ -42,6 +41,8 @@ public class Main {
System.out.println("Class loader does not match boot class");
}
testAddMethodToProfile(file, bootMethod);
+
+ System.out.println("IsForBootImage: " + isForBootImage(file.getPath()));
} finally {
if (file != null) {
file.delete();
@@ -66,6 +67,8 @@ public class Main {
public static native void ensureProfileProcessing();
// Checks if the profiles saver knows about the method.
public static native boolean presentInProfile(String profile, Method method);
+ // Returns true if the profile is for the boot image.
+ public static native boolean isForBootImage(String profile);
private static final String TEMP_FILE_NAME_PREFIX = "dummy";
private static final String TEMP_FILE_NAME_SUFFIX = "-file";