diff options
author | kgallowa <kgallowa@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-01-16 15:06:28 +0000 |
---|---|---|
committer | kgallowa <kgallowa@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-01-16 15:06:28 +0000 |
commit | 34b0e09cd2ed4f463f7168b8ca0fb8f15443d455 (patch) | |
tree | 8a3866653315bfe7be70d28bf9d7d4f62e0bdc88 /libjava/testsuite/libjava.jvmti/getallthreads.java | |
parent | 213448e9810276af654b401117bc42d2d43d447b (diff) | |
download | ppe42-gcc-34b0e09cd2ed4f463f7168b8ca0fb8f15443d455.tar.gz ppe42-gcc-34b0e09cd2ed4f463f7168b8ca0fb8f15443d455.zip |
2007-01-16 Kyle Galloway <kgallowa@redhat.com>
* jvmti.cc (_Jv_JVMTI_GetAllThreads): New function.
* testsuite/libjava.jvmti/getallthreads.java: New test.
* testsuite/libjava.jvmti/natgetallthreads.cc: Ditto.
* testsuite/libjava.jvmti/getallthreads.out: Ditto.
* testsuite/libjava.jvmti/getallthreads.h: Ditto.
* testsuite/libjava.jvmti/getallthreads.jar: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120827 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/testsuite/libjava.jvmti/getallthreads.java')
-rw-r--r-- | libjava/testsuite/libjava.jvmti/getallthreads.java | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/libjava/testsuite/libjava.jvmti/getallthreads.java b/libjava/testsuite/libjava.jvmti/getallthreads.java new file mode 100644 index 00000000000..00be3a75c00 --- /dev/null +++ b/libjava/testsuite/libjava.jvmti/getallthreads.java @@ -0,0 +1,80 @@ +// Test JVMTI GetAllThreads + +import java.util.ArrayList; + +public class getallthreads extends Thread +{ + public static int thread_num; + public static ArrayList threads; + + public int ex_frames; + public boolean done = false; + + public static native void do_getallthreads_tests (); + + public void run () + { + ex_frames = thread_num; + thread_num++; + + if (ex_frames > 0) + { + if ((ex_frames % 2) == 0) + placeholder (); + else + natPlaceholder (); + } + else + runner (); + } + + public native void natPlaceholder (); + public native void natRunner (); + + public void placeholder () + { + ex_frames--; + + if (ex_frames > 0) + { + if ((thread_num % 2) == 0) + placeholder (); + else + natPlaceholder (); + } + else + runner (); + } + + public void runner () + { + done = true; + while (done) + yield (); + } + + public static void main (String[] args) + { + System.out.println ("JVMTI GetAllThreads tests"); + threads = new ArrayList (20); + + getallthreads t; + + for (int i = 0; i < 20; i++) + { + t = new getallthreads (); + threads.add (t); + t.start (); + while (!t.done) + yield (); + } + + do_getallthreads_tests (); + + for (int i = 0; i < 20; i++) + { + t = (getallthreads) threads.get(i); + t.done = false; + } + } +} |