Operand Register Transformer
An OperandRegisterTransformer is an L2OperandDispatcher suitable for copying operands for the enclosing L2Regenerator, when operand equivalency is via L2Register identity (i.e., when generatePhis is false).
Properties
Functions
Process an operand which is an arbitrary Java constant.
Process an operand which is merely a comment.
Process an operand which is a constant.
Process an operand which is a double immediate value.
Process an operand which is an Int immediate value.
Process an operand which is a constant level two offset into a L2Chunk's L2Instruction sequence.
Process an operand which is a vector of L2PcOperands.
Process an operand which is a Primitive number.
Process an operand which is a read of a vector of L2BoxedRegisters.
Process an operand which is a read of a vector of L2FloatRegisters.
Process an operand which is a read of a vector of L2IntRegisters.
Process an operand which is a literal A_Bundle which the resulting L2Chunk should be dependent upon for invalidation.
Process an operand which is a read of an AvailObject register.
Process an operand which is a read of a double register.
Process an operand which is a read of an Int register.
Process an operand which is a write of an AvailObject register.
Process an operand which is a write of a double register.
Process an operand which is a write of an Int register.
Transform the given L2BasicBlock. Use the blockMap, adding an entry if necessary. Always produce the block representing the default code splitting path, the one with no conditions.
Transform the given L2SemanticValue into another. By default this does nothing, but for a subclass that performs inlining, this can be useful for indicating that a semantic value is for the inlined frame rather than outer frame.