RFR: several small changes including 8207040: [lworld] TestLWorld fails with "Meet Not Symmetric" with -Xcomp

Tobias Hartmann tobias.hartmann at oracle.com
Fri Jul 13 14:56:35 UTC 2018

Hi Roland,

On 13.07.2018 15:06, Roland Westrelin wrote:
> http://cr.openjdk.java.net/~roland/8207040/webrev.00/

Looks good to me.

> - checkcast buffers values when it's not needed. The change delays
>   allocation. I actually wonder if the path where we allocate is seen in
>   practice and if it is if we need to allocate at all.

Did you try to add an assert and check if it's triggered with our test?

> - the Parse::merge_common sometimes buffers a value when there's no
>   merge point which is unnecessary so I changed that logic too.

Looks like the checks you are added are the ones used further below (line 1767) but without the
control()->is_Region() check. Do you know why it's not needed?

> I'm a bit confused by monitorenter. We deoptimize when we see a value
> but we're already at the monitorenter. So when we deoptimize, given we
> don't reexecute the monitorenter, we resume execution after that
> bytecode. How does that trigger an exception?

I think we do reexecute the monitorenter because the uncommon trap

Please run all compiler tests with and without -XX:CompileTreshold=100 before pushing.


More information about the valhalla-dev mailing list