Preopt: Pass -Xbootclasspath: arg to dex2oat.
Test: Pixel 2 XL boots. Bug: 119868597 Change-Id: Ibbff11d13a6d67034e783de2f7d8c930251bd899
This commit is contained in:
parent
1f8076b42d
commit
d2ee532fc3
|
@ -32,7 +32,10 @@ type GlobalConfig struct {
|
||||||
|
|
||||||
DisableGenerateProfile bool // don't generate profiles
|
DisableGenerateProfile bool // don't generate profiles
|
||||||
|
|
||||||
BootJars []string // jars that form the boot image
|
PreoptBootClassPathDexFiles []string // file paths of boot class path files
|
||||||
|
PreoptBootClassPathDexLocations []string // virtual locations of boot class path files
|
||||||
|
|
||||||
|
BootJars []string // modules for jars that form the boot class path
|
||||||
SystemServerJars []string // jars that form the system server
|
SystemServerJars []string // jars that form the system server
|
||||||
SystemServerApps []string // apps that are loaded into system server
|
SystemServerApps []string // apps that are loaded into system server
|
||||||
SpeedApps []string // apps that should be speed optimized
|
SpeedApps []string // apps that should be speed optimized
|
||||||
|
|
|
@ -192,6 +192,9 @@ func dexpreoptCommand(global GlobalConfig, module ModuleConfig, rule *Rule, prof
|
||||||
pathtools.ReplaceExtension(filepath.Base(path), "odex"))
|
pathtools.ReplaceExtension(filepath.Base(path), "odex"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bcp := strings.Join(global.PreoptBootClassPathDexFiles, ":")
|
||||||
|
bcp_locations := strings.Join(global.PreoptBootClassPathDexLocations, ":")
|
||||||
|
|
||||||
odexPath := toOdexPath(filepath.Join(filepath.Dir(module.BuildPath), base))
|
odexPath := toOdexPath(filepath.Join(filepath.Dir(module.BuildPath), base))
|
||||||
odexInstallPath := toOdexPath(module.DexLocation)
|
odexInstallPath := toOdexPath(module.DexLocation)
|
||||||
if odexOnSystemOther(module, global) {
|
if odexOnSystemOther(module, global) {
|
||||||
|
@ -310,6 +313,9 @@ func dexpreoptCommand(global GlobalConfig, module ModuleConfig, rule *Rule, prof
|
||||||
FlagWithOutput("--write-invocation-to=", invocationPath).ImplicitOutput(invocationPath).
|
FlagWithOutput("--write-invocation-to=", invocationPath).ImplicitOutput(invocationPath).
|
||||||
Flag("--runtime-arg").FlagWithArg("-Xms", global.Dex2oatXms).
|
Flag("--runtime-arg").FlagWithArg("-Xms", global.Dex2oatXms).
|
||||||
Flag("--runtime-arg").FlagWithArg("-Xmx", global.Dex2oatXmx).
|
Flag("--runtime-arg").FlagWithArg("-Xmx", global.Dex2oatXmx).
|
||||||
|
Flag("--runtime-arg").FlagWithArg("-Xbootclasspath:", bcp).
|
||||||
|
Implicits(global.PreoptBootClassPathDexFiles).
|
||||||
|
Flag("--runtime-arg").FlagWithArg("-Xbootclasspath-locations:", bcp_locations).
|
||||||
Flag("${class_loader_context_arg}").
|
Flag("${class_loader_context_arg}").
|
||||||
Flag("${stored_class_loader_context_arg}").
|
Flag("${stored_class_loader_context_arg}").
|
||||||
FlagWithArg("--boot-image=", bootImageLocation).Implicit(bootImagePath).
|
FlagWithArg("--boot-image=", bootImageLocation).Implicit(bootImagePath).
|
||||||
|
|
|
@ -147,6 +147,11 @@ func (c *Command) Implicit(path string) *Command {
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *Command) Implicits(paths []string) *Command {
|
||||||
|
c.inputs = append(c.inputs, paths...)
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
|
||||||
func (c *Command) Output(path string) *Command {
|
func (c *Command) Output(path string) *Command {
|
||||||
c.outputs = append(c.outputs, path)
|
c.outputs = append(c.outputs, path)
|
||||||
return c.Text(path)
|
return c.Text(path)
|
||||||
|
|
Loading…
Reference in New Issue