int nextOffset =  convertJsrBitNumToOffset(bitnum);
bitnum = scanForNextRef(bitnum+1,mapword, (bitsPerMap - (bitnum -1)), unusualReferenceMaps); int nextOffset =  convertJsrBitNumToOffset(bitnum);
  getNextJSRRef(int offset) {    int mapword, startbitnumb, bitnum;    // user index to locate the gc point of interest    mapword   = mergedReferenceMap;    if ( bytesPerMap == 0) return 0;           // no map ie no refs    // is this the initial scan for the map    if ( offset == STARTOFFSET)    {       startbitnumb = 1;      // start search from beginning       bitnum = scanForNextRef(startbitnumb, mapword,  bitsPerMap, unusualReferenceMaps);       if (VM.TraceStkMaps)	   {	       VM.sysWrite("VM_ReferenceMaps-getJSRNextRef-initial call - startbitnum =");	       VM.sysWrite(startbitnumb );	       VM.sysWrite("  -mapword = ");	       VM.sysWrite(mapword );	       VM.sysWrite(" -bitspermap = ");	       VM.sysWrite(bitsPerMap);	       VM.sysWrite(" \n ");	       VM.sysWrite("                    -initial call return bitnum = ");	       VM.sysWrite( bitnum);	       VM.sysWrite( "\n");	   }       if ( bitnum == NOMORE)       {            return NOMORE;       }       int initOffset =  convertJsrBitNumToOffset(bitnum);       if (VM.TraceStkMaps)	   {	       VM.sysWrite("                      -initial jsr offset returned = " );	       VM.sysWrite( initOffset);	       VM.sysWrite( "\n");	   }       return (initOffset);    }    // get bitnum and determine mapword to restart scan    bitnum = convertJsrOffsetToBitNum(offset);  // get the bit number   // scan forward from current position to next ref   if (VM.TraceStkMaps)       {       VM.sysWrite("VM_ReferenceMaps-getJSRnextref- not initial- starting offset = ");       VM.sysWrite( offset);       VM.sysWrite(" -starting bitnum  = ");       VM.sysWrite( bitnum);       VM.sysWrite( "\n");       }   bitnum = scanForNextRef(bitnum+1,mapword,( bitsPerMap - (bitnum -1)), unusualReferenceMaps);   int nextOffset =  convertJsrBitNumToOffset(bitnum);     if (VM.TraceStkMaps)	{         VM.sysWrite("VM_ReferenceMaps-getJSRnextref- not initial- scan returned bitnum = ");         VM.sysWrite(  bitnum );         VM.sysWrite( "\n");         VM.sysWrite("             - not initial-  next return offset = ");         VM.sysWrite( nextOffset);         VM.sysWrite( "\n");	}     // test for end of map     if (bitnum == NOMORE)       {         return NOMORE;       }   // else convert bitnum to stack offset and return   return (nextOffset);  }