RFR: Fix aarch64 after merge
Roman Kennke
rkennke at redhat.com
Wed Apr 25 09:33:16 UTC 2018
> On 04/25/2018 12:35 AM, Roman Kennke wrote:
>> This moves code around in aarch64 to account for yesterday merge.
>>
>> http://cr.openjdk.java.net/~rkennke/fix-merge-aarch64/webrev.00/
>
> barrierSetAssembler_aarch64.cpp: resolve_* deserve a comment that they are deliberately no-op.
Ok done.
>> There are two backportable changes that fix actual issues:
>> - c1_LIRGenerator.cpp to fix assert in TestSelectiveBarrierFlags.java
>> makes C1 barrier generation more consistent with interpreter and other
>> places
>
> This should be RFR-ed separately for backports. I think the reason we called into shenandoah_*_impl
> methods is that we could still have a storeval barrier even if common WB/RBs are disabled. This
> patch stops emitting storevals with -XX:-ShWB -XX:-ShRB -XX:+ShSVB, when it really should. Is there
> an assert you are facing somewhere without this patch?
I fixed the asserts instead. They should allow
ShenandoahStoreValEnqueueBarrier. Which led me to notice that the
enqueue-barrier stuff is (and has been) completely lacking in
aarch64/interpreter. Traversal must have been broken in aarch64 since
forever ;-) I added it.
>> - write-barrier checking for EVACUATION | PARTIAL | TRAVERSAL instead of
>> just EVACUATION fixes partial+traversal modes
>
> Please RFR that fix for sh/jdk10 separately?
Will do. It's in different places than in jdk11 anyway, and the
enqueue-barrier stuff should go with it too.
Differential:
http://cr.openjdk.java.net/~rkennke/fix-merge-aarch64/webrev.01.diff/
Full:
http://cr.openjdk.java.net/~rkennke/fix-merge-aarch64/webrev.01/
Ok now?
Roman
More information about the shenandoah-dev
mailing list