VM.assert(VM.NOT_REACHED,
VM._assert(VM.NOT_REACHED,
  public static void resolveDynamicLink (VM_OptCompiledMethod cm, int offset)     throws VM_ResolutionException {    VM_OptMachineCodeMap map = cm.getMCMap();    int bci = map.getBytecodeIndexForMCOffset(offset);    VM_Method realMethod = map.getMethodForMCOffset(offset);    if (bci == -1 || realMethod == null)      VM.sysFail("Mapping to source code location not available at Dynamic Linking point\n");    byte[] bytecodes = realMethod.getBytecodes();    int bytecode = bytecodes[bci] & 0xFF;    int cpi = ((bytecodes[bci + 1] & 0xFF) << 8) | (bytecodes[bci + 2] & 0xFF);    switch (bytecode) {    case JBC_getfield: case JBC_putfield:     case JBC_getstatic: case JBC_putstatic:       { 	VM_Field target = realMethod.getDeclaringClass().getFieldRef(cpi);	if (VM.TraceDynamicLinking) {	  VM_Class declaringClass = target.getDeclaringClass();	  VM.sysWrite(realMethod);	  VM.sysWrite(" at bci ");	  VM.sysWrite(bci, false);	  VM.sysWrite(" is causing dynamic loading of ");	  VM.sysWrite(declaringClass.getDescriptor());	  VM.sysWrite(" due to ");	  VM.sysWrite(target);	  VM.sysWrite("\n");	}	VM_TableBasedDynamicLinker.resolve(target);      }      break;    case JBC_invokevirtual:case JBC_invokestatic:      {	VM_Method target = realMethod.getDeclaringClass().getMethodRef(cpi);	if (VM.TraceDynamicLinking) {	  VM_Class declaringClass = target.getDeclaringClass();	  VM.sysWrite(realMethod);	  VM.sysWrite(" at bci ");	  VM.sysWrite(bci, false);	  VM.sysWrite(" is causing dynamic loading of ");	  VM.sysWrite(declaringClass.getDescriptor());	  VM.sysWrite(" due to ");	  VM.sysWrite(target);	  VM.sysWrite("\n");	}	VM_TableBasedDynamicLinker.resolve(target);      }      break;    case JBC_invokeinterface:      // We believe that in the RVM this cannot cause dynamic linking    case JBC_invokespecial:             // We believe that the offsets will always be valid for an       // invokespecial; As part of creating the uninitialized instance       // of an object, the runtime system must have invoked the class loader       // to load the class and therefore by the time the call to the init       // code is executed, the method offset table will contain a valid value.    default:      if (VM.VerifyAssertions)	VM.assert(VM.NOT_REACHED, 		  "Unexpected case in VM_OptLinker.resolveDynamicLink");      break;    }  }