/** * Returns whether the instruction at the given offset is the start of a * subroutine. */ public boolean isSubroutineStart(int instructionOffset) { return branchTargetFinder.isSubroutineStart(instructionOffset); }
/** * Returns whether the instruction at the given offset is the start of a * subroutine. */ public boolean isSubroutineStart(int instructionOffset) { return branchTargetFinder.isSubroutineStart(instructionOffset); }
/** * Returns whether the instruction at the given offset is the start of a * subroutine. */ public boolean isSubroutineStart(int instructionOffset) { return branchTargetFinder.isSubroutineStart(instructionOffset); }
/** * Returns whether the instruction at the given offset is the start of a * subroutine. */ public boolean isSubroutineStart(int instructionOffset) { return branchTargetFinder.isSubroutineStart(instructionOffset); }
public void visitAnyInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, Instruction instruction) { if (branchTargetFinder.isSubroutineStart(offset)) { if (DEBUG) { System.out.println(" Replacing first subroutine instruction "+instruction.toString(offset)+" by a label"); } // Append a label at this offset instead of saving the subroutine // return address. codeAttributeComposer.appendLabel(offset); } else { // Append the instruction. codeAttributeComposer.appendInstruction(offset, instruction); } }
public void visitAnyInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, Instruction instruction) { if (branchTargetFinder.isSubroutineStart(offset)) { if (DEBUG) { System.out.println(" Replacing first subroutine instruction "+instruction.toString(offset)+" by a label"); } // Append a label at this offset instead of saving the subroutine // return address. codeAttributeComposer.appendLabel(offset); } else { // Append the instruction. codeAttributeComposer.appendInstruction(offset, instruction); } }
public void visitAnyInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, Instruction instruction) { if (branchTargetFinder.isSubroutineStart(offset)) { if (DEBUG) { System.out.println(" Replacing first subroutine instruction "+instruction.toString(offset)+" by a label"); } // Append a label at this offset instead of saving the subroutine // return address. codeAttributeComposer.appendLabel(offset); } else { // Append the instruction. codeAttributeComposer.appendInstruction(offset, instruction); } }
if (isSubroutineStart(index)) (isExceptionHandler(index) ? 'H' : '-') + (isSubroutineInvocation(index) ? 'J' : '-') + (isSubroutineStart(index) ? 'S' : '-') + (isSubroutineReturning(index) ? 'r' : '-') + (isSubroutine(index) ? " ["+subroutineStart(index)+" -> "+subroutineEnd(index)+"]" : "") +
else if (branchTargetFinder.isSubroutineStart(offset))
else if (branchTargetFinder.isSubroutineStart(offset))
else if (branchTargetFinder.isSubroutineStart(offset))
else if (branchTargetFinder.isSubroutineStart(offset))