• Russ Cox's avatar
    runtime: refactor/fix asmcgocall/asmcgocall_errno · cb767247
    Russ Cox authored
    Instead of making asmcgocall call asmcgocall_errno,
    make both load args into registers and call a shared
    assembly function.
    
    On amd64, this costs 1 word in the asmcgocall_errno path
    but saves 3 words in the asmcgocall path, and the latter
    is what happens on critical nosplit paths on Windows.
    
    On arm, this fixes build failures: asmcgocall was writing
    the arguments for asmcgocall_errno into the wrong
    place on the stack. Passing them in registers avoids the
    decision entirely.
    
    On 386, this isn't really needed, since the nosplit paths
    have twice as many words to work with, but do it for consistency.
    
    Update #8635
    Fixes arm build (except GOARM=5).
    
    TBR=iant
    CC=golang-codereviews
    https://golang.org/cl/134390043
    cb767247
Name
Last commit
Last update
api Loading commit data...
doc Loading commit data...
include Loading commit data...
lib Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.hgignore Loading commit data...
.hgtags Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...