JIMSCore
Class Simulator

java.lang.Object
  |
  +--JIMSCore.Simulator

public class Simulator
extends java.lang.Object


Field Summary
private  boolean bHistoryRecordingEnabled
           
private  BreakpointList breakpointList
           
private static java.lang.String CHECKPOINT_CP0
           
private static java.lang.String CHECKPOINT_CP1
           
private static int CHECKPOINT_CREATION_FACTOR
           
private static java.lang.String CHECKPOINT_GPR
           
private static java.lang.String CHECKPOINT_MEM
           
private  InstructionDecodeBuffer decodeBuffer
           
private static boolean ENABLE_HISTORY_RECORDING
           
static int EXCEPTION_BREAK
           
static int EXCEPTION_DECODE_ERROR
           
static int EXCEPTION_EXECUTE_ERROR
           
static int EXCEPTION_EXIT
           
static int EXCEPTION_FETCH_ERROR
           
static int EXCEPTION_FP_ERROR
           
static int EXCEPTION_FP_REQUIRED
           
static int EXCEPTION_INPUT_WAITING
           
static int EXCEPTION_INVALID_OPCODE
           
static int EXCEPTION_NONE
           
static int EXCEPTION_OUTPUT_WAITING
           
static int EXCEPTION_OVERFLOW
           
static int EXCEPTION_SYSCALL
           
static int EXCEPTION_UNALIGNED_MEMORY_LOAD
           
static int EXCEPTION_UNALIGNED_MEMORY_STORE
           
private  GuardList guardList
           
private  int iBreakpointIndex
           
private  int iCheckpointCreationFactor
           
private  int iExceptionCode
           
private  int iGuardIndex
           
private  int iIR
           
private  int iStateHistoryByteSize
           
private  long lCycleIndex
           
private  long lLastCheckPointCycleIndex
           
private static long MAX_CYCLE_INDEX
           
static int NO_BREAKPOINT
           
static int NO_GUARD
           
private  CheckpointBuffer pendingCheckpoint
           
private  java.lang.StringBuffer sbOutputFromUndo
           
private  State state
           
private  java.util.Vector vBreakpoint
           
private  java.util.Vector vCheckpoint
           
private  java.util.Vector vStateHistory
           
 
Constructor Summary
Simulator()
           
Simulator(boolean bHistoryRecordingEnabled, int iCheckpointCreationFactor)
           
 
Method Summary
private  void addToStateHistoryBuffer(StateHistoryBuffer shb)
           
 boolean bHasFPA()
           
private  boolean bTimeToMakeCheckpoint()
           
private  void clearStateHistoryBuffer()
           
private  void decrementCycleIndex()
           
private  CheckpointBuffer doCreateCheckpoint()
           
private  void EX()
           
 BreakpointList getBreakpointList()
           
 GuardList getGuardList()
           
 State getState()
           
private  int iApplyCheckpointSetting(java.lang.String sInput)
           
private  int iApplyStateSetting(java.lang.String s)
           
private  void ID()
           
private  void IF()
           
 int iGetBreakpointIndex()
           
 int iGetExceptionCode()
           
 int iGetGuardIndex()
           
 int iGetNextCheckpointByteSize()
           
 int iGetNumCheckpoints()
           
 int iGetNumStateChanges()
           
 int iGetStateHistoryByteSize()
           
 int iLoadCodeString(java.lang.String sInput)
           
private  void incrementCycleIndex()
           
 int iPerformStep(long lStepDistance)
           
 int iPerformUndo(long lUndoDistance)
           
 int iReadOutput(java.lang.StringBuffer sBuffer)
           
 int iWriteInput(java.lang.String sInput)
           
 long lGetCycleIndex()
           
 void makeCheckpoint()
           
private  void performCheckpointCulling()
           
private  void performCycle()
           
 void reset()
           
 java.lang.StringBuffer sbGetHistoryLog()
           
 java.lang.StringBuffer sbGetOutputFromUndo()
           
 java.util.Vector vGetCheckpoint()
           
 java.util.Vector vGetStateHistory()
           
 void writeHistoryLog(java.lang.String sFilename)
           
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

CHECKPOINT_CREATION_FACTOR

private static final int CHECKPOINT_CREATION_FACTOR

ENABLE_HISTORY_RECORDING

private static final boolean ENABLE_HISTORY_RECORDING

EXCEPTION_NONE

public static final int EXCEPTION_NONE

EXCEPTION_FETCH_ERROR

public static final int EXCEPTION_FETCH_ERROR

EXCEPTION_DECODE_ERROR

public static final int EXCEPTION_DECODE_ERROR

EXCEPTION_EXECUTE_ERROR

public static final int EXCEPTION_EXECUTE_ERROR

EXCEPTION_FP_REQUIRED

public static final int EXCEPTION_FP_REQUIRED

EXCEPTION_OUTPUT_WAITING

public static final int EXCEPTION_OUTPUT_WAITING

EXCEPTION_INPUT_WAITING

public static final int EXCEPTION_INPUT_WAITING

