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)));
     }
   }
diff --git a/dex2oat/dex2oat.cc b/dex2oat/dex2oat.cc
index afa8495..ec2713a 100644
--- a/dex2oat/dex2oat.cc
+++ b/dex2oat/dex2oat.cc
@@ -993,7 +993,7 @@
 
   if (compiler_filter_string == NULL) {
     if (image) {
-      compiler_filter_string = "everything";
+      compiler_filter_string = "speed";
     } else {
 #if ART_SMALL_MODE
       compiler_filter_string = "interpret-only";