LEFT | RIGHT |
(no file at all) | |
1 // Copyright 2009 The Go Authors. All rights reserved. | 1 // Copyright 2009 The Go Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style | 2 // Use of this source code is governed by a BSD-style |
3 // license that can be found in the LICENSE file. | 3 // license that can be found in the LICENSE file. |
4 | 4 |
5 #include "zasm_GOOS_GOARCH.h" | 5 #include "go_asm.h" |
| 6 #include "go_tls.h" |
6 #include "funcdata.h" | 7 #include "funcdata.h" |
7 #include "textflag.h" | 8 #include "textflag.h" |
8 | 9 |
9 // using frame size $-4 means do not save LR on stack. | 10 // using frame size $-4 means do not save LR on stack. |
10 TEXT runtime·rt0_go(SB),NOSPLIT,$-4 | 11 TEXT runtime·rt0_go(SB),NOSPLIT,$-4 |
11 MOVW $0xcafebabe, R12 | 12 MOVW $0xcafebabe, R12 |
12 | 13 |
13 // copy arguments forward on an even stack | 14 // copy arguments forward on an even stack |
14 // use R13 instead of SP to avoid linker rewriting the offsets | 15 // use R13 instead of SP to avoid linker rewriting the offsets |
15 MOVW 0(R13), R0 // argc | 16 MOVW 0(R13), R0 // argc |
(...skipping 1303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1319 ········ | 1320 ········ |
1320 MOVW saveG-8(SP), g | 1321 MOVW saveG-8(SP), g |
1321 MOVW saveR11-4(SP), R11 | 1322 MOVW saveR11-4(SP), R11 |
1322 RET | 1323 RET |
1323 | 1324 |
1324 // The top-most function running on a goroutine | 1325 // The top-most function running on a goroutine |
1325 // returns to goexit+PCQuantum. | 1326 // returns to goexit+PCQuantum. |
1326 TEXT runtime·goexit(SB),NOSPLIT,$-4-0 | 1327 TEXT runtime·goexit(SB),NOSPLIT,$-4-0 |
1327 MOVW R0, R0 // NOP | 1328 MOVW R0, R0 // NOP |
1328 BL runtime·goexit1(SB) // does not return | 1329 BL runtime·goexit1(SB) // does not return |
| 1330 |
| 1331 TEXT runtime·getg(SB),NOSPLIT,$-4-4 |
| 1332 MOVW g, ret+0(FP) |
| 1333 RET |
LEFT | RIGHT |