Mercurial > hg > truffle
diff src/share/vm/opto/locknode.cpp @ 4778:35acf8f0a2e4
7128352: assert(obj_node == obj) failed
Summary: Compare uncasted object nodes.
Reviewed-by: never
author | kvn |
---|---|
date | Tue, 10 Jan 2012 18:05:38 -0800 |
parents | e9a5e0a812c8 |
children | b0ff910edfc9 |
line wrap: on
line diff
--- a/src/share/vm/opto/locknode.cpp Sat Jan 07 13:26:43 2012 -0800 +++ b/src/share/vm/opto/locknode.cpp Tue Jan 10 18:05:38 2012 -0800 @@ -100,7 +100,7 @@ AbstractLockNode* alock = n->as_AbstractLock(); // Check lock's box since box could be referenced by Lock's debug info. if (alock->box_node() == this) { - if (alock->obj_node() == obj) { + if (alock->obj_node()->eqv_uncast(obj)) { if ((unique_lock != NULL) && alock->is_Lock()) { if (lock == NULL) { lock = alock->as_Lock(); @@ -121,7 +121,7 @@ Node* n = this->raw_out(i); if (n->is_FastLock()) { FastLockNode* flock = n->as_FastLock(); - assert((flock->box_node() == this) && (flock->obj_node() == obj),""); + assert((flock->box_node() == this) && flock->obj_node()->eqv_uncast(obj),""); } if (n->is_SafePoint() && n->as_SafePoint()->jvms()) { SafePointNode* sfn = n->as_SafePoint(); @@ -135,7 +135,7 @@ Node* obj_node = sfn->monitor_obj(jvms, idx); Node* box_node = sfn->monitor_box(jvms, idx); if (box_node == this) { - assert(obj_node == obj,""); + assert(obj_node->eqv_uncast(obj),""); } } }