Descriptionruntime: use gcpc/gcsp during traceback of goroutines in syscalls
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.
Patch Set 1 #Patch Set 2 : diff -r ffe930a195f4 https://go.googlecode.com/hg/ #Patch Set 3 : diff -r ffe930a195f4 https://go.googlecode.com/hg/ #Patch Set 4 : diff -r 6294f3ca30e1 https://go.googlecode.com/hg/ #Patch Set 5 : diff -r 6294f3ca30e1 https://go.googlecode.com/hg/ #
MessagesTotal messages: 3
|