diff options
author | 2024-05-20 22:23:10 +0000 | |
---|---|---|
committer | 2024-05-29 01:05:05 +0000 | |
commit | 3dbda18e808f79bb94d57b645f686a9f737cdc76 (patch) | |
tree | e276ada4a581c8db8f2f9c8e0f4130eece756fa6 /java/java.go | |
parent | 1705676dd0ccaf56724ea6e0cfbddd0a73c2b802 (diff) |
Use r8/d8 optimized profile for dexpreopt
Currently, dexpreopt supports profile guided optimization. This does not
work well with r8/d8 optimization, since the checked-in profile will not
match the dex signatures after r8/d8 has optimized the dex code.
This CL introduces a new property `dex_preopt.enable_profile_rewrting`.
If set, the checked-in profile will passed as `input` to r8 via
`--art-profile <input> <output>`. The <output> from the previous command
will be used as the profile for dexpreopt.
Test: m nothing --no-skip-soong-tests
Test: m CredentialManager with https://ag.corp.google.com/27448930
and obfuscation turned on
Test: nm -U symbol.odex # contains obfuscated methods
Bug: 335418838
Change-Id: I53beed9ed76f013262f1c503de0f2b74997c2a7f
Diffstat (limited to 'java/java.go')
-rw-r--r-- | java/java.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/java/java.go b/java/java.go index 9fe7a2ff8..9fa6175ef 100644 --- a/java/java.go +++ b/java/java.go @@ -2339,7 +2339,7 @@ func (al *ApiLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) { classesJar: al.stubsJar, jarName: ctx.ModuleName() + ".jar", } - dexOutputFile := al.dexer.compileDex(ctx, dexParams) + dexOutputFile, _ := al.dexer.compileDex(ctx, dexParams) uncompressed := true al.initHiddenAPI(ctx, makeDexJarPathFromPath(dexOutputFile), al.stubsJar, &uncompressed) dexOutputFile = al.hiddenAPIEncodeDex(ctx, dexOutputFile) @@ -2723,7 +2723,7 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) { jarName: jarName, } - dexOutputFile = j.dexer.compileDex(ctx, dexParams) + dexOutputFile, _ = j.dexer.compileDex(ctx, dexParams) if ctx.Failed() { return } |