/** * Marks the branch targets of the given jump offsets for the instruction * at the given offset. */ private void markBranchTargets(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int[] jumpOffsets) { for (int index = 0; index < jumpOffsets.length; index++) { markCode(clazz, method, codeAttribute, offset + jumpOffsets[index]); } }
/** * Marks the branch target at the given offset. */ private void markBranchTarget(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset) { boolean oldNext = next; markCode(clazz, method, codeAttribute, offset); next = oldNext; }
/** * Marks the branch target at the given offset. */ private void markBranchTarget(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset) { boolean oldNext = next; markCode(clazz, method, codeAttribute, offset); next = oldNext; }
/** * Marks the branch target at the given offset. */ private void markBranchTarget(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset) { boolean oldNext = next; markCode(clazz, method, codeAttribute, offset); next = oldNext; }
/** * Marks the branch targets of the given jump offsets for the instruction * at the given offset. */ private void markBranchTargets(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int[] jumpOffsets) { for (int index = 0; index < jumpOffsets.length; index++) { markCode(clazz, method, codeAttribute, offset + jumpOffsets[index]); } }
/** * Marks the branch target at the given offset. */ private void markBranchTarget(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset) { boolean oldNext = next; markCode(clazz, method, codeAttribute, offset); next = oldNext; }
/** * Marks the branch targets of the given jump offsets for the instruction * at the given offset. */ private void markBranchTargets(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int[] jumpOffsets) { for (int index = 0; index < jumpOffsets.length; index++) { markCode(clazz, method, codeAttribute, offset + jumpOffsets[index]); } }
/** * Marks the branch targets of the given jump offsets for the instruction * at the given offset. */ private void markBranchTargets(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int[] jumpOffsets) { for (int index = 0; index < jumpOffsets.length; index++) { markCode(clazz, method, codeAttribute, offset + jumpOffsets[index]); } }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Make sure there is a sufficiently large array. int codeLength = codeAttribute.u4codeLength; if (isReachable.length < codeLength) { // Create a new array. isReachable = new boolean[codeLength]; } else { // Reset the array. Arrays.fill(isReachable, 0, codeLength, false); } // Mark the code, starting at the entry point. markCode(clazz, method, codeAttribute, 0); // Mark the exception handlers, iterating as long as necessary. do { evaluateExceptions = false; codeAttribute.exceptionsAccept(clazz, method, this); } while (evaluateExceptions); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Make sure there is a sufficiently large array. int codeLength = codeAttribute.u4codeLength; if (isReachable.length < codeLength) { // Create a new array. isReachable = new boolean[codeLength]; } else { // Reset the array. Arrays.fill(isReachable, 0, codeLength, false); } // Mark the code, starting at the entry point. markCode(clazz, method, codeAttribute, 0); // Mark the exception handlers, iterating as long as necessary. do { evaluateExceptions = false; codeAttribute.exceptionsAccept(clazz, method, this); } while (evaluateExceptions); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Make sure there is a sufficiently large array. int codeLength = codeAttribute.u4codeLength; if (isReachable.length < codeLength) { // Create a new array. isReachable = new boolean[codeLength]; } else { // Reset the array. for (int index = 0; index < codeLength; index++) { isReachable[index] = false; } } // Mark the code, starting at the entry point. markCode(clazz, method, codeAttribute, 0); // Mark the exception handlers, iterating as long as necessary. do { evaluateExceptions = false; codeAttribute.exceptionsAccept(clazz, method, this); } while (evaluateExceptions); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Make sure there is a sufficiently large array. int codeLength = codeAttribute.u4codeLength; if (isReachable.length < codeLength) { // Create a new array. isReachable = new boolean[codeLength]; } else { // Reset the array. Arrays.fill(isReachable, 0, codeLength, false); } // Mark the code, starting at the entry point. markCode(clazz, method, codeAttribute, 0); // Mark the exception handlers, iterating as long as necessary. do { evaluateExceptions = false; codeAttribute.exceptionsAccept(clazz, method, this); } while (evaluateExceptions); }
public void visitExceptionInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, ExceptionInfo exceptionInfo) { // Mark the exception handler if it's relevant. if (!isReachable(exceptionInfo.u2handlerPC) && isReachable(exceptionInfo.u2startPC, exceptionInfo.u2endPC)) { markCode(clazz, method, codeAttribute, exceptionInfo.u2handlerPC); evaluateExceptions = true; } }
public void visitExceptionInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, ExceptionInfo exceptionInfo) { // Mark the exception handler if it's relevant. if (!isReachable(exceptionInfo.u2handlerPC) && isReachable(exceptionInfo.u2startPC, exceptionInfo.u2endPC)) { markCode(clazz, method, codeAttribute, exceptionInfo.u2handlerPC); evaluateExceptions = true; } }
public void visitExceptionInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, ExceptionInfo exceptionInfo) { // Mark the exception handler if it's relevant. if (!isReachable(exceptionInfo.u2handlerPC) && isReachable(exceptionInfo.u2startPC, exceptionInfo.u2endPC)) { markCode(clazz, method, codeAttribute, exceptionInfo.u2handlerPC); evaluateExceptions = true; } }
public void visitExceptionInfo(Clazz clazz, Method method, CodeAttribute codeAttribute, ExceptionInfo exceptionInfo) { // Mark the exception handler if it's relevant. if (!isReachable(exceptionInfo.u2handlerPC) && isReachable(exceptionInfo.u2startPC, exceptionInfo.u2endPC)) { markCode(clazz, method, codeAttribute, exceptionInfo.u2handlerPC); evaluateExceptions = true; } }