Assessing the Scalability of Garbage Collectors on Many Cores