On Thu, 12 Feb 2026 09:31:58 GMT, Roland Westrelin <[email protected]> wrote:
>> src/hotspot/share/opto/escape.cpp line 2150:
>>
>>> 2148: }
>>> 2149: _i_sig_cc++;
>>> 2150: }
>>
>> Is it worth tracking the previous BasicType from the signature rather than
>> reaching back with the `_i_sig_cc-1`?
>>
>> Something like:
>> Suggestion:
>>
>> BasicType prev_bt = T_VOID;
>> while (_i_sig_cc < _sig_cc->length()) {
>> BasicType bt = _sig_cc->at(_i_sig_cc)._bt;
>> if (bt == T_METADATA) {
>> _depth++;
>> } else if (bt == T_VOID && (prev_bt != T_LONG && prev_bt != T_DOUBLE))
>> {
>> _depth--;
>> if (_depth == 0) {
>> _i_domain++;
>> }
>> } else {
>> return;
>> }
>> prev_bt = bt;
>> _i_sig_cc++;
>> }
>
> I pushed a new commit that does that.
> When `_sig_cc->at(_i_sig_cc)._bt = T_LONG`, the method exits. So next time
> it's called, with the suggested code above, `prev_bt` is not set to `T_LONG`,
> the way it should. The `prev_bt` initialization is slightly more complicated
> as a result.
Thanks. Looks good to me
-------------
PR Review Comment:
https://git.openjdk.org/valhalla/pull/2079#discussion_r2799004141