diff options
author | Mathieu Chartier <mathieuc@google.com> | 2015-07-17 19:53:47 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2015-07-21 13:31:25 -0700 |
commit | bfbb72ed414688d070fab5c35d652def5ea6361d (patch) | |
tree | 62c96ba4cb906c94cfbc08717a7cd25c4cd501f5 /runtime | |
parent | 030f2af20dcae2c44bcf1b7b265cf3db4e3c23f8 (diff) | |
download | art-bfbb72ed414688d070fab5c35d652def5ea6361d.zip art-bfbb72ed414688d070fab5c35d652def5ea6361d.tar.gz art-bfbb72ed414688d070fab5c35d652def5ea6361d.tar.bz2 |
Don't check code pointer for proxies in ArtMethod::GetQuickFrameInfo
(cherry picked from commit 7c0fe5e99d1d150b3072a3ae4cd0f0362fe32834)
Bug: 22541058
Change-Id: Id084a69ccd9835147ec71df6bb759e0f1b5e6fbf
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/art_method-inl.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/runtime/art_method-inl.h b/runtime/art_method-inl.h index 5cfce41..28a5e67 100644 --- a/runtime/art_method-inl.h +++ b/runtime/art_method-inl.h @@ -20,6 +20,7 @@ #include "art_method.h" #include "art_field.h" +#include "base/logging.h" #include "dex_file.h" #include "dex_file-inl.h" #include "gc_root-inl.h" @@ -314,7 +315,9 @@ inline uintptr_t ArtMethod::NativeQuickPcOffset(const uintptr_t pc) { inline QuickMethodFrameInfo ArtMethod::GetQuickFrameInfo(const void* code_pointer) { DCHECK(code_pointer != nullptr); - DCHECK_EQ(code_pointer, GetQuickOatCodePointer(sizeof(void*))); + if (kIsDebugBuild && !IsProxyMethod()) { + CHECK_EQ(code_pointer, GetQuickOatCodePointer(sizeof(void*))); + } return reinterpret_cast<const OatQuickMethodHeader*>(code_pointer)[-1].frame_info_; } |