boolean checkTag ( long bucketIndex , int posInBucket , long tag ) { long tagStartIdx = getTagOffset ( bucketIndex , posInBucket ) ; final int bityPerTag = bitsPerTag ; for ( long i = 0 ; i < bityPerTag ; i ++ ) { if ( memBlock . get ( i + tagStartIdx ) != ( ( tag & ( 1L << i ) ) != 0 ) ) return false ; } return true ; }
Check if a tag in a given position in a bucket matches the tag you passed it . Faster than regular read because it stops checking if it finds a non - matching bit .