Revert^2 "Support using opaque JNI ids"

We weren't handing the fact that encoding jmethodIDs could cause OOM
exceptions in some places in reflection.cc. This could lead to
attempting to use a null jmethodID as if it were a real id. This issue
is fixed by the parent CL.

This reverts commit b476a29a2c.
This reverts commit 3b2905366c.
This Unreverts commit d5d645ffec.
This Unreverts commit 21d5994583.

Reason for revert: Fixed issue causing 004 debuggable flakes
Test: ./test.py --host --jit --debuggable
Bug: 134162467

Change-Id: Iece08ab299cd8a20f8382be7be6c3796858e70eb
diff --git a/openjdkjvmti/ti_method.cc b/openjdkjvmti/ti_method.cc
index d8ee981..defcd54 100644
--- a/openjdkjvmti/ti_method.cc
+++ b/openjdkjvmti/ti_method.cc
@@ -93,12 +93,13 @@
       ScopedLocalRef<jthread> thread_jni(
           jnienv, PhaseUtil::IsLivePhase() ? jnienv->AddLocalReference<jthread>(thread->GetPeer())
                                            : nullptr);
+      jmethodID method_id = art::jni::EncodeArtMethod(method);
       art::ScopedThreadSuspension sts(thread, art::ThreadState::kNative);
       event_handler->DispatchEvent<ArtJvmtiEvent::kNativeMethodBind>(
           thread,
           static_cast<JNIEnv*>(jnienv),
           thread_jni.get(),
-          art::jni::EncodeArtMethod(method),
+          method_id,
           const_cast<void*>(cur_method),
           new_method);
     }