Merge "Revert "Consistently use either "boot" or "apex" boot image as the default.""

This commit is contained in:
Lingfeng Yang 2019-12-19 17:24:27 +00:00 committed by Gerrit Code Review
commit 18577fe8fb
3 changed files with 17 additions and 21 deletions

View File

@ -101,6 +101,10 @@ func (d *dexpreopter) dexpreopt(ctx android.ModuleContext, dexJarFile android.Mo
global := dexpreoptGlobalConfig(ctx) global := dexpreoptGlobalConfig(ctx)
bootImage := defaultBootImageConfig(ctx) bootImage := defaultBootImageConfig(ctx)
defaultBootImage := bootImage
if global.UseApexImage {
bootImage = apexBootImageConfig(ctx)
}
var archs []android.ArchType var archs []android.ArchType
for _, a := range ctx.MultiTargets() { for _, a := range ctx.MultiTargets() {
@ -170,8 +174,11 @@ func (d *dexpreopter) dexpreopt(ctx android.ModuleContext, dexJarFile android.Mo
DexPreoptImagesDeps: imagesDeps, DexPreoptImagesDeps: imagesDeps,
DexPreoptImageLocations: bootImage.imageLocations, DexPreoptImageLocations: bootImage.imageLocations,
PreoptBootClassPathDexFiles: bootImage.dexPathsDeps.Paths(), // We use the dex paths and dex locations of the default boot image, as it
PreoptBootClassPathDexLocations: bootImage.dexLocationsDeps, // contains the full dexpreopt boot classpath. Other images may just contain a subset of
// the dexpreopt boot classpath.
PreoptBootClassPathDexFiles: defaultBootImage.dexPathsDeps.Paths(),
PreoptBootClassPathDexLocations: defaultBootImage.dexLocationsDeps,
PreoptExtractedApk: false, PreoptExtractedApk: false,

View File

@ -220,19 +220,16 @@ func (d *dexpreoptBootJars) GenerateBuildActions(ctx android.SingletonContext) {
return return
} }
// Default boot image is either the framework one, or the JIT-zygote one. // Always create the default boot image first, to get a unique profile rule for all images.
// The boot image that is created first is used to get a unique profile rule for all images. d.defaultBootImage = buildBootImage(ctx, defaultBootImageConfig(ctx))
if global.GenerateApexImage {
d.defaultBootImage = buildBootImage(ctx, apexBootImageConfig(ctx))
d.otherImages = append(d.otherImages, buildBootImage(ctx, frameworkBootImageConfig(ctx)))
} else {
d.defaultBootImage = buildBootImage(ctx, frameworkBootImageConfig(ctx))
}
// Create the ART boot image.
if !skipDexpreoptArtBootJars(ctx) { if !skipDexpreoptArtBootJars(ctx) {
// Create boot image for the ART apex (build artifacts are accessed via the global boot image config).
d.otherImages = append(d.otherImages, buildBootImage(ctx, artBootImageConfig(ctx))) d.otherImages = append(d.otherImages, buildBootImage(ctx, artBootImageConfig(ctx)))
} }
if global.GenerateApexImage {
// Create boot images for the JIT-zygote experiment.
d.otherImages = append(d.otherImages, buildBootImage(ctx, apexBootImageConfig(ctx)))
}
dumpOatRules(ctx, d.defaultBootImage) dumpOatRules(ctx, d.defaultBootImage)
} }

View File

@ -234,7 +234,7 @@ func artBootImageConfig(ctx android.PathContext) bootImageConfig {
return *genBootImageConfigs(ctx)[artBootImageName] return *genBootImageConfigs(ctx)[artBootImageName]
} }
func frameworkBootImageConfig(ctx android.PathContext) bootImageConfig { func defaultBootImageConfig(ctx android.PathContext) bootImageConfig {
return *genBootImageConfigs(ctx)[frameworkBootImageName] return *genBootImageConfigs(ctx)[frameworkBootImageName]
} }
@ -242,14 +242,6 @@ func apexBootImageConfig(ctx android.PathContext) bootImageConfig {
return *genBootImageConfigs(ctx)[apexBootImageName] return *genBootImageConfigs(ctx)[apexBootImageName]
} }
func defaultBootImageConfig(ctx android.PathContext) bootImageConfig {
if dexpreoptGlobalConfig(ctx).UseApexImage {
return apexBootImageConfig(ctx)
} else {
return frameworkBootImageConfig(ctx)
}
}
func defaultBootclasspath(ctx android.PathContext) []string { func defaultBootclasspath(ctx android.PathContext) []string {
return ctx.Config().OnceStringSlice(defaultBootclasspathKey, func() []string { return ctx.Config().OnceStringSlice(defaultBootclasspathKey, func() []string {
global := dexpreoptGlobalConfig(ctx) global := dexpreoptGlobalConfig(ctx)