| java.lang.Object org.netbeans.lib.profiler.instrumentation.ClassManager org.netbeans.lib.profiler.instrumentation.MemoryProfMethodInstrumentor org.netbeans.lib.profiler.instrumentation.ObjLivenessMethodInstrumentor
ObjLivenessMethodInstrumentor | public class ObjLivenessMethodInstrumentor extends MemoryProfMethodInstrumentor (Code) | | High-level access to functionality that instruments TA methods to generate object allocation and liveness data.
Also has support for removing instrumentation for a subset of classes that the user deemed
"not interesting".
author: Misha Dmitriev |
SELECTIVE_INSTR_REMOVAL | final protected static int SELECTIVE_INSTR_REMOVAL(Code) | | |
STANDARD_INSTRUMENTATION | final protected static int STANDARD_INSTRUMENTATION(Code) | | |
allUnprofiledClassStatusArray | protected boolean[] allUnprofiledClassStatusArray(Code) | | |
msbi | protected MethodScanerForBannedInstantiations msbi(Code) | | |
operationCode | protected int operationCode(Code) | | |
getMethodsToInstrumentUponClassUnprofiling | public Object[] getMethodsToInstrumentUponClassUnprofiling(boolean[] unprofiledClassStatusArray)(Code) | | This is called when object allocation profiling is already active, with the argument where each line
corresponds to a class id, and value true at this line means that the class should not be profiled anymore
(i.e. allocation info for its instances shouldn't be generated). Returns the methods from which the
instrumentation for unprofiled classes is removed (but for others it's still in place).
|
methodNeedsInstrumentation | protected boolean methodNeedsInstrumentation(ClassInfo clazz, int methodIdx)(Code) | | |
setAllUnprofiledClassStatusArray | protected void setAllUnprofiledClassStatusArray(boolean[] currentUnprofiledClassStatusArray)(Code) | | Every time the user tells the tool to remove profiling for some class(es), the info about only
those classes currently selected for unprofiling, rather than about all classes ever unprofiled,
is recorded and then passed here via currentUnprofiledClassStatusArray[]. This is done to simplify
scanning instrumented methods for 'new' instructions to unprofile, so that instructions that
have already been unprofiled before don't cause false positives. However, when rewriting methods
that may already contain some unprofiled instantiations (to unprofile more instantiations), or
rewriting fresh uninstrumented methods, we need to use cumulative info about all unprofilings.
That info is collected here, in allUnprofiledClassStatusArray.
|
|
|