| Interface | Description |
|---|---|
| InstructionStateProcedure | |
| InstructionValueConsumer |
Functional interface for iterating over a list of values without modifying them.
|
| InstructionValueProcedure |
Functional interface for iterating over a list of values, possibly returning a value to replace
the old value.
|
| StandardOp.BlockEndOp |
A block delimiter.
|
| StandardOp.BranchOp |
Marker interface for a LIR operation that is a conditional jump.
|
| StandardOp.ImplicitNullCheck | |
| StandardOp.MoveOp |
Marker interface for a LIR operation that moves a value from
StandardOp.MoveOp.getInput() to
StandardOp.MoveOp.getResult(). |
| StandardOp.NullCheck | |
| StandardOp.SaveRegistersOp |
An operation that saves registers to the stack.
|
| StandardOp.StackStoreOp |
An operation that takes one input and stores it in a stack slot as well as to an ordinary
variable.
|
| StateProcedure | |
| SwitchStrategy.SwitchClosure | |
| ValueConsumer |
Non-modifying version of
ValueProcedure. |
| ValueProcedure |
Similar to
InstructionValueProcedure but without an LIRInstruction parameter. |
| Class | Description |
|---|---|
| CompositeValue |
Base class to represent values that need to be stored in more than one register.
|
| CompositeValueClass<T> |
Lazily associated metadata for every
CompositeValue type. |
| CompositeValueClass.CompositeValueFieldsScanner | |
| ControlFlowOptimizer |
This class performs basic optimizations on the control flow graph after LIR generation.
|
| ControlFlowOptimizer.Optimizer<B extends AbstractBlockBase<B>> | |
| EdgeMoveOptimizer |
This class optimizes moves, particularly those that result from eliminating SSA form.
|
| EdgeMoveOptimizer.Optimizer | |
| FullInfopointOp |
Emits an infopoint (only mark the position).
|
| LabelRef |
LIR instructions such as
StandardOp.JumpOp and StandardOp.BranchOp need to reference their target
AbstractBlockBase. |
| LIR |
This class implements the overall container for the LIR graph and directs its construction,
optimization, and finalization.
|
| LIRFrameState |
This class represents garbage collection and deoptimization information attached to a LIR
instruction.
|
| LIRInsertionBuffer |
A buffer to enqueue updates to a list.
|
| LIRInstruction |
The base class for an
LIRInstruction. |
| LIRInstructionClass<T> | |
| LIRInstructionClass.LIRInstructionFieldsScanner | |
| LIRIntrospection<T> | |
| LIRIntrospection.LIRFieldsScanner | |
| LIRIntrospection.OperandModeAnnotation | |
| LIRIntrospection.ValueFieldInfo | |
| LIRIntrospection.Values | |
| LIRValueUtil | |
| LIRVerifier | |
| NullCheckOptimizer | |
| RedundantMoveElimination |
Removes move instructions, where the destination value is already in place.
|
| RedundantMoveElimination.BlockData |
Holds the entry and exit states for each block for dataflow analysis.
|
| RedundantMoveElimination.Optimization | |
| SimpleInfopointOp | |
| StandardOp |
A collection of machine-independent LIR operations, as well as interfaces to be implemented for
specific kinds or LIR operations.
|
| StandardOp.AbstractBlockEndOp | |
| StandardOp.BlackholeOp | |
| StandardOp.JumpOp |
LIR operation that is an unconditional jump to a
StandardOp.JumpOp.destination(). |
| StandardOp.LabelOp |
LIR operation that defines the position of a label.
|
| StandardOp.NoOp |
A LIR operation that does nothing.
|
| StandardOp.StackMove | |
| SwitchStrategy |
This class encapsulates different strategies on how to generate code for switch instructions.
|
| SwitchStrategy.BaseSwitchClosure |
Backends can subclass this abstract class and generate code for switch strategies by
implementing the
SwitchStrategy.BaseSwitchClosure.conditionalJump(int, Condition, Label) method. |
| SwitchStrategy.BinaryStrategy |
This strategy recursively subdivides the list of keys to create a binary search based on
probabilities.
|
| SwitchStrategy.RangesStrategy |
This strategy divides the keys into ranges of successive keys with the same target and
creates comparisons for these ranges.
|
| SwitchStrategy.SequentialStrategy |
This strategy orders the keys according to their probability and creates one equality
comparison per key.
|
| Variable |
Represents a value that is yet to be bound to a machine location (such as a
RegisterValue
or StackSlot) by a register allocator. |
| Enum | Description |
|---|---|
| LIRInstruction.OperandFlag |
Flags for an operand.
|
| LIRInstruction.OperandMode |
Constants denoting how a LIR instruction uses an operand.
|
| Annotation Type | Description |
|---|---|
| CompositeValue.Component | |
| LIRInstruction.Alive | |
| LIRInstruction.Def | |
| LIRInstruction.State | |
| LIRInstruction.Temp | |
| LIRInstruction.Use | |
| Opcode |
Denotes an opcode name for an annotated
LIRInstruction. |