Author: Ronan Lamy <[email protected]>
Branch: translation-cleanup
Changeset: r58256:6782b68bd09b
Date: 2012-10-19 18:53 +0100
http://bitbucket.org/pypy/pypy/changeset/6782b68bd09b/
Log: Copy stack manipulation opcodes
diff --git a/pypy/objspace/flow/flowcontext.py
b/pypy/objspace/flow/flowcontext.py
--- a/pypy/objspace/flow/flowcontext.py
+++ b/pypy/objspace/flow/flowcontext.py
@@ -804,6 +804,40 @@
raise FlowingError(self,
"Attempting to modify global variable %r." % (varname))
+ def POP_TOP(self, oparg, next_instr):
+ self.popvalue()
+
+ def ROT_TWO(self, oparg, next_instr):
+ w_1 = self.popvalue()
+ w_2 = self.popvalue()
+ self.pushvalue(w_1)
+ self.pushvalue(w_2)
+
+ def ROT_THREE(self, oparg, next_instr):
+ w_1 = self.popvalue()
+ w_2 = self.popvalue()
+ w_3 = self.popvalue()
+ self.pushvalue(w_1)
+ 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_TOPX(self, itemcount, next_instr):
+ self.dupvalues(itemcount)
+
def BUILD_LIST_FROM_ARG(self, _, next_instr):
# This opcode was added with pypy-1.8. Here is a simpler
# version, enough for annotation.
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit