private void fail(String reason) {
    String message =
        String.format(
            "ERROR in %s.%s: %s",
            method.getDefiningClass().toHuman(), method.getNat().toHuman(), reason);
    throw new SimException(message);
  }
Simulates the effect of the instruction at the given offset, by making appropriate calls on the
given frame.

@param offset {@code offset >= 0;} offset of the instruction to simulate
@param frame {@code non-null;} frame to operate on
@return the length of the instruction, in bytes
android/android_framework/dex-maker/src/main/java/com/android/dx/cf/code/Simulator.java