summaryrefslogtreecommitdiffstats
path: root/compiler/image_writer.cc
diff options
context:
space:
mode:
authorBrian Carlstrom <bdc@google.com>2014-03-05 10:59:04 -0800
committerBrian Carlstrom <bdc@google.com>2014-03-05 15:38:24 -0800
commit5e754d88c73f1f1fafbbf87d564df000d5a0a12c (patch)
tree97f90137dfd596aac487ba073f8623263b1522c6 /compiler/image_writer.cc
parent449fa6e44b220e48dee20f569b46161f3a056add (diff)
downloadart-5e754d88c73f1f1fafbbf87d564df000d5a0a12c.zip
art-5e754d88c73f1f1fafbbf87d564df000d5a0a12c.tar.gz
art-5e754d88c73f1f1fafbbf87d564df000d5a0a12c.tar.bz2
Revert "Revert "Avoid compiling monster methods in boot image""
This reverts commit f679fab9be8905505d26a62bea257641f0bb0168. (cherry picked from commit 9d0bdfe63bec5a43d7668d9094a52caf77b6ed53) Change-Id: I72af1d44483edbd2a5f2e6b678e43f740d4613fd
Diffstat (limited to 'compiler/image_writer.cc')
-rw-r--r--compiler/image_writer.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/compiler/image_writer.cc b/compiler/image_writer.cc
index e3114eb..74be604 100644
--- a/compiler/image_writer.cc
+++ b/compiler/image_writer.cc
@@ -816,12 +816,14 @@ void ImageWriter::PatchOatCodeAndMethods() {
uintptr_t value = quick_code - patch_location + patch->RelativeOffset();
SetPatchLocation(patch, value);
} else {
- // generic JNI, not interpreter bridge from GetQuickOatCodeFor().
- if (target->IsNative() &&
- quick_code == reinterpret_cast<uintptr_t>(GetQuickToInterpreterBridge())) {
- code_offset = quick_generic_jni_trampoline_offset_;
+ if (quick_code == reinterpret_cast<uintptr_t>(GetQuickToInterpreterBridge())) {
+ if (target->IsNative()) {
+ // generic JNI, not interpreter bridge from GetQuickOatCodeFor().
+ code_offset = quick_generic_jni_trampoline_offset_;
+ } else {
+ code_offset = quick_to_interpreter_bridge_offset_;
+ }
}
-
SetPatchLocation(patch, PointerToLowMemUInt32(GetOatAddress(code_offset)));
}
}