src/jdk.jfr/share/classes/jdk/jfr/internal/EventInstrumentation.java
changeset 52698 ca6b58b8ffc5
parent 52334 a181612f0715
child 57641 5fb8ececb9e6
child 58863 c16ac7a2eba4
equal deleted inserted replaced
52697:605878cd4009 52698:ca6b58b8ffc5
   433             });
   433             });
   434 
   434 
   435         // MyEvent#shouldCommit()
   435         // MyEvent#shouldCommit()
   436         updateMethod(METHOD_EVENT_SHOULD_COMMIT, methodVisitor -> {
   436         updateMethod(METHOD_EVENT_SHOULD_COMMIT, methodVisitor -> {
   437             Label fail = new Label();
   437             Label fail = new Label();
       
   438             if (guardHandlerReference) {
       
   439                 getEventHandler(methodVisitor);
       
   440                 methodVisitor.visitJumpInsn(Opcodes.IFNULL, fail);
       
   441             }
   438             // if (!eventHandler.shouldCommit(duration) goto fail;
   442             // if (!eventHandler.shouldCommit(duration) goto fail;
   439             getEventHandler(methodVisitor);
   443             getEventHandler(methodVisitor);
   440             methodVisitor.visitVarInsn(Opcodes.ALOAD, 0);
   444             methodVisitor.visitVarInsn(Opcodes.ALOAD, 0);
   441             methodVisitor.visitFieldInsn(Opcodes.GETFIELD, getInternalClassName(), FIELD_DURATION, "J");
   445             methodVisitor.visitFieldInsn(Opcodes.GETFIELD, getInternalClassName(), FIELD_DURATION, "J");
   442             ASMToolkit.invokeVirtual(methodVisitor, TYPE_EVENT_HANDLER.getInternalName(), METHOD_EVENT_HANDLER_SHOULD_COMMIT);
   446             ASMToolkit.invokeVirtual(methodVisitor, TYPE_EVENT_HANDLER.getInternalName(), METHOD_EVENT_HANDLER_SHOULD_COMMIT);