On Thu, 16 Jul 2026 09:47:47 GMT, Aleksey Shipilev <[email protected]> wrote:
>> Um, that's even more confusing. Because you are on the `else` branch here:
>>
>>
>> _ testptr(value, value); // <--- did it already
>> if (op->should_profile()) {
>> ...
>> type_profile_helper(mdo, md, data, recv, Rtmp1);
>> // <--- keeps the flags clobbered
>> } else {
>> __ testptr(value, value); // <--- you are here
>> ...
>> }
>
> Did you mean to pull the second `testptr` into `type_profile_helper` bearing
> branch?
...although I think we have already acted on flags with
`jccb(Assembler::notEqual, not_null`, which would jump to `done`. So the flags
are not even required after `type_profile_helper`? Does this clobber matter?
Only the duplicate `testptr` on non-profiling path is the problem, AFAICS.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/28541#discussion_r3594494406