/* * This file is part of the Jikes RVM project (http://jikesrvm.org). * * This file is licensed to You under the Eclipse Public License (EPL); * You may not use this file except in compliance with the License. You * may obtain a copy of the License at * * http://www.opensource.org/licenses/eclipse-1.0.php * * See the COPYRIGHT.txt file distributed with this work for information * regarding copyright ownership. */ package org.mmtk.plan.refcount.fullheap; import org.mmtk.plan.TraceLocal; import org.mmtk.plan.TransitiveClosure; import org.mmtk.plan.refcount.RCBaseCollector; import org.vmmagic.pragma.*; /** * This class implements the collector context for a simple reference counting * collector. */ @Uninterruptible public class RCCollector extends RCBaseCollector { /************************************************************************ * Initialization */ private final RCFindRootSetTraceLocal rootTrace; private final RCModifiedProcessor modProcessor; /** * Constructor. */ public RCCollector() { rootTrace = new RCFindRootSetTraceLocal(global().rootTrace, newRootBuffer); modProcessor = new RCModifiedProcessor(); } /** * Get the modified processor to use. */ protected final TransitiveClosure getModifiedProcessor() { return modProcessor; } /** * Get the root trace to use. */ protected final TraceLocal getRootTrace() { return rootTrace; } }