]> git.cworth.org Git - apitrace/blobdiff - common/trace_writer_model.cpp
Build fixes for VS2013
[apitrace] / common / trace_writer_model.cpp
index cdf9783b4ba1655e0e02ecfacab062a65386a3e5..4cf82f65242f79f2e76d023dbaee2f0d478a2cf3 100644 (file)
@@ -107,48 +107,14 @@ public:
         writer.endRepr();
     }
 
-    void visit(StackFrame* frame) {
-        writer.beginStackFrame();
-        if (frame->module != NULL) {
-            writer.beginStackFrameModule();
-            _visit(frame->module);
-            writer.endStackFrameModule();
-        }
-        if (frame->function != NULL) {
-            writer.beginStackFrameFunction();
-            _visit(frame->function);
-            writer.endStackFrameFunction();
-        }
-        if (frame->filename != NULL) {
-            writer.beginStackFrameFilename();
-            _visit(frame->filename);
-            writer.endStackFrameFilename();
-        }
-        if (frame->linenumber != NULL) {
-            writer.beginStackFrameLinenumber();
-            _visit(frame->linenumber);
-            writer.endStackFrameLinenumber();
-        }
-        if (frame->offset != NULL) {
-            writer.beginStackFrameOffset();
-            _visit(frame->offset);
-            writer.endStackFrameOffset();
-        }
-        writer.endStackFrame();
-    }
-
-    void visit(Backtrace * backtrace) {
-        writer.beginBacktrace();
-        for (int i =0; i < backtrace->frames.size(); i++) {
-            visit(backtrace->frames[i]);
-        }
-        writer.endBacktrace();
-    }
-
     void visit(Call *call) {
         unsigned call_no = writer.beginEnter(call->sig, call->thread_id);
         if (call->backtrace != NULL) {
-            visit(call->backtrace);
+            writer.beginBacktrace(call->backtrace->size());
+            for (unsigned i = 0; i < call->backtrace->size(); ++i) {
+                writer.writeStackFrame((*call->backtrace)[i]);
+            }
+            writer.endBacktrace();
         }
         for (unsigned i = 0; i < call->args.size(); ++i) {
             if (call->args[i].value) {