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

Reply via email to