VM_Method im = interfaceMethods[i];
VM_Method im = interfaceMethods[j];
  public static void updateTIBEntry(VM_Class klass, VM_Method m) {    Object[] tib = klass.getTypeInformationBlock();    if (VM.BuildForIMTInterfaceInvocation) {      VM_Method[] map = klass.noIMTConflictMap;      if (map != null) {        for (int i = 0; i<IMT_METHOD_SLOTS; i++) {          if (map[i] == m) {            if (VM.BuildForIndirectIMT) {              VM_CodeArray[] IMT = (VM_CodeArray[])tib[TIB_IMT_TIB_INDEX];              IMT[i] = m.getCurrentInstructions();            } else {              tib[i+TIB_FIRST_INTERFACE_METHOD_INDEX] = m.getCurrentInstructions();            }            return; // all done -- a method is in at most 1 IMT slot          }        }      }    } else if (VM.BuildForITableInterfaceInvocation) {      if (tib[TIB_ITABLES_TIB_INDEX] != null) {        Object[] iTables = (Object[])tib[TIB_ITABLES_TIB_INDEX];        VM_Atom name = m.getName();        VM_Atom desc = m.getDescriptor();        for (int i=0; i<iTables.length; i++) {          Object[] iTable = (Object[])iTables[i];          if (iTable != null) {            VM_Class I = (VM_Class)iTable[0];            VM_Method [] interfaceMethods = I.getDeclaredMethods();            for (int j=0; j<interfaceMethods.length; j++) {              VM_Method im = interfaceMethods[i];              if (im.getName() == name && im.getDescriptor() == desc) {                iTable[getITableIndex(I, name, desc)] = m.getCurrentInstructions();              }            }          }        }      }    }  }