RFR(S): 8148871: Possible wrong expression stack depth at deopt point
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))
607 // We are already active int he special DeoptResourceMark any
608 // allocate will be freed at the end of the routine.
It looks a typo in the comment. 'int he' -> 'in the'
On Wed, Feb 28, 2018 at 2:43 PM, <dean.long at oracle.com> wrote:
> This looks good.
> On 2/28/18 5:25 AM, Tobias Hartmann wrote:
>> please review the following patch:
>> 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 .
>> 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).
More information about the hotspot-dev