RFR: Replace risky SBS::need_update_refs_barrier with straightforward check
Roman Kennke
rkennke at redhat.com
Mon Jun 18 16:38:50 UTC 2018
Am 18.06.2018 um 18:34 schrieb Aleksey Shipilev:
> http://cr.openjdk.java.net/~shade/shenandoah/sbs-risky-check/webrev.01/
>
> Heuristics has the automatic switch between separate-UR and CM-with-UR modes. Current check relies
> on heuristics()->update_refs() to figure out if we should check ur-in-progress or mark-in-progress
> when updating the references. This is risky, because heuristics may have stale idea about which mode
> to operate in. It is safer to check all potential GC states at once.
>
Good idea!
Seems like some of it can be collapsed into a single mask check:
+ _heap->is_update_refs_in_progress() ||
+ _heap->is_concurrent_traversal_in_progress() ||
+ (_heap->is_concurrent_mark_in_progress() &&
_heap->has_forwarded_objects());
Probably not worth though. Your call.
Thanks, Roman
More information about the shenandoah-dev
mailing list