Patent ID: 7774546

Claim:
A method for performing in-cache reference counting in a cache memory, comprising: receiving a request to replace an old cache line that comprises a first set of words with a new cache line that comprises a second set of words, wherein each word in the first set of words and the second set of words includes data or a reference to an object in the cache memory, wherein at least one of the first set of words or the second set of words includes at least one reference to an object in the cache memory, and wherein the new cache line is received from another cache memory; for each word in the second set of words in the new cache line, determining if a word in the new cache line is different than a corresponding word in the old cache line; if so, determining if the corresponding word in the old cache line is a reference that refers to a first object within the cache memory and has been modified since the old cache line was brought into the cache memory, and if so, decrementing a reference counter for a cache line containing the first object, and determining if the word in the new cache line is a reference that refers to a second object within the cache memory and has been modified since the new cache line was brought into the other cache memory, and if so, incrementing a reference counter for a cache line containing the second object; and wherein the reference counter in a cache line keeps track of a total number of references in the cache that refer to objects in the cache line.