1. A memory management method comprising: having a fetching pointer operate on memory objects distributed in a second memory space between a scan pointer and an allocation pointer, scanning memory objects to find slots holding pointers to objects in the first memory space, moving the fetching pointer to a next memory slot in the second memory space when the scanned memory slot does not hold a pointer to an object in the first memory space, and prefetching the memory object in the first space into a cache shared with thread supporting the allocation pointer when the scanned memory slot holds a pointer to an object in the first space.