v0.10.2 7f6f138

asm_arm.s RawHistoryFolder

1// Copyright 2012 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#include "textflag.h"
6
7// Called by C code generated by cmd/cgo.
8// func crosscall2(fn, a unsafe.Pointer, n int32, ctxt uintptr)
9// Saves C callee-saved registers and calls cgocallback with three arguments.
10// fn is the PC of a func(a unsafe.Pointer) function.
11TEXT crosscall2(SB), NOSPLIT|NOFRAME, $0
12	SUB $(8*9), R13 // Reserve space for the floating point registers.
13
14	// The C arguments arrive in R0, R1, R2, and R3. We want to
15	// pass R0, R1, and R3 to Go, so we push those on the stack.
16	// Also, save C callee-save registers R4-R12.
17	MOVM.WP [R0, R1, R3, R4, R5, R6, R7, R8, R9, g, R11, R12], (R13)
18
19	// Finally, save the link register R14. This also puts the
20	// arguments we pushed for cgocallback where they need to be,
21	// starting at 4(R13).
22	MOVW.W R14, -4(R13)
23
24	// Save VFP callee-saved registers D8-D15 (same as S16-S31).
25	// Note: We always save these since we target hard-float ABI.
26	MOVD F8, (13*4+8*1)(R13)
27	MOVD F9, (13*4+8*2)(R13)
28	MOVD F10, (13*4+8*3)(R13)
29	MOVD F11, (13*4+8*4)(R13)
30	MOVD F12, (13*4+8*5)(R13)
31	MOVD F13, (13*4+8*6)(R13)
32	MOVD F14, (13*4+8*7)(R13)
33	MOVD F15, (13*4+8*8)(R13)
34
35	BL runtime·load_g(SB)
36
37	// We set up the arguments to cgocallback when saving registers above.
38	BL runtime·cgocallback(SB)
39
40	MOVD (13*4+8*1)(R13), F8
41	MOVD (13*4+8*2)(R13), F9
42	MOVD (13*4+8*3)(R13), F10
43	MOVD (13*4+8*4)(R13), F11
44	MOVD (13*4+8*5)(R13), F12
45	MOVD (13*4+8*6)(R13), F13
46	MOVD (13*4+8*7)(R13), F14
47	MOVD (13*4+8*8)(R13), F15
48
49	MOVW.P   4(R13), R14
50	MOVM.IAW (R13), [R0, R1, R3, R4, R5, R6, R7, R8, R9, g, R11, R12]
51	ADD      $(8*9), R13
52	MOVW     R14, R15

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 102

↑↓ moveenter openesc close