ART: Fix possible soft+hard failure in verifier

It was possible to generate a hard failure and a subsequent soft
failure, which violates a CHECKed invariant.

Refactor code slightly to share common code.

Bug: 17625962

(cherry picked from commit f08663b47ccd3aa083972d62937a328ad80d080e)

Change-Id: Iccd9e30f1087363b19b2faedc10243a2290202c0
2 files changed