v0.1.0 786906f

trampolines_arm64.s RawHistoryFolder

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: 2022 The Ebitengine Authors
3
4//go:build darwin
5// +build darwin
6
7#include "textflag.h"
8#include "go_asm.h"
9
10// these trampolines map the gcc ABI to Go ABI and then calls into the Go equivalent functions.
11
12// TODO: put <> to make these private
13TEXT x_cgo_init_trampoline(SB), NOSPLIT, $0-0
14	MOVD R0, 8(RSP)
15	MOVD R1, 16(RSP)
16	CALL ·x_cgo_init(SB)
17	RET
18
19TEXT x_cgo_thread_start_trampoline(SB), NOSPLIT, $0-0
20	MOVD R0, 8(RSP)
21	CALL ·x_cgo_thread_start(SB)
22	RET
23
24TEXT x_cgo_setenv_trampoline(SB), NOSPLIT, $0-0
25	MOVD R0, 8(RSP)
26	CALL ·x_cgo_setenv(SB)
27	RET
28
29TEXT x_cgo_unsetenv_trampoline(SB), NOSPLIT, $0-0
30	MOVD R0, 8(RSP)
31	CALL ·x_cgo_unsetenv(SB)
32	RET
33
34TEXT x_cgo_notify_runtime_init_done_trampoline(SB), NOSPLIT, $0-0
35	CALL ·x_cgo_notify_runtime_init_done(SB)
36	RET
37
38// func setg_trampoline(setg uintptr, g uintptr)
39TEXT ·setg_trampoline(SB), NOSPLIT, $0-16
40	MOVD G+8(FP), R0
41	MOVD setg+0(FP), R1
42	CALL R1
43	RET
44
45TEXT threadentry_trampoline(SB), NOSPLIT, $0-0
46	MOVD R0, 8(RSP)
47	CALL ·threadentry(SB)
48	MOVD $0, R0           // TODO: get the return value from threadentry
49	RET
50
51TEXT ·setenv(SB), NOSPLIT, $0-0
52	MOVD name+0(FP), R0
53	MOVD value+8(FP), R1
54	MOVD overwrite+16(FP), R2
55	CALL libc_setenv(SB)
56	MOVD R0, ret+24(FP)
57	RET
58
59TEXT ·unsetenv(SB), NOSPLIT, $0-0
60	MOVD name+0(FP), R0
61	CALL libc_unsetenv(SB)
62	MOVD R0, ret+8(FP)
63	RET
64
65TEXT ·malloc(SB), NOSPLIT, $0-0
66	MOVD size+0(FP), R0
67	CALL libc_malloc(SB)
68	MOVD R0, ret+8(FP)
69	RET
70
71TEXT ·free(SB), NOSPLIT, $0-0
72	MOVD ptr+0(FP), R0
73	CALL libc_free(SB)
74	RET
75
76TEXT ·pthread_attr_init(SB), NOSPLIT, $0-12
77	MOVD attr+0(FP), R0
78	CALL libc_pthread_attr_init(SB)
79	MOVD R0, ret+8(FP)
80	RET
81
82TEXT ·pthread_detach(SB), NOSPLIT, $0-12
83	MOVD thread+0(FP), R0
84	CALL libc_pthread_detach(SB)
85	MOVD R0, ret+8(FP)
86	RET
87
88TEXT ·pthread_create(SB), NOSPLIT, $0-36
89	MOVD thread+0(FP), R0
90	MOVD attr+8(FP), R1
91	MOVD start+16(FP), R2
92	MOVD arg+24(FP), R3
93	CALL libc_pthread_create(SB)
94	MOVD R0, ret+32(FP)
95	RET
96
97TEXT ·pthread_attr_destroy(SB), NOSPLIT, $0-0
98	MOVD attr+0(FP), R0
99	CALL libc_pthread_attr_destroy(SB)
100	MOVD R0, ret+8(FP)
101	RET
102
103TEXT ·pthread_attr_getstacksize(SB), NOSPLIT, $0-0
104	MOVD attr+0(FP), R0
105	MOVD stacksize+8(FP), R1
106	CALL libc_pthread_attr_getstacksize(SB)
107	MOVD R0, ret+16(FP)
108	RET
109
110TEXT ·pthread_sigmask(SB), NOSPLIT, $0-0
111	MOVD how+0(FP), R0
112	MOVD ign+8(FP), R1
113	MOVD oset+16(FP), R2
114	CALL libc_pthread_sigmask(SB)
115	MOVD R0, ret+24(FP)
116	RET
117
118TEXT ·abort(SB), NOSPLIT, $0-0
119	CALL libc_abort(SB)
120	RET
121
122TEXT ·sigfillset(SB), NOSPLIT, $0-12
123	MOVD set+0(FP), R0
124	CALL libc_sigfillset(SB)
125	MOVD R0, ret+8(FP)
126	RET
127
128TEXT ·nanosleep(SB), NOSPLIT, $0-20
129	MOVD ts+0(FP), R0
130	MOVD rem+8(FP), R1
131	CALL libc_nanosleep(SB)
132	MOVD R0, ret+16(FP)
133	RET

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