From 989c3f85d95a22c95bc7ce936c4bd57ff0608bcd Mon Sep 17 00:00:00 2001 From: Grzegorz Kossakowski Date: Tue, 3 Sep 2013 18:12:31 -0700 Subject: SI-7149 Use a WeakHashSet for type uniqueness Currently type uniqueness is done via a HashSet[Type], but that means the Types live through an entire compile session, even ones that are used once. The result is a huge amount of unnecessarily retained memory. This commit uses a WeakHashSet instead so that Types and their WeakReferences are cleaned up when no longer in use. --- bincompat-forward.whitelist.conf | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'bincompat-forward.whitelist.conf') diff --git a/bincompat-forward.whitelist.conf b/bincompat-forward.whitelist.conf index d1a19534db..a64eb0ba5d 100644 --- a/bincompat-forward.whitelist.conf +++ b/bincompat-forward.whitelist.conf @@ -1383,6 +1383,30 @@ filter { { matchName="scala.reflect.internal.util.WeakHashSet.reduceOption" problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.SymbolTable.scala$reflect$internal$Types$$uniques" + problemName=IncompatibleResultTypeProblem + }, + { + matchName="scala.reflect.internal.SymbolTable.scala$reflect$internal$Types$$uniques_=" + problemName=IncompatibleMethTypeProblem + }, + { + matchName="scala.reflect.internal.Types.scala$reflect$internal$Types$$uniques" + problemName=IncompatibleResultTypeProblem + }, + { + matchName="scala.reflect.internal.Types.scala$reflect$internal$Types$$uniques_=" + problemName=IncompatibleMethTypeProblem + }, + { + matchName="scala.reflect.internal.Types.scala$reflect$internal$Types$$uniques" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Types.scala$reflect$internal$Types$$uniques_=" + problemName=MissingMethodProblem } ] } -- cgit v1.2.3