Package ghidra.pcode.emu.jit
Class JitDefaultBytesPcodeExecutorState
java.lang.Object
ghidra.pcode.exec.DefaultPcodeExecutorState<byte[]>
ghidra.pcode.emu.jit.JitDefaultBytesPcodeExecutorState
- All Implemented Interfaces:
JitBytesPcodeExecutorState
,PcodeExecutorState<byte[]>
,PcodeExecutorStatePiece<byte[],
byte[]>
public class JitDefaultBytesPcodeExecutorState
extends DefaultPcodeExecutorState<byte[]>
implements JitBytesPcodeExecutorState
The default implementation of
JitBytesPcodeExecutorState
.
NOTE: This is distinct from JitDataFlowState
, which is used during the
interpretation and analysis of the passage to translate. This state, in contrast, is the concrete
state of the emulation target, but accessible in special ways to the translation output. In
particular, the constructor of each translation is permitted direct access to some of this
state's internals, so that it can pre-fetch, e.g., backing arrays for direct memory access
operations.
This is just an extension of DefaultPcodeExecutorState
that wraps the corresponding
JitBytesPcodeExecutorStatePiece
.
-
Nested Class Summary
Nested classes/interfaces inherited from interface ghidra.pcode.exec.PcodeExecutorStatePiece
PcodeExecutorStatePiece.Reason
-
Field Summary
Fields inherited from class ghidra.pcode.exec.DefaultPcodeExecutorState
arithmetic, piece
-
Constructor Summary
ConstructorsConstructorDescriptionJitDefaultBytesPcodeExecutorState
(Language language) Construct a new state for the given language -
Method Summary
Modifier and TypeMethodDescriptiongetForSpace
(AddressSpace space) For generated code to side-step the space lookupprotected JitBytesPcodeExecutorStatePiece
getPiece()
Get the piece cast to the type we know it isMethods inherited from class ghidra.pcode.exec.DefaultPcodeExecutorState
clear, fork, getArithmetic, getConcreteBuffer, getLanguage, getRegisterValues, getVar, getVar, setVar, setVar
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface ghidra.pcode.exec.PcodeExecutorState
fork, getAddressArithmetic, paired
Methods inherited from interface ghidra.pcode.exec.PcodeExecutorStatePiece
checkRange, clear, getArithmetic, getConcreteBuffer, getLanguage, getRegisterValues, getVar, getVar, getVar, getVar, getVar, quantizeOffset, setVar, setVar, setVar, setVar, setVar
-
Constructor Details
-
JitDefaultBytesPcodeExecutorState
Construct a new state for the given language- Parameters:
language
- the emulation target language
-
-
Method Details
-
getPiece
Get the piece cast to the type we know it is- Returns:
- the piece
-
getForSpace
public JitBytesPcodeExecutorStatePiece.JitBytesPcodeExecutorStateSpace getForSpace(AddressSpace space) Description copied from interface:JitBytesPcodeExecutorState
For generated code to side-step the space lookup- Specified by:
getForSpace
in interfaceJitBytesPcodeExecutorState
- Parameters:
space
- the address space- Returns:
- the state space
-