--- a/hotspot/src/share/vm/opto/locknode.cpp Sat Jan 07 13:26:43 2012 -0800
+++ b/hotspot/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),"");
}
}
}