The 'gc-roots' and 'derived-roots' slots are initially vreg integers referencing objects that are live during the gc call and needs to be spilled so that they can be traced. In the emit-gc-map-insn word in compiler.cfg.linear-scan.assignment they are converted to spill slots which the collector is able to trace.