--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/EventInstrumentation.java Tue Nov 27 11:07:44 2018 -0500
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/EventInstrumentation.java Tue Nov 27 18:14:27 2018 +0100
@@ -435,6 +435,10 @@
// MyEvent#shouldCommit()
updateMethod(METHOD_EVENT_SHOULD_COMMIT, methodVisitor -> {
Label fail = new Label();
+ if (guardHandlerReference) {
+ getEventHandler(methodVisitor);
+ methodVisitor.visitJumpInsn(Opcodes.IFNULL, fail);
+ }
// if (!eventHandler.shouldCommit(duration) goto fail;
getEventHandler(methodVisitor);
methodVisitor.visitVarInsn(Opcodes.ALOAD, 0);