[8u] RFR: 8233023: assert(Opcode() == mem->Opcode() || phase->C->get_alias_index(adr_type()) == Compile::AliasIdxRaw) failed: no mismatched stores, except on raw memory

Severin Gehwolf sgehwolf at redhat.com
Thu Nov 7 15:02:36 UTC 2019


On Wed, 2019-11-06 at 16:51 +0000, Andrew John Hughes wrote:
> On 30/10/2019 09:41, Severin Gehwolf wrote:
> > Hi,
> > 
> > Could I please get a review of this 8u only issue? The reason a
> > fastdebug build of latest OpenJDK 8u asserts for the dec-tree benchmark
> > of the renaissance suite is because the 8u backport of JDK-8140309 was
> > missing this hunk from JDK 9[1]:
> > 
> > +             (Opcode() == Op_StoreL && st->Opcode() == Op_StoreI) || // expanded ClearArrayNode
> > +             (is_mismatched_access() || st->as_Store()->is_mismatched_access()),
> > 
> > I had a closer look and there doesn't seem to be missing anything else.
> > The proposed fix is to amend the assert condition in the appropriate
> > place, which brings 8u in line with JDK 9 code where the failure isn't
> > observed.
> > 
> > Bug: https://bugs.openjdk.java.net/browse/JDK-8233023
> > webrev: http://cr.openjdk.java.net/~sgehwolf/webrevs/JDK-8233023/01/webrev/
> > 
> > Testing: 8u tier1 test set with fastdebug build on x86_64 Linux. No new
> > failures. dec-tree benchmark now runs successfully on an 8u fastdebug
> > build.
> > 
> > Thoughts?
> > 
> > Thanks,
> > Severin
> > 
> > [1] http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/4bee38ba018c
> > 
> 
> I compared the two patches and this missing hunk does stand out. So the
> patch looks fine in that respect.

Thanks.

> I notice they also didn't backport the testcase to 8u. Any thoughts on
> including that?

The test uses Unsafe.putXXXUnaligned() which aren't available in JDK 8.
So I'm not sure how the test would work. More thoughts?

Thanks,
Severin



More information about the jdk8u-dev mailing list