diff options
| author | Andy McFadden <fadden@android.com> | 2011-02-24 16:53:55 -0800 |
|---|---|---|
| committer | Andy McFadden <fadden@android.com> | 2011-02-25 14:39:12 -0800 |
| commit | d18fcbcee7115ff99673222650fda0f7e982c60a (patch) | |
| tree | f7714ae02960ee6cccea14773dd5b0cfb013c65c /dexopt | |
| parent | 6367bb2c9da8098e2cfa2b3654f156a3ac04da17 (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.c | 1 |
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; } } |
