return value.or(block.toWord().and(VM_Word.fromInt(~FREE_LIST_MASK))).toAddress();
return value.or(block.toWord().and(FREE_LIST_MASK.not())).toAddress();
  protected static final VM_Address getFreeList(VM_Address block)     throws VM_PragmaInline {    VM_Word value = VM_Magic.getMemoryWord(block.add(FREE_LIST_OFFSET));    value = value.and(VM_Word.fromInt(FREE_LIST_MASK));    if (value.isZero())      return VM_Address.zero();    else      return value.or(block.toWord().and(VM_Word.fromInt(~FREE_LIST_MASK))).toAddress();  }