VM_Statics.setSlotContents(method.getOffsetAsInt() >> LOG_BYTES_IN_INT, method.getCurrentInstructions());
VM_Statics.setSlotContents(method.getOffset(), method.getCurrentInstructions());
  public final synchronized void instantiate() {    if (isInstantiated())      return;    if (VM.TraceClassLoading && VM.runningVM) VM.sysWriteln("VM_Class: (begin) instantiate "+this);    if (VM.VerifyAssertions) VM._assert(state == CLASS_RESOLVED);    // instantiate superclass    //    if (superClass != null) {      superClass.instantiate();    }    if (VM.runningVM) {      // can't instantiate if building bootimage, since this can cause      // class initializer to be lost (when interface is not included in bootimage).      // since we don't need to instantiate/initialize for the purposes of       // dynamic type checking and interface invocation, defer it until runtime      // and the class actually refers to a static field of the interface.      for (int i=0; i<declaredInterfaces.length; i++) {        declaredInterfaces[i].instantiate();      }    }    if (!isInterface()) {      // Initialize slots in the TIB for virtual methods      for (int slot = TIB_FIRST_VIRTUAL_METHOD_INDEX, i = 0,              n = virtualMethods.length; i < n; ++i, ++slot) {        VM_Method method = virtualMethods[i];        if (method.isPrivate() && method.getDeclaringClass() != this) {          typeInformationBlock[slot] = null; // an inherited private method....will never be invoked via this TIB        } else {          typeInformationBlock[slot] = method.getCurrentInstructions();        }      }      // compile <init> methods and put their addresses into jtoc      for (int i = 0, n = constructorMethods.length; i < n; ++i) {        VM_Method method = constructorMethods[i];        VM_Statics.setSlotContents(method.getOffsetAsInt() >> LOG_BYTES_IN_INT, method.getCurrentInstructions());      }      // compile static methods and put their addresses into jtoc      for (int i = 0, n = staticMethods.length; i < n; ++i) {        // don't bother compiling <clinit> here;        // compile it right before we invoke it in initialize.        // This also avoids putting <clinit>s in the bootimage.        VM_Method method = staticMethods[i];        if (!method.isClassInitializer()) {          VM_Statics.setSlotContents(method.getOffsetAsInt() >> LOG_BYTES_IN_INT, method.getCurrentInstructions());        }      }    }    VM_InterfaceInvocation.initializeDispatchStructures(this);    if (VM.writingBootImage) {       state = CLASS_INITIALIZED;    } else {      state = CLASS_INSTANTIATED;    }    VM_Callbacks.notifyClassInstantiated(this);    if (VM.writingBootImage) {      VM_Callbacks.notifyClassInitialized(this);    }    if (VM.TraceClassLoading && VM.runningVM) VM.sysWriteln("VM_Class: (end)   instantiate " +this);  }