blob: 582c38474da303830536d60c0ab3ed4aaab2f060 [file] [log] [blame]
//===------------------------- Selected.java ------------------------------===//
//
// The VMKit project
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
package org.j3.config;
import org.mmtk.utility.Log;
import org.vmmagic.pragma.*;
public class Selected {
public static final String name = "org.mmtk.plan.marksweep.MS";
@Uninterruptible
public static final class Plan extends org.mmtk.plan.marksweep.MS
{
private static final Plan plan = new Plan();
@Inline
public static Plan get() { return plan; }
}
@Uninterruptible
public static final class Constraints extends org.mmtk.plan.marksweep.MSConstraints
{
private static final Constraints constraints = new Constraints();
@Inline
public static Constraints get() { return constraints; }
}
@Uninterruptible
public static class Collector extends org.mmtk.plan.marksweep.MSCollector
{
private static final Collector bootstrapCollector = new Collector();
public static void staticCollect() {
bootstrapCollector.collect();
}
public Collector() {}
@Inline
public static Collector get() {
return bootstrapCollector;
}
}
@Uninterruptible
public static class Mutator extends org.mmtk.plan.marksweep.MSMutator
{
// Unused mutator used by the AOT compiler to know what instances
// will be alive during MMTk execution. This allows to inline
// virtual calls of singleton objects.
private static final Mutator unusedMutator = new Mutator();
public Mutator() {}
@Inline
public static native Mutator get();
}
}