Merge "Use the new refined DexOptNeeded codes." am: d7e597a2e7
am: 99ae18486c
Change-Id: I4d6a7a5ad56ce0e6d91620fc63f05faad8348e78
This commit is contained in:
@@ -219,19 +219,20 @@ class PackageDexOptimizer {
|
||||
|
||||
final String dexoptType;
|
||||
String oatDir = null;
|
||||
switch (dexoptNeeded) {
|
||||
boolean isOdexLocation = (dexoptNeeded < 0);
|
||||
switch (Math.abs(dexoptNeeded)) {
|
||||
case DexFile.NO_DEXOPT_NEEDED:
|
||||
continue;
|
||||
case DexFile.DEX2OAT_NEEDED:
|
||||
case DexFile.DEX2OAT_FROM_SCRATCH:
|
||||
case DexFile.DEX2OAT_FOR_BOOT_IMAGE:
|
||||
case DexFile.DEX2OAT_FOR_FILTER:
|
||||
case DexFile.DEX2OAT_FOR_RELOCATION:
|
||||
dexoptType = "dex2oat";
|
||||
oatDir = createOatDirIfSupported(pkg, dexCodeInstructionSet);
|
||||
break;
|
||||
case DexFile.PATCHOAT_NEEDED:
|
||||
case DexFile.PATCHOAT_FOR_RELOCATION:
|
||||
dexoptType = "patchoat";
|
||||
break;
|
||||
case DexFile.SELF_PATCHOAT_NEEDED:
|
||||
dexoptType = "self patchoat";
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException("Invalid dexopt:" + dexoptNeeded);
|
||||
}
|
||||
@@ -383,7 +384,7 @@ class PackageDexOptimizer {
|
||||
protected int adjustDexoptNeeded(int dexoptNeeded) {
|
||||
// Ensure compilation, no matter the current state.
|
||||
// TODO: The return value is wrong when patchoat is needed.
|
||||
return DexFile.DEX2OAT_NEEDED;
|
||||
return DexFile.DEX2OAT_FROM_SCRATCH;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user