Mercurial > hg > graal-jvmci-8
changeset 22810:f7e9598536c1
8066763: fatal error "assert(false) failed: unexpected yanked node" in postaloc.cpp:139
Summary: Check for dead input nodes after replacing compare node with implicit null check.
Reviewed-by: kvn
author | thartmann |
---|---|
date | Fri, 12 Dec 2014 09:07:54 +0100 |
parents | e0d05cfad544 |
children | 06face256a8c |
files | src/share/vm/opto/lcm.cpp |
diffstat | 1 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/opto/lcm.cpp Thu Jan 08 12:45:53 2015 -0800 +++ b/src/share/vm/opto/lcm.cpp Fri Dec 12 09:07:54 2014 +0100 @@ -437,8 +437,15 @@ for (DUIterator_Last i2min, i2 = old_tst->last_outs(i2min); i2 >= i2min; --i2) old_tst->last_out(i2)->set_req(0, nul_chk); // Clean-up any dead code - for (uint i3 = 0; i3 < old_tst->req(); i3++) + for (uint i3 = 0; i3 < old_tst->req(); i3++) { + Node* in = old_tst->in(i3); old_tst->set_req(i3, NULL); + if (in->outcnt() == 0) { + // Remove dead input node + in->disconnect_inputs(NULL, C); + block->find_remove(in); + } + } latency_from_uses(nul_chk); latency_from_uses(best);