[pypy-commit] pypy sanitise_bytecode_dispatch: (arigo, cfbolz, ltratt) Kill CPythonFrame.
ltratt
noreply at buildbot.pypy.org
Fri Aug 30 18:03:36 CEST 2013
Author: Laurence Tratt <laurie at tratt.net>
Branch: sanitise_bytecode_dispatch
Changeset: r66674:af10c9476946
Date: 2013-08-30 17:02 +0100
http://bitbucket.org/pypy/pypy/changeset/af10c9476946/
Log: (arigo, cfbolz, ltratt) Kill CPythonFrame.
diff --git a/pypy/interpreter/pycode.py b/pypy/interpreter/pycode.py
--- a/pypy/interpreter/pycode.py
+++ b/pypy/interpreter/pycode.py
@@ -251,8 +251,10 @@
tuple(self.co_cellvars))
def exec_host_bytecode(self, w_globals, w_locals):
- from pypy.interpreter.pyframe import CPythonFrame
- frame = CPythonFrame(self.space, self, w_globals, None)
+ if sys.version_info < (2, 7):
+ raise Exception("PyPy no longer supports Python 2.6 or lower")
+ from pypy.interpreter.pyframe import PyFrame
+ frame = PyFrame(self.space, self, w_globals, None)
frame.setdictscope(w_locals)
return frame.run()
diff --git a/pypy/interpreter/pyframe.py b/pypy/interpreter/pyframe.py
--- a/pypy/interpreter/pyframe.py
+++ b/pypy/interpreter/pyframe.py
@@ -52,7 +52,7 @@
def __init__(self, space, code, w_globals, outer_func):
if not we_are_translated():
- assert type(self) in (space.FrameClass, CPythonFrame), (
+ assert type(self) == space.FrameClass, (
"use space.FrameClass(), not directly PyFrame()")
self = hint(self, access_directly=True, fresh_virtualizable=True)
assert isinstance(code, pycode.PyCode)
@@ -674,17 +674,6 @@
return space.wrap(self.builtin is not space.builtin)
return space.w_False
-class CPythonFrame(PyFrame):
- """
- Execution of host (CPython) opcodes.
- """
-
- bytecode_spec = host_bytecode_spec
- opcode_method_names = host_bytecode_spec.method_names
- opcodedesc = host_bytecode_spec.opcodedesc
- opdescmap = host_bytecode_spec.opdescmap
- HAVE_ARGUMENT = host_bytecode_spec.HAVE_ARGUMENT
-
# ____________________________________________________________
diff --git a/pypy/interpreter/pyopcode.py b/pypy/interpreter/pyopcode.py
--- a/pypy/interpreter/pyopcode.py
+++ b/pypy/interpreter/pyopcode.py
@@ -1282,49 +1282,6 @@
self.space.setitem(w_dict, w_key, w_value)
-class __extend__(pyframe.CPythonFrame):
-
- def JUMP_IF_FALSE(self, stepby, next_instr):
- w_cond = self.peekvalue()
- if not self.space.is_true(w_cond):
- next_instr += stepby
- return next_instr
-
- def JUMP_IF_TRUE(self, stepby, next_instr):
- w_cond = self.peekvalue()
- if self.space.is_true(w_cond):
- next_instr += stepby
- return next_instr
-
- def BUILD_MAP(self, itemcount, next_instr):
- if sys.version_info >= (2, 6):
- # We could pre-allocate a dict here
- # but for the moment this code is not translated.
- pass
- else:
- if itemcount != 0:
- raise BytecodeCorruption
- w_dict = self.space.newdict()
- self.pushvalue(w_dict)
-
- def STORE_MAP(self, zero, next_instr):
- if sys.version_info >= (2, 6):
- w_key = self.popvalue()
- w_value = self.popvalue()
- w_dict = self.peekvalue()
- self.space.setitem(w_dict, w_key, w_value)
- else:
- raise BytecodeCorruption
-
- def LIST_APPEND(self, oparg, next_instr):
- w = self.popvalue()
- if sys.version_info < (2, 7):
- v = self.popvalue()
- else:
- v = self.peekvalue(oparg - 1)
- self.space.call_method(v, 'append', w)
-
-
### ____________________________________________________________ ###
class ExitFrame(Exception):
More information about the pypy-commit
mailing list