v0.11.0-alpha.5 5faf54b

abi_loong64.h RawHistoryFolder

1// Copyright 2022 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// Macros for transitioning from the host ABI to Go ABI0.
6//
7// These macros save and restore the callee-saved registers
8// from the stack, but they don't adjust stack pointer, so
9// the user should prepare stack space in advance.
10// SAVE_R22_TO_R31(offset) saves R22 ~ R31 to the stack space
11// of ((offset)+0*8)(R3) ~ ((offset)+9*8)(R3).
12//
13// SAVE_F24_TO_F31(offset) saves F24 ~ F31 to the stack space
14// of ((offset)+0*8)(R3) ~ ((offset)+7*8)(R3).
15//
16// Note: g is R22
17
18#define SAVE_R22_TO_R31(offset)	\
19	MOVV	g,   ((offset)+(0*8))(R3)	\
20	MOVV	R23, ((offset)+(1*8))(R3)	\
21	MOVV	R24, ((offset)+(2*8))(R3)	\
22	MOVV	R25, ((offset)+(3*8))(R3)	\
23	MOVV	R26, ((offset)+(4*8))(R3)	\
24	MOVV	R27, ((offset)+(5*8))(R3)	\
25	MOVV	R28, ((offset)+(6*8))(R3)	\
26	MOVV	R29, ((offset)+(7*8))(R3)	\
27	MOVV	R30, ((offset)+(8*8))(R3)	\
28	MOVV	R31, ((offset)+(9*8))(R3)
29
30#define SAVE_F24_TO_F31(offset)	\
31	MOVD	F24, ((offset)+(0*8))(R3)	\
32	MOVD	F25, ((offset)+(1*8))(R3)	\
33	MOVD	F26, ((offset)+(2*8))(R3)	\
34	MOVD	F27, ((offset)+(3*8))(R3)	\
35	MOVD	F28, ((offset)+(4*8))(R3)	\
36	MOVD	F29, ((offset)+(5*8))(R3)	\
37	MOVD	F30, ((offset)+(6*8))(R3)	\
38	MOVD	F31, ((offset)+(7*8))(R3)
39
40#define RESTORE_R22_TO_R31(offset)	\
41	MOVV	((offset)+(0*8))(R3),  g	\
42	MOVV	((offset)+(1*8))(R3), R23	\
43	MOVV	((offset)+(2*8))(R3), R24	\
44	MOVV	((offset)+(3*8))(R3), R25	\
45	MOVV	((offset)+(4*8))(R3), R26	\
46	MOVV	((offset)+(5*8))(R3), R27	\
47	MOVV	((offset)+(6*8))(R3), R28	\
48	MOVV	((offset)+(7*8))(R3), R29	\
49	MOVV	((offset)+(8*8))(R3), R30	\
50	MOVV	((offset)+(9*8))(R3), R31
51
52#define RESTORE_F24_TO_F31(offset)	\
53	MOVD	((offset)+(0*8))(R3), F24	\
54	MOVD	((offset)+(1*8))(R3), F25	\
55	MOVD	((offset)+(2*8))(R3), F26	\
56	MOVD	((offset)+(3*8))(R3), F27	\
57	MOVD	((offset)+(4*8))(R3), F28	\
58	MOVD	((offset)+(5*8))(R3), F29	\
59	MOVD	((offset)+(6*8))(R3), F30	\
60	MOVD	((offset)+(7*8))(R3), F31

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