--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataRepository.java Thu Jul 11 02:21:18 2019 +0200
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataRepository.java Fri Jul 12 15:04:28 2019 +0200
@@ -210,10 +210,14 @@
}
public synchronized List<EventControl> getEventControls() {
- List<EventControl> controls = new ArrayList<>();
+ List<Class<? extends jdk.internal.event.Event>> eventClasses = jvm.getAllEventClasses();
+ ArrayList<EventControl> controls = new ArrayList<>(eventClasses.size() + nativeControls.size());
controls.addAll(nativeControls);
- for (EventHandler eh : getEventHandlers()) {
- controls.add(eh.getEventControl());
+ for (Class<? extends jdk.internal.event.Event> clazz : eventClasses) {
+ EventHandler eh = Utils.getHandler(clazz);
+ if (eh != null) {
+ controls.add(eh.getEventControl());
+ }
}
return controls;
}
@@ -319,4 +323,8 @@
}
this.flushMetadata = false;
}
+
+
+
+
}