JVM_ENTRY マクロ内でカレントスレッドを JavaThread::thread_from_jni_environment() によって取得しているので, それを JNI Handle 化して返すだけ.
JVM_CurrentThread() (= java.lang.Thread.currentThread()) -> JavaThread::threadObj()
See: here for details
java.lang.Thread.currentThread() は JVM_CurrentThread() で実装されている.
((cite: jdk/src/share/native/java/lang/Thread.c))
static JNINativeMethod methods[] = {
...
{"currentThread", "()" THD, (void *)&JVM_CurrentThread},
See: here for details
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.