OXIESEC PANEL
- Current Dir:
/
/
opt
/
golang
/
1.19.4
/
src
/
runtime
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
馃搧
..
-
12/01/2022 06:13:58 PM
rwxr-xr-x
馃搫
HACKING.md
15.29 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
Makefile
178 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
abi_test.go
2.83 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
alg.go
9.45 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
align_runtime_test.go
2.73 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
align_test.go
5.26 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搧
asan
-
12/01/2022 06:13:56 PM
rwxr-xr-x
馃搫
asan.go
1.55 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
asan0.go
761 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
asan_amd64.s
2.46 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
asan_arm64.s
2.15 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
asan_riscv64.s
1.92 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
asm.s
278 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
asm_386.s
40.43 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
asm_amd64.h
411 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
asm_amd64.s
57.44 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
asm_arm.s
30.2 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
asm_arm64.s
41.41 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
asm_loong64.s
21.79 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
asm_mips64x.s
22.43 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
asm_mipsx.s
24.41 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
asm_ppc64x.h
1023 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
asm_ppc64x.s
35.21 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
asm_riscv64.s
26.43 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
asm_s390x.s
26.08 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
asm_wasm.s
9.38 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
atomic_arm64.s
259 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
atomic_loong64.s
245 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
atomic_mips64x.s
300 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
atomic_mipsx.s
262 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
atomic_pointer.go
2.62 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
atomic_ppc64x.s
437 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
atomic_riscv64.s
275 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
auxv_none.go
298 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
callers_test.go
8.44 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搧
cgo
-
12/01/2022 06:13:56 PM
rwxr-xr-x
馃搫
cgo.go
2 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
cgo_mmap.go
2.4 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
cgo_ppc64x.go
418 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
cgo_sigaction.go
3.28 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
cgocall.go
19.12 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
cgocallback.go
317 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
cgocheck.go
6.86 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
chan.go
23.73 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
chan_test.go
23.37 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
chanbarrier_test.go
1.4 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
checkptr.go
3.29 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
checkptr_test.go
2.73 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
closure_test.go
937 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
compiler.go
410 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
complex.go
1.59 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
complex_test.go
1.05 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
conv_wasm_test.go
2.96 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
cpuflags.go
810 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
cpuflags_amd64.go
533 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
cpuflags_arm64.go
334 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
cpuprof.go
7.78 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
cputicks.go
449 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
crash_cgo_test.go
18.14 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
crash_test.go
21.77 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
crash_unix_test.go
8.39 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搧
debug
-
12/01/2022 06:13:56 PM
rwxr-xr-x
馃搫
debug.go
3.23 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
debug_test.go
7.98 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
debugcall.go
6.19 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
debuglog.go
17.87 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
debuglog_off.go
357 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
debuglog_on.go
1.09 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
debuglog_test.go
4.56 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defer_test.go
11.56 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs1_linux.go
845 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs1_netbsd_386.go
2.83 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs1_netbsd_amd64.go
3.06 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs1_netbsd_arm.go
2.94 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs1_netbsd_arm64.go
3.17 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs1_solaris_amd64.go
4 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs2_linux.go
3.51 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs3_linux.go
1.09 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_aix.go
4.16 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_aix_ppc64.go
3.61 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_arm_linux.go
2.67 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_darwin.go
3.78 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_darwin_amd64.go
6.07 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_darwin_arm64.go
3.89 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_dragonfly.go
2.59 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_dragonfly_amd64.go
3.29 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_freebsd.go
3.82 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_freebsd_386.go
4.36 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_freebsd_amd64.go
4.63 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_freebsd_arm.go
3.69 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_freebsd_arm64.go
4.01 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_illumos_amd64.go
285 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_linux.go
3.25 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_linux_386.go
4.42 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_linux_amd64.go
4.93 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_linux_arm.go
4.11 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_linux_arm64.go
3.86 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_linux_loong64.go
3.68 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_linux_mips64x.go
3.85 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_linux_mipsx.go
3.83 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_linux_ppc64.go
3.93 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_linux_ppc64le.go
3.93 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_linux_riscv64.go
4.06 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_linux_s390x.go
3.41 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_netbsd.go
2.72 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_netbsd_386.go
855 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_netbsd_amd64.go
1.01 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_netbsd_arm.go
764 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_openbsd.go
3.09 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_openbsd_386.go
2.87 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_openbsd_amd64.go
3.07 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_openbsd_arm.go
2.99 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_openbsd_arm64.go
2.74 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_openbsd_mips64.go
2.64 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_plan9_386.go
1.63 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_plan9_amd64.go
1.82 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_plan9_arm.go
1.73 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_solaris.go
3.31 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_solaris_amd64.go
1004 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_windows.go
2.09 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_windows_386.go
1.98 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_windows_amd64.go
2.71 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_windows_arm.go
2.11 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
defs_windows_arm64.go
2.63 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
duff_386.s
8.24 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
duff_amd64.s
5.62 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
duff_arm.s
7.11 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
duff_arm64.s
5.27 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
duff_loong64.s
12 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
duff_mips64x.s
11.28 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
duff_ppc64x.s
7.06 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
duff_riscv64.s
11.4 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
duff_s390x.s
507 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
env_plan9.go
3 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
env_posix.go
1.79 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
env_test.go
1.16 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
error.go
9.21 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
example_test.go
1.55 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
export_aix_test.go
234 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
export_arm_test.go
226 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
export_darwin_test.go
382 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
export_debug_amd64_test.go
3.6 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
export_debug_arm64_test.go
3.49 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
export_debug_test.go
5.05 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
export_debuglog_test.go
1.24 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
export_linux_test.go
550 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
export_mmap_test.go
429 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
export_pipe2_test.go
310 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
export_pipe_test.go
219 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
export_solaris_test.go
282 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
export_test.go
38.87 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
export_unix_test.go
2.18 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
export_windows_test.go
677 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
extern.go
13.62 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
fastlog2.go
1.22 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
fastlog2_test.go
784 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
fastlog2table.go
904 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
float.go
1.35 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
float_test.go
699 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
funcdata.h
2.55 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
gc_test.go
20.04 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
gcinfo_test.go
5.59 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
go_tls.h
366 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
hash32.go
1.58 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
hash64.go
1.95 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
hash_test.go
16.77 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
heapdump.go
17.65 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
histogram.go
6.19 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
histogram_test.go
3.42 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
iface.go
15.66 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
iface_test.go
7.45 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搧
internal
-
12/01/2022 06:13:56 PM
rwxr-xr-x
馃搫
lfstack.go
1.77 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
lfstack_32bit.go
532 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
lfstack_64bit.go
2.18 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
lfstack_test.go
2.77 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
libfuzzer.go
6.5 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
libfuzzer_amd64.s
5.01 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
libfuzzer_arm64.s
3.15 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
lock_futex.go
5.19 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
lock_js.go
6.14 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
lock_sema.go
6.74 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
lockrank.go
13.26 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
lockrank_off.go
1.14 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
lockrank_on.go
9.83 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
lockrank_test.go
1.15 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
malloc.go
51.01 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
malloc_test.go
10.78 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
map.go
43.52 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
map_benchmark_test.go
10.48 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
map_fast32.go
12.72 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
map_fast64.go
12.91 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
map_faststr.go
14.3 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
map_test.go
27.44 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
mbarrier.go
12.43 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
mbitmap.go
66.08 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
mcache.go
10 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
mcentral.go
7.9 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
mcheckmark.go
2.81 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
mem.go
6.23 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
mem_aix.go
1.9 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
mem_bsd.go
2.03 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
mem_darwin.go
1.84 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
mem_js.go
2.25 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
mem_linux.go
6.15 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
mem_plan9.go
4.32 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
mem_windows.go
3.76 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memclr_386.s
2.38 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memclr_amd64.s
4.91 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memclr_arm.s
2.6 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memclr_arm64.s
3.62 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memclr_loong64.s
778 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memclr_mips64x.s
1.72 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memclr_mipsx.s
1.32 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memclr_plan9_386.s
983 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memclr_plan9_amd64.s
511 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memclr_ppc64x.s
4.23 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memclr_riscv64.s
978 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memclr_s390x.s
1.96 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memclr_wasm.s
622 bytes
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memmove_386.s
4.42 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memmove_amd64.s
12.48 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memmove_arm.s
5.9 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memmove_arm64.s
5.96 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memmove_linux_amd64_test.go
1.6 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memmove_loong64.s
1.8 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memmove_mips64x.s
1.83 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memmove_mipsx.s
4.4 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memmove_plan9_386.s
3.06 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memmove_plan9_amd64.s
3.04 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memmove_ppc64x.s
4.58 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memmove_riscv64.s
1.86 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memmove_s390x.s
2.92 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memmove_test.go
14.03 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
memmove_wasm.s
1.74 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搧
metrics
-
12/01/2022 06:13:56 PM
rwxr-xr-x
馃搫
metrics.go
18.71 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
metrics_test.go
14.74 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
mfinal.go
16.34 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
mfinal_test.go
6.19 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
mfixalloc.go
3.07 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
mgc.go
56.37 KB
12/01/2022 06:12:59 PM
rw-r--r--
馃搫
mgclimit.go
17.26 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mgclimit_test.go
9.02 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mgcmark.go
47.47 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mgcpacer.go
60.12 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mgcpacer_test.go
40.43 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mgcscavenge.go
41.29 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mgcscavenge_test.go
20.33 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mgcstack.go
10.58 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mgcsweep.go
27.89 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mgcwork.go
12.86 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mheap.go
69.14 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mkduff.go
8.01 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mkfastlog2table.go
3.08 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mkpreempt.go
15.12 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mksizeclasses.go
9.3 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mmap.go
821 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mpagealloc.go
36.84 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mpagealloc_32bit.go
3.81 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mpagealloc_64bit.go
9.44 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mpagealloc_test.go
32.59 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mpagecache.go
5.46 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mpagecache_test.go
10.79 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mpallocbits.go
12.6 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mpallocbits_test.go
13.69 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mprof.go
38.51 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mranges.go
13.64 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mranges_test.go
5.68 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搧
msan
-
12/01/2022 06:13:56 PM
rwxr-xr-x
馃搫
msan.go
1.5 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
msan0.go
725 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
msan_amd64.s
2.31 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
msan_arm64.s
1.99 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
msize.go
777 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mspanset.go
12.21 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mstats.go
30.07 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
mwbbuf.go
9.28 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
nbpipe_fcntl_libc_test.go
470 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
nbpipe_fcntl_unix_test.go
458 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
nbpipe_pipe.go
405 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
nbpipe_pipe2.go
344 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
nbpipe_pipe_test.go
706 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
nbpipe_test.go
1.68 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
net_plan9.go
645 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
netpoll.go
18.27 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
netpoll_aix.go
4.83 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
netpoll_epoll.go
4.16 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
netpoll_fake.go
652 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
netpoll_kqueue.go
4.56 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
netpoll_os_test.go
360 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
netpoll_solaris.go
10.76 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
netpoll_stub.go
1.41 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
netpoll_windows.go
3.75 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
norace_linux_test.go
915 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
norace_test.go
983 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
numcpu_freebsd_test.go
381 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os2_aix.go
20.45 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os2_freebsd.go
302 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os2_openbsd.go
296 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os2_plan9.go
1.48 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os2_solaris.go
320 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os3_plan9.go
3.93 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os3_solaris.go
17.22 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_aix.go
8.61 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_android.go
463 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_darwin.go
12 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_darwin_arm64.go
416 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_dragonfly.go
6.96 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_freebsd.go
11.61 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_freebsd2.go
603 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_freebsd_amd64.go
658 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_freebsd_arm.go
1.32 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_freebsd_arm64.go
398 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_freebsd_noauxv.go
241 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_illumos.go
3.93 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_js.go
3.28 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_linux.go
26.14 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_linux_arm.go
1.35 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_linux_arm64.go
556 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_linux_be64.go
824 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_linux_generic.go
888 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_linux_loong64.go
485 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_linux_mips64x.go
1.07 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_linux_mipsx.go
1.06 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_linux_noauxv.go
337 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_linux_novdso.go
347 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_linux_ppc64x.go
526 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_linux_riscv64.go
198 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_linux_s390x.go
316 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_linux_x86.go
234 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_netbsd.go
9.8 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_netbsd_386.go
617 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_netbsd_amd64.go
614 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_netbsd_arm.go
1.16 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_netbsd_arm64.go
856 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_nonopenbsd.go
437 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_only_solaris.go
357 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_openbsd.go
6.55 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_openbsd_arm.go
749 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_openbsd_arm64.go
416 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_openbsd_libc.go
1.71 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_openbsd_mips64.go
416 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_openbsd_syscall.go
1.27 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_openbsd_syscall1.go
441 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_openbsd_syscall2.go
2.46 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_plan9.go
10.3 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_plan9_arm.go
462 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_solaris.go
6.55 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_windows.go
44.43 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_windows_arm.go
511 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
os_windows_arm64.go
339 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
panic.go
40.25 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
panic32.go
4.8 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
panic_test.go
1.71 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
plugin.go
4.26 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搧
pprof
-
12/01/2022 06:13:56 PM
rwxr-xr-x
馃搫
preempt.go
15.21 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
preempt_386.s
824 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
preempt_amd64.s
1.62 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
preempt_arm.s
1.48 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
preempt_arm64.s
1.97 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
preempt_loong64.s
2.35 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
preempt_mips64x.s
2.72 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
preempt_mipsx.s
2.68 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
preempt_nonwindows.go
290 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
preempt_ppc64x.s
2.72 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
preempt_riscv64.s
2.26 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
preempt_s390x.s
1.01 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
preempt_wasm.s
176 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
print.go
5.95 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
proc.go
176.84 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
proc_runtime_test.go
1.38 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
proc_test.go
25.66 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
profbuf.go
18.26 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
profbuf_test.go
8.65 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
proflabel.go
1.52 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搧
race
-
12/01/2022 06:13:56 PM
rwxr-xr-x
馃搫
race.go
18.58 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
race0.go
2.79 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
race_amd64.s
13.82 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
race_arm64.s
14.21 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
race_ppc64le.s
17.89 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
race_s390x.s
12 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rand_test.go
907 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rdebug.go
553 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
relax_stub.go
598 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_aix_ppc64.s
4.33 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_android_386.s
822 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_android_amd64.s
754 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_android_arm.s
843 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_android_arm64.s
941 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_darwin_amd64.s
399 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_darwin_arm64.s
1.69 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_dragonfly_amd64.s
448 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_freebsd_386.s
454 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_freebsd_amd64.s
442 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_freebsd_arm.s
298 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_freebsd_arm64.s
1.88 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_illumos_amd64.s
311 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_ios_amd64.s
425 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_ios_arm64.s
425 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_js_wasm.s
2.3 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_linux_386.s
450 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_linux_amd64.s
307 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_linux_arm.s
1007 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_linux_arm64.s
1.81 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_linux_loong64.s
716 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_linux_mips64x.s
1014 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_linux_mipsx.s
797 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_linux_ppc64.s
928 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_linux_ppc64le.s
4.35 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_linux_riscv64.s
2.65 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_linux_s390x.s
676 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_netbsd_386.s
452 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_netbsd_amd64.s
309 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_netbsd_arm.s
296 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_netbsd_arm64.s
1.8 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_openbsd_386.s
454 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_openbsd_amd64.s
311 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_openbsd_arm.s
298 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_openbsd_arm64.s
1.96 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_openbsd_mips64.s
976 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_plan9_386.s
523 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_plan9_amd64.s
481 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_plan9_arm.s
397 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_solaris_amd64.s
311 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_windows_386.s
1.28 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_windows_amd64.s
986 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_windows_arm.s
386 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rt0_windows_arm64.s
725 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
runtime-gdb.py
15.33 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
runtime-gdb_test.go
20.93 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
runtime-lldb_test.go
4.95 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
runtime.go
1.45 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
runtime1.go
13.06 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
runtime2.go
43.07 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
runtime_boring.go
606 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
runtime_linux_test.go
1.95 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
runtime_mmap_test.go
1.77 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
runtime_test.go
11.79 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
runtime_unix_test.go
1.22 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rwmutex.go
3.53 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
rwmutex_test.go
4.19 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
select.go
14.84 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sema.go
16.16 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sema_test.go
4.21 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
semasleep_test.go
3.05 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sigaction.go
489 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_386.go
1.72 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_aix_ppc64.go
3.55 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_amd64.go
2.73 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_arm.go
2.54 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_arm64.go
3.21 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_darwin.go
2.13 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_darwin_amd64.go
4 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_darwin_arm64.go
3.6 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_dragonfly.go
2.17 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_dragonfly_amd64.go
2.01 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_freebsd.go
2.2 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_freebsd_386.go
1.55 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_freebsd_amd64.go
2.03 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_freebsd_arm.go
2.18 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_freebsd_arm64.go
3.23 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_linux_386.go
1.59 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_linux_amd64.go
2.05 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_linux_arm.go
2.12 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_linux_arm64.go
2.95 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_linux_loong64.go
3.22 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_linux_mips64x.go
3.35 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_linux_mipsx.go
3.67 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_linux_ppc64x.go
3.42 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_linux_riscv64.go
2.92 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_linux_s390x.go
4.49 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_loong64.go
3.09 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_mips64x.go
3.18 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_mipsx.go
3.06 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_netbsd.go
2.18 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_netbsd_386.go
1.76 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_netbsd_amd64.go
2.33 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_netbsd_arm.go
2.3 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_netbsd_arm64.go
3.4 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_openbsd.go
2.18 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_openbsd_386.go
1.58 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_openbsd_amd64.go
2.04 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_openbsd_arm.go
2.12 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_openbsd_arm64.go
3.38 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_openbsd_mips64.go
3.28 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_plan9.go
1.93 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_ppc64x.go
3.64 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_riscv64.go
2.89 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_solaris.go
4.5 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_solaris_amd64.go
2.47 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_unix.go
41.88 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_windows.go
9.27 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
signal_windows_test.go
5.29 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sigqueue.go
7.66 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sigqueue_note.go
648 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sigqueue_plan9.go
3.25 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sigtab_aix.go
11.3 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sigtab_linux_generic.go
3.52 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sigtab_linux_mipsx.go
5.95 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sizeclasses.go
9.14 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sizeof_test.go
893 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
slice.go
9.87 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
slice_test.go
10.32 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
softfloat64.go
11.54 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
softfloat64_test.go
4.04 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
stack.go
45.05 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
stack_test.go
22.39 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
string.go
13.18 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
string_test.go
12.61 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
stubs.go
19.37 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
stubs2.go
1.13 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
stubs3.go
274 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
stubs_386.go
550 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
stubs_amd64.go
1.2 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
stubs_arm.go
531 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
stubs_arm64.go
555 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
stubs_linux.go
650 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
stubs_loong64.go
276 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
stubs_mips64x.go
364 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
stubs_mipsx.go
283 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
stubs_nonlinux.go
298 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
stubs_ppc64.go
301 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
stubs_ppc64x.go
453 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
stubs_riscv64.go
460 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
stubs_s390x.go
256 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
symtab.go
35.81 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
symtab_test.go
7.48 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_aix_ppc64.s
7.42 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_arm.go
521 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_arm64.go
469 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_darwin.go
17.92 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_darwin_amd64.s
19.12 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_darwin_arm64.go
1.74 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_darwin_arm64.s
15.95 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_dragonfly_amd64.s
8.03 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_freebsd_386.s
8.41 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_freebsd_amd64.s
10.7 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_freebsd_arm.s
10.12 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_freebsd_arm64.s
9.4 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_libc.go
1.84 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_linux_386.s
18.31 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_linux_amd64.s
16.57 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_linux_arm.s
16.12 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_linux_arm64.s
18.09 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_linux_loong64.s
12.15 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_linux_mips64x.s
13.5 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_linux_mipsx.s
11.09 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_linux_ppc64x.s
22.1 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_linux_riscv64.s
12.59 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_linux_s390x.s
13.78 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_loong64.go
489 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_mips64x.go
500 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_mipsx.go
496 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_netbsd_386.s
9.55 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_netbsd_amd64.s
9.51 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_netbsd_arm.s
10.41 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_netbsd_arm64.s
9.38 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_nonppc64x.go
245 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_openbsd.go
2.59 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_openbsd1.go
1.23 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_openbsd2.go
8.36 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_openbsd3.go
3.37 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_openbsd_386.s
20.03 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_openbsd_amd64.s
16.64 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_openbsd_arm.s
18.15 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_openbsd_arm64.s
14.84 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_openbsd_mips64.s
8.6 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_plan9_386.s
4.48 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_plan9_amd64.s
4.55 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_plan9_arm.s
7.03 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_ppc64x.go
532 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_riscv64.go
469 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_s390x.go
469 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_solaris_amd64.s
6.42 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_wasm.go
754 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_wasm.s
2.65 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_windows_386.s
7.65 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_windows_amd64.s
8.88 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_windows_arm.s
11.97 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_windows_arm64.s
11.45 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
sys_x86.go
552 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
syscall2_solaris.go
1.65 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
syscall_aix.go
6 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
syscall_solaris.go
8.01 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
syscall_windows.go
16.95 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
syscall_windows_test.go
32.96 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搧
testdata
-
12/01/2022 06:13:56 PM
rwxr-xr-x
馃搫
textflag.h
1.52 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
time.go
30.75 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
time_fake.go
2.5 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
time_linux_amd64.s
2.02 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
time_nofake.go
709 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
time_test.go
2.03 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
time_windows.h
753 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
time_windows_386.s
1.79 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
time_windows_amd64.s
871 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
time_windows_arm.s
2.1 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
time_windows_arm64.s
1021 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
timeasm.go
418 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
timestub.go
532 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
timestub2.go
314 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
tls_arm.s
3.45 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
tls_arm64.h
1.1 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
tls_arm64.s
1.2 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
tls_loong64.s
589 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
tls_mips64x.s
733 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
tls_mipsx.s
709 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
tls_ppc64x.s
1.5 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
tls_riscv64.s
726 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
tls_s390x.s
1.55 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
tls_stub.go
260 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
tls_windows_amd64.go
294 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搧
trace
-
12/01/2022 06:13:56 PM
rwxr-xr-x
馃搫
trace.go
45.8 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
traceback.go
48.18 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
traceback_test.go
11.64 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
type.go
17.43 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
typekind.go
742 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
utf8.go
3.39 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vdso_elf32.go
2.76 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vdso_elf64.go
2.84 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vdso_freebsd.go
2.44 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vdso_freebsd_arm.go
454 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vdso_freebsd_arm64.go
443 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vdso_freebsd_x86.go
1.85 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vdso_in_none.go
443 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vdso_linux.go
7.77 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vdso_linux_386.go
669 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vdso_linux_amd64.go
685 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vdso_linux_arm.go
669 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vdso_linux_arm64.go
670 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vdso_linux_loong64.go
793 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vdso_linux_mips64x.go
850 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vdso_linux_ppc64x.go
672 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vdso_linux_riscv64.go
666 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vdso_linux_s390x.go
681 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vlop_386.s
2.02 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vlop_arm.s
7.06 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vlop_arm_test.go
3.75 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
vlrt.go
6.71 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
wincallback.go
3.45 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
write_err.go
291 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
write_err_android.go
4.65 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
zcallback_windows.go
155 bytes
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
zcallback_windows.s
63.02 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
zcallback_windows_arm.s
89.32 KB
12/01/2022 06:13:00 PM
rw-r--r--
馃搫
zcallback_windows_arm64.s
89.32 KB
12/01/2022 06:13:00 PM
rw-r--r--
Editing: asm_386.s
Close
// Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #include "go_asm.h" #include "go_tls.h" #include "funcdata.h" #include "textflag.h" // _rt0_386 is common startup code for most 386 systems when using // internal linking. This is the entry point for the program from the // kernel for an ordinary -buildmode=exe program. The stack holds the // number of arguments and the C-style argv. TEXT _rt0_386(SB),NOSPLIT,$8 MOVL 8(SP), AX // argc LEAL 12(SP), BX // argv MOVL AX, 0(SP) MOVL BX, 4(SP) JMP runtime路rt0_go(SB) // _rt0_386_lib is common startup code for most 386 systems when // using -buildmode=c-archive or -buildmode=c-shared. The linker will // arrange to invoke this function as a global constructor (for // c-archive) or when the shared library is loaded (for c-shared). // We expect argc and argv to be passed on the stack following the // usual C ABI. TEXT _rt0_386_lib(SB),NOSPLIT,$0 PUSHL BP MOVL SP, BP PUSHL BX PUSHL SI PUSHL DI MOVL 8(BP), AX MOVL AX, _rt0_386_lib_argc<>(SB) MOVL 12(BP), AX MOVL AX, _rt0_386_lib_argv<>(SB) // Synchronous initialization. CALL runtime路libpreinit(SB) SUBL $8, SP // Create a new thread to do the runtime initialization. MOVL _cgo_sys_thread_create(SB), AX TESTL AX, AX JZ nocgo // Align stack to call C function. // We moved SP to BP above, but BP was clobbered by the libpreinit call. MOVL SP, BP ANDL $~15, SP MOVL $_rt0_386_lib_go(SB), BX MOVL BX, 0(SP) MOVL $0, 4(SP) CALL AX MOVL BP, SP JMP restore nocgo: MOVL $0x800000, 0(SP) // stacksize = 8192KB MOVL $_rt0_386_lib_go(SB), AX MOVL AX, 4(SP) // fn CALL runtime路newosproc0(SB) restore: ADDL $8, SP POPL DI POPL SI POPL BX POPL BP RET // _rt0_386_lib_go initializes the Go runtime. // This is started in a separate thread by _rt0_386_lib. TEXT _rt0_386_lib_go(SB),NOSPLIT,$8 MOVL _rt0_386_lib_argc<>(SB), AX MOVL AX, 0(SP) MOVL _rt0_386_lib_argv<>(SB), AX MOVL AX, 4(SP) JMP runtime路rt0_go(SB) DATA _rt0_386_lib_argc<>(SB)/4, $0 GLOBL _rt0_386_lib_argc<>(SB),NOPTR, $4 DATA _rt0_386_lib_argv<>(SB)/4, $0 GLOBL _rt0_386_lib_argv<>(SB),NOPTR, $4 TEXT runtime路rt0_go(SB),NOSPLIT|NOFRAME|TOPFRAME,$0 // Copy arguments forward on an even stack. // Users of this function jump to it, they don't call it. MOVL 0(SP), AX MOVL 4(SP), BX SUBL $128, SP // plenty of scratch ANDL $~15, SP MOVL AX, 120(SP) // save argc, argv away MOVL BX, 124(SP) // set default stack bounds. // _cgo_init may update stackguard. MOVL $runtime路g0(SB), BP LEAL (-64*1024+104)(SP), BX MOVL BX, g_stackguard0(BP) MOVL BX, g_stackguard1(BP) MOVL BX, (g_stack+stack_lo)(BP) MOVL SP, (g_stack+stack_hi)(BP) // find out information about the processor we're on // first see if CPUID instruction is supported. PUSHFL PUSHFL XORL $(1<<21), 0(SP) // flip ID bit POPFL PUSHFL POPL AX XORL 0(SP), AX POPFL // restore EFLAGS TESTL $(1<<21), AX JNE has_cpuid bad_proc: // show that the program requires MMX. MOVL $2, 0(SP) MOVL $bad_proc_msg<>(SB), 4(SP) MOVL $0x3d, 8(SP) CALL runtime路write(SB) MOVL $1, 0(SP) CALL runtime路exit(SB) CALL runtime路abort(SB) has_cpuid: MOVL $0, AX CPUID MOVL AX, SI CMPL AX, $0 JE nocpuinfo CMPL BX, $0x756E6547 // "Genu" JNE notintel CMPL DX, $0x49656E69 // "ineI" JNE notintel CMPL CX, $0x6C65746E // "ntel" JNE notintel MOVB $1, runtime路isIntel(SB) notintel: // Load EAX=1 cpuid flags MOVL $1, AX CPUID MOVL CX, DI // Move to global variable clobbers CX when generating PIC MOVL AX, runtime路processorVersionInfo(SB) // Check for MMX support TESTL $(1<<23), DX // MMX JZ bad_proc nocpuinfo: // if there is an _cgo_init, call it to let it // initialize and to set up GS. if not, // we set up GS ourselves. MOVL _cgo_init(SB), AX TESTL AX, AX JZ needtls #ifdef GOOS_android // arg 4: TLS base, stored in slot 0 (Android's TLS_SLOT_SELF). // Compensate for tls_g (+8). MOVL -8(TLS), BX MOVL BX, 12(SP) MOVL $runtime路tls_g(SB), 8(SP) // arg 3: &tls_g #else MOVL $0, BX MOVL BX, 12(SP) // arg 3,4: not used when using platform's TLS MOVL BX, 8(SP) #endif MOVL $setg_gcc<>(SB), BX MOVL BX, 4(SP) // arg 2: setg_gcc MOVL BP, 0(SP) // arg 1: g0 CALL AX // update stackguard after _cgo_init MOVL $runtime路g0(SB), CX MOVL (g_stack+stack_lo)(CX), AX ADDL $const__StackGuard, AX MOVL AX, g_stackguard0(CX) MOVL AX, g_stackguard1(CX) #ifndef GOOS_windows // skip runtime路ldt0setup(SB) and tls test after _cgo_init for non-windows JMP ok #endif needtls: #ifdef GOOS_openbsd // skip runtime路ldt0setup(SB) and tls test on OpenBSD in all cases JMP ok #endif #ifdef GOOS_plan9 // skip runtime路ldt0setup(SB) and tls test on Plan 9 in all cases JMP ok #endif // set up %gs CALL ldt0setup<>(SB) // store through it, to make sure it works get_tls(BX) MOVL $0x123, g(BX) MOVL runtime路m0+m_tls(SB), AX CMPL AX, $0x123 JEQ ok MOVL AX, 0 // abort ok: // set up m and g "registers" get_tls(BX) LEAL runtime路g0(SB), DX MOVL DX, g(BX) LEAL runtime路m0(SB), AX // save m->g0 = g0 MOVL DX, m_g0(AX) // save g0->m = m0 MOVL AX, g_m(DX) CALL runtime路emptyfunc(SB) // fault if stack check is wrong // convention is D is always cleared CLD CALL runtime路check(SB) // saved argc, argv MOVL 120(SP), AX MOVL AX, 0(SP) MOVL 124(SP), AX MOVL AX, 4(SP) CALL runtime路args(SB) CALL runtime路osinit(SB) CALL runtime路schedinit(SB) // create a new goroutine to start program PUSHL $runtime路mainPC(SB) // entry CALL runtime路newproc(SB) POPL AX // start this M CALL runtime路mstart(SB) CALL runtime路abort(SB) RET DATA bad_proc_msg<>+0x00(SB)/61, $"This program can only be run on processors with MMX support.\n" GLOBL bad_proc_msg<>(SB), RODATA, $61 DATA runtime路mainPC+0(SB)/4,$runtime路main(SB) GLOBL runtime路mainPC(SB),RODATA,$4 TEXT runtime路breakpoint(SB),NOSPLIT,$0-0 INT $3 RET TEXT runtime路asminit(SB),NOSPLIT,$0-0 // Linux and MinGW start the FPU in extended double precision. // Other operating systems use double precision. // Change to double precision to match them, // and to match other hardware that only has double. FLDCW runtime路controlWord64(SB) RET TEXT runtime路mstart(SB),NOSPLIT|TOPFRAME,$0 CALL runtime路mstart0(SB) RET // not reached /* * go-routine */ // void gogo(Gobuf*) // restore state from Gobuf; longjmp TEXT runtime路gogo(SB), NOSPLIT, $0-4 MOVL buf+0(FP), BX // gobuf MOVL gobuf_g(BX), DX MOVL 0(DX), CX // make sure g != nil JMP gogo<>(SB) TEXT gogo<>(SB), NOSPLIT, $0 get_tls(CX) MOVL DX, g(CX) MOVL gobuf_sp(BX), SP // restore SP MOVL gobuf_ret(BX), AX MOVL gobuf_ctxt(BX), DX MOVL $0, gobuf_sp(BX) // clear to help garbage collector MOVL $0, gobuf_ret(BX) MOVL $0, gobuf_ctxt(BX) MOVL gobuf_pc(BX), BX JMP BX // func mcall(fn func(*g)) // Switch to m->g0's stack, call fn(g). // Fn must never return. It should gogo(&g->sched) // to keep running g. TEXT runtime路mcall(SB), NOSPLIT, $0-4 MOVL fn+0(FP), DI get_tls(DX) MOVL g(DX), AX // save state in g->sched MOVL 0(SP), BX // caller's PC MOVL BX, (g_sched+gobuf_pc)(AX) LEAL fn+0(FP), BX // caller's SP MOVL BX, (g_sched+gobuf_sp)(AX) // switch to m->g0 & its stack, call fn MOVL g(DX), BX MOVL g_m(BX), BX MOVL m_g0(BX), SI CMPL SI, AX // if g == m->g0 call badmcall JNE 3(PC) MOVL $runtime路badmcall(SB), AX JMP AX MOVL SI, g(DX) // g = m->g0 MOVL (g_sched+gobuf_sp)(SI), SP // sp = m->g0->sched.sp PUSHL AX MOVL DI, DX MOVL 0(DI), DI CALL DI POPL AX MOVL $runtime路badmcall2(SB), AX JMP AX RET // systemstack_switch is a dummy routine that systemstack leaves at the bottom // of the G stack. We need to distinguish the routine that // lives at the bottom of the G stack from the one that lives // at the top of the system stack because the one at the top of // the system stack terminates the stack walk (see topofstack()). TEXT runtime路systemstack_switch(SB), NOSPLIT, $0-0 RET // func systemstack(fn func()) TEXT runtime路systemstack(SB), NOSPLIT, $0-4 MOVL fn+0(FP), DI // DI = fn get_tls(CX) MOVL g(CX), AX // AX = g MOVL g_m(AX), BX // BX = m CMPL AX, m_gsignal(BX) JEQ noswitch MOVL m_g0(BX), DX // DX = g0 CMPL AX, DX JEQ noswitch CMPL AX, m_curg(BX) JNE bad // switch stacks // save our state in g->sched. Pretend to // be systemstack_switch if the G stack is scanned. CALL gosave_systemstack_switch<>(SB) // switch to g0 get_tls(CX) MOVL DX, g(CX) MOVL (g_sched+gobuf_sp)(DX), BX MOVL BX, SP // call target function MOVL DI, DX MOVL 0(DI), DI CALL DI // switch back to g get_tls(CX) MOVL g(CX), AX MOVL g_m(AX), BX MOVL m_curg(BX), AX MOVL AX, g(CX) MOVL (g_sched+gobuf_sp)(AX), SP MOVL $0, (g_sched+gobuf_sp)(AX) RET noswitch: // already on system stack; tail call the function // Using a tail call here cleans up tracebacks since we won't stop // at an intermediate systemstack. MOVL DI, DX MOVL 0(DI), DI JMP DI bad: // Bad: g is not gsignal, not g0, not curg. What is it? // Hide call from linker nosplit analysis. MOVL $runtime路badsystemstack(SB), AX CALL AX INT $3 /* * support for morestack */ // Called during function prolog when more stack is needed. // // The traceback routines see morestack on a g0 as being // the top of a stack (for example, morestack calling newstack // calling the scheduler calling newm calling gc), so we must // record an argument size. For that purpose, it has no arguments. TEXT runtime路morestack(SB),NOSPLIT,$0-0 // Cannot grow scheduler stack (m->g0). get_tls(CX) MOVL g(CX), BX MOVL g_m(BX), BX MOVL m_g0(BX), SI CMPL g(CX), SI JNE 3(PC) CALL runtime路badmorestackg0(SB) CALL runtime路abort(SB) // Cannot grow signal stack. MOVL m_gsignal(BX), SI CMPL g(CX), SI JNE 3(PC) CALL runtime路badmorestackgsignal(SB) CALL runtime路abort(SB) // Called from f. // Set m->morebuf to f's caller. NOP SP // tell vet SP changed - stop checking offsets MOVL 4(SP), DI // f's caller's PC MOVL DI, (m_morebuf+gobuf_pc)(BX) LEAL 8(SP), CX // f's caller's SP MOVL CX, (m_morebuf+gobuf_sp)(BX) get_tls(CX) MOVL g(CX), SI MOVL SI, (m_morebuf+gobuf_g)(BX) // Set g->sched to context in f. MOVL 0(SP), AX // f's PC MOVL AX, (g_sched+gobuf_pc)(SI) LEAL 4(SP), AX // f's SP MOVL AX, (g_sched+gobuf_sp)(SI) MOVL DX, (g_sched+gobuf_ctxt)(SI) // Call newstack on m->g0's stack. MOVL m_g0(BX), BP MOVL BP, g(CX) MOVL (g_sched+gobuf_sp)(BP), AX MOVL -4(AX), BX // fault if CALL would, before smashing SP MOVL AX, SP CALL runtime路newstack(SB) CALL runtime路abort(SB) // crash if newstack returns RET TEXT runtime路morestack_noctxt(SB),NOSPLIT,$0-0 MOVL $0, DX JMP runtime路morestack(SB) // reflectcall: call a function with the given argument list // func call(stackArgsType *_type, f *FuncVal, stackArgs *byte, stackArgsSize, stackRetOffset, frameSize uint32, regArgs *abi.RegArgs). // we don't have variable-sized frames, so we use a small number // of constant-sized-frame functions to encode a few bits of size in the pc. // Caution: ugly multiline assembly macros in your future! #define DISPATCH(NAME,MAXSIZE) \ CMPL CX, $MAXSIZE; \ JA 3(PC); \ MOVL $NAME(SB), AX; \ JMP AX // Note: can't just "JMP NAME(SB)" - bad inlining results. TEXT 路reflectcall(SB), NOSPLIT, $0-28 MOVL frameSize+20(FP), CX DISPATCH(runtime路call16, 16) DISPATCH(runtime路call32, 32) DISPATCH(runtime路call64, 64) DISPATCH(runtime路call128, 128) DISPATCH(runtime路call256, 256) DISPATCH(runtime路call512, 512) DISPATCH(runtime路call1024, 1024) DISPATCH(runtime路call2048, 2048) DISPATCH(runtime路call4096, 4096) DISPATCH(runtime路call8192, 8192) DISPATCH(runtime路call16384, 16384) DISPATCH(runtime路call32768, 32768) DISPATCH(runtime路call65536, 65536) DISPATCH(runtime路call131072, 131072) DISPATCH(runtime路call262144, 262144) DISPATCH(runtime路call524288, 524288) DISPATCH(runtime路call1048576, 1048576) DISPATCH(runtime路call2097152, 2097152) DISPATCH(runtime路call4194304, 4194304) DISPATCH(runtime路call8388608, 8388608) DISPATCH(runtime路call16777216, 16777216) DISPATCH(runtime路call33554432, 33554432) DISPATCH(runtime路call67108864, 67108864) DISPATCH(runtime路call134217728, 134217728) DISPATCH(runtime路call268435456, 268435456) DISPATCH(runtime路call536870912, 536870912) DISPATCH(runtime路call1073741824, 1073741824) MOVL $runtime路badreflectcall(SB), AX JMP AX #define CALLFN(NAME,MAXSIZE) \ TEXT NAME(SB), WRAPPER, $MAXSIZE-28; \ NO_LOCAL_POINTERS; \ /* copy arguments to stack */ \ MOVL stackArgs+8(FP), SI; \ MOVL stackArgsSize+12(FP), CX; \ MOVL SP, DI; \ REP;MOVSB; \ /* call function */ \ MOVL f+4(FP), DX; \ MOVL (DX), AX; \ PCDATA $PCDATA_StackMapIndex, $0; \ CALL AX; \ /* copy return values back */ \ MOVL stackArgsType+0(FP), DX; \ MOVL stackArgs+8(FP), DI; \ MOVL stackArgsSize+12(FP), CX; \ MOVL stackRetOffset+16(FP), BX; \ MOVL SP, SI; \ ADDL BX, DI; \ ADDL BX, SI; \ SUBL BX, CX; \ CALL callRet<>(SB); \ RET // callRet copies return values back at the end of call*. This is a // separate function so it can allocate stack space for the arguments // to reflectcallmove. It does not follow the Go ABI; it expects its // arguments in registers. TEXT callRet<>(SB), NOSPLIT, $20-0 MOVL DX, 0(SP) MOVL DI, 4(SP) MOVL SI, 8(SP) MOVL CX, 12(SP) MOVL $0, 16(SP) CALL runtime路reflectcallmove(SB) RET CALLFN(路call16, 16) CALLFN(路call32, 32) CALLFN(路call64, 64) CALLFN(路call128, 128) CALLFN(路call256, 256) CALLFN(路call512, 512) CALLFN(路call1024, 1024) CALLFN(路call2048, 2048) CALLFN(路call4096, 4096) CALLFN(路call8192, 8192) CALLFN(路call16384, 16384) CALLFN(路call32768, 32768) CALLFN(路call65536, 65536) CALLFN(路call131072, 131072) CALLFN(路call262144, 262144) CALLFN(路call524288, 524288) CALLFN(路call1048576, 1048576) CALLFN(路call2097152, 2097152) CALLFN(路call4194304, 4194304) CALLFN(路call8388608, 8388608) CALLFN(路call16777216, 16777216) CALLFN(路call33554432, 33554432) CALLFN(路call67108864, 67108864) CALLFN(路call134217728, 134217728) CALLFN(路call268435456, 268435456) CALLFN(路call536870912, 536870912) CALLFN(路call1073741824, 1073741824) TEXT runtime路procyield(SB),NOSPLIT,$0-0 MOVL cycles+0(FP), AX again: PAUSE SUBL $1, AX JNZ again RET TEXT 路publicationBarrier(SB),NOSPLIT,$0-0 // Stores are already ordered on x86, so this is just a // compile barrier. RET // Save state of caller into g->sched, // but using fake PC from systemstack_switch. // Must only be called from functions with no locals ($0) // or else unwinding from systemstack_switch is incorrect. TEXT gosave_systemstack_switch<>(SB),NOSPLIT,$0 PUSHL AX PUSHL BX get_tls(BX) MOVL g(BX), BX LEAL arg+0(FP), AX MOVL AX, (g_sched+gobuf_sp)(BX) MOVL $runtime路systemstack_switch(SB), AX MOVL AX, (g_sched+gobuf_pc)(BX) MOVL $0, (g_sched+gobuf_ret)(BX) // Assert ctxt is zero. See func save. MOVL (g_sched+gobuf_ctxt)(BX), AX TESTL AX, AX JZ 2(PC) CALL runtime路abort(SB) POPL BX POPL AX RET // func asmcgocall_no_g(fn, arg unsafe.Pointer) // Call fn(arg) aligned appropriately for the gcc ABI. // Called on a system stack, and there may be no g yet (during needm). TEXT 路asmcgocall_no_g(SB),NOSPLIT,$0-8 MOVL fn+0(FP), AX MOVL arg+4(FP), BX MOVL SP, DX SUBL $32, SP ANDL $~15, SP // alignment, perhaps unnecessary MOVL DX, 8(SP) // save old SP MOVL BX, 0(SP) // first argument in x86-32 ABI CALL AX MOVL 8(SP), DX MOVL DX, SP RET // func asmcgocall(fn, arg unsafe.Pointer) int32 // Call fn(arg) on the scheduler stack, // aligned appropriately for the gcc ABI. // See cgocall.go for more details. TEXT 路asmcgocall(SB),NOSPLIT,$0-12 MOVL fn+0(FP), AX MOVL arg+4(FP), BX MOVL SP, DX // Figure out if we need to switch to m->g0 stack. // We get called to create new OS threads too, and those // come in on the m->g0 stack already. Or we might already // be on the m->gsignal stack. get_tls(CX) MOVL g(CX), DI CMPL DI, $0 JEQ nosave // Don't even have a G yet. MOVL g_m(DI), BP CMPL DI, m_gsignal(BP) JEQ noswitch MOVL m_g0(BP), SI CMPL DI, SI JEQ noswitch CALL gosave_systemstack_switch<>(SB) get_tls(CX) MOVL SI, g(CX) MOVL (g_sched+gobuf_sp)(SI), SP noswitch: // Now on a scheduling stack (a pthread-created stack). SUBL $32, SP ANDL $~15, SP // alignment, perhaps unnecessary MOVL DI, 8(SP) // save g MOVL (g_stack+stack_hi)(DI), DI SUBL DX, DI MOVL DI, 4(SP) // save depth in stack (can't just save SP, as stack might be copied during a callback) MOVL BX, 0(SP) // first argument in x86-32 ABI CALL AX // Restore registers, g, stack pointer. get_tls(CX) MOVL 8(SP), DI MOVL (g_stack+stack_hi)(DI), SI SUBL 4(SP), SI MOVL DI, g(CX) MOVL SI, SP MOVL AX, ret+8(FP) RET nosave: // Now on a scheduling stack (a pthread-created stack). SUBL $32, SP ANDL $~15, SP // alignment, perhaps unnecessary MOVL DX, 4(SP) // save original stack pointer MOVL BX, 0(SP) // first argument in x86-32 ABI CALL AX MOVL 4(SP), CX // restore original stack pointer MOVL CX, SP MOVL AX, ret+8(FP) RET // cgocallback(fn, frame unsafe.Pointer, ctxt uintptr) // See cgocall.go for more details. TEXT 路cgocallback(SB),NOSPLIT,$12-12 // Frame size must match commented places below NO_LOCAL_POINTERS // If g is nil, Go did not create the current thread. // Call needm to obtain one for temporary use. // In this case, we're running on the thread stack, so there's // lots of space, but the linker doesn't know. Hide the call from // the linker analysis by using an indirect call through AX. get_tls(CX) #ifdef GOOS_windows MOVL $0, BP CMPL CX, $0 JEQ 2(PC) // TODO #endif MOVL g(CX), BP CMPL BP, $0 JEQ needm MOVL g_m(BP), BP MOVL BP, savedm-4(SP) // saved copy of oldm JMP havem needm: MOVL $runtime路needm(SB), AX CALL AX MOVL $0, savedm-4(SP) // dropm on return get_tls(CX) MOVL g(CX), BP MOVL g_m(BP), BP // Set m->sched.sp = SP, so that if a panic happens // during the function we are about to execute, it will // have a valid SP to run on the g0 stack. // The next few lines (after the havem label) // will save this SP onto the stack and then write // the same SP back to m->sched.sp. That seems redundant, // but if an unrecovered panic happens, unwindm will // restore the g->sched.sp from the stack location // and then systemstack will try to use it. If we don't set it here, // that restored SP will be uninitialized (typically 0) and // will not be usable. MOVL m_g0(BP), SI MOVL SP, (g_sched+gobuf_sp)(SI) havem: // Now there's a valid m, and we're running on its m->g0. // Save current m->g0->sched.sp on stack and then set it to SP. // Save current sp in m->g0->sched.sp in preparation for // switch back to m->curg stack. // NOTE: unwindm knows that the saved g->sched.sp is at 0(SP). MOVL m_g0(BP), SI MOVL (g_sched+gobuf_sp)(SI), AX MOVL AX, 0(SP) MOVL SP, (g_sched+gobuf_sp)(SI) // Switch to m->curg stack and call runtime.cgocallbackg. // Because we are taking over the execution of m->curg // but *not* resuming what had been running, we need to // save that information (m->curg->sched) so we can restore it. // We can restore m->curg->sched.sp easily, because calling // runtime.cgocallbackg leaves SP unchanged upon return. // To save m->curg->sched.pc, we push it onto the curg stack and // open a frame the same size as cgocallback's g0 frame. // Once we switch to the curg stack, the pushed PC will appear // to be the return PC of cgocallback, so that the traceback // will seamlessly trace back into the earlier calls. MOVL m_curg(BP), SI MOVL SI, g(CX) MOVL (g_sched+gobuf_sp)(SI), DI // prepare stack as DI MOVL (g_sched+gobuf_pc)(SI), BP MOVL BP, -4(DI) // "push" return PC on the g stack // Gather our arguments into registers. MOVL fn+0(FP), AX MOVL frame+4(FP), BX MOVL ctxt+8(FP), CX LEAL -(4+12)(DI), SP // Must match declared frame size MOVL AX, 0(SP) MOVL BX, 4(SP) MOVL CX, 8(SP) CALL runtime路cgocallbackg(SB) // Restore g->sched (== m->curg->sched) from saved values. get_tls(CX) MOVL g(CX), SI MOVL 12(SP), BP // Must match declared frame size MOVL BP, (g_sched+gobuf_pc)(SI) LEAL (12+4)(SP), DI // Must match declared frame size MOVL DI, (g_sched+gobuf_sp)(SI) // Switch back to m->g0's stack and restore m->g0->sched.sp. // (Unlike m->curg, the g0 goroutine never uses sched.pc, // so we do not have to restore it.) MOVL g(CX), BP MOVL g_m(BP), BP MOVL m_g0(BP), SI MOVL SI, g(CX) MOVL (g_sched+gobuf_sp)(SI), SP MOVL 0(SP), AX MOVL AX, (g_sched+gobuf_sp)(SI) // If the m on entry was nil, we called needm above to borrow an m // for the duration of the call. Since the call is over, return it with dropm. MOVL savedm-4(SP), DX CMPL DX, $0 JNE 3(PC) MOVL $runtime路dropm(SB), AX CALL AX // Done! RET // void setg(G*); set g. for use by needm. TEXT runtime路setg(SB), NOSPLIT, $0-4 MOVL gg+0(FP), BX #ifdef GOOS_windows CMPL BX, $0 JNE settls MOVL $0, 0x14(FS) RET settls: MOVL g_m(BX), AX LEAL m_tls(AX), AX MOVL AX, 0x14(FS) #endif get_tls(CX) MOVL BX, g(CX) RET // void setg_gcc(G*); set g. for use by gcc TEXT setg_gcc<>(SB), NOSPLIT, $0 get_tls(AX) MOVL gg+0(FP), DX MOVL DX, g(AX) RET TEXT runtime路abort(SB),NOSPLIT,$0-0 INT $3 loop: JMP loop // check that SP is in range [g->stack.lo, g->stack.hi) TEXT runtime路stackcheck(SB), NOSPLIT, $0-0 get_tls(CX) MOVL g(CX), AX CMPL (g_stack+stack_hi)(AX), SP JHI 2(PC) CALL runtime路abort(SB) CMPL SP, (g_stack+stack_lo)(AX) JHI 2(PC) CALL runtime路abort(SB) RET // func cputicks() int64 TEXT runtime路cputicks(SB),NOSPLIT,$0-8 // LFENCE/MFENCE instruction support is dependent on SSE2. // When no SSE2 support is present do not enforce any serialization // since using CPUID to serialize the instruction stream is // very costly. #ifdef GO386_softfloat JMP rdtsc // no fence instructions available #endif CMPB internal鈭昪pu路X86+const_offsetX86HasRDTSCP(SB), $1 JNE fences // Instruction stream serializing RDTSCP is supported. // RDTSCP is supported by Intel Nehalem (2008) and // AMD K8 Rev. F (2006) and newer. RDTSCP done: MOVL AX, ret_lo+0(FP) MOVL DX, ret_hi+4(FP) RET fences: // MFENCE is instruction stream serializing and flushes the // store buffers on AMD. The serialization semantics of LFENCE on AMD // are dependent on MSR C001_1029 and CPU generation. // LFENCE on Intel does wait for all previous instructions to have executed. // Intel recommends MFENCE;LFENCE in its manuals before RDTSC to have all // previous instructions executed and all previous loads and stores to globally visible. // Using MFENCE;LFENCE here aligns the serializing properties without // runtime detection of CPU manufacturer. MFENCE LFENCE rdtsc: RDTSC JMP done TEXT ldt0setup<>(SB),NOSPLIT,$16-0 // set up ldt 7 to point at m0.tls // ldt 1 would be fine on Linux, but on OS X, 7 is as low as we can go. // the entry number is just a hint. setldt will set up GS with what it used. MOVL $7, 0(SP) LEAL runtime路m0+m_tls(SB), AX MOVL AX, 4(SP) MOVL $32, 8(SP) // sizeof(tls array) CALL runtime路setldt(SB) RET TEXT runtime路emptyfunc(SB),0,$0-0 RET // hash function using AES hardware instructions TEXT runtime路memhash(SB),NOSPLIT,$0-16 CMPB runtime路useAeshash(SB), $0 JEQ noaes MOVL p+0(FP), AX // ptr to data MOVL s+8(FP), BX // size LEAL ret+12(FP), DX JMP aeshashbody<>(SB) noaes: JMP runtime路memhashFallback(SB) TEXT runtime路strhash(SB),NOSPLIT,$0-12 CMPB runtime路useAeshash(SB), $0 JEQ noaes MOVL p+0(FP), AX // ptr to string object MOVL 4(AX), BX // length of string MOVL (AX), AX // string data LEAL ret+8(FP), DX JMP aeshashbody<>(SB) noaes: JMP runtime路strhashFallback(SB) // AX: data // BX: length // DX: address to put return value TEXT aeshashbody<>(SB),NOSPLIT,$0-0 MOVL h+4(FP), X0 // 32 bits of per-table hash seed PINSRW $4, BX, X0 // 16 bits of length PSHUFHW $0, X0, X0 // replace size with its low 2 bytes repeated 4 times MOVO X0, X1 // save unscrambled seed PXOR runtime路aeskeysched(SB), X0 // xor in per-process seed AESENC X0, X0 // scramble seed CMPL BX, $16 JB aes0to15 JE aes16 CMPL BX, $32 JBE aes17to32 CMPL BX, $64 JBE aes33to64 JMP aes65plus aes0to15: TESTL BX, BX JE aes0 ADDL $16, AX TESTW $0xff0, AX JE endofpage // 16 bytes loaded at this address won't cross // a page boundary, so we can load it directly. MOVOU -16(AX), X1 ADDL BX, BX PAND masks<>(SB)(BX*8), X1 final1: PXOR X0, X1 // xor data with seed AESENC X1, X1 // scramble combo 3 times AESENC X1, X1 AESENC X1, X1 MOVL X1, (DX) RET endofpage: // address ends in 1111xxxx. Might be up against // a page boundary, so load ending at last byte. // Then shift bytes down using pshufb. MOVOU -32(AX)(BX*1), X1 ADDL BX, BX PSHUFB shifts<>(SB)(BX*8), X1 JMP final1 aes0: // Return scrambled input seed AESENC X0, X0 MOVL X0, (DX) RET aes16: MOVOU (AX), X1 JMP final1 aes17to32: // make second starting seed PXOR runtime路aeskeysched+16(SB), X1 AESENC X1, X1 // load data to be hashed MOVOU (AX), X2 MOVOU -16(AX)(BX*1), X3 // xor with seed PXOR X0, X2 PXOR X1, X3 // scramble 3 times AESENC X2, X2 AESENC X3, X3 AESENC X2, X2 AESENC X3, X3 AESENC X2, X2 AESENC X3, X3 // combine results PXOR X3, X2 MOVL X2, (DX) RET aes33to64: // make 3 more starting seeds MOVO X1, X2 MOVO X1, X3 PXOR runtime路aeskeysched+16(SB), X1 PXOR runtime路aeskeysched+32(SB), X2 PXOR runtime路aeskeysched+48(SB), X3 AESENC X1, X1 AESENC X2, X2 AESENC X3, X3 MOVOU (AX), X4 MOVOU 16(AX), X5 MOVOU -32(AX)(BX*1), X6 MOVOU -16(AX)(BX*1), X7 PXOR X0, X4 PXOR X1, X5 PXOR X2, X6 PXOR X3, X7 AESENC X4, X4 AESENC X5, X5 AESENC X6, X6 AESENC X7, X7 AESENC X4, X4 AESENC X5, X5 AESENC X6, X6 AESENC X7, X7 AESENC X4, X4 AESENC X5, X5 AESENC X6, X6 AESENC X7, X7 PXOR X6, X4 PXOR X7, X5 PXOR X5, X4 MOVL X4, (DX) RET aes65plus: // make 3 more starting seeds MOVO X1, X2 MOVO X1, X3 PXOR runtime路aeskeysched+16(SB), X1 PXOR runtime路aeskeysched+32(SB), X2 PXOR runtime路aeskeysched+48(SB), X3 AESENC X1, X1 AESENC X2, X2 AESENC X3, X3 // start with last (possibly overlapping) block MOVOU -64(AX)(BX*1), X4 MOVOU -48(AX)(BX*1), X5 MOVOU -32(AX)(BX*1), X6 MOVOU -16(AX)(BX*1), X7 // scramble state once AESENC X0, X4 AESENC X1, X5 AESENC X2, X6 AESENC X3, X7 // compute number of remaining 64-byte blocks DECL BX SHRL $6, BX aesloop: // scramble state, xor in a block MOVOU (AX), X0 MOVOU 16(AX), X1 MOVOU 32(AX), X2 MOVOU 48(AX), X3 AESENC X0, X4 AESENC X1, X5 AESENC X2, X6 AESENC X3, X7 // scramble state AESENC X4, X4 AESENC X5, X5 AESENC X6, X6 AESENC X7, X7 ADDL $64, AX DECL BX JNE aesloop // 3 more scrambles to finish AESENC X4, X4 AESENC X5, X5 AESENC X6, X6 AESENC X7, X7 AESENC X4, X4 AESENC X5, X5 AESENC X6, X6 AESENC X7, X7 AESENC X4, X4 AESENC X5, X5 AESENC X6, X6 AESENC X7, X7 PXOR X6, X4 PXOR X7, X5 PXOR X5, X4 MOVL X4, (DX) RET TEXT runtime路memhash32(SB),NOSPLIT,$0-12 CMPB runtime路useAeshash(SB), $0 JEQ noaes MOVL p+0(FP), AX // ptr to data MOVL h+4(FP), X0 // seed PINSRD $1, (AX), X0 // data AESENC runtime路aeskeysched+0(SB), X0 AESENC runtime路aeskeysched+16(SB), X0 AESENC runtime路aeskeysched+32(SB), X0 MOVL X0, ret+8(FP) RET noaes: JMP runtime路memhash32Fallback(SB) TEXT runtime路memhash64(SB),NOSPLIT,$0-12 CMPB runtime路useAeshash(SB), $0 JEQ noaes MOVL p+0(FP), AX // ptr to data MOVQ (AX), X0 // data PINSRD $2, h+4(FP), X0 // seed AESENC runtime路aeskeysched+0(SB), X0 AESENC runtime路aeskeysched+16(SB), X0 AESENC runtime路aeskeysched+32(SB), X0 MOVL X0, ret+8(FP) RET noaes: JMP runtime路memhash64Fallback(SB) // simple mask to get rid of data in the high part of the register. DATA masks<>+0x00(SB)/4, $0x00000000 DATA masks<>+0x04(SB)/4, $0x00000000 DATA masks<>+0x08(SB)/4, $0x00000000 DATA masks<>+0x0c(SB)/4, $0x00000000 DATA masks<>+0x10(SB)/4, $0x000000ff DATA masks<>+0x14(SB)/4, $0x00000000 DATA masks<>+0x18(SB)/4, $0x00000000 DATA masks<>+0x1c(SB)/4, $0x00000000 DATA masks<>+0x20(SB)/4, $0x0000ffff DATA masks<>+0x24(SB)/4, $0x00000000 DATA masks<>+0x28(SB)/4, $0x00000000 DATA masks<>+0x2c(SB)/4, $0x00000000 DATA masks<>+0x30(SB)/4, $0x00ffffff DATA masks<>+0x34(SB)/4, $0x00000000 DATA masks<>+0x38(SB)/4, $0x00000000 DATA masks<>+0x3c(SB)/4, $0x00000000 DATA masks<>+0x40(SB)/4, $0xffffffff DATA masks<>+0x44(SB)/4, $0x00000000 DATA masks<>+0x48(SB)/4, $0x00000000 DATA masks<>+0x4c(SB)/4, $0x00000000 DATA masks<>+0x50(SB)/4, $0xffffffff DATA masks<>+0x54(SB)/4, $0x000000ff DATA masks<>+0x58(SB)/4, $0x00000000 DATA masks<>+0x5c(SB)/4, $0x00000000 DATA masks<>+0x60(SB)/4, $0xffffffff DATA masks<>+0x64(SB)/4, $0x0000ffff DATA masks<>+0x68(SB)/4, $0x00000000 DATA masks<>+0x6c(SB)/4, $0x00000000 DATA masks<>+0x70(SB)/4, $0xffffffff DATA masks<>+0x74(SB)/4, $0x00ffffff DATA masks<>+0x78(SB)/4, $0x00000000 DATA masks<>+0x7c(SB)/4, $0x00000000 DATA masks<>+0x80(SB)/4, $0xffffffff DATA masks<>+0x84(SB)/4, $0xffffffff DATA masks<>+0x88(SB)/4, $0x00000000 DATA masks<>+0x8c(SB)/4, $0x00000000 DATA masks<>+0x90(SB)/4, $0xffffffff DATA masks<>+0x94(SB)/4, $0xffffffff DATA masks<>+0x98(SB)/4, $0x000000ff DATA masks<>+0x9c(SB)/4, $0x00000000 DATA masks<>+0xa0(SB)/4, $0xffffffff DATA masks<>+0xa4(SB)/4, $0xffffffff DATA masks<>+0xa8(SB)/4, $0x0000ffff DATA masks<>+0xac(SB)/4, $0x00000000 DATA masks<>+0xb0(SB)/4, $0xffffffff DATA masks<>+0xb4(SB)/4, $0xffffffff DATA masks<>+0xb8(SB)/4, $0x00ffffff DATA masks<>+0xbc(SB)/4, $0x00000000 DATA masks<>+0xc0(SB)/4, $0xffffffff DATA masks<>+0xc4(SB)/4, $0xffffffff DATA masks<>+0xc8(SB)/4, $0xffffffff DATA masks<>+0xcc(SB)/4, $0x00000000 DATA masks<>+0xd0(SB)/4, $0xffffffff DATA masks<>+0xd4(SB)/4, $0xffffffff DATA masks<>+0xd8(SB)/4, $0xffffffff DATA masks<>+0xdc(SB)/4, $0x000000ff DATA masks<>+0xe0(SB)/4, $0xffffffff DATA masks<>+0xe4(SB)/4, $0xffffffff DATA masks<>+0xe8(SB)/4, $0xffffffff DATA masks<>+0xec(SB)/4, $0x0000ffff DATA masks<>+0xf0(SB)/4, $0xffffffff DATA masks<>+0xf4(SB)/4, $0xffffffff DATA masks<>+0xf8(SB)/4, $0xffffffff DATA masks<>+0xfc(SB)/4, $0x00ffffff GLOBL masks<>(SB),RODATA,$256 // these are arguments to pshufb. They move data down from // the high bytes of the register to the low bytes of the register. // index is how many bytes to move. DATA shifts<>+0x00(SB)/4, $0x00000000 DATA shifts<>+0x04(SB)/4, $0x00000000 DATA shifts<>+0x08(SB)/4, $0x00000000 DATA shifts<>+0x0c(SB)/4, $0x00000000 DATA shifts<>+0x10(SB)/4, $0xffffff0f DATA shifts<>+0x14(SB)/4, $0xffffffff DATA shifts<>+0x18(SB)/4, $0xffffffff DATA shifts<>+0x1c(SB)/4, $0xffffffff DATA shifts<>+0x20(SB)/4, $0xffff0f0e DATA shifts<>+0x24(SB)/4, $0xffffffff DATA shifts<>+0x28(SB)/4, $0xffffffff DATA shifts<>+0x2c(SB)/4, $0xffffffff DATA shifts<>+0x30(SB)/4, $0xff0f0e0d DATA shifts<>+0x34(SB)/4, $0xffffffff DATA shifts<>+0x38(SB)/4, $0xffffffff DATA shifts<>+0x3c(SB)/4, $0xffffffff DATA shifts<>+0x40(SB)/4, $0x0f0e0d0c DATA shifts<>+0x44(SB)/4, $0xffffffff DATA shifts<>+0x48(SB)/4, $0xffffffff DATA shifts<>+0x4c(SB)/4, $0xffffffff DATA shifts<>+0x50(SB)/4, $0x0e0d0c0b DATA shifts<>+0x54(SB)/4, $0xffffff0f DATA shifts<>+0x58(SB)/4, $0xffffffff DATA shifts<>+0x5c(SB)/4, $0xffffffff DATA shifts<>+0x60(SB)/4, $0x0d0c0b0a DATA shifts<>+0x64(SB)/4, $0xffff0f0e DATA shifts<>+0x68(SB)/4, $0xffffffff DATA shifts<>+0x6c(SB)/4, $0xffffffff DATA shifts<>+0x70(SB)/4, $0x0c0b0a09 DATA shifts<>+0x74(SB)/4, $0xff0f0e0d DATA shifts<>+0x78(SB)/4, $0xffffffff DATA shifts<>+0x7c(SB)/4, $0xffffffff DATA shifts<>+0x80(SB)/4, $0x0b0a0908 DATA shifts<>+0x84(SB)/4, $0x0f0e0d0c DATA shifts<>+0x88(SB)/4, $0xffffffff DATA shifts<>+0x8c(SB)/4, $0xffffffff DATA shifts<>+0x90(SB)/4, $0x0a090807 DATA shifts<>+0x94(SB)/4, $0x0e0d0c0b DATA shifts<>+0x98(SB)/4, $0xffffff0f DATA shifts<>+0x9c(SB)/4, $0xffffffff DATA shifts<>+0xa0(SB)/4, $0x09080706 DATA shifts<>+0xa4(SB)/4, $0x0d0c0b0a DATA shifts<>+0xa8(SB)/4, $0xffff0f0e DATA shifts<>+0xac(SB)/4, $0xffffffff DATA shifts<>+0xb0(SB)/4, $0x08070605 DATA shifts<>+0xb4(SB)/4, $0x0c0b0a09 DATA shifts<>+0xb8(SB)/4, $0xff0f0e0d DATA shifts<>+0xbc(SB)/4, $0xffffffff DATA shifts<>+0xc0(SB)/4, $0x07060504 DATA shifts<>+0xc4(SB)/4, $0x0b0a0908 DATA shifts<>+0xc8(SB)/4, $0x0f0e0d0c DATA shifts<>+0xcc(SB)/4, $0xffffffff DATA shifts<>+0xd0(SB)/4, $0x06050403 DATA shifts<>+0xd4(SB)/4, $0x0a090807 DATA shifts<>+0xd8(SB)/4, $0x0e0d0c0b DATA shifts<>+0xdc(SB)/4, $0xffffff0f DATA shifts<>+0xe0(SB)/4, $0x05040302 DATA shifts<>+0xe4(SB)/4, $0x09080706 DATA shifts<>+0xe8(SB)/4, $0x0d0c0b0a DATA shifts<>+0xec(SB)/4, $0xffff0f0e DATA shifts<>+0xf0(SB)/4, $0x04030201 DATA shifts<>+0xf4(SB)/4, $0x08070605 DATA shifts<>+0xf8(SB)/4, $0x0c0b0a09 DATA shifts<>+0xfc(SB)/4, $0xff0f0e0d GLOBL shifts<>(SB),RODATA,$256 TEXT 路checkASM(SB),NOSPLIT,$0-1 // check that masks<>(SB) and shifts<>(SB) are aligned to 16-byte MOVL $masks<>(SB), AX MOVL $shifts<>(SB), BX ORL BX, AX TESTL $15, AX SETEQ ret+0(FP) RET TEXT runtime路return0(SB), NOSPLIT, $0 MOVL $0, AX RET // Called from cgo wrappers, this function returns g->m->curg.stack.hi. // Must obey the gcc calling convention. TEXT _cgo_topofstack(SB),NOSPLIT,$0 get_tls(CX) MOVL g(CX), AX MOVL g_m(AX), AX MOVL m_curg(AX), AX MOVL (g_stack+stack_hi)(AX), AX RET // The top-most function running on a goroutine // returns to goexit+PCQuantum. TEXT runtime路goexit(SB),NOSPLIT|TOPFRAME,$0-0 BYTE $0x90 // NOP CALL runtime路goexit1(SB) // does not return // traceback from goexit1 must hit code range of goexit BYTE $0x90 // NOP // Add a module's moduledata to the linked list of moduledata objects. This // is called from .init_array by a function generated in the linker and so // follows the platform ABI wrt register preservation -- it only touches AX, // CX (implicitly) and DX, but it does not follow the ABI wrt arguments: // instead the pointer to the moduledata is passed in AX. TEXT runtime路addmoduledata(SB),NOSPLIT,$0-0 MOVL runtime路lastmoduledatap(SB), DX MOVL AX, moduledata_next(DX) MOVL AX, runtime路lastmoduledatap(SB) RET TEXT runtime路uint32tofloat64(SB),NOSPLIT,$8-12 MOVL a+0(FP), AX MOVL AX, 0(SP) MOVL $0, 4(SP) FMOVV 0(SP), F0 FMOVDP F0, ret+4(FP) RET TEXT runtime路float64touint32(SB),NOSPLIT,$12-12 FMOVD a+0(FP), F0 FSTCW 0(SP) FLDCW runtime路controlWord64trunc(SB) FMOVVP F0, 4(SP) FLDCW 0(SP) MOVL 4(SP), AX MOVL AX, ret+8(FP) RET // gcWriteBarrier performs a heap pointer write and informs the GC. // // gcWriteBarrier does NOT follow the Go ABI. It takes two arguments: // - DI is the destination of the write // - AX is the value being written at DI // It clobbers FLAGS. It does not clobber any general-purpose registers, // but may clobber others (e.g., SSE registers). TEXT runtime路gcWriteBarrier(SB),NOSPLIT,$28 // Save the registers clobbered by the fast path. This is slightly // faster than having the caller spill these. MOVL CX, 20(SP) MOVL BX, 24(SP) // TODO: Consider passing g.m.p in as an argument so they can be shared // across a sequence of write barriers. get_tls(BX) MOVL g(BX), BX MOVL g_m(BX), BX MOVL m_p(BX), BX MOVL (p_wbBuf+wbBuf_next)(BX), CX // Increment wbBuf.next position. LEAL 8(CX), CX MOVL CX, (p_wbBuf+wbBuf_next)(BX) CMPL CX, (p_wbBuf+wbBuf_end)(BX) // Record the write. MOVL AX, -8(CX) // Record value MOVL (DI), BX // TODO: This turns bad writes into bad reads. MOVL BX, -4(CX) // Record *slot // Is the buffer full? (flags set in CMPL above) JEQ flush ret: MOVL 20(SP), CX MOVL 24(SP), BX // Do the write. MOVL AX, (DI) RET flush: // Save all general purpose registers since these could be // clobbered by wbBufFlush and were not saved by the caller. MOVL DI, 0(SP) // Also first argument to wbBufFlush MOVL AX, 4(SP) // Also second argument to wbBufFlush // BX already saved // CX already saved MOVL DX, 8(SP) MOVL BP, 12(SP) MOVL SI, 16(SP) // DI already saved // This takes arguments DI and AX CALL runtime路wbBufFlush(SB) MOVL 0(SP), DI MOVL 4(SP), AX MOVL 8(SP), DX MOVL 12(SP), BP MOVL 16(SP), SI JMP ret // Note: these functions use a special calling convention to save generated code space. // Arguments are passed in registers, but the space for those arguments are allocated // in the caller's stack frame. These stubs write the args into that stack space and // then tail call to the corresponding runtime handler. // The tail call makes these stubs disappear in backtraces. TEXT runtime路panicIndex(SB),NOSPLIT,$0-8 MOVL AX, x+0(FP) MOVL CX, y+4(FP) JMP runtime路goPanicIndex(SB) TEXT runtime路panicIndexU(SB),NOSPLIT,$0-8 MOVL AX, x+0(FP) MOVL CX, y+4(FP) JMP runtime路goPanicIndexU(SB) TEXT runtime路panicSliceAlen(SB),NOSPLIT,$0-8 MOVL CX, x+0(FP) MOVL DX, y+4(FP) JMP runtime路goPanicSliceAlen(SB) TEXT runtime路panicSliceAlenU(SB),NOSPLIT,$0-8 MOVL CX, x+0(FP) MOVL DX, y+4(FP) JMP runtime路goPanicSliceAlenU(SB) TEXT runtime路panicSliceAcap(SB),NOSPLIT,$0-8 MOVL CX, x+0(FP) MOVL DX, y+4(FP) JMP runtime路goPanicSliceAcap(SB) TEXT runtime路panicSliceAcapU(SB),NOSPLIT,$0-8 MOVL CX, x+0(FP) MOVL DX, y+4(FP) JMP runtime路goPanicSliceAcapU(SB) TEXT runtime路panicSliceB(SB),NOSPLIT,$0-8 MOVL AX, x+0(FP) MOVL CX, y+4(FP) JMP runtime路goPanicSliceB(SB) TEXT runtime路panicSliceBU(SB),NOSPLIT,$0-8 MOVL AX, x+0(FP) MOVL CX, y+4(FP) JMP runtime路goPanicSliceBU(SB) TEXT runtime路panicSlice3Alen(SB),NOSPLIT,$0-8 MOVL DX, x+0(FP) MOVL BX, y+4(FP) JMP runtime路goPanicSlice3Alen(SB) TEXT runtime路panicSlice3AlenU(SB),NOSPLIT,$0-8 MOVL DX, x+0(FP) MOVL BX, y+4(FP) JMP runtime路goPanicSlice3AlenU(SB) TEXT runtime路panicSlice3Acap(SB),NOSPLIT,$0-8 MOVL DX, x+0(FP) MOVL BX, y+4(FP) JMP runtime路goPanicSlice3Acap(SB) TEXT runtime路panicSlice3AcapU(SB),NOSPLIT,$0-8 MOVL DX, x+0(FP) MOVL BX, y+4(FP) JMP runtime路goPanicSlice3AcapU(SB) TEXT runtime路panicSlice3B(SB),NOSPLIT,$0-8 MOVL CX, x+0(FP) MOVL DX, y+4(FP) JMP runtime路goPanicSlice3B(SB) TEXT runtime路panicSlice3BU(SB),NOSPLIT,$0-8 MOVL CX, x+0(FP) MOVL DX, y+4(FP) JMP runtime路goPanicSlice3BU(SB) TEXT runtime路panicSlice3C(SB),NOSPLIT,$0-8 MOVL AX, x+0(FP) MOVL CX, y+4(FP) JMP runtime路goPanicSlice3C(SB) TEXT runtime路panicSlice3CU(SB),NOSPLIT,$0-8 MOVL AX, x+0(FP) MOVL CX, y+4(FP) JMP runtime路goPanicSlice3CU(SB) TEXT runtime路panicSliceConvert(SB),NOSPLIT,$0-8 MOVL DX, x+0(FP) MOVL BX, y+4(FP) JMP runtime路goPanicSliceConvert(SB) // Extended versions for 64-bit indexes. TEXT runtime路panicExtendIndex(SB),NOSPLIT,$0-12 MOVL SI, hi+0(FP) MOVL AX, lo+4(FP) MOVL CX, y+8(FP) JMP runtime路goPanicExtendIndex(SB) TEXT runtime路panicExtendIndexU(SB),NOSPLIT,$0-12 MOVL SI, hi+0(FP) MOVL AX, lo+4(FP) MOVL CX, y+8(FP) JMP runtime路goPanicExtendIndexU(SB) TEXT runtime路panicExtendSliceAlen(SB),NOSPLIT,$0-12 MOVL SI, hi+0(FP) MOVL CX, lo+4(FP) MOVL DX, y+8(FP) JMP runtime路goPanicExtendSliceAlen(SB) TEXT runtime路panicExtendSliceAlenU(SB),NOSPLIT,$0-12 MOVL SI, hi+0(FP) MOVL CX, lo+4(FP) MOVL DX, y+8(FP) JMP runtime路goPanicExtendSliceAlenU(SB) TEXT runtime路panicExtendSliceAcap(SB),NOSPLIT,$0-12 MOVL SI, hi+0(FP) MOVL CX, lo+4(FP) MOVL DX, y+8(FP) JMP runtime路goPanicExtendSliceAcap(SB) TEXT runtime路panicExtendSliceAcapU(SB),NOSPLIT,$0-12 MOVL SI, hi+0(FP) MOVL CX, lo+4(FP) MOVL DX, y+8(FP) JMP runtime路goPanicExtendSliceAcapU(SB) TEXT runtime路panicExtendSliceB(SB),NOSPLIT,$0-12 MOVL SI, hi+0(FP) MOVL AX, lo+4(FP) MOVL CX, y+8(FP) JMP runtime路goPanicExtendSliceB(SB) TEXT runtime路panicExtendSliceBU(SB),NOSPLIT,$0-12 MOVL SI, hi+0(FP) MOVL AX, lo+4(FP) MOVL CX, y+8(FP) JMP runtime路goPanicExtendSliceBU(SB) TEXT runtime路panicExtendSlice3Alen(SB),NOSPLIT,$0-12 MOVL SI, hi+0(FP) MOVL DX, lo+4(FP) MOVL BX, y+8(FP) JMP runtime路goPanicExtendSlice3Alen(SB) TEXT runtime路panicExtendSlice3AlenU(SB),NOSPLIT,$0-12 MOVL SI, hi+0(FP) MOVL DX, lo+4(FP) MOVL BX, y+8(FP) JMP runtime路goPanicExtendSlice3AlenU(SB) TEXT runtime路panicExtendSlice3Acap(SB),NOSPLIT,$0-12 MOVL SI, hi+0(FP) MOVL DX, lo+4(FP) MOVL BX, y+8(FP) JMP runtime路goPanicExtendSlice3Acap(SB) TEXT runtime路panicExtendSlice3AcapU(SB),NOSPLIT,$0-12 MOVL SI, hi+0(FP) MOVL DX, lo+4(FP) MOVL BX, y+8(FP) JMP runtime路goPanicExtendSlice3AcapU(SB) TEXT runtime路panicExtendSlice3B(SB),NOSPLIT,$0-12 MOVL SI, hi+0(FP) MOVL CX, lo+4(FP) MOVL DX, y+8(FP) JMP runtime路goPanicExtendSlice3B(SB) TEXT runtime路panicExtendSlice3BU(SB),NOSPLIT,$0-12 MOVL SI, hi+0(FP) MOVL CX, lo+4(FP) MOVL DX, y+8(FP) JMP runtime路goPanicExtendSlice3BU(SB) TEXT runtime路panicExtendSlice3C(SB),NOSPLIT,$0-12 MOVL SI, hi+0(FP) MOVL AX, lo+4(FP) MOVL CX, y+8(FP) JMP runtime路goPanicExtendSlice3C(SB) TEXT runtime路panicExtendSlice3CU(SB),NOSPLIT,$0-12 MOVL SI, hi+0(FP) MOVL AX, lo+4(FP) MOVL CX, y+8(FP) JMP runtime路goPanicExtendSlice3CU(SB) #ifdef GOOS_android // Use the free TLS_SLOT_APP slot #2 on Android Q. // Earlier androids are set up in gcc_android.c. DATA runtime路tls_g+0(SB)/4, $8 GLOBL runtime路tls_g+0(SB), NOPTR, $4 #endif