On Thu, 18 Jun 2026 08:58:40 GMT, Roland Westrelin <[email protected]> wrote:
>> src/hotspot/share/opto/escape.cpp line 4549:
>>
>>> 4547: //
>>> 4548: #define FIND_INST_MEM_RECURSION_DEPTH_LIMIT 1000
>>> 4549:
>>
>> I suggest a helper function that adds asserts, something like:
>> Suggestion:
>>
>> static bool same_instance_as(const TypeOopPtr* t1, const TypeOopPtr* t2) {
>> assert(t1->is_known_instance(), "known instance expected during EA phase");
>> assert(t2->is_known_instance(), "known instance expected during EA phase");
>> return t1->instance_id() == t2->instance_id();
>> }
>>
>> and using it below.
>
> It would have to be:
>
> assert(t1->is_known_instance() || t2->is_known_instance(), "known instance
> expected during EA phase");
>
> There's no guarantee both of them are known instances and that code is
> correct if only one is as, I think, we discussed before. Would you be ok with
> this?
I'm OK with this, but I think there should be a comment that explains why it is
safe to do the comparison. It works because EA would not assign an instance id
if it was possible for it to alias with any other type, right?
-------------
PR Review Comment:
https://git.openjdk.org/valhalla/pull/2489#discussion_r3438240505