[pypy-svn] r58393 - in pypy/branch/2.5-merge/pypy/interpreter: astcompiler test
fijal at codespeak.net
fijal at codespeak.net
Tue Sep 23 18:59:40 CEST 2008
Author: fijal
Date: Tue Sep 23 18:59:39 2008
New Revision: 58393
Modified:
pypy/branch/2.5-merge/pypy/interpreter/astcompiler/pyassem.py
pypy/branch/2.5-merge/pypy/interpreter/test/test_interpreter.py
Log:
(fijal, arigo) Proper fix
Modified: pypy/branch/2.5-merge/pypy/interpreter/astcompiler/pyassem.py
==============================================================================
--- pypy/branch/2.5-merge/pypy/interpreter/astcompiler/pyassem.py (original)
+++ pypy/branch/2.5-merge/pypy/interpreter/astcompiler/pyassem.py Tue Sep 23 18:59:39 2008
@@ -464,9 +464,7 @@
def depth_MAKE_FUNCTION(argc):
return -argc
def depth_MAKE_CLOSURE(argc):
- if argc == 0:
- return -1
- return -argc
+ return -argc-1
def depth_BUILD_SLICE(argc):
if argc == 2:
return -1
Modified: pypy/branch/2.5-merge/pypy/interpreter/test/test_interpreter.py
==============================================================================
--- pypy/branch/2.5-merge/pypy/interpreter/test/test_interpreter.py (original)
+++ pypy/branch/2.5-merge/pypy/interpreter/test/test_interpreter.py Tue Sep 23 18:59:39 2008
@@ -280,3 +280,14 @@
def f(x): return x
assert f(666) == 666
+ def test_stack_bug(self):
+ x = """class A:
+ def initialize(self):
+ # install all the MultiMethods into the space instance
+ if isinstance(mm, object):
+ def make_boundmethod(func=func):
+ def boundmethod(*args):
+ return func(self, *args)
+ """
+ exec x in {}
+ # assert did not crash
More information about the Pypy-commit
mailing list