1
0
mirror of https://github.com/golang/go synced 2024-11-12 10:20:27 -07:00

cmd/5l: fix handling of RET.EQ in wrapper function

Keith is too clever for me.

R=ken2
CC=golang-dev, khr
https://golang.org/cl/13272050
This commit is contained in:
Russ Cox 2013-09-13 03:50:50 +00:00
parent 27cb23ceb1
commit 3acddba2ec

View File

@ -321,6 +321,13 @@ noops(void)
}
if(cursym->text->reg & WRAPPER) {
int cond;
// Preserve original RET's cond, to allow RET.EQ
// in the implementation of reflect.call.
cond = p->scond;
p->scond = C_SCOND_NONE;
// g->panicwrap -= autosize;
// MOVW panicwrap_offset(g), R3
// SUB $autosize, R3
@ -347,6 +354,8 @@ noops(void)
p->to.reg = REGG;
p->to.offset = 2*PtrSize;
p = appendp(p);
p->scond = cond;
}
p->as = AMOVW;