https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77938
--- Comment #1 from Ivan Sorokin <vanyacpp at gmail dot com> ---
The generated code for caller is the following:

caller():
        sub     rsp, 24

        lea     rdi, [rsp+12]
        call    escape(int&)

        call    callee()

        add     rsp, 24
        ret

As you can see callee() is the regular call, not a jump.

P.S. Another strange thing is that the stack frame for this function is much
bigger than I expected (24 instead of 8). I'm not a expert in the ABI, is it
the expected behavior?

Reply via email to