Class InstructionSequencesReplacer

    • Constructor Detail

      • InstructionSequencesReplacer

        public InstructionSequencesReplacer​(Constant[] constants,
                                            Instruction[][][] instructionSequences,
                                            BranchTargetFinder branchTargetFinder,
                                            CodeAttributeEditor codeAttributeEditor)
        Creates a new InstructionSequencesReplacer.
        Parameters:
        constants - any constants referenced by the pattern instructions and replacement instructions.
        instructionSequences - the instruction sequences to be replaced, with subsequently the sequence pair index, the patten/replacement index (0 or 1), and the instruction index in the sequence.
        branchTargetFinder - a branch target finder that has been initialized to indicate branch targets in the visited code.
        codeAttributeEditor - a code editor that can be used for accumulating changes to the code.
      • InstructionSequencesReplacer

        public InstructionSequencesReplacer​(Constant[] constants,
                                            Instruction[][][] instructionSequences,
                                            BranchTargetFinder branchTargetFinder,
                                            CodeAttributeEditor codeAttributeEditor,
                                            InstructionVisitor extraInstructionVisitor)
        Creates a new InstructionSequenceReplacer.
        Parameters:
        constants - any constants referenced by the pattern instructions and replacement instructions.
        instructionSequences - the instruction sequences to be replaced, with subsequently the sequence pair index, the patten/replacement index (0 or 1), and the instruction index in the sequence.
        branchTargetFinder - a branch target finder that has been initialized to indicate branch targets in the visited code.
        codeAttributeEditor - a code editor that can be used for accumulating changes to the code.
        extraInstructionVisitor - an optional extra visitor for all deleted load instructions.