public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Evaluate the code. partialEvaluator.visitCodeAttribute(clazz, method, codeAttribute); // Mark the parameters that are used by the code. codeAttribute.instructionsAccept(clazz, method, this); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Evaluate the code. partialEvaluator.visitCodeAttribute(clazz, method, codeAttribute); // Mark the parameters that are used by the code. codeAttribute.instructionsAccept(clazz, method, this); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Evaluate the code. partialEvaluator.visitCodeAttribute(clazz, method, codeAttribute); // Mark the parameters that are used by the code. codeAttribute.instructionsAccept(clazz, method, this); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Evaluate the code. partialEvaluator.visitCodeAttribute(clazz, method, codeAttribute); // Mark the parameters that are used by the code. codeAttribute.instructionsAccept(clazz, method, this); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Evaluate the code. partialEvaluator.visitCodeAttribute(clazz, method, codeAttribute); referenceEscapeChecker.visitCodeAttribute(clazz, method, codeAttribute); // Mark the parameters that are modified from the code. codeAttribute.instructionsAccept(clazz, method, partialEvaluator.tracedInstructionFilter(this)); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Evaluate the code. partialEvaluator.visitCodeAttribute(clazz, method, codeAttribute); referenceEscapeChecker.visitCodeAttribute(clazz, method, codeAttribute); // Mark the parameters that are modified from the code. codeAttribute.instructionsAccept(clazz, method, partialEvaluator.tracedInstructionFilter(this)); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Evaluate the code. partialEvaluator.visitCodeAttribute(clazz, method, codeAttribute); referenceEscapeChecker.visitCodeAttribute(clazz, method, codeAttribute); // Mark the parameters that are modified from the code. codeAttribute.instructionsAccept(clazz, method, partialEvaluator.tracedInstructionFilter(this)); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Evaluate the code. if (runPartialEvaluator) { partialEvaluator.visitCodeAttribute(clazz, method, codeAttribute); } if (runReferenceEscapeChecker) { referenceEscapeChecker.visitCodeAttribute(clazz, method, codeAttribute); } // Mark all escaping classes. codeAttribute.instructionsAccept(clazz, method, partialEvaluator.tracedInstructionFilter(this)); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Evaluate the code. if (runPartialEvaluator) { partialEvaluator.visitCodeAttribute(clazz, method, codeAttribute); } if (runReferenceEscapeChecker) { referenceEscapeChecker.visitCodeAttribute(clazz, method, codeAttribute); } // Mark all escaping classes. codeAttribute.instructionsAccept(clazz, method, partialEvaluator.tracedInstructionFilter(this)); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Evaluate the code. if (runPartialEvaluator) { partialEvaluator.visitCodeAttribute(clazz, method, codeAttribute); } if (runReferenceEscapeChecker) { referenceEscapeChecker.visitCodeAttribute(clazz, method, codeAttribute); } // Mark all escaping classes. codeAttribute.instructionsAccept(clazz, method, partialEvaluator.tracedInstructionFilter(this)); }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { codeAttributeEditor.reset(codeAttribute.u4codeLength); partialEvaluator.visitCodeAttribute(clazz, method, codeAttribute); lastInstructionOffset = -1; lastInstructionStackPushCount = -1; arrayInitializationStart = -1; arrayInitializationEnd = -1; codeAttribute.instructionsAccept(clazz, method, this); if (codeAttributeEditor.isModified()) { codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); } }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { codeAttributeEditor.reset(codeAttribute.u4codeLength); partialEvaluator.visitCodeAttribute(clazz, method, codeAttribute); lastInstructionOffset = -1; lastInstructionStackPushCount = -1; arrayInitializationStart = -1; arrayInitializationEnd = -1; codeAttribute.instructionsAccept(clazz, method, this); if (codeAttributeEditor.isModified()) { codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); } }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { codeAttributeEditor.reset(codeAttribute.u4codeLength); partialEvaluator.visitCodeAttribute(clazz, method, codeAttribute); lastInstructionOffset = -1; lastInstructionStackPushCount = -1; arrayInitializationStart = -1; arrayInitializationEnd = -1; codeAttribute.instructionsAccept(clazz, method, this); if (codeAttributeEditor.isModified()) { codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); } }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Evaluate the method. partialEvaluator.visitCodeAttribute(clazz, method, codeAttribute); int codeLength = codeAttribute.u4codeLength; // Check all traced instructions. for (int offset = 0; offset < codeLength; offset++) { if (partialEvaluator.isTraced(offset)) { Instruction instruction = InstructionFactory.create(codeAttribute.code, offset); instruction.accept(clazz, method, codeAttribute, offset, this); // Check generalized stacks and variables at branch targets. if (partialEvaluator.isBranchOrExceptionTarget(offset)) { checkMixedStackEntriesBefore(offset); checkMixedVariablesBefore(offset); } } } }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Evaluate the method. partialEvaluator.visitCodeAttribute(clazz, method, codeAttribute); int codeLength = codeAttribute.u4codeLength; // Check all traced instructions. for (int offset = 0; offset < codeLength; offset++) { if (partialEvaluator.isTraced(offset)) { Instruction instruction = InstructionFactory.create(codeAttribute.code, offset); instruction.accept(clazz, method, codeAttribute, offset, this); // Check generalized stacks and variables at branch targets. if (partialEvaluator.isBranchOrExceptionTarget(offset)) { checkMixedStackEntriesBefore(offset); checkMixedVariablesBefore(offset); } } } }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) { // Evaluate the method. partialEvaluator.visitCodeAttribute(clazz, method, codeAttribute); int codeLength = codeAttribute.u4codeLength; // Check all traced instructions. for (int offset = 0; offset < codeLength; offset++) { if (partialEvaluator.isTraced(offset)) { Instruction instruction = InstructionFactory.create(codeAttribute.code, offset); instruction.accept(clazz, method, codeAttribute, offset, this); // Check generalized stacks and variables at branch targets. if (partialEvaluator.isBranchOrExceptionTarget(offset)) { checkMixedStackEntriesBefore(offset); checkMixedVariablesBefore(offset); } } } }
public void visitCodeAttribute0(Clazz clazz, Method method, CodeAttribute codeAttribute) { if (DEBUG) { System.out.println(); System.out.println("EvaluationSimplifier ["+clazz.getName()+"."+method.getName(clazz)+method.getDescriptor(clazz)+"]"); } // Evaluate the method. partialEvaluator.visitCodeAttribute(clazz, method, codeAttribute); int codeLength = codeAttribute.u4codeLength; // Reset the code changes. codeAttributeEditor.reset(codeLength); // Replace any instructions that can be simplified. for (int offset = 0; offset < codeLength; offset++) { if (partialEvaluator.isTraced(offset)) { Instruction instruction = InstructionFactory.create(codeAttribute.code, offset); instruction.accept(clazz, method, codeAttribute, offset, this); } } // Apply all accumulated changes to the code. codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); }
public void visitCodeAttribute0(Clazz clazz, Method method, CodeAttribute codeAttribute) { if (DEBUG) { System.out.println(); System.out.println("EvaluationSimplifier ["+clazz.getName()+"."+method.getName(clazz)+method.getDescriptor(clazz)+"]"); } // Evaluate the method. partialEvaluator.visitCodeAttribute(clazz, method, codeAttribute); int codeLength = codeAttribute.u4codeLength; // Reset the code changes. codeAttributeEditor.reset(codeLength); // Replace any instructions that can be simplified. for (int offset = 0; offset < codeLength; offset++) { if (partialEvaluator.isTraced(offset)) { Instruction instruction = InstructionFactory.create(codeAttribute.code, offset); instruction.accept(clazz, method, codeAttribute, offset, this); } } // Apply all accumulated changes to the code. codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); }
public void visitCodeAttribute0(Clazz clazz, Method method, CodeAttribute codeAttribute) { if (DEBUG) { System.out.println(); System.out.println("Class "+ClassUtil.externalClassName(clazz.getName())); System.out.println("Method "+ClassUtil.externalFullMethodDescription(clazz.getName(), 0, method.getName(clazz), method.getDescriptor(clazz))); } // Evaluate the method. partialEvaluator.visitCodeAttribute(clazz, method, codeAttribute); int codeLength = codeAttribute.u4codeLength; // Reset the code changes. codeAttributeEditor.reset(codeLength); // Replace any instructions that can be simplified. for (int offset = 0; offset < codeLength; offset++) { if (partialEvaluator.isTraced(offset)) { Instruction instruction = InstructionFactory.create(codeAttribute.code, offset); instruction.accept(clazz, method, codeAttribute, offset, this); } } // Apply all accumulated changes to the code. codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); }
public void visitCodeAttribute0(Clazz clazz, Method method, CodeAttribute codeAttribute) { if (DEBUG) { System.out.println(); System.out.println("EvaluationSimplifier ["+clazz.getName()+"."+method.getName(clazz)+method.getDescriptor(clazz)+"]"); } // Evaluate the method. partialEvaluator.visitCodeAttribute(clazz, method, codeAttribute); int codeLength = codeAttribute.u4codeLength; // Reset the code changes. codeAttributeEditor.reset(codeLength); // Replace any instructions that can be simplified. for (int offset = 0; offset < codeLength; offset++) { if (partialEvaluator.isTraced(offset)) { Instruction instruction = InstructionFactory.create(codeAttribute.code, offset); instruction.accept(clazz, method, codeAttribute, offset, this); } } // Apply all accumulated changes to the code. codeAttributeEditor.visitCodeAttribute(clazz, method, codeAttribute); }