summaryrefslogtreecommitdiffstats
path: root/runtime/mirror/art_method-inl.h
diff options
context:
space:
mode:
authorDmitry Petrochenko <dmitry.petrochenko@intel.com>2014-05-16 17:43:39 +0700
committerAndreas Gampe <agampe@google.com>2014-05-16 17:10:20 -0700
commitf0972a410a0665dbe32bd96df09a572d69f9f3a3 (patch)
tree7e68b84a8395c72bdacb293c9e42cb3817f14668 /runtime/mirror/art_method-inl.h
parentde1129a26e0474ea8bb9112938ebb867163969fd (diff)
downloadart-f0972a410a0665dbe32bd96df09a572d69f9f3a3.zip
art-f0972a410a0665dbe32bd96df09a572d69f9f3a3.tar.gz
art-f0972a410a0665dbe32bd96df09a572d69f9f3a3.tar.bz2
Fix generic jni issue in ArtMethod::GetQuickFrameInfo
The 64-bit host mode fails to start due to incorrect detection of GetQuickGenericJniTrampoline. The quick_code is 32-bit and taken from oat file, but GetQuickGenericJniTrampoline returnf 0x7fffxx (64-bit) address of trampoline and execution went to incorrect way. Some clean-up. Original Author: Dmitry Petrochenko <dmitry.petrochenko@intel.com> Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com> Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com> Change-Id: I0952443b2a9f6833ad37ec373837ae208681fad7
Diffstat (limited to 'runtime/mirror/art_method-inl.h')
-rw-r--r--runtime/mirror/art_method-inl.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/runtime/mirror/art_method-inl.h b/runtime/mirror/art_method-inl.h
index c3e2d22..cde977b 100644
--- a/runtime/mirror/art_method-inl.h
+++ b/runtime/mirror/art_method-inl.h
@@ -222,7 +222,7 @@ inline QuickMethodFrameInfo ArtMethod::GetQuickFrameInfo() {
DCHECK(entry_point != GetQuickToInterpreterBridgeTrampoline(runtime->GetClassLinker()));
CHECK(entry_point != GetQuickToInterpreterBridge());
- if (UNLIKELY(entry_point == GetQuickGenericJniTrampoline())) {
+ if (UNLIKELY(entry_point == runtime->GetClassLinker()->GetQuickGenericJniTrampoline())) {
// Generic JNI frame.
DCHECK(IsNative());
uint32_t handle_refs = MethodHelper(this).GetNumberOfReferenceArgsWithoutReceiver() + 1;