8212054: Boilerplate to bind oopDesc::equals_raw() to actual raw implementation
Reviewed-by: shade, eosterlund
--- 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);
}