| java.lang.Object org.netbeans.lib.profiler.instrumentation.ConstantPoolExtension org.netbeans.lib.profiler.instrumentation.DynamicConstantPoolExtension
DynamicConstantPoolExtension | public class DynamicConstantPoolExtension extends ConstantPoolExtension implements CommonConstants(Code) | | Support for adding multiple different fragments to a class's constant pool, that also keeps track of whether
a particular fragment has already been added to this class or not.
The main API call for this class is getCPFragment, that returns a relocated (i.e. with indices adjusted for a concrete
given class) copy of added constant pool for particular injection type defined in JFluid. Once this operation is
performed, the information is registered in the corresponding ClassInfo (it is assumed that a real class in the JVM is
actually instrumented by adding this cpool fragment). Thus if subsequently for this class the constant pool fragment
for the same injection type is requested again, an empty result is returned.
When performing actual method instrumentation (bytecode rewriting), use cpool indices of injected methods defined as
public static variables in CPExtensionsRepository. These variables need to be adjusted for the base cpool count value
for the given class/injection type.
author: Misha Dmitriev |
DynamicConstantPoolExtension | protected DynamicConstantPoolExtension(DynamicClassInfo clazz, int injectionType, int baseCPCount, int secondaryCPCount)(Code) | | |
DynamicConstantPoolExtension | protected DynamicConstantPoolExtension()(Code) | | |
getAllAddedCPFragments | public static DynamicConstantPoolExtension getAllAddedCPFragments(DynamicClassInfo clazz)(Code) | | Re-create the whole appended constant pool chunk out of (possibly several) fragments added for different
kinds of instrumentation at possibly different times.
|
Fields inherited from org.netbeans.lib.profiler.instrumentation.ConstantPoolExtension | protected byte[] addedCPContents(Code)(Java Doc) protected int nAddedEntries(Code)(Java Doc)
|
|
|