Reland "Don't use instrumentation stubs for native methods in debuggable"

This reverts commit 5c9b55aa95295a287abd86f1e7fbe98c3f35ffd6.

Reason for revert: Relanding with fixes for failure
Fixes:
1. Arm64 needs to use 64-bit registers
2. We cannot deoptimize directly from GenericJniEndTrampoline since we
only have a refs and args frame. So call the method exit hooks from
art_quick_generic_jni_trampoline.

Change-Id: If1f08eca69626f60f42f10205b482a3764610846
diff --git a/runtime/entrypoints/quick/quick_default_externs.h b/runtime/entrypoints/quick/quick_default_externs.h
index f8856d8..cb3caac 100644
--- a/runtime/entrypoints/quick/quick_default_externs.h
+++ b/runtime/entrypoints/quick/quick_default_externs.h
@@ -122,6 +122,7 @@
 extern "C" void art_jni_monitored_method_start();
 extern "C" void art_jni_method_end();
 extern "C" void art_jni_monitored_method_end();
+extern "C" void art_jni_method_entry_hook();
 
 // JNI lock/unlock entrypoints. Note: Custom calling convention.
 extern "C" void art_jni_lock_object(art::mirror::Object*);