public ClassVisitor createClassVisitor() { ValueFactory valueFactory = new ParticularValueFactory(); InvocationUnit storingInvocationUnit = new StoringInvocationUnit(valueFactory, fieldPropagationValue, methodPropagationParameter || classMergingWrapper, methodPropagationReturnvalue); return new ClassAccessFilter(0, ClassConstants.ACC_SYNTHETIC, new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Filling out fields, method parameters, and return values", new PartialEvaluator(valueFactory, storingInvocationUnit, false))))); } };
public ClassVisitor createClassVisitor() { ValueFactory valueFactory = new ParticularValueFactory(); InvocationUnit storingInvocationUnit = new StoringInvocationUnit(valueFactory, fieldPropagationValue, methodPropagationParameter || classMergingWrapper, methodPropagationReturnvalue); return new ClassAccessFilter(0, ClassConstants.ACC_SYNTHETIC, new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Filling out fields, method parameters, and return values", new PartialEvaluator(valueFactory, storingInvocationUnit, false))))); } };
public ClassVisitor createClassVisitor() { return new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Variable optimizations", new OptimizationCodeAttributeFilter( new VariableOptimizer(false, codeAllocationVariableCounter))))); } };
public ClassVisitor createClassVisitor() { ValueFactory valueFactory = new ParticularValueFactory(); InvocationUnit storingInvocationUnit = new StoringInvocationUnit(valueFactory, fieldPropagationValue, methodPropagationParameter || classMergingWrapper, methodPropagationReturnvalue); return new ClassAccessFilter(0, ClassConstants.ACC_SYNTHETIC, new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Filling out fields, method parameters, and return values", new PartialEvaluator(valueFactory, storingInvocationUnit, false))))); } };
public ClassVisitor createClassVisitor() { return new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Variable optimizations", new OptimizationCodeAttributeFilter( new VariableOptimizer(false, codeAllocationVariableCounter))))); } };
public ClassVisitor createClassVisitor() { return new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Variable optimizations", new OptimizationCodeAttributeFilter( new VariableOptimizer(false, codeAllocationVariableCounter))))); } };
public ClassVisitor createClassVisitor() { // Perform partial evaluation again, now loading any previously stored // values for fields, method parameters, and method return values. ValueFactory valueFactory = new IdentifiedValueFactory(); SimplifiedInvocationUnit loadingInvocationUnit = new LoadingInvocationUnit(valueFactory, fieldPropagationValue, methodPropagationParameter, methodPropagationReturnvalue); return new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Simplifying code", new OptimizationCodeAttributeFilter( new EvaluationSimplifier( new PartialEvaluator(valueFactory, loadingInvocationUnit, false), codeSimplificationAdvancedCounter))))); } };
public ClassVisitor createClassVisitor() { // Perform partial evaluation again, now loading any previously stored // values for fields, method parameters, and method return values. ValueFactory valueFactory = new IdentifiedValueFactory(); SimplifiedInvocationUnit loadingInvocationUnit = new LoadingInvocationUnit(valueFactory, fieldPropagationValue, methodPropagationParameter, methodPropagationReturnvalue); return new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Simplifying code", new OptimizationCodeAttributeFilter( new EvaluationSimplifier( new PartialEvaluator(valueFactory, loadingInvocationUnit, false), codeSimplificationAdvancedCounter))))); } };
public ClassVisitor createClassVisitor() { // Perform partial evaluation again, now loading any previously stored // values for fields, method parameters, and method return values. ValueFactory valueFactory = new IdentifiedValueFactory(); SimplifiedInvocationUnit loadingInvocationUnit = new LoadingInvocationUnit(valueFactory, fieldPropagationValue, methodPropagationParameter, methodPropagationReturnvalue); return new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Simplifying code", new OptimizationCodeAttributeFilter( new EvaluationSimplifier( new PartialEvaluator(valueFactory, loadingInvocationUnit, false), codeSimplificationAdvancedCounter))))); } };
new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Peephole optimizations", new OptimizationCodeAttributeFilter( new PeepholeOptimizer(branchTargetFinder, codeAttributeEditor,
new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Peephole optimizations", new OptimizationCodeAttributeFilter( new PeepholeOptimizer(branchTargetFinder, codeAttributeEditor,
new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Peephole optimizations", new OptimizationCodeAttributeFilter( new PeepholeOptimizer(branchTargetFinder, codeAttributeEditor,
new OptimizationInfoMemberFilter( new AllAttributeVisitor( new DebugAttributeVisitor("Marking fields, methods, and parameters", new MultiAttributeVisitor( partialEvaluator,
new OptimizationInfoMemberFilter( new AllAttributeVisitor( new DebugAttributeVisitor("Marking fields, methods, and parameters", new MultiAttributeVisitor( partialEvaluator,
new OptimizationInfoMemberFilter( new AllAttributeVisitor( new DebugAttributeVisitor("Marking fields, methods, and parameters", new MultiAttributeVisitor( partialEvaluator,
public ClassVisitor createClassVisitor() { // Perform partial evaluation again, now loading any previously stored // values for fields, method parameters, and method return values. ValueFactory valueFactory = new IdentifiedValueFactory(); SimplifiedInvocationUnit loadingInvocationUnit = new LoadingInvocationUnit(valueFactory, fieldPropagationValue, methodPropagationParameter, methodPropagationReturnvalue); // Trace the construction of reference values. ReferenceTracingValueFactory referenceTracingValueFactory = new ReferenceTracingValueFactory(valueFactory); return new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Shrinking code", new OptimizationCodeAttributeFilter( new EvaluationShrinker( new InstructionUsageMarker( new PartialEvaluator(referenceTracingValueFactory, new ParameterTracingInvocationUnit(loadingInvocationUnit), !codeSimplificationAdvanced, referenceTracingValueFactory), true), true, deletedCounter, addedCounter))))); } };
public ClassVisitor createClassVisitor() { // Perform partial evaluation again, now loading any previously stored // values for fields, method parameters, and method return values. ValueFactory valueFactory = new IdentifiedValueFactory(); SimplifiedInvocationUnit loadingInvocationUnit = new LoadingInvocationUnit(valueFactory, fieldPropagationValue, methodPropagationParameter, methodPropagationReturnvalue); // Trace the construction of reference values. ReferenceTracingValueFactory referenceTracingValueFactory = new ReferenceTracingValueFactory(valueFactory); return new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Shrinking code", new OptimizationCodeAttributeFilter( new EvaluationShrinker( new InstructionUsageMarker( new PartialEvaluator(referenceTracingValueFactory, new ParameterTracingInvocationUnit(loadingInvocationUnit), !codeSimplificationAdvanced, referenceTracingValueFactory), true), true, deletedCounter, addedCounter))))); } };
public ClassVisitor createClassVisitor() { // Perform partial evaluation again, now loading any previously stored // values for fields, method parameters, and method return values. ValueFactory valueFactory = new IdentifiedValueFactory(); SimplifiedInvocationUnit loadingInvocationUnit = new LoadingInvocationUnit(valueFactory, fieldPropagationValue, methodPropagationParameter, methodPropagationReturnvalue); // Trace the construction of reference values. ReferenceTracingValueFactory referenceTracingValueFactory = new ReferenceTracingValueFactory(valueFactory); return new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Shrinking code", new OptimizationCodeAttributeFilter( new EvaluationShrinker( new InstructionUsageMarker( new PartialEvaluator(referenceTracingValueFactory, new ParameterTracingInvocationUnit(loadingInvocationUnit), !codeSimplificationAdvanced, referenceTracingValueFactory), true), true, deletedCounter, addedCounter))))); } };
new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Filling out fields, method parameters, and return values in synthetic classes", new PartialEvaluator(detailedValueFactory, storingInvocationUnit, false)))))); new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Inlining single methods", new OptimizationCodeAttributeFilter( new MethodInliner(configuration.microEdition, new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Inlining short methods", new OptimizationCodeAttributeFilter( new MethodInliner(configuration.microEdition, new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Simplifying tail recursion", new OptimizationCodeAttributeFilter( new TailRecursionSimplifier(methodInliningTailrecursionCounter))))))); new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Sharing common code", new OptimizationCodeAttributeFilter( new GotoCommonCodeReplacer(codeMergingCounter)))))));
new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Filling out fields, method parameters, and return values in synthetic classes", new PartialEvaluator(detailedValueFactory, storingInvocationUnit, false)))))); new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Inlining single methods", new OptimizationCodeAttributeFilter( new MethodInliner(configuration.microEdition, new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Inlining short methods", new OptimizationCodeAttributeFilter( new MethodInliner(configuration.microEdition, new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Simplifying tail recursion", new OptimizationCodeAttributeFilter( new TailRecursionSimplifier(methodInliningTailrecursionCounter))))))); new AllMethodVisitor( new AllAttributeVisitor( new DebugAttributeVisitor("Sharing common code", new OptimizationCodeAttributeFilter( new GotoCommonCodeReplacer(codeMergingCounter)))))));