pp. 213--227, 1997.
[^2]: The Zephyr Abstract Syntax Description Language.:
- https://www.cs.princeton.edu/research/techreps/TR-554-97
+ https://www.cs.princeton.edu/research/techreps/254
The [`FOR_ITER`](https://docs.python.org/dev/library/dis.html#opcode-FOR_ITER)
instruction calls `__next__` on the iterator which is on the top of the stack,
-and pushes the result to the stack. It has [`specializations`](adaptive.md)
+and pushes the result to the stack. It has [`specializations`](interpreter.md)
for a few common iterator types, including `FOR_ITER_GEN`, for iterating over
a generator. `FOR_ITER_GEN` bypasses the call to `__next__`, and instead
directly pushes the generator stack and resumes its execution from the
[`--enable-experimental-jit`](https://docs.python.org/dev/using/configure.html#cmdoption-enable-experimental-jit),
the uop executor's `jit_code` field is populated with a pointer to a compiled
C function that implements the executor logic. This function's signature is
-defined by `jit_func` in [`pycore_jit.h`](Include/internal/pycore_jit.h).
+defined by `jit_func` in [`pycore_jit.h`](../Include/internal/pycore_jit.h).
When the executor is invoked by `ENTER_EXECUTOR`, instead of jumping to
the uop interpreter at `tier2_dispatch`, the executor runs the function
that `jit_code` points to. This function returns the instruction pointer