Package ghidra.pcode.emu.jit.var
Class JitMissingVar
java.lang.Object
ghidra.pcode.emu.jit.var.AbstractJitVal
ghidra.pcode.emu.jit.var.AbstractJitVar
ghidra.pcode.emu.jit.var.AbstractJitVarnodeVar
ghidra.pcode.emu.jit.var.JitMissingVar
- All Implemented Interfaces:
JitVal
,JitVar
,JitVarnodeVar
A p-code variable whose definition could not be determined.
This is only applicable to register
and unique
variables. It indicates the
JitDataFlowState
had not recorded a definition for the variable's varnode (or some
portion of it) prior in the same block. These should never enter the use-def graph. Instead, each
should be replaced by a JitOutVar
defined by a phi
node. The phi node's
options are determined later during inter-block
analysis.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface ghidra.pcode.emu.jit.var.JitVal
JitVal.ValUse
-
Field Summary
Fields inherited from class ghidra.pcode.emu.jit.var.AbstractJitVarnodeVar
varnode
Fields inherited from class ghidra.pcode.emu.jit.var.AbstractJitVar
id
Fields inherited from class ghidra.pcode.emu.jit.var.AbstractJitVal
size, uses
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongeneratePhi
(JitDataFlowModel dfm, JitControlFlowModel.JitBlock block) Create thephi
node for this missing variable.Methods inherited from class ghidra.pcode.emu.jit.var.AbstractJitVarnodeVar
space, toString, varnode
Methods inherited from class ghidra.pcode.emu.jit.var.AbstractJitVar
id
Methods inherited from class ghidra.pcode.emu.jit.var.AbstractJitVal
addUse, removeUse, size, uses
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface ghidra.pcode.emu.jit.var.JitVarnodeVar
size
-
Constructor Details
-
JitMissingVar
Construct a variable.- Parameters:
varnode
- the varnode
-
-
Method Details
-
generatePhi
Create thephi
node for this missing variable. The resulting node and itsoutput
are added to the use-def graph. Note that this missing variable never enters the use-def graph. The phi's output takes the place of this variable.- Parameters:
dfm
- the data flow modelblock
- the block containing the op that accessed the varnode- Returns:
- the generated phi op
- See Also:
-