RFR (sh/jdk8): Backport 2020-02-28
Aleksey Shipilev
shade at redhat.com
Sat Feb 29 15:58:14 UTC 2020
On 2/29/20 11:35 AM, Roman Kennke wrote:
>>> For JDK-8236732, I needed to re-work the PLL special handling
>>> (jdk8-specific) a little bit, so that it doesn't call
>>> pending_list_lock() (which does the LRB itself) and then blindly
>>> following this by another LRB. That is because it would attempt to
>>> re-enter the evac-oom-scope. Instead it now carefully loads the PLL
>>> (without its own LRB), and then does almost the same as the LRB, but
>>> doesn't check evac-in-progress (because we know we must be) and also
>>> doesn't enter evac-oom-scope (because we already have it).
>>
>> Ugh. Ugly PLL again. You still better to assert evac-in-progress and evac-oom-scope then?
>
> Right. I added assert for evac-in-progress. The assert for
> evac-oom-scope is in evacuate_object() already, and is not as
> straightforward as you may think, because it can only be asserted if not
> already gone through the protocol. IOW, we need the whole prologue of
> ::evacuate_object() anyway.
>
> http://cr.openjdk.java.net/~rkennke/backport-shjdk8-2020-02-28/webrev.01/
>
> Good now?
OK.
--
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list