Class CollectExecutor
- All Implemented Interfaces:
CanDecode
An executor that simply records the ops that would be executed
This decodes instructions by delegating to another given executor
-
Field Summary
FieldsFields inherited from class PcodeExecutor
arithmetic, language, OPIDX_BRANCH_TARGET, OPIDX_CALLOTHER_OP_NUMBER, OPIDX_CBRANCH_PRED, OPIDX_DEFEF_SPACE, OPIDX_DEREF_OFFSET, OPIDX_STORE_VALUE, pc, pcSize, reason, state -
Constructor Summary
ConstructorsModifierConstructorDescriptionCollectExecutor(SleighLanguage language, FoldedState state, PcodeExecutorStatePiece.Reason reason, CanDecode delegate) Construct a collecting executor<T extends FoldingExecutor & CanDecode>CollectExecutor(T executor) Construct a collecting executor, based on a given executor -
Method Summary
Modifier and TypeMethodDescriptionReturns the current instruction, decoding it if needed.voidstepOp(PcodeOp op, PcodeFrame frame, PcodeUseropLibrary<MaskedBytes> library) Step one p-code opMethods inherited from class PcodeExecutor
afterLoad, afterStore, badOp, beforeLoad, beforeStore, begin, begin, branchInternal, branchToAddress, branchToOffset, branchToOffset, checkInjectedTarget, doExecuteBranch, doExecuteIndirectBranch, execute, execute, executeBinaryOp, executeBranch, executeCall, executeCallother, executeConditionalBranch, executeIndirectBranch, executeIndirectCall, executeLoad, executeReturn, executeSleigh, executeStore, executeUnaryOp, finish, getArithmetic, getBranchTarget, getCallotherOpNumber, getConditionalBranchPredicate, getIndirectBranchTarget, getIntConst, getLanguage, getLoadStoreOffset, getLoadStoreSpace, getReason, getState, getStoreValue, getUseropName, onMissingUseropDef, skip, step
-
Field Details
-
ops
-
-
Constructor Details
-
CollectExecutor
public CollectExecutor(SleighLanguage language, FoldedState state, PcodeExecutorStatePiece.Reason reason, CanDecode delegate) Construct a collecting executor- Parameters:
language- the languagestate- the constant-folding statereason- the reason for reading variablesdelegate- the decoding delegate
-
CollectExecutor
Construct a collecting executor, based on a given executor- Type Parameters:
T- the type of executor- Parameters:
executor- the executor
-
-
Method Details
-
stepOp
Description copied from class:PcodeExecutorStep one p-code op- Overrides:
stepOpin classPcodeExecutor<MaskedBytes>- Parameters:
op- the opframe- the current framelibrary- the library, invoked in case ofPcodeOp.CALLOTHER
-
decodeInstruction
Description copied from interface:CanDecodeReturns the current instruction, decoding it if needed.- Specified by:
decodeInstructionin interfaceCanDecode- Returns:
- the current instruction, decoding it if needed
-