Currenty G1 has two algorithms for updating remembered sets. One is queue based, when the mutators put the pointers to the cards they've dirtied in to the queue, which is then processed by a refinement thread. The other is traversal based, that is a refinement thread traverses the card table and refines the dirty cards. The traversal method has apparently more overhead and is not used. It will be beneficial to remove it.