#include <vector>
#include "trace_model.hpp"
-
+#include "trace_backtrace.hpp"
namespace trace {
class File;
std::vector<bool> structs;
std::vector<bool> enums;
std::vector<bool> bitmasks;
+ std::vector<bool> frames;
public:
Writer();
void beginReturn(void);
inline void endReturn(void) {}
+ void beginBacktrace(unsigned num_frames);
+ void writeStackFrame(const RawStackFrame *frame);
+ inline void endBacktrace(void) {}
+
void beginArray(size_t length);
inline void endArray(void) {}
void beginStruct(const StructSig *sig);
inline void endStruct(void) {}
+ void beginRepr(void);
+ inline void endRepr(void) {}
+
void writeBool(bool value);
void writeSInt(signed long long value);
void writeUInt(unsigned long long value);
void writeEnum(const EnumSig *sig, signed long long value);
void writeBitmask(const BitmaskSig *sig, unsigned long long value);
void writeNull(void);
- void writeOpaque(const void *ptr);
+ void writePointer(unsigned long long addr);
void writeCall(Call *call);