RFR(S): 8238723: yank_alloc_node must remove membar
Nils Eliasson
nils.eliasson at oracle.com
Tue Feb 18 17:16:20 UTC 2020
You found the answer I was looking for.
So the addPs should die when I eliminate the InitalizeNode, and the I
remove the membar, and then things should be ok.
Agree?
// Nils
On 2020-02-18 14:35, Vladimir Ivanov wrote:
>
>> What are the cases when AddPs on raw oop are present? Is it safe to
>> remove Allocate node in such cases?
>
> I found the answer: AddPs correspond to initializing stores captured
> by Initialize node. So, it should be fine to remove them the way you do.
>
> But now I'm curious whether elimination order (Initialize vs AddPs)
> matters or not. PhaseMacroExpand::process_users_of_allocation() has
> the following comment [1]:
>
> // First disconnect stores captured by Initialize node.
> // If Initialize node is eliminated first in the following code,
> // it will kill such stores and DUIterator_Last will assert.
>
> Best regards,
> Vladimir Ivanov
>
> [1]
> http://hg.openjdk.java.net/jdk/jdk/file/tip/src/hotspot/share/opto/macro.cpp#l1028
More information about the hotspot-compiler-dev
mailing list