diff options
author | 2017-07-17 14:05:28 -0700 | |
---|---|---|
committer | 2017-07-17 16:54:33 -0700 | |
commit | 0733dc87518d2c8fc1ba2196c9f5cc9729de7c20 (patch) | |
tree | 5dfbd7beba81527b31634fa6920b8f0c1f996007 /compiler/dex/quick_compiler_callbacks.cc | |
parent | 71a8e5b25f0be5ab5bf0e1c73a9e5aabc3a23488 (diff) |
Avoid creating verification_results_ unnecessarily
For compiler filters that don't quicken or compile, avoid creating
the verification results. This avoids creating some arrays that
were using a few MB of RAM in some cases.
For a large app verify compile:
Maximum resident set size (kbytes): 258948 -> 254300
Bug: 63467744
Test: test-art-host
Change-Id: I1d0536b2a6a5c301396641371915394cf4c0e5f3
Diffstat (limited to 'compiler/dex/quick_compiler_callbacks.cc')
-rw-r--r-- | compiler/dex/quick_compiler_callbacks.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/compiler/dex/quick_compiler_callbacks.cc b/compiler/dex/quick_compiler_callbacks.cc index 932eb51aee..b1006b2f0b 100644 --- a/compiler/dex/quick_compiler_callbacks.cc +++ b/compiler/dex/quick_compiler_callbacks.cc @@ -22,11 +22,15 @@ namespace art { void QuickCompilerCallbacks::MethodVerified(verifier::MethodVerifier* verifier) { - verification_results_->ProcessVerifiedMethod(verifier); + if (verification_results_ != nullptr) { + verification_results_->ProcessVerifiedMethod(verifier); + } } void QuickCompilerCallbacks::ClassRejected(ClassReference ref) { - verification_results_->AddRejectedClass(ref); + if (verification_results_ != nullptr) { + verification_results_->AddRejectedClass(ref); + } } } // namespace art |