public void startNewMaps(int gcPointCount, int jsrCount, int parameterWords) {
public void startNewMaps(int gcPointCount, int jsrCount, int parameterWords) throws VM_PragmaInterruptible {
  public void startNewMaps(int gcPointCount, int jsrCount, int parameterWords) {    //  normal map information    mapCount      = 0;    MCSites       = new int[gcPointCount];    referenceMaps = new byte[gcPointCount * bytesPerMap];    //  jsr ie unusual map information    unusualMaps = null;    numberUnusualMaps = 0;    extraUnusualMap = null;    mergedReferenceMap = 0;    mergedReturnAddressMap = 0;    if (VM.TraceStkMaps) {      VM.sysWrite("VM_ReferenceMaps-startNewMaps-  gcPointCount =  ");      VM.sysWrite( gcPointCount);      VM.sysWrite(" -jsrCount = ");      VM.sysWrite( jsrCount);      VM.sysWrite( "\n");    }    if (jsrCount > 0) {      // generate jsr processing objects      unusualMaps = new VM_UnusualMaps[jsrCount*2];      extraUnusualMap = new VM_UnusualMaps();      // reserve a map for merging maps      tempIndex = getNextMapElement();      // reserve map words for merged reference map      mergedReferenceMap = getNextMapElement();      // reserve map words for merged return address map      mergedReturnAddressMap = getNextMapElement();      //reserve maps for the extraUnusualMapObject      // the reference map      int mapstart = getNextMapElement();      extraUnusualMap.setReferenceMapIndex(mapstart);      //the set of non reference stores      mapstart = getNextMapElement();      extraUnusualMap.setNonReferenceMapIndex(mapstart);      // the return address map      mapstart = getNextMapElement();      extraUnusualMap.setReturnAddressMapIndex(mapstart);    }    if (VM.ReferenceMapsStatistics) {      methodcount = methodcount + 1;      mapcount = mapcount + gcPointCount;    }    return;  }