Author: Amaury Forgeot d'Arc <amaur...@gmail.com> 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 pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit