1
0
mirror of https://github.com/golang/go synced 2024-11-19 23:34:40 -07:00
go/src
Austin Clements 5d22cebb12 runtime: explain and enforce that _panic values live on the stack
It's a bit mysterious that _defer.sp is a uintptr that gets
stack-adjusted explicitly while _panic.argp is an unsafe.Pointer that
doesn't, but turns out to be critically important when a deferred
function grows the stack before doing a recover.

Add a comment explaining that this works because _panic values live on
the stack. Enforce this by marking _panic go:notinheap.

Change-Id: I9ca49e84ee1f86d881552c55dccd0662b530836b
Reviewed-on: https://go-review.googlesource.com/99735
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2018-03-08 23:35:46 +00:00
..
archive archive/zip: improve Writer.Create documentation on how to add directories 2018-02-26 19:58:48 +00:00
bufio
builtin
bytes internal/bytealg: move short string Index implementations into bytealg 2018-03-04 19:49:44 +00:00
cmd runtime: ensure abort actually crashes the process 2018-03-08 22:55:55 +00:00
compress compress/bzip2: use sort.Slice in huffman.go 2018-02-17 00:34:26 +00:00
container
context
crypto crypto/aes: optimize arm64 AES implementation 2018-03-06 00:44:29 +00:00
database/sql database/sql: fix typo in comment 2018-03-07 15:42:31 +00:00
debug debug/pe: use bytes.IndexByte instead of a loop 2018-03-07 16:12:08 +00:00
encoding encoding/csv: avoid mangling invalid UTF-8 in Writer 2018-03-08 03:26:22 +00:00
errors
expvar
flag
fmt fmt: change some unexported method names to camel case 2018-02-27 20:12:04 +00:00
go go/build: correct value of .Doc field 2018-03-07 14:35:52 +00:00
hash crypto: remove hand encoded amd64 instructions 2018-03-01 19:20:53 +00:00
html all: fix misspellings 2018-02-20 21:02:58 +00:00
image all: fix misspellings 2018-02-20 21:02:58 +00:00
index/suffixarray
internal internal/poll: if poller init fails, assume blocking mode 2018-03-06 23:21:25 +00:00
io
log
math math/big: allocate less in Float.Sqrt 2018-03-08 19:12:35 +00:00
mime
net net/http: panic when a nil handler is passed to (*ServeMux)HandleFunc 2018-03-08 18:11:41 +00:00
os os: use WIN32_FIND_DATA.Reserved0 to identify symlinks 2018-03-07 08:51:04 +00:00
path path/filepath: use a temp dir in path_test.go 2018-03-05 23:38:39 +00:00
plugin
reflect reflect: avoid calling common if type is known to be *rtype 2018-02-22 07:18:15 +00:00
regexp regexp: Regexp shouldn't keep references to inputs 2018-02-23 16:58:48 +00:00
runtime runtime: explain and enforce that _panic values live on the stack 2018-03-08 23:35:46 +00:00
sort
strconv
strings internal/bytealg: move short string Index implementations into bytealg 2018-03-04 19:49:44 +00:00
sync sync: enable profiling of RWMutex 2018-02-14 15:38:42 +00:00
syscall runtime: rename vdso symbols to use camel case 2018-03-05 19:12:32 +00:00
testing testing: gracefully handle subtest failing parent’s T 2018-03-01 10:17:22 +00:00
text text/template: fix the documentation of the block action 2018-02-21 20:57:47 +00:00
time time: add support for parsing timezones denoted by sign and offset 2018-03-08 17:15:35 +00:00
unicode
unsafe unsafe: fix reference to string header 2018-02-26 18:35:46 +00:00
vendor/golang_org/x
all.bash
all.bat
all.rc
androidtest.bash androidtest.bash: don't require GOARCH set 2018-03-07 14:01:43 +00:00
bootstrap.bash
buildall.bash
clean.bash
clean.bat
clean.rc
cmp.bash
iostest.bash iostest.bash: don't build std library twice 2018-03-06 16:08:20 +00:00
make.bash
make.bat build: small cleanup in error message in make.bat 2018-02-26 10:27:14 +00:00
Make.dist
make.rc
naclmake.bash nacl*.bash: pass flags to make.bash 2018-02-14 17:09:31 +00:00
nacltest.bash nacl*.bash: pass flags to make.bash 2018-02-14 17:09:31 +00:00
race.bash
race.bat
run.bash
run.bat
run.rc