diff options
author | Ian Rogers <irogers@google.com> | 2013-09-24 18:17:04 -0700 |
---|---|---|
committer | Ian Rogers <irogers@google.com> | 2013-09-24 21:17:06 -0700 |
commit | d0fbd85a82a266c21d6b72c61d6dc098ec362de7 (patch) | |
tree | 14f431e4bd889b6c7ec6b29322594786828d3bb1 /runtime/sirt_ref.h | |
parent | fc0e94bed3f88ed7e50854fd8dfaf5dcb345250f (diff) | |
download | art-d0fbd85a82a266c21d6b72c61d6dc098ec362de7.zip art-d0fbd85a82a266c21d6b72c61d6dc098ec362de7.tar.gz art-d0fbd85a82a266c21d6b72c61d6dc098ec362de7.tar.bz2 |
Reduce memory allocation in verifier.
Remove the use of a map PcToRegisterLineTable for efficiency (matches Dalvik).
Place the register line register values inside the RegisterLine, saves a
secondary allocation and indirection.
Avoid the use of a deque in RegisterLine to avoid an allocation.
Simplify the SirtRef destructor in non-debug builds.
Saves >100ms from the two threaded compile time of ThinkFree on host.
Change-Id: I2dacba61dbaf284ca02d4c194413e1da221dcb76
Diffstat (limited to 'runtime/sirt_ref.h')
-rw-r--r-- | runtime/sirt_ref.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/runtime/sirt_ref.h b/runtime/sirt_ref.h index 25d6fb3..a1f8a66 100644 --- a/runtime/sirt_ref.h +++ b/runtime/sirt_ref.h @@ -30,7 +30,8 @@ class SirtRef { self_->PushSirt(&sirt_); } ~SirtRef() { - CHECK_EQ(self_->PopSirt(), &sirt_); + StackIndirectReferenceTable* top_sirt = self_->PopSirt(); + DCHECK_EQ(top_sirt, &sirt_); } T& operator*() const { return *get(); } |