RFR(XXS): 8212928: Assertion too strict in compiledVFrame::update_deferred_value() on SPARC

Reingruber, Richard richard.reingruber at sap.com
Thu Nov 8 08:09:58 UTC 2018


Thank you Vladimir.

Regards, Richard.

-----Original Message-----
From: Vladimir Kozlov <vladimir.kozlov at oracle.com> 
Sent: Donnerstag, 8. November 2018 02:24
To: Reingruber, Richard <richard.reingruber at sap.com>; hotspot-compiler-dev at openjdk.java.net
Subject: Re: RFR(XXS): 8212928: Assertion too strict in compiledVFrame::update_deferred_value() on SPARC

Hi Richard,

Change seems fine but I will run full testing to very it and the test.

Regards,
Vladimir

On 10/25/18 12:58 AM, Reingruber, Richard wrote:
> Hi,
> 
> could I please get reviews for the following small patch? It relaxes the assertion in
> compiledVFrame::update_deferred_value() about is_deoptimized_frame() returning true for the
> underlying physical frame.
> 
> The included test shows that the assertion is too strict, because for NeedsDeoptSuspend (e.g. on
> SPARC) there is a special case in frame::deoptimize(). If the owner of this frame is currently in
> native code and this frame is the caller of the native method, then the deoptimization is not done
> synchronously for the requesting thread. Instead the owner thread does it when returning from the
> native call.
> 
> Webrev: http://cr.openjdk.java.net/~rrich/webrevs/2018/8212928/webrev.01/
> Bug:    https://bugs.openjdk.java.net/browse/JDK-8212928
> 
> The contribution needs to be sponsored as well.
> 
> Thanks, Richard.
> 
> PS: In the first place I looked at the assertion, because I didn't like that
> after calling frame::deoptimize() the requesting java thread has to walk the
> stack again to get a frame object that reflects the correct
> frame::_deopt_state. But (a) I couldn't find a nice solution, and (b) I'm not
> sure, if it is safe in general to use a stale frame object.
> 


More information about the hotspot-compiler-dev mailing list