private int getNextMapElement() {
private int getNextMapElement() throws VM_PragmaInterruptible {
  private int getNextMapElement() {    if (unusualReferenceMaps == null) {      // start up code      unusualReferenceMaps = new byte[ ((6 * 3) + 1) * bytesPerMap ];  // 3 maps per unusual map    }    if ( freeMapSlot >= unusualReferenceMaps.length) {      // map is full - get new array, twice the size      byte[] newArray = new byte[unusualReferenceMaps.length <<1];      // copy array from old to new      for ( int i = 0; i < unusualReferenceMaps.length; i++)        newArray[i] = unusualReferenceMaps[i];      // replace old array with the new      unusualReferenceMaps = newArray;   // replace array    }    int allocate = freeMapSlot;    freeMapSlot = freeMapSlot + bytesPerMap;    return allocate;  }