public class FilteringSerializer extends AbstractSerializer implements ReferenceProcessor, Processor<ElementInfo>
Modifier and Type | Field and Description |
---|---|
protected IntVector |
buf |
protected FilterConfiguration |
filter |
protected ObjectQueue<ElementInfo> |
refQueue |
cached, ks, vm
Constructor and Description |
---|
FilteringSerializer() |
Modifier and Type | Method and Description |
---|---|
void |
attach(VM vm) |
protected int[] |
computeStoringData() |
protected void |
dumpData() |
protected FramePolicy |
getFramePolicy(MethodInfo mi) |
protected FinalBitSet |
getInstanceFilterMask(ClassInfo ci) |
protected FinalBitSet |
getInstanceRefMask(ClassInfo ci) |
protected int |
getSerializedReferenceValue(ElementInfo ei) |
protected FinalBitSet |
getStaticFilterMask(ClassInfo ci) |
protected FinalBitSet |
getStaticRefMask(ClassInfo ci) |
protected void |
initReferenceQueue() |
void |
process(ElementInfo ei) |
protected void |
processArrayFields(ArrayFields afields) |
protected void |
processNamedFields(ClassInfo ci,
Fields fields) |
void |
processReference(int objref) |
protected void |
processReferenceQueue() |
protected void |
serializeClass(StaticElementInfo sei) |
protected void |
serializeClassLoaders() |
protected void |
serializeFrame(StackFrame frame)
more generic, but less efficient because it can't use block operations
protected void _serializeFrame(StackFrame frame){
buf.add(frame.getMethodInfo().getGlobalId());
buf.add(frame.getPC().getInstructionIndex());
int len = frame.getTopPos()+1;
buf.add(len);
// this looks like something we can push into the frame
int[] slots = frame.getSlots();
for (int i = 0; i < len; i++) {
if (frame.isReferenceSlot(i)) {
processReference(slots[i]);
} else {
buf.add(slots[i]);
}
}
}
|
protected void |
serializeLockedObjects(List<ElementInfo> lockedObjects) |
protected void |
serializeStackFrames() |
protected void |
serializeStackFrames(ThreadInfo ti) |
protected void |
serializeStatics(Statics statics) |
protected void |
serializeThreadState(ThreadInfo ti) |
protected void |
serializeThreadStates() |
getCurrentStateVectorLength, getStoringData, kernelStateChanged
protected FilterConfiguration filter
protected transient IntVector buf
protected ObjectQueue<ElementInfo> refQueue
public void attach(VM vm)
attach
in interface StateSerializer
attach
in class AbstractSerializer
protected FramePolicy getFramePolicy(MethodInfo mi)
protected FinalBitSet getInstanceRefMask(ClassInfo ci)
protected FinalBitSet getStaticRefMask(ClassInfo ci)
protected FinalBitSet getInstanceFilterMask(ClassInfo ci)
protected FinalBitSet getStaticFilterMask(ClassInfo ci)
protected void initReferenceQueue()
public void processReference(int objref)
processReference
in interface ReferenceProcessor
protected void processArrayFields(ArrayFields afields)
public void process(ElementInfo ei)
process
in interface Processor<ElementInfo>
protected void processReferenceQueue()
protected void serializeStackFrames()
protected void serializeStackFrames(ThreadInfo ti)
protected void serializeFrame(StackFrame frame)
protected void serializeThreadState(ThreadInfo ti)
protected int getSerializedReferenceValue(ElementInfo ei)
protected void serializeLockedObjects(List<ElementInfo> lockedObjects)
protected void serializeThreadStates()
protected void serializeClassLoaders()
protected void serializeStatics(Statics statics)
protected void serializeClass(StaticElementInfo sei)
protected int[] computeStoringData()
computeStoringData
in class AbstractSerializer
protected void dumpData()