diff options
author | 2018-05-23 11:52:10 +0100 | |
---|---|---|
committer | 2018-06-04 16:14:54 +0100 | |
commit | 03004e66495ba4dff81c1d49522b79e95a829af7 (patch) | |
tree | b50797c42e9555ca04a131aeaca77657c86e64d0 | |
parent | 5816d63bca0a4e0522e06e044e516cdc32993c39 (diff) |
Remove unused native implementation of Object.wait()
As part of the process of verifying Java files against 8u121-b13 the
Object.wait() method has been changed from a native method to a pure
Java implementation. This removes the unused native implementation
method and the supporting method in mirror::Object.
Updated the 911-get-stack-trace test to handle the two extra stack
elements added by this change.
Bug: 74379469
Test: make checkbuild, flash
Change-Id: Ifbc4612f7d949416d8c703628fa8cafaa296c350
-rw-r--r-- | runtime/mirror/object-inl.h | 4 | ||||
-rw-r--r-- | runtime/mirror/object.h | 1 | ||||
-rw-r--r-- | runtime/native/java_lang_Object.cc | 6 | ||||
-rw-r--r-- | test/911-get-stack-trace/expected.txt | 138 | ||||
-rw-r--r-- | test/911-get-stack-trace/src/art/AllTraces.java | 2 | ||||
-rw-r--r-- | test/911-get-stack-trace/src/art/OtherThread.java | 4 | ||||
-rw-r--r-- | test/911-get-stack-trace/src/art/ThreadListTraces.java | 2 |
7 files changed, 108 insertions, 49 deletions
diff --git a/runtime/mirror/object-inl.h b/runtime/mirror/object-inl.h index e022db86fd..ee4f53b695 100644 --- a/runtime/mirror/object-inl.h +++ b/runtime/mirror/object-inl.h @@ -114,10 +114,6 @@ inline void Object::NotifyAll(Thread* self) { Monitor::NotifyAll(self, this); } -inline void Object::Wait(Thread* self) { - Monitor::Wait(self, this, 0, 0, true, kWaiting); -} - inline void Object::Wait(Thread* self, int64_t ms, int32_t ns) { Monitor::Wait(self, this, ms, ns, true, kTimedWaiting); } diff --git a/runtime/mirror/object.h b/runtime/mirror/object.h index 8584b8a56f..a89d6323a5 100644 --- a/runtime/mirror/object.h +++ b/runtime/mirror/object.h @@ -176,7 +176,6 @@ class MANAGED LOCKABLE Object { UNLOCK_FUNCTION(); void Notify(Thread* self) REQUIRES_SHARED(Locks::mutator_lock_); void NotifyAll(Thread* self) REQUIRES_SHARED(Locks::mutator_lock_); - void Wait(Thread* self) REQUIRES_SHARED(Locks::mutator_lock_); void Wait(Thread* self, int64_t timeout, int32_t nanos) REQUIRES_SHARED(Locks::mutator_lock_); template<VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags, diff --git a/runtime/native/java_lang_Object.cc b/runtime/native/java_lang_Object.cc index 208ccf6a82..48540f877d 100644 --- a/runtime/native/java_lang_Object.cc +++ b/runtime/native/java_lang_Object.cc @@ -41,11 +41,6 @@ static void Object_notifyAll(JNIEnv* env, jobject java_this) { soa.Decode<mirror::Object>(java_this)->NotifyAll(soa.Self()); } -static void Object_wait(JNIEnv* env, jobject java_this) { - ScopedFastNativeObjectAccess soa(env); - soa.Decode<mirror::Object>(java_this)->Wait(soa.Self()); -} - static void Object_waitJI(JNIEnv* env, jobject java_this, jlong ms, jint ns) { ScopedFastNativeObjectAccess soa(env); soa.Decode<mirror::Object>(java_this)->Wait(soa.Self(), ms, ns); @@ -61,7 +56,6 @@ 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"), }; diff --git a/test/911-get-stack-trace/expected.txt b/test/911-get-stack-trace/expected.txt index 544fb7da76..b0a400ab75 100644 --- a/test/911-get-stack-trace/expected.txt +++ b/test/911-get-stack-trace/expected.txt @@ -76,7 +76,9 @@ From bottom ################################ From top --------- - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -95,6 +97,8 @@ From top foo (IIILart/ControlData;)I 0 21 run ()V 4 28 --------- + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -113,12 +117,16 @@ From top foo (IIILart/ControlData;)I 0 21 run ()V 4 28 --------- - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 foo (IIILart/ControlData;)I 0 21 --------- + wait ()V 2 568 + printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 foo (IIILart/ControlData;)I 0 21 @@ -263,7 +271,9 @@ main <not printed> --------- AllTraces Thread 0 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -271,7 +281,9 @@ AllTraces Thread 0 --------- AllTraces Thread 1 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -279,7 +291,9 @@ AllTraces Thread 1 --------- AllTraces Thread 2 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -287,7 +301,9 @@ AllTraces Thread 2 --------- AllTraces Thread 3 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -295,7 +311,9 @@ AllTraces Thread 3 --------- AllTraces Thread 4 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -303,7 +321,9 @@ AllTraces Thread 4 --------- AllTraces Thread 5 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -311,7 +331,9 @@ AllTraces Thread 5 --------- AllTraces Thread 6 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -319,7 +341,9 @@ AllTraces Thread 6 --------- AllTraces Thread 7 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -327,7 +351,9 @@ AllTraces Thread 7 --------- AllTraces Thread 8 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -335,7 +361,9 @@ AllTraces Thread 8 --------- AllTraces Thread 9 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -368,7 +396,9 @@ main <not printed> --------- AllTraces Thread 0 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -389,7 +419,9 @@ AllTraces Thread 0 --------- AllTraces Thread 1 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -410,7 +442,9 @@ AllTraces Thread 1 --------- AllTraces Thread 2 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -431,7 +465,9 @@ AllTraces Thread 2 --------- AllTraces Thread 3 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -452,7 +488,9 @@ AllTraces Thread 3 --------- AllTraces Thread 4 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -473,7 +511,9 @@ AllTraces Thread 4 --------- AllTraces Thread 5 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -494,7 +534,9 @@ AllTraces Thread 5 --------- AllTraces Thread 6 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -515,7 +557,9 @@ AllTraces Thread 6 --------- AllTraces Thread 7 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -536,7 +580,9 @@ AllTraces Thread 7 --------- AllTraces Thread 8 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -557,7 +603,9 @@ AllTraces Thread 8 --------- AllTraces Thread 9 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -632,7 +680,9 @@ Test911 --------- ThreadListTraces Thread 0 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -640,7 +690,9 @@ ThreadListTraces Thread 0 --------- ThreadListTraces Thread 2 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -648,7 +700,9 @@ ThreadListTraces Thread 2 --------- ThreadListTraces Thread 4 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -656,7 +710,9 @@ ThreadListTraces Thread 4 --------- ThreadListTraces Thread 6 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -664,7 +720,9 @@ ThreadListTraces Thread 6 --------- ThreadListTraces Thread 8 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -679,7 +737,9 @@ Test911 --------- ThreadListTraces Thread 0 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -700,7 +760,9 @@ ThreadListTraces Thread 0 --------- ThreadListTraces Thread 2 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -721,7 +783,9 @@ ThreadListTraces Thread 2 --------- ThreadListTraces Thread 4 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -742,7 +806,9 @@ ThreadListTraces Thread 4 --------- ThreadListTraces Thread 6 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -763,7 +829,9 @@ ThreadListTraces Thread 6 --------- ThreadListTraces Thread 8 - wait ()V -1 -2 + wait (JI)V -1 -2 + wait (J)V 1 442 + wait ()V 2 568 printOrWait (IILart/ControlData;)V 24 47 baz (IIILart/ControlData;)Ljava/lang/Object; 2 32 bar (IIILart/ControlData;)J 0 26 @@ -797,9 +865,11 @@ JVMTI_ERROR_NO_MORE_FRAMES ################################ ### Other thread (suspended) ### ################################ -18 +20 JVMTI_ERROR_ILLEGAL_ARGUMENT -[public final native void java.lang.Object.wait() throws java.lang.InterruptedException, ffffffff] +[public final native void java.lang.Object.wait(long,int) throws java.lang.InterruptedException, ffffffff] +[public final void java.lang.Object.wait(long) throws java.lang.InterruptedException, 1] +[public final void java.lang.Object.wait() throws java.lang.InterruptedException, 2] [private static void art.Recurse.printOrWait(int,int,art.ControlData), 18] [private static java.lang.Object art.Recurse.baz(int,int,int,art.ControlData), 2] [private static long art.Recurse.bar(int,int,int,art.ControlData), 0] diff --git a/test/911-get-stack-trace/src/art/AllTraces.java b/test/911-get-stack-trace/src/art/AllTraces.java index d73f78bba1..507925c29e 100644 --- a/test/911-get-stack-trace/src/art/AllTraces.java +++ b/test/911-get-stack-trace/src/art/AllTraces.java @@ -56,7 +56,7 @@ public class AllTraces { printAll(0); - printAll(5); + printAll(7); printAll(25); diff --git a/test/911-get-stack-trace/src/art/OtherThread.java b/test/911-get-stack-trace/src/art/OtherThread.java index 675bff55a6..3f5ae59e18 100644 --- a/test/911-get-stack-trace/src/art/OtherThread.java +++ b/test/911-get-stack-trace/src/art/OtherThread.java @@ -36,8 +36,8 @@ public class OtherThread { System.out.println("From top"); PrintThread.print(t, 0, 25); PrintThread.print(t, 1, 25); - PrintThread.print(t, 0, 5); - PrintThread.print(t, 2, 5); + PrintThread.print(t, 0, 7); + PrintThread.print(t, 2, 7); System.out.println("From bottom"); PrintThread.print(t, -1, 25); diff --git a/test/911-get-stack-trace/src/art/ThreadListTraces.java b/test/911-get-stack-trace/src/art/ThreadListTraces.java index 0de93de706..9b27e72f22 100644 --- a/test/911-get-stack-trace/src/art/ThreadListTraces.java +++ b/test/911-get-stack-trace/src/art/ThreadListTraces.java @@ -51,7 +51,7 @@ public class ThreadListTraces { printList(list, 0); - printList(list, 5); + printList(list, 7); printList(list, 25); |