int pageAddr  = page << PAGE_OFFSET; int chunkAddr = slot << SLOT_OFFSET; int wordAddr  = word << WORD_OFFSET; int bitAddr   = bit  << LOG_OBJECT_ALIGNMENT; int rv = pageAddr | chunkAddr | wordAddr | wordAddr | bitAddr;  VM_Address addr = VM_Address.fromInt(rv);
VM_Word pageAddr  = VM_Word.fromIntZeroExtend(page).lsh(PAGE_OFFSET); VM_Word chunkAddr  = VM_Word.fromIntZeroExtend(slot).lsh(SLOT_OFFSET); VM_Word wordAddr  = VM_Word.fromIntZeroExtend(word).lsh(WORD_OFFSET); VM_Word bitAddr  = VM_Word.fromIntZeroExtend(bit).lsh(LOG_OBJECT_ALIGNMENT);  VM_Address addr = pageAddr.or(chunkAddr).or(wordAddr).or(wordAddr).or(bitAddr).toAddress();
  private static VM_Address bitmapToAddress(int page, int slot, int word, int bit) {    int pageAddr  = page << PAGE_OFFSET;    int chunkAddr = slot << SLOT_OFFSET;    int wordAddr  = word << WORD_OFFSET;    int bitAddr   = bit  << LOG_OBJECT_ALIGNMENT;    int rv = pageAddr | chunkAddr | wordAddr | wordAddr | bitAddr;    //debugln(3, "bitmapToAddress: ", rv);    VM_Address addr = VM_Address.fromInt(rv);    if (VM_Interface.VerifyAssertions) {      VM_Interface._assert(page == addressToPage(addr));      VM_Interface._assert(slot == addressToSlot(addr));      VM_Interface._assert(word == addressToWord(addr));      VM_Interface._assert(bit == addressToBit(addr));    }    return addr;  }