Record Class JitType.MpIntJitType
java.lang.Object
java.lang.Record
ghidra.pcode.emu.jit.analysis.JitType.MpIntJitType
- Record Components:
size- the size in bytes
- All Implemented Interfaces:
JitType
- Enclosing interface:
JitType
The p-code types for integers of size 9 and greater.
We take the strategy of inlined manipulation of int locals, composed to form the full variable. When stored on the stack, the least-significant portion is always toward the top, no matter the language endianness.
-
Nested Class Summary
Nested classes/interfaces inherited from interface JitType
JitType.DoubleJitType, JitType.FloatJitType, JitType.IntJitType, JitType.LongJitType, JitType.MpFloatJitType, JitType.MpIntJitType, JitType.SimpleJitType -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanIndicates whether some other object is "equal to" this one.ext()Extend this p-code type to the p-code type that fills its entire host JVM type.static JitType.MpIntJitTypeforSize(int size) Get the type for an integer of the given size 9 or greaterfinal inthashCode()Returns a hash code value for this object.intThe total number of JVM int variables ("legs") required to store the intintThe number of legs that are filledlegTypes()Get the p-code type that describes the part of the variable in each legnm()Part of the name of a JVM local variable allocated for this typeintThe number of bytes filled in the last leg, if partialintpref()The preference for this type.intsize()Returns the value of thesizerecord component.final StringtoString()Returns a string representation of this record class.
-
Constructor Details
-
MpIntJitType
public MpIntJitType(int size) Creates an instance of aMpIntJitTyperecord class.- Parameters:
size- the value for thesizerecord component
-
-
Method Details
-
forSize
Get the type for an integer of the given size 9 or greater- Parameters:
size- the size in bytes- Returns:
- the type
- Throws:
IllegalArgumentException- for any size 8 or less
-
pref
-
nm
-
legsAlloc
public int legsAlloc()The total number of JVM int variables ("legs") required to store the int- Returns:
- the total number of legs
-
legsWhole
public int legsWhole()The number of legs that are filled- Returns:
- the number of whole legs
-
partialSize
public int partialSize()The number of bytes filled in the last leg, if partial- Returns:
- the number of bytes in the partial leg, or 0 if all legs are whole
-
legTypes
Description copied from interface:JitTypeGet the p-code type that describes the part of the variable in each legEach whole leg will have the type
JitType.IntJitType.I4, and the partial leg, if applicable, will have its appropriate smaller integer type. -
ext
-
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with thecomparemethod from their corresponding wrapper classes. -
size
-