Package ghidra.pcode.emu.jit.gen.opnd
Interface Opnd.MpToMpConv<FT extends Types.BPrim<?>,FLT extends JitType.SimpleJitType<FT,FLT>,FJT extends JitType.LeggedJitType<FT,FLT>,TT extends Types.BPrim<?>,TLT extends JitType.SimpleJitType<TT,TLT>,TJT extends JitType.LeggedJitType<TT,TLT>>
- Type Parameters:
FT- the "from" JVM type for each mp legFLT- the "from" p-code type for each mp legFJT- the "from" p-code typeTT- the "to" JVM type for each mp legTLT- the "to" p-code type for each mp legTJT- the "to" p-code type
- All Known Implementing Classes:
Opnd.MpIntToMpInt
public static interface Opnd.MpToMpConv<FT extends Types.BPrim<?>,FLT extends JitType.SimpleJitType<FT,FLT>,FJT extends JitType.LeggedJitType<FT,FLT>,TT extends Types.BPrim<?>,TLT extends JitType.SimpleJitType<TT,TLT>,TJT extends JitType.LeggedJitType<TT,TLT>>
An interface for converting between multi-precision operands
-
Method Summary
Modifier and TypeMethodDescription<N extends Emitter.Next>
Emitter<Emitter.Ent<N, Types.TRef<int[]>>> Convert an operand in locals to an array<N extends Emitter.Next>
Opnd.OpndEm<TJT, N> Convert an operand in locals to another in locals
-
Method Details
-
convertOpndToOpnd
<N extends Emitter.Next> Opnd.OpndEm<TJT,N> convertOpndToOpnd(Emitter<N> em, Opnd<FJT> from, TJT to, Opnd.Ext ext, Scope scope) Convert an operand in locals to another in localsNOTE: This may be accomplished in part be re-using legs from the source operand in the destination operand
- Type Parameters:
N- the tail of the stack (...)- Parameters:
em- the emitterfrom- the source operandto- the destination p-code typeext- the kind of extension to applyscope- a scope for generated temporary variables- Returns:
- the resulting operand and emitter with ...
-
convertOpndToArray
<N extends Emitter.Next> Emitter<Emitter.Ent<N,Types.TRef<int[]>>> convertOpndToArray(Emitter<N> em, Opnd<FJT> from, TJT to, Opnd.Ext ext, Scope scope, int slack) Convert an operand in locals to an array- Type Parameters:
N- the tail of the stack (...)- Parameters:
em- the emitterfrom- the source operandto- the destination p-code typeext- the kind of extension to applyscope- a scope for generated temporary variablesslack- the number of extra (more significant) elements to allocate in the array- Returns:
- the emitter with ..., arrayref
-