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

Type Parameters:
FT - the "from" JVM type
FJT - the "from" p-code type
TT - the "to" JVM type for each mp leg
TLT - the "to" p-code type for each mp leg
TJT - the "to" p-code type
All Known Implementing Classes:
Opnd.DoubleToMpInt, Opnd.FloatToMpInt, Opnd.IntToMpInt, Opnd.LongToMpInt
Enclosing interface:
Opnd<T extends JitType>

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

    • convertStackToOpnd

      <N1 extends Emitter.Next, N0 extends Emitter.Ent<N1, FT>> Opnd.OpndEm<TJT,N1> convertStackToOpnd(Emitter<N0> em, FJT from, String name, TJT to, Opnd.Ext ext, Scope scope)
      Convert a stack operand to an mp operand in locals
      Type Parameters:
      N1 - the tail of the stack (...)
      N0 - ..., value
      Parameters:
      em - the emitter
      from - the source p-code type
      name - the name to give the resulting operand
      to - the destination p-code type
      ext - the kind of extension to apply
      scope - a scope for generated temporary locals
      Returns:
      the resulting operand and the emitter with ...
    • convertStackToArray

      <N1 extends Emitter.Next, N0 extends Emitter.Ent<N1, FT>> Emitter<Emitter.Ent<N1,Types.TRef<int[]>>> convertStackToArray(Emitter<N0> em, FJT from, String name, TJT to, Opnd.Ext ext, Scope scope, int slack)
      Convert a stack operand to an mp operand in an array
      Type Parameters:
      N1 - the tail of the stack (...)
      N0 - ..., value
      Parameters:
      em - the emitter
      from - the source p-code type
      name - the name to give the resulting operand
      to - the destination p-code type
      ext - the kind of extension to apply
      scope - a scope for generated temporary locals
      slack - the number of extra (more significant) elements to allocate in the array
      Returns:
      the emitter with ..., arrayref