Enum Class JitIndirectMemoryVar
- All Implemented Interfaces:
JitMemoryVar
,JitVal
,JitVar
,Serializable
,Comparable<JitIndirectMemoryVar>
,Constable
These are caused by PcodeOp.LOAD
, since that is the only manner in which the
JitDataFlowState
can be accessed with a non-constant offset. However, the node is
immediately dropped on the floor by
JitDataFlowArithmetic.modAfterLoad(PcodeOp, AddressSpace, JitVal, JitVal)
, which instead
places the JitLoadOp
into the use-def graph. This just exists so we don't return
null
.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
Nested classes/interfaces inherited from interface ghidra.pcode.emu.jit.var.JitVal
JitVal.ValUse
-
Enum Constant Summary
Enum Constants -
Method Summary
Modifier and TypeMethodDescriptionvoid
Add a use.int
id()
A unique id for this variablevoid
Remove a use.int
size()
The size in bytes.space()
The address space of this variable.uses()
The list of uses.static JitIndirectMemoryVar
Returns the enum constant of this class with the specified name.static JitIndirectMemoryVar[]
values()
Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
INSTANCE
Singleton
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum class has no constant with the specified nameNullPointerException
- if the argument is null
-
size
public int size()Description copied from interface:JitVal
The size in bytes. -
uses
Description copied from interface:JitVal
The list of uses. -
addUse
Description copied from interface:JitVal
Add a use.In most cases, uses should be final, once this value node has been entered into the use-def graph. An exception deals with
phi
nodes, as this analysis occurs after each intra-block portion of the graph has been constructed. During inter-block analysis, additional uses will get recorded. Even further uses may be recorded udingop-use
analysis, since it may generate morephi
nodes. -
removeUse
Description copied from interface:JitVal
Remove a use.- Specified by:
removeUse
in interfaceJitVal
- Parameters:
op
- as inJitVal.addUse(JitOp, int)
position
- as inJitVal.addUse(JitOp, int)
- See Also:
-
id
public int id()Description copied from interface:JitVar
A unique id for this variable -
space
Description copied from interface:JitVar
The address space of this variable.
-