go/src/runtime
Michael Anthony Knyszek a2c396ce00 runtime: make the wait reason for a g blocked on a mutex more specific
This change adds 3 new waitReasons that correspond to sync.Mutex.Lock,
sync.RWMutex.RLock, and sync.RWMutex.Lock that are plumbed down into
semacquire1 by exporting new functions to the sync package from the
runtime.

Currently these three functions show up as "semacquire" in backtraces
which isn't very clear, though the stack trace itself should reveal
what's really going on. This represents a minor improvement to backtrace
readability, though blocking on an RWMutex.w.Lock will still show up as
blocking on a regular mutex (I suppose technically it is).

This is a step toward helping the runtime identify when a goroutine is
blocked on a mutex of some kind.

For #49881.

Change-Id: Ia409b4d27e117fe4bfdc25fa541e9c58d6d587b9
Reviewed-on: https://go-review.googlesource.com/c/go/+/427616
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
2022-09-16 16:32:27 +00:00
..
asan runtime: add address sanitizer support for ppc64le 2022-08-26 18:13:33 +00:00
cgo cmd/cgo: add and use runtime/cgo.Incomplete instead of //go:notinheap 2022-08-28 16:04:49 +00:00
debug all: gofmt main repo 2022-05-19 15:49:05 +00:00
internal cmd/compile: make runtime/internal/sys.NotInHeap intrinsic 2022-09-02 18:24:50 +00:00
metrics runtime/metrics: add CPU stats 2022-09-16 16:32:20 +00:00
msan
pprof runtime: make the wait reason for a g blocked on a mutex more specific 2022-09-16 16:32:27 +00:00
race runtime/race: introduce subarch versioning of race syso 2022-09-15 14:08:12 +00:00
testdata cmd/compile: add support for unsafe.{String,StringData,SliceData} 2022-08-31 17:15:15 +00:00
trace all: remove unnecessary allocations from w.WriteString(fmt.Sprint*(...)) by fmt.Fprint*(w, ...) 2022-09-14 16:11:21 +00:00
HACKING.md runtime: add and use runtime/internal/sys.NotInHeap 2022-08-19 00:29:18 +00:00
Makefile
abi_test.go all: delete regabireflect goexperiment 2022-03-18 14:45:56 +00:00
alg.go cmd/compile,runtime,reflect: move embedded bit from offset to name 2022-06-14 23:22:11 +00:00
align_runtime_test.go runtime: convert ticksType.val to atomic type 2022-08-23 20:00:03 +00:00
align_test.go runtime: use strings.Builder 2022-09-07 07:02:51 +00:00
asan.go cmd/compile: enable Asan check for global variables 2022-05-04 18:51:19 +00:00
asan0.go cmd/compile: enable Asan check for global variables 2022-05-04 18:51:19 +00:00
asan_amd64.s cmd/compile: enable Asan check for global variables 2022-05-04 18:51:19 +00:00
asan_arm64.s cmd/compile: enable Asan check for global variables 2022-05-04 18:51:19 +00:00
asan_ppc64le.s runtime: add address sanitizer support for ppc64le 2022-08-26 18:13:33 +00:00
asan_riscv64.s runtime: add address sanitizer support for riscv64 2022-05-16 06:55:54 +00:00
asm.s
asm_386.s runtime: AES maphash scramble 3 times on 386 2022-02-09 06:35:15 +00:00
asm_amd64.h runtime: remove dead code and unnecessary checks for amd64 2022-08-18 17:17:01 +00:00
asm_amd64.s all: fix spelling 2022-05-18 00:47:29 +00:00
asm_arm.s runtime: mark morestack_noctxt SPWRITE on LR architectures 2022-08-25 14:56:18 +00:00
asm_arm64.s runtime: mark morestack_noctxt SPWRITE on LR architectures 2022-08-25 14:56:18 +00:00
asm_loong64.s runtime: clean up unused function gosave on loong64 2022-06-28 16:41:48 +00:00
asm_mips64x.s runtime: mark morestack_noctxt SPWRITE on LR architectures 2022-08-25 14:56:18 +00:00
asm_mipsx.s runtime: mark morestack_noctxt SPWRITE on LR architectures 2022-08-25 14:56:18 +00:00
asm_ppc64x.h
asm_ppc64x.s runtime: mark morestack_noctxt SPWRITE on LR architectures 2022-08-25 14:56:18 +00:00
asm_riscv64.s runtime: mark morestack_noctxt SPWRITE on LR architectures 2022-08-25 14:56:18 +00:00
asm_s390x.s runtime: mark morestack_noctxt SPWRITE on LR architectures 2022-08-25 14:56:18 +00:00
asm_wasm.s
atomic_arm64.s
atomic_loong64.s runtime: implement runtime entry for linux/loong64 2022-05-20 15:12:31 +00:00
atomic_mips64x.s
atomic_mipsx.s
atomic_pointer.go
atomic_ppc64x.s
atomic_riscv64.s
auxv_none.go
callers_test.go cmd/compile: fix missing source information in ssa view 2022-04-18 18:43:21 +00:00
cgo.go
cgo_mmap.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
cgo_ppc64x.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
cgo_sigaction.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
cgocall.go Revert "runtime: convert ncgocall to atomic type" 2022-09-01 18:08:05 +00:00
cgocallback.go
cgocheck.go runtime: redo heap bitmap 2022-08-16 20:39:36 +00:00
chan.go runtime: convert g.selectDone to atomic type 2022-08-26 15:36:36 +00:00
chan_test.go runtime: skip TestNoShrinkStackWhileParking on openbsd 2022-04-22 17:22:12 +00:00
chanbarrier_test.go
checkptr.go
checkptr_test.go cmd/compile: add support for unsafe.{String,StringData,SliceData} 2022-08-31 17:15:15 +00:00
closure_test.go
compiler.go all: remove trailing blank doc comment lines 2022-04-01 18:18:07 +00:00
complex.go
complex_test.go
conv_wasm_test.go
cpuflags.go
cpuflags_amd64.go
cpuflags_arm64.go
cpuprof.go runtime: convert prof.hz to atomic type 2022-08-12 01:53:44 +00:00
cputicks.go runtime: implement runtime entry for linux/loong64 2022-05-20 15:12:31 +00:00
crash_cgo_test.go Revert "runtime/trace: add missing events for the locked g in extra M." 2022-08-15 15:22:28 +00:00
crash_test.go runtime: gofmt 2022-08-09 22:46:10 +00:00
crash_unix_test.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
debug.go Revert "runtime: convert ncgocall to atomic type" 2022-09-01 18:08:05 +00:00
debug_test.go Revert "runtime: convert local var stop,ready at TestDebugCallUnsafePoint to atomic type" 2022-09-06 14:44:23 +00:00
debugcall.go runtime: support for debugger function calls on linux/arm64 2022-04-23 05:38:56 +00:00
debuglog.go runtime: replace stringStruct with unsafe.String where appropriate 2022-09-13 16:42:28 +00:00
debuglog_off.go
debuglog_on.go
debuglog_test.go runtime: use strings.Builder 2022-09-07 07:02:51 +00:00
defer_test.go
defs1_linux.go
defs1_netbsd_386.go runtime: support MADV_DONTNEED on the BSDs and Solaris/Illumos 2022-09-02 17:48:16 +00:00
defs1_netbsd_amd64.go runtime: support MADV_DONTNEED on the BSDs and Solaris/Illumos 2022-09-02 17:48:16 +00:00
defs1_netbsd_arm.go runtime: support MADV_DONTNEED on the BSDs and Solaris/Illumos 2022-09-02 17:48:16 +00:00
defs1_netbsd_arm64.go runtime: support MADV_DONTNEED on the BSDs and Solaris/Illumos 2022-09-02 17:48:16 +00:00
defs1_solaris_amd64.go runtime: support MADV_DONTNEED on the BSDs and Solaris/Illumos 2022-09-02 17:48:16 +00:00
defs2_linux.go
defs3_linux.go
defs_aix.go
defs_aix_ppc64.go
defs_arm_linux.go
defs_darwin.go
defs_darwin_amd64.go
defs_darwin_arm64.go
defs_dragonfly.go runtime: support MADV_DONTNEED on the BSDs and Solaris/Illumos 2022-09-02 17:48:16 +00:00
defs_dragonfly_amd64.go runtime: support MADV_DONTNEED on the BSDs and Solaris/Illumos 2022-09-02 17:48:16 +00:00
defs_freebsd.go runtime: switch FreeBSD to use the non-COMPAT_FREEBSD11 version of the kevent syscall 2022-09-16 06:31:07 +00:00
defs_freebsd_386.go runtime: switch FreeBSD to use the non-COMPAT_FREEBSD11 version of the kevent syscall 2022-09-16 06:31:07 +00:00
defs_freebsd_amd64.go runtime: switch FreeBSD to use the non-COMPAT_FREEBSD11 version of the kevent syscall 2022-09-16 06:31:07 +00:00
defs_freebsd_arm.go runtime: switch FreeBSD to use the non-COMPAT_FREEBSD11 version of the kevent syscall 2022-09-16 06:31:07 +00:00
defs_freebsd_arm64.go runtime: switch FreeBSD to use the non-COMPAT_FREEBSD11 version of the kevent syscall 2022-09-16 06:31:07 +00:00
defs_illumos_amd64.go
defs_linux.go runtime: remove fallback to pipe on platforms with pipe2 2022-03-03 20:47:17 +00:00
defs_linux_386.go runtime: remove fallback to pipe on platforms with pipe2 2022-03-03 20:47:17 +00:00
defs_linux_amd64.go runtime: remove fallback to pipe on platforms with pipe2 2022-03-03 20:47:17 +00:00
defs_linux_arm.go runtime: remove fallback to pipe on platforms with pipe2 2022-03-03 20:47:17 +00:00
defs_linux_arm64.go runtime: remove fallback to pipe on platforms with pipe2 2022-03-03 20:47:17 +00:00
defs_linux_loong64.go runtime: remove unused pipe and setNonblock on linux/loong64 2022-06-08 01:54:08 +00:00
defs_linux_mips64x.go runtime: remove fallback to pipe on platforms with pipe2 2022-03-03 20:47:17 +00:00
defs_linux_mipsx.go runtime: remove fallback to pipe on platforms with pipe2 2022-03-03 20:47:17 +00:00
defs_linux_ppc64.go runtime: remove fallback to pipe on platforms with pipe2 2022-03-03 20:47:17 +00:00
defs_linux_ppc64le.go runtime: remove fallback to pipe on platforms with pipe2 2022-03-03 20:47:17 +00:00
defs_linux_riscv64.go runtime: remove fallback to pipe on platforms with pipe2 2022-03-03 20:47:17 +00:00
defs_linux_s390x.go runtime: remove fallback to pipe on platforms with pipe2 2022-03-03 20:47:17 +00:00
defs_netbsd.go runtime: support MADV_DONTNEED on the BSDs and Solaris/Illumos 2022-09-02 17:48:16 +00:00
defs_netbsd_386.go
defs_netbsd_amd64.go
defs_netbsd_arm.go
defs_openbsd.go runtime: support MADV_DONTNEED on the BSDs and Solaris/Illumos 2022-09-02 17:48:16 +00:00
defs_openbsd_386.go runtime: support MADV_DONTNEED on the BSDs and Solaris/Illumos 2022-09-02 17:48:16 +00:00
defs_openbsd_amd64.go runtime: support MADV_DONTNEED on the BSDs and Solaris/Illumos 2022-09-02 17:48:16 +00:00
defs_openbsd_arm.go runtime: support MADV_DONTNEED on the BSDs and Solaris/Illumos 2022-09-02 17:48:16 +00:00
defs_openbsd_arm64.go runtime: support MADV_DONTNEED on the BSDs and Solaris/Illumos 2022-09-02 17:48:16 +00:00
defs_openbsd_mips64.go runtime: support MADV_DONTNEED on the BSDs and Solaris/Illumos 2022-09-02 17:48:16 +00:00
defs_plan9_386.go
defs_plan9_amd64.go
defs_plan9_arm.go
defs_solaris.go runtime: support MADV_DONTNEED on the BSDs and Solaris/Illumos 2022-09-02 17:48:16 +00:00
defs_solaris_amd64.go
defs_windows.go
defs_windows_386.go
defs_windows_amd64.go
defs_windows_arm.go
defs_windows_arm64.go
duff_386.s
duff_amd64.s
duff_arm.s
duff_arm64.s
duff_loong64.s runtime: implement duffzero/duffcopy for linux/loong64 2022-05-19 19:13:17 +00:00
duff_mips64x.s
duff_ppc64x.s
duff_riscv64.s runtime: add runtime changes for register ABI on riscv64 2022-03-30 01:12:57 +00:00
duff_s390x.s
env_plan9.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
env_posix.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
env_test.go
error.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
example_test.go
export_aix_test.go runtime: remove fallback to pipe on platforms with pipe2 2022-03-03 20:47:17 +00:00
export_arm_test.go
export_darwin_test.go runtime: remove fallback to pipe on platforms with pipe2 2022-03-03 20:47:17 +00:00
export_debug_amd64_test.go runtime: support for debugger function calls on linux/arm64 2022-04-23 05:38:56 +00:00
export_debug_arm64_test.go runtime: support for debugger function calls on linux/arm64 2022-04-23 05:38:56 +00:00
export_debug_test.go runtime: convert g.atomicstatus to internal atomic type 2022-09-05 07:14:08 +00:00
export_debuglog_test.go runtime: trivial replacements of g in remaining files 2022-08-02 18:52:33 +00:00
export_linux_test.go
export_mmap_test.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
export_openbsd_test.go internal/poll, internal/syscall/unix, net, runtime: convert openbsd (except mips64) to direct libc calls 2022-08-31 16:59:38 +00:00
export_pipe2_test.go runtime: remove fallback to pipe on platforms with pipe2 2022-03-03 20:47:17 +00:00
export_pipe_test.go
export_solaris_test.go
export_test.go runtime: shrink time histogram buckets 2022-09-16 16:32:01 +00:00
export_unix_test.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
export_windows_test.go
extern.go runtime: support MADV_DONTNEED on the BSDs and Solaris/Illumos 2022-09-02 17:48:16 +00:00
fastlog2.go
fastlog2_test.go
fastlog2table.go
float.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
float_test.go
funcdata.h cmd/compile, runtime: use unwrapped PC for goroutine creation tracing 2022-02-11 20:01:24 +00:00
gc_test.go runtime/debug: export SetMemoryLimit 2022-05-03 15:14:09 +00:00
gcinfo_test.go runtime: add loong64 to architectures known to TestGCInfo 2022-05-20 15:12:39 +00:00
go_tls.h
hash32.go
hash64.go runtime: add build tag for common support on linux/loong64 2022-05-20 15:12:37 +00:00
hash_test.go runtime: disable windowed Smhasher test on 32-bit systems 2022-04-27 00:09:45 +00:00
heapdump.go runtime: replace stringStruct with unsafe.String where appropriate 2022-09-13 16:42:28 +00:00
histogram.go runtime: shrink time histogram buckets 2022-09-16 16:32:01 +00:00
histogram_test.go runtime: shrink time histogram buckets 2022-09-16 16:32:01 +00:00
iface.go
iface_test.go
lfstack.go
lfstack_32bit.go
lfstack_64bit.go runtime: support riscv64 SV57 mode 2022-08-04 05:33:40 +00:00
lfstack_test.go
libfuzzer.go runtime: mark string comparison hooks as no split 2022-06-25 21:33:56 +00:00
libfuzzer_amd64.s cmd/compile: support libFuzzer value profiling mode for integer compares 2022-05-23 16:21:22 +00:00
libfuzzer_arm64.s runtime: fix inline assembly trampoline for arm64 2022-06-07 14:47:46 +00:00
lock_futex.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
lock_js.go runtime: tweak js and plan9 to avoid/disable write barrier & gc problems 2022-05-13 19:51:37 +00:00
lock_sema.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
lockrank.go runtime: add mayAcquire annotation for trace.lock 2022-08-11 20:16:37 +00:00
lockrank_off.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
lockrank_on.go runtime: convert worldIsStopped to atomic type 2022-08-31 17:15:13 +00:00
lockrank_test.go runtime: generate the lock ranking from a DAG description 2022-08-04 15:31:44 +00:00
malloc.go runtime: remove unused scanSize parameter to gcmarknewobject 2022-09-08 16:06:04 +00:00
malloc_test.go runtime: clean up escaping in tests 2022-04-28 18:28:44 +00:00
map.go runtime: differentiate "user" and "system" throws 2022-04-28 16:50:31 +00:00
map_benchmark_test.go
map_fast32.go runtime: differentiate "user" and "system" throws 2022-04-28 16:50:31 +00:00
map_fast64.go runtime: differentiate "user" and "system" throws 2022-04-28 16:50:31 +00:00
map_faststr.go runtime: differentiate "user" and "system" throws 2022-04-28 16:50:31 +00:00
map_test.go runtime: clean up escaping in tests 2022-04-28 18:28:44 +00:00
mbarrier.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
mbitmap.go runtime: make getStackMap a method of stkframe 2022-09-02 19:08:56 +00:00
mcache.go runtime: convert mcache.flushGen to atomic type 2022-08-31 15:30:26 +00:00
mcentral.go runtime: add and use runtime/internal/sys.NotInHeap 2022-08-19 00:29:18 +00:00
mcheckmark.go runtime: add and use runtime/internal/sys.NotInHeap 2022-08-19 00:29:18 +00:00
mem.go all: gofmt main repo 2022-05-19 15:49:05 +00:00
mem_aix.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
mem_bsd.go runtime: support MADV_DONTNEED on the BSDs and Solaris/Illumos 2022-09-02 17:48:16 +00:00
mem_darwin.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
mem_js.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
mem_linux.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
mem_plan9.go runtime: add wrappers for sys* functions and consolidate docs 2022-03-31 20:02:55 +00:00
mem_windows.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
memclr_386.s
memclr_amd64.s runtime: store pointer-size words in memclr 2022-05-10 20:52:34 +00:00
memclr_arm.s
memclr_arm64.s all: delete ARM64 non-register ABI fallback path 2022-03-18 18:26:13 +00:00
memclr_loong64.s runtime: support memclr/memmove for linux/loong64 2022-05-19 19:13:01 +00:00
memclr_mips64x.s
memclr_mipsx.s
memclr_plan9_386.s
memclr_plan9_amd64.s
memclr_ppc64x.s runtime: improve memclr on ppc64x 2022-04-18 12:04:50 +00:00
memclr_riscv64.s runtime: optimise memclrNoHeapPointers on riscv64 2022-09-15 19:29:39 +00:00
memclr_s390x.s
memclr_wasm.s
memmove_386.s
memmove_amd64.s runtime: fix URL in a comment 2022-04-10 15:52:08 +00:00
memmove_arm.s
memmove_arm64.s all: delete ARM64 non-register ABI fallback path 2022-03-18 18:26:13 +00:00
memmove_linux_amd64_test.go runtime: simplify code using unsafe.{Slice,String} 2022-09-07 01:48:30 +00:00
memmove_loong64.s runtime: support memclr/memmove for linux/loong64 2022-05-19 19:13:01 +00:00
memmove_mips64x.s
memmove_mipsx.s
memmove_plan9_386.s
memmove_plan9_amd64.s
memmove_ppc64x.s runtime: improve memmove for ppc64x 2022-04-12 13:54:06 +00:00
memmove_riscv64.s runtime: port memmove, memclr to register ABI on riscv64 2022-04-13 01:15:22 +00:00
memmove_s390x.s
memmove_test.go runtime: convert local var ready at TestMemmoveAtomicity to atomic type 2022-09-05 08:07:56 +00:00
memmove_wasm.s
metrics.go runtime: make the wait reason for a g blocked on a mutex more specific 2022-09-16 16:32:27 +00:00
metrics_test.go runtime/metrics: add CPU stats 2022-09-16 16:32:20 +00:00
mfinal.go runtime: refactor finalizer goroutine status 2022-09-05 08:28:34 +00:00
mfinal_test.go runtime: count spill slot for frame size at finalizer call 2022-03-03 18:04:51 +00:00
mfixalloc.go runtime: add and use runtime/internal/sys.NotInHeap 2022-08-19 00:29:18 +00:00
mgc.go runtime/metrics: add CPU stats 2022-09-16 16:32:20 +00:00
mgclimit.go runtime/metrics: add CPU stats 2022-09-16 16:32:20 +00:00
mgclimit_test.go runtime: make CPU limiter assist time much less error-prone 2022-05-13 16:02:20 +00:00
mgcmark.go runtime: remove unused scanSize parameter to gcmarknewobject 2022-09-08 16:06:04 +00:00
mgcpacer.go runtime: convert workType.cycles to internal atomic types 2022-08-31 15:12:18 +00:00
mgcpacer_test.go runtime: set the heap goal from the memory limit 2022-05-03 15:13:35 +00:00
mgcscavenge.go runtime/metrics: add CPU stats 2022-09-16 16:32:20 +00:00
mgcscavenge_test.go runtime: redesign scavenging algorithm 2022-05-03 15:13:53 +00:00
mgcstack.go runtime: add and use runtime/internal/sys.NotInHeap 2022-08-19 00:29:18 +00:00
mgcsweep.go runtime: convert gcController.heapLive to atomic type 2022-08-08 14:11:09 +00:00
mgcwork.go runtime: add and use runtime/internal/sys.NotInHeap 2022-08-19 00:29:18 +00:00
mheap.go runtime/metrics: add CPU stats 2022-09-16 16:32:20 +00:00
mkduff.go runtime: implement duffzero/duffcopy for linux/loong64 2022-05-19 19:13:17 +00:00
mkfastlog2table.go runtime: avoid fma in mkfastlog2table 2022-06-26 22:12:19 +00:00
mklockrank.go runtime: add mayAcquire annotation for trace.lock 2022-08-11 20:16:37 +00:00
mkpreempt.go runtime: remove dead code and unnecessary checks for amd64 2022-08-18 17:17:01 +00:00
mksizeclasses.go
mmap.go
mpagealloc.go runtime/metrics: add CPU stats 2022-09-16 16:32:20 +00:00
mpagealloc_32bit.go runtime: redesign scavenging algorithm 2022-05-03 15:13:53 +00:00
mpagealloc_64bit.go runtime: add build tag for common support on linux/loong64 2022-05-20 15:12:37 +00:00
mpagealloc_test.go
mpagecache.go runtime: change maxSearchAddr into a helper function 2022-05-11 03:28:01 +00:00
mpagecache_test.go
mpallocbits.go
mpallocbits_test.go
mprof.go runtime: refactor finalizer goroutine status 2022-09-05 08:28:34 +00:00
mranges.go runtime: redesign scavenging algorithm 2022-05-03 15:13:53 +00:00
mranges_test.go
msan.go runtime: trivial replacements of g in remaining files 2022-08-02 18:52:33 +00:00
msan0.go
msan_amd64.s
msan_arm64.s
msize.go
mspanset.go runtime: use atomic types in mspanset.go for alignment and type safety 2022-09-08 15:48:37 +00:00
mstats.go runtime/metrics: add CPU stats 2022-09-16 16:32:20 +00:00
mwbbuf.go runtime: rename _p_ to pp 2022-08-02 18:51:06 +00:00
nbpipe_fcntl_libc_test.go internal/poll, internal/syscall/unix, net, runtime: convert openbsd (except mips64) to direct libc calls 2022-08-31 16:59:38 +00:00
nbpipe_fcntl_unix_test.go internal/poll, internal/syscall/unix, net, runtime: convert openbsd (except mips64) to direct libc calls 2022-08-31 16:59:38 +00:00
nbpipe_pipe.go
nbpipe_pipe2.go runtime: remove fallback to pipe on platforms with pipe2 2022-03-03 20:47:17 +00:00
nbpipe_pipe_test.go runtime: remove fallback to pipe on platforms with pipe2 2022-03-03 20:47:17 +00:00
nbpipe_test.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
net_plan9.go
netpoll.go runtime: convert netpollWaiters to internal atomic type 2022-08-25 21:52:20 +00:00
netpoll_aix.go runtime: convert aix netpollWakeSig to atomic type 2022-08-17 17:39:31 +00:00
netpoll_epoll.go runtime: convert linux netpollWakeSig to atomic type 2022-08-17 17:39:16 +00:00
netpoll_fake.go
netpoll_kqueue.go runtime: convert kqueue netpollWakeSig to atomic type 2022-08-17 17:39:58 +00:00
netpoll_os_test.go
netpoll_solaris.go runtime: convert solaris netpollWakeSig to atomic type 2022-08-17 17:39:40 +00:00
netpoll_stub.go runtime: convert netpollWaiters to internal atomic type 2022-08-25 21:52:20 +00:00
netpoll_windows.go runtime: convert windows netpollWakeSig to atomic type 2022-08-17 17:39:50 +00:00
norace_linux_test.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
norace_test.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
numcpu_freebsd_test.go
os2_aix.go runtime: trivial replacements of _g_ in os files 2022-08-02 18:51:58 +00:00
os2_freebsd.go
os2_openbsd.go
os2_plan9.go
os2_solaris.go
os3_plan9.go runtime: tricky replacements of _g_ in os3_plan9.go 2022-08-02 18:51:38 +00:00
os3_solaris.go runtime: tricky replacements of _g_ in os3_solaris.go 2022-08-02 18:51:42 +00:00
os_aix.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
os_android.go
os_darwin.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
os_darwin_arm64.go
os_dragonfly.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
os_freebsd.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
os_freebsd2.go
os_freebsd_amd64.go
os_freebsd_arm.go
os_freebsd_arm64.go
os_freebsd_noauxv.go
os_illumos.go
os_js.go runtime: trivial replacements of g in remaining files 2022-08-02 18:52:33 +00:00
os_linux.go runtime: convert mOS.profileTimerValid to internal atomic type 2022-08-31 15:12:21 +00:00
os_linux_arm.go runtime: refactor ARM VDSO call setup to helper 2022-08-17 20:02:39 +00:00
os_linux_arm64.go
os_linux_be64.go
os_linux_generic.go
os_linux_loong64.go runtime: implement runtime entry for linux/loong64 2022-05-20 15:12:31 +00:00
os_linux_mips64x.go
os_linux_mipsx.go
os_linux_noauxv.go runtime: implement runtime entry for linux/loong64 2022-05-20 15:12:31 +00:00
os_linux_novdso.go runtime: support vdso for linux/loong64 2022-05-19 19:32:35 +00:00
os_linux_ppc64x.go
os_linux_riscv64.go
os_linux_s390x.go
os_linux_x86.go
os_netbsd.go runtime: trivial replacements of _g_ in os files 2022-08-02 18:51:58 +00:00
os_netbsd_386.go
os_netbsd_amd64.go
os_netbsd_arm.go
os_netbsd_arm64.go
os_nonopenbsd.go
os_only_solaris.go
os_openbsd.go internal/cpu: implement CPU feature detection for openbsd/arm64 2022-08-08 15:07:46 +00:00
os_openbsd_arm.go
os_openbsd_arm64.go
os_openbsd_libc.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
os_openbsd_mips64.go
os_openbsd_syscall.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
os_openbsd_syscall1.go
os_openbsd_syscall2.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
os_plan9.go runtime: trivial replacements of g in remaining files 2022-08-02 18:52:33 +00:00
os_plan9_arm.go
os_solaris.go
os_windows.go runtime: convert m.preemptGen to atomic type 2022-08-17 17:47:37 +00:00
os_windows_arm.go
os_windows_arm64.go
panic.go runtime: remove unused parameter on runOpenDeferFrame 2022-09-06 17:05:15 +00:00
panic32.go
panic_test.go
plugin.go
preempt.go runtime: rename _func.nameoff and friends to nameOff 2022-09-07 15:11:05 +00:00
preempt_386.s
preempt_amd64.s runtime: remove dead code and unnecessary checks for amd64 2022-08-18 17:17:01 +00:00
preempt_arm.s
preempt_arm64.s runtime: use stp/ldp to save and restore all registers on arm64 2022-03-03 01:58:56 +00:00
preempt_loong64.s runtime: implement asyncPreempt for linux/loong64 2022-05-19 02:40:14 +00:00
preempt_mips64x.s
preempt_mipsx.s
preempt_nonwindows.go
preempt_ppc64x.s
preempt_riscv64.s
preempt_s390x.s
preempt_wasm.s
print.go runtime: convert panicking to atomic type 2022-08-12 01:38:55 +00:00
proc.go runtime: simplify code using unsafe.{Slice,String} 2022-09-07 01:48:30 +00:00
proc_runtime_test.go runtime: improve work stealing randomness 2022-03-01 18:43:08 +00:00
proc_test.go runtime: fix overflow in PingPongHog test 2022-05-19 21:33:15 +00:00
profbuf.go runtime: convert profbuf.eof to atomic type 2022-08-18 02:51:31 +00:00
profbuf_test.go
proflabel.go
race.go runtime: rename _func.nameoff and friends to nameOff 2022-09-07 15:11:05 +00:00
race0.go
race_amd64.s runtime: make racereadrange ABIinternal 2022-05-09 16:59:57 +00:00
race_arm64.s runtime: unify C->Go ABI transitions on arm64 2022-03-30 01:28:43 +00:00
race_ppc64le.s all: fix spelling 2022-05-17 19:51:29 +00:00
race_s390x.s cmd,runtime: enable race detector on s390x 2022-05-04 14:17:20 +00:00
rand_test.go runtime: add fastrand64 2022-04-20 22:50:33 +00:00
rdebug.go runtime: trivial replacements of _g_ in remaining files 2022-08-02 18:52:03 +00:00
relax_stub.go
rt0_aix_ppc64.s
rt0_android_386.s
rt0_android_amd64.s
rt0_android_arm.s
rt0_android_arm64.s
rt0_darwin_amd64.s
rt0_darwin_arm64.s runtime: unify C->Go ABI transitions on arm64 2022-03-30 01:28:43 +00:00
rt0_dragonfly_amd64.s
rt0_freebsd_386.s
rt0_freebsd_amd64.s
rt0_freebsd_arm.s
rt0_freebsd_arm64.s runtime: unify C->Go ABI transitions on arm64 2022-03-30 01:28:43 +00:00
rt0_illumos_amd64.s
rt0_ios_amd64.s
rt0_ios_arm64.s
rt0_js_wasm.s
rt0_linux_386.s
rt0_linux_amd64.s
rt0_linux_arm.s
rt0_linux_arm64.s runtime: unify C->Go ABI transitions on arm64 2022-03-30 01:28:43 +00:00
rt0_linux_loong64.s runtime: implement runtime entry for linux/loong64 2022-05-20 15:12:31 +00:00
rt0_linux_mips64x.s
rt0_linux_mipsx.s
rt0_linux_ppc64.s runtime: fix ppc64 startup on newer linux kernels 2022-08-23 18:59:24 +00:00
rt0_linux_ppc64le.s runtime: make static/dynamic startup detection work with musl on ppc64le 2022-03-22 20:56:39 +00:00
rt0_linux_riscv64.s
rt0_linux_s390x.s
rt0_netbsd_386.s
rt0_netbsd_amd64.s
rt0_netbsd_arm.s
rt0_netbsd_arm64.s runtime: unify C->Go ABI transitions on arm64 2022-03-30 01:28:43 +00:00
rt0_openbsd_386.s
rt0_openbsd_amd64.s
rt0_openbsd_arm.s
rt0_openbsd_arm64.s runtime: unify C->Go ABI transitions on arm64 2022-03-30 01:28:43 +00:00
rt0_openbsd_mips64.s
rt0_plan9_386.s
rt0_plan9_amd64.s
rt0_plan9_arm.s
rt0_solaris_amd64.s
rt0_windows_386.s
rt0_windows_amd64.s
rt0_windows_arm.s
rt0_windows_arm64.s
runtime-gdb.py runtime: convert g.atomicstatus to internal atomic type 2022-09-05 07:14:08 +00:00
runtime-gdb_test.go runtime: disable gdb testpoints on alpine pending builder fix 2022-08-09 14:12:01 +00:00
runtime-lldb_test.go
runtime.go runtime: convert ticksType.val to atomic type 2022-08-23 20:00:03 +00:00
runtime1.go runtime: trivial replacements of _g_ in remaining files 2022-08-02 18:52:03 +00:00
runtime2.go runtime: make the wait reason for a g blocked on a mutex more specific 2022-09-16 16:32:27 +00:00
runtime_boring.go
runtime_linux_test.go
runtime_mmap_test.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
runtime_test.go cmd/dist: always pass -short=true with -quick 2022-07-29 22:09:32 +00:00
runtime_unix_test.go
rwmutex.go runtime: convert rwmutex.{readerCount,readerWait} to atomic type 2022-08-31 19:54:04 +00:00
rwmutex_test.go runtime: convert local var cunlock at doTestParallelReaders to atomic type 2022-09-05 08:08:09 +00:00
select.go runtime: convert g.selectDone to atomic type 2022-08-26 15:36:36 +00:00
sema.go runtime: make the wait reason for a g blocked on a mutex more specific 2022-09-16 16:32:27 +00:00
sema_test.go runtime: convert flaky semaphore linearity test into benchmark 2022-06-21 19:37:22 +00:00
semasleep_test.go runtime: don't race cmd.Wait and cmd.StdoutPipe read 2022-08-22 16:48:36 +00:00
sigaction.go
signal_386.go
signal_aix_ppc64.go
signal_amd64.go runtime: support for debugger function calls on linux/arm64 2022-04-23 05:38:56 +00:00
signal_arm.go
signal_arm64.go runtime: support for debugger function calls on linux/arm64 2022-04-23 05:38:56 +00:00
signal_darwin.go
signal_darwin_amd64.go misc/cgo/testcarchive: permit SIGQUIT for TestSignalForwardingExternal 2022-08-19 23:07:11 +00:00
signal_darwin_arm64.go
signal_dragonfly.go
signal_dragonfly_amd64.go
signal_freebsd.go
signal_freebsd_386.go
signal_freebsd_amd64.go
signal_freebsd_arm.go
signal_freebsd_arm64.go
signal_linux_386.go
signal_linux_amd64.go
signal_linux_arm.go
signal_linux_arm64.go
signal_linux_loong64.go runtime: implement signal for linux/loong64 2022-05-19 19:32:33 +00:00
signal_linux_mips64x.go
signal_linux_mipsx.go
signal_linux_ppc64x.go
signal_linux_riscv64.go
signal_linux_s390x.go
signal_loong64.go runtime: implement signal for linux/loong64 2022-05-19 19:32:33 +00:00
signal_mips64x.go
signal_mipsx.go
signal_netbsd.go
signal_netbsd_386.go
signal_netbsd_amd64.go
signal_netbsd_arm.go
signal_netbsd_arm64.go
signal_openbsd.go
signal_openbsd_386.go
signal_openbsd_amd64.go
signal_openbsd_arm.go
signal_openbsd_arm64.go
signal_openbsd_mips64.go
signal_plan9.go
signal_ppc64x.go
signal_riscv64.go
signal_solaris.go
signal_solaris_amd64.go
signal_unix.go runtime: convert m.preemptGen to atomic type 2022-08-17 17:47:37 +00:00
signal_windows.go runtime: run "gofmt -s -w" 2022-08-12 15:45:17 +00:00
signal_windows_test.go runtime: use strings.Builder 2022-09-07 07:02:51 +00:00
sigqueue.go runtime: convert sig.{state,delivering} to atomic type 2022-08-31 15:30:57 +00:00
sigqueue_note.go
sigqueue_plan9.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
sigtab_aix.go
sigtab_linux_generic.go
sigtab_linux_mipsx.go
sizeclasses.go
sizeof_test.go runtime: decrease STW pause for goroutine profile 2022-05-03 20:49:34 +00:00
slice.go cmd/compile,runtime: redo growslice calling convention 2022-09-01 21:28:35 +00:00
slice_test.go
softfloat64.go
softfloat64_test.go
stack.go runtime: consolidate stkframe and its methods into stkframe.go 2022-09-02 19:08:58 +00:00
stack_test.go runtime: use strings.Builder 2022-09-07 07:02:51 +00:00
stkframe.go runtime: simplify stkframe.argMapInternal 2022-09-02 19:09:03 +00:00
string.go runtime: replace stringStruct with unsafe.String where appropriate 2022-09-13 16:42:28 +00:00
string_test.go runtime: add byte count parser for GOMEMLIMIT 2022-05-03 15:11:55 +00:00
stubs.go net: use fastrand64 in randInt 2022-04-21 17:46:26 +00:00
stubs2.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
stubs3.go
stubs_386.go
stubs_amd64.go
stubs_arm.go
stubs_arm64.go
stubs_linux.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
stubs_loong64.go runtime: load/save TLS variable g on loong64 2022-05-17 20:18:25 +00:00
stubs_mips64x.go
stubs_mipsx.go
stubs_nonlinux.go
stubs_ppc64.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
stubs_ppc64x.go
stubs_riscv64.go runtime: add runtime changes for register ABI on riscv64 2022-03-30 01:12:57 +00:00
stubs_s390x.go
symtab.go runtime: rename _func.entryoff to entryOff 2022-09-07 15:42:49 +00:00
symtab_test.go all: fix spelling 2022-05-17 21:46:33 +00:00
sys_aix_ppc64.s all: fix spelling 2022-05-17 19:51:29 +00:00
sys_arm.go
sys_arm64.go
sys_darwin.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
sys_darwin_amd64.s runtime: mark sigtramp as TOPFRAME on the rest of unix 2022-04-28 23:16:44 +00:00
sys_darwin_arm64.go
sys_darwin_arm64.s runtime: mark sigtramp as TOPFRAME on the rest of unix 2022-04-28 23:16:44 +00:00
sys_dragonfly_amd64.s runtime: mark sigtramp as TOPFRAME on the rest of unix 2022-04-28 23:16:44 +00:00
sys_freebsd_386.s runtime: switch FreeBSD to use the non-COMPAT_FREEBSD11 version of the kevent syscall 2022-09-16 06:31:07 +00:00
sys_freebsd_amd64.s runtime: switch FreeBSD to use the non-COMPAT_FREEBSD11 version of the kevent syscall 2022-09-16 06:31:07 +00:00
sys_freebsd_arm.s runtime: switch FreeBSD to use the non-COMPAT_FREEBSD11 version of the kevent syscall 2022-09-16 06:31:07 +00:00
sys_freebsd_arm64.s runtime: switch FreeBSD to use the non-COMPAT_FREEBSD11 version of the kevent syscall 2022-09-16 06:31:07 +00:00
sys_libc.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
sys_linux_386.s runtime: mark sigtramp as TOPFRAME 2022-04-28 16:29:07 +00:00
sys_linux_amd64.s runtime: mark sigtramp as TOPFRAME 2022-04-28 16:29:07 +00:00
sys_linux_arm.s runtime: refactor ARM VDSO call setup to helper 2022-08-17 20:02:39 +00:00
sys_linux_arm64.s runtime: mark sigtramp as TOPFRAME 2022-04-28 16:29:07 +00:00
sys_linux_loong64.s runtime: remove unused pipe and setNonblock on linux/loong64 2022-06-08 01:54:08 +00:00
sys_linux_mips64x.s runtime: mark sigtramp as TOPFRAME 2022-04-28 16:29:07 +00:00
sys_linux_mipsx.s runtime: mark sigtramp as TOPFRAME 2022-04-28 16:29:07 +00:00
sys_linux_ppc64x.s runtime: mark sigtramp as TOPFRAME 2022-04-28 16:29:07 +00:00
sys_linux_riscv64.s runtime: mark sigtramp as TOPFRAME 2022-04-28 16:29:07 +00:00
sys_linux_s390x.s runtime: enable vDSO support for s390x architecture 2022-05-11 13:30:43 +00:00
sys_loong64.go runtime: implement runtime entry for linux/loong64 2022-05-20 15:12:31 +00:00
sys_mips64x.go
sys_mipsx.go
sys_netbsd_386.s runtime: mark sigtramp as TOPFRAME on the rest of unix 2022-04-28 23:16:44 +00:00
sys_netbsd_amd64.s runtime: mark sigtramp as TOPFRAME on the rest of unix 2022-04-28 23:16:44 +00:00
sys_netbsd_arm.s runtime: mark sigtramp as TOPFRAME on the rest of unix 2022-04-28 23:16:44 +00:00
sys_netbsd_arm64.s runtime: mark sigtramp as TOPFRAME on the rest of unix 2022-04-28 23:16:44 +00:00
sys_nonppc64x.go
sys_openbsd.go
sys_openbsd1.go
sys_openbsd2.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
sys_openbsd3.go
sys_openbsd_386.s runtime: mark sigtramp as TOPFRAME on the rest of unix 2022-04-28 23:16:44 +00:00
sys_openbsd_amd64.s runtime: mark sigtramp as TOPFRAME on the rest of unix 2022-04-28 23:16:44 +00:00
sys_openbsd_arm.s runtime: mark sigtramp as TOPFRAME on the rest of unix 2022-04-28 23:16:44 +00:00
sys_openbsd_arm64.s runtime: mark sigtramp as TOPFRAME on the rest of unix 2022-04-28 23:16:44 +00:00
sys_openbsd_mips64.s runtime: mark sigtramp as TOPFRAME on the rest of unix 2022-04-28 23:16:44 +00:00
sys_plan9_386.s
sys_plan9_amd64.s
sys_plan9_arm.s
sys_ppc64x.go
sys_riscv64.go
sys_s390x.go
sys_solaris_amd64.s runtime: mark sigtramp as TOPFRAME on the rest of unix 2022-04-28 23:16:44 +00:00
sys_wasm.go
sys_wasm.s
sys_windows_386.s
sys_windows_amd64.s
sys_windows_arm.s all: fix spelling 2022-05-18 00:47:29 +00:00
sys_windows_arm64.s all: fix spelling 2022-05-18 00:47:29 +00:00
sys_x86.go
syscall2_solaris.go
syscall_aix.go syscall: rename close to closeFD 2022-08-08 20:38:29 +00:00
syscall_solaris.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
syscall_windows.go runtime: add race annotations to cbs.lock 2022-06-29 20:12:49 +00:00
syscall_windows_test.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
textflag.h
time.go runtime: convert timer.status to atomic type 2022-09-13 17:41:56 +00:00
time_fake.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
time_linux_amd64.s
time_nofake.go
time_test.go
time_windows.h
time_windows_386.s
time_windows_amd64.s
time_windows_arm.s
time_windows_arm64.s
timeasm.go
timestub.go
timestub2.go
tls_arm.s runtime: not mark save_g NOFRAME on ARM 2022-05-10 20:38:07 +00:00
tls_arm64.h runtime: delete useless TPIDR macro on arm64 2022-03-22 20:46:22 +00:00
tls_arm64.s
tls_loong64.s runtime: load/save TLS variable g on loong64 2022-05-17 20:18:25 +00:00
tls_mips64x.s
tls_mipsx.s
tls_ppc64x.s
tls_riscv64.s
tls_s390x.s
tls_stub.go
tls_windows_amd64.go
trace.go runtime: move traceStackTable.lock to the system stack 2022-08-23 14:59:50 +00:00
traceback.go runtime: rename _func.nameoff and friends to nameOff 2022-09-07 15:11:05 +00:00
traceback_test.go internal/testenv: add and use OptimizationOff/SkipIfOptimizationOff 2022-08-09 12:16:31 +00:00
type.go runtime: replace stringStruct with unsafe.String where appropriate 2022-09-13 16:42:28 +00:00
typekind.go
unsafe.go cmd/compile: add support for unsafe.{String,StringData,SliceData} 2022-08-31 17:15:15 +00:00
utf8.go
vdso_elf32.go
vdso_elf64.go runtime: support vdso for linux/loong64 2022-05-19 19:32:35 +00:00
vdso_freebsd.go
vdso_freebsd_arm.go
vdso_freebsd_arm64.go runtime: fast clock_gettime on FreeBSD, use physical/virtual ARM timer 2022-09-04 04:17:04 +00:00
vdso_freebsd_x86.go runtime: fast clock_gettime on FreeBSD, split getHPETTimecounter 2022-08-19 01:31:59 +00:00
vdso_in_none.go runtime: support vdso for linux/loong64 2022-05-19 19:32:35 +00:00
vdso_linux.go runtime: support vdso for linux/loong64 2022-05-19 19:32:35 +00:00
vdso_linux_386.go
vdso_linux_amd64.go
vdso_linux_arm.go
vdso_linux_arm64.go
vdso_linux_loong64.go runtime: fix the vDSO symbol version on loong64 2022-05-23 21:58:55 +00:00
vdso_linux_mips64x.go
vdso_linux_ppc64x.go
vdso_linux_riscv64.go
vdso_linux_s390x.go all: gofmt main repo 2022-05-19 15:49:05 +00:00
vlop_386.s
vlop_arm.s
vlop_arm_test.go
vlrt.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
wincallback.go all: remove unnecessary allocations from w.WriteString(fmt.Sprint*(...)) by fmt.Fprint*(w, ...) 2022-09-14 16:11:21 +00:00
write_err.go
write_err_android.go
zcallback_windows.go
zcallback_windows.s
zcallback_windows_arm.s
zcallback_windows_arm64.s