• Dmitriy Vyukov's avatar
    runtime: use gcpc/gcsp during traceback of goroutines in syscalls · 9c0500b4
    Dmitriy Vyukov authored
    gcpc/gcsp are used by GC in similar situation.
    gcpc/gcsp are also more stable than gp->sched,
    because gp->sched is mutated by entersyscall/exitsyscall
    in morestack and mcall. So it has higher chances of being inconsistent.
    Also, rename gcpc/gcsp to syscallpc/syscallsp.
    
    This is the same as reverted change 12250043
    with save marked as textflag 7.
    The problem was that if save calls morestack,
    then subsequent lessstack spoils g->sched.pc/sp.
    And that bad values were remembered in g->syscallpc/sp.
    Entersyscallblock had the same problem,
    but it was never triggered to date.
    
    R=golang-dev, rsc
    CC=golang-dev
    https://golang.org/cl/12478043
    9c0500b4
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...