public static void clearAssumptions ( Map < Integer , Integer > assumptionTill , int pc ) { Iterator < Integer > it = assumptionTill . values ( ) . iterator ( ) ; while ( it . hasNext ( ) ) { if ( it . next ( ) . intValue ( ) <= pc ) { it . remove ( ) ; } } }
the map is keyed by register and value by when an assumption holds to a byte offset if we have passed when the assumption holds clear the item from the map