RFR (sh/jdk8): Backport 2020-02-28
Roman Kennke
rkennke at redhat.com
Sat Feb 29 10:35:45 UTC 2020
>> 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?
Roman
More information about the shenandoah-dev
mailing list