RFR(L): 8226705: [REDO] Deoptimize with handshakes

Robbin Ehn robbin.ehn at oracle.com
Wed Aug 28 07:30:49 UTC 2019

Hi all, please consider,

To get away from the issues of us revoking in the handshake, but before deopt
the locks get re-biased before we hit deopt handler, we instead revoke in deopt
The deopt handler have a JRT_BLOCK/_END which can safepoint so we revoke after
that but before we start looking at the monitors, with a NoSafepointVerifier.

Here is the previous changeset on top of jdk/jdk tip but due to merge conflicts
some pieces did not apply:
So this is what was reviewed.

The rebase (merge conflict resolutions) and 8224795 bug fix :

Bug 8224795 fix is here:

After this we have the same functionally as the reverted change-set.

Here is the changes for doing the revoke in deopt handler instead:

This code was messy adding the deopt revocation in 3 places made it worse.
Here is a refactoring of that code. (also removed a dead method in biasedlocking):

And here is full:

Also a full squashed patch file:

Latest test run I did t1-t6, Linux/Windows x64 have passed, MacOSX still

Thanks, Robbin

More information about the hotspot-runtime-dev mailing list