1
0
mirror of https://github.com/golang/go synced 2024-09-24 21:20:13 -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:
Rémy Oudompheng 2014-03-13 08:12:38 +01:00
parent 6a6224c88d
commit 741244e433

View File

@ -30,11 +30,11 @@ defframe(Prog *ptxt)
// when it looks for pointers.
p = ptxt;
if(stkzerosize > 0) {
p = appendpp(p, AMOVQ, D_CONST, 0, D_AX, 0);
p = appendpp(p, AMOVQ, D_CONST, stkzerosize/widthptr, D_CX, 0);
p = appendpp(p, ALEAQ, D_SP+D_INDIR, frame-stkzerosize, D_DI, 0);
p = appendpp(p, movptr, D_CONST, 0, D_AX, 0);
p = appendpp(p, movptr, D_CONST, stkzerosize/widthptr, D_CX, 0);
p = appendpp(p, leaptr, D_SP+D_INDIR, frame-stkzerosize, D_DI, 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);
}
}