Home | History | Annotate | Download | only in evaluation

Lines Matching full:instruction

27 import proguard.classfile.instruction.*;
28 import proguard.classfile.instruction.visitor.InstructionVisitor;
145 Instruction instruction = InstructionFactory.create(codeAttribute.code,
148 instruction.accept(clazz, method, codeAttribute, offset, this);
370 * Replaces the push instruction at the given offset by a simpler push
371 * instruction, if possible.
375 Instruction instruction)
383 replaceIntegerPushInstruction(clazz, offset, instruction);
386 replaceLongPushInstruction(clazz, offset, instruction);
389 replaceFloatPushInstruction(clazz, offset, instruction);
392 replaceDoublePushInstruction(clazz, offset, instruction);
395 replaceReferencePushInstruction(clazz, offset, instruction);
403 * Replaces the integer pushing instruction at the given offset by a simpler
404 * push instruction, if possible.
408 Instruction instruction)
412 instruction,
418 * Replaces the integer pushing instruction at the given offset by a simpler
419 * push instruction, if possible.
423 Instruction instruction,
434 instruction,
443 Instruction replacementInstruction =
447 replaceInstruction(clazz, offset, instruction, replacementInstruction);
459 instruction,
469 * Replaces the long pushing instruction at the given offset by a simpler
470 * push instruction, if possible.
474 Instruction instruction)
478 instruction,
484 * Replaces the long pushing instruction at the given offset by a simpler
485 * push instruction, if possible.
489 Instruction instruction,
501 instruction,
510 Instruction replacementInstruction =
514 replaceInstruction(clazz, offset, instruction, replacementInstruction);
526 instruction,
536 * Replaces the float pushing instruction at the given offset by a simpler
537 * push instruction, if possible.
541 Instruction instruction)
545 instruction,
551 * Replaces the float pushing instruction at the given offset by a simpler
552 * push instruction, if possible.
556 Instruction instruction,
569 instruction,
578 Instruction replacementInstruction =
582 replaceInstruction(clazz, offset, instruction, replacementInstruction);
594 instruction,
604 * Replaces the double pushing instruction at the given offset by a simpler
605 * push instruction, if possible.
609 Instruction instruction)
613 instruction,
619 * Replaces the double pushing instruction at the given offset by a simpler
620 * push instruction, if possible.
624 Instruction instruction,
636 instruction,
645 Instruction replacementInstruction =
649 replaceInstruction(clazz, offset, instruction, replacementInstruction);
661 instruction,
671 * Replaces the reference pushing instruction at the given offset by a
672 * simpler push instruction, if possible.
676 Instruction instruction)
684 instruction,
692 * Replaces the instruction at a given offset by a given push instruction
697 Instruction instruction,
701 Instruction replacementInstruction =
704 replaceInstruction(clazz, offset, instruction, replacementInstruction);
709 * Replaces the instruction at a given offset by a given push instruction
714 Instruction instruction,
718 Instruction replacementInstruction =
721 replaceInstruction(clazz, offset, instruction, replacementInstruction);
726 * Replaces the given 'jsr' instruction by a simpler branch instruction,
745 // We have to make sure the instruction after this 'jsr'
746 // instruction is valid, even if it is never reached.
753 * Deletes the reference popping instruction at the given offset, if
759 Instruction instruction)
765 if (DEBUG) System.out.println(" Deleting store of subroutine return address "+instruction.toString(offset));
774 * Deletes the given branch instruction, or replaces it by a simpler branch
775 * instruction, if possible.
779 Instruction instruction)
787 // Is it branching to the next instruction?
789 if (branchOffset == instruction.length(offset))
791 if (DEBUG) System.out.println(" Ignoring zero branch instruction at ["+offset+"]");
795 // Replace the branch instruction by a simple branch instruction.
796 Instruction replacementInstruction =
800 replaceInstruction(clazz, offset, instruction, replacementInstruction);
807 instruction are valid.
821 Instruction replacementInstruction = null;
832 // Remember to replace the instruction.
843 // Remember to replace the instruction.
855 * Replaces the given instruction by an infinite loop.
859 Instruction instruction)
861 // Replace the instruction by an infinite loop.
862 Instruction replacementInstruction =
865 if (DEBUG) System.out.println(" Replacing unreachable instruction by infinite loop "+replacementInstruction.toString(offset));
869 // Visit the instruction, if required.
874 instruction.accept(clazz, null, null, offset, extraInstructionVisitor);
880 * Replaces the instruction at a given offset by a given push instruction.
884 Instruction instruction,
885 Instruction replacementInstruction)
889 instruction.stackPopCount(clazz) -
894 if (DEBUG) System.out.println(" Replacing instruction "+instruction.toString(offset)+" -> "+replacementInstruction.toString()+(popCount == 0 ? "" : " ("+popCount+" pops)"));
898 // Visit the instruction, if required.
903 instruction.accept(clazz, null, null, offset, extraInstructionVisitor);
909 * Pops the given number of stack entries before the instruction at the
922 // Insert a single pop instruction.
923 Instruction popInstruction =
932 // Insert a single pop2 instruction.
933 Instruction popInstruction =
943 Instruction[] popInstructions =
944 new Instruction[popCount / 2 + popCount % 2];
946 Instruction popInstruction =