src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.cpp
changeset 58132 caa25ab47aca
parent 54847 59ea39bb2809
child 58159 892527a70da9
child 58863 c16ac7a2eba4
equal deleted inserted replaced
58131:3054503bad7d 58132:caa25ab47aca
   157   assert(k != NULL, "invariant");
   157   assert(k != NULL, "invariant");
   158   // Mask off and store the event flags.
   158   // Mask off and store the event flags.
   159   // This mechanism will retain the event specific flags
   159   // This mechanism will retain the event specific flags
   160   // in the archive, allowing for event flag restoration
   160   // in the archive, allowing for event flag restoration
   161   // when renewing the traceid on klass revival.
   161   // when renewing the traceid on klass revival.
   162   k->set_trace_id(EVENT_FLAGS_MASK(k));
   162   k->set_trace_id(EVENT_KLASS_MASK(k));
   163 }
   163 }
   164 
   164 
   165 // used by CDS / APPCDS as part of "restore_unshareable_info"
   165 // used by CDS / APPCDS as part of "restore_unshareable_info"
   166 void JfrTraceId::restore(const Klass* k) {
   166 void JfrTraceId::restore(const Klass* k) {
   167   assert(k != NULL, "invariant");
   167   assert(k != NULL, "invariant");
   179   const oop my_oop = JNIHandles::resolve(jc);
   179   const oop my_oop = JNIHandles::resolve(jc);
   180   assert(my_oop != NULL, "invariant");
   180   assert(my_oop != NULL, "invariant");
   181   return get(java_lang_Class::as_Klass(my_oop));
   181   return get(java_lang_Class::as_Klass(my_oop));
   182 }
   182 }
   183 
   183 
   184 traceid JfrTraceId::use(jclass jc, bool leakp /* false */) {
   184 traceid JfrTraceId::use(jclass jc) {
   185   assert(jc != NULL, "invariant");
   185   assert(jc != NULL, "invariant");
   186   assert(((JavaThread*)Thread::current())->thread_state() == _thread_in_vm, "invariant");
   186   assert(((JavaThread*)Thread::current())->thread_state() == _thread_in_vm, "invariant");
   187   const oop my_oop = JNIHandles::resolve(jc);
   187   const oop my_oop = JNIHandles::resolve(jc);
   188   assert(my_oop != NULL, "invariant");
   188   assert(my_oop != NULL, "invariant");
   189   return use(java_lang_Class::as_Klass(my_oop), leakp);
   189   return use(java_lang_Class::as_Klass(my_oop));
   190 }
   190 }
   191 
   191 
   192 bool JfrTraceId::in_visible_set(const jclass jc) {
   192 bool JfrTraceId::in_visible_set(const jclass jc) {
   193   assert(jc != NULL, "invariant");
   193   assert(jc != NULL, "invariant");
   194   assert(((JavaThread*)Thread::current())->thread_state() == _thread_in_vm, "invariant");
   194   assert(((JavaThread*)Thread::current())->thread_state() == _thread_in_vm, "invariant");