Package com.tonic.analysis.ssa.lower
Lowering SSA back to bytecode: phi elimination, register allocation, scheduling and emission.
-
Class Summary Class Description BytecodeEmitter Emits JVM bytecode from IR instructions.BytecodeLowerer The lowering pipeline from SSA-form IR back to JVM bytecode.CopyInfo A phi copy's created SSA value and the block it was inserted in, used for register coalescing.LocalVariableTableBuilder A builder for aLocalVariableTableover the source-local model recorded during AST lowering (IRMethod.SourceLocal), taking slots fromRegisterAllocatorand scoping each entry to the blocks holding that local's defs and uses.PhiEliminator Eliminates phi functions by inserting copies in predecessor blocks, splitting critical edges where needed.RegisterAllocator Linear scan register allocator.StackScheduler A linearizer that walks the IR blocks in order and produces a flat schedule of loads, stores and executions, tracking the peak operand stack depth as it goes.StackScheduler.ScheduledInstruction One entry of the schedule - an instruction paired with the role it plays. -
Enum Summary Enum Description StackScheduler.ScheduleType The role a scheduled entry plays - a synthesized local load or store, or the IR instruction itself.