Mercurial > hg > truffle
diff src/share/vm/opto/locknode.cpp @ 460:424f9bfe6b96
6775880: EA +DeoptimizeALot: assert(mon_info->owner()->is_locked(),"object must be locked now")
Summary: Create new "eliminated" BoxLock node for monitor debug info when corresponding locks are eliminated.
Reviewed-by: never
author | kvn |
---|---|
date | Wed, 03 Dec 2008 13:41:37 -0800 |
parents | d1605aabd0a1 |
children | 98cb887364d3 |
line wrap: on
line diff
--- a/src/share/vm/opto/locknode.cpp Tue Nov 25 13:14:07 2008 -0800 +++ b/src/share/vm/opto/locknode.cpp Wed Dec 03 13:41:37 2008 -0800 @@ -44,10 +44,15 @@ _inmask.Insert(reg); } +//-----------------------------hash-------------------------------------------- +uint BoxLockNode::hash() const { + return Node::hash() + _slot + (_is_eliminated ? Compile::current()->fixed_slots() : 0); +} + //------------------------------cmp-------------------------------------------- uint BoxLockNode::cmp( const Node &n ) const { const BoxLockNode &bn = (const BoxLockNode &)n; - return bn._slot == _slot; + return bn._slot == _slot && bn._is_eliminated == _is_eliminated; } OptoReg::Name BoxLockNode::stack_slot(Node* box_node) {