Revert "Revert "Remove option to create boot image based on preloaded classes""

Test: make
Test: build/soong/scripts/build-ndk-prebuilts.sh

This reverts commit d3f688b521.

Change-Id: Ia8898d11d67e5f0c4d8886f13d29f5dbd5f8609b
This commit is contained in:
Mathieu Chartier
2019-06-26 10:01:36 -07:00
parent a6c4ff2cc8
commit 6adeee1131
4 changed files with 9 additions and 15 deletions

View File

@@ -80,9 +80,7 @@ type GlobalConfig struct {
// Only used for boot image
DirtyImageObjects android.OptionalPath // path to a dirty-image-objects file
PreloadedClasses android.OptionalPath // path to a preloaded-classes file
BootImageProfiles android.Paths // path to a boot-image-profile.txt file
UseProfileForBootImage bool // whether a profile should be used to compile the boot image
BootFlags string // extra flags to pass to dex2oat for the boot image
Dex2oatImageXmx string // max heap size for dex2oat for the boot image
Dex2oatImageXms string // initial heap size for dex2oat for the boot image
@@ -183,7 +181,6 @@ func LoadGlobalConfig(ctx android.PathContext, path string) (GlobalConfig, []byt
// Copies of entries in GlobalConfig that are not constructable without extra parameters. They will be
// used to construct the real value manually below.
DirtyImageObjects string
PreloadedClasses string
BootImageProfiles []string
Tools struct {
@@ -206,7 +203,6 @@ func LoadGlobalConfig(ctx android.PathContext, path string) (GlobalConfig, []byt
// Construct paths that require a PathContext.
config.GlobalConfig.DirtyImageObjects = android.OptionalPathForPath(constructPath(ctx, config.DirtyImageObjects))
config.GlobalConfig.PreloadedClasses = android.OptionalPathForPath(constructPath(ctx, config.PreloadedClasses))
config.GlobalConfig.BootImageProfiles = constructPaths(ctx, config.BootImageProfiles)
config.GlobalConfig.Tools.Profman = constructPath(ctx, config.Tools.Profman)
@@ -321,9 +317,7 @@ func GlobalConfigForTests(ctx android.PathContext) GlobalConfig {
CpuVariant: nil,
InstructionSetFeatures: nil,
DirtyImageObjects: android.OptionalPath{},
PreloadedClasses: android.OptionalPath{},
BootImageProfiles: nil,
UseProfileForBootImage: false,
BootFlags: "",
Dex2oatImageXmx: "",
Dex2oatImageXms: "",

View File

@@ -286,8 +286,6 @@ func buildBootImageRuleForArch(ctx android.SingletonContext, image *bootImage,
if profile != nil {
cmd.FlagWithArg("--compiler-filter=", "speed-profile")
cmd.FlagWithInput("--profile-file=", profile)
} else if global.PreloadedClasses.Valid() {
cmd.FlagWithInput("--image-classes=", global.PreloadedClasses.Path())
}
if global.DirtyImageObjects.Valid() {
@@ -374,7 +372,7 @@ Rebuild with ART_BOOT_IMAGE_EXTRA_ARGS="--runtime-arg -verbose:verifier" to see
func bootImageProfileRule(ctx android.SingletonContext, image *bootImage, missingDeps []string) android.WritablePath {
global := dexpreoptGlobalConfig(ctx)
if !global.UseProfileForBootImage || ctx.Config().IsPdkBuild() || ctx.Config().UnbundledBuild() {
if global.DisableGenerateProfile || ctx.Config().IsPdkBuild() || ctx.Config().UnbundledBuild() {
return nil
}
return ctx.Config().Once(bootImageProfileRuleKey, func() interface{} {

View File

@@ -62,6 +62,7 @@ func TestDexpreoptBootJars(t *testing.T) {
bootArt := dexpreoptBootJars.Output("boot.art")
expectedInputs := []string{
"dex_bootjars/boot.prof",
"dex_bootjars_input/foo.jar",
"dex_bootjars_input/bar.jar",
"dex_bootjars_input/baz.jar",

View File

@@ -50,6 +50,7 @@ func dexpreoptGlobalConfigRaw(ctx android.PathContext) globalConfigAndRaw {
// Nope, return a config with preopting disabled
return globalConfigAndRaw{dexpreopt.GlobalConfig{
DisablePreopt: true,
DisableGenerateProfile: true,
}, nil}
})
}).(globalConfigAndRaw)