Patent ID: 7801872

Claim:
In a computing environment, wherein the computing environment comprises programmatic code allowing a plurality of threads to be configured to perform one or more of allocation or garbage collection functionality for allocating memory or freeing memory for use for other objects, a method of allowing different threads to perform concurrent allocation and garbage collection functions such that a thread can perform allocation tasks on memory for an object while allowing other threads to perform garbage collection tasks on the memory for the object, the method comprising: at an allocator thread, reserving memory for a first object, wherein reserving memory for the first object comprises indicating that the memory for first object is locked; at the allocator thread, providing an indication of memory size for the memory for the first object; at the allocator thread, providing an indication of a first type of the first object, the first type being a specialized type indicating that the object has no references to other objects; at the allocator thread, after the indication of memory size is provided, indicating that the memory for the first object is well formed, whether or not the first object is well formed in the memory, so as to unlock the memory; at a different garbage collection thread, attempting to access the object, wherein attempting to access the object comprises accessing the indication of the first type and the indication of memory size; at the different garbage collection thread, jumping past the memory for the first object based the accessed size.