Clear interpreter cache with atomic stores

std::fill* function can potentially cause partial clearing which doesn't
work well with IsMarked() functions.

Also added more info in the nullptr CHECK while sweeping interpreter
caches.

Bug: 273235602
Test: manual
Change-Id: I47993504c18ed0c088a73b8eb77d1eaae9fef729
3 files changed