--- a/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.inline.hpp Sun Aug 25 15:13:16 2019 +0200
+++ b/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.inline.hpp Sun Aug 25 19:09:22 2019 +0200
@@ -58,11 +58,12 @@
inline traceid JfrTraceId::use(const Klass* klass) {
assert(klass != NULL, "invariant");
- const traceid id = set_used_and_get(klass);
- if (IS_NOT_SERIALIZED(klass)) {
+ if (SHOULD_TAG(klass)) {
JfrTraceIdEpoch::set_klass_tagged_in_epoch();
+ return set_used_and_get(klass);
}
- return id;
+ assert(USED_THIS_EPOCH(klass), "invariant");
+ return TRACE_ID(klass);
}
inline traceid JfrTraceId::use(const Method* method) {
@@ -74,11 +75,11 @@
assert(klass != NULL, "invariant");
assert(method != NULL, "invariant");
SET_METHOD_FLAG_USED_THIS_EPOCH(method);
- SET_METHOD_AND_CLASS_USED_THIS_EPOCH(klass);
+ if (SHOULD_TAG_KLASS_METHOD(klass)) {
+ JfrTraceIdEpoch::set_klass_tagged_in_epoch();
+ SET_METHOD_AND_CLASS_USED_THIS_EPOCH(klass);
+ }
assert(METHOD_AND_CLASS_USED_THIS_EPOCH(klass), "invariant");
- if (IS_NOT_SERIALIZED(klass)) {
- JfrTraceIdEpoch::set_klass_tagged_in_epoch();
- }
return (METHOD_ID(klass, method));
}