You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by gs...@apache.org on 2007/10/16 16:02:17 UTC

svn commit: r585144 - in /harmony/enhanced/drlvm/trunk/vm/vmcore/src: jvmti/jvmti_thread.cpp thread/thread_java_basic.cpp

Author: gshimansky
Date: Tue Oct 16 07:02:03 2007
New Revision: 585144

URL: http://svn.apache.org/viewvc?rev=585144&view=rev
Log:
Applied patch from HARMONY-4939
[drlvm][thread] HoldEvent, ReleaseEvent JDWP unit tests fail


Modified:
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_thread.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/thread_java_basic.cpp

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_thread.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_thread.cpp?rev=585144&r1=585143&r2=585144&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_thread.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_thread.cpp Tue Oct 16 07:02:03 2007
@@ -131,8 +131,9 @@
         jthread_iterator_release(&iterator);
         return err; 
     } 
-    for (i=0;i<java_thread_count;i++)    {
-        java_threads[i]=p_TLS_vmthread->jni_env->NewLocalRef(jthread_iterator_next(&iterator));
+    for (i=0;i<java_thread_count;i++) {
+        java_threads[i]= oh_copy_to_local_handle(jthread_iterator_next(&iterator));
+        assert(java_threads[i]);
     }
     *threads_count_ptr = java_thread_count;
     *threads_ptr = java_threads;

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/thread_java_basic.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/thread_java_basic.cpp?rev=585144&r1=585143&r2=585144&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/thread_java_basic.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/thread_java_basic.cpp Tue Oct 16 07:02:03 2007
@@ -137,15 +137,17 @@
     // increase started thread count
     jthread_start_count();
 
-    // Send Thread Start event.
+    // set j.l.Thread.isAlive field to true
     assert(hythread_is_alive(native_thread));
     jni_env->SetBooleanField(java_thread,
         jthread_get_alive_field(jni_env, java_thread), true);
-    jvmti_send_thread_start_end_event(vm_thread, 1);
 
     // release hythread global lock
     status = hythread_global_unlock();
     assert(status == TM_ERROR_NONE);
+
+    // set JVMTI Thread Start event
+    jvmti_send_thread_start_end_event(vm_thread, 1);
 
     jvmtiStartFunction start_jvmti_proc = start_proc_data.proc;
     if (start_jvmti_proc != NULL) {