| 1 | // Copyright 2020 The Go Authors. All rights reserved. |
|---|---|
| 2 | // Use of this source code is governed by a BSD-style |
| 3 | // license that can be found in the LICENSE file. |
| 4 | |
| 5 | TEXT ·bad1(SB), 0, $0 |
| 6 | MOVQ $0, BP // want `frame pointer is clobbered before saving` |
| 7 | RET |
| 8 | TEXT ·bad2(SB), 0, $0 |
| 9 | MOVQ AX, BP // want `frame pointer is clobbered before saving` |
| 10 | RET |
| 11 | TEXT ·bad3(SB), 0, $0 |
| 12 | MOVQ 6(AX), BP // want `frame pointer is clobbered before saving` |
| 13 | RET |
| 14 | TEXT ·good1(SB), 0, $0 |
| 15 | PUSHQ BP |
| 16 | MOVQ $0, BP // this is ok |
| 17 | POPQ BP |
| 18 | RET |
| 19 | TEXT ·good2(SB), 0, $0 |
| 20 | MOVQ BP, BX |
| 21 | MOVQ $0, BP // this is ok |
| 22 | MOVQ BX, BP |
| 23 | RET |
| 24 | TEXT ·good3(SB), 0, $0 |
| 25 | CMPQ AX, BX |
| 26 | JEQ skip |
| 27 | MOVQ $0, BP // this is ok |
| 28 | skip: |
| 29 | RET |
| 30 | TEXT ·good4(SB), 0, $0 |
| 31 | RET |
| 32 | MOVQ $0, BP // this is ok |
| 33 | RET |
| 34 | TEXT ·good5(SB), 0, $8 |
| 35 | MOVQ $0, BP // this is ok |
| 36 | RET |
| 37 |
Members