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