src/share/vm/opto/locknode.cpp

changeset 895
424f9bfe6b96
parent 631
d1605aabd0a1
child 1040
98cb887364d3
equal deleted inserted replaced
894:3a86a8dcf27c 895:424f9bfe6b96
42 init_flags(Flag_rematerialize); 42 init_flags(Flag_rematerialize);
43 OptoReg::Name reg = OptoReg::stack2reg(_slot); 43 OptoReg::Name reg = OptoReg::stack2reg(_slot);
44 _inmask.Insert(reg); 44 _inmask.Insert(reg);
45 } 45 }
46 46
47 //-----------------------------hash--------------------------------------------
48 uint BoxLockNode::hash() const {
49 return Node::hash() + _slot + (_is_eliminated ? Compile::current()->fixed_slots() : 0);
50 }
51
47 //------------------------------cmp-------------------------------------------- 52 //------------------------------cmp--------------------------------------------
48 uint BoxLockNode::cmp( const Node &n ) const { 53 uint BoxLockNode::cmp( const Node &n ) const {
49 const BoxLockNode &bn = (const BoxLockNode &)n; 54 const BoxLockNode &bn = (const BoxLockNode &)n;
50 return bn._slot == _slot; 55 return bn._slot == _slot && bn._is_eliminated == _is_eliminated;
51 } 56 }
52 57
53 OptoReg::Name BoxLockNode::stack_slot(Node* box_node) { 58 OptoReg::Name BoxLockNode::stack_slot(Node* box_node) {
54 // Chase down the BoxNode 59 // Chase down the BoxNode
55 while (!box_node->is_BoxLock()) { 60 while (!box_node->is_BoxLock()) {

mercurial