src/hotspot/share/classfile/systemDictionary.cpp
changeset 50113 caf115bb98ad
parent 50063 50c0d24d3971
child 50152 b5023063346d
--- a/src/hotspot/share/classfile/systemDictionary.cpp	Tue May 15 11:28:29 2018 -0700
+++ b/src/hotspot/share/classfile/systemDictionary.cpp	Tue May 15 20:24:34 2018 +0200
@@ -47,6 +47,7 @@
 #include "gc/shared/oopStorage.inline.hpp"
 #include "interpreter/bytecodeStream.hpp"
 #include "interpreter/interpreter.hpp"
+#include "jfr/jfrEvents.hpp"
 #include "logging/log.hpp"
 #include "logging/logStream.hpp"
 #include "memory/filemap.hpp"
@@ -81,7 +82,6 @@
 #include "services/classLoadingService.hpp"
 #include "services/diagnosticCommand.hpp"
 #include "services/threadService.hpp"
-#include "trace/tracing.hpp"
 #include "utilities/macros.hpp"
 #if INCLUDE_CDS
 #include "classfile/systemDictionaryShared.hpp"
@@ -623,32 +623,16 @@
   return NULL;
 }
 
-static void post_class_load_event(EventClassLoad* event,
-                                  const InstanceKlass* k,
-                                  const ClassLoaderData* init_cld) {
-#if INCLUDE_TRACE
+static void post_class_load_event(EventClassLoad* event, const InstanceKlass* k, const ClassLoaderData* init_cld) {
   assert(event != NULL, "invariant");
   assert(k != NULL, "invariant");
-  if (event->should_commit()) {
-    event->set_loadedClass(k);
-    event->set_definingClassLoader(k->class_loader_data());
-    event->set_initiatingClassLoader(init_cld);
-    event->commit();
-  }
-#endif // INCLUDE_TRACE
+  assert(event->should_commit(), "invariant");
+  event->set_loadedClass(k);
+  event->set_definingClassLoader(k->class_loader_data());
+  event->set_initiatingClassLoader(init_cld);
+  event->commit();
 }
 
-static void class_define_event(InstanceKlass* k,
-                               const ClassLoaderData* def_cld) {
-#if INCLUDE_TRACE
-  EventClassDefine event;
-  if (event.should_commit()) {
-    event.set_definedClass(k);
-    event.set_definingClassLoader(def_cld);
-    event.commit();
-  }
-#endif // INCLUDE_TRACE
-}
 
 // Be careful when modifying this code: once you have run
 // placeholders()->find_and_add(PlaceholderTable::LOAD_INSTANCE),
@@ -881,9 +865,9 @@
   if (HAS_PENDING_EXCEPTION || k == NULL) {
     return NULL;
   }
-
-  post_class_load_event(&class_load_start_event, k, loader_data);
-
+  if (class_load_start_event.should_commit()) {
+    post_class_load_event(&class_load_start_event, k, loader_data);
+  }
 #ifdef ASSERT
   {
     ClassLoaderData* loader_data = k->class_loader_data();
@@ -1045,8 +1029,9 @@
         assert(THREAD->is_Java_thread(), "thread->is_Java_thread()");
         JvmtiExport::post_class_load((JavaThread *) THREAD, k);
     }
-
-    post_class_load_event(&class_load_start_event, k, loader_data);
+    if (class_load_start_event.should_commit()) {
+      post_class_load_event(&class_load_start_event, k, loader_data);
+    }
   }
   assert(host_klass != NULL || NULL == cp_patches,
          "cp_patches only found with host_klass");
@@ -1558,6 +1543,15 @@
   }
 }
 
+static void post_class_define_event(InstanceKlass* k, const ClassLoaderData* def_cld) {
+  EventClassDefine event;
+  if (event.should_commit()) {
+    event.set_definedClass(k);
+    event.set_definingClassLoader(def_cld);
+    event.commit();
+  }
+}
+
 void SystemDictionary::define_instance_class(InstanceKlass* k, TRAPS) {
 
   HandleMark hm(THREAD);
@@ -1626,7 +1620,7 @@
       JvmtiExport::post_class_load((JavaThread *) THREAD, k);
 
   }
-  class_define_event(k, loader_data);
+  post_class_define_event(k, loader_data);
 }
 
 // Support parallel classloading