corda/src/heapwalk.h

24 lines
429 B
C
Raw Normal View History

#include "machine.h"
namespace vm {
class HeapMap {
public:
virtual int find(object value) = 0;
virtual void dispose() = 0;
};
class HeapWalker {
public:
virtual void root() = 0;
virtual unsigned visitNew(object value) = 0;
virtual void visitOld(object value, unsigned number) = 0;
virtual void push(unsigned offset) = 0;
virtual void pop() = 0;
};
HeapMap*
walk(Thread* t, HeapWalker* w);
} // namespace vm