int instructionOffset,
Offset instructionOffset,
  public static final int findCatchBlockForInstruction(int[] eTable,                                                       int instructionOffset,                                                        VM_Type exceptionType) {    for (int i = 0, n = eTable.length; i < n; i += 4) {      // note that instructionOffset points to the instruction after the PEI      // so the range check here must be "offset >  beg && offset <= end"      // and not                         "offset >= beg && offset <  end"      //      // offset starts are sorted by starting point      if (instructionOffset > eTable[i + TRY_START] &&          instructionOffset <= eTable[i + TRY_END]) {        VM_Type lhs = VM_Type.getType(eTable[i + EX_TYPE]);        if (lhs == exceptionType) {          return eTable[i + CATCH_START];        } else if (lhs.isInitialized()) {          Object[] rhsTIB = exceptionType.getTypeInformationBlock();          if (VM_DynamicTypeCheck.instanceOfClass(lhs.asClass(), rhsTIB)) {            return eTable[i + CATCH_START];          }        }      }    }    return -1;  }