From 1ba977ccca9c6434e96c39a3099ba8100edb1a88 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Fri, 17 Oct 2014 10:11:03 -0400 Subject: [PATCH] undo CL 159990043 / 421fadcef39a MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Dmitriy believes this broke Windows. It looks like build.golang.org stopped before that, but it's worth a shot. ««« original CL description runtime: make pprof a little nicer Update #8942 This does not fully address issue 8942 but it does make the profiles much more useful, until that issue can be fixed completely. LGTM=dvyukov R=r, dvyukov CC=golang-codereviews https://golang.org/cl/159990043 »»» TBR=dvyukov CC=golang-codereviews https://golang.org/cl/160030043 --- src/runtime/proc.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/src/runtime/proc.c b/src/runtime/proc.c index 332121e903..1426790f40 100644 --- a/src/runtime/proc.c +++ b/src/runtime/proc.c @@ -2436,7 +2436,7 @@ extern byte runtime·etext[]; void runtime·sigprof(uint8 *pc, uint8 *sp, uint8 *lr, G *gp, M *mp) { - int32 n, off; + int32 n; bool traceback; // Do not use global m in this function, use mp instead. // On windows one m is sending reports about all the g's, so m means a wrong thing. @@ -2530,20 +2530,9 @@ runtime·sigprof(uint8 *pc, uint8 *sp, uint8 *lr, G *gp, M *mp) ((uint8*)runtime·gogo <= pc && pc < (uint8*)runtime·gogo + RuntimeGogoBytes)) traceback = false; - off = 0; - if(gp == mp->g0 && mp->curg != nil) { - stk[0] = (uintptr)pc; - off = 1; - gp = mp->curg; - pc = (uint8*)gp->sched.pc; - sp = (uint8*)gp->sched.sp; - lr = 0; - traceback = true; - } - n = 0; if(traceback) - n = runtime·gentraceback((uintptr)pc, (uintptr)sp, (uintptr)lr, gp, 0, stk+off, nelem(stk)-off, nil, nil, false); + n = runtime·gentraceback((uintptr)pc, (uintptr)sp, (uintptr)lr, gp, 0, stk, nelem(stk), nil, nil, false); if(!traceback || n <= 0) { // Normal traceback is impossible or has failed. // See if it falls into several common cases. -- 2.48.1