EXCEPTION_EXIT

public static final int EXCEPTION_EXIT

EXCEPTION_INVALID_OPCODE

public static final int EXCEPTION_INVALID_OPCODE

EXCEPTION_SYSCALL

public static final int EXCEPTION_SYSCALL

EXCEPTION_BREAK

public static final int EXCEPTION_BREAK

EXCEPTION_OVERFLOW

public static final int EXCEPTION_OVERFLOW

EXCEPTION_FP_ERROR

public static final int EXCEPTION_FP_ERROR

EXCEPTION_UNALIGNED_MEMORY_LOAD

public static final int EXCEPTION_UNALIGNED_MEMORY_LOAD

EXCEPTION_UNALIGNED_MEMORY_STORE

public static final int EXCEPTION_UNALIGNED_MEMORY_STORE

NO_GUARD

public static final int NO_GUARD

NO_BREAKPOINT

public static final int NO_BREAKPOINT

MAX_CYCLE_INDEX

private static final long MAX_CYCLE_INDEX

CHECKPOINT_GPR

private static final java.lang.String CHECKPOINT_GPR

CHECKPOINT_CP0

private static final java.lang.String CHECKPOINT_CP0

CHECKPOINT_CP1

private static final java.lang.String CHECKPOINT_CP1

CHECKPOINT_MEM

private static final java.lang.String CHECKPOINT_MEM

state

private State state

vBreakpoint

private java.util.Vector vBreakpoint

vStateHistory

private java.util.Vector vStateHistory

vCheckpoint

private java.util.Vector vCheckpoint

breakpointList

private BreakpointList breakpointList

iBreakpointIndex

private int iBreakpointIndex

guardList

private GuardList guardList

iGuardIndex

private int iGuardIndex

iIR

private int iIR

lLastCheckPointCycleIndex

private long lLastCheckPointCycleIndex

lCycleIndex

private long lCycleIndex

sbOutputFromUndo

private java.lang.StringBuffer sbOutputFromUndo

pendingCheckpoint

private CheckpointBuffer pendingCheckpoint

iStateHistoryByteSize

private int iStateHistoryByteSize

iExceptionCode

private int iExceptionCode

decodeBuffer

private InstructionDecodeBuffer decodeBuffer

bHistoryRecordingEnabled

private boolean bHistoryRecordingEnabled

iCheckpointCreationFactor

private int iCheckpointCreationFactor
Constructor Detail

Simulator

public Simulator(boolean bHistoryRecordingEnabled,
                 int iCheckpointCreationFactor)

Simulator

public Simulator()
Method Detail

reset

public void reset()

performCycle

private void performCycle()
                   throws SimulatorException

IF

private void IF()

ID

private void ID()

EX

private void EX()

bTimeToMakeCheckpoint

private boolean bTimeToMakeCheckpoint()

makeCheckpoint

public void makeCheckpoint()

performCheckpointCulling

private void performCheckpointCulling()

iGetNextCheckpointByteSize

public int iGetNextCheckpointByteSize()

doCreateCheckpoint

private CheckpointBuffer doCreateCheckpoint()

iLoadCodeString

public int iLoadCodeString(java.lang.String sInput)

iPerformStep

public int iPerformStep(long lStepDistance)
                 throws SimulatorException

iPerformUndo

public int iPerformUndo(long lUndoDistance)

iApplyCheckpointSetting

private int iApplyCheckpointSetting(java.lang.String sInput)

iApplyStateSetting

private int iApplyStateSetting(java.lang.String s)

iGetNumCheckpoints

public int iGetNumCheckpoints()

iGetNumStateChanges

public int iGetNumStateChanges()

iGetStateHistoryByteSize

public int iGetStateHistoryByteSize()

getBreakpointList

public BreakpointList getBreakpointList()

getGuardList

public GuardList getGuardList()

vGetStateHistory

public java.util.Vector vGetStateHistory()

vGetCheckpoint

public java.util.Vector vGetCheckpoint()

getState

public State getState()

iGetBreakpointIndex

public int iGetBreakpointIndex()

iGetGuardIndex

public int iGetGuardIndex()

lGetCycleIndex

public long lGetCycleIndex()

iGetExceptionCode

public int iGetExceptionCode()

writeHistoryLog

public void writeHistoryLog(java.lang.String sFilename)

sbGetHistoryLog

public java.lang.StringBuffer sbGetHistoryLog()

sbGetOutputFromUndo

public java.lang.StringBuffer sbGetOutputFromUndo()

addToStateHistoryBuffer

private void addToStateHistoryBuffer(StateHistoryBuffer shb)

clearStateHistoryBuffer

private void clearStateHistoryBuffer()

bHasFPA

public boolean bHasFPA()

incrementCycleIndex

private void incrementCycleIndex()

decrementCycleIndex

private void decrementCycleIndex()

iWriteInput

public int iWriteInput(java.lang.String sInput)

iReadOutput

public int iReadOutput(java.lang.StringBuffer sBuffer)