aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/runtime/traceback.go18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/runtime/traceback.go b/src/runtime/traceback.go
index ed64343470..8ecddc8935 100644
--- a/src/runtime/traceback.go
+++ b/src/runtime/traceback.go
@@ -167,20 +167,22 @@ func gentraceback(pc0, sp0, lr0 uintptr, gp *g, skip int, pcbuf *uintptr, max in
// This keeps morestack() from showing up in the backtrace,
// but that makes some sense since it'll never be returned
// to.
- frame.pc = gp.m.curg.sched.pc
+ gp = gp.m.curg
+ frame.pc = gp.sched.pc
frame.fn = findfunc(frame.pc)
f = frame.fn
flag = f.flag
- frame.lr = gp.m.curg.sched.lr
- frame.sp = gp.m.curg.sched.sp
- stack = gp.m.curg.stack
- cgoCtxt = gp.m.curg.cgoCtxt
+ frame.lr = gp.sched.lr
+ frame.sp = gp.sched.sp
+ stack = gp.stack
+ cgoCtxt = gp.cgoCtxt
case funcID_systemstack:
// systemstack returns normally, so just follow the
// stack transition.
- frame.sp = gp.m.curg.sched.sp
- stack = gp.m.curg.stack
- cgoCtxt = gp.m.curg.cgoCtxt
+ gp = gp.m.curg
+ frame.sp = gp.sched.sp
+ stack = gp.stack
+ cgoCtxt = gp.cgoCtxt
flag &^= funcFlag_SPWRITE
}
}