• Russ Cox's avatar
    runtime: fix arm reflect.call boundary case · 141a4a17
    Russ Cox authored
    The fault was lucky: when it wasn't faulting it was silently
    copying a word from some other block and later putting
    that same word back.  If some other goroutine had changed
    that word of memory in the interim, too bad.
    
    The ARM code was inconsistent about whether the
    "argument frame" included the saved LR.  Including it made
    some things more regular but mostly just caused confusion
    in the places where the regularity broke.  Now the rule
    reflects reality: argp is always a pointer to arguments,
    never a saved link register.
    
    Renamed struct fields to make meaning clearer.
    
    Running ARM in QEMU, package time's gotest:
      * before: 27/58 failed
      * after: 0/50
    
    R=r, r2
    CC=golang-dev
    https://golang.org/cl/3993041
    141a4a17
Name
Last commit
Last update
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...