Interface SubInLongHandler<ST extends Types.BPrim<?>,SJT extends JitType.SimpleJitType<ST,SJT>>

Type Parameters:
ST - the JVM type of the sub variable
SJT - the p-code type of the sub variable
All Superinterfaces:
SubVarHandler<ST,SJT,Types.TLong,JitType.LongJitType>, VarHandler
All Known Implementing Classes:
IntInLongHandler, LongInLongHandler

public interface SubInLongHandler<ST extends Types.BPrim<?>,SJT extends JitType.SimpleJitType<ST,SJT>> extends SubVarHandler<ST,SJT,Types.TLong,JitType.LongJitType>
A handler for a p-code variable stored in part of a JVM long.
  • Method Details

    • genLoadToBool

      default <N extends Emitter.Next> Emitter<Emitter.Ent<N,Types.TInt>> genLoadToBool(Emitter<N> em, JitCodeGenerator<?> gen)
      Description copied from interface: VarHandler
      Emit bytecode to load the varnode's value, interpreted as a boolean, as an integer onto the JVM stack.
      Specified by:
      genLoadToBool in interface VarHandler
      Type Parameters:
      N - the incoming stack
      Parameters:
      em - the emitter typed with the incoming stack
      gen - the code generator
      Returns:
      the emitter typed with the resulting stack, i.e., having the int boolean pushed onto it
    • genStoreFromStack

      default <FT extends Types.BPrim<?>, FJT extends JitType.SimpleJitType<FT, FJT>, N1 extends Emitter.Next, N0 extends Emitter.Ent<N1, FT>> Emitter<N1> genStoreFromStack(Emitter<N0> em, JitCodeGenerator<?> gen, FJT type, Opnd.Ext ext, Scope scope)
      Description copied from interface: VarHandler
      Emit bytecode to store a value into a variable from the JVM stack.
      Specified by:
      genStoreFromStack in interface VarHandler
      Type Parameters:
      FT - the JVM type of the value on the stack
      FJT - the p-code type of the value on the stack
      N1 - the tail of the incoming stack
      N0 - the incoming stack having the value to store on top
      Parameters:
      em - the emitter typed with the incoming stack
      gen - the code generator
      type - the p-code type of the value on the stack
      ext - the kind of extension to apply
      scope - a scope for generating temporary local storage
      Returns:
      the emitter typed with the resulting stack, i.e., having popped the value