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

Roman Kennke rkennke at redhat.com
Wed Sep 25 10:36:55 UTC 2019

Hi Mark,

We identified and fixed the problem. See:



Thanks for raising attention to this issue!


> 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.
> Ugh.
> 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.
> Roman

More information about the hotspot-gc-dev mailing list