Furthermore, Ruby programs have a very high mortality rate of young objects, so the language benefits from copying and generational collection. Copying bestows good locality and offers cheap en mass reclamation while generational collection focuses effort on the easy-to-collect, high mortality young objects [7, 8]. However, copying collection requires exact GC and generational collection requires support for barriers. Thus high performance for such languages is predicated on strong support for GC from the runtime.