RFR: 8327963: C2: fix construction of memory graph around Initialize node to prevent incorrect execution if allocation is removed [v8]
    Roland Westrelin 
    roland at openjdk.org
       
    Wed Jun  4 07:32:20 UTC 2025
    
    
  
On Tue, 27 May 2025 08:17:38 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
>> Roland Westrelin has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   review
>
> src/hotspot/share/opto/escape.cpp line 4804:
> 
>> 4802:         assert(n->is_Initialize(), "We only push projections of Initialize");
>> 4803:         if (use->as_Proj()->_con == TypeFunc::Memory) { // Ignore precedent edge
>> 4804:           memnode_worklist.append_if_missing(use);
> 
> Do you know why we are using a `GrowableArray` here? Would a `UnikeNodeList` not serve us better since we are always doing `append_if_missing`, which essentially has to scan the whole `GrowableArray`?
It's not clear to me. I filed: https://bugs.openjdk.org/browse/JDK-8358560 as a follow up.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24570#discussion_r2125886722
    
    
More information about the hotspot-compiler-dev
mailing list