RFR 8178150: Regression in logic for handling inference stuck constraints
B. Blaser
bsrbnd at gmail.com
Thu Oct 19 13:45:53 UTC 2017
Hi,
On 19 October 2017 at 13:12, Maurizio Cimadamore
<maurizio.cimadamore at oracle.com> wrote:
> Btw - a possible low hanging fruit performance wise here is to cache the
> closure of a node in the node itself. But this adds complexity as there are
> methods to update dependencies every time the inference graph is updated. So
> the cache would have to be cleared, at the very least in the
> Node::graphChanged method.
>
> Since, as mentioned in the original message, it is likely that we will
> address residual performance concerns in a followup issue, I decided to
> leave this alone - in case we want to come up with a more holistic
> optimization.
Looks good to me too, I also agree that your general method is safer.
Note it's a bit strange that transitive nodes sometimes appear in the
bound set, but not always, as you wrote in [1].
I also noticed you used 'graph.findNode(inputVar)' which will
hopefully be optimized along with some other issues like
'stack.contains()' in 'Tarjan.findSCC()' which currently performs a
linear scan of the stack ;-)
Thanks!
Bernard
[1] http://mail.openjdk.java.net/pipermail/compiler-dev/2017-October/011215.html
> Cheers
> Maurizio
More information about the compiler-dev
mailing list