One embodiment of the present invention provides a
system that avoids inconsistencies between multiple translators in an object-addressed
memory hierarchy. This object-addressed
memory hierarchy includes an object cache, which supports references to object cache lines based on object identifiers instead of physical addresses. During operation, the
system receives a read-to-share (RTS)
signal for an object cache line, wherein the RTS
signal is received from a requesting processor as part of a cache-coherence operation. If no processor owns the object cache line, the
system causes the requesting processor to become the owner of the object cache line instead of merely holding a copy the object cache line in the shared state. The system also generates a translation for the object cache line in a translator associated with the requesting processor, wherein the translation maps an
object identifier and a corresponding offset to a
physical address for the object cache line and reconstructs the contents of the object cache line by reading from memory at that
physical address. In this way, if the requesting processor owns the object cache line, a subsequent processor that requests the same object cache line will receive the object cache line from the requesting processor, and will not generate an additional translation for the object cache line. This ensures that multiple translators will not generate inconsistent translations for the same object cache line.