RFR: Don't consider pinned regions in full-GC
Roman Kennke
rkennke at redhat.com
Mon Nov 13 13:26:24 UTC 2017
Am 13.11.2017 um 14:24 schrieb Aleksey Shipilev:
> On 11/13/2017 01:50 PM, Roman Kennke wrote:
>> I made a mistake in my pinned-cset change recently. As it is, mark-compact would happily compact
>> pinned-cset regions (because they are also cset). This fixes it:
>>
>> http://cr.openjdk.java.net/~rkennke/pinned-mark-compact/webrev.00/
> The root cause for the trouble is weird macro-property of pinned that is not an individual state
> anymore. Instead of extending the predicate in one place -- and arriving to the same mess we had
> before introducing FSM -- it is better to use macro-properties. Like this:
> http://cr.openjdk.java.net/~shade/shenandoah/region-fsm-pinned/webrev.01/
>
> This also fixes the bug that makes is_alloc_allowed return "true" for pinned_cset regions. It also
> makes compaction code disregard empty (both committed and uncommitted) regions.
>
> Passes hotspot_gc_shenandoah/fastdebug.
Ok, looks good to me. Please push that and I'll drop my proposed fix.
Roman
More information about the shenandoah-dev
mailing list