Interface Opnd.MpToStackConv<FT extends Types.BPrim<?>,FLT extends JitType.SimpleJitType<FT,FLT>,FJT extends JitType.LeggedJitType<FT,FLT>,TT extends Types.BPrim<?>,TJT extends JitType.SimpleJitType<TT,TJT>>

Type Parameters:
FT - the "from" JVM type for each mp leg
FLT - the "from" p-code type for each mp leg
FJT - the "from" p-code type
TT - the "to" JVM type
TJT - the "to" p-code type
All Known Implementing Classes:
Opnd.MpIntToDouble, Opnd.MpIntToFloat, Opnd.MpIntToInt, Opnd.MpIntToLong
Enclosing interface:
Opnd<T extends JitType>

public static interface Opnd.MpToStackConv<FT extends Types.BPrim<?>,FLT extends JitType.SimpleJitType<FT,FLT>,FJT extends JitType.LeggedJitType<FT,FLT>,TT extends Types.BPrim<?>,TJT extends JitType.SimpleJitType<TT,TJT>>
An interface for converting multi-precision operands to simple stack operands
  • Method Details

    • convertOpndToStack

      <N extends Emitter.Next> Emitter<Emitter.Ent<N,TT>> convertOpndToStack(Emitter<N> em, Opnd<FJT> from, TJT to, Opnd.Ext ext)
      Convert an mp operand in locals to a stack operand
      Type Parameters:
      N - the tail of the stack (...)
      Parameters:
      em - the emitter
      from - the source operand
      to - the destination p-code type
      ext - the kind of extension to apply
      Returns:
      the emitter with ..., result
    • convertArrayToStack

      <N1 extends Emitter.Next, N0 extends Emitter.Ent<N1, Types.TRef<int[]>>> Emitter<Emitter.Ent<N1,TT>> convertArrayToStack(Emitter<N0> em, FJT from, TJT to, Opnd.Ext ext)
      Convert an mp operand in an array to a stack operand
      Type Parameters:
      N1 - the tail of the stack (...)
      N0 - ..., arrayref
      Parameters:
      em - the emitter
      from - the source p-code type
      to - the destination p-code type
      ext - the kind of extension to apply
      Returns:
      the emitter with ..., result