/*
* This file is part of the Jikes RVM project (http://jikesrvm.org).
*
* This file is licensed to You under the Common Public License (CPL);
* 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/cpl1.0.php
*
* See the COPYRIGHT.txt file distributed with this work for information
* regarding copyright ownership.
*/
package org.jikesrvm.memorymanagers.mminterface;
import org.jikesrvm.scheduler.VM_Processor;
import org.jikesrvm.annotations.NoSubArchCompile;
import org.vmmagic.pragma.*;
@NoSubArchCompile
public class Selected {
public static final String name = "org.mmtk.plan.nogc.NoGC";
@Uninterruptible
public static final class Plan extends org.mmtk.plan.nogc.NoGC
{
private static final Plan plan = new Plan();
@Inline
public static Plan get() { return plan; }
}
@Uninterruptible
public static final class Constraints extends org.mmtk.plan.nogc.NoGCConstraints
{
private static final Constraints constraints = new Constraints();
@Inline
public static Constraints get() { return constraints; }
}
@Uninterruptible
public static class Collector extends org.mmtk.plan.nogc.NoGCCollector
{
private VM_Processor processor;
public Collector(VM_Processor parent) { processor = parent; }
@Inline
public final VM_Processor getProcessor() { return processor; }
@Inline
public static Collector get() { return VM_Processor.getCurrentProcessor().collectorContext; }
}
@Uninterruptible
public static class Mutator extends org.mmtk.plan.nogc.NoGCMutator
{
@Inline
public final VM_Processor getProcessor() { return (VM_Processor) this; }
@Inline
public static Mutator get() { return VM_Processor.getCurrentProcessor(); }
}
}