[11] RFR(S): 8148871: Possible wrong expression stack depth at deopt point (original) (raw)

yumin qi yumin.qi at gmail.com
Thu Mar 1 02:11:55 UTC 2018


I am not reviewing the change, just wonder if you could modify the comment in the function:

605 JRT_LEAF(BasicType, Deoptimization::unpack_frames(JavaThread* thread, int exec_mode)) 606 607 // We are already active int he special DeoptResourceMark any ResourceObj's we 608 // allocate will be freed at the end of the routine.

It looks a typo in the comment. 'int he' -> 'in the'

Yumin

On Wed, Feb 28, 2018 at 2:43 PM, <dean.long at oracle.com> wrote:

This looks good.

dl

On 2/28/18 5:25 AM, Tobias Hartmann wrote: Hi,

please review the following patch: https://bugs.openjdk.java.net/browse/JDK-8148871 http://cr.openjdk.java.net/~thartmann/8148871/webrev.00/ The problem is that the stack verification code uses the interpreter oop map to get the stack size of the next instruction. However, for calls, the oop map contains the state after the instruction. With nextmaskexpressionstacksize = 0, the result of 'nextmaskexpressionstacksize - topframeexpressionstackadjustment' is negative and verification fails. For details, see my comment in the bug [1]. The fix is to add a special case for invoke bytecodes and use the parameter size instead of the oop map in that case. Tested with hs-tier1/2 with -XX:+VerifyStack (I hit 8198826 which I'll fix with another patch). Thanks, Tobias [1] https://bugs.openjdk.java.net/browse/JDK-8148871?focusedComm entId=14160003&page=com.atlassian.jira.plugin.system. issuetabpanels:comment-tabpanel#comment-14160003



More information about the hotspot-dev mailing list