Merge "Use the new refined DexOptNeeded codes."

am: d7e597a2e7

Change-Id: I58fbb54b94350e633fdd38cfb984de87a1862fd2
This commit is contained in:
Nicolas Geoffray
2016-11-28 13:25:06 +00:00
committed by android-build-merger

View File

@@ -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;
}
}
}