001 /* 002 * This file is part of the Jikes RVM project (http://jikesrvm.org). 003 * 004 * This file is licensed to You under the Eclipse Public License (EPL); 005 * You may not use this file except in compliance with the License. You 006 * may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/eclipse-1.0.php 009 * 010 * See the COPYRIGHT.txt file distributed with this work for information 011 * regarding copyright ownership. 012 */ 013 package org.jikesrvm.mm.mminterface; 014 015 import org.jikesrvm.scheduler.RVMThread; 016 017 import org.mmtk.utility.Log; 018 019 import org.vmmagic.pragma.*; 020 021 public class Selected { 022 public static final String name = "org.mmtk.plan.generational.immix.GenImmix"; 023 @Uninterruptible 024 public static final class Plan extends org.mmtk.plan.generational.immix.GenImmix 025 { 026 private static final Plan plan = new Plan(); 027 028 @Inline 029 public static Plan get() { return plan; } 030 } 031 032 @Uninterruptible 033 public static final class Collector extends org.mmtk.plan.generational.immix.GenImmixCollector 034 { 035 } 036 037 @Uninterruptible 038 public static final class Constraints extends org.mmtk.plan.generational.immix.GenImmixConstraints 039 { 040 private static final Constraints constraints = new Constraints(); 041 042 @Inline 043 public static Constraints get() { return constraints; } 044 } 045 046 @Uninterruptible 047 public static class Mutator extends org.mmtk.plan.generational.immix.GenImmixMutator 048 { 049 @Inline 050 public final RVMThread getThread() { return (RVMThread) this; } 051 @Inline 052 public static Mutator get() { return RVMThread.getCurrentThread(); } 053 } 054 }