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/natgetallthreads.cc | |
| 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/natgetallthreads.cc')
| -rw-r--r-- | libjava/testsuite/libjava.jvmti/natgetallthreads.cc | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/libjava/testsuite/libjava.jvmti/natgetallthreads.cc b/libjava/testsuite/libjava.jvmti/natgetallthreads.cc new file mode 100644 index 00000000000..9c4d69cde74 --- /dev/null +++ b/libjava/testsuite/libjava.jvmti/natgetallthreads.cc @@ -0,0 +1,55 @@ +#include <gcj/cni.h> + +#include <jvm.h> +#include <jvmti.h> +#include <stdio.h> + +#include "jvmti-int.h" +#include "getallthreads.h" + +void +getallthreads::natPlaceholder () +{ + ex_frames--; + + if (ex_frames > 0) + { + if ((getallthreads::thread_num % 2) == 0) + placeholder (); + else + natPlaceholder (); + } + else + natRunner (); +} + +void +getallthreads::natRunner () +{ + done = true; + while (done) + yield (); +} + +void +getallthreads::do_getallthreads_tests () +{ + jvmtiEnv *env; + JavaVM *vm = _Jv_GetJavaVM (); + vm->GetEnv (reinterpret_cast<void **> (&env), JVMTI_VERSION_1_0); + + jint num_threads; + jthread *thread_arr; + + jvmtiError jerr = env->GetAllThreads (&num_threads, &thread_arr); + if (jerr != JVMTI_ERROR_NONE) + { + printf ("Test Failed, JVMTI Error!\n"); + return; + } + env->Deallocate (reinterpret_cast<unsigned char *> (thread_arr)); + + for (int i = 0; i < num_threads; i++) + printf ("Found thread %d\n", i+1 ); +} + |

