Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(385)

Side by Side Diff: src/pkg/runtime/cgo/asm_arm.s

Issue 109050043: code review 109050043: all: remove 'extern register M *m' from runtime (Closed)
Patch Set: diff -r 7d2e78c502ab https://code.google.com/p/go/ Created 10 years, 9 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2012 The Go Authors. All rights reserved. 1 // Copyright 2012 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 "../../../cmd/ld/textflag.h" 5 #include "../../../cmd/ld/textflag.h"
6 6
7 /* 7 /*
8 * void crosscall2(void (*fn)(void*, int32), void*, int32) 8 * void crosscall2(void (*fn)(void*, int32), void*, int32)
9 * Save registers and call fn with two arguments. 9 * Save registers and call fn with two arguments.
10 */ 10 */
11 TEXT crosscall2(SB),NOSPLIT,$-4 11 TEXT crosscall2(SB),NOSPLIT,$-4
12 /*· 12 /*·
13 * We still need to save all callee save register as before, and then 13 * We still need to save all callee save register as before, and then
14 * push 2 args for fn (R1 and R2). 14 * push 2 args for fn (R1 and R2).
15 * Also note that at procedure entry in 5c/5g world, 4(R13) will be the 15 * Also note that at procedure entry in 5c/5g world, 4(R13) will be the
16 * first arg, so we must push another dummy reg (R0) for 0(R13). 16 * first arg, so we must push another dummy reg (R0) for 0(R13).
17 * Additionally, runtime·load_gm will clobber R0, so we need to save R0 17 * Additionally, runtime·load_gm will clobber R0, so we need to save R0
18 * nevertheless. 18 * nevertheless.
19 */ 19 */
20 » MOVM.WP»[R0, R1, R2, R4, R5, R6, R7, R8, m, g, R11, R12, R14], (R13) 20 » MOVM.WP»[R0, R1, R2, R4, R5, R6, R7, R8, R9, g, R11, R12, R14], (R13)
21 BL runtime·load_gm(SB) 21 BL runtime·load_gm(SB)
minux 2014/06/16 21:32:11 s/load_gm/load_g/
rsc 2014/06/24 20:08:17 Done.
22 MOVW PC, R14 22 MOVW PC, R14
23 MOVW 0(R13), PC 23 MOVW 0(R13), PC
24 » MOVM.IAW» (R13), [R0, R1, R2, R4, R5, R6, R7, R8, m, g, R11, R12, PC] 24 » MOVM.IAW» (R13), [R0, R1, R2, R4, R5, R6, R7, R8, R9, g, R11, R12, PC]
OLDNEW

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b