From: Russ Cox Date: Thu, 7 Jan 2010 03:24:11 +0000 (-0800) Subject: runtime: close TODO now that 8c bug is fixed X-Git-Tag: weekly.2010-01-13~56 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=74a9fc18f62c690d53d59a5da32dea27c6abfd27;p=gostls13.git runtime: close TODO now that 8c bug is fixed R=r CC=golang-dev https://golang.org/cl/183138 --- diff --git a/src/pkg/runtime/mgc0.c b/src/pkg/runtime/mgc0.c index 91898270d2..f0eafe3fd6 100644 --- a/src/pkg/runtime/mgc0.c +++ b/src/pkg/runtime/mgc0.c @@ -73,12 +73,8 @@ scanstack(G *gp) { Stktop *stk; byte *sp; - // TODO(rsc): Change 8g not to assume that extern register - // variables are directly addressable. Declaring the - // local variable here works around the bug. - G* gg = g; - if(gp == gg) + if(gp == g) sp = (byte*)&gp; else sp = gp->sched.sp; @@ -93,11 +89,7 @@ scanstack(G *gp) static void mark(void) { - G* gp; - // TODO(rsc): Change 8g not to assume that extern register - // variables are directly addressable. Declaring the - // local variable here works around the bug. - G* gg = g; + G *gp; // mark data+bss. // skip mheap itself, which has no interesting pointers @@ -114,7 +106,7 @@ mark(void) case Gdead: break; case Grunning: - if(gp != gg) + if(gp != g) throw("mark - world not stopped"); scanstack(gp); break; diff --git a/src/pkg/runtime/proc.c b/src/pkg/runtime/proc.c index 8dc9243261..6ac4090ebe 100644 --- a/src/pkg/runtime/proc.c +++ b/src/pkg/runtime/proc.c @@ -388,12 +388,7 @@ starttheworld(void) void mstart(void) { - // TODO(rsc): Change 8g not to assume that extern register - // variables are directly addressable. Declaring the - // local variable here works around the bug. - G* gg = g; - - if(gg != m->g0) + if(g != m->g0) throw("bad mstart"); if(m->mcache == nil) m->mcache = allocmcache(); @@ -524,12 +519,7 @@ scheduler(void) void gosched(void) { - // TODO(rsc): Change 8g not to assume that extern register - // variables are directly addressable. Declaring the - // local variable here works around the bug. - G* gg = g; - - if(gg == m->g0) + if(g == m->g0) throw("gosched of g0"); if(gosave(&g->sched) == 0) gogo(&m->sched, 1);