Package ghidra.pcode.emu.auxiliary
Class AuxPcodeThread<U>
java.lang.Object
ghidra.pcode.emu.DefaultPcodeThread<org.apache.commons.lang3.tuple.Pair<byte[],U>>
ghidra.pcode.emu.ModifiedPcodeThread<org.apache.commons.lang3.tuple.Pair<byte[],U>>
ghidra.pcode.emu.auxiliary.AuxPcodeThread<U>
- Type Parameters:
U
- the type of auxiliary values
- All Implemented Interfaces:
PcodeThread<org.apache.commons.lang3.tuple.Pair<byte[],
U>>
public class AuxPcodeThread<U>
extends ModifiedPcodeThread<org.apache.commons.lang3.tuple.Pair<byte[],U>>
The default thread for
AuxPcodeEmulator
Generally, extending this class should not be necessary, as it already defers to the emulator's parts factory
-
Nested Class Summary
Nested classes/interfaces inherited from class ghidra.pcode.emu.ModifiedPcodeThread
ModifiedPcodeThread.GlueEmulate
Nested classes/interfaces inherited from class ghidra.pcode.emu.DefaultPcodeThread
DefaultPcodeThread.PcodeEmulationLibrary<T>, DefaultPcodeThread.PcodeThreadExecutor<T>
-
Field Summary
Fields inherited from class ghidra.pcode.emu.ModifiedPcodeThread
emulate, modifier
Fields inherited from class ghidra.pcode.emu.DefaultPcodeThread
arithmetic, contextreg, decoder, defaultContext, executor, frame, injects, instruction, language, library, pc, state
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected DefaultPcodeThread.PcodeThreadExecutor
<org.apache.commons.lang3.tuple.Pair<byte[], U>> A factory method to create the executor for this threadprotected PcodeUseropLibrary
<org.apache.commons.lang3.tuple.Pair<byte[], U>> A factory method to create the complete userop library for this threadGet the machine within which this thread executesprotected AuxEmulatorPartsFactory
<U> Methods inherited from class ghidra.pcode.emu.ModifiedPcodeThread
createModifier, onMissingUseropDef, overrideCounter, postExecuteInstruction
Methods inherited from class ghidra.pcode.emu.DefaultPcodeThread
advanceAfterFinished, assertCompletedInstruction, assertMidInstruction, assignContext, beginInstructionOrInject, branchToAddress, checkLoad, checkStore, clearAllInjects, clearInject, createInstructionDecoder, doPluggableInitialization, dropInstruction, executeInstruction, finishInstruction, getArithmetic, getContext, getContextAfterCommits, getCounter, getExecutor, getFrame, getInject, getInstruction, getLanguage, getName, getState, getUseropLibrary, inject, isSuspended, overrideContext, overrideContextWithDefault, preExecuteInstruction, reInitialize, run, setCounter, setSuspended, skipInstruction, skipPcodeOp, stepInstruction, stepPatch, stepPcodeOp, stepped, swi, writeCounter
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface ghidra.pcode.emu.PcodeThread
stepInstruction, stepPcodeOp
-
Constructor Details
-
AuxPcodeThread
-
-
Method Details
-
getMachine
Description copied from interface:PcodeThread
Get the machine within which this thread executes- Specified by:
getMachine
in interfacePcodeThread<U>
- Overrides:
getMachine
in classDefaultPcodeThread<org.apache.commons.lang3.tuple.Pair<byte[],
U>> - Returns:
- the containing machine
-
getPartsFactory
-
createUseropLibrary
Description copied from class:DefaultPcodeThread
A factory method to create the complete userop library for this threadThe returned library must compose the containing machine's shared userop library. See
PcodeUseropLibrary.compose(PcodeUseropLibrary)
.- Overrides:
createUseropLibrary
in classDefaultPcodeThread<org.apache.commons.lang3.tuple.Pair<byte[],
U>> - Returns:
- the thread's complete userop library
-
createExecutor
protected DefaultPcodeThread.PcodeThreadExecutor<org.apache.commons.lang3.tuple.Pair<byte[],U>> createExecutor()Description copied from class:DefaultPcodeThread
A factory method to create the executor for this thread- Overrides:
createExecutor
in classDefaultPcodeThread<org.apache.commons.lang3.tuple.Pair<byte[],
U>> - Returns:
- the executor
-