if (VM.LogAOSEvents) VM_AOSLogging.debug(" Consider OSR" + hme);
if (VM.LogAOSEvents) VM_AOSLogging.debug(" Consider OSR for " + hme);
  private VM_ControllerPlan chooseOSRRecompilation(VM_HotMethodEvent hme) {     if (!VM_Controller.options.OSR_PROMOTION) return null;    if (VM.LogAOSEvents) VM_AOSLogging.debug(" Consider OSR" + hme);     VM_ControllerPlan prev = VM_ControllerMemory.findLatestPlan(hme.getMethod());    double millis = (double)(prev.getTimeCompleted() - prev.getTimeInitiated());    double speedup = prev.getExpectedSpeedup();    double futureTimeForMethod = futureTimeForMethod(hme);    double futureTimeOptimized = futureTimeForMethod / speedup;    if (VM.LogAOSEvents) VM_AOSLogging.debug(" Estimated future time for method " + hme + " is " +                                             futureTimeForMethod);     if (VM.LogAOSEvents) VM_AOSLogging.debug(" Estimated future time optimized " + hme + " is " +                                             (futureTimeOptimized+millis));     if (futureTimeForMethod > futureTimeOptimized + millis) {      VM_AOSLogging.recordOSRRecompilationDecision(prev);      VM_ControllerPlan p = new VM_ControllerPlan(prev.getCompPlan(),                                                   prev.getTimeCreated(),                                                  hme.getCMID(),                                                  prev.getExpectedSpeedup(),                                                  millis,                                                  prev.getPriority());          // set up state to trigger osr          p.setStatus(VM_ControllerPlan.OSR_BASE_2_OPT);      return p;    } else {      return null;    }  }