VM_Address buddy = child.toAddress().xor(buddyMask[childSC]).toAddress();
VM_Address buddy = child.toWord().xor(VM_Word.fromInt(buddyMask[childSC])).toAddress();
  private final void merge(VM_Address child, byte childSC, byte originalSC) {    if (VM_Interface.VerifyAssertions) VM_Interface._assert(originalSC == VMResource.getTag(child));    if (childSC == MAX_BLOCK_SIZE_CLASS)      release(child, originalSC);    else {      VM_Address buddy = child.toAddress().xor(buddyMask[childSC]).toAddress();      byte flid = getFreeListID(childSC, originalSC);      if (isFree(buddy) && (getFreeListID(buddy) == flid)) {	removeFromFreeList(buddy, flid);	if (child.GT(buddy))	  child = buddy;	childSC++;	if (childSC == PAGE_BLOCK_SIZE_CLASS)	  decPageCharge(1);	merge(child, childSC, originalSC);      } else	addToFreeList(child, flid);    }  }