From 6fb25cdde4381233f3aa98f92f7dfa62aa10b2fa Mon Sep 17 00:00:00 2001 From: Vladimir Menshakov Date: Sun, 12 Jun 2011 23:55:14 +0400 Subject: DREAMWEB: added stack depth check to code generator --- devtools/tasmrecover/tasm/cpp.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'devtools') diff --git a/devtools/tasmrecover/tasm/cpp.py b/devtools/tasmrecover/tasm/cpp.py index 52f21bda33..9d42dd9cde 100644 --- a/devtools/tasmrecover/tasm/cpp.py +++ b/devtools/tasmrecover/tasm/cpp.py @@ -257,7 +257,7 @@ namespace %s { self.schedule(name) def _ret(self): - self.body += "\treturn;\n" + self.body += "\t{assert(stack_depth == context.stack.size()); return; }\n" def parse2(self, dst, src): dst_size, src_size = self.get_size(dst), self.get_size(src) @@ -437,7 +437,7 @@ namespace %s { self.proc_addr.append((name, self.proc.offset)) self.body = str() - self.body += "void %s(Context & context) {\n" %name; + self.body += "void %s(Context & context) {\n\tuint stack_depth = context.stack.size();\n" %name; self.proc.optimize() self.unbounded = [] self.proc.visit(self, skip) -- cgit v1.2.3