blob: e64ecd00f4f2dfc7ba3ded587f0ad233a896be9c [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 = "@MMTK_PLAN@";
@Uninterruptible
public static final class Plan extends @MMTK_PLAN@
{
private static final Plan plan = new Plan();
@Inline
public static Plan get() { return plan; }
}
@Uninterruptible
public static final class Constraints extends @MMTK_PLAN@Constraints
{
private static final Constraints constraints = new Constraints();
@Inline
public static Constraints get() { return constraints; }
}
@Uninterruptible
public static class Collector extends @MMTK_PLAN@Collector
{
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 @MMTK_PLAN@Mutator
{
// 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();
}
}