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 TypeMethodDescriptionvoidAdd a use.intid()A unique id for this variablevoidRemove a use.intsize()The size in bytes.space()The address space of this variable.uses()The list of uses.static JitIndirectMemoryVarReturns 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:JitValThe size in bytes. -
uses
Description copied from interface:JitValThe list of uses. -
addUse
Description copied from interface:JitValAdd 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
phinodes, 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-useanalysis, since it may generate morephinodes. -
removeUse
Description copied from interface:JitValRemove a use.- Specified by:
removeUsein interfaceJitVal- Parameters:
op- as inJitVal.addUse(JitOp, int)position- as inJitVal.addUse(JitOp, int)- See Also:
-
id
public int id()Description copied from interface:JitVarA unique id for this variable -
space
Description copied from interface:JitVarThe address space of this variable.
-