Multiple virtual addresses map to the same physical location in memory if
it has been determined that they are all intended to access the same
data. In one embodiment, such virtual addresses are identified, and
correspondence information (such as from a translation table) is changed
in order to ensure that they all correspond to the same physical
location, thus freeing up memory and preventing problems such as undue
swapping. A memory request servicer and translation table are used in one
embodiment in order to properly respond to two requests, using different
virtual addresses, both of which store identical data, by accessing the
same location in physical memory. In one embodiment, code rebasing for a
code page is only performed if it has not been performed before; if it
has, a reference to the already rebased code page is returned. Physical
memory which has more than one use (e.g. physical memory referred to by
multiple virtual addresses) is designated read-only.