1
0
mirror of https://github.com/golang/go synced 2024-11-19 12:34:47 -07:00
go/src/runtime
Robert Griesemer 542ea5ad91 go/printer, gofmt: tuned table alignment for better results
The go/printer (and thus gofmt) uses a heuristic to determine
whether to break alignment between elements of an expression
list which is spread across multiple lines. The heuristic only
kicked in if the entry sizes (character length) was above a
certain threshold (20) and the ratio between the previous and
current entry size was above a certain value (4).

This heuristic worked reasonably most of the time, but also
led to unfortunate breaks in many cases where a single entry
was suddenly much smaller (or larger) then the previous one.

The behavior of gofmt was sufficiently mysterious in some of
these situations that many issues were filed against it.

The simplest solution to address this problem is to remove
the heuristic altogether and have a programmer introduce
empty lines to force different alignments if it improves
readability. The problem with that approach is that the
places where it really matters, very long tables with many
(hundreds, or more) entries, may be machine-generated and
not "post-processed" by a human (e.g., unicode/utf8/tables.go).

If a single one of those entries is overlong, the result
would be that the alignment would force all comments or
values in key:value pairs to be adjusted to that overlong
value, making the table hard to read (e.g., that entry may
not even be visible on screen and all other entries seem
spaced out too wide).

Instead, we opted for a slightly improved heuristic that
behaves much better for "normal", human-written code.

1) The threshold is increased from 20 to 40. This disables
the heuristic for many common cases yet even if the alignment
is not "ideal", 40 is not that many characters per line with
todays screens, making it very likely that the entire line
remains "visible" in an editor.

2) Changed the heuristic to not simply look at the size ratio
between current and previous line, but instead considering the
geometric mean of the sizes of the previous (aligned) lines.
This emphasizes the "overall picture" of the previous lines,
rather than a single one (which might be an outlier).

3) Changed the ratio from 4 to 2.5. Now that we ignore sizes
below 40, a ratio of 4 would mean that a new entry would have
to be 4 times bigger (160) or smaller (10) before alignment
would be broken. A ratio of 2.5 seems more sensible.

Applied updated gofmt to all of src and misc. Also tested
against several former issues that complained about this
and verified that the output for the given examples is
satisfactory (added respective test cases).

Some of the files changed because they were not gofmt-ed
in the first place.

For #644.
For #7335.
For #10392.
(and probably more related issues)

Fixes #22852.

