[pypy-issue] [issue1461] new style class recursive __call__ doesn't trigger a RuntimeError on windows

Maciej Fijalkowski fijall at gmail.com
Tue Apr 23 14:48:13 CEST 2013


On Tue, Apr 23, 2013 at 9:34 AM, Armin Rigo <tracker at bugs.pypy.org> wrote:
>
> Armin Rigo <armin.rigo at gmail.com> added the comment:
>
> The reason is in rpython/translator/c/src/stack.h: you need a macro
> PYPY_INHIBIT_TAIL_CALL().  Without it, the C code compiles too many tail calls.
>  This test is precisely checking a particular path that does only tail calls at
> the C levels.  An optimizing compiler replaces them all with jumps, and then
> runs the seemingly infinite number of nested C calls in a finite amount of C stack.
>
> There are probably portable ways to write the macro.
>
> ----------
> nosy: +arigo
>

To be honest, is it actually a bad thing?


More information about the pypy-issue mailing list