summaryrefslogtreecommitdiffstats
path: root/Python/generated_cases.c.h
diff options
context:
space:
mode:
Diffstat (limited to 'Python/generated_cases.c.h')
-rw-r--r--Python/generated_cases.c.h15
1 files changed, 3 insertions, 12 deletions
diff --git a/Python/generated_cases.c.h b/Python/generated_cases.c.h
index 3839aee..21073cb 100644
--- a/Python/generated_cases.c.h
+++ b/Python/generated_cases.c.h
@@ -263,10 +263,7 @@
STAT_INC(BINARY_OP, hit);
double dprod = ((PyFloatObject *)left)->ob_fval *
((PyFloatObject *)right)->ob_fval;
- prod = PyFloat_FromDouble(dprod);
- _Py_DECREF_SPECIALIZED(right, _PyFloat_ExactDealloc);
- _Py_DECREF_SPECIALIZED(left, _PyFloat_ExactDealloc);
- if (prod == NULL) goto pop_2_error;
+ DECREF_INPUTS_AND_REUSE_FLOAT(left, right, dprod, prod);
STACK_SHRINK(1);
stack_pointer[-1] = prod;
next_instr += 1;
@@ -300,10 +297,7 @@
DEOPT_IF(!PyFloat_CheckExact(right), BINARY_OP);
STAT_INC(BINARY_OP, hit);
double dsub = ((PyFloatObject *)left)->ob_fval - ((PyFloatObject *)right)->ob_fval;
- sub = PyFloat_FromDouble(dsub);
- _Py_DECREF_SPECIALIZED(right, _PyFloat_ExactDealloc);
- _Py_DECREF_SPECIALIZED(left, _PyFloat_ExactDealloc);
- if (sub == NULL) goto pop_2_error;
+ DECREF_INPUTS_AND_REUSE_FLOAT(left, right, dsub, sub);
STACK_SHRINK(1);
stack_pointer[-1] = sub;
next_instr += 1;
@@ -372,10 +366,7 @@
STAT_INC(BINARY_OP, hit);
double dsum = ((PyFloatObject *)left)->ob_fval +
((PyFloatObject *)right)->ob_fval;
- sum = PyFloat_FromDouble(dsum);
- _Py_DECREF_SPECIALIZED(right, _PyFloat_ExactDealloc);
- _Py_DECREF_SPECIALIZED(left, _PyFloat_ExactDealloc);
- if (sum == NULL) goto pop_2_error;
+ DECREF_INPUTS_AND_REUSE_FLOAT(left, right, dsum, sum);
STACK_SHRINK(1);
stack_pointer[-1] = sum;
next_instr += 1;