ieMaps = VM_OptEncodedCallSiteTree.getEncoding(inliningTree);
  private void translateMap(LinkedList osrlist) {    /* sort the list, use the mc offset of the index instruction      * as the key.     */    int n = osrlist.size();    OSR_VariableMapElement[] osrarray = new OSR_VariableMapElement[n];    for (int i=0; i<n; i++) {      osrarray[i] = (OSR_VariableMapElement)osrlist.get(i);    }    /* ideally, the osrList should be in sorted order by MC offset,     * but I got once it is not in the order. To work correctly,     * sort it first.     *      * TODO: figure out why LiveAnalysis does not give correct order?     */    quickSort(osrarray, 0, n-1);    // make inline encoding, OSR maps,    OPT_CallSiteTree inliningTree = new OPT_CallSiteTree();    for (int i=0; i<n; i++) {      OPT_Instruction instr = osrarray[i].osr;            // add lining element, move sanity later      if (instr.position != null) {         inliningTree.addLocation(instr.position);      }    }    //get inlining encoding    ieMaps = VM_OptEncodedCallSiteTree.getEncoding(inliningTree);    for (int i=0; i<n; i++) {      OSR_VariableMapElement elm = osrarray[i];            OPT_Instruction instr = elm.osr;      int iei = inliningTree.find(instr.position).encodedOffset;      setIEIndex(i, iei);      // get osr map       LinkedList mVarList = elm.mvars;      int osrMapIndex = generateOsrMaps(mVarList);            // use this offset, and adjust on extractState      int mcOffset = instr.getmcOffset();      setMCOffset(i, mcOffset);       setOSRMapIndex(i, osrMapIndex);      setBCIndex(i, instr.getBytecodeIndex());    }  }