Package ghidra.pcode.emu.jit.gen.op
Enum Class FloatLessEqualOpGen
- All Implemented Interfaces:
BinOpGen<JitFloatLessEqualOp>,FloatCompareBinOpGen<JitFloatLessEqualOp>,OpGen<JitFloatLessEqualOp>,Serializable,Comparable<FloatLessEqualOpGen>,Constable
public enum FloatLessEqualOpGen
extends Enum<FloatLessEqualOpGen>
implements FloatCompareBinOpGen<JitFloatLessEqualOp>
The generator for a
float_lessequal.
This uses the float comparison operator generator and simply emits fcmpg or dcmpg depending on the type and then ifle.
-
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.gen.op.BinOpGen
BinOpGen.TakeOutNested classes/interfaces inherited from interface ghidra.pcode.emu.jit.gen.op.OpGen
OpGen.DeadOpResult, OpGen.LiveOpResult, OpGen.OpResult -
Enum Constant Summary
Enum Constants -
Method Summary
Modifier and TypeMethodDescription<N1 extends Emitter.Next,N0 extends Emitter.Ent<N1, Types.TInt>>
Lbl.LblEm<N1, N1> opForCondJump(Emitter<N0> em) Emit the JVM opcode to perform the conditional jump.<N2 extends Emitter.Next,N1 extends Emitter.Ent<N2, Types.TDouble>, N0 extends Emitter.Ent<N1, Types.TDouble>>
Emitter<Emitter.Ent<N2, Types.TInt>> opForDoubleCmp(Emitter<N0> em) Emit the JVM bytecode to perform the comparison with double operands on the stack.<N2 extends Emitter.Next,N1 extends Emitter.Ent<N2, Types.TFloat>, N0 extends Emitter.Ent<N1, Types.TFloat>>
Emitter<Emitter.Ent<N2, Types.TInt>> opForFloatCmp(Emitter<N0> em) Emit the JVM bytecode to perform the comparison with float operands on the stack.static FloatLessEqualOpGenReturns the enum constant of this class with the specified name.static FloatLessEqualOpGen[]values()Returns an array containing the constants of this enum class, in the order they are declared.Methods inherited from class java.lang.Enum
clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOfMethods inherited from interface ghidra.pcode.emu.jit.gen.op.BinOpGen
ext, genMpDelegationToStaticMethod, rExtMethods inherited from interface ghidra.pcode.emu.jit.gen.op.FloatCompareBinOpGen
genRun, isSigned
-
Enum Constant Details
-
GEN
The generator 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
-
opForFloatCmp
public <N2 extends Emitter.Next,N1 extends Emitter.Ent<N2, Emitter<Emitter.Ent<N2,Types.TFloat>, N0 extends Emitter.Ent<N1, Types.TFloat>> Types.TInt>> opForFloatCmp(Emitter<N0> em) Description copied from interface:FloatCompareBinOpGenEmit the JVM bytecode to perform the comparison with float operands on the stack.The result should be as defined by
Comparator.compare(Object, Object).- Specified by:
opForFloatCmpin interfaceFloatCompareBinOpGen<JitFloatLessEqualOp>- Type Parameters:
N2- the tail of the incoming stackN1- the tail of the incoming stack including the right operandN0- the incoming stack with the right and left operands on top- Parameters:
em- the emitter typed with the incoming stack- Returns:
- the emitter typed with the resulting stack, i.e., the tail with the result pushed
-
opForDoubleCmp
public <N2 extends Emitter.Next,N1 extends Emitter.Ent<N2, Emitter<Emitter.Ent<N2,Types.TDouble>, N0 extends Emitter.Ent<N1, Types.TDouble>> Types.TInt>> opForDoubleCmp(Emitter<N0> em) Description copied from interface:FloatCompareBinOpGenEmit the JVM bytecode to perform the comparison with double operands on the stack.The result should be as defined by
Comparator.compare(Object, Object).- Specified by:
opForDoubleCmpin interfaceFloatCompareBinOpGen<JitFloatLessEqualOp>- Type Parameters:
N2- the tail of the incoming stackN1- the tail of the incoming stack including the right operandN0- the incoming stack with the right and left operands on top- Parameters:
em- the emitter typed with the incoming stack- Returns:
- the emitter typed with the resulting stack, i.e., the tail with the result pushed
-
opForCondJump
public <N1 extends Emitter.Next,N0 extends Emitter.Ent<N1, Lbl.LblEm<N1,Types.TInt>> N1> opForCondJump(Emitter<N0> em) Description copied from interface:FloatCompareBinOpGenEmit the JVM opcode to perform the conditional jump.The condition should correspond to the true case of the p-code operator.
- Specified by:
opForCondJumpin interfaceFloatCompareBinOpGen<JitFloatLessEqualOp>- Type Parameters:
N1- the tail of the incoming stackN0- the incoming stack including the comparison result- Parameters:
em- the emitter typed with the incoming stack- Returns:
- the target label and emitter typed with the resulting stack, i.e., with the comparison result popped
-