ProBe Polymorphic Call Sites Data Format

Specification

Schema

Polymorphic Call Sites Schema

Nodes

Stmt

Each Stmt node represents an invokevirtual or invokeinterface bytecode instruction in the program. The offset attribute is the bytecode offset of the instruction in the method in which it appears. A Stmt node appears in the ProBe graph if the corresponding invoke instruction invokes at least two different methods.

Method

Each Method node represents a method in the program. The name attribute specifies the name of the method. The signature attribute specifies the parameters and return type (but not the name) of the method in the same format as they are stored in the a Method Descriptor in the Java class file format (see The Java Virtual Machine Specification, section 4.3.3).

Class

Each Class node represents a class in the program. The name attribute specifies the name of the class, not including the package. For inner classes, the name is determined as in the Java class file (i.e. the name may contain $ signs). The package attribute specifies the package in which the class is defined, with subpackages separated by a period.

Edges

declaredIn

Each Method node has exactly one declaredIn edge to the Class node corresponding to the class in which the method is declared.

inBody

Each Stmt node has exactly one inBody edge to the Method node corresponding to the method in whose body the corresponding bytecode instruction appears.

Tools

PolymorphicInfo

The PolymorphicInfo tool prints the number of polymorphic call sites, and optionally lists the bytecode instructions containing polymorphic calls.
Usage: java probe.PolymorphicInfo [options] polymorphic.gxl
  -v : print list of potentially polymorphic call sites
  -lib file : ignore methods in packages listed in file

Valid HTML 4.01!