Reference.reachabilityFence

Paul Sandoz paul.sandoz at oracle.com
Mon Nov 23 16:38:50 UTC 2015


Hi,

Please review the addition of Reference.reachabilityFence contributed by Aleksey, Doug and myself:

  http://cr.openjdk.java.net/~psandoz/jdk9/JDK-8133348-reachability-fence-jdk/webrev/ <http://cr.openjdk.java.net/~psandoz/jdk9/JDK-8133348-reachability-fence-jdk/webrev/>
  http://cr.openjdk.java.net/~psandoz/jdk9/JDK-8133348-reachability-fence-hotspot/webrev/ <http://cr.openjdk.java.net/~psandoz/jdk9/JDK-8133348-reachability-fence-hotspot/webrev/>

The implementation approach marks the method Reference.reachabilityFence as not inline-able, thereby “keeping alive” an object passed to the method until at least after the method call.

The testing approach i have taken is to verify that the method does not get inlined either in C1 or C2. The test approach seems fragile (as fragile as the accessor-based test i code-cargo-culted from) but passes ok through JPRT.

I could not find a suitable mechanism in WhiteBox. Is there a more reliable mechanism to determine what methods are inlined into a compiled method?

There is another testing approach in the VarHandles sandbox:

  http://hg.openjdk.java.net/jdk9/sandbox/jdk/rev/433114b32d2d#l2.2 <http://hg.openjdk.java.net/jdk9/sandbox/jdk/rev/433114b32d2d#l2.2>

But i am not confident that the test can be run within a reasonable time and reliably on all platforms and VM modes.

Paul.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20151123/a8937f9f/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 841 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20151123/a8937f9f/signature.asc>


More information about the hotspot-compiler-dev mailing list