[pypy-svn] r65981 - pypy/branch/pyjitpl5/pypy/jit/tl/spli
benjamin at codespeak.net
benjamin at codespeak.net
Fri Jun 26 01:14:26 CEST 2009
Author: benjamin
Date: Fri Jun 26 01:14:25 2009
New Revision: 65981
Modified:
pypy/branch/pyjitpl5/pypy/jit/tl/spli/interpreter.py
pypy/branch/pyjitpl5/pypy/jit/tl/spli/objects.py
Log:
add as_interp_class(); shut up rtyper warnings
Modified: pypy/branch/pyjitpl5/pypy/jit/tl/spli/interpreter.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/tl/spli/interpreter.py (original)
+++ pypy/branch/pyjitpl5/pypy/jit/tl/spli/interpreter.py Fri Jun 26 01:14:25 2009
@@ -1,6 +1,6 @@
import os
from pypy.tool import stdlib_opcode as opcode
-from pypy.jit.tl.spli import objects
+from pypy.jit.tl.spli import objects, pycode
from pypy.tool.stdlib_opcode import unrolling_opcode_descs
from pypy.tool.stdlib_opcode import opcode_method_names
from pypy.rlib.unroll import unrolling_iterable
@@ -183,7 +183,8 @@
return next_instr
def MAKE_FUNCTION(self, _, next_instr, code):
- func = objects.Function(self.pop(), self.globs)
+ func_code = self.pop().as_interp_class(pycode.Code)
+ func = objects.Function(func_code, self.globs)
self.push(func)
return next_instr
Modified: pypy/branch/pyjitpl5/pypy/jit/tl/spli/objects.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/tl/spli/objects.py (original)
+++ pypy/branch/pyjitpl5/pypy/jit/tl/spli/objects.py Fri Jun 26 01:14:25 2009
@@ -69,6 +69,11 @@
def is_true(self):
raise W_TypeError
+ def as_interp_class(self, cls):
+ if not isinstance(self, cls):
+ raise W_TypeError
+ return self
+
class Bool(SPLIObject):
More information about the Pypy-commit
mailing list