1
0
mirror of https://github.com/golang/go synced 2024-11-20 02:34:42 -07:00

runtime: close TODO now that 8c bug is fixed

R=r
CC=golang-dev
https://golang.org/cl/183138
This commit is contained in:
Russ Cox 2010-01-06 19:24:11 -08:00
parent fce5d60b38
commit 74a9fc18f6
2 changed files with 5 additions and 23 deletions

View File

@ -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;
@ -94,10 +90,6 @@ 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;
// 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;

View File

@ -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);