summaryrefslogtreecommitdiffstats
path: root/Python/bytecodes.c
diff options
context:
space:
mode:
Diffstat (limited to 'Python/bytecodes.c')
-rw-r--r--Python/bytecodes.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/Python/bytecodes.c b/Python/bytecodes.c
index b7511b9..4541eb6 100644
--- a/Python/bytecodes.c
+++ b/Python/bytecodes.c
@@ -426,6 +426,14 @@ dummy_func(
EXIT_IF(!PyLong_CheckExact(right));
}
+ op(_GUARD_NOS_INT, (left, unused -- left, unused)) {
+ EXIT_IF(!PyLong_CheckExact(left));
+ }
+
+ op(_GUARD_TOS_INT, (value -- value)) {
+ EXIT_IF(!PyLong_CheckExact(value));
+ }
+
pure op(_BINARY_OP_MULTIPLY_INT, (left, right -- res)) {
STAT_INC(BINARY_OP, hit);
res = _PyLong_Multiply((PyLongObject *)left, (PyLongObject *)right);
@@ -462,6 +470,14 @@ dummy_func(
EXIT_IF(!PyFloat_CheckExact(right));
}
+ op(_GUARD_NOS_FLOAT, (left, unused -- left, unused)) {
+ EXIT_IF(!PyFloat_CheckExact(left));
+ }
+
+ op(_GUARD_TOS_FLOAT, (value -- value)) {
+ EXIT_IF(!PyFloat_CheckExact(value));
+ }
+
pure op(_BINARY_OP_MULTIPLY_FLOAT, (left, right -- res)) {
STAT_INC(BINARY_OP, hit);
double dres =