VM_Class declaringClass = getDeclaringClass();
  public final synchronized VM_CodeArray getCurrentEntryCodeArray() {    if (VM.VerifyAssertions) VM._assert(declaringClass.isResolved());    if (isCompiled()) {      return currentCompiledMethod.getEntryCodeArray();    } else if (!VM.writingBootImage || isNative()) {      if (!isStatic() && !isObjectInitializer() && !isPrivate()) {        // A non-private virtual method.        if (declaringClass.isJavaLangObjectType() ||            declaringClass.getSuperClass().findVirtualMethod(getName(), getDescriptor()) == null) {          // The root method of a virtual method family can use the lazy method invoker directly.          return VM_Entrypoints.lazyMethodInvokerMethod.getCurrentEntryCodeArray();        } else {          // All other virtual methods in the family must generate unique stubs to          // ensure correct operation of the method test (guarded inlining of virtual calls).          return VM_LazyCompilationTrampolineGenerator.getTrampoline();        }      } else {        // We'll never to a method test against this method.        // Therefore we can use the lazy method invoker directly.        return VM_Entrypoints.lazyMethodInvokerMethod.getCurrentEntryCodeArray();      }    } else {      compile();       return currentCompiledMethod.getEntryCodeArray();    }  }