Mercurial > hg > truffle
diff src/share/vm/opto/chaitin.hpp @ 4776:5da7201222d5
7110824: ctw/jarfiles/GUI3rdParty_jar/ob_mask_DateField crashes VM
Summary: Change yank_if_dead() to recursive method to remove all dead inputs.
Reviewed-by: never
author | kvn |
---|---|
date | Sat, 07 Jan 2012 10:39:23 -0800 |
parents | f6f3bb0ee072 |
children | 8c92982cbbc4 |
line wrap: on
line diff
--- a/src/share/vm/opto/chaitin.hpp Fri Jan 06 20:09:20 2012 -0800 +++ b/src/share/vm/opto/chaitin.hpp Sat Jan 07 10:39:23 2012 -0800 @@ -485,7 +485,11 @@ return yank_if_dead(old, current_block, &value, ®nd); } - int yank_if_dead( Node *old, Block *current_block, Node_List *value, Node_List *regnd ); + int yank_if_dead( Node *old, Block *current_block, Node_List *value, Node_List *regnd ) { + return yank_if_dead_recurse(old, old, current_block, value, regnd); + } + int yank_if_dead_recurse(Node *old, Node *orig_old, Block *current_block, + Node_List *value, Node_List *regnd); int yank( Node *old, Block *current_block, Node_List *value, Node_List *regnd ); int elide_copy( Node *n, int k, Block *current_block, Node_List &value, Node_List ®nd, bool can_change_regs ); int use_prior_register( Node *copy, uint idx, Node *def, Block *current_block, Node_List &value, Node_List ®nd );