Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 66745 invoked from network); 12 Sep 2007 12:51:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 12 Sep 2007 12:51:42 -0000 Received: (qmail 12509 invoked by uid 500); 12 Sep 2007 12:51:35 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 12419 invoked by uid 500); 12 Sep 2007 12:51:35 -0000 Mailing-List: contact commits-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list commits@harmony.apache.org Received: (qmail 12410 invoked by uid 99); 12 Sep 2007 12:51:35 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Sep 2007 05:51:35 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Sep 2007 12:53:17 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id B89041A983A; Wed, 12 Sep 2007 05:51:18 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r574926 - in /harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread: thread_ti_instr.cpp thread_ti_timing.cpp Date: Wed, 12 Sep 2007 12:51:17 -0000 To: commits@harmony.apache.org From: gshimansky@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20070912125118.B89041A983A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: gshimansky Date: Wed Sep 12 05:51:17 2007 New Revision: 574926 URL: http://svn.apache.org/viewvc?rev=574926&view=rev Log: Changed some assertions to work ok with dead threads. This fixes problem with lang.management in HARMONY-3967 Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/thread_ti_instr.cpp harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/thread_ti_timing.cpp Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/thread_ti_instr.cpp URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/thread_ti_instr.cpp?rev=574926&r1=574925&r2=574926&view=diff ============================================================================== --- harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/thread_ti_instr.cpp (original) +++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/thread_ti_instr.cpp Wed Sep 12 05:51:17 2007 @@ -365,8 +365,10 @@ assert(java_thread); hythread_t native_thread = vm_jthread_get_tm_data(java_thread); jvmti_thread_t jvmti_thread = jthread_get_jvmti_thread(native_thread); - assert(jvmti_thread); - *monitor = jvmti_thread->contended_monitor; + if (jvmti_thread) + *monitor = jvmti_thread->contended_monitor; + else + *monitor = NULL; return TM_ERROR_NONE; } // jthread_get_contended_monitor @@ -382,8 +384,10 @@ assert(java_thread); hythread_t native_thread = vm_jthread_get_tm_data(java_thread); jvmti_thread_t jvmti_thread = jthread_get_jvmti_thread(native_thread); - assert(jvmti_thread); - *monitor = jvmti_thread->wait_monitor; + if (jvmti_thread) + *monitor = jvmti_thread->wait_monitor; + else + *monitor = NULL; return TM_ERROR_NONE; } // jthread_get_wait_monitor @@ -467,7 +471,11 @@ } hythread_t native_thread = vm_jthread_get_tm_data(java_thread); jvmti_thread_t jvmti_thread = jthread_get_jvmti_thread(native_thread); - assert(jvmti_thread); + if (!jvmti_thread) + { + status = hythread_global_unlock(); + return status; + } jobject *monitors = (jobject *) malloc(sizeof(jobject *) * Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/thread_ti_timing.cpp URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/thread_ti_timing.cpp?rev=574926&r1=574925&r2=574926&view=diff ============================================================================== --- harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/thread_ti_timing.cpp (original) +++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/thread_ti_timing.cpp Wed Sep 12 05:51:17 2007 @@ -48,8 +48,10 @@ hythread_t native_thread = vm_jthread_get_tm_data(java_thread); assert(native_thread); jvmti_thread_t jvmti_thread = jthread_get_jvmti_thread(native_thread); - assert(jvmti_thread); - *nanos_ptr = jvmti_thread->blocked_time; + if (jvmti_thread) + *nanos_ptr = jvmti_thread->blocked_time; + else + *nanos_ptr = 0; return TM_ERROR_NONE; } // jthread_get_thread_blocked_time @@ -119,8 +121,10 @@ hythread_t native_thread = vm_jthread_get_tm_data(java_thread); assert(native_thread); jvmti_thread_t jvmti_thread = jthread_get_jvmti_thread(native_thread); - assert(jvmti_thread); - *nanos_ptr = jvmti_thread->waited_time; + if (jvmti_thread) + *nanos_ptr = jvmti_thread->waited_time; + else + *nanos_ptr = 0; return TM_ERROR_NONE; } // jthread_get_thread_waited_time @@ -137,8 +141,10 @@ hythread_t native_thread = jthread_get_native_thread(java_thread); assert(native_thread); jvmti_thread_t jvmti_thread = jthread_get_jvmti_thread(native_thread); - assert(jvmti_thread); - return jvmti_thread->blocked_count; + if (jvmti_thread) + return jvmti_thread->blocked_count; + else + return 0; } // jthread_get_thread_blocked_times_count /** @@ -153,8 +159,10 @@ hythread_t native_thread = jthread_get_native_thread(java_thread); assert(native_thread); jvmti_thread_t jvmti_thread = jthread_get_jvmti_thread(native_thread); - assert(jvmti_thread); - return jvmti_thread->waited_count; + if (jvmti_thread) + return jvmti_thread->waited_count; + else + return 0; } // jthread_get_thread_waited_times_count /**