diff options
author | 2016-03-16 19:08:31 -0700 | |
---|---|---|
committer | 2016-03-18 15:21:08 -0700 | |
commit | a807780b1d8ee01dfb03923c673621b4c81ac858 (patch) | |
tree | ef7485dca9ad8375559524d74b7c4971d6f088fa /compiler/driver/compiler_options.h | |
parent | 895375bb30716a488bf7b8234e900d1e15de1d21 (diff) |
Add verify-profile compiler filter
Only verifies and dex2dex compiles classes in the profile. Goal
is to reduce application launch time.
~2x faster than interpret-only for Facebook.
Bug: 27688727
(cherry picked from commit a079e3aa62cceb76c1c1811e6e09bcaf75e20289)
Change-Id: Iad5aa1adee3aa6c2408820e8cbbab2d4412021b8
Diffstat (limited to 'compiler/driver/compiler_options.h')
-rw-r--r-- | compiler/driver/compiler_options.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/compiler/driver/compiler_options.h b/compiler/driver/compiler_options.h index fbfa7c85f1..59698af459 100644 --- a/compiler/driver/compiler_options.h +++ b/compiler/driver/compiler_options.h @@ -39,6 +39,7 @@ class CompilerOptions FINAL { kSpeed, // Maximize runtime performance. kEverything, // Force compilation of everything capable of being compiled. kTime, // Compile methods, but minimize compilation time. + kVerifyProfile, // Verify only the classes in the profile. }; // Guide heuristics to determine whether to compile method if profile data not available. @@ -102,13 +103,14 @@ class CompilerOptions FINAL { bool IsCompilationEnabled() const { return compiler_filter_ != CompilerOptions::kVerifyNone && - compiler_filter_ != CompilerOptions::kInterpretOnly && - compiler_filter_ != CompilerOptions::kVerifyAtRuntime; + compiler_filter_ != CompilerOptions::kInterpretOnly && + compiler_filter_ != CompilerOptions::kVerifyAtRuntime && + compiler_filter_ != CompilerOptions::kVerifyProfile; } bool IsVerificationEnabled() const { return compiler_filter_ != CompilerOptions::kVerifyNone && - compiler_filter_ != CompilerOptions::kVerifyAtRuntime; + compiler_filter_ != CompilerOptions::kVerifyAtRuntime; } bool NeverVerify() const { @@ -119,6 +121,10 @@ class CompilerOptions FINAL { return compiler_filter_ == CompilerOptions::kVerifyAtRuntime; } + bool VerifyOnlyProfile() const { + return compiler_filter_ == CompilerOptions::kVerifyProfile; + } + size_t GetHugeMethodThreshold() const { return huge_method_threshold_; } |