Class BytecodeLowerer


  • public class BytecodeLowerer
    extends Object
    The lowering pipeline from SSA-form IR back to JVM bytecode.
    • Constructor Detail

      • BytecodeLowerer

        public BytecodeLowerer​(ConstPool constPool)
        Creates a lowerer that emits a LocalVariableTable.
        Parameters:
        constPool - the constant pool to emit against
      • BytecodeLowerer

        public BytecodeLowerer​(ConstPool constPool,
                               boolean emitLocalVariableTable)
        Creates a lowerer.
        Parameters:
        constPool - the constant pool to emit against
        emitLocalVariableTable - whether to build a LocalVariableTable for the lowered code
    • Method Detail

      • getConstPool

        public ConstPool getConstPool()
        Returns:
        the const pool
      • isEmitLocalVariableTable

        public boolean isEmitLocalVariableTable()
        Returns:
        whether emit local variable table
      • lower

        public void lower​(IRMethod irMethod,
                          MethodEntry targetMethod)
        Lowers the SSA method to bytecode and installs the result on the target method.
        Parameters:
        irMethod - the SSA method to lower
        targetMethod - the class-file method receiving the new code