1. A method for dynamic memory management implemented in hardware, the method comprising: storing objects in a plurality of heaps; and operating a hardware garbage collector to free heap space occupied by specified ones of the objects, including: traversing the plurality of the heaps and marking selected ones of the objects of the heaps based on given criteria; and using said marks to identify a plurality of the objects, and freeing the identified plurality of objects.