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: memmove_test.go
Close
// Copyright 2013 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. package runtime_test import ( "crypto/rand" "encoding/binary" "fmt" "internal/race" "internal/testenv" . "runtime" "sync/atomic" "testing" "unsafe" ) func TestMemmove(t *testing.T) { if *flagQuick { t.Skip("-quick") } t.Parallel() size := 256 if testing.Short() { size = 128 + 16 } src := make([]byte, size) dst := make([]byte, size) for i := 0; i < size; i++ { src[i] = byte(128 + (i & 127)) } for i := 0; i < size; i++ { dst[i] = byte(i & 127) } for n := 0; n <= size; n++ { for x := 0; x <= size-n; x++ { // offset in src for y := 0; y <= size-n; y++ { // offset in dst copy(dst[y:y+n], src[x:x+n]) for i := 0; i < y; i++ { if dst[i] != byte(i&127) { t.Fatalf("prefix dst[%d] = %d", i, dst[i]) } } for i := y; i < y+n; i++ { if dst[i] != byte(128+((i-y+x)&127)) { t.Fatalf("copied dst[%d] = %d", i, dst[i]) } dst[i] = byte(i & 127) // reset dst } for i := y + n; i < size; i++ { if dst[i] != byte(i&127) { t.Fatalf("suffix dst[%d] = %d", i, dst[i]) } } } } } } func TestMemmoveAlias(t *testing.T) { if *flagQuick { t.Skip("-quick") } t.Parallel() size := 256 if testing.Short() { size = 128 + 16 } buf := make([]byte, size) for i := 0; i < size; i++ { buf[i] = byte(i) } for n := 0; n <= size; n++ { for x := 0; x <= size-n; x++ { // src offset for y := 0; y <= size-n; y++ { // dst offset copy(buf[y:y+n], buf[x:x+n]) for i := 0; i < y; i++ { if buf[i] != byte(i) { t.Fatalf("prefix buf[%d] = %d", i, buf[i]) } } for i := y; i < y+n; i++ { if buf[i] != byte(i-y+x) { t.Fatalf("copied buf[%d] = %d", i, buf[i]) } buf[i] = byte(i) // reset buf } for i := y + n; i < size; i++ { if buf[i] != byte(i) { t.Fatalf("suffix buf[%d] = %d", i, buf[i]) } } } } } } func TestMemmoveLarge0x180000(t *testing.T) { if testing.Short() && testenv.Builder() == "" { t.Skip("-short") } t.Parallel() if race.Enabled { t.Skip("skipping large memmove test under race detector") } testSize(t, 0x180000) } func TestMemmoveOverlapLarge0x120000(t *testing.T) { if testing.Short() && testenv.Builder() == "" { t.Skip("-short") } t.Parallel() if race.Enabled { t.Skip("skipping large memmove test under race detector") } testOverlap(t, 0x120000) } func testSize(t *testing.T, size int) { src := make([]byte, size) dst := make([]byte, size) _, _ = rand.Read(src) _, _ = rand.Read(dst) ref := make([]byte, size) copyref(ref, dst) for n := size - 50; n > 1; n >>= 1 { for x := 0; x <= size-n; x = x*7 + 1 { // offset in src for y := 0; y <= size-n; y = y*9 + 1 { // offset in dst copy(dst[y:y+n], src[x:x+n]) copyref(ref[y:y+n], src[x:x+n]) p := cmpb(dst, ref) if p >= 0 { t.Fatalf("Copy failed, copying from src[%d:%d] to dst[%d:%d].\nOffset %d is different, %v != %v", x, x+n, y, y+n, p, dst[p], ref[p]) } } } } } func testOverlap(t *testing.T, size int) { src := make([]byte, size) test := make([]byte, size) ref := make([]byte, size) _, _ = rand.Read(src) for n := size - 50; n > 1; n >>= 1 { for x := 0; x <= size-n; x = x*7 + 1 { // offset in src for y := 0; y <= size-n; y = y*9 + 1 { // offset in dst // Reset input copyref(test, src) copyref(ref, src) copy(test[y:y+n], test[x:x+n]) if y <= x { copyref(ref[y:y+n], ref[x:x+n]) } else { copybw(ref[y:y+n], ref[x:x+n]) } p := cmpb(test, ref) if p >= 0 { t.Fatalf("Copy failed, copying from src[%d:%d] to dst[%d:%d].\nOffset %d is different, %v != %v", x, x+n, y, y+n, p, test[p], ref[p]) } } } } } // Forward copy. func copyref(dst, src []byte) { for i, v := range src { dst[i] = v } } // Backwards copy func copybw(dst, src []byte) { if len(src) == 0 { return } for i := len(src) - 1; i >= 0; i-- { dst[i] = src[i] } } // Returns offset of difference func matchLen(a, b []byte, max int) int { a = a[:max] b = b[:max] for i, av := range a { if b[i] != av { return i } } return max } func cmpb(a, b []byte) int { l := matchLen(a, b, len(a)) if l == len(a) { return -1 } return l } // Ensure that memmove writes pointers atomically, so the GC won't // observe a partially updated pointer. func TestMemmoveAtomicity(t *testing.T) { if race.Enabled { t.Skip("skip under the race detector -- this test is intentionally racy") } var x int for _, backward := range []bool{true, false} { for _, n := range []int{3, 4, 5, 6, 7, 8, 9, 10, 15, 25, 49} { n := n // test copying [N]*int. sz := uintptr(n * PtrSize) name := fmt.Sprint(sz) if backward { name += "-backward" } else { name += "-forward" } t.Run(name, func(t *testing.T) { // Use overlapping src and dst to force forward/backward copy. var s [100]*int src := s[n-1 : 2*n-1] dst := s[:n] if backward { src, dst = dst, src } for i := range src { src[i] = &x } for i := range dst { dst[i] = nil } var ready uint32 go func() { sp := unsafe.Pointer(&src[0]) dp := unsafe.Pointer(&dst[0]) atomic.StoreUint32(&ready, 1) for i := 0; i < 10000; i++ { Memmove(dp, sp, sz) MemclrNoHeapPointers(dp, sz) } atomic.StoreUint32(&ready, 2) }() for atomic.LoadUint32(&ready) == 0 { Gosched() } for atomic.LoadUint32(&ready) != 2 { for i := range dst { p := dst[i] if p != nil && p != &x { t.Fatalf("got partially updated pointer %p at dst[%d], want either nil or %p", p, i, &x) } } } }) } } } func benchmarkSizes(b *testing.B, sizes []int, fn func(b *testing.B, n int)) { for _, n := range sizes { b.Run(fmt.Sprint(n), func(b *testing.B) { b.SetBytes(int64(n)) fn(b, n) }) } } var bufSizes = []int{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, } var bufSizesOverlap = []int{ 32, 64, 128, 256, 512, 1024, 2048, 4096, } func BenchmarkMemmove(b *testing.B) { benchmarkSizes(b, bufSizes, func(b *testing.B, n int) { x := make([]byte, n) y := make([]byte, n) for i := 0; i < b.N; i++ { copy(x, y) } }) } func BenchmarkMemmoveOverlap(b *testing.B) { benchmarkSizes(b, bufSizesOverlap, func(b *testing.B, n int) { x := make([]byte, n+16) for i := 0; i < b.N; i++ { copy(x[16:n+16], x[:n]) } }) } func BenchmarkMemmoveUnalignedDst(b *testing.B) { benchmarkSizes(b, bufSizes, func(b *testing.B, n int) { x := make([]byte, n+1) y := make([]byte, n) for i := 0; i < b.N; i++ { copy(x[1:], y) } }) } func BenchmarkMemmoveUnalignedDstOverlap(b *testing.B) { benchmarkSizes(b, bufSizesOverlap, func(b *testing.B, n int) { x := make([]byte, n+16) for i := 0; i < b.N; i++ { copy(x[16:n+16], x[1:n+1]) } }) } func BenchmarkMemmoveUnalignedSrc(b *testing.B) { benchmarkSizes(b, bufSizes, func(b *testing.B, n int) { x := make([]byte, n) y := make([]byte, n+1) for i := 0; i < b.N; i++ { copy(x, y[1:]) } }) } func BenchmarkMemmoveUnalignedSrcOverlap(b *testing.B) { benchmarkSizes(b, bufSizesOverlap, func(b *testing.B, n int) { x := make([]byte, n+1) for i := 0; i < b.N; i++ { copy(x[1:n+1], x[:n]) } }) } func TestMemclr(t *testing.T) { size := 512 if testing.Short() { size = 128 + 16 } mem := make([]byte, size) for i := 0; i < size; i++ { mem[i] = 0xee } for n := 0; n < size; n++ { for x := 0; x <= size-n; x++ { // offset in mem MemclrBytes(mem[x : x+n]) for i := 0; i < x; i++ { if mem[i] != 0xee { t.Fatalf("overwrite prefix mem[%d] = %d", i, mem[i]) } } for i := x; i < x+n; i++ { if mem[i] != 0 { t.Fatalf("failed clear mem[%d] = %d", i, mem[i]) } mem[i] = 0xee } for i := x + n; i < size; i++ { if mem[i] != 0xee { t.Fatalf("overwrite suffix mem[%d] = %d", i, mem[i]) } } } } } func BenchmarkMemclr(b *testing.B) { for _, n := range []int{5, 16, 64, 256, 4096, 65536} { x := make([]byte, n) b.Run(fmt.Sprint(n), func(b *testing.B) { b.SetBytes(int64(n)) for i := 0; i < b.N; i++ { MemclrBytes(x) } }) } for _, m := range []int{1, 4, 8, 16, 64} { x := make([]byte, m<<20) b.Run(fmt.Sprint(m, "M"), func(b *testing.B) { b.SetBytes(int64(m << 20)) for i := 0; i < b.N; i++ { MemclrBytes(x) } }) } } func BenchmarkGoMemclr(b *testing.B) { benchmarkSizes(b, []int{5, 16, 64, 256}, func(b *testing.B, n int) { x := make([]byte, n) for i := 0; i < b.N; i++ { for j := range x { x[j] = 0 } } }) } func BenchmarkMemclrRange(b *testing.B) { type RunData struct { data []int } benchSizes := []RunData{ RunData{[]int{1043, 1078, 1894, 1582, 1044, 1165, 1467, 1100, 1919, 1562, 1932, 1645, 1412, 1038, 1576, 1200, 1029, 1336, 1095, 1494, 1350, 1025, 1502, 1548, 1316, 1296, 1868, 1639, 1546, 1626, 1642, 1308, 1726, 1665, 1678, 1187, 1515, 1598, 1353, 1237, 1977, 1452, 2012, 1914, 1514, 1136, 1975, 1618, 1536, 1695, 1600, 1733, 1392, 1099, 1358, 1996, 1224, 1783, 1197, 1838, 1460, 1556, 1554, 2020}}, // 1kb-2kb RunData{[]int{3964, 5139, 6573, 7775, 6553, 2413, 3466, 5394, 2469, 7336, 7091, 6745, 4028, 5643, 6164, 3475, 4138, 6908, 7559, 3335, 5660, 4122, 3945, 2082, 7564, 6584, 5111, 2288, 6789, 2797, 4928, 7986, 5163, 5447, 2999, 4968, 3174, 3202, 7908, 8137, 4735, 6161, 4646, 7592, 3083, 5329, 3687, 2754, 3599, 7231, 6455, 2549, 8063, 2189, 7121, 5048, 4277, 6626, 6306, 2815, 7473, 3963, 7549, 7255}}, // 2kb-8kb RunData{[]int{16304, 15936, 15760, 4736, 9136, 11184, 10160, 5952, 14560, 15744, 6624, 5872, 13088, 14656, 14192, 10304, 4112, 10384, 9344, 4496, 11392, 7024, 5200, 10064, 14784, 5808, 13504, 10480, 8512, 4896, 13264, 5600}}, // 4kb-16kb RunData{[]int{164576, 233136, 220224, 183280, 214112, 217248, 228560, 201728}}, // 128kb-256kb } for _, t := range benchSizes { total := 0 minLen := 0 maxLen := 0 for _, clrLen := range t.data { if clrLen > maxLen { maxLen = clrLen } if clrLen < minLen || minLen == 0 { minLen = clrLen } total += clrLen } buffer := make([]byte, maxLen) text := "" if minLen >= (1 << 20) { text = fmt.Sprint(minLen>>20, "M ", (maxLen+(1<<20-1))>>20, "M") } else if minLen >= (1 << 10) { text = fmt.Sprint(minLen>>10, "K ", (maxLen+(1<<10-1))>>10, "K") } else { text = fmt.Sprint(minLen, " ", maxLen) } b.Run(text, func(b *testing.B) { b.SetBytes(int64(total)) for i := 0; i < b.N; i++ { for _, clrLen := range t.data { MemclrBytes(buffer[:clrLen]) } } }) } } func BenchmarkClearFat8(b *testing.B) { for i := 0; i < b.N; i++ { var x [8 / 4]uint32 _ = x } } func BenchmarkClearFat12(b *testing.B) { for i := 0; i < b.N; i++ { var x [12 / 4]uint32 _ = x } } func BenchmarkClearFat16(b *testing.B) { for i := 0; i < b.N; i++ { var x [16 / 4]uint32 _ = x } } func BenchmarkClearFat24(b *testing.B) { for i := 0; i < b.N; i++ { var x [24 / 4]uint32 _ = x } } func BenchmarkClearFat32(b *testing.B) { for i := 0; i < b.N; i++ { var x [32 / 4]uint32 _ = x } } func BenchmarkClearFat40(b *testing.B) { for i := 0; i < b.N; i++ { var x [40 / 4]uint32 _ = x } } func BenchmarkClearFat48(b *testing.B) { for i := 0; i < b.N; i++ { var x [48 / 4]uint32 _ = x } } func BenchmarkClearFat56(b *testing.B) { for i := 0; i < b.N; i++ { var x [56 / 4]uint32 _ = x } } func BenchmarkClearFat64(b *testing.B) { for i := 0; i < b.N; i++ { var x [64 / 4]uint32 _ = x } } func BenchmarkClearFat128(b *testing.B) { for i := 0; i < b.N; i++ { var x [128 / 4]uint32 _ = x } } func BenchmarkClearFat256(b *testing.B) { for i := 0; i < b.N; i++ { var x [256 / 4]uint32 _ = x } } func BenchmarkClearFat512(b *testing.B) { for i := 0; i < b.N; i++ { var x [512 / 4]uint32 _ = x } } func BenchmarkClearFat1024(b *testing.B) { for i := 0; i < b.N; i++ { var x [1024 / 4]uint32 _ = x } } func BenchmarkCopyFat8(b *testing.B) { var x [8 / 4]uint32 for i := 0; i < b.N; i++ { y := x _ = y } } func BenchmarkCopyFat12(b *testing.B) { var x [12 / 4]uint32 for i := 0; i < b.N; i++ { y := x _ = y } } func BenchmarkCopyFat16(b *testing.B) { var x [16 / 4]uint32 for i := 0; i < b.N; i++ { y := x _ = y } } func BenchmarkCopyFat24(b *testing.B) { var x [24 / 4]uint32 for i := 0; i < b.N; i++ { y := x _ = y } } func BenchmarkCopyFat32(b *testing.B) { var x [32 / 4]uint32 for i := 0; i < b.N; i++ { y := x _ = y } } func BenchmarkCopyFat64(b *testing.B) { var x [64 / 4]uint32 for i := 0; i < b.N; i++ { y := x _ = y } } func BenchmarkCopyFat128(b *testing.B) { var x [128 / 4]uint32 for i := 0; i < b.N; i++ { y := x _ = y } } func BenchmarkCopyFat256(b *testing.B) { var x [256 / 4]uint32 for i := 0; i < b.N; i++ { y := x _ = y } } func BenchmarkCopyFat512(b *testing.B) { var x [512 / 4]uint32 for i := 0; i < b.N; i++ { y := x _ = y } } func BenchmarkCopyFat520(b *testing.B) { var x [520 / 4]uint32 for i := 0; i < b.N; i++ { y := x _ = y } } func BenchmarkCopyFat1024(b *testing.B) { var x [1024 / 4]uint32 for i := 0; i < b.N; i++ { y := x _ = y } } // BenchmarkIssue18740 ensures that memmove uses 4 and 8 byte load/store to move 4 and 8 bytes. // It used to do 2 2-byte load/stores, which leads to a pipeline stall // when we try to read the result with one 4-byte load. func BenchmarkIssue18740(b *testing.B) { benchmarks := []struct { name string nbyte int f func([]byte) uint64 }{ {"2byte", 2, func(buf []byte) uint64 { return uint64(binary.LittleEndian.Uint16(buf)) }}, {"4byte", 4, func(buf []byte) uint64 { return uint64(binary.LittleEndian.Uint32(buf)) }}, {"8byte", 8, func(buf []byte) uint64 { return binary.LittleEndian.Uint64(buf) }}, } var g [4096]byte for _, bm := range benchmarks { buf := make([]byte, bm.nbyte) b.Run(bm.name, func(b *testing.B) { for j := 0; j < b.N; j++ { for i := 0; i < 4096; i += bm.nbyte { copy(buf[:], g[i:]) sink += bm.f(buf[:]) } } }) } }