question: public void exit ( ) { exitCalled = true ; if ( threadMap != null ) { deleteAllThreads ( ) ; log . info ( "----------------------------- ThreadMan exit -----------------------------" ) ; if ( DurationStatistics . collectStatistics ) { statistics . exit ( ) ; log . info ( String . format ( "ThreadMan Statistics (%,d cycles in %.3fs):" , statistics . allCycles , statistics . getDurationMillis ( ) / 1000.0 ) ) ; Collections . sort ( statistics . threads ) ; for ( Statistics . ThreadStatistics threadStatistics : statistics . threads ) { double percentage = 0 ; if ( statistics . allCycles != 0 ) { percentage = ( threadStatistics . runClocks / ( double ) statistics . allCycles ) * 100 ; } log . info ( String . format ( "    Thread %-30s %,12d cycles (%5.2f%%)" , threadStatistics . getQuotedName ( ) , threadStatistics . runClocks , percentage ) ) ; } } } }
target:  to be called when exiting the emulation 