Interface MakeFastFunGenerator

All Known Implementing Classes:
MakeBindingCaptureFastFunGenerator, MakeValCaptureFastFunGenerator

public interface MakeFastFunGenerator
Makes insns to make SSA funs.
  • Field Details

    • FUN_BOOTSTRAPPER_NAME

      static final String FUN_BOOTSTRAPPER_NAME
      The internal name of FunBootstrapper.
      See Also:
    • BOOTSTRAP_MAKE_FUN_HANDLE

      static final org.objectweb.asm.Handle BOOTSTRAP_MAKE_FUN_HANDLE
      Handle of FunBootstrapper.bootstrapMakeFun.
    • BOOTSTRAP_COMBINATOR_HANDLE

      static final org.objectweb.asm.Handle BOOTSTRAP_COMBINATOR_HANDLE
      Handle of FunBootstrapper.bootstrapCombinator.
  • Method Details

    • makeFun

      List<Insn> makeFun(FastFunItree fun)
      Makes insns to make an SSA fun.

      The insns must push the fun to the Java stack.

      Parameters:
      fun - the fun.
      Returns:
      insns.
    • generateCombinator

      static List<Insn> generateCombinator(int jcirInd)
      Generates insns for a combinator.

      The insns push the combinator to the Java stack.

      Parameters:
      jcirInd - the index of the jcir in childJcirs list.
      Returns:
      insns.
    • constructorType

      static MethodType constructorType(int valFieldCount)
      Returns the type of the fun constructor.
      Parameters:
      valFieldCount - the count of val fields of the fun class.
      Returns:
      the type of the fun constructor.