Patent ID: 7254597

Claim:
A method of supporting dynamic-sizing for a shared data structure, the method comprising: providing the shared data structure, wherein the shared data structure is dynamically-sizable, and wherein the shared data structure includes separately reclaimable blocks of storage sharable, at least in part, by a plurality of threads of a multithreaded computation; in one of the plurality of threads of the multithreaded computation, successfully posting a guard on a value that encodes a pointer read from the shared data structure; in response to said successfully posting, dereferencing the pointer; freeing storage referenced by the value, wherein said freeing comprises: determining that storage referenced by the pointer is not in the shared data structure; determining that no guard successfully posted on the value remains successfully posted on the value; and in response to determining that storage referenced by the pointer is not in the shared data structure and no guard successfully posted on the value remains successfully posted on the value, qualifying the storage referenced by the value for deallocation.