Mercurial > hg > graal-compiler
comparison src/share/vm/opto/postaloc.cpp @ 3941:2209834ccb59
7089632: assert(machtmp->outcnt() == 1) failed: expected for a MachTemp
Summary: Replace assert with check to delete MachTemp nodes only when they are really dead.
Reviewed-by: never
author | kvn |
---|---|
date | Tue, 13 Sep 2011 11:46:51 -0700 |
parents | 8f47d8870d9a |
children | 5da7201222d5 |
comparison
equal
deleted
inserted
replaced
3940:ab577c97a5f3 | 3941:2209834ccb59 |
---|---|
98 blk_adjust += yank(old, current_block, value, regnd); | 98 blk_adjust += yank(old, current_block, value, regnd); |
99 | 99 |
100 Node *tmp = NULL; | 100 Node *tmp = NULL; |
101 for (uint i = 1; i < old->req(); i++) { | 101 for (uint i = 1; i < old->req(); i++) { |
102 if (old->in(i)->is_MachTemp()) { | 102 if (old->in(i)->is_MachTemp()) { |
103 // handle TEMP inputs | |
103 Node* machtmp = old->in(i); | 104 Node* machtmp = old->in(i); |
104 assert(machtmp->outcnt() == 1, "expected for a MachTemp"); | 105 if (machtmp->outcnt() == 1) { |
105 blk_adjust += yank(machtmp, current_block, value, regnd); | 106 assert(machtmp->unique_out() == old, "sanity"); |
106 machtmp->disconnect_inputs(NULL); | 107 blk_adjust += yank(machtmp, current_block, value, regnd); |
108 machtmp->disconnect_inputs(NULL); | |
109 } | |
107 } else { | 110 } else { |
108 assert(tmp == NULL, "can't handle more non MachTemp inputs"); | 111 assert(tmp == NULL, "can't handle more non MachTemp inputs"); |
109 tmp = old->in(i); | 112 tmp = old->in(i); |
110 } | 113 } |
111 } | 114 } |