ir.compiledMethodId = VM_CompiledMethods.createCompiledMethodId();
ir.compiledMethod = VM_CompiledMethods.createCompiledMethod(method, VM_CompilerInfo.OPT);
  public OPT_IR execute () {    OPT_IR ir = new OPT_IR(method, this);    ir.compiledMethodId = VM_CompiledMethods.createCompiledMethodId();    // If there is instrumentation to perform, do some initialization    if (instrumentationPlan != null) {      instrumentationPlan.initInstrumentation(method);    }    for (int i = 0; i < optimizationPlan.length; i++) {      optimizationPlan[i].perform(ir);    }    // If instrumentation has occured, perform some    // cleanup/finalization.  NOTE: This code won't execute when    // compilation fails with an exception.  TODO: Figure out    // whether this matters.    if (instrumentationPlan != null) {      instrumentationPlan.finalizeInstrumentation(method);    }    // Give the edge counts a chance to clear their data structures to    // prevent memory leaks.  This would be unnecessary if we had weak    // references.    if (ir.edgeCounts != null)      ir.edgeCounts.compilationFinished();    return  ir;  }