private void sawMonitorExit ( int pc ) { if ( ! monitorSyncPCs . isEmpty ( ) ) { ScopeBlock sb = findSynchronizedScopeBlock ( rootScopeBlock , monitorSyncPCs . get ( 0 ) . intValue ( ) ) ; if ( sb != null ) { sb . setFinish ( pc ) ; } monitorSyncPCs . remove ( monitorSyncPCs . size ( ) - 1 ) ; } }
processes a monitor exit to set the end of the already created scope block