aboutsummaryrefslogtreecommitdiff
path: root/dexopt
diff options
context:
space:
mode:
authorAndy McFadden <fadden@android.com>2011-02-24 16:53:55 -0800
committerAndy McFadden <fadden@android.com>2011-02-25 14:39:12 -0800
commitd18fcbcee7115ff99673222650fda0f7e982c60a (patch)
treef7714ae02960ee6cccea14773dd5b0cfb013c65c /dexopt
parent6367bb2c9da8098e2cfa2b3654f156a3ac04da17 (diff)
Update dexopt control logic
This adds a new mode, -Xdexopt:full. In most ways it behaves like -Xdexopt:verified (the default), but when an un-optimized class is loaded we will do a full set of optimizations instead of just the "essential" set. For classes that are verified and optimized by dexopt (which is to say, most of them), this has no effect. For the others, this trades off speed for space, substituting quickened instructions but causing copy-on-write of pages mapped from the DEX file. This also demotes the substitution of execute-inline opcodes to "non-essential" status. Change-Id: I392fb2ff0bf0af83c000937079895d25ce7f0cb1
Diffstat (limited to 'dexopt')
-rw-r--r--dexopt/OptMain.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/dexopt/OptMain.c b/dexopt/OptMain.c
index 765fd7f51..7ecd1e01a 100644
--- a/dexopt/OptMain.c
+++ b/dexopt/OptMain.c
@@ -151,6 +151,7 @@ static int extractAndProcessZip(int zipFd, int cacheFd,
case 'n': dexOptMode = OPTIMIZE_MODE_NONE; break;
case 'v': dexOptMode = OPTIMIZE_MODE_VERIFIED; break;
case 'a': dexOptMode = OPTIMIZE_MODE_ALL; break;
+ case 'f': dexOptMode = OPTIMIZE_MODE_FULL; break;
default: break;
}
}