Merge "Add madvising of .odex, .vdex and .art files"

This commit is contained in:
Jagadeesh Pakaravoor
2021-03-12 19:30:02 +00:00
committed by Gerrit Code Review

View File

@@ -630,6 +630,12 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote, bool p
char saveResolvedClassesDelayMsOptsBuf[
sizeof("-Xps-save-resolved-classes-delay-ms:")-1 + PROPERTY_VALUE_MAX];
char madviseRandomOptsBuf[sizeof("-XX:MadviseRandomAccess:")-1 + PROPERTY_VALUE_MAX];
char madviseWillNeedFileSizeVdex[
sizeof("-XMadviseWillNeedVdexFileSize:")-1 + PROPERTY_VALUE_MAX];
char madviseWillNeedFileSizeOdex[
sizeof("-XMadviseWillNeedOdexFileSize:")-1 + PROPERTY_VALUE_MAX];
char madviseWillNeedFileSizeArt[
sizeof("-XMadviseWillNeedArtFileSize:")-1 + PROPERTY_VALUE_MAX];
char gctypeOptsBuf[sizeof("-Xgc:")-1 + PROPERTY_VALUE_MAX];
char backgroundgcOptsBuf[sizeof("-XX:BackgroundGC=")-1 + PROPERTY_VALUE_MAX];
char heaptargetutilizationOptsBuf[sizeof("-XX:HeapTargetUtilization=")-1 + PROPERTY_VALUE_MAX];
@@ -837,6 +843,22 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote, bool p
*/
parseRuntimeOption("dalvik.vm.madvise-random", madviseRandomOptsBuf, "-XX:MadviseRandomAccess:");
/*
* Use default platform configuration as limits for madvising,
* when no properties are specified.
*/
parseRuntimeOption("dalvik.vm.madvise.vdexfile.size",
madviseWillNeedFileSizeVdex,
"-XMadviseWillNeedVdexFileSize:");
parseRuntimeOption("dalvik.vm.madvise.odexfile.size",
madviseWillNeedFileSizeOdex,
"-XMadviseWillNeedOdexFileSize:");
parseRuntimeOption("dalvik.vm.madvise.artfile.size",
madviseWillNeedFileSizeArt,
"-XMadviseWillNeedArtFileSize:");
/*
* Profile related options.
*/