public class DynamicAbstractionSerializer extends FilteringSerializer
Modifier and Type | Class and Description |
---|---|
class |
DynamicAbstractionSerializer.Attributor |
Modifier and Type | Field and Description |
---|---|
protected boolean |
declaredFieldsOnly |
protected StringSetMatcher |
excludeClasses |
protected StringSetMatcher |
excludeMethods |
protected StringSetMatcher |
includeClasses |
protected StringSetMatcher |
includeMethods |
protected boolean |
processAllObjects |
buf, filter, refQueue
cached, ks, vm
Constructor and Description |
---|
DynamicAbstractionSerializer(Config conf) |
Modifier and Type | Method and Description |
---|---|
void |
attach(VM vm) |
protected List<gov.nasa.jpf.vm.serialize.DynamicAbstractionSerializer.FieldAbstraction> |
getFieldAbstractions(Config conf) |
void |
process(ElementInfo ei) |
protected void |
processArrayFields(ArrayFields fields) |
protected void |
processField(Fields fields,
int[] slotValues,
FieldInfo fi,
FinalBitSet filtered) |
protected void |
processNamedFields(ClassInfo ci,
Fields fields) |
protected void |
processNamedInstanceReferenceFields(ClassInfo ci,
Fields fields) |
protected void |
processNamedStaticReferenceFields(ClassInfo ci,
Fields fields) |
void |
processReference(int objref) |
protected void |
processReferenceArray(ReferenceArrayFields fields) |
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 |
serializeStatics(Statics statics) |
computeStoringData, dumpData, getFramePolicy, getInstanceFilterMask, getInstanceRefMask, getSerializedReferenceValue, getStaticFilterMask, getStaticRefMask, initReferenceQueue, processReferenceQueue, serializeLockedObjects, serializeStackFrames, serializeStackFrames, serializeThreadState, serializeThreadStates
getCurrentStateVectorLength, getStoringData, kernelStateChanged
protected StringSetMatcher includeClasses
protected StringSetMatcher excludeClasses
protected StringSetMatcher includeMethods
protected StringSetMatcher excludeMethods
protected boolean processAllObjects
protected boolean declaredFieldsOnly
public DynamicAbstractionSerializer(Config conf)
protected List<gov.nasa.jpf.vm.serialize.DynamicAbstractionSerializer.FieldAbstraction> getFieldAbstractions(Config conf)
public void attach(VM vm)
attach
in interface StateSerializer
attach
in class FilteringSerializer
public void processReference(int objref)
processReference
in interface ReferenceProcessor
processReference
in class FilteringSerializer
protected void processField(Fields fields, int[] slotValues, FieldInfo fi, FinalBitSet filtered)
protected void processArrayFields(ArrayFields fields)
processArrayFields
in class FilteringSerializer
protected void processNamedInstanceReferenceFields(ClassInfo ci, Fields fields)
protected void processNamedStaticReferenceFields(ClassInfo ci, Fields fields)
protected void processReferenceArray(ReferenceArrayFields fields)
protected void processNamedFields(ClassInfo ci, Fields fields)
processNamedFields
in class FilteringSerializer
public void process(ElementInfo ei)
process
in interface Processor<ElementInfo>
process
in class FilteringSerializer
protected void serializeFrame(StackFrame frame)
FilteringSerializer
serializeFrame
in class FilteringSerializer
protected void serializeClass(StaticElementInfo sei)
serializeClass
in class FilteringSerializer
protected void serializeClassLoaders()
serializeClassLoaders
in class FilteringSerializer
protected void serializeStatics(Statics statics)
serializeStatics
in class FilteringSerializer