Commit 741244e4 authored by Rémy Oudompheng's avatar Rémy Oudompheng

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
parent 6a6224c8
......@@ -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);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment