# HG changeset patch # User blacklion # Date 1228994524 28800 # Node ID a7fac4381b50ec17234649834e18f5620e014c33 # Parent 24fda36852ce76e8b0cb0dd0c96147d9a64927e2 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 diff -r 24fda36852ce -r a7fac4381b50 src/share/vm/runtime/synchronizer.cpp --- 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); }