changeset 476:a7fac4381b50

6639341: sometimes contended-exit event comes after contended-entered on another thread Summary: DTrace probe "contended-exit" should be fired before unparking object, or context could be lost. Probe firing was moved to proper place. Reviewed-by: coleenp, kamg
author blacklion
date Thu, 11 Dec 2008 03:22:04 -0800
parents 24fda36852ce
children 06d2c3204df4
files src/share/vm/runtime/synchronizer.cpp
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/runtime/synchronizer.cpp	Wed Dec 10 15:14:29 2008 -0800
+++ b/src/share/vm/runtime/synchronizer.cpp	Thu Dec 11 03:22:04 2008 -0800
@@ -3363,13 +3363,13 @@
    //   If the wakee is cold then transiently setting it's affinity
    //   to the current CPU is a good idea.
    //   See http://j2se.east/~dice/PERSIST/050624-PullAffinity.txt
+   DTRACE_MONITOR_PROBE(contended__exit, this, object(), Self);
    Trigger->unpark() ;
 
    // Maintain stats and report events to JVMTI
    if (ObjectSynchronizer::_sync_Parks != NULL) {
       ObjectSynchronizer::_sync_Parks->inc() ;
    }
-   DTRACE_MONITOR_PROBE(contended__exit, this, object(), Self);
 }