Author: Amaury Forgeot d'Arc <[email protected]>
Branch: py3k
Changeset: r48186:4f2915663f8e
Date: 2011-10-18 08:24 +0200
http://bitbucket.org/pypy/pypy/changeset/4f2915663f8e/
Log: It appears that all opcodes must be present in PyFrame, even if the
compiler does not emit them.
diff --git a/pypy/interpreter/nestedscope.py b/pypy/interpreter/nestedscope.py
--- a/pypy/interpreter/nestedscope.py
+++ b/pypy/interpreter/nestedscope.py
@@ -213,6 +213,9 @@
cell = self.cells[varindex]
cell.set(w_newvalue)
+ def DELETE_DEREF(self, varindex, next_instr):
+ raise NotImplementedError
+
@jit.unroll_safe
def MAKE_CLOSURE(self, numdefaults, next_instr):
w_codeobj = self.popvalue()
diff --git a/pypy/interpreter/pyopcode.py b/pypy/interpreter/pyopcode.py
--- a/pypy/interpreter/pyopcode.py
+++ b/pypy/interpreter/pyopcode.py
@@ -362,20 +362,13 @@
self.pushvalue(w_3)
self.pushvalue(w_2)
- def ROT_FOUR(self, oparg, next_instr):
- w_1 = self.popvalue()
- w_2 = self.popvalue()
- w_3 = self.popvalue()
- w_4 = self.popvalue()
- self.pushvalue(w_1)
- self.pushvalue(w_4)
- self.pushvalue(w_3)
- self.pushvalue(w_2)
-
def DUP_TOP(self, oparg, next_instr):
w_1 = self.peekvalue()
self.pushvalue(w_1)
+ def DUP_TOP_TWO(self, oparg, next_instr):
+ self.dupvalues(2)
+
def DUP_TOPX(self, itemcount, next_instr):
assert 1 <= itemcount <= 5, "limitation of the current interpreter"
self.dupvalues(itemcount)
@@ -539,6 +532,9 @@
if plain:
self.setdictscope(w_locals)
+ def POP_EXCEPT(self, oparg, next_instr):
+ raise NotImplementedError
+
def POP_BLOCK(self, oparg, next_instr):
block = self.pop_block()
block.cleanup(self) # the block knows how to clean up the value stack
@@ -585,6 +581,9 @@
items = self.space.fixedview_unroll(w_iterable, itemcount)
self.pushrevvalues(itemcount, items)
+ def UNPACK_EX(self, oparg, next_instr):
+ raise NotImplementedError
+
def STORE_ATTR(self, nameindex, next_instr):
"obj.attributename = newvalue"
w_attributename = self.getname_w(nameindex)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit