summaryrefslogtreecommitdiff
path: root/compiler/optimizing/optimizing_compiler.cc
diff options
context:
space:
mode:
author Jiakai Zhang <jiakaiz@google.com> 2021-11-03 20:54:55 +0000
committer Jiakai Zhang <jiakaiz@google.com> 2021-11-17 10:39:46 +0000
commit83c38e2801699266cbed62f407681b4ef50eeba9 (patch)
tree216a7945e47d7e33ce620389388cc9ec38b6282f /compiler/optimizing/optimizing_compiler.cc
parent432d6eba399e25332af18c2479d8557e44abef54 (diff)
Support compiling partial system server jars.
Before this change, odrefresh compiles system server jars atomically. After this change, odrefresh can compile only the system server jars whose artifacts are missing. This can benefit users in couple ways: 1. When a previous odrefresh run failed due to low storage space, subsequent runs can continue from the failure point instead of starting over. 2. When we update odrefresh to compile more things before a change has been made to the build system to preopt those things at build-time (e.g., b/203198541), this change can avoid too much regression on the first boot time by not compiling things that are already preopted. 3. When some artifacts are missing from the system image for unknown reasons, this change can avoid too much regression on the first boot time. (This should rarely happen because artifacts' existence is checked at built-time.) This CL also includes some minor changes: 1. Introduce a struct `CompilationOptions` to represent what to compile in a more structured way. 2. Update the comments about compilation space estimation based on the latest observation. 3. Improve the boot animation progress reporting to reflect the real number of compilations. 4. Fix the exit code returned on low storage space. (Was `kOkay`, which was wrong because odsign does not sign artifacts on `kOkay`) Bug: 203198541 Test: atest art_standalone_odrefresh_tests Test: odsign_e2e_tests Change-Id: Id13fa26fa2327a82daff8d8d6fdefe11cd0928a2
Diffstat (limited to 'compiler/optimizing/optimizing_compiler.cc')
0 files changed, 0 insertions, 0 deletions