public static CompiledMethod recompileState(ExecutionState state,boolean invalidate){
  CompiledMethod newCM=null;
  do {
    if (!invalidate) {
      newCM=optCompile(state);
    }
 else {
      newCM=baselineCompile(state);
    }
    if (VM.TraceOnStackReplacement) {
      VM.sysWriteln("new CMID 0x" + Integer.toHexString(newCM.getId()) + "("+ newCM.getId()+ ") for "+ newCM.getMethod());
    }
    if (state.callerState == null)     break;
    state=state.callerState;
    state.callee_cmid=newCM.getId();
  }
 while (true);
  return newCM;
}

public static CompiledMethod recompileState ( ExecutionState state , boolean invalidate ) { CompiledMethod newCM = null ; do { if ( ! invalidate ) { newCM = optCompile ( state ) ; } else { newCM = baselineCompile ( state ) ; } if ( VM . TraceOnStackReplacement ) { VM . sysWriteln ( "new CMID 0x" + Integer . toHexString ( newCM . getId ( ) ) + "(" + newCM . getId ( ) + ") for " + newCM . getMethod ( ) ) ; } if ( state . callerState == null ) break ; state = state . callerState ; state . callee_cmid = newCM . getId ( ) ; } while ( true ) ; return newCM ; }
recompile an execution state
