register compaction works, except for bad interaction with hints