aboutsummaryrefslogtreecommitdiff
path: root/devtools
diff options
context:
space:
mode:
authorVladimir Menshakov2011-06-12 23:55:14 +0400
committerAlyssa Milburn2011-06-15 17:34:38 +0200
commit6fb25cdde4381233f3aa98f92f7dfa62aa10b2fa (patch)
tree440013e452f184aef30cfbdd01a821bdddf03947 /devtools
parentedf7d9b42bb4f88b8681e0d3732b4e2daad377c9 (diff)
downloadscummvm-rg350-6fb25cdde4381233f3aa98f92f7dfa62aa10b2fa.tar.gz
scummvm-rg350-6fb25cdde4381233f3aa98f92f7dfa62aa10b2fa.tar.bz2
scummvm-rg350-6fb25cdde4381233f3aa98f92f7dfa62aa10b2fa.zip
DREAMWEB: added stack depth check to code generator
Diffstat (limited to 'devtools')
-rw-r--r--devtools/tasmrecover/tasm/cpp.py4
1 files changed, 2 insertions, 2 deletions
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)