/*
* This file is part of the Jikes RVM project (http://jikesrvm.org).
*
* This file is licensed to You under the Eclipse Public License (EPL);
* You may not use this file except in compliance with the License. You
* may obtain a copy of the License at
*
* http://www.opensource.org/licenses/eclipse-1.0.php
*
* See the COPYRIGHT.txt file distributed with this work for information
* regarding copyright ownership.
*/
package org.jikesrvm.ia32;
import org.jikesrvm.ArchitectureSpecific;
/**
* Representation of machine code instructions and a map from bytecode
* index to offset within code array
*/
public abstract class MachineCode {
/** Executable instructions */
private final ArchitectureSpecific.CodeArray instructions;
/**
* Array indexed by bytecode index, value is offset into code array
* TODO: This should really be a final field, but is not due to the way
* OSR is currently implemented.
*/
private int[] bytecodeMap;
public MachineCode(ArchitectureSpecific.CodeArray i, int[] bm) {
instructions = i;
bytecodeMap = bm;
}
public final ArchitectureSpecific.CodeArray getInstructions() {
return instructions;
}
public final int[] getBytecodeMap() {
return bytecodeMap;
}
public void setBytecodeMap(int[] b2m) {
bytecodeMap = b2m;
}
}