[11] RFR(S): 8148871: Possible wrong expression stack depth at deopt point
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 next_mask_expression_stack_size = 0, the result of
>> 'next_mask_expression_stack_size -
>> top_frame_expression_stack_adjustment' 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