RFR(S): 8217990: C2 UseOptoBiasInlining: load of markword optimized to 0 if running with -XX:-EliminateLocks

Reingruber, Richard richard.reingruber at sap.com
Thu Feb 7 16:39:45 UTC 2019


Hi Roland,

  > Why would that be a problem? If the allocation is non escaping then it
  > wouldn't be used in a non inlined call.

I thought bl bulk revocation could be a problem, but as long as the load of the
prototype header cannot be scheduled before a safepoint, this does not seem to
be an issue.

  > I suspect it's not but I went with the most conservative fix.

That's good.

Thanks, Richard.

-----Original Message-----
From: Roland Westrelin <rwestrel at redhat.com> 
Sent: Donnerstag, 7. Februar 2019 17:01
To: Reingruber, Richard <richard.reingruber at sap.com>; hotspot-compiler-dev at openjdk.java.net
Cc: Doerr, Martin <martin.doerr at sap.com>; Tobias Hartmann <tobias.hartmann at oracle.com>
Subject: RE: RFR(S): 8217990: C2 UseOptoBiasInlining: load of markword optimized to 0 if running with -XX:-EliminateLocks


Hi Richard,

> I noticed that the markword load is still pinned. Is this necessary?

I suspect it's not but I went with the most conservative fix.

> I guess so, because without pinning it could possibly be scheduled
> before a safepoint as it loads from a known instance which does not
> interfere memory wise with the safepoint. Or in other words: if the
> safepoint is a call, the load does not depend on the memory state
> produced by the call, because it refers to a known instance which is
> not passed as parameter.

Why would that be a problem? If the allocation is non escaping then it
wouldn't be used in a non inlined call.

Roland.


More information about the hotspot-compiler-dev mailing list