src/hotspot/share/runtime/synchronizer.cpp
changeset 49658 8237a91c1cca
parent 49594 898ef81cbc0e
child 50113 caf115bb98ad
--- a/src/hotspot/share/runtime/synchronizer.cpp	Tue Apr 03 10:27:46 2018 +0200
+++ b/src/hotspot/share/runtime/synchronizer.cpp	Tue Apr 03 13:15:27 2018 +0200
@@ -173,7 +173,7 @@
 
   if (mark->has_monitor()) {
     ObjectMonitor * const mon = mark->monitor();
-    assert(mon->object() == obj, "invariant");
+    assert(oopDesc::equals((oop) mon->object(), obj), "invariant");
     if (mon->owner() != self) return false;  // slow-path for IMS exception
 
     if (mon->first_waiter() != NULL) {
@@ -217,7 +217,7 @@
 
   if (mark->has_monitor()) {
     ObjectMonitor * const m = mark->monitor();
-    assert(m->object() == obj, "invariant");
+    assert(oopDesc::equals((oop) m->object(), obj), "invariant");
     Thread * const owner = (Thread *) m->_owner;
 
     // Lock contention and Transactional Lock Elision (TLE) diagnostics
@@ -1404,7 +1404,7 @@
     if (mark->has_monitor()) {
       ObjectMonitor * inf = mark->monitor();
       assert(inf->header()->is_neutral(), "invariant");
-      assert(inf->object() == object, "invariant");
+      assert(oopDesc::equals((oop) inf->object(), object), "invariant");
       assert(ObjectSynchronizer::verify_objmon_isinpool(inf), "monitor is invalid");
       return inf;
     }