1. A microprocessor comprising: a general purpose central processing unit (CPU); a special processing unit (SPU); and a memory; wherein the CPU is configured to send a garbage collection request to free space in the memory and a first log to the SPU, in response to determining a garbage collection initiate condition is satisfied; wherein in response to receiving the garbage collection request, the SPU is configured to: create a representation of the memory in a local memory within the SPU; perform a first set of operations corresponding to a garbage collection algorithm on data objects within the local memory representing data objects identified by the first log; and record a second set of operations in a second log, wherein the second set reorganizes the data objects in the local memory to free space within the local memory; wherein in response to receiving the second log from the SPU, the CPU is configured to perform operations identified by the second log to free space in the memory.