summaryrefslogtreecommitdiffstats
path: root/compiler
diff options
context:
space:
mode:
authorBrian Carlstrom <bdc@google.com>2014-03-06 02:10:21 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-03-06 02:10:22 +0000
commit359597ee8c0667a7d2c0b74dcbb0f90bb6059bae (patch)
tree251da13911288d0a89ed1cba316bd94fc1f496e0 /compiler
parente26baffe7f9e2a54f276f5c65e48454e413683ba (diff)
parent5e754d88c73f1f1fafbbf87d564df000d5a0a12c (diff)
downloadart-359597ee8c0667a7d2c0b74dcbb0f90bb6059bae.zip
art-359597ee8c0667a7d2c0b74dcbb0f90bb6059bae.tar.gz
art-359597ee8c0667a7d2c0b74dcbb0f90bb6059bae.tar.bz2
Merge "Revert "Revert "Avoid compiling monster methods in boot image"""
Diffstat (limited to 'compiler')
-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)));
}
}