//===------------------------- 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(); } }