src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdBits.inline.hpp
--- a/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdBits.inline.hpp Sat Oct 26 23:59:51 2019 +0200
+++ b/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdBits.inline.hpp Mon Oct 28 18:43:04 2019 +0100
@@ -38,14 +38,12 @@
static const int meta_offset = low_offset - 1;
#endif
-inline void set_bits(jbyte bits, jbyte* const dest) {
+inline void set_bits(jbyte bits, jbyte volatile* const dest) {
assert(dest != NULL, "invariant");
if (bits != (*dest & bits)) {
*dest |= bits;
- OrderAccess::storeload();
- return;
+ OrderAccess::storestore();
}
- OrderAccess::loadload();
}
inline jbyte traceid_and(jbyte current, jbyte bits) {