Mercurial > hg > graal-jvmci-8
comparison src/share/vm/opto/chaitin.hpp @ 70:b683f557224b
6661247: Internal bug in 32-bit HotSpot optimizer while bit manipulations
Summary: copy elimination of a constant value results in incorrect execution
Reviewed-by: kvn, sgoldman, rasbold
author | never |
---|---|
date | Wed, 19 Mar 2008 15:14:36 -0700 |
parents | a61af66fc99e |
children | d1605aabd0a1 |
comparison
equal
deleted
inserted
replaced
69:8bb88f9877e5 | 70:b683f557224b |
---|---|
455 int elide_copy( Node *n, int k, Block *current_block, Node_List &value, Node_List ®nd, bool can_change_regs ); | 455 int elide_copy( Node *n, int k, Block *current_block, Node_List &value, Node_List ®nd, bool can_change_regs ); |
456 int use_prior_register( Node *copy, uint idx, Node *def, Block *current_block, Node_List &value, Node_List ®nd ); | 456 int use_prior_register( Node *copy, uint idx, Node *def, Block *current_block, Node_List &value, Node_List ®nd ); |
457 bool may_be_copy_of_callee( Node *def ) const; | 457 bool may_be_copy_of_callee( Node *def ) const; |
458 | 458 |
459 // If nreg already contains the same constant as val then eliminate it | 459 // If nreg already contains the same constant as val then eliminate it |
460 bool eliminate_copy_of_constant(Node* val, Block *current_block, Node_List& value, Node_List ®nd, | 460 bool eliminate_copy_of_constant(Node* val, Node* n, |
461 Block *current_block, Node_List& value, Node_List ®nd, | |
461 OptoReg::Name nreg, OptoReg::Name nreg2); | 462 OptoReg::Name nreg, OptoReg::Name nreg2); |
462 // Extend the node to LRG mapping | 463 // Extend the node to LRG mapping |
463 void add_reference( const Node *node, const Node *old_node); | 464 void add_reference( const Node *node, const Node *old_node); |
464 | 465 |
465 private: | 466 private: |