Change-Id: I5e48b3d3b157a5cf2d649833b7297b33f43a6f6e
2018-04-04 13:39:34 -07:00
..
cgo all: enable c-shared/c-archive support for freebsd/amd64 2018-03-21 21:56:20 +00:00
debug
internal go/build, go/types, cmd/dist: add js/wasm architecture 2018-03-30 21:34:18 +00:00
msan
pprof all: remove some unused return parameters 2018-03-24 19:44:47 +00:00
race cmd/go: implement per-package asmflags, gcflags, ldflags, gccgoflags 2017-11-09 15:04:04 +00:00
testdata cmd/go, cmd/link, runtime: enable PIE build mode, cgo race tests on FreeBSD 2018-03-27 02:50:29 +00:00
trace internal/trace: remove backlinks from span/task end to start 2018-03-05 20:10:22 +00:00
alg.go runtime: implement aeshash for arm64 platform 2018-04-04 16:25:39 +00:00
asm_386.s runtime,sync/atomic: replace asm BYTEs with insts for x86 2018-03-21 20:51:04 +00:00
asm_amd64.s runtime: call abort instead of raw INT $3 or bad MOV 2018-03-08 22:55:54 +00:00
asm_amd64p32.s runtime: call abort instead of raw INT $3 or bad MOV 2018-03-08 22:55:54 +00:00
asm_arm64.s runtime: implement aeshash for arm64 platform 2018-04-04 16:25:39 +00:00
asm_arm.s cmd/internal/obj/arm: add DMB instruction 2018-03-27 19:54:44 +00:00
asm_mips64x.s runtime: make throw safer to call 2018-03-08 22:55:52 +00:00
asm_mipsx.s runtime: make throw safer to call 2018-03-08 22:55:52 +00:00
asm_ppc64x.h
asm_ppc64x.s runtime: make throw safer to call 2018-03-08 22:55:52 +00:00
asm_s390x.s runtime: make throw safer to call 2018-03-08 22:55:52 +00:00
asm.s
atomic_arm64.s runtime: use NOFRAME on arm64 2018-02-12 21:41:31 +00:00
atomic_mips64x.s runtime: use NOFRAME on mips and mips64 2018-02-12 21:41:32 +00:00
atomic_mipsx.s
atomic_pointer.go runtime: eliminate all writebarrierptr* calls 2018-02-13 16:34:45 +00:00
atomic_ppc64x.s
auxv_none.go runtime: parse auxv for page size and executable name on Solaris 2018-04-03 15:49:45 +00:00
callers_test.go
cgo_mmap.go runtime: separate error result for mmap 2017-10-18 19:22:08 +00:00
cgo_ppc64x.go
cgo_sigaction.go all: enable c-shared/c-archive support for freebsd/amd64 2018-03-21 21:56:20 +00:00
cgo.go
cgocall.go runtime: eliminate most uses of mheap_.arena_* 2018-02-15 21:12:22 +00:00
cgocallback.go
cgocheck.go runtime: make throw safer to call 2018-03-08 22:55:52 +00:00
chan_test.go runtime: skip test that intermittently hangs on ppc64le 2017-10-03 12:26:42 +00:00
chan.go Revert "runtime: convert g.waitreason from string to uint8" 2018-03-13 15:21:21 +00:00
chanbarrier_test.go
closure_test.go
compiler.go
complex_test.go
complex.go
cpuflags_amd64.go
cpuprof.go runtime: in cpuProfile.addExtra, set p.lostExtra to 0 after flush 2017-09-12 16:54:29 +00:00
cputicks.go all: remove some double spaces from comments 2017-08-26 15:09:09 +00:00
crash_cgo_test.go cmd/go, cmd/link, runtime: enable PIE build mode, cgo race tests on FreeBSD 2018-03-27 02:50:29 +00:00
crash_nonunix_test.go
crash_test.go runtime: ensure abort actually crashes the process 2018-03-08 22:55:55 +00:00
crash_unix_test.go cmd/compile: add TestIntendedInlining from runtime 2017-09-13 18:10:31 +00:00
debug.go runtime: eliminate GOMAXPROCS limit 2017-09-27 16:29:12 +00:00
defs1_linux.go
defs1_netbsd_386.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs1_netbsd_amd64.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs1_netbsd_arm.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs1_solaris_amd64.go
defs2_linux.go
defs3_linux.go
defs_arm_linux.go
defs_darwin_386.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_darwin_amd64.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_darwin_arm64.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_darwin_arm.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_darwin.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_dragonfly_amd64.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_dragonfly.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_freebsd_386.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_freebsd_amd64.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_freebsd_arm.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_freebsd.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_linux_386.go
defs_linux_amd64.go
defs_linux_arm64.go
defs_linux_arm.go
defs_linux_mips64x.go
defs_linux_mipsx.go
defs_linux_ppc64.go
defs_linux_ppc64le.go
defs_linux_s390x.go
defs_linux.go
defs_nacl_386.go
defs_nacl_amd64p32.go
defs_nacl_arm.go
defs_netbsd_386.go
defs_netbsd_amd64.go
defs_netbsd_arm.go
defs_netbsd.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_openbsd_386.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_openbsd_amd64.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_openbsd_arm.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_openbsd.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
defs_plan9_386.go
defs_plan9_amd64.go
defs_plan9_arm.go
defs_solaris_amd64.go
defs_solaris.go
defs_windows_386.go
defs_windows_amd64.go
defs_windows.go
duff_386.s
duff_amd64.s cmd/compile/internal/ssa: use sse to zero on amd64 2017-08-16 15:52:27 +00:00
duff_arm64.s runtime, cmd/compile: use ldp for DUFFCOPY on ARM64 2018-03-06 04:14:59 +00:00
duff_arm.s
duff_mips64x.s runtime: use NOFRAME on mips and mips64 2018-02-12 21:41:32 +00:00
duff_ppc64x.s
env_plan9.go
env_posix.go
env_test.go
error.go internal/bytealg: move IndexByte asssembly to the new bytealg package 2018-03-02 22:46:15 +00:00
example_test.go
export_arm_test.go
export_futex_test.go
export_linux_test.go
export_mmap_test.go
export_test.go runtime: add TestSizeof 2018-03-09 17:03:25 +00:00
export_unix_test.go
export_windows_test.go
extern.go runtime: don't elide wrapper functions that call panic or at TOS 2017-11-13 21:43:44 +00:00
fastlog2_test.go
fastlog2.go
fastlog2table.go
float.go
funcdata.h
futex_test.go
gc_test.go runtime: rename the TestGcHashmapIndirection to TestGcMapIndirection 2018-02-23 16:48:01 +00:00
gcinfo_test.go cmd/compile: mark the first word of an interface as a uintptr 2018-02-27 22:58:32 +00:00
go_tls.h
HACKING.md
hash32.go runtime: specialize memhash32 and memhash64 2017-08-28 19:55:27 +00:00
hash64.go runtime: implement aeshash for arm64 platform 2018-04-04 16:25:39 +00:00
hash_test.go runtime: specialize memhash32 and memhash64 2017-08-28 19:55:27 +00:00
heapdump.go Revert "runtime: convert g.waitreason from string to uint8" 2018-03-13 15:21:21 +00:00
iface_test.go
iface.go runtime: don't check for String/Error methods in printany 2018-02-23 22:39:46 +00:00
lfstack_32bit.go
lfstack_64bit.go runtime: clarify address space limit constants and comments 2018-02-21 20:32:36 +00:00
lfstack_test.go
lfstack.go runtime: validate lfnode addresses 2018-02-15 21:12:11 +00:00
lock_futex.go
lock_sema.go runtime: make m.nextwaitm an muintptr 2017-10-11 17:47:10 +00:00
Makefile
malloc_test.go runtime: stop when we run out of hints in race mode 2018-04-04 18:08:04 +00:00
malloc.go runtime: stop when we run out of hints in race mode 2018-04-04 18:08:04 +00:00
map_benchmark_test.go runtime: rename map implementation and test files to use a common prefix 2018-02-17 14:57:32 +00:00
map_fast32.go runtime: move map fast functions into type specific files 2018-02-17 15:32:26 +00:00
map_fast64.go runtime: move map fast functions into type specific files 2018-02-17 15:32:26 +00:00
map_faststr.go runtime: move map fast functions into type specific files 2018-02-17 15:32:26 +00:00
map_test.go go/printer, gofmt: tuned table alignment for better results 2018-04-04 13:39:34 -07:00
map.go runtime: rename map implementation and test files to use a common prefix 2018-02-17 14:57:32 +00:00
mbarrier.go runtime: short-circuit typedmemmove when dst==src 2018-02-27 00:56:18 +00:00
mbitmap.go runtime: fix comment typo 2018-03-26 17:40:46 +00:00
mcache.go runtime: replace mlookup and findObject with heapBitsForObject 2018-02-15 21:12:12 +00:00
mcentral.go runtime: eliminate most uses of mheap_.arena_* 2018-02-15 21:12:22 +00:00
mem_bsd.go runtime: remove non-reserved heap logic 2018-02-15 21:12:24 +00:00
mem_darwin.go runtime: remove non-reserved heap logic 2018-02-15 21:12:24 +00:00
mem_linux.go runtime: remove non-reserved heap logic 2018-02-15 21:12:24 +00:00
mem_plan9.go runtime: don't try to shrink address space with brk in Plan 9 2018-02-28 15:57:10 +00:00
mem_windows.go runtime: remove non-reserved heap logic 2018-02-15 21:12:24 +00:00
memclr_386.s
memclr_amd64.s
memclr_amd64p32.s runtime: cleanup amd64p32 memmove and memclr file organization 2017-09-05 20:00:05 +00:00
memclr_arm64.s runtime: improve arm64 memclr implementation 2018-03-14 18:20:40 +00:00
memclr_arm.s
memclr_mips64x.s
memclr_mipsx.s
memclr_plan9_386.s
memclr_plan9_amd64.s
memclr_ppc64x.s
memclr_s390x.s
memmove_386.s
memmove_amd64.s runtime: simplify amd64 memmove of 3/4 bytes 2018-02-15 15:05:53 +00:00
memmove_amd64p32.s runtime: cleanup amd64p32 memmove and memclr file organization 2017-09-05 20:00:05 +00:00
memmove_arm64.s runtime: improve arm64 memmove implementation 2018-03-01 20:34:11 +00:00
memmove_arm.s
memmove_linux_amd64_test.go
memmove_mips64x.s runtime: use NOFRAME on mips and mips64 2018-02-12 21:41:32 +00:00
memmove_mipsx.s
memmove_plan9_386.s
memmove_plan9_amd64.s
memmove_ppc64x.s
memmove_s390x.s
memmove_test.go runtime, cmd/compile: use ldp for DUFFCOPY on ARM64 2018-03-06 04:14:59 +00:00
mfinal_test.go runtime: shorten tests in all.bash 2017-10-31 13:20:27 +00:00
mfinal.go Revert "runtime: convert g.waitreason from string to uint8" 2018-03-13 15:21:21 +00:00
mfixalloc.go runtime: fix a few typos in comments 2018-02-23 00:17:20 +00:00
mgc.go Revert "runtime: convert g.waitreason from string to uint8" 2018-03-13 15:21:21 +00:00
mgclarge.go runtime: fix a few typos in comments 2018-02-23 00:17:20 +00:00
mgcmark.go Revert "runtime: convert g.waitreason from string to uint8" 2018-03-13 15:21:21 +00:00
mgcsweep.go Revert "runtime: convert g.waitreason from string to uint8" 2018-03-13 15:21:21 +00:00
mgcsweepbuf.go
mgcwork.go runtime: validate lfnode addresses 2018-02-15 21:12:11 +00:00
mheap.go runtime: support a two-level arena map 2018-02-23 21:59:50 +00:00
mkduff.go runtime, cmd/compile: use ldp for DUFFCOPY on ARM64 2018-03-06 04:14:59 +00:00
mkfastlog2table.go
mknacl.sh
mksizeclasses.go runtime: add "max waste" column to size class table comment 2017-08-10 21:45:01 +00:00
mmap.go runtime: separate error result for mmap 2017-10-18 19:22:08 +00:00
mprof.go runtime: remove getcallerpc argument 2017-09-22 22:17:15 +00:00
msan0.go
msan_amd64.s
msan.go
msize.go
mstats.go runtime: use sparse mappings for the heap 2018-02-15 21:12:23 +00:00
mwbbuf.go runtime: eliminate most uses of mheap_.arena_* 2018-02-15 21:12:22 +00:00
net_plan9.go
netpoll_epoll.go
netpoll_kqueue.go runtime: for kqueue treat EVFILT_READ with EV_EOF as permitting a write 2017-10-20 22:26:30 +00:00
netpoll_nacl.go
netpoll_solaris.go
netpoll_stub.go
netpoll_windows.go runtime: make errno positive in netpollopen 2017-10-24 03:19:09 +00:00
netpoll.go Revert "runtime: convert g.waitreason from string to uint8" 2018-03-13 15:21:21 +00:00
norace_linux_test.go
norace_test.go
numcpu_freebsd_test.go
os2_freebsd.go runtime: remove unused getrlimit function 2018-02-17 18:35:41 +00:00
os2_nacl.go
os2_openbsd.go
os2_plan9.go
os2_solaris.go runtime: remove unused getrlimit function 2018-02-17 18:35:41 +00:00
os3_plan9.go runtime: fix abort handling on arm64 2018-03-09 22:17:04 +00:00
os3_solaris.go runtime: parse auxv for page size and executable name on Solaris 2018-04-03 15:49:45 +00:00
os_android.go
os_darwin_arm64.go internal/cpu: detect cpu features in internal/cpu package 2017-11-14 19:07:15 +00:00
os_darwin_arm.go
os_darwin.go runtime: remove unused memlimit function 2018-02-13 22:35:47 +00:00
os_dragonfly.go runtime: parse auxv for page size on dragonfly 2018-03-29 14:19:13 +00:00
os_freebsd2.go all: enable c-shared/c-archive support for freebsd/amd64 2018-03-21 21:56:20 +00:00
os_freebsd_amd64.go all: enable c-shared/c-archive support for freebsd/amd64 2018-03-21 21:56:20 +00:00
os_freebsd_arm.go runtime: adjust GOARM floating point compatibility error message 2018-03-24 04:47:27 +00:00
os_freebsd_noauxv.go runtime: parse auxv on freebsd 2018-03-21 15:40:01 +00:00
os_freebsd.go runtime: fix AT_HWCAP auxv parsing on freebsd 2018-03-23 19:51:25 +00:00
os_linux_arm64.go runtime: implement aeshash for arm64 platform 2018-04-04 16:25:39 +00:00
os_linux_arm.go runtime: adjust GOARM floating point compatibility error message 2018-03-24 04:47:27 +00:00
os_linux_be64.go runtime: add missing build constraints to os_linux_{be64,noauxv,novdso,ppc64x}.go files 2018-03-07 14:26:19 +00:00
os_linux_generic.go runtime: remove unused getrlimit function 2018-02-17 18:35:41 +00:00
os_linux_mips64x.go runtime: remove unused getrlimit function 2018-02-17 18:35:41 +00:00
os_linux_mipsx.go runtime: remove unused getrlimit function 2018-02-17 18:35:41 +00:00
os_linux_noauxv.go runtime: add missing build constraints to os_linux_{be64,noauxv,novdso,ppc64x}.go files 2018-03-07 14:26:19 +00:00
os_linux_novdso.go runtime: use vDSO for clock_gettime on linux/arm64 2018-03-27 13:21:27 +00:00
os_linux_ppc64x.go runtime: add missing build constraints to os_linux_{be64,noauxv,novdso,ppc64x}.go files 2018-03-07 14:26:19 +00:00
os_linux_s390x.go internal/bytealg: move short string Index implementations into bytealg 2018-03-04 19:49:44 +00:00
os_linux.go runtime: use systemstack around throw in sysSigaction 2018-03-08 16:35:53 +00:00
os_nacl_arm.go
os_nacl.go runtime: remove unused memlimit function 2018-02-13 22:35:47 +00:00
os_netbsd_386.go
os_netbsd_amd64.go
os_netbsd_arm.go
os_netbsd.go runtime: parse auxv for page size on netbsd 2018-03-27 15:21:51 +00:00
os_openbsd_arm.go
os_openbsd.go runtime: remove unused memlimit function 2018-02-13 22:35:47 +00:00
os_plan9_arm.go
os_plan9.go runtime: remove unused memlimit function 2018-02-13 22:35:47 +00:00
os_solaris.go runtime: set libcall values for Solaris system calls 2018-03-09 19:27:20 +00:00
os_windows.go runtime: identify special functions by flag instead of address 2018-03-15 17:31:57 +00:00
panic.go runtime: fix abort handling on arm64 2018-03-09 22:17:04 +00:00
plugin.go runtime, plugin: error not throw on duplicate open 2017-09-09 16:26:33 +00:00
print.go runtime: print hexdump on traceback failure 2018-01-22 21:51:29 +00:00
proc_runtime_test.go
proc_test.go runtime: fix build on non-Linux platforms 2017-11-21 21:52:58 +00:00
proc.go runtime: identify special functions by flag instead of address 2018-03-15 17:31:57 +00:00
profbuf_test.go
profbuf.go runtime: fix false positive race in profile label reading 2017-08-18 21:40:37 +00:00
proflabel.go runtime: fix false positive race in profile label reading 2017-08-18 21:40:37 +00:00
race0.go
race_amd64.s
race.go runtime: split object finding out of heapBitsForObject 2018-02-15 21:12:13 +00:00
rand_test.go runtime: simplify range expressions in tests 2018-03-12 19:58:42 +00:00
rdebug.go
relax_stub.go
rt0_android_386.s runtime: pass dummy argc/argv correctly in r0_386_android_lib 2018-01-21 04:56:36 +00:00
rt0_android_amd64.s runtime: unify amd64 -buildmode=c-archive/c-shared entry point code 2017-10-11 21:12:51 +00:00
rt0_android_arm64.s runtime: use NOFRAME on arm64 2018-02-12 21:41:31 +00:00
rt0_android_arm.s runtime, sync/atomic: use NOFRAME on arm 2018-02-12 21:41:30 +00:00
rt0_darwin_386.s runtime: unify 386 entry point code 2017-10-17 04:03:16 +00:00
rt0_darwin_amd64.s runtime: unify amd64 -buildmode=c-archive/c-shared entry point code 2017-10-11 21:12:51 +00:00
rt0_darwin_arm64.s runtime: use NOFRAME on arm64 2018-02-12 21:41:31 +00:00
rt0_darwin_arm.s runtime: unify arm entry point code 2017-10-25 00:40:40 +00:00
rt0_dragonfly_amd64.s runtime: fix dragonfly/amd64 2017-10-12 04:03:50 +00:00
rt0_freebsd_386.s runtime: unify 386 entry point code 2017-10-17 04:03:16 +00:00
rt0_freebsd_amd64.s runtime: unify amd64 -buildmode=c-archive/c-shared entry point code 2017-10-11 21:12:51 +00:00
rt0_freebsd_arm.s runtime: unify arm entry point code 2017-10-25 00:40:40 +00:00
rt0_linux_386.s runtime: unify 386 entry point code 2017-10-17 04:03:16 +00:00
rt0_linux_amd64.s runtime: unify amd64 -buildmode=c-archive/c-shared entry point code 2017-10-11 21:12:51 +00:00
rt0_linux_arm64.s runtime: use NOFRAME on arm64 2018-02-12 21:41:31 +00:00
rt0_linux_arm.s runtime, sync/atomic: use NOFRAME on arm 2018-02-12 21:41:30 +00:00
rt0_linux_mips64x.s runtime: use NOFRAME on mips and mips64 2018-02-12 21:41:32 +00:00
rt0_linux_mipsx.s runtime: use NOFRAME on mips and mips64 2018-02-12 21:41:32 +00:00
rt0_linux_ppc64.s
rt0_linux_ppc64le.s runtime: make sure R0 is zero before _main on ppc64le 2017-08-11 17:46:24 +00:00
rt0_linux_s390x.s cmd/link: enable c-shared and c-archive mode on s390x 2017-11-17 15:54:54 +00:00
rt0_nacl_386.s runtime: unify 386 entry point code 2017-10-17 04:03:16 +00:00
rt0_nacl_amd64p32.s
rt0_nacl_arm.s runtime, sync/atomic: use NOFRAME on arm 2018-02-12 21:41:30 +00:00
rt0_netbsd_386.s runtime: unify 386 entry point code 2017-10-17 04:03:16 +00:00
rt0_netbsd_amd64.s runtime: unify amd64 -buildmode=c-archive/c-shared entry point code 2017-10-11 21:12:51 +00:00
rt0_netbsd_arm.s runtime: unify arm entry point code 2017-10-25 00:40:40 +00:00
rt0_openbsd_386.s runtime: unify 386 entry point code 2017-10-17 04:03:16 +00:00
rt0_openbsd_amd64.s runtime: unify amd64 -buildmode=c-archive/c-shared entry point code 2017-10-11 21:12:51 +00:00
rt0_openbsd_arm.s runtime: unify arm entry point code 2017-10-25 00:40:40 +00:00
rt0_plan9_386.s runtime: unify 386 entry point code 2017-10-17 04:03:16 +00:00
rt0_plan9_amd64.s
rt0_plan9_arm.s runtime, sync/atomic: use NOFRAME on arm 2018-02-12 21:41:30 +00:00
rt0_solaris_amd64.s runtime: unify amd64 -buildmode=c-archive/c-shared entry point code 2017-10-11 21:12:51 +00:00
rt0_windows_386.s runtime: unify 386 entry point code 2017-10-17 04:03:16 +00:00
rt0_windows_amd64.s runtime: unify amd64 -buildmode=exe entry point code 2017-10-11 20:07:31 +00:00
runtime1.go runtime: buffered write barrier implementation 2017-10-30 18:12:44 +00:00
runtime2.go runtime: implement aeshash for arm64 platform 2018-04-04 16:25:39 +00:00
runtime_linux_test.go runtime: fix build on non-Linux platforms 2017-11-21 21:52:58 +00:00
runtime_mmap_test.go runtime: separate error result for mmap 2017-10-18 19:22:08 +00:00
runtime_test.go runtime: shorten tests in all.bash 2017-10-31 13:20:27 +00:00
runtime_unix_test.go
runtime-gdb_test.go cmd/compile: turn on DWARF locations lists for ssa vars 2018-03-15 21:34:17 +00:00
runtime-gdb.py runtime: fix another typo in runtime-gdb.py 2018-03-15 02:04:45 +00:00
runtime-lldb_test.go cmd/go: implement per-package asmflags, gcflags, ldflags, gccgoflags 2017-11-09 15:04:04 +00:00
runtime.go syscall: make Exit call runtime.exit 2017-09-27 01:10:05 +00:00
rwmutex_test.go runtime: "fix" non-preemptible loop in TestParallelRWMutexReaders 2017-10-26 20:38:48 +00:00
rwmutex.go sync: consistently use article "a" for RWMutex 2018-01-16 23:09:57 +00:00
select.go Revert "runtime: convert g.waitreason from string to uint8" 2018-03-13 15:21:21 +00:00
sema.go Revert "runtime: convert g.waitreason from string to uint8" 2018-03-13 15:21:21 +00:00
sigaction.go all: enable c-shared/c-archive support for freebsd/amd64 2018-03-21 21:56:20 +00:00
signal_386.go runtime: refactor test for pushing sigpanic frame 2018-02-13 21:01:25 +00:00
signal_amd64x.go runtime: refactor test for pushing sigpanic frame 2018-02-13 21:01:25 +00:00
signal_arm64.go runtime: refactor test for pushing sigpanic frame 2018-02-13 21:01:25 +00:00
signal_arm.go runtime: refactor test for pushing sigpanic frame 2018-02-13 21:01:25 +00:00
signal_darwin_386.go
signal_darwin_amd64.go
signal_darwin_arm64.go runtime: normalize (*sigctxt).fault() type 2017-10-05 02:31:25 +00:00
signal_darwin_arm.go runtime: normalize (*sigctxt).fault() type 2017-10-05 02:31:25 +00:00
signal_darwin.go runtime: forward crashing signals to late handlers 2017-08-29 07:40:19 +00:00
signal_dragonfly_amd64.go
signal_dragonfly.go runtime: forward crashing signals to late handlers 2017-08-29 07:40:19 +00:00
signal_freebsd_386.go
signal_freebsd_amd64.go
signal_freebsd_arm.go runtime: normalize (*sigctxt).fault() type 2017-10-05 02:31:25 +00:00
signal_freebsd.go runtime: forward crashing signals to late handlers 2017-08-29 07:40:19 +00:00
signal_linux_386.go
signal_linux_amd64.go
signal_linux_arm64.go runtime: normalize (*sigctxt).fault() type 2017-10-05 02:31:25 +00:00
signal_linux_arm.go runtime: normalize (*sigctxt).fault() type 2017-10-05 02:31:25 +00:00
signal_linux_mips64x.go runtime: restore RSB for sigpanic call on mips64x 2018-01-31 20:57:53 +00:00
signal_linux_mipsx.go
signal_linux_ppc64x.go runtime: normalize (*sigctxt).fault() type 2017-10-05 02:31:25 +00:00
signal_linux_s390x.go runtime: refactor test for pushing sigpanic frame 2018-02-13 21:01:25 +00:00
signal_mips64x.go runtime: refactor test for pushing sigpanic frame 2018-02-13 21:01:25 +00:00
signal_mipsx.go runtime: refactor test for pushing sigpanic frame 2018-02-13 21:01:25 +00:00
signal_nacl_386.go
signal_nacl_amd64p32.go
signal_nacl_arm.go runtime: normalize (*sigctxt).fault() type 2017-10-05 02:31:25 +00:00
signal_nacl.go runtime: forward crashing signals to late handlers 2017-08-29 07:40:19 +00:00
signal_netbsd_386.go
signal_netbsd_amd64.go
signal_netbsd_arm.go runtime: normalize (*sigctxt).fault() type 2017-10-05 02:31:25 +00:00
signal_netbsd.go runtime: forward crashing signals to late handlers 2017-08-29 07:40:19 +00:00
signal_openbsd_386.go
signal_openbsd_amd64.go
signal_openbsd_arm.go runtime: normalize (*sigctxt).fault() type 2017-10-05 02:31:25 +00:00
signal_openbsd.go runtime: forward crashing signals to late handlers 2017-08-29 07:40:19 +00:00
signal_plan9.go
signal_ppc64x.go runtime: refactor test for pushing sigpanic frame 2018-02-13 21:01:25 +00:00
signal_sighandler.go runtime: fix abort handling on arm64 2018-03-09 22:17:04 +00:00
signal_solaris_amd64.go
signal_solaris.go runtime: forward crashing signals to late handlers 2017-08-29 07:40:19 +00:00
signal_unix.go all: enable c-shared/c-archive support for freebsd/amd64 2018-03-21 21:56:20 +00:00
signal_windows.go runtime: fix abort handling on arm64 2018-03-09 22:17:04 +00:00
sigqueue_plan9.go
sigqueue.go runtime: improve sigsend documentation 2017-12-01 20:34:13 +00:00
sigtab_linux_generic.go runtime: forward crashing signals to late handlers 2017-08-29 07:40:19 +00:00
sigtab_linux_mipsx.go runtime: forward crashing signals to late handlers 2017-08-29 07:40:19 +00:00
sizeclasses.go runtime: add "max waste" column to size class table comment 2017-08-10 21:45:01 +00:00
sizeof_test.go Revert "runtime: convert g.waitreason from string to uint8" 2018-03-13 15:21:21 +00:00
slice_test.go runtime: improve test file naming 2018-02-15 08:56:58 +00:00
slice.go runtime: replace _MaxMem with maxAlloc 2018-02-15 21:12:26 +00:00
softfloat64_test.go
softfloat64.go runtime: implement some soft-float routines (used by GOMIPS=softfloat) 2017-11-30 17:12:05 +00:00
softfloat_arm.go
sqrt_test.go
sqrt.go
stack_test.go runtime: improve StackCopy benchmarks 2018-04-04 04:45:12 +00:00
stack.go runtime: identify special functions by flag instead of address 2018-03-15 17:31:57 +00:00
string_test.go runtime: simplify range expressions in tests 2018-03-12 19:58:42 +00:00
string.go runtime: don't use floating point in findnull on Plan 9 2018-03-14 13:15:52 +00:00
stubs2.go runtime: make it possible to exit Go-created threads 2017-10-11 17:47:18 +00:00
stubs32.go
stubs_android.go
stubs_linux.go
stubs_nonlinux.go
stubs.go runtime: ensure abort actually crashes the process 2018-03-08 22:55:55 +00:00
symtab_test.go
symtab.go runtime: identify special functions by flag instead of address 2018-03-15 17:31:57 +00:00
sys_arm64.go
sys_arm.go
sys_darwin_386.s runtime,sync/atomic: replace asm BYTEs with insts for x86 2018-03-21 20:51:04 +00:00
sys_darwin_amd64.s runtime: fix time.Now on Sierra and older 2018-01-16 16:49:41 +00:00
sys_darwin_arm64.s runtime: use NOFRAME on arm64 2018-02-12 21:41:31 +00:00
sys_darwin_arm.s runtime, sync/atomic: use NOFRAME on arm 2018-02-12 21:41:30 +00:00
sys_dragonfly_amd64.s runtime: remove unused getrlimit function 2018-02-17 18:35:41 +00:00
sys_freebsd_386.s all: enable c-shared/c-archive support for freebsd/amd64 2018-03-21 21:56:20 +00:00
sys_freebsd_amd64.s all: enable c-shared/c-archive support for freebsd/amd64 2018-03-21 21:56:20 +00:00
sys_freebsd_arm.s all: enable c-shared/c-archive support for freebsd/amd64 2018-03-21 21:56:20 +00:00
sys_linux_386.s runtime: get traceback from VDSO code 2018-03-07 23:35:25 +00:00
sys_linux_amd64.s runtime: use Android O friendly faccessat syscall on linux/amd64 2018-03-15 10:07:19 +00:00
sys_linux_arm64.s runtime: use vDSO for clock_gettime on linux/arm64 2018-03-27 13:21:27 +00:00
sys_linux_arm.s runtime: get traceback from VDSO code 2018-03-07 23:35:25 +00:00
sys_linux_mips64x.s runtime: remove unused SYS_* definitions on Linux 2018-03-05 18:32:08 +00:00
sys_linux_mipsx.s runtime: remove unused SYS_* definitions on Linux 2018-03-05 18:32:08 +00:00
sys_linux_ppc64x.s runtime: remove unused SYS_* definitions on Linux 2018-03-05 18:32:08 +00:00
sys_linux_s390x.s runtime: remove unused SYS_* definitions on Linux 2018-03-05 18:32:08 +00:00
sys_mips64x.go
sys_mipsx.go
sys_nacl_386.s runtime: separate error result for mmap 2017-10-18 19:22:08 +00:00
sys_nacl_amd64p32.s runtime: separate error result for mmap 2017-10-18 19:22:08 +00:00
sys_nacl_arm.s runtime, sync/atomic: use NOFRAME on arm 2018-02-12 21:41:30 +00:00
sys_netbsd_386.s runtime: make NetBSD lwp_park use monotonic time 2017-12-04 03:29:56 +00:00
sys_netbsd_amd64.s runtime: make NetBSD lwp_park use monotonic time 2017-12-04 03:29:56 +00:00
sys_netbsd_arm.s runtime, sync/atomic: use NOFRAME on arm 2018-02-12 21:41:30 +00:00
sys_nonppc64x.go
sys_openbsd_386.s runtime: separate error result for mmap 2017-10-18 19:22:08 +00:00
sys_openbsd_amd64.s runtime: separate error result for mmap 2017-10-18 19:22:08 +00:00
sys_openbsd_arm.s runtime, sync/atomic: use NOFRAME on arm 2018-02-12 21:41:30 +00:00
sys_plan9_386.s runtime: make it possible to exit Go-created threads 2017-10-11 17:47:18 +00:00
sys_plan9_amd64.s runtime: make it possible to exit Go-created threads 2017-10-11 17:47:18 +00:00
sys_plan9_arm.s runtime, sync/atomic: use NOFRAME on arm 2018-02-12 21:41:30 +00:00
sys_ppc64x.go
sys_s390x.go
sys_solaris_amd64.s runtime: call sigtrampgo on solaris 2017-08-29 19:57:32 +00:00
sys_windows_386.s
sys_windows_amd64.s
sys_x86.go runtime: fix documentation typo for gostartcall 2017-11-29 18:42:49 +00:00
syscall2_solaris.go runtime: clean up libc_* definitions on Solaris 2018-03-01 07:31:53 +00:00
syscall_nacl.h
syscall_solaris.go runtime, syscall: add RawSyscall6 on Solaris and make it panic 2018-03-14 16:01:39 +00:00
syscall_windows_test.go runtime: make TestWindowsStackMemory build even with CGO_ENABLED=0 set 2017-11-14 03:53:15 +00:00
syscall_windows.go syscall: make Exit call runtime.exit 2017-09-27 01:10:05 +00:00
textflag.h
time.go Revert "runtime: convert g.waitreason from string to uint8" 2018-03-13 15:21:21 +00:00
timeasm.go
timestub.go
tls_arm64.h
tls_arm64.s
tls_arm.s runtime, sync/atomic: use NOFRAME on arm 2018-02-12 21:41:30 +00:00
tls_mips64x.s runtime: use NOFRAME on mips and mips64 2018-02-12 21:41:32 +00:00
tls_mipsx.s runtime: use NOFRAME on mips and mips64 2018-02-12 21:41:32 +00:00
tls_ppc64x.s
tls_s390x.s
trace.go Revert "runtime: convert g.waitreason from string to uint8" 2018-03-13 15:21:21 +00:00
traceback.go runtime: identify special functions by flag instead of address 2018-03-15 17:31:57 +00:00
type.go reflect: sort exported methods first 2018-03-15 21:56:08 +00:00
typekind.go
unaligned1.go
unaligned2.go
utf8.go
vdso_elf32.go runtime: use vDSO for clock_gettime on linux/arm 2018-03-03 12:12:58 +00:00
vdso_elf64.go runtime: use vDSO for clock_gettime on linux/arm64 2018-03-27 13:21:27 +00:00
vdso_in_none.go runtime: use vDSO for clock_gettime on linux/arm64 2018-03-27 13:21:27 +00:00
vdso_linux_386.go runtime: use vDSO for clock_gettime on linux/arm64 2018-03-27 13:21:27 +00:00
vdso_linux_amd64.go runtime: use vDSO for clock_gettime on linux/arm64 2018-03-27 13:21:27 +00:00
vdso_linux_arm64.go runtime: use vDSO for clock_gettime on linux/arm64 2018-03-27 13:21:27 +00:00
vdso_linux_arm.go runtime: use vDSO for clock_gettime on linux/arm64 2018-03-27 13:21:27 +00:00
vdso_linux_test.go runtime: use vDSO for clock_gettime on linux/arm64 2018-03-27 13:21:27 +00:00
vdso_linux.go runtime: use vDSO for clock_gettime on linux/arm64 2018-03-27 13:21:27 +00:00
vlop_386.s
vlop_arm_test.go
vlop_arm.s cmd/compile: CALLudiv on nacl/arm doesn't clobber R12 2018-02-14 17:09:15 +00:00
vlrt.go
wincallback.go
write_err_android.go
write_err.go
zcallback_windows.go
zcallback_windows.s