Workaround for cfg building failure

Currently the compiler expects well-formed control flow graphs -
no dead code (though infinate loops are allowed).  This is the
case for all dx output (but might not be for custom tools).
However, when the verifier replaces an instruction with
OP_THROW_VERIFICATION_ERROR, it can create dead code from a
previously well-formed graph.  This CL works around that
problem by not treating OP_THROW_VERIFICATION_ERROR as a
direct branch.

A future CL will alter the CFG builder to be resiliant in the face
of dead code.

Also, removes a spurious DCHECK, and adds a few where they are
needed.

Change-Id: I68554a2a8b88e857faeff3300f2ebbf2d0323693
2 files changed
tree: 8d39d304cfa299c351995bce6e78b2ed75b610a6
  1. Android.mk
  2. build/
  3. oat_process/
  4. oat_runtime/
  5. src/
  6. test/
  7. tools/