6639341: sometimes contended-exit event comes after contended-entered on another thread

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
This commit is contained in:
Lev Serebryakov 2008-12-11 03:22:04 -08:00
parent e0d2bfab81
commit 92ea783f35

View File

@ -3363,13 +3363,13 @@ void ObjectMonitor::ExitEpilog (Thread * Self, ObjectWaiter * Wakee) {
// 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);
}