hotspot/src/share/vm/opto/locknode.cpp
changeset 11446 fd87432a895b
parent 11445 3c768dca60f5
child 11458 5ba160829cef
--- 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),"");
           }
         }
       }