428 // duration = EventWriter.timestamp() - startTime; |
428 // duration = EventWriter.timestamp() - startTime; |
429 // } |
429 // } |
430 // } |
430 // } |
431 methodVisitor.visitLabel(durationalEvent); |
431 methodVisitor.visitLabel(durationalEvent); |
432 methodVisitor.visitFrame(Opcodes.F_SAME, 0, null, 0, null); |
432 methodVisitor.visitFrame(Opcodes.F_SAME, 0, null, 0, null); |
433 methodVisitor.visitVarInsn(Opcodes.ALOAD, 0); |
433 // methodVisitor.visitVarInsn(Opcodes.ALOAD, 0); |
434 methodVisitor.visitFieldInsn(Opcodes.GETFIELD, getInternalClassName(), FIELD_DURATION, "J"); |
434 // methodVisitor.visitFieldInsn(Opcodes.GETFIELD, getInternalClassName(), FIELD_DURATION, "J"); |
435 methodVisitor.visitInsn(Opcodes.LCONST_0); |
435 // methodVisitor.visitInsn(Opcodes.LCONST_0); |
436 methodVisitor.visitInsn(Opcodes.LCMP); |
436 // methodVisitor.visitInsn(Opcodes.LCMP); |
437 methodVisitor.visitJumpInsn(Opcodes.IFNE, commit); |
437 // methodVisitor.visitJumpInsn(Opcodes.IFNE, commit); |
438 methodVisitor.visitVarInsn(Opcodes.ALOAD, 0); |
438 // methodVisitor.visitVarInsn(Opcodes.ALOAD, 0); |
439 methodVisitor.visitMethodInsn(Opcodes.INVOKESTATIC, TYPE_EVENT_HANDLER.getInternalName(), METHOD_TIME_STAMP.getName(), METHOD_TIME_STAMP.getDescriptor(), false); |
439 methodVisitor.visitMethodInsn(Opcodes.INVOKESTATIC, TYPE_EVENT_HANDLER.getInternalName(), METHOD_TIME_STAMP.getName(), METHOD_TIME_STAMP.getDescriptor(), false); |
440 methodVisitor.visitVarInsn(Opcodes.ALOAD, 0); |
440 methodVisitor.visitVarInsn(Opcodes.ALOAD, 0); |
441 methodVisitor.visitFieldInsn(Opcodes.GETFIELD, getInternalClassName(), FIELD_START_TIME, "J"); |
441 methodVisitor.visitFieldInsn(Opcodes.GETFIELD, getInternalClassName(), FIELD_START_TIME, "J"); |
442 methodVisitor.visitInsn(Opcodes.LSUB); |
442 methodVisitor.visitInsn(Opcodes.LSUB); |
443 methodVisitor.visitFieldInsn(Opcodes.PUTFIELD, getInternalClassName(), FIELD_DURATION, "J"); |
443 methodVisitor.visitFieldInsn(Opcodes.PUTFIELD, getInternalClassName(), FIELD_DURATION, "J"); |
444 methodVisitor.visitLabel(commit); |
444 methodVisitor.visitLabel(commit); |
445 // if (shouldCommit()) { |
445 // if (shouldCommit()) { |
446 methodVisitor.visitFrame(Opcodes.F_SAME, 0, null, 0, null); |
446 methodVisitor.visitFrame(Opcodes.F_SAME, 0, null, 0, null); |
447 methodVisitor.visitVarInsn(Opcodes.ALOAD, 0); |
447 methodVisitor.visitVarInsn(Opcodes.ALOAD, 0); |
448 methodVisitor.visitMethodInsn(Opcodes.INVOKEVIRTUAL, getInternalClassName(), METHOD_EVENT_SHOULD_COMMIT.getName(), METHOD_EVENT_SHOULD_COMMIT.getDescriptor(), false); |
448 methodVisitor.visitMethodInsn(Opcodes.INVOKEVIRTUAL, getInternalClassName(), METHOD_EVENT_SHOULD_COMMIT.getName(), METHOD_EVENT_SHOULD_COMMIT.getDescriptor(), false); |
449 Label end = new Label(); |
449 Label end = new Label(); |