void recordPassStop ( String passName , long runtime ) { int allocMem = getAllocatedMegabytes ( ) ; Stats logStats = this . currentPass . pop ( ) ; checkState ( passName . equals ( logStats . pass ) ) ; this . log . add ( logStats ) ; // Update fields that aren't related to code size logStats . runtime = runtime ; logStats . allocMem = allocMem ; logStats . runs = 1 ; if ( this . codeChange . hasCodeChanged ( ) ) { logStats . changes = 1 ; } if ( passName . equals ( PassNames . PARSE_INPUTS ) ) { recordParsingStop ( logStats ) ; } else if ( this . codeChange . hasCodeChanged ( ) && tracksAstSize ( ) ) { recordOtherPassStop ( logStats ) ; } }
Collects information about a pass P after P finishes running eg how much time P took and what was its impact on code size .