[13] RFR(XS):8226287: Make process_users_of_allocation handle gc barriers

Nils Eliasson nils.eliasson at oracle.com
Wed Jun 26 12:17:48 UTC 2019


On 2019-06-26 11:24, Roland Westrelin wrote:
>> The IR breaks on removal of the initialize node if there's a barrier
>> between the allocation and the initialize node. Like this:
> In what way does it break? Is the problem that removing the Initialize
> node with the current code would also remove the LoadBarrier?

The loadbarrier is left hanging. Later in expand_loadbarrier_node we 
crash when trying to remove a dead node  in 
PhaseIterGVN::remove_globally_dead_node(Node*).

Sometimes "assert(init->in(TypeFunc::Control) == _fallthroughcatchproj)" 
in macro.cpp line~1006 catches the problem.

>
> Roland.


More information about the hotspot-compiler-dev mailing list