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.h22
1 files changed, 11 insertions, 11 deletions
diff --git a/Python/generated_cases.c.h b/Python/generated_cases.c.h
index 487e63d..2987adc 100644
--- a/Python/generated_cases.c.h
+++ b/Python/generated_cases.c.h
@@ -2756,28 +2756,28 @@
TARGET(FOR_ITER_RANGE) {
PyObject *iter = PEEK(1);
+ PyObject *next;
assert(cframe.use_tracing == 0);
_PyRangeIterObject *r = (_PyRangeIterObject *)iter;
DEOPT_IF(Py_TYPE(r) != &PyRangeIter_Type, FOR_ITER);
STAT_INC(FOR_ITER, hit);
- _Py_CODEUNIT next = next_instr[INLINE_CACHE_ENTRIES_FOR_ITER];
- assert(_PyOpcode_Deopt[next.op.code] == STORE_FAST);
if (r->len <= 0) {
STACK_SHRINK(1);
Py_DECREF(r);
// Jump over END_FOR instruction.
JUMPBY(INLINE_CACHE_ENTRIES_FOR_ITER + oparg + 1);
+ DISPATCH();
}
- else {
- long value = r->start;
- r->start = value + r->step;
- r->len--;
- if (_PyLong_AssignValue(&GETLOCAL(next.op.arg), value) < 0) {
- goto error;
- }
- // The STORE_FAST is already done.
- JUMPBY(INLINE_CACHE_ENTRIES_FOR_ITER + 1);
+ long value = r->start;
+ r->start = value + r->step;
+ r->len--;
+ next = PyLong_FromLong(value);
+ if (next == NULL) {
+ goto error;
}
+ STACK_GROW(1);
+ POKE(1, next);
+ JUMPBY(1);
DISPATCH();
}