public interface IMethodProbesVisitor
extends org.objectweb.asm.MethodVisitor
MethodVisitor
with additional methods to get probe insertion
information.Modifier and Type | Method and Description |
---|---|
void |
visitInsnWithProbe(int opcode,
int probeId)
Visits a zero operand instruction with a probe.
|
void |
visitJumpInsnWithProbe(int opcode,
org.objectweb.asm.Label label,
int probeId)
Visits a jump instruction.
|
void |
visitLookupSwitchInsnWithProbes(org.objectweb.asm.Label dflt,
int[] keys,
org.objectweb.asm.Label[] labels)
Visits a LOOKUPSWITCH instruction with optional probes for each target
label.
|
void |
visitProbe(int probeId)
Visits an unconditional probe that should be inserted at the current
position.
|
void |
visitTableSwitchInsnWithProbes(int min,
int max,
org.objectweb.asm.Label dflt,
org.objectweb.asm.Label[] labels)
Visits a TABLESWITCH instruction with optional probes for each target
label.
|
visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitEnd, visitFieldInsn, visitFrame, visitIincInsn, visitInsn, visitIntInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLineNumber, visitLocalVariable, visitLookupSwitchInsn, visitMaxs, visitMethodInsn, visitMultiANewArrayInsn, visitParameterAnnotation, visitTableSwitchInsn, visitTryCatchBlock, visitTypeInsn, visitVarInsn
void visitProbe(int probeId)
probeId
- id of the probe to insertvoid visitJumpInsnWithProbe(int opcode, org.objectweb.asm.Label label, int probeId)
opcode
- the opcode of the type instruction to be visited. This opcode
is either IFEQ, IFNE, IFLT, IFGE, IFGT, IFLE, IF_ICMPEQ,
IF_ICMPNE, IF_ICMPLT, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE,
IF_ACMPEQ, IF_ACMPNE, GOTO, IFNULL or IFNONNULL.label
- the operand of the instruction to be visited. This operand is
a label that designates the instruction to which the jump
instruction may jump.probeId
- id of the probeMethodVisitor.visitJumpInsn(int, Label)
void visitInsnWithProbe(int opcode, int probeId)
opcode
- the opcode of the instruction to be visited. This opcode is
either IRETURN, LRETURN, FRETURN, DRETURN, ARETURN, RETURN or
ATHROW.probeId
- id of the probeMethodVisitor.visitInsn(int)
void visitTableSwitchInsnWithProbes(int min, int max, org.objectweb.asm.Label dflt, org.objectweb.asm.Label[] labels)
LabelInfo.getProbeId(Label)
.min
- the minimum key value.max
- the maximum key value.dflt
- beginning of the default handler block.labels
- beginnings of the handler blocks. labels[i]
is
the beginning of the handler block for the
min + i
key.MethodVisitor.visitTableSwitchInsn(int, int, Label, Label[])
void visitLookupSwitchInsnWithProbes(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.Label[] labels)
LabelInfo.getProbeId(Label)
.dflt
- beginning of the default handler block.keys
- the values of the keys.labels
- beginnings of the handler blocks. labels[i]
is
the beginning of the handler block for the
keys[i]
key.MethodVisitor.visitLookupSwitchInsn(Label, int[], Label[])
Copyright © 2009-2012 Mountainminds GmbH & Co. KG. All Rights Reserved.