1. A method comprising: using hardware profiling support to collect data cache miss profile; recognizing types of objects that create cache misses; and dynamically adjusting object copying heuristics during a copying phase of a generational garbage collector.