public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { // Get the total size of the parameters and the mask of the used // parameters. parameterSize = ParameterUsageMarker.getParameterSize(programMethod); usedParameters = ParameterUsageMarker.getUsedParameters(programMethod); } }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { // Get the total size of the parameters and the mask of the used // parameters. parameterSize = ParameterUsageMarker.getParameterSize(programMethod); usedParameters = ParameterUsageMarker.getUsedParameters(programMethod); } }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { // Get the total size of the parameters and the mask of the used // parameters. parameterSize = ParameterUsageMarker.getParameterSize(programMethod); usedParameters = ParameterUsageMarker.getUsedParameters(programMethod); } }
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) { // Get the total size of the parameters. int parameterSize = ParameterUsageMarker.getParameterSize(programMethod); // Make the method invocation static, if possible. if ((programMethod.getAccessFlags() & ClassConstants.INTERNAL_ACC_STATIC) == 0 && !ParameterUsageMarker.isParameterUsed(programMethod, 0)) { replaceByStaticInvocation(programClass, invocationOffset, invocationInstruction); } // Remove unused parameters. for (int index = 0; index < parameterSize; index++) { if (!ParameterUsageMarker.isParameterUsed(programMethod, index)) { TracedStack stack = partialEvaluator.getStackBefore(invocationOffset); int stackIndex = stack.size() - parameterSize + index; if (DEBUG) { System.out.println(" ["+invocationOffset+"] Ignoring parameter #"+index+" of "+programClass.getName()+"."+programMethod.getName(programClass)+programMethod.getDescriptor(programClass)+"] (stack entry #"+stackIndex+" ["+stack.getBottom(stackIndex)+"])"); System.out.println(" Full stack: "+stack); } markStackSimplificationBefore(invocationOffset, stackIndex); } } } }
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) int oldParameterSize = ParameterUsageMarker.getParameterSize(method);
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) int oldParameterSize = ParameterUsageMarker.getParameterSize(method);
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) int oldParameterSize = ParameterUsageMarker.getParameterSize(method);
public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute) int oldParameterSize = ParameterUsageMarker.getParameterSize(method);