8212054: Boilerplate to bind oopDesc::equals_raw() to actual raw implementation
authorrkennke
Thu, 11 Oct 2018 23:48:55 +0200
changeset 52100 62523934374c
parent 52099 896a556de423
child 52101 5fcf63f0d86c
8212054: Boilerplate to bind oopDesc::equals_raw() to actual raw implementation Reviewed-by: shade, eosterlund
src/hotspot/share/oops/accessBackend.hpp
--- a/src/hotspot/share/oops/accessBackend.hpp	Thu Oct 11 12:41:47 2018 -0700
+++ b/src/hotspot/share/oops/accessBackend.hpp	Thu Oct 11 23:48:55 2018 +0200
@@ -998,7 +998,7 @@
 
     template <DecoratorSet decorators>
     inline static typename EnableIf<
-      HasDecorator<decorators, INTERNAL_BT_TO_SPACE_INVARIANT>::value, bool>::type
+      HasDecorator<decorators, AS_RAW>::value || HasDecorator<decorators, INTERNAL_BT_TO_SPACE_INVARIANT>::value, bool>::type
     equals(oop o1, oop o2) {
       typedef RawAccessBarrier<decorators & RAW_DECORATOR_MASK> Raw;
       return Raw::equals(o1, o2);
@@ -1006,7 +1006,7 @@
 
     template <DecoratorSet decorators>
     inline static typename EnableIf<
-      !HasDecorator<decorators, INTERNAL_BT_TO_SPACE_INVARIANT>::value, bool>::type
+      !HasDecorator<decorators, AS_RAW>::value && !HasDecorator<decorators, INTERNAL_BT_TO_SPACE_INVARIANT>::value, bool>::type
     equals(oop o1, oop o2) {
       return RuntimeDispatch<decorators, oop, BARRIER_EQUALS>::equals(o1, o2);
     }