summaryrefslogtreecommitdiff
path: root/runtime/native/java_lang_Object.cc
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/native/java_lang_Object.cc')
-rw-r--r--runtime/native/java_lang_Object.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/runtime/native/java_lang_Object.cc b/runtime/native/java_lang_Object.cc
index 6989244280..fb4f99a126 100644
--- a/runtime/native/java_lang_Object.cc
+++ b/runtime/native/java_lang_Object.cc
@@ -48,12 +48,19 @@ static void Object_waitJI(JNIEnv* env, jobject java_this, jlong ms, jint ns) {
soa.Decode<mirror::Object>(java_this)->Wait(soa.Self(), ms, ns);
}
+static jint Object_identityHashCodeNative(JNIEnv* env, jclass, jobject javaObject) {
+ ScopedFastNativeObjectAccess soa(env);
+ ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(javaObject);
+ return static_cast<jint>(o->IdentityHashCode());
+}
+
static JNINativeMethod gMethods[] = {
FAST_NATIVE_METHOD(Object, internalClone, "()Ljava/lang/Object;"),
FAST_NATIVE_METHOD(Object, notify, "()V"),
FAST_NATIVE_METHOD(Object, notifyAll, "()V"),
OVERLOADED_FAST_NATIVE_METHOD(Object, wait, "()V", wait),
OVERLOADED_FAST_NATIVE_METHOD(Object, wait, "(JI)V", waitJI),
+ FAST_NATIVE_METHOD(Object, identityHashCodeNative, "(Ljava/lang/Object;)I"),
};
void register_java_lang_Object(JNIEnv* env) {