Package ghidra.pcode.emu.jit.analysis
Record Class JitType.IntJitType
java.lang.Object
java.lang.Record
ghidra.pcode.emu.jit.analysis.JitType.IntJitType
- Record Components:
size- the size in bytes
- All Implemented Interfaces:
JitType,JitType.SimpleJitType
- Enclosing interface:
JitType
The p-code types for integers of size 1 through 4, i.e., that fit in a JVM int.
-
Nested Class Summary
Nested classes/interfaces inherited from interface ghidra.pcode.emu.jit.analysis.JitType
JitType.DoubleJitType, JitType.FloatJitType, JitType.IntJitType, JitType.LongJitType, JitType.MpFloatJitType, JitType.MpIntJitType, JitType.SimpleJitType -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final JitType.IntJitTypeint1: a 1-byte integerstatic final JitType.IntJitTypeint2: a 2-byte integerstatic final JitType.IntJitTypeint3: a 3-byte integerstatic final JitType.IntJitTypeint4: a 4-byte integer -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionasInt()Re-apply theintegerbehavior to this typefinal 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.IntJitTypeforSize(int size) Get the type for an integer of the given size 1 through 4final inthashCode()Returns a hash code value for this object.Class<?> javaType()The JVM type of the variable that can represent a p-code variable of this typenm()Part of the name of a JVM local variable allocated for this typeintThe JVM opcode to load a local variable of this type onto the stackintThe JVM opcode to store a local variable of this type from the stackintpref()The preference for this type.intsize()Returns the value of thesizerecord component.final StringtoString()Returns a string representation of this record class.
-
Field Details
-
I1
int1: a 1-byte integer -
I2
int2: a 2-byte integer -
I3
int3: a 3-byte integer -
I4
int4: a 4-byte integer
-
-
Constructor Details
-
IntJitType
public IntJitType(int size) Compact constructor to check the size- Parameters:
size- the size in bytes
-
-
Method Details
-
forSize
Get the type for an integer of the given size 1 through 4- Parameters:
size- the size in bytes- Returns:
- the type
- Throws:
IllegalArgumentException- for any size not 1 through 4
-
pref
public int pref()Description copied from interface:JitTypeThe preference for this type. Smaller is more preferred. -
nm
Description copied from interface:JitTypePart of the name of a JVM local variable allocated for this type -
javaType
Description copied from interface:JitType.SimpleJitTypeThe JVM type of the variable that can represent a p-code variable of this type- Specified by:
javaTypein interfaceJitType.SimpleJitType- Returns:
- the primitive class (not boxed)
-
opcodeLoad
public int opcodeLoad()Description copied from interface:JitType.SimpleJitTypeThe JVM opcode to load a local variable of this type onto the stack- Specified by:
opcodeLoadin interfaceJitType.SimpleJitType- Returns:
- the opcode
-
opcodeStore
public int opcodeStore()Description copied from interface:JitType.SimpleJitTypeThe JVM opcode to store a local variable of this type from the stack- Specified by:
opcodeStorein interfaceJitType.SimpleJitType- Returns:
- the opcode
-
ext
Description copied from interface:JitType -
asInt
Description copied from interface:JitType.SimpleJitTypeRe-apply theintegerbehavior to this typeThis may be slightly faster than
JitTypeBehavior.INTEGER.resolve(this), because each type can pick its int type directly, and integer types can just returnthis.- Specified by:
asIntin interfaceJitType.SimpleJitType- Returns:
- this type as an int
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
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 '=='. -
size
public int size()Returns the value of thesizerecord component.
-