| java.lang.Object org.netbeans.lib.profiler.instrumentation.ClassManager org.netbeans.lib.profiler.instrumentation.MemoryProfMethodInstrumentor
All known Subclasses: org.netbeans.lib.profiler.instrumentation.ObjLivenessMethodInstrumentor,
MemoryProfMethodInstrumentor | abstract public class MemoryProfMethodInstrumentor extends ClassManager (Code) | | Base class providing common functionality for instrumenting TA methods to generate object allocation/liveness data.
The fact that there are two classes at this time, MemoryProfMethodInstrumentor and ObjLivenessMethodInstrumentor, is
explained by purely historical reasons - in the past we had instrumentation implemented differently for object allocation
and liveness profiling. Now the same kind of instrumentation is used for both profiling types (the exact method names
for injected calls are different, but the way of injecting these calls and their signatures are exactly the same).
In principle, MemoryProfMethodInstrumentor and ObjLivenessMethodInstrumentor can be merged, but there is no compelling
need for that. Furthermore, if in future say some different memory instrumentation kind is introduced, this division
may help.
author: Misha Dmitriev |
injType | protected int injType(Code) | | |
instantiatableClasses | protected String[] instantiatableClasses(Code) | | |
instrClassId | protected int instrClassId(Code) | | |
msfno | protected MethodScanerForNewOpcodes msfno(Code) | | |
nInstantiatableClasses | protected int nInstantiatableClasses(Code) | | |
nInstrClasses | protected int nInstrClasses(Code) | | |
nInstrMethods | protected int nInstrMethods(Code) | | |
createInstrumentedMethodPack | protected Object[] createInstrumentedMethodPack()(Code) | | Creates a multi-class packet of instrumented methods or classes
|
findAndMarkMethodsToInstrumentInClass | protected void findAndMarkMethodsToInstrumentInClass(String className, int classLoaderId)(Code) | | Checks if there are any methods in this class that need to be instrumented.
|
getInitialMethodsToInstrument | public Object[] getInitialMethodsToInstrument(String[] loadedClasses, int[] loadedClassLoaderIds, byte[][] cachedClassFileBytes)(Code) | | |
getInstantiatableClasses | public String[] getInstantiatableClasses()(Code) | | |
getMethodsToInstrumentUponClassLoad | public Object[] getMethodsToInstrumentUponClassLoad(String className, int classLoaderId)(Code) | | |
getNInstantiatableClasses | public int getNInstantiatableClasses()(Code) | | |
hasNewOpcodes | protected boolean hasNewOpcodes(ClassInfo clazz, int methodIdx, boolean checkForOpcNew)(Code) | | |
initInstrumentationPackData | protected void initInstrumentationPackData()(Code) | | |
methodNeedsInstrumentation | abstract protected boolean methodNeedsInstrumentation(ClassInfo clazz, int methodIdx)(Code) | | |
|
|