RFR: Handle checkcast arraycopy correctly in barriers. Make arraycopy+barriers a single loop.
Roman Kennke
rkennke at redhat.com
Tue Feb 27 13:34:47 UTC 2018
Just when I pushed, I hit this assert:
# Internal Error
(/home/rkennke/src/openjdk/shenandoah-jdk/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp:285),
pid=1884, tid=1911
# assert(heap->is_stable() || heap->is_evacuation_in_progress())
failed: must not have anything in progress
The issue there is that it can't be stable because it has the
has_forwarded bit set, which is valid (and obvious) at this point.
Should we relax the is_stable() property or go back to checking that
none stuff is in_progress as before?
Roman
On Tue, Feb 27, 2018 at 2:28 PM, Roman Kennke <rkennke at redhat.com> wrote:
> On Tue, Feb 27, 2018 at 2:27 PM, Aleksey Shipilev <shade at redhat.com> wrote:
>> On 02/27/2018 02:18 PM, Roman Kennke wrote:
>>> Differential (against your changes):
>>> http://cr.openjdk.java.net/~rkennke/arraycopy-loop/webrev.01.diff/
>>> Full (incl. your changes plus my additional test+fixes):
>>> http://cr.openjdk.java.net/~rkennke/arraycopy-loop/webrev.01/
>>>
>>> Good now?
>>
>> Yup.
>>
>> Is this backportable to sh/jdk10? I.e. is the bug present in sh/jdk10 too?
>
> Yes, it is. But only 10.
>
> Roman
More information about the shenandoah-dev
mailing list