RFR: 8278874: tighten VerifyStack constraints [v2]

Manuel Hässig mhaessig at openjdk.org
Thu Jul 24 09:16:08 UTC 2025


On Thu, 24 Jul 2025 08:13:40 GMT, Manuel Hässig <mhaessig at openjdk.org> wrote:

>> Dean Long has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   fix optimized build
>
> src/hotspot/share/runtime/deoptimization.cpp line 999:
> 
>> 997:             (iframe_expr_size == mask.expression_stack_size() + callee_size_of_parameters)
>> 998:             ))))
>> 999:       {
> 
> Suggestion:
> 
>       int iframe_expr_size = iframe->interpreter_frame_expression_stack_size();
>       int expr_stack_size_before = iframe_expr_size + (is_top_frame ? top_frame_expression_stack_adjustment : 0);
> 
>       if (!((is_top_frame && exec_mode == Unpack_exception && iframe_expr_size == 0) ||
>             (reexecute ?
>              (expr_stack_size_before == mask.expression_stack_size() + cur_invoke_parameter_size) :
>              (iframe_expr_size == mask.expression_stack_size() + callee_size_of_parameters)
>             ))) {
> 
> These parentheses can be simplified a bit.

Suggestion:

int iframe_expr_ssize = iframe->interpreter_frame_expression_stack_size();
      int map_expr_invoke_ssize = mask.expression_stack_size() + cur_invoke_parameter_size;
      int expr_ssize_before = iframe_expr_ssize + (is_top_frame ? top_frame_expression_stack_adjustment : 0);
      int map_expr_callee_ssize = mask.expression_stack_size() + callee_size_of_parameters;

      if (!((is_top_frame && exec_mode == Unpack_exception && iframe_expr_ssize == 0) ||
            (reexecute ? expr_ssize_before == map_expr_invoke_ssize :
                         iframe_expr_ssize == map_expr_callee_ssize)
           )) {

Personally, I would write something like this, but feel free to disregard.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/26121#discussion_r2227794608


More information about the hotspot-compiler-dev mailing list