diff -r 605878cd4009 -r ca6b58b8ffc5 src/jdk.jfr/share/classes/jdk/jfr/internal/EventInstrumentation.java --- 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);