RFR(S): 8210389: C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Oct 2 16:58:35 UTC 2018

On 10/2/18 9:01 AM, Roland Westrelin wrote:
> Hi Vladimir,
>> subsume_by() + disconnect_inputs() are used by other code in final_graph_reshaping_impl(). If it
>> does not work in your case it may not work for other cases to and should be solved in general.
>> May be we can modify final_graph_reshaping_walk() and final_graph_reshaping_impl() to remove dead
>> code. Or do separate path over graph like PhaseRemoveUseless. One thing to point is that
>> verify_graph_edges() call after Optimize() should have no_dead_code = true to catch all cases we
>> missing.
> Ok. But it sounds like it could be quite a bit more work than this bug
> fix and could have a long bug tail (if verification code was enabled by
> default). Can this be done as a separate change?

Yes. Please file a bug. Current change is fine.


> Roland.

More information about the hotspot-compiler-dev mailing list