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;
014    
015    import org.vmmagic.unboxed.WordArray;
016    import org.vmmagic.pragma.NonMoving;
017    
018    import org.jikesrvm.compilers.baseline.BaselineCompiledMethod;
019    
020    public class ArchitectureSpecific {
021      public static class Assembler extends org.jikesrvm.compilers.common.assembler.ia32.Assembler {
022        public Assembler (int bytecodeSize) {
023          super(bytecodeSize, false);
024        }
025        public Assembler (int bytecodeSize, boolean shouldPrint, BaselineCompilerImpl compiler) {
026          super(bytecodeSize, shouldPrint, compiler);
027        }
028        public Assembler (int bytecodeSize, boolean shouldPrint) {
029          super(bytecodeSize, shouldPrint);
030        }
031      }
032      public interface ArchConstants extends org.jikesrvm.ia32.ArchConstants {}
033      public interface BaselineConstants extends org.jikesrvm.ia32.BaselineConstants {}
034      public static final class BaselineExceptionDeliverer extends org.jikesrvm.compilers.baseline.ia32.BaselineExceptionDeliverer {}
035      public static final class BaselineGCMapIterator extends org.jikesrvm.compilers.baseline.ia32.BaselineGCMapIterator {
036        public BaselineGCMapIterator(WordArray registerLocations) {
037          super(registerLocations);
038        }}
039      public static final class CodeArray extends org.jikesrvm.ia32.CodeArray {
040        public CodeArray() { super(0);}
041        public CodeArray(int size) { super(size);}
042        public static CodeArray create (int size) { // only intended to be called from CodeArray.factory
043          if (VM.runningVM) VM._assert(false);  // should be hijacked
044          return new CodeArray(size);
045        }
046      }
047      public static final class BaselineCompilerImpl extends org.jikesrvm.compilers.baseline.ia32.BaselineCompilerImpl {
048        public BaselineCompilerImpl(BaselineCompiledMethod cm, short[] genLocLoc, short[] floatLocLoc) {
049          super(cm /**, genLocLoc, floatLocLoc  */);
050        }}
051      public static final class DynamicLinkerHelper extends org.jikesrvm.ia32.DynamicLinkerHelper {}
052      public static final class InterfaceMethodConflictResolver extends org.jikesrvm.ia32.InterfaceMethodConflictResolver {}
053      public static final class LazyCompilationTrampoline extends org.jikesrvm.ia32.LazyCompilationTrampoline {}
054      public static final class MachineCode extends org.jikesrvm.ia32.MachineCode {
055      
056        public MachineCode(ArchitectureSpecific.CodeArray array, int[] bm) {
057          super(array, bm);
058        }
059      //*/
060      }
061      public static final class MachineReflection extends org.jikesrvm.ia32.MachineReflection {}
062      public static final class MultianewarrayHelper extends org.jikesrvm.ia32.MultianewarrayHelper {}
063      public static final class OutOfLineMachineCode extends org.jikesrvm.ia32.OutOfLineMachineCode {}
064      public static final class ThreadLocalState extends org.jikesrvm.ia32.ThreadLocalState {}
065      public interface RegisterConstants extends org.jikesrvm.ia32.RegisterConstants {}
066      @NonMoving
067      public static final class Registers extends org.jikesrvm.ia32.Registers {}
068      public interface StackframeLayoutConstants extends org.jikesrvm.ia32.StackframeLayoutConstants {}
069      public interface TrapConstants extends org.jikesrvm.ia32.TrapConstants {}
070      public static final class JNICompiler extends org.jikesrvm.jni.ia32.JNICompiler {}
071      public static final class JNIGCMapIterator extends org.jikesrvm.jni.ia32.JNIGCMapIterator {
072        public JNIGCMapIterator(WordArray registerLocations) {
073          super(registerLocations);
074        }}
075      public static final class JNIHelpers extends org.jikesrvm.jni.ia32.JNIHelpers {}
076    }