Author: [email protected]
Branch: py3.5-raffael_t
Changeset: r83944:e441185f38d2
Date: 2016-03-22 22:25 +0100
http://bitbucket.org/pypy/pypy/changeset/e441185f38d2/
Log: Clean up unused 3.5 opcodes, Define inplace_matmul operator
diff --git a/pypy/interpreter/astcompiler/assemble.py
b/pypy/interpreter/astcompiler/assemble.py
--- a/pypy/interpreter/astcompiler/assemble.py
+++ b/pypy/interpreter/astcompiler/assemble.py
@@ -581,6 +581,7 @@
ops.INPLACE_MULTIPLY: -1,
ops.INPLACE_MODULO: -1,
ops.INPLACE_POWER: -1,
+ ops.INPLACE_MATRIX_MULTIPLY: -1,
ops.INPLACE_LSHIFT: -1,
ops.INPLACE_RSHIFT: -1,
ops.INPLACE_AND: -1,
diff --git a/pypy/interpreter/pyopcode.py b/pypy/interpreter/pyopcode.py
--- a/pypy/interpreter/pyopcode.py
+++ b/pypy/interpreter/pyopcode.py
@@ -572,10 +572,10 @@
BINARY_MULTIPLY = binaryoperation("mul")
BINARY_TRUE_DIVIDE = binaryoperation("truediv")
BINARY_FLOOR_DIVIDE = binaryoperation("floordiv")
- BINARY_MATRIX_MULTIPLY = binaryoperation("matmul")
BINARY_DIVIDE = binaryoperation("div")
# XXX BINARY_DIVIDE must fall back to BINARY_TRUE_DIVIDE with -Qnew
BINARY_MODULO = binaryoperation("mod")
+ BINARY_MATRIX_MULTIPLY = binaryoperation("matmul")
BINARY_ADD = binaryoperation("add")
BINARY_SUBTRACT = binaryoperation("sub")
BINARY_SUBSCR = binaryoperation("getitem")
@@ -598,6 +598,7 @@
INPLACE_DIVIDE = binaryoperation("inplace_div")
# XXX INPLACE_DIVIDE must fall back to INPLACE_TRUE_DIVIDE with -Qnew
INPLACE_MODULO = binaryoperation("inplace_mod")
+ INPLACE_MATRIX_MULTIPLY = binaryoperation("inplace_matmul")
INPLACE_ADD = binaryoperation("inplace_add")
INPLACE_SUBTRACT = binaryoperation("inplace_sub")
INPLACE_LSHIFT = binaryoperation("inplace_lshift")
diff --git a/pypy/module/operator/interp_operator.py
b/pypy/module/operator/interp_operator.py
--- a/pypy/module/operator/interp_operator.py
+++ b/pypy/module/operator/interp_operator.py
@@ -197,6 +197,10 @@
'ixor(a, b) -- Same as a ^= b.'
return space.inplace_xor(w_a, w_b)
+def imatmul(space, w_a, w_b):
+ 'imatmul(a, b) -- Same as a @= b.'
+ return space.inplace_matmul(w_a, w_b)
+
def iconcat(space, w_obj1, w_obj2):
'iconcat(a, b) -- Same as a += b, for a and b sequences.'
if (space.lookup(w_obj1, '__getitem__') is None or
diff --git a/pypy/tool/opcode3.py b/pypy/tool/opcode3.py
--- a/pypy/tool/opcode3.py
+++ b/pypy/tool/opcode3.py
@@ -5,6 +5,7 @@
"Backported" from Python 3 to Python 2 land - an excact copy of
lib-python/3/opcode.py
"""
+
__all__ = ["cmp_op", "hasconst", "hasname", "hasjrel", "hasjabs",
"haslocal", "hascompare", "hasfree", "opname", "opmap",
"HAVE_ARGUMENT", "EXTENDED_ARG", "hasnargs"]
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit