go/src/runtime
Michael Anthony Knyszek b513bd808f runtime: bias the pacer's cons/mark smoothing against noise
Currently the pacer is designed to pace against the edge. Specifically,
it tries to find the sweet spot at which there are zero assists, but
simultaneously finishes each GC perfectly on time.

This pretty much works, despite the noisiness of the measurement of the
cons/mark ratio, which is central to the pacer's function. (And this
noise is basically a given; the cons/mark ratio is used as a prediction
under a steady-state assumption.) Typically, this means that the GC
might assist a little bit more because it started the GC late, or it
might execute more GC cycles because it started early. In many cases the
magnitude of this variation is small.

However, we can't possibly control for all sources of noise, especially
since some noise can come from the underlying system. Furthermore, there
are inputs to the measurement that have effectively no restrictions on
how they vary, and the pacer needs to assume that they're essentially
static when they might not be in some applications (i.e. goroutine
stacks).

The result of high noise is that the variation in when a GC starts is
much higher, leading to a significant amount of assists in some GC
cycles. While the GC cycle frequency basically averages out in the
steady-state in the face of this variation, starting a GC late has the
significant drawback of reducing application latencies.

This CL thus biases the pacer toward avoiding assists by picking a
cons/mark smoothing function that takes the maximum measured cons/mark
over 5 cycles total. I picked 5 cycles because empirically this was the
best trade-off between window size and smoothness for a uniformly
distributed jitter in the cons/mark signal. The cost here is that if
there's a significant phase change in the application that makes it less
active with the GC, then we'll be using a stale cons/mark measurement
for 5 cycles. I suspect this is fine precisely because this only happens
when the application becomes less active, i.e. when latency matters
less.

Another good reason for this particular bias is that even though the GC
might start earlier and end earlier on average, resulting in more
frequent GC cycles and potentially worse throughput, it also means that
it uses less memory used on average. As a result, there's a reasonable
workaround in just turning GOGC up slightly to reduce GC cycle
frequency and bringing memory (and hopefully throughput) levels back to
the same baseline. Meanwhile, there should still be fewer assists than
before which is just a clear improvement to latency.

Lastly, this CL updates the GC pacer tests to capture this bias against
assists and toward GC cycles starting earlier in the face of noise.

Sweet benchmarks didn't show any meaningful difference, but real
production applications showed a reduction in tail latencies of up
to 45%.

Updates #56966.

Change-Id: I8f03d793f9a1c6e7ef3524d18294dbc0d7de6122
Reviewed-on: https://go-review.googlesource.com/c/go/+/467875
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Pratt <mpratt@google.com>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
2023-03-21 19:27:18 +00:00
..
asan runtime: add address sanitizer support for ppc64le 2022-08-26 18:13:33 +00:00
cgo runtime: provide and use a GO_PPC64X_HAS_FUNCDESC define 2023-03-18 06:28:23 +00:00
coverage runtime: fix function name in comments 2023-03-01 22:20:32 +00:00
debug runtime/debug: replace "GOARM64" with "GOARM" in docs 2023-03-14 04:30:59 +00:00
internal all: gofmt 2023-03-20 22:54:22 +00:00
metrics all: gofmt 2023-03-20 22:54:22 +00:00
msan runtime: add msan support on freebsd/amd64 2022-10-14 12:48:03 +00:00
pprof runtime: skip trailing wrappers in runtime_expandFinalInlineFrame 2023-02-09 20:43:56 +00:00
race cmd/compile: experimental loop iterator capture semantics change 2023-03-06 18:34:24 +00:00
testdata runtime: allow for 5 more threads in TestWindowsStackMemory* 2023-03-07 21:32:17 +00:00
trace runtime/trace: update outdated Task and Region documentation 2023-03-09 19:10:52 +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: correct typos 2023-02-08 14:52:12 +00:00
arena.go runtime: correct typos 2023-02-08 14:52:12 +00:00
arena_test.go arena: add experimental arena package 2022-10-12 20:23:36 +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 runtime: correct typos 2023-02-08 14:52:12 +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 cmd/link: linker portion of dead map removal 2023-02-06 20:56:47 +00:00
asm_386.s cmd/compile: batch write barrier calls 2023-02-24 00:21:13 +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 runtime: remove NOFRAME from asmcgocall, systemstack and mcall 2023-03-13 15:28:25 +00:00
asm_arm.s cmd/compile: batch write barrier calls 2023-02-24 00:21:13 +00:00
asm_arm64.s cmd/compile: batch write barrier calls 2023-02-24 00:21:13 +00:00
asm_loong64.s runtime: remove the fake mstart caller in systemstack on linux/loong64 2023-03-17 06:57:16 +00:00
asm_mips64x.s cmd/compile: batch write barrier calls 2023-02-24 00:21:13 +00:00
asm_mipsx.s cmd/compile: batch write barrier calls 2023-02-24 00:21:13 +00:00
asm_ppc64x.h runtime: provide and use a GO_PPC64X_HAS_FUNCDESC define 2023-03-18 06:28:23 +00:00
asm_ppc64x.s runtime: provide and use a GO_PPC64X_HAS_FUNCDESC define 2023-03-18 06:28:23 +00:00
asm_riscv64.s cmd/compile: batch write barrier calls 2023-02-24 00:21:13 +00:00
asm_s390x.s cmd/compile: batch write barrier calls 2023-02-24 00:21:13 +00:00
asm_wasm.s cmd/compile: batch write barrier calls 2023-02-24 00:21:13 +00:00
atomic_arm64.s
atomic_loong64.s runtime: implement runtime entry for linux/loong64 2022-05-20 15:12:31 +00:00
atomic_mips64x.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
atomic_mipsx.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
atomic_pointer.go runtime: remove the restriction that write barrier ptrs come in pairs 2023-02-17 22:19:26 +00:00
atomic_ppc64x.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
atomic_riscv64.s
auxv_none.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
callers_test.go runtime: add a benchmark of Callers 2023-03-10 17:18:20 +00:00
cgo.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
cgo_mmap.go runtime: add msan support on freebsd/amd64 2022-10-14 12:48:03 +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 runtime: reimplement GODEBUG=cgocheck=2 as a GOEXPERIMENT 2023-02-16 00:16:24 +00:00
cgocallback.go
cgocheck.go all: gofmt 2023-03-20 22:54:22 +00:00
chan.go all: add missing periods in comments 2022-11-18 17:59:44 +00:00
chan_test.go runtime: skip TestNoShrinkStackWhileParking on openbsd 2022-04-22 17:22:12 +00:00
chanbarrier_test.go
checkptr.go runtime: don't crash on nil pointers in checkptrAlignment 2021-07-28 03:27:13 +00:00
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
covercounter.go runtime/coverage: runtime routines to emit coverage data 2022-09-28 11:48:10 +00:00
covermeta.go runtime/coverage: runtime routines to emit coverage data 2022-09-28 11:48:10 +00:00
cpuflags.go all: replace runtime SSE2 detection with GO386 setting 2021-08-23 21:22:58 +00:00
cpuflags_amd64.go
cpuflags_arm64.go runtime internal/cpu: rename "Zeus" "NeoverseV1". 2022-11-08 23:11:32 +00:00
cpuprof.go runtime: convert prof.hz to atomic type 2022-08-12 01:53:44 +00:00
cputicks.go runtime: implement cputicks with the stable counter on loong64 2023-03-10 12:47:42 +00:00
crash_cgo_test.go all: skip tests that fail on android/arm64 2023-03-10 20:38:29 +00:00
crash_test.go cmd/link/internal/ld: move more of mustLinkExternal into internal/platform 2023-03-02 16:34:21 +00:00
crash_unix_test.go runtime: implement traceback iterator 2023-03-10 17:59:29 +00:00
create_file_nounix.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
create_file_unix.go runtime: add page tracer 2022-11-18 03:45:30 +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: set G wait reason more consistently 2022-09-16 16:32:29 +00:00
debuglog.go runtime: avoid unsafe.{Slice,String} in debuglog 2022-10-18 16:59:26 +00:00
debuglog_off.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
debuglog_on.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
debuglog_test.go runtime: avoid unsafe.{Slice,String} in debuglog 2022-10-18 16:59:26 +00:00
defer_test.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
defs1_linux.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
defs1_netbsd_386.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs1_netbsd_amd64.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs1_netbsd_arm.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs1_netbsd_arm64.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs1_solaris_amd64.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs2_linux.go runtime: move epoll syscalls to runtime/internal/syscall 2022-10-07 18:28:11 +00:00
defs3_linux.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
defs_aix.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_aix_ppc64.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_arm_linux.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
defs_darwin.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_darwin_amd64.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_darwin_arm64.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_dragonfly.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_dragonfly_amd64.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_freebsd.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_freebsd_386.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_freebsd_amd64.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_freebsd_arm.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_freebsd_arm64.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_freebsd_riscv64.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_illumos_amd64.go
defs_linux.go runtime: move epoll syscalls to runtime/internal/syscall 2022-10-07 18:28:11 +00:00
defs_linux_386.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_linux_amd64.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_linux_arm.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_linux_arm64.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_linux_loong64.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_linux_mips64x.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_linux_mipsx.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_linux_ppc64.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_linux_ppc64le.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_linux_riscv64.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_linux_s390x.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_netbsd.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_netbsd_386.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
defs_netbsd_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
defs_netbsd_arm.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
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: add page tracer 2022-11-18 03:45:30 +00:00
defs_openbsd_amd64.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_openbsd_arm.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_openbsd_arm64.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_openbsd_mips64.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_plan9_386.go [dev.typeparams] runtime: use internal/abi.FuncPCABI0 to reference ABI0 assembly symbols 2021-05-21 22:12:04 +00:00
defs_plan9_amd64.go [dev.typeparams] runtime: use internal/abi.FuncPCABI0 to reference ABI0 assembly symbols 2021-05-21 22:12:04 +00:00
defs_plan9_arm.go
defs_solaris.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
defs_solaris_amd64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
defs_windows.go runtime: Allow handling of EXCEPTION_IN_PAGE_ERROR 2023-02-11 09:26:59 +00:00
defs_windows_386.go runtime: factor out windows sigtramp 2023-01-24 12:05:07 +00:00
defs_windows_amd64.go runtime: factor out windows sigtramp 2023-01-24 12:05:07 +00:00
defs_windows_arm.go runtime: factor out windows sigtramp 2023-01-24 12:05:07 +00:00
defs_windows_arm64.go runtime: factor out windows sigtramp 2023-01-24 12:05:07 +00:00
duff_386.s
duff_amd64.s runtime: use explicit NOFRAME on windows/amd64 2023-01-24 19:29:51 +00:00
duff_arm.s
duff_arm64.s [dev.typeparams] runtime: mark assembly functions called directly from compiler ABIInternal 2021-06-02 16:49:25 +00:00
duff_loong64.s runtime: implement duffzero/duffcopy for linux/loong64 2022-05-19 19:13:17 +00:00
duff_mips64x.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
duff_ppc64x.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
duff_riscv64.s runtime: add runtime changes for register ABI on riscv64 2022-03-30 01:12:57 +00:00
duff_s390x.s
ehooks_test.go runtime: change exit hooks test to use RaceDetectorSupported 2022-10-04 18:52:38 +00:00
env_plan9.go runtime: fix a few function names on comments 2022-10-26 02:39:39 +00:00
env_posix.go internal/godebug: remove dependency on os 2022-10-18 14:49:44 +00:00
env_test.go
error.go cmd/compile: implement slice-to-array conversions 2022-09-19 18:58:26 +00:00
example_test.go runtime: clarify Frames.Next documentation 2021-06-18 22:05:09 +00:00
exithook.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
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 runtime: move epoll syscalls to runtime/internal/syscall 2022-10-07 18:28:11 +00:00
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 all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
export_solaris_test.go
export_test.go runtime: for deep stacks, print both the top 50 and bottom 50 frames 2023-03-21 19:14:14 +00:00
export_unix2_test.go runtime: move epoll syscalls to runtime/internal/syscall 2022-10-07 18:28:11 +00:00
export_unix_test.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
export_windows_test.go runtime: always use LoadLibraryEx to load system libraries 2023-01-31 22:06:41 +00:00
extern.go runtime: reimplement GODEBUG=cgocheck=2 as a GOEXPERIMENT 2023-02-16 00:16:24 +00:00
fastlog2.go
fastlog2_test.go
fastlog2table.go
float.go runtime: fix a few function names on comments 2022-10-26 02:39:39 +00:00
float_test.go cmd/compile,runtime: implement uint64->float32 correctly on 32-bit archs 2021-10-07 18:34:24 +00:00
funcdata.h cmd/compile, runtime: use unwrapped PC for goroutine creation tracing 2022-02-11 20:01:24 +00:00
gc_test.go all: use time.Since instead of time.Now().Sub 2022-10-02 02:28:27 +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 all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
hash64.go runtime: add build tag for common support on linux/loong64 2022-05-20 15:12:37 +00:00
hash_test.go runtime,hash/maphash: eliminate maphash torture test for -race 2022-12-01 19:24:55 +00:00
heapdump.go runtime: replace all callback uses of gentraceback with unwinder 2023-03-10 17:59:32 +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 all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
iface_test.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
import_test.go runtime: create an API for unwinding inlined frames 2023-03-10 17:18:27 +00:00
importx_test.go runtime: create an API for unwinding inlined frames 2023-03-10 17:18:27 +00:00
lfstack.go runtime: fix conflict between lfstack and checkptr 2022-11-17 23:12:04 +00:00
lfstack_32bit.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
lfstack_64bit.go runtime: support riscv64 SV57 mode 2022-08-04 05:33:40 +00:00
lfstack_test.go runtime: fix conflict between lfstack and checkptr 2022-11-17 23:12:04 +00:00
libfuzzer.go cmd/link, runtime: use a different section for Go libfuzzer counters 2022-12-23 01:12:02 +00:00
libfuzzer_amd64.s runtime: correct typos 2023-02-08 14:52:12 +00:00
libfuzzer_arm64.s runtime: fix inline assembly trampoline for arm64 2022-06-07 14:47:46 +00:00
lock_futex.go all: add missing periods in comments 2022-11-18 17:59:44 +00:00
lock_js.go all: implement wasmimport directive 2023-03-02 05:28:55 +00:00
lock_sema.go all: add missing periods in comments 2022-11-18 17:59:44 +00:00
lockrank.go runtime: add safe arena support to the runtime 2022-10-12 20:23:30 +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 all: add missing periods in comments 2022-11-18 17:59:44 +00:00
malloc_test.go runtime: make Malloc benchmarks actually benchmark malloc 2022-11-10 17:33:31 +00:00
map.go cmd/link: linker portion of dead map removal 2023-02-06 20:56:47 +00:00
map_benchmark_test.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
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 internal/abi,runtime: refactor map constants into one place 2023-01-23 15:51:32 +00:00
mbarrier.go all: gofmt 2023-03-20 22:54:22 +00:00
mbitmap.go runtime: replace all callback uses of gentraceback with unwinder 2023-03-10 17:59:32 +00:00
mcache.go runtime: add safe arena support to the runtime 2022-10-12 20:23:30 +00:00
mcentral.go Revert "runtime: delay incrementing freeindex in malloc" 2022-11-14 22:09:16 +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 runtime: reuse freed memory blocks on wasm 2023-03-21 02:45:06 +00:00
mem_linux.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
mem_plan9.go runtime: reuse freed memory blocks on wasm 2023-03-21 02:45:06 +00:00
mem_sbrk.go runtime: reuse freed memory blocks on wasm 2023-03-21 02:45:06 +00:00
mem_windows.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
memclr_386.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
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 all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
memclr_mipsx.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
memclr_plan9_386.s
memclr_plan9_amd64.s
memclr_ppc64x.s runtime: improve memclr on ppc64x/power10 2023-02-22 18:53:31 +00:00
memclr_riscv64.s all: delete riscv64 non-register ABI fallback path 2022-10-26 00:52:05 +00:00
memclr_s390x.s
memclr_wasm.s runtime: add wasm bulk memory operations 2022-10-27 10:37:01 +00:00
memmove_386.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
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 all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
memmove_mipsx.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
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: optimise memmove on riscv64 2022-11-18 15:33:16 +00:00
memmove_s390x.s
memmove_test.go cmd/compile: inline known-size memclrNoHeapPointers calls 2023-01-31 18:11:24 +00:00
memmove_wasm.s runtime: add wasm bulk memory operations 2022-10-27 10:37:01 +00:00
metrics.go all: fix typos in go file comments 2023-01-20 03:27:26 +00:00
metrics_test.go all: use time.Since instead of time.Now().Sub 2022-10-02 02:28:27 +00:00
mfinal.go all: add missing periods in comments 2022-11-18 17:59:44 +00:00
mfinal_test.go runtime: remove arbitrary GOARCH constraints in finalizer tests 2023-01-19 20:45:58 +00:00
mfixalloc.go all: fix some problematic comments 2023-03-13 16:49:45 +00:00
mgc.go runtime: reimplement GODEBUG=cgocheck=2 as a GOEXPERIMENT 2023-02-16 00:16:24 +00:00
mgclimit.go runtime: fix function name in comments 2023-03-01 22:20:32 +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: replace all callback uses of gentraceback with unwinder 2023-03-10 17:59:32 +00:00
mgcpacer.go runtime: bias the pacer's cons/mark smoothing against noise 2023-03-21 19:27:18 +00:00
mgcpacer_test.go runtime: bias the pacer's cons/mark smoothing against noise 2023-03-21 19:27:18 +00:00
mgcscavenge.go runtime: remove go119MemoryLimitSupport flag 2023-01-28 20:46:29 +00:00
mgcscavenge_test.go runtime: smooth cons/mark with a moving average and use actual trigger 2022-11-08 18:45:45 +00:00
mgcstack.go runtime: add and use runtime/internal/sys.NotInHeap 2022-08-19 00:29:18 +00:00
mgcsweep.go runtime: fix function name in comments 2023-03-01 22:20:32 +00:00
mgcwork.go all: add missing periods in comments 2022-11-18 17:59:44 +00:00
mheap.go runtime: correct typos 2023-02-08 14:52:12 +00:00
mkduff.go runtime: use explicit NOFRAME on windows/amd64 2023-01-24 19:29:51 +00:00
mkfastlog2table.go runtime: avoid fma in mkfastlog2table 2022-06-26 22:12:19 +00:00
mklockrank.go runtime: add safe arena support to the runtime 2022-10-12 20:23:30 +00:00
mkpreempt.go cmd/asm, runtime: remove the RSB register from loong64 2023-03-21 06:51:28 +00:00
mksizeclasses.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
mmap.go runtime: add msan support on freebsd/amd64 2022-10-14 12:48:03 +00:00
mpagealloc.go runtime: correct typos 2023-02-08 14:52:12 +00:00
mpagealloc_32bit.go runtime: redesign scavenging algorithm 2022-05-03 15:13:53 +00:00
mpagealloc_64bit.go runtime: correct typos 2023-02-08 14:52:12 +00:00
mpagealloc_test.go runtime: set iOS addr space to 40 bits with incremental pagealloc 2021-12-06 19:16:48 +00:00
mpagecache.go runtime: fix incorrect comment 2023-01-11 22:26:01 +00:00
mpagecache_test.go runtime: set iOS addr space to 40 bits with incremental pagealloc 2021-12-06 19:16:48 +00:00
mpallocbits.go runtime: correct typos 2023-02-08 14:52:12 +00:00
mpallocbits_test.go
mprof.go runtime: new API for filling PC traceback buffers 2023-03-10 17:59:37 +00:00
mranges.go runtime: add safe arena support to the runtime 2022-10-12 20:23:30 +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 all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
msan_amd64.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
msan_arm64.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
msize.go
mspanset.go all: fix some problematic comments 2023-03-13 16:49:45 +00:00
mstats.go runtime/metrics: add CPU stats 2022-09-16 16:32:20 +00:00
mwbbuf.go cmd/compile: batch write barrier calls 2023-02-24 00:21:13 +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 all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
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: move epoll syscalls to runtime/internal/syscall 2022-10-07 18:28:11 +00:00
netpoll_fake.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
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: expose auxv for use by x/sys/cpu 2023-02-16 19:34:38 +00:00
os_aix.go all: add missing periods in comments 2022-11-18 17:59:44 +00:00
os_android.go
os_darwin.go cmd/link, runtime: Apple libc atfork workaround take 3 2023-01-10 20:34:22 +00:00
os_darwin_arm64.go
os_dragonfly.go runtime: expose auxv for use by x/sys/cpu 2023-02-16 19:34:38 +00:00
os_freebsd.go runtime: expose auxv for use by x/sys/cpu 2023-02-16 19:34:38 +00:00
os_freebsd2.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
os_freebsd_amd64.go [dev.typeparams] runtime: replace funcPC with internal/abi.FuncPCABIInternal 2021-05-21 22:40:36 +00:00
os_freebsd_arm.go
os_freebsd_arm64.go
os_freebsd_noauxv.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
os_freebsd_riscv64.go runtime: add support for freebsd/riscv64 2022-09-28 03:17:13 +00:00
os_illumos.go
os_js.go runtime: reuse freed memory blocks on wasm 2023-03-21 02:45:06 +00:00
os_linux.go runtime: expose auxv for use by x/sys/cpu 2023-02-16 19:34:38 +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 all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
os_linux_be64.go runtime: treat SI_TKILL like SI_USER on Linux 2022-09-21 01:56:24 +00:00
os_linux_generic.go runtime: treat SI_TKILL like SI_USER on Linux 2022-09-21 01:56:24 +00:00
os_linux_loong64.go runtime: implement cputicks with the stable counter on loong64 2023-03-10 12:47:42 +00:00
os_linux_mips64x.go runtime: treat SI_TKILL like SI_USER on Linux 2022-09-21 01:56:24 +00:00
os_linux_mipsx.go runtime: treat SI_TKILL like SI_USER on Linux 2022-09-21 01:56:24 +00:00
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 all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
os_linux_riscv64.go
os_linux_s390x.go
os_linux_x86.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
os_netbsd.go runtime: fix function name in comments 2023-03-01 22:20:32 +00:00
os_netbsd_386.go [dev.typeparams] runtime: use internal/abi.FuncPCABI0 to reference ABI0 assembly symbols 2021-05-21 22:12:04 +00:00
os_netbsd_amd64.go [dev.typeparams] runtime: use internal/abi.FuncPCABI0 to reference ABI0 assembly symbols 2021-05-21 22:12:04 +00:00
os_netbsd_arm.go [dev.typeparams] runtime: use internal/abi.FuncPCABI0 to reference ABI0 assembly symbols 2021-05-21 22:12:04 +00:00
os_netbsd_arm64.go [dev.typeparams] runtime: use internal/abi.FuncPCABI0 to reference ABI0 assembly symbols 2021-05-21 22:12:04 +00:00
os_nonopenbsd.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
os_only_solaris.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
os_openbsd.go runtime: fix a few function names on comments 2022-10-26 02:39:39 +00:00
os_openbsd_arm.go
os_openbsd_arm64.go
os_openbsd_libc.go runtime: retry thread creation on EAGAIN 2022-11-10 20:44:45 +00:00
os_openbsd_mips64.go
os_openbsd_syscall.go runtime: retry thread creation on EAGAIN 2022-11-10 20:44:45 +00:00
os_openbsd_syscall1.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
os_openbsd_syscall2.go all: add missing periods in comments 2022-11-18 17:59:44 +00:00
os_plan9.go runtime: reuse freed memory blocks on wasm 2023-03-21 02:45:06 +00:00
os_plan9_arm.go
os_solaris.go all: move //go: function directives directly above functions 2023-03-02 22:56:35 +00:00
os_unix_nonlinux.go runtime: treat SI_TKILL like SI_USER on Linux 2022-09-21 01:56:24 +00:00
os_windows.go runtime: implement high resolution timer on windows arm/arm64 2023-03-13 14:20:41 +00:00
os_windows_arm.go
os_windows_arm64.go
pagetrace_off.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
pagetrace_on.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
panic.go runtime: replace all callback uses of gentraceback with unwinder 2023-03-10 17:59:32 +00:00
panic32.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
panic_test.go
panicnil_test.go internal/godebug: export non-default-behavior counters in runtime/metrics 2023-01-19 22:26:43 +00:00
plugin.go Revert "cmd/link: establish dependable package initialization order" 2023-03-09 19:19:41 +00:00
preempt.go runtime: use inlineUnwinder 2023-03-10 17:18:34 +00:00
preempt_386.s all: replace runtime SSE2 detection with GO386 setting 2021-08-23 21:22:58 +00:00
preempt_amd64.s runtime: remove dead code and unnecessary checks for amd64 2022-08-18 17:17:01 +00:00
preempt_arm.s [dev.typeparams] runtime: use internal/abi.FuncPCABI0 to take address of assembly functions 2021-05-21 21:52:38 +00:00
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 cmd/asm, runtime: remove the RSB register from loong64 2023-03-21 06:51:28 +00:00
preempt_mips64x.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
preempt_mipsx.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
preempt_nonwindows.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
preempt_ppc64x.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
preempt_riscv64.s cmd/asm,cmd/compile,runtime: stop using X3 (aka GP) on riscv64 2021-11-03 09:08:46 +00:00
preempt_s390x.s [dev.typeparams] runtime: use internal/abi.FuncPCABI0 to take address of assembly functions 2021-05-21 21:52:38 +00:00
preempt_wasm.s [dev.typeparams] runtime: use internal/abi.FuncPCABI0 to take address of assembly functions 2021-05-21 21:52:38 +00:00
print.go all: fix typos in go file comments 2023-01-20 03:27:26 +00:00
proc.go runtime: for deep stacks, print both the top 50 and bottom 50 frames 2023-03-21 19:14:14 +00:00
proc_runtime_test.go runtime: improve work stealing randomness 2022-03-01 18:43:08 +00:00
proc_test.go runtime: record parent goroutine ID, and print it in stack traces 2023-02-21 17:35:22 +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: use inlineUnwinder 2023-03-10 17:18:34 +00:00
race0.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
race_amd64.s runtime: use explicit NOFRAME on windows/amd64 2023-01-24 19:29:51 +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 all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
retry.go runtime: retry thread creation on EAGAIN 2022-11-10 20:44:45 +00:00
rt0_aix_ppc64.s runtime: correct typos 2023-02-08 14:52:12 +00:00
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_freebsd_riscv64.s runtime: add support for freebsd/riscv64 2022-09-28 03:17:13 +00:00
rt0_illumos_amd64.s
rt0_ios_amd64.s
rt0_ios_arm64.s
rt0_js_wasm.s all: implement wasmimport directive 2023-03-02 05:28:55 +00:00
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: refactor the linux/loong64 entrypoint 2023-03-15 07:15:46 +00:00
rt0_linux_mips64x.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
rt0_linux_mipsx.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
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: correct typos 2023-02-08 14:52:12 +00:00
rt0_linux_riscv64.s all: add support for c-archive and c-shared on linux/riscv64 2021-11-03 09:23:34 +00:00
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 runtime: remove unnecessary NOFRAME flags on windows 2023-03-01 14:25:13 +00:00
rt0_windows_arm.s
rt0_windows_arm64.s runtime: remove unnecessary NOFRAME flags on windows 2023-03-01 14:25:13 +00:00
runtime-gdb.py internal/abi,runtime: refactor map constants into one place 2023-01-23 15:51:32 +00:00
runtime-gdb_test.go runtime: skip TestGdbPanic on Windows 2023-03-03 15:35:48 +00:00
runtime-lldb_test.go
runtime.go runtime: expose auxv for use by x/sys/cpu 2023-02-16 19:34:38 +00:00
runtime1.go runtime: reimplement GODEBUG=cgocheck=2 as a GOEXPERIMENT 2023-02-16 00:16:24 +00:00
runtime2.go runtime: for deep stacks, print both the top 50 and bottom 50 frames 2023-03-21 19:14:14 +00:00
runtime_boring.go
runtime_linux_test.go runtime: move epoll syscalls to runtime/internal/syscall 2022-10-07 18:28:11 +00:00
runtime_mmap_test.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
runtime_test.go all: use time.Since instead of time.Now().Sub 2022-10-02 02:28:27 +00:00
runtime_unix_test.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
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 all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
signal_386.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
signal_aix_ppc64.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
signal_amd64.go runtime: support for debugger function calls on linux/arm64 2022-04-23 05:38:56 +00:00
signal_arm.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
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_freebsd_riscv64.go runtime: add support for freebsd/riscv64 2022-09-28 03:17:13 +00:00
signal_linux_386.go [dev.typeparams] runtime: replace uses of runtime/internal/sys.PtrSize with internal/goarch.PtrSize [generated] 2021-06-17 18:54:48 +00:00
signal_linux_amd64.go [dev.typeparams] runtime: replace uses of runtime/internal/sys.PtrSize with internal/goarch.PtrSize [generated] 2021-06-17 18:54:48 +00:00
signal_linux_arm.go [dev.typeparams] runtime: replace uses of runtime/internal/sys.PtrSize with internal/goarch.PtrSize [generated] 2021-06-17 18:54:48 +00:00
signal_linux_arm64.go [dev.typeparams] runtime: replace uses of runtime/internal/sys.PtrSize with internal/goarch.PtrSize [generated] 2021-06-17 18:54:48 +00:00
signal_linux_loong64.go runtime: implement signal for linux/loong64 2022-05-19 19:32:33 +00:00
signal_linux_mips64x.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
signal_linux_mipsx.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
signal_linux_ppc64x.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
signal_linux_riscv64.go [dev.typeparams] runtime: replace uses of runtime/internal/sys.PtrSize with internal/goarch.PtrSize [generated] 2021-06-17 18:54:48 +00:00
signal_linux_s390x.go [dev.typeparams] runtime: fix import sort order [generated] 2021-06-17 20:42:23 +00:00
signal_loong64.go cmd/asm, runtime: remove the RSB register from loong64 2023-03-21 06:51:28 +00:00
signal_mips64x.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
signal_mipsx.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
signal_netbsd.go
signal_netbsd_386.go
signal_netbsd_amd64.go runtime: let (*sigctxt).r9 return the correct register value on netbsd 2023-03-21 18:51:53 +00:00
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 all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
signal_riscv64.go runtime: add support for freebsd/riscv64 2022-09-28 03:17:13 +00:00
signal_solaris.go
signal_solaris_amd64.go
signal_unix.go runtime: consolidate some low-level error reporting 2022-11-10 18:51:20 +00:00
signal_windows.go runtime: Allow handling of EXCEPTION_IN_PAGE_ERROR 2023-02-11 09:26:59 +00:00
signal_windows_test.go runtime: run TestVectoredHandlerDontCrashOnLibrary on 386 and arm64 2023-01-24 08:46:11 +00:00
sigqueue.go runtime: convert sig.{state,delivering} to atomic type 2022-08-31 15:30:57 +00:00
sigqueue_note.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
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 all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
sigtab_linux_mipsx.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
sizeclasses.go
sizeof_test.go runtime: record parent goroutine ID, and print it in stack traces 2023-02-21 17:35:22 +00:00
slice.go bytes, strings: avoid unnecessary zero initialization 2023-02-27 19:11:00 +00:00
slice_test.go
softfloat64.go runtime: fix uint64->float32 conversion for softfloat 2021-10-08 17:58:41 +00:00
softfloat64_test.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
stack.go runtime: replace all callback uses of gentraceback with unwinder 2023-03-10 17:59:32 +00:00
stack_test.go runtime: fix callee tracking in traceback printing 2023-03-15 23:53:51 +00:00
start_line_amd64_test.go runtime/internal/startlinetest: work around shared buildmode linking issue 2022-12-22 04:34:33 +00:00
start_line_test.go all: gofmt 2023-03-20 22:54:22 +00:00
stkframe.go runtime: simplify stkframe.argMapInternal 2022-09-02 19:09:03 +00:00
string.go runtime: create an API for unwinding inlined frames 2023-03-10 17:18:27 +00:00
string_test.go cmd/gc: test temp string comparison with all ops 2022-12-13 14:05:23 +00:00
stubs.go runtime: use inlineUnwinder 2023-03-10 17:18:34 +00:00
stubs2.go all: add missing periods in comments 2022-11-18 17:59:44 +00:00
stubs3.go all: implement wasmimport directive 2023-03-02 05:28:55 +00:00
stubs_386.go
stubs_amd64.go
stubs_arm.go
stubs_arm64.go [dev.typeparams] runtime: implement register ABI for reflectcall on ARM64 2021-06-02 16:49:46 +00:00
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 all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
stubs_mipsx.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
stubs_nonlinux.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
stubs_ppc64.go all: add missing periods in comments 2022-11-18 17:59:44 +00:00
stubs_ppc64x.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
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: implement traceback iterator 2023-03-10 17:59:29 +00:00
symtab_test.go all: fix spelling 2022-05-17 21:46:33 +00:00
symtabinl.go runtime: create an API for unwinding inlined frames 2023-03-10 17:18:27 +00:00
symtabinl_test.go runtime: create an API for unwinding inlined frames 2023-03-10 17:18:27 +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 runtime: skip darwin osinit_hack on ios 2023-02-10 16:28:15 +00:00
sys_darwin_amd64.s runtime: use explicit NOFRAME on darwin/amd64 2023-02-07 20:09:18 +00:00
sys_darwin_arm64.go runtime: keep //go:cgo_unsafe_args arguments alive to prevent GC 2021-11-30 03:11:18 +00:00
sys_darwin_arm64.s cmd/link, runtime: Apple libc atfork workaround take 3 2023-01-10 20:34:22 +00:00
sys_dragonfly_amd64.s runtime: use explicit NOFRAME on dragonfly/amd64 2023-02-23 16:32:43 +00:00
sys_freebsd_386.s runtime: always keep global reference to mp until mexit completes 2022-10-18 20:57:24 +00:00
sys_freebsd_amd64.s runtime: use explicit NOFRAME on freebsd/amd64 2023-02-24 07:13:54 +00:00
sys_freebsd_arm.s runtime: always keep global reference to mp until mexit completes 2022-10-18 20:57:24 +00:00
sys_freebsd_arm64.s runtime: remove arm64 non-register ABI fallback code 2023-03-17 09:07:40 +00:00
sys_freebsd_riscv64.s runtime: Add vdso on freebsd/riscv64 2022-10-20 15:14:38 +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: always keep global reference to mp until mexit completes 2022-10-18 20:57:24 +00:00
sys_linux_amd64.s runtime: use explicit NOFRAME on linux/amd64 2023-02-22 21:35:26 +00:00
sys_linux_arm.s runtime: always keep global reference to mp until mexit completes 2022-10-18 20:57:24 +00:00
sys_linux_arm64.s runtime: remove arm64 non-register ABI fallback code 2023-03-17 09:07:40 +00:00
sys_linux_loong64.s runtime: always keep global reference to mp until mexit completes 2022-10-18 20:57:24 +00:00
sys_linux_mips64x.s runtime: always keep global reference to mp until mexit completes 2022-10-18 20:57:24 +00:00
sys_linux_mipsx.s runtime: always keep global reference to mp until mexit completes 2022-10-18 20:57:24 +00:00
sys_linux_ppc64x.s runtime: add arg storage to ppc64le/linux runtime.sigprofNonGoWrapper frame 2023-03-15 13:30:09 +00:00
sys_linux_riscv64.s runtime: always keep global reference to mp until mexit completes 2022-10-18 20:57:24 +00:00
sys_linux_s390x.s runtime: always keep global reference to mp until mexit completes 2022-10-18 20:57:24 +00:00
sys_loong64.go runtime: implement runtime entry for linux/loong64 2022-05-20 15:12:31 +00:00
sys_mips64x.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
sys_mipsx.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
sys_netbsd_386.s runtime: always keep global reference to mp until mexit completes 2022-10-18 20:57:24 +00:00
sys_netbsd_amd64.s runtime: use explicit NOFRAME on netbsd/amd64 2023-02-24 16:59:50 +00:00
sys_netbsd_arm.s runtime: always keep global reference to mp until mexit completes 2022-10-18 20:57:24 +00:00
sys_netbsd_arm64.s runtime: remove arm64 non-register ABI fallback code 2023-03-17 09:07:40 +00:00
sys_nonppc64x.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
sys_openbsd.go runtime: keep //go:cgo_unsafe_args arguments alive to prevent GC 2021-11-30 03:11:18 +00:00
sys_openbsd1.go runtime: keep //go:cgo_unsafe_args arguments alive to prevent GC 2021-11-30 03:11:18 +00:00
sys_openbsd2.go runtime: throw in unreachable exitThread 2022-10-18 20:58:37 +00:00
sys_openbsd3.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
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: use explicit NOFRAME on openbsd/amd64 2023-02-27 19:19:32 +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: remove arm64 non-register ABI fallback code 2023-03-17 09:07:40 +00:00
sys_openbsd_mips64.s runtime: change tfork behaviour to unbreak openbsd/mips64 2022-11-19 03:33:26 +00:00
sys_plan9_386.s [dev.typeparams] runtime: use internal/abi.FuncPCABI0 to reference ABI0 assembly symbols 2021-05-21 22:12:04 +00:00
sys_plan9_amd64.s runtime: use explicit NOFRAME on plan9/amd64 2023-03-01 16:41:22 +00:00
sys_plan9_arm.s
sys_ppc64x.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
sys_riscv64.go
sys_s390x.go
sys_solaris_amd64.s runtime: use explicit NOFRAME on solaris/amd64 2023-02-27 19:55:56 +00:00
sys_wasm.go all: implement wasmimport directive 2023-03-02 05:28:55 +00:00
sys_wasm.s all: implement wasmimport directive 2023-03-02 05:28:55 +00:00
sys_windows_386.s runtime: implement high resolution timer on windows arm/arm64 2023-03-13 14:20:41 +00:00
sys_windows_amd64.s runtime: implement high resolution timer on windows arm/arm64 2023-03-13 14:20:41 +00:00
sys_windows_arm.s runtime: implement high resolution timer on windows arm/arm64 2023-03-13 14:20:41 +00:00
sys_windows_arm64.s runtime: implement high resolution timer on windows arm/arm64 2023-03-13 14:20:41 +00:00
sys_x86.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
syscall2_solaris.go syscall: restore original NOFILE rlimit in child process 2023-03-15 17:21:30 +00:00
syscall_aix.go syscall: restore original NOFILE rlimit in child process 2023-03-15 17:21:30 +00:00
syscall_solaris.go syscall: restore original NOFILE rlimit in child process 2023-03-15 17:21:30 +00:00
syscall_unix_test.go runtime: add page tracer 2022-11-18 03:45:30 +00:00
syscall_windows.go runtime: always use LoadLibraryEx to load system libraries 2023-01-31 22:06:41 +00:00
syscall_windows_test.go runtime: always use LoadLibraryEx to load system libraries 2023-01-31 22:06:41 +00:00
textflag.h runtime: remove implicit NOFRAME heuristic support 2023-03-01 17:28:41 +00:00
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 all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
time_nofake.go runtime: allow builtin write function to be redirected with function pointer 2021-11-04 14:17:18 +00:00
time_test.go cmd/link/internal/ld: move more of mustLinkExternal into internal/platform 2023-03-02 16:34:21 +00:00
time_windows.h runtime: on windows, read nanotime with one instruction or issue barrier 2021-11-03 18:37:22 +00:00
time_windows_386.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
time_windows_amd64.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
time_windows_arm.s runtime: remove unnecessary NOFRAME flags on windows 2023-03-01 14:25:13 +00:00
time_windows_arm64.s runtime: remove unnecessary NOFRAME flags on windows 2023-03-01 14:25:13 +00:00
timeasm.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
timestub.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
timestub2.go all: implement wasmimport directive 2023-03-02 05:28:55 +00:00
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 all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
tls_mipsx.s runtime: correct typos 2023-02-08 14:52:12 +00:00
tls_ppc64x.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
tls_riscv64.s cmd/asm,cmd/compile,runtime: stop using X3 (aka GP) on riscv64 2021-11-03 09:08:46 +00:00
tls_s390x.s
tls_stub.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
tls_windows_amd64.go
trace.go runtime/trace: record HeapGoal when StartTrace 2023-03-16 19:44:32 +00:00
traceback.go runtime: for deep stacks, print both the top 50 and bottom 50 frames 2023-03-21 19:14:14 +00:00
traceback_test.go runtime: for deep stacks, print both the top 50 and bottom 50 frames 2023-03-21 19:14:14 +00:00
type.go runtime: replace stringStruct with unsafe.String where appropriate 2022-09-13 16:42:28 +00:00
typekind.go
unsafe.go runtime: make unsafe.Slice usable from nowritebarrierrec 2023-03-10 17:59:31 +00:00
utf8.go
vdso_elf32.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
vdso_elf64.go runtime: support vdso for linux/loong64 2022-05-19 19:32:35 +00:00
vdso_freebsd.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
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_riscv64.go runtime: Add vdso on freebsd/riscv64 2022-10-20 15:14:38 +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 all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
vdso_linux_ppc64x.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
vdso_linux_riscv64.go runtime: use vDSO clock_gettime on linux/riscv64 2021-09-02 01:23:38 +00:00
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 runtime: use explicit NOFRAME on windows/amd64 2023-01-24 19:29:51 +00:00
write_err.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
write_err_android.go
zcallback_windows.go
zcallback_windows.s runtime: use explicit NOFRAME on windows/amd64 2023-01-24 19:29:51 +00:00
zcallback_windows_arm.s [dev.typeparams] runtime: use internal/abi.FuncPCABI0 to take address of assembly functions 2021-05-21 21:52:38 +00:00
zcallback_windows_arm64.s [dev.typeparams] runtime: use internal/abi.FuncPCABI0 to take address of assembly functions 2021-05-21 21:52:38 +00:00