Revert "Revert "Avoid compiling monster methods in boot image""

This reverts commit f679fab9be8905505d26a62bea257641f0bb0168.

(cherry picked from commit 9d0bdfe63bec5a43d7668d9094a52caf77b6ed53)

Change-Id: I72af1d44483edbd2a5f2e6b678e43f740d4613fd
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 @@
       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)));
     }
   }