Yes, I will pull it but with additional testing. Yesterday I realized that we managed to break 20 of abc's test cases over the past weeks. We need to be more careful about what gets committed...

On Dec 27, 2013 9:20 AM, Steven Arzt <notifications@github.com> wrote:

In src/soot/toolkits/scalar/AbstractFlowAnalysis.java:

> @@ -54,7 +54,7 @@
>      /** Constructs a flow analysis on the given <code>DirectedGraph</code>. */
>      public AbstractFlowAnalysis(DirectedGraph<N> graph)
>      {
> -        unitToBeforeFlow = new HashMap<N,A>(graph.size() * 2 + 1, 0.7f);
> +        unitToBeforeFlow = new IdentityHashMap<N,A>(graph.size() * 2 + 1);


In any case, it shouldn't hurt to use an IdentityHashMap in this case, so I'd vote for pulling the change. Eric Bodden <notifications@github.com> wrote:
…
In src/soot/toolkits/scalar/AbstractFlowAnalysis.java: > @@ -54,7 +54,7 @@ > /** Constructs a flow analysis on the given <code>DirectedGraph</code>. */ > public AbstractFlowAnalysis(DirectedGraph<N> graph) > { > - unitToBeforeFlow = new HashMap<N,A>(graph.size() * 2 + 1, 0.7f); > + unitToBeforeFlow = new IdentityHashMap<N,A>(graph.size() * 2 + 1); I am not sure it's any faster if the element type does not overwrite equals. Note that current VMs have quite advanced inlining. On Dec 26, 2013 9:34 PM, =?ISO-8859-1?Q?Marc-Andr=E9_Laverdi=E8re?= <notifications@github.com> wrote: In src/soot/toolkits/scalar/AbstractFlowAnalysis.java: @@ -54,7 +54,7 @@ /** Constructs a flow analysis on the given <code>DirectedGraph</code>. */ public AbstractFlowAnalysis(DirectedGraph<N> graph) { - unitToBeforeFlow = new HashMap<N,A>(graph.size() * 2 + 1, 0.7f); + unitToBeforeFlow = new IdentityHashMap<N,A>(graph.size() * 2 + 1); I think that IdentityHashMap uses == instead of .equals(), which is much faster. Marc-André Laverdière-Papineau Doctorant - PhD Candidate … On 12/26/2013 06:55 AM, Eric Bodden wrote: In src/soot/toolkits/scalar/AbstractFlowAnalysis.java: > @@ -54,7 +54,7 @@ > /** Constructs a flow analysis on the given <code>DirectedGraph</code>. */ > public AbstractFlowAnalysis(DirectedGraph<N> graph) > { > - unitToBeforeFlow = new HashMap<N,A>(graph.size() * 2 + 1, 0.7f); > + unitToBeforeFlow = new IdentityHashMap<N,A>(graph.size() * 2 + 1); Why is this necessary? Units should normally not implement equals() anyway... — Reply to this email directly or view it on GitHub <https://github.com/Sable/soot/pull/162/files#r8554907>. — Reply to this email directly or view it on GitHub<https://github.com/Sable/soot/pull/162/files#r8559933>. — Reply to this email directly or view it on GitHub.￼

—
Reply to this email directly or view it on GitHub<https://github.com/Sable/soot/pull/162/files#r8565050>.