diff --git a/src/jnienv.cpp b/src/jnienv.cpp index 9ed2ce4815..da86b870fe 100644 --- a/src/jnienv.cpp +++ b/src/jnienv.cpp @@ -460,22 +460,42 @@ GetSuperclass(Thread* t, jclass c) return reinterpret_cast(run(t, getSuperclass, arguments)); } -jboolean JNICALL -IsInstanceOf(Thread* t, jobject o, jclass c) +uint64_t +isInstanceOf(Thread* t, uintptr_t* arguments) { - ENTER(t, Thread::ActiveState); + jobject o = reinterpret_cast(arguments[0]); + jclass c = reinterpret_cast(arguments[1]); return instanceOf(t, jclassVmClass(t, *c), *o); } jboolean JNICALL -IsAssignableFrom(Thread* t, jclass b, jclass a) +IsInstanceOf(Thread* t, jobject o, jclass c) { - ENTER(t, Thread::ActiveState); + uintptr_t arguments[] = { reinterpret_cast(o), + reinterpret_cast(c) }; + + return run(t, isInstanceOf, arguments); +} + +uint64_t +isAssignableFrom(Thread* t, uintptr_t* arguments) +{ + jclass b = reinterpret_cast(arguments[0]); + jclass a = reinterpret_cast(arguments[1]); return isAssignableFrom(t, jclassVmClass(t, *a), jclassVmClass(t, *b)); } +jboolean JNICALL +IsAssignableFrom(Thread* t, jclass b, jclass a) +{ + uintptr_t arguments[] = { reinterpret_cast(b), + reinterpret_cast(a) }; + + return run(t, isAssignableFrom, arguments); +} + object findMethod(Thread* t, jclass c, const char* name, const char* spec) {