[1/5] groovy git commit: Fix some potential performance issues
Repository: groovy Updated Branches: refs/heads/GROOVY_2_5_X 021ab0fba -> ab7d39a17 Fix some potential performance issues (cherry picked from commit b8a52eb) Project: http://git-wip-us.apache.org/repos/asf/groovy/repo Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/2b507b29 Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/2b507b29 Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/2b507b29 Branch: refs/heads/GROOVY_2_5_X Commit: 2b507b297b35d5827575924648b695d608e81c8e Parents: 021ab0f Author: danielsun1106 Authored: Tue Feb 20 03:00:48 2018 +0800 Committer: danielsun1106 Committed: Tue Feb 20 03:43:24 2018 +0800 -- .../org/codehaus/groovy/classgen/GeneratorContext.java | 2 +- .../org/codehaus/groovy/control/CompilationUnit.java| 4 +--- .../org/codehaus/groovy/control/ResolveVisitor.java | 12 ++-- .../org/codehaus/groovy/reflection/ReflectionCache.java | 2 +- .../codehaus/groovy/runtime/ResourceGroovyMethods.java | 4 +--- .../codehaus/groovy/tools/javac/JavacJavaCompiler.java | 3 +-- .../transform/stc/TraitTypeCheckingExtension.java | 2 +- 7 files changed, 12 insertions(+), 17 deletions(-) -- http://git-wip-us.apache.org/repos/asf/groovy/blob/2b507b29/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java -- diff --git a/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java b/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java index 8b8a510..da51a0a 100644 --- a/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java +++ b/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java @@ -105,7 +105,7 @@ public class GeneratorContext { } } } -if(b == null) return name.toString(); +if(b == null) return name; if (lastEscape == -1) throw new GroovyBugError("unexpected escape char control flow in "+name); b.append(name, lastEscape + 1, l); return b.toString(); http://git-wip-us.apache.org/repos/asf/groovy/blob/2b507b29/src/main/java/org/codehaus/groovy/control/CompilationUnit.java -- diff --git a/src/main/java/org/codehaus/groovy/control/CompilationUnit.java b/src/main/java/org/codehaus/groovy/control/CompilationUnit.java index a766784..b47a653 100644 --- a/src/main/java/org/codehaus/groovy/control/CompilationUnit.java +++ b/src/main/java/org/codehaus/groovy/control/CompilationUnit.java @@ -1026,9 +1026,7 @@ public class CompilationUnit extends ProcessingUnit { private List getPrimaryClassNodes(boolean sort) { List unsorted = new ArrayList(); for (ModuleNode module : this.ast.getModules()) { -for (ClassNode classNode : module.getClasses()) { -unsorted.add(classNode); -} +unsorted.addAll(module.getClasses()); } if (!sort) return unsorted; http://git-wip-us.apache.org/repos/asf/groovy/blob/2b507b29/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java -- diff --git a/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java b/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java index fe96714..922c528 100644 --- a/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java +++ b/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java @@ -762,7 +762,7 @@ public class ResolveVisitor extends ClassCodeExpressionTransformer { private static String lookupClassName(PropertyExpression pe) { boolean doInitialClassTest=true; -String name = ""; +StringBuilder name = new StringBuilder(32); // this loop builds a name from right to left each name part // separated by "." for (Expression it = pe; it != null; it = ((PropertyExpression) it).getObjectExpression()) { @@ -782,9 +782,9 @@ public class ResolveVisitor extends ClassCodeExpressionTransformer { // field bar. if (!testVanillaNameForClass(varName)) return null; doInitialClassTest = false; -name = varName; +name = new StringBuilder(varName); } else { -name = varName + "." + name; +name.insert(0, varName + "."); } break; } @@ -808,14 +808,14 @@ public class ResolveVisitor extends ClassCodeExpressionTransformer { // field bar. if (!testVanillaNameForClass(propertyPart)) return null; doInitialClassTest= false; -name = propertyPart; +name = new Strin
[1/5] groovy git commit: Fix some potential performance issues
Repository: groovy Updated Branches: refs/heads/GROOVY_2_6_X 7d1654a92 -> 77dde9ced Fix some potential performance issues (cherry picked from commit b8a52eb) Project: http://git-wip-us.apache.org/repos/asf/groovy/repo Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/d46ba2d7 Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/d46ba2d7 Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/d46ba2d7 Branch: refs/heads/GROOVY_2_6_X Commit: d46ba2d782bf02374ec1fec4d6c88a01322734ff Parents: 7d1654a Author: danielsun1106 Authored: Tue Feb 20 03:00:48 2018 +0800 Committer: danielsun1106 Committed: Tue Feb 20 03:42:14 2018 +0800 -- .../org/codehaus/groovy/classgen/GeneratorContext.java | 2 +- .../org/codehaus/groovy/control/CompilationUnit.java| 4 +--- .../org/codehaus/groovy/control/ResolveVisitor.java | 12 ++-- .../org/codehaus/groovy/reflection/ReflectionCache.java | 2 +- .../codehaus/groovy/runtime/ResourceGroovyMethods.java | 4 +--- .../codehaus/groovy/tools/javac/JavacJavaCompiler.java | 3 +-- .../transform/stc/TraitTypeCheckingExtension.java | 2 +- 7 files changed, 12 insertions(+), 17 deletions(-) -- http://git-wip-us.apache.org/repos/asf/groovy/blob/d46ba2d7/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java -- diff --git a/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java b/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java index dd318bd..1204dfa 100644 --- a/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java +++ b/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java @@ -115,7 +115,7 @@ public class GeneratorContext { } } } -if(b == null) return name.toString(); +if(b == null) return name; if (lastEscape == -1) throw new GroovyBugError("unexpected escape char control flow in "+name); b.append(name, lastEscape + 1, l); return b.toString(); http://git-wip-us.apache.org/repos/asf/groovy/blob/d46ba2d7/src/main/java/org/codehaus/groovy/control/CompilationUnit.java -- diff --git a/src/main/java/org/codehaus/groovy/control/CompilationUnit.java b/src/main/java/org/codehaus/groovy/control/CompilationUnit.java index a766784..b47a653 100644 --- a/src/main/java/org/codehaus/groovy/control/CompilationUnit.java +++ b/src/main/java/org/codehaus/groovy/control/CompilationUnit.java @@ -1026,9 +1026,7 @@ public class CompilationUnit extends ProcessingUnit { private List getPrimaryClassNodes(boolean sort) { List unsorted = new ArrayList(); for (ModuleNode module : this.ast.getModules()) { -for (ClassNode classNode : module.getClasses()) { -unsorted.add(classNode); -} +unsorted.addAll(module.getClasses()); } if (!sort) return unsorted; http://git-wip-us.apache.org/repos/asf/groovy/blob/d46ba2d7/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java -- diff --git a/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java b/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java index fe96714..922c528 100644 --- a/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java +++ b/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java @@ -762,7 +762,7 @@ public class ResolveVisitor extends ClassCodeExpressionTransformer { private static String lookupClassName(PropertyExpression pe) { boolean doInitialClassTest=true; -String name = ""; +StringBuilder name = new StringBuilder(32); // this loop builds a name from right to left each name part // separated by "." for (Expression it = pe; it != null; it = ((PropertyExpression) it).getObjectExpression()) { @@ -782,9 +782,9 @@ public class ResolveVisitor extends ClassCodeExpressionTransformer { // field bar. if (!testVanillaNameForClass(varName)) return null; doInitialClassTest = false; -name = varName; +name = new StringBuilder(varName); } else { -name = varName + "." + name; +name.insert(0, varName + "."); } break; } @@ -808,14 +808,14 @@ public class ResolveVisitor extends ClassCodeExpressionTransformer { // field bar. if (!testVanillaNameForClass(propertyPart)) return null; doInitialClassTest= false; -name = propertyPart; +name = new Strin