From 66cc6ee5736facc0cb7670d0f334aba2274630ee Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Tue, 20 Dec 2011 10:47:02 -0800 Subject: Optimization in backend. Eliminated one source of the thousands of copies of the same Strings we had/have (strongly reachable) on the heap. It is another good example of how constructor parameters unintentionally become fields and how that in turn brings the pain. --- src/compiler/scala/tools/nsc/backend/icode/Members.scala | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/compiler/scala/tools/nsc/backend/icode/Members.scala') diff --git a/src/compiler/scala/tools/nsc/backend/icode/Members.scala b/src/compiler/scala/tools/nsc/backend/icode/Members.scala index 2f43d43bdd..bb7ef4468c 100644 --- a/src/compiler/scala/tools/nsc/backend/icode/Members.scala +++ b/src/compiler/scala/tools/nsc/backend/icode/Members.scala @@ -24,9 +24,7 @@ trait Members { self: ICodes => * This class represents the intermediate code of a method or * other multi-block piece of code, like exception handlers. */ - class Code(label: String, method: IMethod) { - def this(method: IMethod) = this(method.symbol.simpleName.toString, method) - + class Code(method: IMethod) { /** The set of all blocks */ val blocks = mutable.ListBuffer[BasicBlock]() @@ -73,7 +71,7 @@ trait Members { self: ICodes => } /** This methods returns a string representation of the ICode */ - override def toString() : String = "ICode '" + label + "'"; + override def toString() : String = "ICode '" + method.symbol.decodedName + "'"; /* Compute a unique new label */ def nextLabel: Int = { -- cgit v1.2.3