RFR: JDK-8231086: Shenandoah: Stronger invariant for object-arraycopy

Roman Kennke rkennke at redhat.com
Wed Sep 25 07:13:59 UTC 2019

Hi Mark,

> Perhaps you’re aware of this already, but after this change and its
> predecessor (8231085) it takes significantly longer to compile HotSpot,
> I’m guessing due to C++ template expansion.  I saw build times on a
> four-core, eight-thread, 64GB Xeon box go from about 10m up to 15m.

I just tried on my TR1950X box with 64G mem, before it was 3:30m, now it 
takes 5:06. So yeah, that's bad.

It is also a bit surprising, because the change *removed* a whole lot of 
template crap. It also added some (smaller) templated loop.

I'll investigate what causes the slowdown and if we can reasonably fix this.

> (Yes, I’m aware that one could avoid this slowdown by not building
>   Shenandoah, but who would want to do that?)


> Bisecting the repo to identify this slowdown was tricky since the
> changeset for 8231085 (b1a394e15ae9) leaves the repo in a state that
> doesn’t build.  Please avoid that going forward -- every changeset
> should leave the repo in a buildable state.

I'm sorry for that. I should probably have folded the two changes 
together into one. I'll avoid it in the future.


More information about the hotspot-gc-dev mailing list