mirror of
https://github.com/golang/go
synced 2024-09-24 21:10:12 -06:00
cmd/6g: fix stack zeroing preamble on amd64p32.
It was using a REP STOSQ but putting in CX the number of 32-bit words to clear. LGTM=dave R=rsc, dave CC=golang-codereviews https://golang.org/cl/75240043
This commit is contained in:
parent
6a6224c88d
commit
741244e433
@ -30,11 +30,11 @@ defframe(Prog *ptxt)
|
|||||||
// when it looks for pointers.
|
// when it looks for pointers.
|
||||||
p = ptxt;
|
p = ptxt;
|
||||||
if(stkzerosize > 0) {
|
if(stkzerosize > 0) {
|
||||||
p = appendpp(p, AMOVQ, D_CONST, 0, D_AX, 0);
|
p = appendpp(p, movptr, D_CONST, 0, D_AX, 0);
|
||||||
p = appendpp(p, AMOVQ, D_CONST, stkzerosize/widthptr, D_CX, 0);
|
p = appendpp(p, movptr, D_CONST, stkzerosize/widthptr, D_CX, 0);
|
||||||
p = appendpp(p, ALEAQ, D_SP+D_INDIR, frame-stkzerosize, D_DI, 0);
|
p = appendpp(p, leaptr, D_SP+D_INDIR, frame-stkzerosize, D_DI, 0);
|
||||||
p = appendpp(p, AREP, D_NONE, 0, D_NONE, 0);
|
p = appendpp(p, AREP, D_NONE, 0, D_NONE, 0);
|
||||||
appendpp(p, ASTOSQ, D_NONE, 0, D_NONE, 0);
|
appendpp(p, stosptr, D_NONE, 0, D_NONE, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user