RFR: 8202082: Remove explicit CMS checks in CardTableBarrierSetAssembler (original) (raw)
Kim Barrett kim.barrett at oracle.com
Tue Apr 24 02:15:13 UTC 2018
- Previous message: RFR: 8202082: Remove explicit CMS checks in CardTableBarrierSetAssembler
- Next message: RFR: 8202082: Remove explicit CMS checks in CardTableBarrierSetAssembler
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Apr 20, 2018, at 10:43 AM, Erik Ă–sterlund <erik.osterlund at oracle.com> wrote:
Hi, In CardTableBarrierSetAssembler, we sometimes need fencing due to the card table being scanned concurrently when using CMS with pre-cleaning. Rather than explicitly checking for those CMS flags in the generic CardTableBarrierSetAssembler class, it is preferrable to check the CardTable scannedconcurrently() property which already precisely reflects that. Bug: https://bugs.openjdk.java.net/browse/JDK-8202082 Webrev: http://cr.openjdk.java.net/~eosterlund/8202082/webrev.00/ Thanks, /Erik
src/hotspot/cpu/x86/gc/shared/cardTableBarrierSetAssembler_x86.cpp 121 if (ct->scanned_concurrently()) {
I think the correct test here is card_mark_must_follow_store. See my review of 8202083 for more details.
Similarly for the other platforms.
src/hotspot/cpu/x86/gc/shared/cardTableBarrierSetAssembler_x86.cpp 113 AddressLiteral cardtable((address)ctbs->card_table()->byte_map_base(), relocInfo::none);
[pre-existing]
Why isn't this using (address)disp rather than refetching the value.
- Previous message: RFR: 8202082: Remove explicit CMS checks in CardTableBarrierSetAssembler
- Next message: RFR: 8202082: Remove explicit CMS checks in CardTableBarrierSetAssembler
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]