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 . |