Merge "Workaround for USAP support in jitzygote." into qt-dev

am: 94b2981853

Change-Id: Ia37d127c192a59bac290c39b099f854e98475d43
This commit is contained in:
Nicolas Geoffray
2019-05-17 05:49:51 -07:00
committed by android-build-merger

View File

@@ -640,14 +640,9 @@ public class ZygoteProcess {
ZygoteConfig.USAP_POOL_ENABLED, USAP_POOL_ENABLED_DEFAULT);
if (!propertyString.isEmpty()) {
if (SystemProperties.get("dalvik.vm.boot-image", "").endsWith("apex.art")) {
// TODO(b/119800099): Tweak usap configuration in jitzygote mode.
mUsapPoolEnabled = false;
} else {
mUsapPoolEnabled = Zygote.getConfigurationPropertyBoolean(
ZygoteConfig.USAP_POOL_ENABLED,
Boolean.parseBoolean(USAP_POOL_ENABLED_DEFAULT));
}
mUsapPoolEnabled = Zygote.getConfigurationPropertyBoolean(
ZygoteConfig.USAP_POOL_ENABLED,
Boolean.parseBoolean(USAP_POOL_ENABLED_DEFAULT));
}
boolean valueChanged = origVal != mUsapPoolEnabled;
@@ -665,6 +660,16 @@ public class ZygoteProcess {
private boolean fetchUsapPoolEnabledPropWithMinInterval() {
final long currentTimestamp = SystemClock.elapsedRealtime();
if (SystemProperties.get("dalvik.vm.boot-image", "").endsWith("apex.art")) {
// TODO(b/119800099): In jitzygote mode, we want to start using USAP processes
// only once the boot classpath has been compiled. There is currently no callback
// from the runtime to notify the zygote about end of compilation, so for now just
// arbitrarily start USAP processes 15 seconds after boot.
if (currentTimestamp <= 15000) {
return false;
}
}
if (mIsFirstPropCheck
|| (currentTimestamp - mLastPropCheckTimestamp >= Zygote.PROPERTY_CHECK_INTERVAL)) {
mIsFirstPropCheck = false;