Interface IProbeArrayStrategy

All Known Implementing Classes:
ClassFieldProbeArrayStrategy, CondyProbeArrayStrategy, InterfaceFieldProbeArrayStrategy, LocalProbeArrayStrategy, NoneProbeArrayStrategy

public interface IProbeArrayStrategy
Strategies to retrieve the probe array instance for each method within a type. This abstraction is required as we need to follow a different strategy depending on whether the instrumented type is a class or interface.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addMembers(org.objectweb.asm.ClassVisitor cv, int probeCount)
    Adds additional class members required by this strategy.
    int
    storeInstance(org.objectweb.asm.MethodVisitor mv, boolean clinit, int variable)
    Creates code that stores the probe array instance in the given variable.
  • Method Details

    • storeInstance

      int storeInstance(org.objectweb.asm.MethodVisitor mv, boolean clinit, int variable)
      Creates code that stores the probe array instance in the given variable.
      Parameters:
      mv - visitor to create code
      clinit - true in case of <clinit> method
      variable - variable index to store probe array to
      Returns:
      maximum stack size required by the generated code
    • addMembers

      void addMembers(org.objectweb.asm.ClassVisitor cv, int probeCount)
      Adds additional class members required by this strategy. This method is called after all original members of the class has been processed.
      Parameters:
      cv - visitor to create fields and methods
      probeCount - total number of probes required for this class