• Russ Cox's avatar
    cmd/5l, cmd/6l, cmd/8l: accept CALL reg, reg · d57fcbf0
    Russ Cox authored
    The new src argument is ignored during linking
    (that is, CALL r1, r2 is identical to CALL r2 for linking),
    but it serves as a hint to the 5g/6g/8g optimizer
    that the src register is live on entry to the called
    function and must be preserved.
    
    It is possible to avoid exposing this fact to the rest of
    the toolchain, keeping it entirely within 5g/6g/8g,
    but I think it will help to be able to look in object files
    and assembly listings and linker -a / -W output to
    see CALL instructions are "Go func value" calls and
    which are "C function pointer" calls.
    
    R=ken2
    CC=golang-dev
    https://golang.org/cl/7364045
    d57fcbf0
optab.c 9.65 KB