RFR: JDK-8287061: Support for rematerializing scalar replaced objects participating in allocation merges [v4]

Cesar Soares Lucas cslucas at openjdk.org
Fri Mar 24 23:29:29 UTC 2023


On Fri, 24 Mar 2023 19:06:18 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:

>> Cesar Soares Lucas has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Add support for SR'ing some inputs of merges used for field loads
>
> src/hotspot/share/opto/callnode.cpp line 1479:
> 
>> 1477: #ifdef ASSERT
>> 1478:   _alloc(alloc),
>> 1479: #endif
> 
> May be we should always pass alloc, even in product VM. It is not related to your changes but it is pain to have.

I can make that change.

> src/hotspot/share/opto/macro.hpp line 196:
> 
>> 194:                           Node* size_in_bytes);
>> 195: 
>> 196:   static Node* make_arraycopy_load(Compile* comp, PhaseIterGVN* igvn, ArrayCopyNode* ac, intptr_t offset, Node* ctl, Node* mem, BasicType ft, const Type *ftype, AllocateNode *alloc);
> 
> Why you need this change? It polluted diffs and hide important changes. Could be separate change from this one.

I had to make this method static because it uses `value_from_mem` - which I also made static. I had to make `value_from_mem` static so that I can use it outside PhaseMacroExpand.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/12897#discussion_r1148141099
PR Review Comment: https://git.openjdk.org/jdk/pull/12897#discussion_r1148140607



More information about the security-dev mailing list