8212053: A few more missing object equals barriers
authorrkennke
Fri, 12 Oct 2018 16:25:24 +0200
changeset 52107 0c1e44da019c
parent 52106 76d526565453
child 52108 9c84227836d4
8212053: A few more missing object equals barriers Reviewed-by: shade, zgu
src/hotspot/share/oops/compressedOops.inline.hpp
src/hotspot/share/runtime/vframe.cpp
--- a/src/hotspot/share/oops/compressedOops.inline.hpp	Fri Oct 12 11:12:51 2018 +0100
+++ b/src/hotspot/share/oops/compressedOops.inline.hpp	Fri Oct 12 16:25:24 2018 +0200
@@ -66,7 +66,7 @@
     assert(OopEncodingHeapMax > pd, "change encoding max if new encoding");
     uint64_t result = pd >> shift;
     assert((result & CONST64(0xffffffff00000000)) == 0, "narrow oop overflow");
-    assert(decode(result) == v, "reversibility");
+    assert(oopDesc::equals_raw(decode(result), v), "reversibility");
     return (narrowOop)result;
   }
 
--- a/src/hotspot/share/runtime/vframe.cpp	Fri Oct 12 11:12:51 2018 +0100
+++ b/src/hotspot/share/runtime/vframe.cpp	Fri Oct 12 16:25:24 2018 +0200
@@ -134,7 +134,7 @@
     //
     // Skip the monitor that the thread is blocked to enter or waiting on
     //
-    if (!found_first_monitor && (obj == pending_obj || obj == waiting_obj)) {
+    if (!found_first_monitor && (oopDesc::equals(obj, pending_obj) || oopDesc::equals(obj, waiting_obj))) {
       continue;
     }
     found_first_monitor = true;