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