summaryrefslogtreecommitdiff
path: root/compiler/dex/quick_compiler_callbacks.cc
diff options
context:
space:
mode:
author Mathieu Chartier <mathieuc@google.com> 2017-07-17 14:05:28 -0700
committer Mathieu Chartier <mathieuc@google.com> 2017-07-17 16:54:33 -0700
commit0733dc87518d2c8fc1ba2196c9f5cc9729de7c20 (patch)
tree5dfbd7beba81527b31634fa6920b8f0c1f996007 /compiler/dex/quick_compiler_callbacks.cc
parent71a8e5b25f0be5ab5bf0e1c73a9e5aabc3a23488 (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.cc8
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